vite-plugin-vue-devtools 7.4.4 → 7.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/client/assets/css-DxbI8p4U.js +1 -0
  2. package/client/assets/diff-B__owCNr.js +1 -0
  3. package/client/assets/html-BbxnMRua.js +1 -0
  4. package/client/assets/index-BG9MJ6kx.css +1 -0
  5. package/client/assets/index-DtznZONV.js +1166 -0
  6. package/client/assets/javascript-gqDMXQVE.js +1 -0
  7. package/client/assets/json-CkQAVq00.js +1 -0
  8. package/client/assets/shellscript-CCV3ZPmh.js +1 -0
  9. package/client/assets/typescript-BUp808Xb.js +1 -0
  10. package/client/assets/vitesse-dark-DOSOf2Sz.js +1 -0
  11. package/client/assets/vitesse-light-gUX51GpB.js +1 -0
  12. package/client/assets/vue-V6dy9MFq.js +1 -0
  13. package/client/assets/vue-html-Fk04G6Ph.js +1 -0
  14. package/client/assets/yaml-CR7ZIA5n.js +1 -0
  15. package/client/index.html +2 -2
  16. package/dist/vite.cjs +225 -225
  17. package/dist/vite.mjs +224 -224
  18. package/package.json +5 -5
  19. package/src/overlay/devtools-overlay.css +1 -1
  20. package/src/overlay/devtools-overlay.mjs +4 -4
  21. package/src/overlay.js +1 -1
  22. package/client/assets/css-C31OBGbl.js +0 -1
  23. package/client/assets/diff-DvyTQcux.js +0 -1
  24. package/client/assets/html-CrC0eaF2.js +0 -1
  25. package/client/assets/index-C5B0ozEB.css +0 -1
  26. package/client/assets/index-DQiClRQr.js +0 -1092
  27. package/client/assets/javascript-Wkyh6-uf.js +0 -1
  28. package/client/assets/json-D85lwgPO.js +0 -1
  29. package/client/assets/shellscript-DKrjeWrU.js +0 -1
  30. package/client/assets/typescript-KCgU82S2.js +0 -1
  31. package/client/assets/vitesse-dark-BLmvGqlk.js +0 -1
  32. package/client/assets/vitesse-light-BYelj_cE.js +0 -1
  33. package/client/assets/vue-ClP425Kk.js +0 -5
  34. package/client/assets/vue-html-Cint6D83.js +0 -1
  35. package/client/assets/yaml-DOt8O2FJ.js +0 -1
@@ -1,5 +0,0 @@
1
- import n from"./html-CrC0eaF2.js";import e from"./javascript-Wkyh6-uf.js";import t from"./css-C31OBGbl.js";import a from"./typescript-KCgU82S2.js";import l from"./json-D85lwgPO.js";import d from"./yaml-DOt8O2FJ.js";const m=Object.freeze({displayName:"Markdown",name:"markdown",patterns:[{include:"#frontMatter"},{include:"#block"}],repository:{ampersand:{comment:"Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.",match:"&(?!([a-zA-Z0-9]+|#\\d+|#x[0-9a-fA-F]+);)",name:"meta.other.valid-ampersand.markdown"},block:{patterns:[{include:"#separator"},{include:"#heading"},{include:"#blockquote"},{include:"#lists"},{include:"#fenced_code_block"},{include:"#raw_block"},{include:"#link-def"},{include:"#html"},{include:"#table"},{include:"#paragraph"}]},blockquote:{begin:"(^|\\G)[ ]{0,3}(>) ?",captures:{2:{name:"punctuation.definition.quote.begin.markdown"}},name:"markup.quote.markdown",patterns:[{include:"#block"}],while:"(^|\\G)\\s*(>) ?"},bold:{begin:"(?<open>(\\*\\*(?=\\w)|(?<!\\w)\\*\\*|(?<!\\w)\\b__))(?=\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>|\\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+|\\[((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+\\](([ ]?\\[[^\\]]*+\\])|(\\([ \\t]*+<?(.*?)>?[ \\t]*+((?<title>['\"])(.*?)\\k<title>)?\\))))|(?!(?<=\\S)\\k<open>).)++(?<=\\S)(?=__\\b|\\*\\*)\\k<open>)",captures:{1:{name:"punctuation.definition.bold.markdown"}},end:"(?<=\\S)(\\1)",name:"markup.bold.markdown",patterns:[{applyEndPatternLast:1,begin:"(?=<[^>]*?>)",end:"(?<=>)",patterns:[{include:"text.html.derivative"}]},{include:"#escape"},{include:"#ampersand"},{include:"#bracket"},{include:"#raw"},{include:"#bold"},{include:"#italic"},{include:"#image-inline"},{include:"#link-inline"},{include:"#link-inet"},{include:"#link-email"},{include:"#image-ref"},{include:"#link-ref-literal"},{include:"#link-ref"},{include:"#link-ref-shortcut"},{include:"#strikethrough"}]},bracket:{comment:"Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.",match:"<(?![a-zA-Z/?\\$!])",name:"meta.other.valid-bracket.markdown"},escape:{match:"\\\\[-`*_#+.!(){}\\[\\]\\\\>]",name:"constant.character.escape.markdown"},fenced_code_block:{patterns:[{include:"#fenced_code_block_css"},{include:"#fenced_code_block_basic"},{include:"#fenced_code_block_ini"},{include:"#fenced_code_block_java"},{include:"#fenced_code_block_lua"},{include:"#fenced_code_block_makefile"},{include:"#fenced_code_block_perl"},{include:"#fenced_code_block_r"},{include:"#fenced_code_block_ruby"},{include:"#fenced_code_block_php"},{include:"#fenced_code_block_sql"},{include:"#fenced_code_block_vs_net"},{include:"#fenced_code_block_xml"},{include:"#fenced_code_block_xsl"},{include:"#fenced_code_block_yaml"},{include:"#fenced_code_block_dosbatch"},{include:"#fenced_code_block_clojure"},{include:"#fenced_code_block_coffee"},{include:"#fenced_code_block_c"},{include:"#fenced_code_block_cpp"},{include:"#fenced_code_block_diff"},{include:"#fenced_code_block_dockerfile"},{include:"#fenced_code_block_git_commit"},{include:"#fenced_code_block_git_rebase"},{include:"#fenced_code_block_go"},{include:"#fenced_code_block_groovy"},{include:"#fenced_code_block_pug"},{include:"#fenced_code_block_js"},{include:"#fenced_code_block_js_regexp"},{include:"#fenced_code_block_json"},{include:"#fenced_code_block_jsonc"},{include:"#fenced_code_block_less"},{include:"#fenced_code_block_objc"},{include:"#fenced_code_block_swift"},{include:"#fenced_code_block_scss"},{include:"#fenced_code_block_perl6"},{include:"#fenced_code_block_powershell"},{include:"#fenced_code_block_python"},{include:"#fenced_code_block_julia"},{include:"#fenced_code_block_regexp_python"},{include:"#fenced_code_block_rust"},{include:"#fenced_code_block_scala"},{include:"#fenced_code_block_shell"},{include:"#fenced_code_block_ts"},{include:"#fenced_code_block_tsx"},{include:"#fenced_code_block_csharp"},{include:"#fenced_code_block_fsharp"},{include:"#fenced_code_block_dart"},{include:"#fenced_code_block_handlebars"},{include:"#fenced_code_block_markdown"},{include:"#fenced_code_block_log"},{include:"#fenced_code_block_erlang"},{include:"#fenced_code_block_elixir"},{include:"#fenced_code_block_latex"},{include:"#fenced_code_block_bibtex"},{include:"#fenced_code_block_twig"},{include:"#fenced_code_block_unknown"}]},fenced_code_block_basic:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(html|htm|shtml|xhtml|inc|tmpl|tpl)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.html",patterns:[{include:"text.html.basic"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_bibtex:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(bibtex)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.bibtex",patterns:[{include:"text.bibtex"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_c:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(c|h)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.c",patterns:[{include:"source.c"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_clojure:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(clj|cljs|clojure)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.clojure",patterns:[{include:"source.clojure"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_coffee:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(coffee|Cakefile|coffee.erb)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.coffee",patterns:[{include:"source.coffee"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_cpp:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(cpp|c\\+\\+|cxx)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.cpp source.cpp",patterns:[{include:"source.cpp"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_csharp:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(cs|csharp|c#)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.csharp",patterns:[{include:"source.cs"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_css:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(css|css.erb)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.css",patterns:[{include:"source.css"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_dart:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(dart)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.dart",patterns:[{include:"source.dart"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_diff:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(patch|diff|rej)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.diff",patterns:[{include:"source.diff"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_dockerfile:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(dockerfile|Dockerfile)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.dockerfile",patterns:[{include:"source.dockerfile"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_dosbatch:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(bat|batch)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.dosbatch",patterns:[{include:"source.batchfile"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_elixir:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(elixir)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.elixir",patterns:[{include:"source.elixir"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_erlang:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(erlang)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.erlang",patterns:[{include:"source.erlang"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_fsharp:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(fs|fsharp|f#)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.fsharp",patterns:[{include:"source.fsharp"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_git_commit:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(COMMIT_EDITMSG|MERGE_MSG)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.git_commit",patterns:[{include:"text.git-commit"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_git_rebase:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(git-rebase-todo)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.git_rebase",patterns:[{include:"text.git-rebase"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_go:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(go|golang)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.go",patterns:[{include:"source.go"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_groovy:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(groovy|gvy)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.groovy",patterns:[{include:"source.groovy"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_handlebars:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(handlebars|hbs)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.handlebars",patterns:[{include:"text.html.handlebars"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_ini:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ini|conf)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.ini",patterns:[{include:"source.ini"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_java:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(java|bsh)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.java",patterns:[{include:"source.java"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_js:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(js|jsx|javascript|es6|mjs|cjs|dataviewjs|\\{\\.js.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.javascript",patterns:[{include:"source.js"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_js_regexp:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(regexp)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.js_regexp",patterns:[{include:"source.js.regexp"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_json:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(json|json5|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.json",patterns:[{include:"source.json"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_jsonc:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jsonc)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.jsonc",patterns:[{include:"source.json.comments"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_julia:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(julia|\\{\\.julia.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.julia",patterns:[{include:"source.julia"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_latex:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(latex|tex)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.latex",patterns:[{include:"text.tex.latex"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_less:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(less)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.less",patterns:[{include:"source.css.less"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_log:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(log)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.log",patterns:[{include:"text.log"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_lua:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(lua)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.lua",patterns:[{include:"source.lua"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_makefile:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(Makefile|makefile|GNUmakefile|OCamlMakefile)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.makefile",patterns:[{include:"source.makefile"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_markdown:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(markdown|md)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.markdown",patterns:[{include:"text.html.markdown"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_objc:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|m|h)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.objc",patterns:[{include:"source.objc"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_perl:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.perl",patterns:[{include:"source.perl"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_perl6:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.perl6",patterns:[{include:"source.perl.6"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_php:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(php|php3|php4|php5|phpt|phtml|aw|ctp)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.php",patterns:[{include:"text.html.basic"},{include:"source.php"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_powershell:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(powershell|ps1|psm1|psd1|pwsh)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.powershell",patterns:[{include:"source.powershell"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_pug:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(jade|pug)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.pug",patterns:[{include:"text.pug"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_python:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi|\\{\\.python.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.python",patterns:[{include:"source.python"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_r:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(R|r|s|S|Rprofile|\\{\\.r.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.r",patterns:[{include:"source.r"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_regexp_python:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(re)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.regexp_python",patterns:[{include:"source.regexp.python"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_ruby:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(ruby|rb|rbx|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.ruby",patterns:[{include:"source.ruby"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_rust:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(rust|rs|\\{\\.rust.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.rust",patterns:[{include:"source.rust"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_scala:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(scala|sbt)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.scala",patterns:[{include:"source.scala"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_scss:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(scss)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.scss",patterns:[{include:"source.css.scss"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_shell:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\{\\.bash.+?\\})((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.shellscript",patterns:[{include:"source.shell"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_sql:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(sql|ddl|dml)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.sql",patterns:[{include:"source.sql"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_swift:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(swift)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.swift",patterns:[{include:"source.swift"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_ts:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(typescript|ts)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.typescript",patterns:[{include:"source.ts"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_tsx:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(tsx)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.typescriptreact",patterns:[{include:"source.tsx"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_twig:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(twig)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.twig",patterns:[{include:"source.twig"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_unknown:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?=([^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown"},fenced_code_block_vs_net:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(vb)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.vs_net",patterns:[{include:"source.asp.vb.net"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_xml:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.xml",patterns:[{include:"text.xml"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_xsl:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(xsl|xslt)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.xsl",patterns:[{include:"text.xml.xsl"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},fenced_code_block_yaml:{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(yaml|yml)((\\s+|:|,|\\{|\\?)[^`]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown"}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{begin:"(^|\\G)(\\s*)(.*)",contentName:"meta.embedded.block.yaml",patterns:[{include:"source.yaml"}],while:"(^|\\G)(?!\\s*([`~]{3,})\\s*$)"}]},frontMatter:{applyEndPatternLast:1,begin:"\\A(?=(-{3,}))",end:"^ {,3}\\1-*[ \\t]*$|^[ \\t]*\\.{3}$",endCaptures:{0:{name:"punctuation.definition.end.frontmatter"}},patterns:[{begin:"\\A(-{3,})(.*)$",beginCaptures:{1:{name:"punctuation.definition.begin.frontmatter"},2:{name:"comment.frontmatter"}},contentName:"meta.embedded.block.frontmatter",patterns:[{include:"source.yaml"}],while:"^(?! {,3}\\1-*[ \\t]*$|[ \\t]*\\.{3}$)"}]},heading:{captures:{1:{patterns:[{captures:{1:{name:"punctuation.definition.heading.markdown"},2:{name:"entity.name.section.markdown",patterns:[{include:"#inline"},{include:"text.html.derivative"}]},3:{name:"punctuation.definition.heading.markdown"}},match:"(#{6})\\s+(.*?)(?:\\s+(#+))?\\s*$",name:"heading.6.markdown"},{captures:{1:{name:"punctuation.definition.heading.markdown"},2:{name:"entity.name.section.markdown",patterns:[{include:"#inline"},{include:"text.html.derivative"}]},3:{name:"punctuation.definition.heading.markdown"}},match:"(#{5})\\s+(.*?)(?:\\s+(#+))?\\s*$",name:"heading.5.markdown"},{captures:{1:{name:"punctuation.definition.heading.markdown"},2:{name:"entity.name.section.markdown",patterns:[{include:"#inline"},{include:"text.html.derivative"}]},3:{name:"punctuation.definition.heading.markdown"}},match:"(#{4})\\s+(.*?)(?:\\s+(#+))?\\s*$",name:"heading.4.markdown"},{captures:{1:{name:"punctuation.definition.heading.markdown"},2:{name:"entity.name.section.markdown",patterns:[{include:"#inline"},{include:"text.html.derivative"}]},3:{name:"punctuation.definition.heading.markdown"}},match:"(#{3})\\s+(.*?)(?:\\s+(#+))?\\s*$",name:"heading.3.markdown"},{captures:{1:{name:"punctuation.definition.heading.markdown"},2:{name:"entity.name.section.markdown",patterns:[{include:"#inline"},{include:"text.html.derivative"}]},3:{name:"punctuation.definition.heading.markdown"}},match:"(#{2})\\s+(.*?)(?:\\s+(#+))?\\s*$",name:"heading.2.markdown"},{captures:{1:{name:"punctuation.definition.heading.markdown"},2:{name:"entity.name.section.markdown",patterns:[{include:"#inline"},{include:"text.html.derivative"}]},3:{name:"punctuation.definition.heading.markdown"}},match:"(#{1})\\s+(.*?)(?:\\s+(#+))?\\s*$",name:"heading.1.markdown"}]}},match:"(?:^|\\G)[ ]{0,3}(#{1,6}\\s+(.*?)(\\s+#{1,6})?\\s*)$",name:"markup.heading.markdown"},"heading-setext":{patterns:[{match:"^(={3,})(?=[ \\t]*$\\n?)",name:"markup.heading.setext.1.markdown"},{match:"^(-{3,})(?=[ \\t]*$\\n?)",name:"markup.heading.setext.2.markdown"}]},html:{patterns:[{begin:"(^|\\G)\\s*(<!--)",captures:{1:{name:"punctuation.definition.comment.html"},2:{name:"punctuation.definition.comment.html"}},end:"(-->)",name:"comment.block.html"},{begin:"(?i)(^|\\G)\\s*(?=<(script|style|pre)(\\s|$|>)(?!.*?</(script|style|pre)>))",end:"(?i)(.*)((</)(script|style|pre)(>))",endCaptures:{1:{patterns:[{include:"text.html.derivative"}]},2:{name:"meta.tag.structure.$4.end.html"},3:{name:"punctuation.definition.tag.begin.html"},4:{name:"entity.name.tag.html"},5:{name:"punctuation.definition.tag.end.html"}},patterns:[{begin:"(\\s*|$)",patterns:[{include:"text.html.derivative"}],while:"(?i)^(?!.*</(script|style|pre)>)"}]},{begin:"(?i)(^|\\G)\\s*(?=</?[a-zA-Z]+[^\\s/&gt;]*(\\s|$|/?>))",patterns:[{include:"text.html.derivative"}],while:"^(?!\\s*$)"},{begin:"(^|\\G)\\s*(?=(<[a-zA-Z0-9\\-](/?>|\\s.*?>)|</[a-zA-Z0-9\\-]>)\\s*$)",patterns:[{include:"text.html.derivative"}],while:"^(?!\\s*$)"}]},"image-inline":{captures:{1:{name:"punctuation.definition.link.description.begin.markdown"},2:{name:"string.other.link.description.markdown"},4:{name:"punctuation.definition.link.description.end.markdown"},5:{name:"punctuation.definition.metadata.markdown"},7:{name:"punctuation.definition.link.markdown"},8:{name:"markup.underline.link.image.markdown"},9:{name:"punctuation.definition.link.markdown"},10:{name:"markup.underline.link.image.markdown"},12:{name:"string.other.link.description.title.markdown"},13:{name:"punctuation.definition.string.begin.markdown"},14:{name:"punctuation.definition.string.end.markdown"},15:{name:"string.other.link.description.title.markdown"},16:{name:"punctuation.definition.string.begin.markdown"},17:{name:"punctuation.definition.string.end.markdown"},18:{name:"string.other.link.description.title.markdown"},19:{name:"punctuation.definition.string.begin.markdown"},20:{name:"punctuation.definition.string.end.markdown"},21:{name:"punctuation.definition.metadata.markdown"}},match:`(\\!\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])(\\()[ \\t]*((<)((?:\\\\[<>]|[^<>\\n])*)(>)|((?<url>(?>[^\\s()]+)|\\(\\g<url>*\\))*))[ \\t]*(?:((\\().+?(\\)))|((").+?("))|((').+?(')))?\\s*(\\))`,name:"meta.image.inline.markdown"},"image-ref":{captures:{1:{name:"punctuation.definition.link.description.begin.markdown"},2:{name:"string.other.link.description.markdown"},4:{name:"punctuation.definition.link.description.end.markdown"},5:{name:"punctuation.definition.constant.markdown"},6:{name:"constant.other.reference.link.markdown"},7:{name:"punctuation.definition.constant.markdown"}},match:"(\\!\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(.*?)(\\])",name:"meta.image.reference.markdown"},inline:{patterns:[{include:"#ampersand"},{include:"#bracket"},{include:"#bold"},{include:"#italic"},{include:"#raw"},{include:"#strikethrough"},{include:"#escape"},{include:"#image-inline"},{include:"#image-ref"},{include:"#link-email"},{include:"#link-inet"},{include:"#link-inline"},{include:"#link-ref"},{include:"#link-ref-literal"},{include:"#link-ref-shortcut"}]},italic:{begin:"(?<open>(\\*(?=\\w)|(?<!\\w)\\*|(?<!\\w)\\b_))(?=\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\k<raw>(?!`))`)*+\\k<raw>|\\\\[\\\\`*_{}\\[\\]()#.!+\\->]?+|\\[((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+\\](([ ]?\\[[^\\]]*+\\])|(\\([ \\t]*+<?(.*?)>?[ \\t]*+((?<title>['\"])(.*?)\\k<title>)?\\))))|\\k<open>\\k<open>|(?!(?<=\\S)\\k<open>).)++(?<=\\S)(?=_\\b|\\*)\\k<open>)",captures:{1:{name:"punctuation.definition.italic.markdown"}},end:"(?<=\\S)(\\1)((?!\\1)|(?=\\1\\1))",name:"markup.italic.markdown",patterns:[{applyEndPatternLast:1,begin:"(?=<[^>]*?>)",end:"(?<=>)",patterns:[{include:"text.html.derivative"}]},{include:"#escape"},{include:"#ampersand"},{include:"#bracket"},{include:"#raw"},{include:"#bold"},{include:"#image-inline"},{include:"#link-inline"},{include:"#link-inet"},{include:"#link-email"},{include:"#image-ref"},{include:"#link-ref-literal"},{include:"#link-ref"},{include:"#link-ref-shortcut"},{include:"#strikethrough"}]},"link-def":{captures:{1:{name:"punctuation.definition.constant.markdown"},2:{name:"constant.other.reference.link.markdown"},3:{name:"punctuation.definition.constant.markdown"},4:{name:"punctuation.separator.key-value.markdown"},5:{name:"punctuation.definition.link.markdown"},6:{name:"markup.underline.link.markdown"},7:{name:"punctuation.definition.link.markdown"},8:{name:"markup.underline.link.markdown"},9:{name:"string.other.link.description.title.markdown"},10:{name:"punctuation.definition.string.begin.markdown"},11:{name:"punctuation.definition.string.end.markdown"},12:{name:"string.other.link.description.title.markdown"},13:{name:"punctuation.definition.string.begin.markdown"},14:{name:"punctuation.definition.string.end.markdown"},15:{name:"string.other.link.description.title.markdown"},16:{name:"punctuation.definition.string.begin.markdown"},17:{name:"punctuation.definition.string.end.markdown"}},match:`\\s*(\\[)([^]]+?)(\\])(:)[ \\t]*(?:(<)((?:\\\\[<>]|[^<>\\n])*)(>)|(\\S+?))[ \\t]*(?:((\\().+?(\\)))|((").+?("))|((').+?(')))?\\s*$`,name:"meta.link.reference.def.markdown"},"link-email":{captures:{1:{name:"punctuation.definition.link.markdown"},2:{name:"markup.underline.link.markdown"},4:{name:"punctuation.definition.link.markdown"}},match:"(<)((?:mailto:)?[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*)(>)",name:"meta.link.email.lt-gt.markdown"},"link-inet":{captures:{1:{name:"punctuation.definition.link.markdown"},2:{name:"markup.underline.link.markdown"},3:{name:"punctuation.definition.link.markdown"}},match:"(<)((?:https?|ftp)://.*?)(>)",name:"meta.link.inet.markdown"},"link-inline":{captures:{1:{name:"punctuation.definition.link.title.begin.markdown"},2:{name:"string.other.link.title.markdown",patterns:[{include:"#raw"},{include:"#bold"},{include:"#italic"},{include:"#strikethrough"},{include:"#image-inline"}]},4:{name:"punctuation.definition.link.title.end.markdown"},5:{name:"punctuation.definition.metadata.markdown"},7:{name:"punctuation.definition.link.markdown"},8:{name:"markup.underline.link.markdown"},9:{name:"punctuation.definition.link.markdown"},10:{name:"markup.underline.link.markdown"},12:{name:"string.other.link.description.title.markdown"},13:{name:"punctuation.definition.string.begin.markdown"},14:{name:"punctuation.definition.string.end.markdown"},15:{name:"string.other.link.description.title.markdown"},16:{name:"punctuation.definition.string.begin.markdown"},17:{name:"punctuation.definition.string.end.markdown"},18:{name:"string.other.link.description.title.markdown"},19:{name:"punctuation.definition.string.begin.markdown"},20:{name:"punctuation.definition.string.end.markdown"},21:{name:"punctuation.definition.metadata.markdown"}},match:`(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])(\\()[ \\t]*((<)((?:\\\\[<>]|[^<>\\n])*)(>)|((?<url>(?>[^\\s()]+)|\\(\\g<url>*\\))*))[ \\t]*(?:((\\()[^()]*(\\)))|((")[^"]*("))|((')[^']*(')))?\\s*(\\))`,name:"meta.link.inline.markdown"},"link-ref":{captures:{1:{name:"punctuation.definition.link.title.begin.markdown"},2:{name:"string.other.link.title.markdown",patterns:[{include:"#raw"},{include:"#bold"},{include:"#italic"},{include:"#strikethrough"},{include:"#image-inline"}]},4:{name:"punctuation.definition.link.title.end.markdown"},5:{name:"punctuation.definition.constant.begin.markdown"},6:{name:"constant.other.reference.link.markdown"},7:{name:"punctuation.definition.constant.end.markdown"}},match:"(?<![\\]\\\\])(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])(\\[)([^\\]]*+)(\\])",name:"meta.link.reference.markdown"},"link-ref-literal":{captures:{1:{name:"punctuation.definition.link.title.begin.markdown"},2:{name:"string.other.link.title.markdown"},4:{name:"punctuation.definition.link.title.end.markdown"},5:{name:"punctuation.definition.constant.begin.markdown"},6:{name:"punctuation.definition.constant.end.markdown"}},match:"(?<![\\]\\\\])(\\[)((?<square>[^\\[\\]\\\\]|\\\\.|\\[\\g<square>*+\\])*+)(\\])[ ]?(\\[)(\\])",name:"meta.link.reference.literal.markdown"},"link-ref-shortcut":{captures:{1:{name:"punctuation.definition.link.title.begin.markdown"},2:{name:"string.other.link.title.markdown"},3:{name:"punctuation.definition.link.title.end.markdown"}},match:"(?<![\\]\\\\])(\\[)((?:[^\\s\\[\\]\\\\]|\\\\[\\[\\]])+?)((?<!\\\\)\\])",name:"meta.link.reference.markdown"},list_paragraph:{begin:"(^|\\G)(?=\\S)(?![*+->]\\s|\\d+\\.\\s)",name:"meta.paragraph.markdown",patterns:[{include:"#inline"},{include:"text.html.derivative"},{include:"#heading-setext"}],while:"(^|\\G)(?!\\s*$|#|[ ]{0,3}([-*_>][ ]{2,}){3,}[ \\t]*$\\n?|[ ]{0,3}[*+->]|[ ]{0,3}[0-9]+\\.)"},lists:{patterns:[{begin:"(^|\\G)([ ]{0,3})([*+-])([ \\t])",beginCaptures:{3:{name:"punctuation.definition.list.begin.markdown"}},comment:"Currently does not support un-indented second lines.",name:"markup.list.unnumbered.markdown",patterns:[{include:"#block"},{include:"#list_paragraph"}],while:"((^|\\G)([ ]{2,4}|\\t))|(^[ \\t]*$)"},{begin:"(^|\\G)([ ]{0,3})(\\d+[\\.\\)])([ \\t])",beginCaptures:{3:{name:"punctuation.definition.list.begin.markdown"}},name:"markup.list.numbered.markdown",patterns:[{include:"#block"},{include:"#list_paragraph"}],while:"((^|\\G)([ ]{2,4}|\\t))|(^[ \\t]*$)"}]},paragraph:{begin:"(^|\\G)[ ]{0,3}(?=[^ \\t\\n])",name:"meta.paragraph.markdown",patterns:[{include:"#inline"},{include:"text.html.derivative"},{include:"#heading-setext"}],while:"(^|\\G)((?=\\s*[-=]{3,}\\s*$)|[ ]{4,}(?=[^ \\t\\n]))"},raw:{captures:{1:{name:"punctuation.definition.raw.markdown"},3:{name:"punctuation.definition.raw.markdown"}},match:"(`+)((?:[^`]|(?!(?<!`)\\1(?!`))`)*+)(\\1)",name:"markup.inline.raw.string.markdown"},raw_block:{begin:"(^|\\G)([ ]{4}|\\t)",name:"markup.raw.block.markdown",while:"(^|\\G)([ ]{4}|\\t)"},separator:{match:"(^|\\G)[ ]{0,3}([\\*\\-\\_])([ ]{0,2}\\2){2,}[ \\t]*$\\n?",name:"meta.separator.markdown"},strikethrough:{captures:{1:{name:"punctuation.definition.strikethrough.markdown"},2:{patterns:[{applyEndPatternLast:1,begin:"(?=<[^>]*?>)",end:"(?<=>)",patterns:[{include:"text.html.derivative"}]},{include:"#escape"},{include:"#ampersand"},{include:"#bracket"},{include:"#raw"},{include:"#bold"},{include:"#italic"},{include:"#image-inline"},{include:"#link-inline"},{include:"#link-inet"},{include:"#link-email"},{include:"#image-ref"},{include:"#link-ref-literal"},{include:"#link-ref"},{include:"#link-ref-shortcut"}]},3:{name:"punctuation.definition.strikethrough.markdown"}},match:"(?<!\\\\)(~{2,})((?:[^~]|(?!(?<![~\\\\])\\1(?!~))~)*+)(\\1)",name:"markup.strikethrough.markdown"},table:{begin:"(^|\\G)(\\|)(?=[^|].+\\|\\s*$)",beginCaptures:{2:{name:"punctuation.definition.table.markdown"}},name:"markup.table.markdown",patterns:[{match:"\\|",name:"punctuation.definition.table.markdown"},{captures:{1:{name:"punctuation.separator.table.markdown"}},match:"(?<=\\|)\\s*(:?-+:?)\\s*(?=\\|)"},{captures:{1:{patterns:[{include:"#inline"}]}},match:"(?<=\\|)\\s*(?=\\S)((\\\\\\||[^|])+)(?<=\\S)\\s*(?=\\|)"}],while:"(^|\\G)(?=\\|)"}},scopeName:"text.html.markdown",embeddedLangs:[],aliases:["md"],embeddedLangsLazy:["css","html","ini","java","lua","make","perl","r","ruby","php","sql","vb","xml","xsl","yaml","bat","clojure","coffee","c","cpp","diff","docker","git-commit","git-rebase","go","groovy","pug","javascript","json","jsonc","less","objective-c","swift","scss","raku","powershell","python","julia","regexp","rust","scala","shellscript","typescript","tsx","csharp","fsharp","dart","handlebars","log","erlang","elixir","latex","bibtex","html-derivative"]});var p=[m];const b=Object.freeze({displayName:"Sass",fileTypes:["sass"],foldingStartMarker:"/\\*|^#|^\\*|^\\b|*#?region|^\\.",foldingStopMarker:"\\*/|*#?endregion|^\\s*$",name:"sass",patterns:[{begin:"^(\\s*)(/\\*)",end:"(\\*/)|^(?!\\s\\1)",name:"comment.block.sass",patterns:[{include:"#comment-tag"},{include:"#comment-param"}]},{match:"^[\\t ]*/?//[\\t ]*[SRI][\\t ]*$",name:"keyword.other.sass.formatter.action"},{begin:"^[\\t ]*//[\\t ]*(import)[\\t ]*(css-variables)[\\t ]*(from)",captures:{1:{name:"keyword.control"},2:{name:"variable"},3:{name:"keyword.control"}},end:"$\\n?",name:"comment.import.css.variables",patterns:[{include:"#import-quotes"}]},{include:"#double-slash"},{include:"#double-quoted"},{include:"#single-quoted"},{include:"#interpolation"},{include:"#curly-brackets"},{include:"#placeholder-selector"},{begin:"\\$[a-zA-Z0-9_-]+(?=:)",captures:{0:{name:"variable.other.name"}},end:"$\\n?|(?=\\)\\s\\)|\\)\\n)",name:"sass.script.maps",patterns:[{include:"#double-slash"},{include:"#double-quoted"},{include:"#single-quoted"},{include:"#interpolation"},{include:"#variable"},{include:"#rgb-value"},{include:"#numeric"},{include:"#unit"},{include:"#flag"},{include:"#comma"},{include:"#function"},{include:"#function-content"},{include:"#operator"},{include:"#reserved-words"},{include:"#parent-selector"},{include:"#property-value"},{include:"#semicolon"},{include:"#dotdotdot"}]},{include:"#variable-root"},{include:"#numeric"},{include:"#unit"},{include:"#flag"},{include:"#comma"},{include:"#semicolon"},{include:"#dotdotdot"},{begin:"@include|\\+(?!\\W|\\d)",captures:{0:{name:"keyword.control.at-rule.css.sass"}},end:"(?=\\n|\\()",name:"support.function.name.sass.library"},{begin:"^(@use)",captures:{0:{name:"keyword.control.at-rule.css.sass.use"}},end:"(?=\\n)",name:"sass.use",patterns:[{match:"as|with",name:"support.type.css.sass"},{include:"#numeric"},{include:"#unit"},{include:"#variable-root"},{include:"#rgb-value"},{include:"#comma"},{include:"#parenthesis-open"},{include:"#parenthesis-close"},{include:"#colon"},{include:"#import-quotes"}]},{begin:"^@import(.*?)( as.*)?$",captures:{1:{name:"constant.character.css.sass"},2:{name:"invalid"}},end:"(?=\\n)",name:"keyword.control.at-rule.use"},{begin:"@mixin|^[\\t ]*=|@function",captures:{0:{name:"keyword.control.at-rule.css.sass"}},end:"$\\n?|(?=\\()",name:"support.function.name.sass",patterns:[{match:"[\\w-]+",name:"entity.name.function"}]},{begin:"@",end:"$\\n?|\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)(\\s|,))",name:"keyword.control.at-rule.css.sass"},{begin:"(?<!\\-|\\()\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video|main|svg|rect|ruby|center|circle|ellipse|line|polyline|polygon|path|text|u|slot)\\b(?!-|\\)|:\\s)|&",end:"$\\n?|(?=\\s|,|\\(|\\)|\\.|\\#|\\[|>|-|_)",name:"entity.name.tag.css.sass.symbol",patterns:[{include:"#interpolation"},{include:"#pseudo-class"}]},{begin:"#",end:"$\\n?|(?=\\s|,|\\(|\\)|\\.|\\[|>)",name:"entity.other.attribute-name.id.css.sass",patterns:[{include:"#interpolation"},{include:"#pseudo-class"}]},{begin:"\\.|(?<=&)(-|_)",end:"$\\n?|(?=\\s|,|\\(|\\)|\\[|>)",name:"entity.other.attribute-name.class.css.sass",patterns:[{include:"#interpolation"},{include:"#pseudo-class"}]},{begin:"\\[",end:"\\]",name:"entity.other.attribute-selector.sass",patterns:[{include:"#double-quoted"},{include:"#single-quoted"},{match:"\\^|\\$|\\*|~",name:"keyword.other.regex.sass"}]},{match:`^((?<=\\]|\\)|not\\(|\\*|>|>\\s)|
2
- *):[a-z:-]+|(::|:-)[a-z:-]+`,name:"entity.other.attribute-name.pseudo-class.css.sass"},{include:"#module"},{match:"[\\w-]*\\(",name:"entity.name.function"},{match:"\\)",name:"entity.name.function.close"},{begin:":",end:"$\\n?|(?=\\s\\(|and\\(|\\),)",name:"meta.property-list.css.sass.prop",patterns:[{match:"(?<=:)[a-z-]+\\s",name:"support.type.property-name.css.sass.prop.name"},{include:"#double-slash"},{include:"#double-quoted"},{include:"#single-quoted"},{include:"#interpolation"},{include:"#curly-brackets"},{include:"#variable"},{include:"#rgb-value"},{include:"#numeric"},{include:"#unit"},{include:"#module"},{match:"--.+?(?=\\))",name:"variable.css"},{match:"[\\w-]*\\(",name:"entity.name.function"},{match:"\\)",name:"entity.name.function.close"},{include:"#flag"},{include:"#comma"},{include:"#semicolon"},{include:"#function"},{include:"#function-content"},{include:"#operator"},{include:"#parent-selector"},{include:"#property-value"}]},{include:"#rgb-value"},{include:"#function"},{include:"#function-content"},{begin:"(?<=})(?!\\n|\\(|\\)|[a-zA-Z0-9_-]+:)",end:"\\s|(?=,|\\.|\\[|\\)|\\n)",name:"entity.name.tag.css.sass",patterns:[{include:"#interpolation"},{include:"#pseudo-class"}]},{include:"#operator"},{match:"[a-z-]+((?=:|#{))",name:"support.type.property-name.css.sass.prop.name"},{include:"#reserved-words"},{include:"#property-value"}],repository:{colon:{match:":",name:"meta.property-list.css.sass.colon"},comma:{match:"\\band\\b|\\bor\\b|,",name:"comment.punctuation.comma.sass"},"comment-param":{match:"\\@(\\w+)",name:"storage.type.class.jsdoc"},"comment-tag":{begin:"(?<={{)",end:"(?=}})",name:"comment.tag.sass"},"curly-brackets":{match:"{|}",name:"invalid"},dotdotdot:{match:"\\.\\.\\.",name:"variable.other"},"double-quoted":{begin:'"',end:'"',name:"string.quoted.double.css.sass",patterns:[{include:"#quoted-interpolation"}]},"double-slash":{begin:"//",end:"$\\n?",name:"comment.line.sass",patterns:[{include:"#comment-tag"}]},flag:{match:"!(important|default|optional|global)",name:"keyword.other.important.css.sass"},function:{match:"(?<=[\\s|\\(|,|:])(?!url|format|attr)[a-zA-Z0-9_-][\\w-]*(?=\\()",name:"support.function.name.sass"},"function-content":{begin:"(?<=url\\(|format\\(|attr\\()",end:".(?=\\))",name:"string.quoted.double.css.sass"},"import-quotes":{match:`["']?\\.{0,2}[\\w/]+["']?`,name:"constant.character.css.sass"},interpolation:{begin:"#{",end:"}",name:"support.function.interpolation.sass",patterns:[{include:"#variable"},{include:"#numeric"},{include:"#operator"},{include:"#unit"},{include:"#comma"},{include:"#double-quoted"},{include:"#single-quoted"}]},module:{captures:{1:{name:"constant.character.module.name"},2:{name:"constant.numeric.module.dot"}},match:"([\\w-]+?)(\\.)",name:"constant.character.module"},numeric:{match:"(-|\\.)?\\d+(\\.\\d+)?",name:"constant.numeric.css.sass"},operator:{match:"\\+|\\s-\\s|\\s-(?=\\$)|(?<=\\()-(?=\\$)|\\s-(?=\\()|\\*|/|%|=|!|<|>|~",name:"keyword.operator.sass"},"parent-selector":{match:"&",name:"entity.name.tag.css.sass"},"parenthesis-close":{match:"\\)",name:"entity.name.function.parenthesis.close"},"parenthesis-open":{match:"\\(",name:"entity.name.function.parenthesis.open"},"placeholder-selector":{begin:"(?<!\\d)%(?!\\d)",end:"$\\n?|\\s",name:"entity.other.inherited-class.placeholder-selector.css.sass"},"property-value":{match:"[a-zA-Z0-9_-]+",name:"meta.property-value.css.sass support.constant.property-value.css.sass"},"pseudo-class":{match:":[a-z:-]+",name:"entity.other.attribute-name.pseudo-class.css.sass"},"quoted-interpolation":{begin:"#{",end:"}",name:"support.function.interpolation.sass",patterns:[{include:"#variable"},{include:"#numeric"},{include:"#operator"},{include:"#unit"},{include:"#comma"}]},"reserved-words":{match:"\\b(false|from|in|not|null|through|to|true)\\b",name:"support.type.property-name.css.sass"},"rgb-value":{match:"(#)([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})\\b",name:"constant.language.color.rgb-value.css.sass"},semicolon:{match:";",name:"invalid"},"single-quoted":{begin:"'",end:"'",name:"string.quoted.single.css.sass",patterns:[{include:"#quoted-interpolation"}]},unit:{match:"(?<=[\\d]|})(ch|cm|deg|dpcm|dpi|dppx|em|ex|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vw|fr|%)",name:"keyword.control.unit.css.sass"},variable:{match:"\\$[a-zA-Z0-9_-]+",name:"variable.other.value"},"variable-root":{match:"\\$[a-zA-Z0-9_-]+",name:"variable.other.root"}},scopeName:"source.sass"});var s=[b];const g=Object.freeze({displayName:"SCSS",name:"scss",patterns:[{include:"#variable_setting"},{include:"#at_rule_forward"},{include:"#at_rule_use"},{include:"#at_rule_include"},{include:"#at_rule_import"},{include:"#general"},{include:"#flow_control"},{include:"#rules"},{include:"#property_list"},{include:"#at_rule_mixin"},{include:"#at_rule_media"},{include:"#at_rule_function"},{include:"#at_rule_charset"},{include:"#at_rule_option"},{include:"#at_rule_namespace"},{include:"#at_rule_fontface"},{include:"#at_rule_page"},{include:"#at_rule_keyframes"},{include:"#at_rule_at_root"},{include:"#at_rule_supports"},{match:";",name:"punctuation.terminator.rule.css"}],repository:{at_rule_at_root:{begin:"\\s*((@)(at-root))(\\s+|$)",beginCaptures:{1:{name:"keyword.control.at-rule.at-root.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.at-root.scss",patterns:[{include:"#function_attributes"},{include:"#functions"},{include:"#selectors"}]},at_rule_charset:{begin:"\\s*((@)charset\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.charset.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*((?=;|$))",name:"meta.at-rule.charset.scss",patterns:[{include:"#variable"},{include:"#string_single"},{include:"#string_double"}]},at_rule_content:{begin:"\\s*((@)content\\b)\\s*",captures:{1:{name:"keyword.control.content.scss"}},end:"\\s*((?=;))",name:"meta.content.scss",patterns:[{include:"#variable"},{include:"#selectors"},{include:"#property_values"}]},at_rule_each:{begin:"\\s*((@)each\\b)\\s*",captures:{1:{name:"keyword.control.each.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*((?=}))",name:"meta.at-rule.each.scss",patterns:[{match:"\\b(in|,)\\b",name:"keyword.control.operator"},{include:"#variable"},{include:"#property_values"},{include:"$self"}]},at_rule_else:{begin:"\\s*((@)else(\\s*(if)?))\\s*",captures:{1:{name:"keyword.control.else.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.else.scss",patterns:[{include:"#conditional_operators"},{include:"#variable"},{include:"#property_values"}]},at_rule_extend:{begin:"\\s*((@)extend\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.extend.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?=;)",name:"meta.at-rule.extend.scss",patterns:[{include:"#variable"},{include:"#selectors"},{include:"#property_values"}]},at_rule_fontface:{patterns:[{begin:"^\\s*((@)font-face\\b)",beginCaptures:{1:{name:"keyword.control.at-rule.fontface.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.fontface.scss",patterns:[{include:"#function_attributes"}]}]},at_rule_for:{begin:"\\s*((@)for\\b)\\s*",captures:{1:{name:"keyword.control.for.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.for.scss",patterns:[{match:"(==|!=|<=|>=|<|>|from|to|through)",name:"keyword.control.operator"},{include:"#variable"},{include:"#property_values"},{include:"$self"}]},at_rule_forward:{begin:"\\s*((@)forward\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.forward.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?=;)",name:"meta.at-rule.forward.scss",patterns:[{match:"\\b(as|hide|show)\\b",name:"keyword.control.operator"},{captures:{1:{name:"entity.other.attribute-name.module.scss"},2:{name:"punctuation.definition.wildcard.scss"}},match:"\\b([\\w-]+)(\\*)"},{match:"\\b[\\w-]+\\b",name:"entity.name.function.scss"},{include:"#variable"},{include:"#string_single"},{include:"#string_double"},{include:"#comment_line"},{include:"#comment_block"}]},at_rule_function:{patterns:[{begin:"\\s*((@)function\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.function.scss"},2:{name:"punctuation.definition.keyword.scss"},3:{name:"entity.name.function.scss"}},end:"\\s*(?={)",name:"meta.at-rule.function.scss",patterns:[{include:"#function_attributes"}]},{captures:{1:{name:"keyword.control.at-rule.function.scss"},2:{name:"punctuation.definition.keyword.scss"},3:{name:"entity.name.function.scss"}},match:"\\s*((@)function\\b)\\s*",name:"meta.at-rule.function.scss"}]},at_rule_if:{begin:"\\s*((@)if\\b)\\s*",captures:{1:{name:"keyword.control.if.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.if.scss",patterns:[{include:"#conditional_operators"},{include:"#variable"},{include:"#property_values"}]},at_rule_import:{begin:"\\s*((@)import\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.import.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*((?=;)|(?=}))",name:"meta.at-rule.import.scss",patterns:[{include:"#variable"},{include:"#string_single"},{include:"#string_double"},{include:"#functions"},{include:"#comment_line"}]},at_rule_include:{patterns:[{begin:"(?<=@include)\\s+(?:([\\w-]+)\\s*(\\.))?([\\w-]+)\\s*(\\()",beginCaptures:{1:{name:"variable.scss"},2:{name:"punctuation.access.module.scss"},3:{name:"entity.name.function.scss"},4:{name:"punctuation.definition.parameters.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.scss"}},name:"meta.at-rule.include.scss",patterns:[{include:"#function_attributes"}]},{captures:{0:{name:"meta.at-rule.include.scss"},1:{name:"variable.scss"},2:{name:"punctuation.access.module.scss"},3:{name:"entity.name.function.scss"}},match:"(?<=@include)\\s+(?:([\\w-]+)\\s*(\\.))?([\\w-]+)"},{captures:{0:{name:"meta.at-rule.include.scss"},1:{name:"keyword.control.at-rule.include.scss"},2:{name:"punctuation.definition.keyword.scss"}},match:"((@)include)\\b"}]},at_rule_keyframes:{begin:"(?<=^|\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\b",beginCaptures:{0:{name:"keyword.control.at-rule.keyframes.scss"},1:{name:"punctuation.definition.keyword.scss"}},end:"(?<=})",name:"meta.at-rule.keyframes.scss",patterns:[{captures:{1:{name:"entity.name.function.scss"}},match:"(?<=@keyframes)\\s+((?:[_A-Za-z][-\\w]|-[_A-Za-z])[-\\w]*)"},{begin:'(?<=@keyframes)\\s+(")',beginCaptures:{1:{name:"punctuation.definition.string.begin.scss"}},contentName:"entity.name.function.scss",end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.scss"}},name:"string.quoted.double.scss",patterns:[{match:"\\\\(\\h{1,6}|.)",name:"constant.character.escape.scss"},{include:"#interpolation"}]},{begin:"(?<=@keyframes)\\s+(')",beginCaptures:{1:{name:"punctuation.definition.string.begin.scss"}},contentName:"entity.name.function.scss",end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.scss"}},name:"string.quoted.single.scss",patterns:[{match:"\\\\(\\h{1,6}|.)",name:"constant.character.escape.scss"},{include:"#interpolation"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.section.keyframes.begin.scss"}},end:"}",endCaptures:{0:{name:"punctuation.section.keyframes.end.scss"}},patterns:[{match:"\\b(?:(?:100|[1-9]\\d|\\d)%|from|to)(?=\\s*{)",name:"entity.other.attribute-name.scss"},{include:"#flow_control"},{include:"#interpolation"},{include:"#property_list"},{include:"#rules"}]}]},at_rule_media:{patterns:[{begin:"^\\s*((@)media)\\b",beginCaptures:{1:{name:"keyword.control.at-rule.media.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?={)",name:"meta.at-rule.media.scss",patterns:[{include:"#comment_docblock"},{include:"#comment_block"},{include:"#comment_line"},{match:"\\b(only)\\b",name:"keyword.control.operator.css.scss"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.media-query.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.media-query.end.bracket.round.scss"}},name:"meta.property-list.media-query.scss",patterns:[{begin:"(?<![-a-z])(?=[-a-z])",end:"$|(?![-a-z])",name:"meta.property-name.media-query.scss",patterns:[{include:"source.css#media-features"},{include:"source.css#property-names"}]},{begin:"(:)\\s*(?!(\\s*{))",beginCaptures:{1:{name:"punctuation.separator.key-value.scss"}},contentName:"meta.property-value.media-query.scss",end:"\\s*(;|(?=}|\\)))",endCaptures:{1:{name:"punctuation.terminator.rule.scss"}},patterns:[{include:"#general"},{include:"#property_values"}]}]},{include:"#variable"},{include:"#conditional_operators"},{include:"source.css#media-types"}]}]},at_rule_mixin:{patterns:[{begin:"(?<=@mixin)\\s+([\\w-]+)\\s*(\\()",beginCaptures:{1:{name:"entity.name.function.scss"},2:{name:"punctuation.definition.parameters.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.scss"}},name:"meta.at-rule.mixin.scss",patterns:[{include:"#function_attributes"}]},{captures:{1:{name:"entity.name.function.scss"}},match:"(?<=@mixin)\\s+([\\w-]+)",name:"meta.at-rule.mixin.scss"},{captures:{1:{name:"keyword.control.at-rule.mixin.scss"},2:{name:"punctuation.definition.keyword.scss"}},match:"((@)mixin)\\b",name:"meta.at-rule.mixin.scss"}]},at_rule_namespace:{patterns:[{begin:"(?<=@namespace)\\s+(?=url)",end:"(?=;|$)",name:"meta.at-rule.namespace.scss",patterns:[{include:"#property_values"},{include:"#string_single"},{include:"#string_double"}]},{begin:"(?<=@namespace)\\s+([\\w-]*)",captures:{1:{name:"entity.name.namespace-prefix.scss"}},end:"(?=;|$)",name:"meta.at-rule.namespace.scss",patterns:[{include:"#variables"},{include:"#property_values"},{include:"#string_single"},{include:"#string_double"}]},{captures:{1:{name:"keyword.control.at-rule.namespace.scss"},2:{name:"punctuation.definition.keyword.scss"}},match:"((@)namespace)\\b",name:"meta.at-rule.namespace.scss"}]},at_rule_option:{captures:{1:{name:"keyword.control.at-rule.charset.scss"},2:{name:"punctuation.definition.keyword.scss"}},match:"^\\s*((@)option\\b)\\s*",name:"meta.at-rule.option.scss"},at_rule_page:{patterns:[{begin:"^\\s*((@)page)(?=:|\\s)\\s*([-:\\w]*)",captures:{1:{name:"keyword.control.at-rule.page.scss"},2:{name:"punctuation.definition.keyword.scss"},3:{name:"entity.name.function.scss"}},end:"\\s*(?={)",name:"meta.at-rule.page.scss"}]},at_rule_return:{begin:"\\s*((@)(return)\\b)",captures:{1:{name:"keyword.control.return.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*((?=;))",name:"meta.at-rule.return.scss",patterns:[{include:"#variable"},{include:"#property_values"}]},at_rule_supports:{begin:"(?<=^|\\s)(@)supports\\b",captures:{0:{name:"keyword.control.at-rule.supports.scss"},1:{name:"punctuation.definition.keyword.scss"}},end:"(?={)|$",name:"meta.at-rule.supports.scss",patterns:[{include:"#logical_operators"},{include:"#properties"},{match:"\\(",name:"punctuation.definition.condition.begin.bracket.round.scss"},{match:"\\)",name:"punctuation.definition.condition.end.bracket.round.scss"}]},at_rule_use:{begin:"\\s*((@)use\\b)\\s*",captures:{1:{name:"keyword.control.at-rule.use.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?=;)",name:"meta.at-rule.use.scss",patterns:[{match:"\\b(as|with)\\b",name:"keyword.control.operator"},{match:"\\b[\\w-]+\\b",name:"variable.scss"},{match:"\\*",name:"variable.language.expanded-namespace.scss"},{include:"#string_single"},{include:"#string_double"},{include:"#comment_line"},{include:"#comment_block"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.scss"}},patterns:[{include:"#function_attributes"}]}]},at_rule_warn:{begin:"\\s*((@)(warn|debug|error)\\b)\\s*",captures:{1:{name:"keyword.control.warn.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?=;)",name:"meta.at-rule.warn.scss",patterns:[{include:"#variable"},{include:"#string_double"},{include:"#string_single"}]},at_rule_while:{begin:"\\s*((@)while\\b)\\s*",captures:{1:{name:"keyword.control.while.scss"},2:{name:"punctuation.definition.keyword.scss"}},end:"\\s*(?=})",name:"meta.at-rule.while.scss",patterns:[{include:"#conditional_operators"},{include:"#variable"},{include:"#property_values"},{include:"$self"}]},comment_block:{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.scss"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.scss"}},name:"comment.block.scss"},comment_docblock:{begin:"///",beginCaptures:{0:{name:"punctuation.definition.comment.scss"}},end:"(?=$)",name:"comment.block.documentation.scss",patterns:[{include:"source.sassdoc"}]},comment_line:{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.scss"}},end:"\\n",name:"comment.line.scss"},comparison_operators:{match:"==|!=|<=|>=|<|>",name:"keyword.operator.comparison.scss"},conditional_operators:{patterns:[{include:"#comparison_operators"},{include:"#logical_operators"}]},constant_default:{match:"!default",name:"keyword.other.default.scss"},constant_functions:{begin:"(?:([\\w-]+)(\\.))?([\\w-]+)(\\()",beginCaptures:{1:{name:"variable.scss"},2:{name:"punctuation.access.module.scss"},3:{name:"support.function.misc.scss"},4:{name:"punctuation.section.function.scss"}},end:"(\\))",endCaptures:{1:{name:"punctuation.section.function.scss"}},patterns:[{include:"#parameters"}]},constant_important:{match:"!important",name:"keyword.other.important.scss"},constant_mathematical_symbols:{match:"\\b(\\+|-|\\*|/)\\b",name:"support.constant.mathematical-symbols.scss"},constant_optional:{match:"!optional",name:"keyword.other.optional.scss"},constant_sass_functions:{begin:"(headings|stylesheet-url|rgba?|hsla?|ie-hex-str|red|green|blue|alpha|opacity|hue|saturation|lightness|prefixed|prefix|-moz|-svg|-css2|-pie|-webkit|-ms|font-(?:files|url)|grid-image|image-(?:width|height|url|color)|sprites?|sprite-(?:map|map-name|file|url|position)|inline-(?:font-files|image)|opposite-position|grad-point|grad-end-position|color-stops|color-stops-in-percentages|grad-color-stops|(?:radial|linear)-(?:gradient|svg-gradient)|opacify|fade-?in|transparentize|fade-?out|lighten|darken|saturate|desaturate|grayscale|adjust-(?:hue|lightness|saturation|color)|scale-(?:lightness|saturation|color)|change-color|spin|complement|invert|mix|-compass-(?:list|space-list|slice|nth|list-size)|blank|compact|nth|first-value-of|join|length|append|nest|append-selector|headers|enumerate|range|percentage|unitless|unit|if|type-of|comparable|elements-of-type|quote|unquote|escape|e|sin|cos|tan|abs|round|ceil|floor|pi|translate(?:X|Y))(\\()",beginCaptures:{1:{name:"support.function.misc.scss"},2:{name:"punctuation.section.function.scss"}},end:"(\\))",endCaptures:{1:{name:"punctuation.section.function.scss"}},patterns:[{include:"#parameters"}]},flow_control:{patterns:[{include:"#at_rule_if"},{include:"#at_rule_else"},{include:"#at_rule_warn"},{include:"#at_rule_for"},{include:"#at_rule_while"},{include:"#at_rule_each"},{include:"#at_rule_return"}]},function_attributes:{patterns:[{match:":",name:"punctuation.separator.key-value.scss"},{include:"#general"},{include:"#property_values"},{match:"[={}\\?;@]",name:"invalid.illegal.scss"}]},functions:{patterns:[{begin:"([\\w-]{1,})(\\()\\s*",beginCaptures:{1:{name:"support.function.misc.scss"},2:{name:"punctuation.section.function.scss"}},end:"(\\))",endCaptures:{1:{name:"punctuation.section.function.scss"}},patterns:[{include:"#parameters"}]},{match:"([\\w-]{1,})",name:"support.function.misc.scss"}]},general:{patterns:[{include:"#variable"},{include:"#comment_docblock"},{include:"#comment_block"},{include:"#comment_line"}]},interpolation:{begin:"#{",beginCaptures:{0:{name:"punctuation.definition.interpolation.begin.bracket.curly.scss"}},end:"}",endCaptures:{0:{name:"punctuation.definition.interpolation.end.bracket.curly.scss"}},name:"variable.interpolation.scss",patterns:[{include:"#variable"},{include:"#property_values"}]},logical_operators:{match:"\\b(not|or|and)\\b",name:"keyword.operator.logical.scss"},map:{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.map.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.map.end.bracket.round.scss"}},name:"meta.definition.variable.map.scss",patterns:[{include:"#comment_docblock"},{include:"#comment_block"},{include:"#comment_line"},{captures:{1:{name:"support.type.map.key.scss"},2:{name:"punctuation.separator.key-value.scss"}},match:"\\b([\\w-]+)\\s*(:)"},{match:",",name:"punctuation.separator.delimiter.scss"},{include:"#map"},{include:"#variable"},{include:"#property_values"}]},operators:{match:"[-+*/](?!\\s*[-+*/])",name:"keyword.operator.css"},parameters:{patterns:[{include:"#variable"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.scss"}},patterns:[{include:"#function_attributes"}]},{include:"#property_values"},{include:"#comment_block"},{match:`[^'",) \\t]+`,name:"variable.parameter.url.scss"},{match:",",name:"punctuation.separator.delimiter.scss"}]},parent_selector_suffix:{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.identifier.scss"}]}},match:"(?<=&)((?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.)|\\#\\{|\\$|})+)(?=$|[\\s,.\\#)\\[:{>+~|]|/\\*)",name:"entity.other.attribute-name.parent-selector-suffix.css"},properties:{patterns:[{begin:"(?<![-a-z])(?=[-a-z])",end:"$|(?![-a-z])",name:"meta.property-name.scss",patterns:[{include:"source.css#property-names"},{include:"#at_rule_include"}]},{begin:"(:)\\s*(?!(\\s*{))",beginCaptures:{1:{name:"punctuation.separator.key-value.scss"}},contentName:"meta.property-value.scss",end:"\\s*(;|(?=}|\\)))",endCaptures:{1:{name:"punctuation.terminator.rule.scss"}},patterns:[{include:"#general"},{include:"#property_values"}]}]},property_list:{begin:"{",beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.scss"}},end:"}",endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.scss"}},name:"meta.property-list.scss",patterns:[{include:"#flow_control"},{include:"#rules"},{include:"#properties"},{include:"$self"}]},property_values:{patterns:[{include:"#string_single"},{include:"#string_double"},{include:"#constant_functions"},{include:"#constant_sass_functions"},{include:"#constant_important"},{include:"#constant_default"},{include:"#constant_optional"},{include:"source.css#numeric-values"},{include:"source.css#property-keywords"},{include:"source.css#color-keywords"},{include:"source.css#property-names"},{include:"#constant_mathematical_symbols"},{include:"#operators"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.scss"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.scss"}},patterns:[{include:"#general"},{include:"#property_values"}]}]},rules:{patterns:[{include:"#general"},{include:"#at_rule_extend"},{include:"#at_rule_content"},{include:"#at_rule_include"},{include:"#at_rule_media"},{include:"#selectors"}]},selector_attribute:{captures:{1:{name:"punctuation.definition.attribute-selector.begin.bracket.square.scss"},2:{name:"entity.other.attribute-name.attribute.scss",patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.scss"}]},3:{name:"keyword.operator.scss"},4:{name:"string.unquoted.attribute-value.scss",patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.scss"}]},5:{name:"string.quoted.double.attribute-value.scss"},6:{name:"punctuation.definition.string.begin.scss"},7:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.scss"}]},8:{name:"punctuation.definition.string.end.scss"},9:{name:"string.quoted.single.attribute-value.scss"},10:{name:"punctuation.definition.string.begin.scss"},11:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.scss"}]},12:{name:"punctuation.definition.string.end.scss"},13:{name:"punctuation.definition.attribute-selector.end.bracket.square.scss"}},match:`(?i)(\\[)\\s*((?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.)|\\#\\{|\\.?\\$|})+?)(?:\\s*([~|^$*]?=)\\s*(?:((?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.)|\\#\\{|\\.?\\$|})+)|((")(.*?)("))|((')(.*?)('))))?\\s*(\\])`,name:"meta.attribute-selector.scss"},selector_class:{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.scss"}]}},match:"(\\.)((?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.)|\\#\\{|\\.?\\$|})+)(?=$|[\\s,\\#)\\[:{>+~|]|\\.[^$]|/\\*|;)",name:"entity.other.attribute-name.class.css"},selector_custom:{match:"\\b([a-zA-Z0-9]+(-[a-zA-Z0-9]+)+)(?=\\.|\\s++[^:]|\\s*[,\\[{]|:(link|visited|hover|active|focus|target|lang|disabled|enabled|checked|indeterminate|root|nth-(child|last-child|of-type|last-of-type)|first-child|last-child|first-of-type|last-of-type|only-child|only-of-type|empty|not|valid|invalid)(\\([0-9A-Za-z]*\\))?)",name:"entity.name.tag.custom.scss"},selector_id:{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.identifier.scss"}]}},match:"(\\#)((?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.)|\\#\\{|\\.?\\$|})+)(?=$|[\\s,\\#)\\[:{>+~|]|\\.[^$]|/\\*)",name:"entity.other.attribute-name.id.css"},selector_placeholder:{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#interpolation"},{match:"\\\\([0-9a-fA-F]{1,6}|.)",name:"constant.character.escape.scss"},{match:"\\$|}",name:"invalid.illegal.identifier.scss"}]}},match:"(%)((?:[-a-zA-Z_0-9]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.)|\\#\\{|\\.\\$|\\$|})+)(?=;|$|[\\s,\\#)\\[:{>+~|]|\\.[^$]|/\\*)",name:"entity.other.attribute-name.placeholder.css"},selector_pseudo_class:{patterns:[{begin:"((:)\\bnth-(?:child|last-child|of-type|last-of-type))(\\()",beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.definition.pseudo-class.begin.bracket.round.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.pseudo-class.end.bracket.round.css"}},patterns:[{include:"#interpolation"},{match:"\\d+",name:"constant.numeric.css"},{match:"(?<=\\d)n\\b|\\b(n|even|odd)\\b",name:"constant.other.scss"},{match:"\\w+",name:"invalid.illegal.scss"}]},{include:"source.css#pseudo-classes"},{include:"source.css#pseudo-elements"},{include:"source.css#functional-pseudo-classes"}]},selectors:{patterns:[{include:"source.css#tag-names"},{include:"#selector_custom"},{include:"#selector_class"},{include:"#selector_id"},{include:"#selector_pseudo_class"},{include:"#tag_wildcard"},{include:"#tag_parent_reference"},{include:"source.css#pseudo-elements"},{include:"#selector_attribute"},{include:"#selector_placeholder"},{include:"#parent_selector_suffix"}]},string_double:{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.scss"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.scss"}},name:"string.quoted.double.scss",patterns:[{match:"\\\\(\\h{1,6}|.)",name:"constant.character.escape.scss"},{include:"#interpolation"}]},string_single:{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.scss"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.scss"}},name:"string.quoted.single.scss",patterns:[{match:"\\\\(\\h{1,6}|.)",name:"constant.character.escape.scss"},{include:"#interpolation"}]},tag_parent_reference:{match:"&",name:"entity.name.tag.reference.scss"},tag_wildcard:{match:"\\*",name:"entity.name.tag.wildcard.scss"},variable:{patterns:[{include:"#variables"},{include:"#interpolation"}]},variable_setting:{begin:"(?=\\$[\\w-]+\\s*:)",contentName:"meta.definition.variable.scss",end:";",endCaptures:{0:{name:"punctuation.terminator.rule.scss"}},patterns:[{match:"\\$[\\w-]+(?=\\s*:)",name:"variable.scss"},{begin:":",beginCaptures:{0:{name:"punctuation.separator.key-value.scss"}},end:"(?=;)",patterns:[{include:"#comment_docblock"},{include:"#comment_block"},{include:"#comment_line"},{include:"#map"},{include:"#property_values"},{include:"#variable"},{match:",",name:"punctuation.separator.delimiter.scss"}]}]},variables:{patterns:[{captures:{1:{name:"variable.scss"},2:{name:"punctuation.access.module.scss"},3:{name:"variable.scss"}},match:"\\b([\\w-]+)(\\.)(\\$[\\w-]+)\\b"},{match:"(\\$|\\-\\-)[A-Za-z0-9_-]+\\b",name:"variable.scss"}]}},scopeName:"source.css.scss",embeddedLangs:["css"]});var i=[...t,g];const f=Object.freeze({displayName:"Stylus",fileTypes:["styl","stylus","css.styl","css.stylus"],name:"stylus",patterns:[{include:"#comment"},{include:"#at_rule"},{include:"#language_keywords"},{include:"#language_constants"},{include:"#variable_declaration"},{include:"#function"},{include:"#selector"},{include:"#declaration"},{captures:{1:{name:"punctuation.section.property-list.begin.css"},2:{name:"punctuation.section.property-list.end.css"}},match:"(\\{)(\\})",name:"meta.brace.curly.css"},{match:"\\{|\\}",name:"meta.brace.curly.css"},{include:"#numeric"},{include:"#string"},{include:"#operator"}],repository:{at_rule:{patterns:[{begin:"\\s*((@)(import|require))\\b\\s*",beginCaptures:{1:{name:"keyword.control.at-rule.import.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},end:"\\s*((?=;|$|\\n))",endCaptures:{1:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.import.css",patterns:[{include:"#string"}]},{begin:"\\s*((@)(extend[s]?)\\b)\\s*",beginCaptures:{1:{name:"keyword.control.at-rule.extend.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},end:"\\s*((?=;|$|\\n))",endCaptures:{1:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.extend.css",patterns:[{include:"#selector"}]},{captures:{1:{name:"keyword.control.at-rule.fontface.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},match:"^\\s*((@)font-face)\\b",name:"meta.at-rule.fontface.stylus"},{captures:{1:{name:"keyword.control.at-rule.css.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},match:"^\\s*((@)css)\\b",name:"meta.at-rule.css.stylus"},{begin:"\\s*((@)charset)\\b\\s*",beginCaptures:{1:{name:"keyword.control.at-rule.charset.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},end:"\\s*((?=;|$|\\n))",name:"meta.at-rule.charset.stylus",patterns:[{include:"#string"}]},{begin:"\\s*((@)keyframes)\\b\\s+([a-zA-Z_-][a-zA-Z0-9_-]*)",beginCaptures:{1:{name:"keyword.control.at-rule.keyframes.stylus"},2:{name:"punctuation.definition.keyword.stylus"},3:{name:"entity.name.function.keyframe.stylus"}},end:"\\s*((?=\\{|$|\\n))",name:"meta.at-rule.keyframes.stylus"},{begin:"(?=(\\b(\\d+%|from\\b|to\\b)))",end:"(?=(\\{|\\n))",name:"meta.at-rule.keyframes.stylus",patterns:[{match:"(\\b(\\d+%|from\\b|to\\b))",name:"entity.other.attribute-name.stylus"}]},{captures:{1:{name:"keyword.control.at-rule.media.stylus"},2:{name:"punctuation.definition.keyword.stylus"}},match:"^\\s*((@)media)\\b",name:"meta.at-rule.media.stylus"},{match:"(?:(?=\\w)(?<![\\w-]))(width|scan|resolution|orientation|monochrome|min-width|min-resolution|min-monochrome|min-height|min-device-width|min-device-height|min-device-aspect-ratio|min-color-index|min-color|min-aspect-ratio|max-width|max-resolution|max-monochrome|max-height|max-device-width|max-device-height|max-device-aspect-ratio|max-color-index|max-color|max-aspect-ratio|height|grid|device-width|device-height|device-aspect-ratio|color-index|color|aspect-ratio)(?:(?<=\\w)(?![\\w-]))",name:"support.type.property-name.media-feature.media.css"},{match:"(?:(?=\\w)(?<![\\w-]))(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)(?:(?<=\\w)(?![\\w-]))",name:"support.constant.media-type.media.css"},{match:"(?:(?=\\w)(?<![\\w-]))(portrait|landscape)(?:(?<=\\w)(?![\\w-]))",name:"support.constant.property-value.media-property.media.css"}]},char_escape:{match:"\\\\(.)",name:"constant.character.escape.stylus"},color:{patterns:[{begin:"\\b(rgb|rgba|hsl|hsla)(\\()",beginCaptures:{1:{name:"support.function.color.css"},2:{name:"punctuation.section.function.css"}},end:"(\\))",endCaptures:{1:{name:"punctuation.section.function.css"}},name:"meta.function.color.css",patterns:[{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#property_variable"}]},{captures:{1:{name:"punctuation.definition.constant.css"}},match:"(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\\b",name:"constant.other.color.rgb-value.css"},{comment:"http://www.w3.org/TR/CSS21/syndata.html#value-def-color",match:"\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\b",name:"support.constant.color.w3c-standard-color-name.css"},{comment:"http://www.w3.org/TR/css3-color/#svg-color",match:"\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\b",name:"support.constant.color.w3c-extended-color-name.css"}]},comment:{patterns:[{include:"#comment_block"},{include:"#comment_line"}]},comment_block:{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.css"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.css"}},name:"comment.block.css"},comment_line:{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.stylus"}},end:"(?!\\G)",patterns:[{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.stylus"}},end:"(?=\\n)",name:"comment.line.double-slash.stylus"}]},declaration:{begin:"((?<=^)[^\\S\\n]+)|((?<=;)[^\\S\\n]*)|((?<=\\{)[^\\S\\n]*)",end:"(?=\\n)|(;)|(?=\\})|(\\n)",endCaptures:{2:{name:"punctuation.terminator.rule.css"}},name:"meta.property-list.css",patterns:[{match:"(?<![\\w-])--(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*",name:"variable.css"},{include:"#language_keywords"},{include:"#language_constants"},{match:"(?:(?<=^)[^\\S\\n]+(\\n))"},{captures:{1:{name:"support.type.property-name.css"},2:{name:"punctuation.separator.key-value.css"},3:{name:"variable.section.css"}},match:"\\G\\s*(counter-reset|counter-increment)(?:(:)|[^\\S\\n])[^\\S\\n]*([a-zA-Z_-][a-zA-Z0-9_-]*)",name:"meta.property.counter.css"},{begin:"\\G\\s*(filter)(?:(:)|[^\\S\\n])[^\\S\\n]*",beginCaptures:{1:{name:"support.type.property-name.css"},2:{name:"punctuation.separator.key-value.css"}},end:"(?=\\n|;|\\}|$)",name:"meta.property.filter.css",patterns:[{include:"#function"},{include:"#property_values"}]},{include:"#property"},{include:"#interpolation"},{include:"$self"}]},font_name:{match:"(\\b(?i:arial|century|comic|courier|cursive|fantasy|futura|garamond|georgia|helvetica|impact|lucida|monospace|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif)\\b)",name:"support.constant.font-name.css"},function:{begin:"(?=[a-zA-Z_-][a-zA-Z0-9_-]*\\()",end:"(\\))",endCaptures:{1:{name:"punctuation.section.function.css"}},patterns:[{begin:"(format|url|local)(\\()",beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.misc.css",patterns:[{match:"(?<=\\()[^\\)\\s]*(?=\\))",name:"string.css"},{include:"#string"},{include:"#variable"},{include:"#operator"},{match:"\\s*"}]},{captures:{1:{name:"support.function.misc.counter.css"},2:{name:"punctuation.section.function.css"},3:{name:"variable.section.css"}},match:"(counter)(\\()([a-zA-Z_-][a-zA-Z0-9_-]*)(?=\\))",name:"meta.function.misc.counter.css"},{begin:"(counters)(\\()",beginCaptures:{1:{name:"support.function.misc.counters.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.misc.counters.css",patterns:[{match:"\\G[a-zA-Z_-][a-zA-Z0-9_-]*",name:"variable.section.css"},{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#string"},{include:"#interpolation"}]},{begin:"(attr)(\\()",beginCaptures:{1:{name:"support.function.misc.attr.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.misc.attr.css",patterns:[{match:"\\G[a-zA-Z_-][a-zA-Z0-9_-]*",name:"entity.other.attribute-name.attribute.css"},{match:"(?<=[a-zA-Z0-9_-])\\s*\\b(string|color|url|integer|number|length|em|ex|px|rem|vw|vh|vmin|vmax|mm|cm|in|pt|pc|angle|deg|grad|rad|time|s|ms|frequency|Hz|kHz|%)\\b",name:"support.type.attr.css"},{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#string"},{include:"#interpolation"}]},{begin:"(calc)(\\()",beginCaptures:{1:{name:"support.function.misc.calc.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.misc.calc.css",patterns:[{include:"#property_values"}]},{begin:"(cubic-bezier)(\\()",beginCaptures:{1:{name:"support.function.timing.cubic-bezier.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.timing.cubic-bezier.css",patterns:[{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#interpolation"}]},{begin:"(steps)(\\()",beginCaptures:{1:{name:"support.function.timing.steps.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.timing.steps.css",patterns:[{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#numeric"},{match:"\\b(start|end)\\b",name:"support.constant.timing.steps.direction.css"},{include:"#interpolation"}]},{begin:"(linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient)(\\()",beginCaptures:{1:{name:"support.function.gradient.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.gradient.css",patterns:[{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#color"},{match:"\\b(to|bottom|right|left|top|circle|ellipse|center|closest-side|closest-corner|farthest-side|farthest-corner|at)\\b",name:"support.constant.gradient.css"},{include:"#interpolation"}]},{begin:"(blur|brightness|contrast|grayscale|hue-rotate|invert|opacity|saturate|sepia)(\\()",beginCaptures:{1:{name:"support.function.filter.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.filter.css",patterns:[{include:"#numeric"},{include:"#property_variable"},{include:"#interpolation"}]},{begin:"(drop-shadow)(\\()",beginCaptures:{1:{name:"support.function.filter.drop-shadow.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.filter.drop-shadow.css",patterns:[{include:"#numeric"},{include:"#color"},{include:"#property_variable"},{include:"#interpolation"}]},{begin:"(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[yY]|rotate[zZ]|scale|scale3d|scale[xX]|scale[yY]|scale[zZ]|skew|skew[xX]|skew[yY]|translate|translate3d|translate[xX]|translate[yY]|translate[zZ])(\\()",beginCaptures:{1:{name:"support.function.transform.css"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.transform.css",patterns:[{include:"#numeric"},{include:"#property_variable"},{include:"#interpolation"}]},{match:"(url|local|format|counter|counters|attr|calc)(?=\\()",name:"support.function.misc.css"},{match:"(cubic-bezier|steps)(?=\\()",name:"support.function.timing.css"},{match:"(linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient)(?=\\()",name:"support.function.gradient.css"},{match:"(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|opacity|saturate|sepia)(?=\\()",name:"support.function.filter.css"},{match:"(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[yY]|rotate[zZ]|scale|scale3d|scale[xX]|scale[yY]|scale[zZ]|skew|skew[xX]|skew[yY]|translate|translate3d|translate[xX]|translate[yY]|translate[zZ])(?=\\()",name:"support.function.transform.css"},{begin:"([a-zA-Z_-][a-zA-Z0-9_-]*)(\\()",beginCaptures:{1:{name:"entity.name.function.stylus"},2:{name:"punctuation.section.function.css"}},end:"(?=\\))",name:"meta.function.stylus",patterns:[{match:"--(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*",name:"variable.argument.stylus"},{match:"\\s*(,)\\s*",name:"punctuation.separator.parameter.css"},{include:"#interpolation"},{include:"#property_values"}]},{match:"\\(",name:"punctuation.section.function.css"}]},interpolation:{begin:"(?:(\\{)[^\\S\\n]*)(?=[^;=]*[^\\S\\n]*\\})",beginCaptures:{1:{name:"meta.brace.curly"}},end:"(?:[^\\S\\n]*(\\}))|\\n|$",endCaptures:{1:{name:"meta.brace.curly"}},name:"meta.interpolation.stylus",patterns:[{include:"#variable"},{include:"#numeric"},{include:"#string"},{include:"#operator"}]},language_constants:{match:"\\b(true|false|null)\\b",name:"constant.language.stylus"},language_keywords:{patterns:[{match:"(\\b|\\s)(return|else|for|unless|if|else)\\b",name:"keyword.control.stylus"},{match:"(\\b|\\s)(!important|in|is defined|is a)\\b",name:"keyword.other.stylus"},{match:"\\barguments\\b",name:"variable.language.stylus"}]},numeric:{patterns:[{captures:{1:{name:"keyword.other.unit.css"}},match:"(?<!\\w|-)(?:(?:-|\\+)?(?:\\d+(?:\\.\\d+)?)|(?:\\.\\d+))((?:px|pt|ch|cm|mm|in|r?em|ex|pc|deg|g?rad|dpi|dpcm|dppx|fr|ms|s|turn|vh|vmax|vmin|vw)\\b|%)?",name:"constant.numeric.css"}]},operator:{patterns:[{match:"((?:\\?|:|!|~|\\+|(\\s-\\s)|(?:\\*)?\\*|\\/|%|(\\.)?\\.\\.|<|>|(?:=|:|\\?|\\+|-|\\*|\\/|%|<|>)?=|!=)|\\b(?:in|is(?:nt)?|(?<!:)not|or|and)\\b)",name:"keyword.operator.stylus"},{include:"#char_escape"}]},property:{begin:"(?:\\G\\s*(?:(-webkit-[-A-Za-z]+|-moz-[-A-Za-z]+|-o-[-A-Za-z]+|-ms-[-A-Za-z]+|-khtml-[-A-Za-z]+|zoom|z-index|y|x|wrap|word-wrap|word-spacing|word-break|word|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|variant|user-select|up|unicode-bidi|unicode-range|unicode|trim|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-transform|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-justify|text-indent|text-height|text-emphasis|text-decoration|text-align-last|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|style-type|style-position|style-image|style|string-set|stretch|stress|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak|span|spacing|space-collapse|space|sizing|size-adjust|size|shadow|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-align|ruby|rows|rotation-point|rotation|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resize|reset|replace|repeat|rendering-intent|rate|radius|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-bottom|padding|pack|overhang|overflow-y|overflow-x|overflow-style|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset|numeral|new|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|model|mix-blend-mode|min-width|min-height|min|max-width|max-height|max|marquee-style|marquee-speed|marquee-play-count|marquee-direction|marquee|marks|mark-before|mark-after|mark|margin-top|margin-right|margin-left|margin-bottom|margin|mask-image|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-height|line-break|level|letter-spacing|length|left-width|left-style|left-color|left|label|justify-content|justify|iteration-count|inline-box-align|initial-value|initial-size|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-resolution|image-orientation|image|icon|hyphens|hyphenate-resource|hyphenate-lines|hyphenate-character|hyphenate-before|hyphenate-after|hyphenate|height|header|hanging-punctuation|gap|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-start|grid-row|grid-row-end|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|row-gap|gap|font-kerning|font-language-override|font-weight|font-variant-caps|font-variant|font-style|font-synthesis|font-stretch|font-size-adjust|font-size|font-family|font|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|fill|filter|family|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cursor|cue-before|cue-after|cue|crop|counter-reset|counter-increment|counter|count|content|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-profile|color|collapse|clip|clear|character|caption-side|break-inside|break-before|break-after|break|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-length|border-left-width|border-left-style|border-left-color|border-left|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|bookmark-target|bookmark-level|bookmark-label|bookmark|binding|bidi|before|baseline-shift|baseline|balance|background-blend-mode|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-break|background-attachment|background|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-duration|animation-direction|animation-delay|animation-fill-mode|animation|alignment-baseline|alignment-adjust|alignment|align-self|align-last|align-items|align-content|align|after|adjust|will-change)|(writing-mode|text-anchor|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|stop-opacity|stop-color|shape-rendering|marker-start|marker-mid|marker-end|lighting-color|kerning|image-rendering|glyph-orientation-vertical|glyph-orientation-horizontal|flood-opacity|flood-color|fill-rule|fill-opacity|fill|enable-background|color-rendering|color-interpolation-filters|color-interpolation|clip-rule|clip-path)|([a-zA-Z_-][a-zA-Z0-9_-]*))(?!([^\\S\\n]*&)|([^\\S\\n]*\\{))(?=:|([^\\S\\n]+[^\\s])))",beginCaptures:{1:{name:"support.type.property-name.css"},2:{name:"support.type.property-name.svg.css"},3:{name:"support.function.mixin.stylus"}},end:"(;)|(?=\\n|\\}|$)",endCaptures:{1:{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#property_value"}]},property_value:{begin:"\\G(?:(:)|(\\s))(\\s*)(?!&)",beginCaptures:{1:{name:"punctuation.separator.key-value.css"},2:{name:"punctuation.separator.key-value.css"}},end:"(?=\\n|;|\\})",endCaptures:{1:{name:"punctuation.terminator.rule.css"}},name:"meta.property-value.css",patterns:[{include:"#property_values"},{match:"[^\\n]+?"}]},property_values:{patterns:[{include:"#function"},{include:"#comment"},{include:"#language_keywords"},{include:"#language_constants"},{match:"(?:(?=\\w)(?<![\\w-]))(wrap-reverse|wrap|whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|unicase|underline|ultra-expanded|ultra-condensed|transparent|transform|top|titling-caps|thin|thick|text-top|text-bottom|text|tb-rl|table-row-group|table-row|table-header-group|table-footer-group|table-column-group|table-column|table-cell|table|sw-resize|super|strict|stretch|step-start|step-end|static|square|space-between|space-around|space|solid|soft-light|small-caps|separate|semi-expanded|semi-condensed|se-resize|scroll|screen|saturation|s-resize|running|rtl|row-reverse|row-resize|row|round|right|ridge|reverse|repeat-y|repeat-x|repeat|relative|progressive|progress|pre-wrap|pre-line|pre|pointer|petite-caps|paused|pan-x|pan-left|pan-right|pan-y|pan-up|pan-down|padding-box|overline|overlay|outside|outset|optimizeSpeed|optimizeLegibility|opacity|oblique|nw-resize|nowrap|not-allowed|normal|none|no-repeat|no-drop|newspaper|ne-resize|n-resize|multiply|move|middle|medium|max-height|manipulation|main-size|luminosity|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|local|list-item|linear(?!-)|line-through|line-edge|line|lighter|lighten|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline-block|inline|inherit|infinite|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|hue|horizontal|hidden|help|hard-light|hand|groove|geometricPrecision|forwards|flex-start|flex-end|flex|fixed|extra-expanded|extra-condensed|expanded|exclusion|ellipsis|ease-out|ease-in-out|ease-in|ease|e-resize|double|dotted|distribute-space|distribute-letter|distribute-all-lines|distribute|disc|disabled|difference|default|decimal|dashed|darken|currentColor|crosshair|cover|content-box|contain|condensed|column-reverse|column|color-dodge|color-burn|color|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|border-box|bolder|bold|block|bidi-override|below|baseline|balance|backwards|auto|antialiased|always|alternate-reverse|alternate|all-small-caps|all-scroll|all-petite-caps|all|absolute)(?:(?<=\\w)(?![\\w-]))",name:"support.constant.property-value.css"},{match:"(?:(?=\\w)(?<![\\w-]))(start|sRGB|square|round|optimizeSpeed|optimizeQuality|nonzero|miter|middle|linearRGB|geometricPrecision |evenodd |end |crispEdges|butt|bevel)(?:(?<=\\w)(?![\\w-]))",name:"support.constant.property-value.svg.css"},{include:"#font_name"},{include:"#numeric"},{include:"#color"},{include:"#string"},{match:"\\!\\s*important",name:"keyword.other.important.css"},{include:"#operator"},{include:"#stylus_keywords"},{include:"#property_variable"}]},property_variable:{patterns:[{include:"#variable"},{match:"(?<!^)(\\@[a-zA-Z_-][a-zA-Z0-9_-]*)",name:"variable.property.stylus"}]},selector:{patterns:[{match:"(?:(?=\\w)(?<![\\w-]))(a|abbr|acronym|address|area|article|aside|audio|b|base|bdi|bdo|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|data|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|main|map|mark|math|menu|menuitem|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|svg|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr)(?:(?<=\\w)(?![\\w-]))",name:"entity.name.tag.css"},{match:"(?:(?=\\w)(?<![\\w-]))(vkern|view|use|tspan|tref|title|textPath|text|symbol|switch|svg|style|stop|set|script|rect|radialGradient|polyline|polygon|pattern|path|mpath|missing-glyph|metadata|mask|marker|linearGradient|line|image|hkern|glyphRef|glyph|g|foreignObject|font-face-uri|font-face-src|font-face-name|font-face-format|font-face|font|filter|feTurbulence|feTile|feSpotLight|feSpecularLighting|fePointLight|feOffset|feMorphology|feMergeNode|feMerge|feImage|feGaussianBlur|feFuncR|feFuncG|feFuncB|feFuncA|feFlood|feDistantLight|feDisplacementMap|feDiffuseLighting|feConvolveMatrix|feComposite|feComponentTransfer|feColorMatrix|feBlend|ellipse|desc|defs|cursor|color-profile|clipPath|circle|animateTransform|animateMotion|animateColor|animate|altGlyphItem|altGlyphDef|altGlyph|a)(?:(?<=\\w)(?![\\w-]))",name:"entity.name.tag.svg.css"},{match:"\\s*(\\,)\\s*",name:"meta.selector.stylus"},{match:"\\*",name:"meta.selector.stylus"},{captures:{2:{name:"entity.other.attribute-name.parent-selector-suffix.stylus"}},match:"\\s*(\\&)([a-zA-Z0-9_-]+)\\s*",name:"meta.selector.stylus"},{match:"\\s*(\\&)\\s*",name:"meta.selector.stylus"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(\\.)[a-zA-Z0-9_-]+",name:"entity.other.attribute-name.class.css"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(#)[a-zA-Z][a-zA-Z0-9_-]*",name:"entity.other.attribute-name.id.css"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(:+)(after|before|content|first-letter|first-line|host|(-(moz|webkit|ms)-)?selection)\\b",name:"entity.other.attribute-name.pseudo-element.css"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(:)((first|last)-child|(first|last|only)-of-type|empty|root|target|first|left|right)\\b",name:"entity.other.attribute-name.pseudo-class.css"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(:)(checked|enabled|default|disabled|indeterminate|invalid|optional|required|valid)\\b",name:"entity.other.attribute-name.pseudo-class.ui-state.css"},{begin:"((:)not)(\\()",beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.css"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.function.css"}},patterns:[{include:"#selector"}]},{captures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.css"},4:{name:"constant.numeric.css"},5:{name:"punctuation.section.function.css"}},match:"((:)nth-(?:(?:last-)?child|(?:last-)?of-type))(\\()(\\-?(?:\\d+n?|n)(?:\\+\\d+)?|even|odd)(\\))"},{captures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"puncutation.definition.entity.css"},3:{name:"punctuation.section.function.css"},4:{name:"constant.language.css"},5:{name:"punctuation.section.function.css"}},match:"((:)dir)\\s*(?:(\\()(ltr|rtl)?(\\)))?"},{captures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"puncutation.definition.entity.css"},3:{name:"punctuation.section.function.css"},4:{name:"constant.language.css"},6:{name:"punctuation.section.function.css"}},match:"((:)lang)\\s*(?:(\\()(\\w+(-\\w+)?)?(\\)))?"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(:)(active|hover|link|visited|focus)\\b",name:"entity.other.attribute-name.pseudo-class.css"},{captures:{1:{name:"punctuation.definition.entity.css"}},match:"(::)(shadow)\\b",name:"entity.other.attribute-name.pseudo-class.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{name:"entity.other.attribute-name.attribute.css"},3:{name:"punctuation.separator.operator.css"},4:{name:"string.unquoted.attribute-value.css"},5:{name:"string.quoted.double.attribute-value.css"},6:{name:"punctuation.definition.string.begin.css"},7:{name:"punctuation.definition.string.end.css"},8:{name:"punctuation.definition.entity.css"}},match:`(?i)(\\[)\\s*(-?[_a-z\\\\[^\0-]][_a-z0-9\\-\\\\[^\0-]]*)(?:\\s*([~|^$*]?=)\\s*(?:(-?[_a-z\\\\[^\0-]][_a-z0-9\\-\\\\[^\0-]]*)|((?>(['"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])`,name:"meta.attribute-selector.css"},{include:"#interpolation"},{include:"#variable"}]},string:{patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{match:"\\\\([a-fA-F0-9]{1,6}|.)",name:"constant.character.escape.css"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{match:"\\\\([a-fA-F0-9]{1,6}|.)",name:"constant.character.escape.css"}]}]},variable:{match:"(\\$[a-zA-Z_-][a-zA-Z0-9_-]*)",name:"variable.stylus"},variable_declaration:{begin:"^[^\\S\\n]*(\\$?[a-zA-Z_-][a-zA-Z0-9_-]*)[^\\S\\n]*(\\=|\\?\\=|\\:\\=)",beginCaptures:{1:{name:"variable.stylus"},2:{name:"keyword.operator.stylus"}},end:"(\\n)|(;)|(?=\\})",endCaptures:{2:{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#property_values"}]}},scopeName:"source.stylus",aliases:["styl"]});var r=[f];const y=Object.freeze({displayName:"CoffeeScript",name:"coffee",patterns:[{include:"#jsx"},{captures:{1:{name:"keyword.operator.new.coffee"},2:{name:"storage.type.class.coffee"},3:{name:"entity.name.type.instance.coffee"},4:{name:"entity.name.type.instance.coffee"}},match:"(new)\\s+(?:(?:(class)\\s+(\\w+(?:\\.\\w*)*)?)|(\\w+(?:\\.\\w*)*))",name:"meta.class.instance.constructor.coffee"},{begin:"'''",beginCaptures:{0:{name:"punctuation.definition.string.begin.coffee"}},end:"'''",endCaptures:{0:{name:"punctuation.definition.string.end.coffee"}},name:"string.quoted.single.heredoc.coffee",patterns:[{captures:{1:{name:"punctuation.definition.escape.backslash.coffee"}},match:"(\\\\).",name:"constant.character.escape.backslash.coffee"}]},{begin:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.coffee"}},end:'"""',endCaptures:{0:{name:"punctuation.definition.string.end.coffee"}},name:"string.quoted.double.heredoc.coffee",patterns:[{captures:{1:{name:"punctuation.definition.escape.backslash.coffee"}},match:"(\\\\).",name:"constant.character.escape.backslash.coffee"},{include:"#interpolated_coffee"}]},{captures:{1:{name:"punctuation.definition.string.begin.coffee"},2:{name:"source.js.embedded.coffee",patterns:[{include:"source.js"}]},3:{name:"punctuation.definition.string.end.coffee"}},match:"(`)(.*)(`)",name:"string.quoted.script.coffee"},{begin:"(?<!#)###(?!#)",beginCaptures:{0:{name:"punctuation.definition.comment.coffee"}},end:"###",endCaptures:{0:{name:"punctuation.definition.comment.coffee"}},name:"comment.block.coffee",patterns:[{match:"(?<=^|\\s)@\\w*(?=\\s)",name:"storage.type.annotation.coffee"}]},{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.coffee"}},end:"$",name:"comment.line.number-sign.coffee"},{begin:"///",beginCaptures:{0:{name:"punctuation.definition.string.begin.coffee"}},end:"(///)[gimuy]*",endCaptures:{1:{name:"punctuation.definition.string.end.coffee"}},name:"string.regexp.multiline.coffee",patterns:[{include:"#heregexp"}]},{begin:"(?<![\\w$])(/)(?=(?![/*+?])(.+)(/)[gimuy]*(?!\\s*[\\w$/(]))",beginCaptures:{1:{name:"punctuation.definition.string.begin.coffee"}},end:"(/)[gimuy]*(?!\\s*[\\w$/(])",endCaptures:{1:{name:"punctuation.definition.string.end.coffee"}},name:"string.regexp.coffee",patterns:[{include:"source.js.regexp"}]},{match:"\\b(?<![\\.\\$])(break|by|catch|continue|else|finally|for|in|of|if|return|switch|then|throw|try|unless|when|while|until|loop|do|export|import|default|from|as|yield|async|await|(?<=for)\\s+own)(?!\\s*:)\\b",name:"keyword.control.coffee"},{match:"\\b(?<![\\.\\$])(delete|instanceof|new|typeof)(?!\\s*:)\\b",name:"keyword.operator.$1.coffee"},{match:"\\b(?<![\\.\\$])(case|function|var|void|with|const|let|enum|native|__hasProp|__extends|__slice|__bind|__indexOf|implements|interface|package|private|protected|public|static)(?!\\s*:)\\b",name:"keyword.reserved.coffee"},{begin:"(?<=\\s|^)((@)?[a-zA-Z_$][\\w$]*)\\s*([:=])\\s*(?=(\\([^\\(\\)]*\\)\\s*)?[=-]>)",beginCaptures:{1:{name:"entity.name.function.coffee"},2:{name:"variable.other.readwrite.instance.coffee"},3:{name:"keyword.operator.assignment.coffee"}},end:"[=-]>",endCaptures:{0:{name:"storage.type.function.coffee"}},name:"meta.function.coffee",patterns:[{include:"#function_params"}]},{begin:`(?<=\\s|^)(?:((')([^']*?)('))|((")([^"]*?)(")))\\s*([:=])\\s*(?=(\\([^\\(\\)]*\\)\\s*)?[=-]>)`,beginCaptures:{1:{name:"string.quoted.single.coffee"},2:{name:"punctuation.definition.string.begin.coffee"},3:{name:"entity.name.function.coffee"},4:{name:"punctuation.definition.string.end.coffee"},5:{name:"string.quoted.double.coffee"},6:{name:"punctuation.definition.string.begin.coffee"},7:{name:"entity.name.function.coffee"},8:{name:"punctuation.definition.string.end.coffee"},9:{name:"keyword.operator.assignment.coffee"}},end:"[=-]>",endCaptures:{0:{name:"storage.type.function.coffee"}},name:"meta.function.coffee",patterns:[{include:"#function_params"}]},{begin:"(?=(\\([^\\(\\)]*\\)\\s*)?[=-]>)",end:"[=-]>",endCaptures:{0:{name:"storage.type.function.coffee"}},name:"meta.function.inline.coffee",patterns:[{include:"#function_params"}]},{begin:`(?<=\\s|^)({)(?=[^'"#]+?}[\\s\\]}]*=)`,beginCaptures:{1:{name:"punctuation.definition.destructuring.begin.bracket.curly.coffee"}},end:"}",endCaptures:{0:{name:"punctuation.definition.destructuring.end.bracket.curly.coffee"}},name:"meta.variable.assignment.destructured.object.coffee",patterns:[{include:"$self"},{match:"[a-zA-Z$_]\\w*",name:"variable.assignment.coffee"}]},{begin:`(?<=\\s|^)(\\[)(?=[^'"#]+?\\][\\s\\]}]*=)`,beginCaptures:{1:{name:"punctuation.definition.destructuring.begin.bracket.square.coffee"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.destructuring.end.bracket.square.coffee"}},name:"meta.variable.assignment.destructured.array.coffee",patterns:[{include:"$self"},{match:"[a-zA-Z$_]\\w*",name:"variable.assignment.coffee"}]},{match:"\\b(?<!\\.|::)(true|on|yes)(?!\\s*[:=][^=])\\b",name:"constant.language.boolean.true.coffee"},{match:"\\b(?<!\\.|::)(false|off|no)(?!\\s*[:=][^=])\\b",name:"constant.language.boolean.false.coffee"},{match:"\\b(?<!\\.|::)null(?!\\s*[:=][^=])\\b",name:"constant.language.null.coffee"},{match:"\\b(?<!\\.|::)extends(?!\\s*[:=])\\b",name:"variable.language.coffee"},{match:"(?<!\\.)\\b(?<!\\$)(super|this|arguments)(?!\\s*[:=][^=]|\\$)\\b",name:"variable.language.$1.coffee"},{captures:{1:{name:"storage.type.class.coffee"},2:{name:"keyword.control.inheritance.coffee"},3:{name:"entity.other.inherited-class.coffee"}},match:"(?<=\\s|^|\\[|\\()(class)\\s+(extends)\\s+(@?[a-zA-Z\\$\\._][\\w\\.]*)",name:"meta.class.coffee"},{captures:{1:{name:"storage.type.class.coffee"},2:{name:"entity.name.type.class.coffee"},3:{name:"keyword.control.inheritance.coffee"},4:{name:"entity.other.inherited-class.coffee"}},match:"(?<=\\s|^|\\[|\\()(class\\b)\\s+(@?[a-zA-Z\\$_][\\w\\.]*)?(?:\\s+(extends)\\s+(@?[a-zA-Z\\$\\._][\\w\\.]*))?",name:"meta.class.coffee"},{match:"\\b(debugger|\\\\)\\b",name:"keyword.other.coffee"},{match:"\\b(Array|ArrayBuffer|Blob|Boolean|Date|document|Function|Int(8|16|32|64)Array|Math|Map|Number|Object|Proxy|RegExp|Set|String|WeakMap|window|Uint(8|16|32|64)Array|XMLHttpRequest)\\b",name:"support.class.coffee"},{match:"\\b(console)\\b",name:"entity.name.type.object.coffee"},{match:"((?<=console\\.)(debug|warn|info|log|error|time|timeEnd|assert))\\b",name:"support.function.console.coffee"},{match:"((?<=\\.)(apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|unshift|valueOf))\\b",name:"support.function.method.array.coffee"},{match:"((?<=Array\\.)(isArray))\\b",name:"support.function.static.array.coffee"},{match:"((?<=Object\\.)(create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|isnt|keys|preventExtensions|seal))\\b",name:"support.function.static.object.coffee"},{match:"((?<=Math\\.)(abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|tan|tanh|trunc))\\b",name:"support.function.static.math.coffee"},{match:"((?<=Number\\.)(is(Finite|Integer|NaN)|toInteger))\\b",name:"support.function.static.number.coffee"},{match:"(?<!\\.)\\b(module|exports|__filename|__dirname|global|process)(?!\\s*:)\\b",name:"support.variable.coffee"},{match:"\\b(Infinity|NaN|undefined)\\b",name:"constant.language.coffee"},{include:"#operators"},{include:"#method_calls"},{include:"#function_calls"},{include:"#numbers"},{include:"#objects"},{include:"#properties"},{match:"::",name:"keyword.operator.prototype.coffee"},{match:"(?<!\\$)\\b\\d+[\\w$]*",name:"invalid.illegal.identifier.coffee"},{match:";",name:"punctuation.terminator.statement.coffee"},{match:",",name:"punctuation.separator.delimiter.coffee"},{begin:"{",beginCaptures:{0:{name:"meta.brace.curly.coffee"}},end:"}",endCaptures:{0:{name:"meta.brace.curly.coffee"}},patterns:[{include:"$self"}]},{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.array.begin.bracket.square.coffee"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.array.end.bracket.square.coffee"}},patterns:[{match:"(?<!\\.)\\.{3}",name:"keyword.operator.slice.exclusive.coffee"},{match:"(?<!\\.)\\.{2}",name:"keyword.operator.slice.inclusive.coffee"},{include:"$self"}]},{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.coffee"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.coffee"}},patterns:[{include:"$self"}]},{include:"#instance_variable"},{include:"#single_quoted_string"},{include:"#double_quoted_string"}],repository:{arguments:{patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.arguments.begin.bracket.round.coffee"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.bracket.round.coffee"}},name:"meta.arguments.coffee",patterns:[{include:"$self"}]},{begin:`(?=(@|@?[\\w$]+|[=-]>|\\-\\d|\\[|{|"|'))`,end:"(?=\\s*(?<![\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\w$]))|(?=\\s*(}|\\]|\\)|#|$))",name:"meta.arguments.coffee",patterns:[{include:"$self"}]}]},double_quoted_string:{patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.coffee"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.coffee"}},name:"string.quoted.double.coffee",patterns:[{captures:{1:{name:"punctuation.definition.escape.backslash.coffee"}},match:"(\\\\)(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)",name:"constant.character.escape.backslash.coffee"},{include:"#interpolated_coffee"}]}]},embedded_comment:{patterns:[{captures:{1:{name:"punctuation.definition.comment.coffee"}},match:"(?<!\\\\)(#).*$\\n?",name:"comment.line.number-sign.coffee"}]},function_calls:{patterns:[{begin:"(@)?([\\w$]+)(?=\\()",beginCaptures:{1:{name:"variable.other.readwrite.instance.coffee"},2:{patterns:[{include:"#function_names"}]}},end:"(?<=\\))",name:"meta.function-call.coffee",patterns:[{include:"#arguments"}]},{begin:`(@)?([\\w$]+)\\s*(?=\\s+(?!(?<![\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\w$]))(?=(@?[\\w$]+|[=-]>|\\-\\d|\\[|{|"|')))`,beginCaptures:{1:{name:"variable.other.readwrite.instance.coffee"},2:{patterns:[{include:"#function_names"}]}},end:"(?=\\s*(?<![\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\w$]))|(?=\\s*(}|\\]|\\)|#|$))",name:"meta.function-call.coffee",patterns:[{include:"#arguments"}]}]},function_names:{patterns:[{match:"\\b(isNaN|isFinite|eval|uneval|parseInt|parseFloat|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|unescape|require|set(Interval|Timeout)|clear(Interval|Timeout))\\b",name:"support.function.coffee"},{match:"[a-zA-Z_$][\\w$]*",name:"entity.name.function.coffee"},{match:"\\d[\\w$]*",name:"invalid.illegal.identifier.coffee"}]},function_params:{patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.bracket.round.coffee"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.coffee"}},name:"meta.parameters.coffee",patterns:[{captures:{1:{name:"variable.parameter.function.coffee"},2:{name:"keyword.operator.splat.coffee"}},match:"([a-zA-Z_$][\\w$]*)(\\.\\.\\.)?"},{captures:{1:{name:"variable.parameter.function.readwrite.instance.coffee"},2:{name:"keyword.operator.splat.coffee"}},match:"(@(?:[a-zA-Z_$][\\w$]*)?)(\\.\\.\\.)?"},{include:"$self"}]}]},heregexp:{patterns:[{match:"\\\\[bB]|\\^|\\$",name:"keyword.control.anchor.regexp"},{match:"\\\\[1-9]\\d*",name:"keyword.other.back-reference.regexp"},{match:"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??",name:"keyword.operator.quantifier.regexp"},{match:"\\|",name:"keyword.operator.or.regexp"},{begin:"(\\()((\\?=)|(\\?!))",beginCaptures:{1:{name:"punctuation.definition.group.regexp"},3:{name:"meta.assertion.look-ahead.regexp"},4:{name:"meta.assertion.negative-look-ahead.regexp"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.group.regexp"}},name:"meta.group.assertion.regexp",patterns:[{include:"#heregexp"}]},{begin:"\\((\\?:)?",beginCaptures:{0:{name:"punctuation.definition.group.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#heregexp"}]},{begin:"(\\[)(\\^)?",beginCaptures:{1:{name:"punctuation.definition.character-class.regexp"},2:{name:"keyword.operator.negation.regexp"}},end:"(\\])",endCaptures:{1:{name:"punctuation.definition.character-class.regexp"}},name:"constant.other.character-class.set.regexp",patterns:[{captures:{1:{name:"constant.character.numeric.regexp"},2:{name:"constant.character.control.regexp"},3:{name:"constant.character.escape.backslash.regexp"},4:{name:"constant.character.numeric.regexp"},5:{name:"constant.character.control.regexp"},6:{name:"constant.character.escape.backslash.regexp"}},match:"(?:.|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))",name:"constant.other.character-class.range.regexp"},{include:"#regex-character-class"}]},{include:"#regex-character-class"},{include:"#interpolated_coffee"},{include:"#embedded_comment"}]},instance_variable:{patterns:[{match:"(@)([a-zA-Z_\\$]\\w*)?",name:"variable.other.readwrite.instance.coffee"}]},interpolated_coffee:{patterns:[{begin:"\\#\\{",captures:{0:{name:"punctuation.section.embedded.coffee"}},end:"\\}",name:"source.coffee.embedded.source",patterns:[{include:"$self"}]}]},jsx:{patterns:[{include:"#jsx-tag"},{include:"#jsx-end-tag"}]},"jsx-attribute":{patterns:[{captures:{1:{name:"entity.other.attribute-name.coffee"},2:{name:"keyword.operator.assignment.coffee"}},match:"(?:^|\\s+)([-\\w.]+)\\s*(=)"},{include:"#double_quoted_string"},{include:"#single_quoted_string"},{include:"#jsx-expression"}]},"jsx-end-tag":{patterns:[{begin:"(</)([-\\w\\.]+)",beginCaptures:{1:{name:"punctuation.definition.tag.coffee"},2:{name:"entity.name.tag.coffee"}},end:"(/?>)",name:"meta.tag.coffee"}]},"jsx-expression":{begin:"{",beginCaptures:{0:{name:"meta.brace.curly.coffee"}},end:"}",endCaptures:{0:{name:"meta.brace.curly.coffee"}},patterns:[{include:"#double_quoted_string"},{include:"$self"}]},"jsx-tag":{patterns:[{begin:"(<)([-\\w\\.]+)",beginCaptures:{1:{name:"punctuation.definition.tag.coffee"},2:{name:"entity.name.tag.coffee"}},end:"(/?>)",name:"meta.tag.coffee",patterns:[{include:"#jsx-attribute"}]}]},method_calls:{patterns:[{begin:"(?:(\\.)|(::))\\s*([\\w$]+)\\s*(?=\\()",beginCaptures:{1:{name:"punctuation.separator.method.period.coffee"},2:{name:"keyword.operator.prototype.coffee"},3:{patterns:[{include:"#method_names"}]}},end:"(?<=\\))",name:"meta.method-call.coffee",patterns:[{include:"#arguments"}]},{begin:`(?:(\\.)|(::))\\s*([\\w$]+)\\s*(?=\\s+(?!(?<![\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\w$]))(?=(@|@?[\\w$]+|[=-]>|\\-\\d|\\[|{|"|')))`,beginCaptures:{1:{name:"punctuation.separator.method.period.coffee"},2:{name:"keyword.operator.prototype.coffee"},3:{patterns:[{include:"#method_names"}]}},end:"(?=\\s*(?<![\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\w$]))|(?=\\s*(}|\\]|\\)|#|$))",name:"meta.method-call.coffee",patterns:[{include:"#arguments"}]}]},method_names:{patterns:[{match:"\\bon(Rowsinserted|Rowsdelete|Rowenter|Rowexit|Resize|Resizestart|Resizeend|Reset|Readystatechange|Mouseout|Mouseover|Mousedown|Mouseup|Mousemove|Before(cut|deactivate|unload|update|paste|print|editfocus|activate)|Blur|Scrolltop|Submit|Select|Selectstart|Selectionchange|Hover|Help|Change|Contextmenu|Controlselect|Cut|Cellchange|Clock|Close|Deactivate|Datasetchanged|Datasetcomplete|Dataavailable|Drop|Drag|Dragstart|Dragover|Dragdrop|Dragenter|Dragend|Dragleave|Dblclick|Unload|Paste|Propertychange|Error|Errorupdate|Keydown|Keyup|Keypress|Focus|Load|Activate|Afterupdate|Afterprint|Abort)\\b",name:"support.function.event-handler.coffee"},{match:"\\b(shift|showModelessDialog|showModalDialog|showHelp|scroll|scrollX|scrollByPages|scrollByLines|scrollY|scrollTo|stop|strike|sizeToContent|sidebar|signText|sort|sup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours|Month|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|Time|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|slice|savePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|concat|contextual|confirm|compile|clear|captureEvents|call|createStyleSheet|createPopup|createEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|test|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|untaint|unwatch|updateCommands|join|javaEnabled|pop|push|plugins.refresh|paddings|parse|print|prompt|preference|enableExternalCapture|exec|execScript|valueOf|UTC|find|file|fileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate|fixed|fontsize|fontcolor|forward|fromCharCode|watch|link|load|lastIndexOf|anchor|attachEvent|atob|apply|alert|abort|routeEvents|resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|releaseCapture|releaseEvents|go|get(Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear|Time|Date|TimezoneOffset|UTC(Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)|Attention|Selection|ResponseHeader|AllResponseHeaders)|moveBy|moveBelow|moveTo|moveToAbsolute|moveAbove|mergeAttributes|match|margins|btoa|big|bold|borderWidths|blink|back)\\b",name:"support.function.coffee"},{match:"\\b(acceptNode|add|addEventListener|addTextTrack|adoptNode|after|animate|append|appendChild|appendData|before|blur|canPlayType|captureStream|caretPositionFromPoint|caretRangeFromPoint|checkValidity|clear|click|cloneContents|cloneNode|cloneRange|close|closest|collapse|compareBoundaryPoints|compareDocumentPosition|comparePoint|contains|convertPointFromNode|convertQuadFromNode|convertRectFromNode|createAttribute|createAttributeNS|createCaption|createCDATASection|createComment|createContextualFragment|createDocument|createDocumentFragment|createDocumentType|createElement|createElementNS|createEntityReference|createEvent|createExpression|createHTMLDocument|createNodeIterator|createNSResolver|createProcessingInstruction|createRange|createShadowRoot|createTBody|createTextNode|createTFoot|createTHead|createTreeWalker|delete|deleteCaption|deleteCell|deleteContents|deleteData|deleteRow|deleteTFoot|deleteTHead|detach|disconnect|dispatchEvent|elementFromPoint|elementsFromPoint|enableStyleSheetsForSet|entries|evaluate|execCommand|exitFullscreen|exitPointerLock|expand|extractContents|fastSeek|firstChild|focus|forEach|get|getAll|getAnimations|getAttribute|getAttributeNames|getAttributeNode|getAttributeNodeNS|getAttributeNS|getBoundingClientRect|getBoxQuads|getClientRects|getContext|getDestinationInsertionPoints|getElementById|getElementsByClassName|getElementsByName|getElementsByTagName|getElementsByTagNameNS|getItem|getNamedItem|getSelection|getStartDate|getVideoPlaybackQuality|has|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasFeature|hasFocus|importNode|initEvent|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|insertBefore|insertCell|insertData|insertNode|insertRow|intersectsNode|isDefaultNamespace|isEqualNode|isPointInRange|isSameNode|item|key|keys|lastChild|load|lookupNamespaceURI|lookupPrefix|matches|move|moveAttribute|moveAttributeNode|moveChild|moveNamedItem|namedItem|nextNode|nextSibling|normalize|observe|open|parentNode|pause|play|postMessage|prepend|preventDefault|previousNode|previousSibling|probablySupportsContext|queryCommandEnabled|queryCommandIndeterm|queryCommandState|queryCommandSupported|queryCommandValue|querySelector|querySelectorAll|registerContentHandler|registerElement|registerProtocolHandler|releaseCapture|releaseEvents|remove|removeAttribute|removeAttributeNode|removeAttributeNS|removeChild|removeEventListener|removeItem|replace|replaceChild|replaceData|replaceWith|reportValidity|requestFullscreen|requestPointerLock|reset|scroll|scrollBy|scrollIntoView|scrollTo|seekToNextFrame|select|selectNode|selectNodeContents|set|setAttribute|setAttributeNode|setAttributeNodeNS|setAttributeNS|setCapture|setCustomValidity|setEnd|setEndAfter|setEndBefore|setItem|setNamedItem|setRangeText|setSelectionRange|setSinkId|setStart|setStartAfter|setStartBefore|slice|splitText|stepDown|stepUp|stopImmediatePropagation|stopPropagation|submit|substringData|supports|surroundContents|takeRecords|terminate|toBlob|toDataURL|toggle|toString|values|write|writeln)\\b",name:"support.function.dom.coffee"},{match:"[a-zA-Z_$][\\w$]*",name:"entity.name.function.coffee"},{match:"\\d[\\w$]*",name:"invalid.illegal.identifier.coffee"}]},numbers:{patterns:[{match:"\\b(?<!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)",name:"constant.numeric.hex.coffee"},{match:"\\b(?<!\\$)0(b|B)[01]+\\b(?!\\$)",name:"constant.numeric.binary.coffee"},{match:"\\b(?<!\\$)0(o|O)?[0-7]+\\b(?!\\$)",name:"constant.numeric.octal.coffee"},{captures:{0:{name:"constant.numeric.decimal.coffee"},1:{name:"punctuation.separator.decimal.period.coffee"},2:{name:"punctuation.separator.decimal.period.coffee"},3:{name:"punctuation.separator.decimal.period.coffee"},4:{name:"punctuation.separator.decimal.period.coffee"},5:{name:"punctuation.separator.decimal.period.coffee"},6:{name:"punctuation.separator.decimal.period.coffee"}},match:"(?<!\\$)(?:(?:\\b\\d+(\\.)\\d+[eE][+-]?\\d+\\b)|(?:\\b\\d+(\\.)[eE][+-]?\\d+\\b)|(?:\\B(\\.)\\d+[eE][+-]?\\d+\\b)|(?:\\b\\d+[eE][+-]?\\d+\\b)|(?:\\b\\d+(\\.)\\d+\\b)|(?:\\b\\d+(?=\\.{2,3}))|(?:\\b\\d+(\\.)\\B)|(?:\\B(\\.)\\d+\\b)|(?:\\b\\d+\\b(?!\\.)))(?!\\$)"}]},objects:{patterns:[{match:"[A-Z][A-Z0-9_$]*(?=\\s*\\??(\\.\\s*[a-zA-Z_$]\\w*|::))",name:"constant.other.object.coffee"},{match:"[a-zA-Z_$][\\w$]*(?=\\s*\\??(\\.\\s*[a-zA-Z_$]\\w*|::))",name:"variable.other.object.coffee"}]},operators:{patterns:[{captures:{1:{name:"variable.assignment.coffee"},2:{name:"keyword.operator.assignment.compound.coffee"}},match:"(?:([a-zA-Z$_][\\w$]*)?\\s+|(?<![\\w$]))(and=|or=)"},{captures:{1:{name:"variable.assignment.coffee"},2:{name:"keyword.operator.assignment.compound.coffee"}},match:"([a-zA-Z$_][\\w$]*)?\\s*(%=|\\+=|-=|\\*=|&&=|\\|\\|=|\\?=|(?<!\\()/=)"},{captures:{1:{name:"variable.assignment.coffee"},2:{name:"keyword.operator.assignment.compound.bitwise.coffee"}},match:"([a-zA-Z$_][\\w$]*)?\\s*(&=|\\^=|<<=|>>=|>>>=|\\|=)"},{match:"<<|>>>|>>",name:"keyword.operator.bitwise.shift.coffee"},{match:"!=|<=|>=|==|<|>",name:"keyword.operator.comparison.coffee"},{match:"&&|!|\\|\\|",name:"keyword.operator.logical.coffee"},{match:"&|\\||\\^|~",name:"keyword.operator.bitwise.coffee"},{captures:{1:{name:"variable.assignment.coffee"},2:{name:"keyword.operator.assignment.coffee"}},match:"([a-zA-Z$_][\\w$]*)?\\s*(=|:(?!:))(?![>=])"},{match:"--",name:"keyword.operator.decrement.coffee"},{match:"\\+\\+",name:"keyword.operator.increment.coffee"},{match:"\\.\\.\\.",name:"keyword.operator.splat.coffee"},{match:"\\?",name:"keyword.operator.existential.coffee"},{match:"%|\\*|/|-|\\+",name:"keyword.operator.coffee"},{captures:{1:{name:"keyword.operator.logical.coffee"},2:{name:"keyword.operator.comparison.coffee"}},match:"\\b(?<![\\.\\$])(?:(and|or|not)|(is|isnt))(?!\\s*:)\\b"}]},properties:{patterns:[{captures:{1:{name:"punctuation.separator.property.period.coffee"},2:{name:"keyword.operator.prototype.coffee"},3:{name:"constant.other.object.property.coffee"}},match:"(?:(\\.)|(::))\\s*([A-Z][A-Z0-9_$]*\\b\\$*)(?=\\s*\\??(\\.\\s*[a-zA-Z_$]\\w*|::))"},{captures:{1:{name:"punctuation.separator.property.period.coffee"},2:{name:"keyword.operator.prototype.coffee"},3:{name:"variable.other.object.property.coffee"}},match:"(?:(\\.)|(::))\\s*(\\$*[a-zA-Z_$][\\w$]*)(?=\\s*\\??(\\.\\s*[a-zA-Z_$]\\w*|::))"},{captures:{1:{name:"punctuation.separator.property.period.coffee"},2:{name:"keyword.operator.prototype.coffee"},3:{name:"constant.other.property.coffee"}},match:"(?:(\\.)|(::))\\s*([A-Z][A-Z0-9_$]*\\b\\$*)"},{captures:{1:{name:"punctuation.separator.property.period.coffee"},2:{name:"keyword.operator.prototype.coffee"},3:{name:"variable.other.property.coffee"}},match:"(?:(\\.)|(::))\\s*(\\$*[a-zA-Z_$][\\w$]*)"},{captures:{1:{name:"punctuation.separator.property.period.coffee"},2:{name:"keyword.operator.prototype.coffee"},3:{name:"invalid.illegal.identifier.coffee"}},match:"(?:(\\.)|(::))\\s*(\\d[\\w$]*)"}]},"regex-character-class":{patterns:[{match:"\\\\[wWsSdD]|\\.",name:"constant.character.character-class.regexp"},{match:"\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})",name:"constant.character.numeric.regexp"},{match:"\\\\c[A-Z]",name:"constant.character.control.regexp"},{match:"\\\\.",name:"constant.character.escape.backslash.regexp"}]},single_quoted_string:{patterns:[{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.coffee"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.coffee"}},name:"string.quoted.single.coffee",patterns:[{captures:{1:{name:"punctuation.definition.escape.backslash.coffee"}},match:"(\\\\)(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)",name:"constant.character.escape.backslash.coffee"}]}]}},scopeName:"source.coffee",embeddedLangs:["javascript"],aliases:["coffeescript"]});var o=[...e,y];const h=Object.freeze({displayName:"Pug",name:"pug",patterns:[{comment:"Doctype declaration.",match:"^(!!!|doctype)(\\s*[a-zA-Z0-9-_]+)?",name:"meta.tag.sgml.doctype.html"},{begin:"^(\\s*)//-",comment:"Unbuffered (pug-only) comments.",end:"^(?!(\\1\\s)|\\s*$)",name:"comment.unbuffered.block.pug"},{begin:"^(\\s*)//",comment:"Buffered (html) comments.",end:"^(?!(\\1\\s)|\\s*$)",name:"string.comment.buffered.block.pug",patterns:[{captures:{1:{name:"invalid.illegal.comment.comment.block.pug"}},comment:"Buffered comments inside buffered comments will generate invalid html.",match:"^\\s*(//)(?!-)",name:"string.comment.buffered.block.pug"}]},{begin:"<!--",end:"--\\s*>",name:"comment.unbuffered.block.pug",patterns:[{match:"--",name:"invalid.illegal.comment.comment.block.pug"}]},{begin:"^(\\s*)-$",comment:"Unbuffered code block.",end:"^(?!(\\1\\s)|\\s*$)",name:"source.js",patterns:[{include:"source.js"}]},{begin:"^(\\s*)(script)((\\.$)|(?=[^\\n]*((text|application)/javascript|module).*\\.$))",beginCaptures:{2:{name:"entity.name.tag.pug"}},comment:"Script tag with JavaScript code.",end:"^(?!(\\1\\s)|\\s*$)",name:"meta.tag.other",patterns:[{begin:"\\G(?=\\()",end:"$",patterns:[{include:"#tag_attributes"}]},{begin:"\\G(?=[.#])",end:"$",patterns:[{include:"#complete_tag"}]},{include:"source.js"}]},{begin:"^(\\s*)(style)((\\.$)|(?=[.#(].*\\.$))",beginCaptures:{2:{name:"entity.name.tag.pug"}},comment:"Style tag with CSS code.",end:"^(?!(\\1\\s)|\\s*$)",name:"meta.tag.other",patterns:[{begin:"\\G(?=\\()",end:"$",patterns:[{include:"#tag_attributes"}]},{begin:"\\G(?=[.#])",end:"$",patterns:[{include:"#complete_tag"}]},{include:"source.css"}]},{begin:"^(\\s*):(sass)(?=\\(|$)",beginCaptures:{2:{name:"constant.language.name.sass.filter.pug"}},end:"^(?!(\\1\\s)|\\s*$)",name:"source.sass.filter.pug",patterns:[{include:"#tag_attributes"},{include:"source.sass"}]},{begin:"^(\\s*):(scss)(?=\\(|$)",beginCaptures:{2:{name:"constant.language.name.scss.filter.pug"}},end:"^(?!(\\1\\s)|\\s*$)",name:"source.css.scss.filter.pug",patterns:[{include:"#tag_attributes"},{include:"source.css.scss"}]},{begin:"^(\\s*):(less)(?=\\(|$)",beginCaptures:{2:{name:"constant.language.name.less.filter.pug"}},end:"^(?!(\\1\\s)|\\s*$)",name:"source.less.filter.pug",patterns:[{include:"#tag_attributes"},{include:"source.less"}]},{begin:"^(\\s*):(stylus)(?=\\(|$)",beginCaptures:{2:{name:"constant.language.name.stylus.filter.pug"}},end:"^(?!(\\1\\s)|\\s*$)",patterns:[{include:"#tag_attributes"},{include:"source.stylus"}]},{begin:"^(\\s*):(coffee(-?script)?)(?=\\(|$)",beginCaptures:{2:{name:"constant.language.name.coffeescript.filter.pug"}},end:"^(?!(\\1\\s)|\\s*$)",name:"source.coffeescript.filter.pug",patterns:[{include:"#tag_attributes"},{include:"source.coffee"}]},{begin:"^(\\s*):(uglify-js)(?=\\(|$)",beginCaptures:{2:{name:"constant.language.name.js.filter.pug"}},end:"^(?!(\\1\\s)|\\s*$)",name:"source.js.filter.pug",patterns:[{include:"#tag_attributes"},{include:"source.js"}]},{begin:"^(\\s*)((:(?=.))|(:$))",beginCaptures:{4:{name:"invalid.illegal.empty.generic.filter.pug"}},comment:"Generic Pug filter.",end:"^(?!(\\1\\s)|\\s*$)",patterns:[{begin:"\\G(?<=:)(?=.)",end:"$",name:"name.generic.filter.pug",patterns:[{match:"\\G\\(",name:"invalid.illegal.name.generic.filter.pug"},{match:"[\\w-]",name:"constant.language.name.generic.filter.pug"},{include:"#tag_attributes"},{match:"\\W",name:"invalid.illegal.name.generic.filter.pug"}]}]},{begin:`^(\\s*)(?:(?=\\.$)|(?:(?=[\\w.#].*?\\.$)(?=(?:(?:(?:(?:(?:#[\\w-]+)|(?:\\.[\\w-]+))|(?:(?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))(?:(?:#[\\w-]+)|(?:\\.[\\w-]+)|(?:\\((?:[^()\\'\\"]*(?:(?:\\'(?:[^\\']|(?:(?<!\\\\)\\\\\\'))*\\')|(?:\\"(?:[^\\"]|(?:(?<!\\\\)\\\\\\"))*\\")))*[^()]*\\))*)*)(?:(?:(?::\\s+)|(?<=\\)))(?:(?:(?:(?:#[\\w-]+)|(?:\\.[\\w-]+))|(?:(?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))(?:(?:#[\\w-]+)|(?:\\.[\\w-]+)|(?:\\((?:[^()\\'\\"]*(?:(?:\\'(?:[^\\']|(?:(?<!\\\\)\\\\\\'))*\\')|(?:\\"(?:[^\\"]|(?:(?<!\\\\)\\\\\\"))*\\")))*[^()]*\\))*)*))*)\\.$)(?:(?:(#[\\w-]+)|(\\.[\\w-]+))|((?:[#!]\\{[^}]*\\})|(?:\\w(?:(?:[\\w:-]+[\\w-])|(?:[\\w-]*)))))))`,beginCaptures:{2:{name:"meta.selector.css entity.other.attribute-name.id.css.pug"},3:{name:"meta.selector.css entity.other.attribute-name.class.css.pug"},4:{name:"meta.tag.other entity.name.tag.pug"}},comment:"Generated from dot_block_tag.py",end:"^(?!(\\1\\s)|\\s*$)",patterns:[{match:"\\.$",name:"storage.type.function.pug.dot-block-dot"},{include:"#tag_attributes"},{include:"#complete_tag"},{begin:"^(?=.)",end:"$",name:"text.block.pug",patterns:[{include:"#inline_pug"},{include:"#embedded_html"},{include:"#html_entity"},{include:"#interpolated_value"},{include:"#interpolated_error"}]}]},{begin:"^\\s*",comment:"All constructs that generally span a single line starting with any number of white-spaces.",end:"$",patterns:[{include:"#inline_pug"},{include:"#blocks_and_includes"},{include:"#unbuffered_code"},{include:"#mixin_definition"},{include:"#mixin_call"},{include:"#flow_control"},{include:"#flow_control_each"},{include:"#case_conds"},{begin:"\\|",comment:"Tag pipe text line.",end:"$",name:"text.block.pipe.pug",patterns:[{include:"#inline_pug"},{include:"#embedded_html"},{include:"#html_entity"},{include:"#interpolated_value"},{include:"#interpolated_error"}]},{include:"#printed_expression"},{begin:"\\G(?=(#[^\\{\\w-])|[^\\w.#])",comment:"Line starting with characters incompatible with tag name/id/class is standalone text.",end:"$",patterns:[{begin:"</?(?=[!#])",end:">|$",patterns:[{include:"#inline_pug"},{include:"#interpolated_value"},{include:"#interpolated_error"}]},{include:"#inline_pug"},{include:"#embedded_html"},{include:"#html_entity"},{include:"#interpolated_value"},{include:"#interpolated_error"}]},{include:"#complete_tag"}]}],repository:{babel_parens:{begin:"\\(",end:"\\)|(({\\s*)?$)",patterns:[{include:"#babel_parens"},{include:"source.js"}]},blocks_and_includes:{captures:{1:{name:"storage.type.import.include.pug"},4:{name:"variable.control.import.include.pug"}},comment:"Template blocks and includes.",match:"(extends|include|yield|append|prepend|block( (append|prepend))?)\\s+(.*)$",name:"meta.first-class.pug"},case_conds:{begin:"(default|when)((\\s+|(?=:))|$)",captures:{1:{name:"storage.type.function.pug"}},comment:"Pug case conditionals.",end:"$",name:"meta.control.flow.pug",patterns:[{begin:"\\G(?!:)",end:"(?=:\\s+)|$",name:"js.embedded.control.flow.pug",patterns:[{include:"#case_when_paren"},{include:"source.js"}]},{begin:":\\s+",end:"$",name:"tag.case.control.flow.pug",patterns:[{include:"#complete_tag"}]}]},case_when_paren:{begin:"\\(",end:"\\)",name:"js.when.control.flow.pug",patterns:[{include:"#case_when_paren"},{match:":",name:"invalid.illegal.name.tag.pug"},{include:"source.js"}]},complete_tag:{begin:"(?=[\\w.#])|(:\\s*)",end:"(\\.?$)|(?=:.)",endCaptures:{1:{name:"storage.type.function.pug.dot-block-dot"}},patterns:[{include:"#blocks_and_includes"},{include:"#unbuffered_code"},{include:"#mixin_call"},{include:"#flow_control"},{include:"#flow_control_each"},{match:"(?<=:)\\w.*$",name:"invalid.illegal.name.tag.pug"},{include:"#tag_name"},{include:"#tag_id"},{include:"#tag_classes"},{include:"#tag_attributes"},{include:"#tag_mixin_attributes"},{captures:{2:{name:"invalid.illegal.end.tag.pug"},4:{name:"invalid.illegal.end.tag.pug"}},match:"((\\.)\\s+$)|((:)\\s*$)"},{include:"#printed_expression"},{include:"#tag_text"}]},embedded_html:{begin:"(?=<[^>]*>)",end:"$|(?=>)",name:"html",patterns:[{include:"text.html.basic"},{include:"#interpolated_value"},{include:"#interpolated_error"}]},flow_control:{begin:"(for|if|else if|else|until|while|unless|case)(\\s+|$)",captures:{1:{name:"storage.type.function.pug"}},comment:"Pug control flow.",end:"$",name:"meta.control.flow.pug",patterns:[{begin:"",end:"$",name:"js.embedded.control.flow.pug",patterns:[{include:"source.js"}]}]},flow_control_each:{begin:"(each)(\\s+|$)",captures:{1:{name:"storage.type.function.pug"}},end:"$",name:"meta.control.flow.pug.each",patterns:[{match:"([\\w$_]+)(?:\\s*,\\s*([\\w$_]+))?",name:"variable.other.pug.each-var"},{begin:"",end:"$",name:"js.embedded.control.flow.pug",patterns:[{include:"source.js"}]}]},html_entity:{patterns:[{match:"(&)([a-zA-Z0-9]+|#\\d+|#x[0-9a-fA-F]+)(;)",name:"constant.character.entity.html.text.pug"},{match:"[<>&]",name:"invalid.illegal.html_entity.text.pug"}]},inline_pug:{begin:"(?<!\\\\)(#\\[)",captures:{1:{name:"entity.name.function.pug"},2:{name:"entity.name.function.pug"}},end:"(\\])",name:"inline.pug",patterns:[{include:"#inline_pug"},{include:"#mixin_call"},{begin:"(?<!\\])(?=[\\w.#])|(:\\s*)",end:"(?=\\]|(:.)|=|\\s)",name:"tag.inline.pug",patterns:[{include:"#tag_name"},{include:"#tag_id"},{include:"#tag_classes"},{include:"#tag_attributes"},{include:"#tag_mixin_attributes"},{include:"#inline_pug"},{match:"\\[",name:"invalid.illegal.tag.pug"}]},{include:"#unbuffered_code"},{include:"#printed_expression"},{match:"\\[",name:"invalid.illegal.tag.pug"},{include:"#inline_pug_text"}]},inline_pug_text:{begin:"",end:"(?=\\])",patterns:[{begin:"\\[",end:"\\]",patterns:[{include:"#inline_pug_text"}]},{include:"#inline_pug"},{include:"#embedded_html"},{include:"#html_entity"},{include:"#interpolated_value"},{include:"#interpolated_error"}]},interpolated_error:{match:"(?<!\\\\)[#!]\\{(?=[^}]*$)",name:"invalid.illegal.tag.pug"},interpolated_value:{begin:"(?<!\\\\)[#!]\\{(?=.*?\\})",end:"\\}",name:"string.interpolated.pug",patterns:[{match:"{",name:"invalid.illegal.tag.pug"},{include:"source.js"}]},js_braces:{begin:"\\{",end:"\\}",patterns:[{include:"#js_braces"},{include:"source.js"}]},js_brackets:{begin:"\\[",end:"\\]",patterns:[{include:"#js_brackets"},{include:"source.js"}]},js_parens:{begin:"\\(",end:"\\)",patterns:[{include:"#js_parens"},{include:"source.js"}]},mixin_call:{begin:"((?:mixin\\s+)|\\+)([\\w-]+)",beginCaptures:{1:{name:"storage.type.function.pug"},2:{name:"meta.tag.other entity.name.function.pug"}},end:"(?!\\()|$",patterns:[{begin:"(?<!\\))\\(",end:"\\)",name:"args.mixin.pug",patterns:[{include:"#js_parens"},{captures:{1:{name:"meta.tag.other entity.other.attribute-name.tag.pug"}},match:"([^\\s(),=/]+)\\s*=\\s*"},{include:"source.js"}]},{include:"#tag_attributes"}]},mixin_definition:{captures:{1:{name:"storage.type.function.pug"},2:{name:"meta.tag.other entity.name.function.pug"},3:{name:"punctuation.definition.parameters.begin.js"},4:{name:"variable.parameter.function.js"},5:{name:"punctuation.definition.parameters.begin.js"}},match:"(mixin\\s+)([\\w-]+)(?:(\\()\\s*((?:[a-zA-Z_]\\w*\\s*)(?:,\\s*[a-zA-Z_]\\w*\\s*)*)(\\)))?$"},printed_expression:{begin:"(!?\\=)\\s*",captures:{1:{name:"constant"}},end:"(?=\\])|$",name:"source.js",patterns:[{include:"#js_brackets"},{include:"source.js"}]},tag_attribute_name:{captures:{1:{name:"entity.other.attribute-name.tag.pug"}},match:"([^\\s(),=/!]+)\\s*"},tag_attribute_name_paren:{begin:"\\(\\s*",end:"\\)",name:"entity.other.attribute-name.tag.pug",patterns:[{include:"#tag_attribute_name_paren"},{include:"#tag_attribute_name"}]},tag_attributes:{begin:"(\\(\\s*)",captures:{1:{name:"constant.name.attribute.tag.pug"}},end:"(\\))",name:"meta.tag.other",patterns:[{include:"#tag_attribute_name_paren"},{include:"#tag_attribute_name"},{match:"!(?!=)",name:"invalid.illegal.tag.pug"},{begin:"=\\s*",end:"$|(?=,|(?:\\s+[^!%&*\\-+~|<>?/])|\\))",name:"attribute_value",patterns:[{include:"#js_parens"},{include:"#js_brackets"},{include:"#js_braces"},{include:"source.js"}]},{begin:"(?<=[%&*\\-+~|<>:?/])\\s+",end:"$|(?=,|(?:\\s+[^!%&*\\-+~|<>?/])|\\))",name:"attribute_value2",patterns:[{include:"#js_parens"},{include:"#js_brackets"},{include:"#js_braces"},{include:"source.js"}]}]},tag_classes:{captures:{1:{name:"invalid.illegal.tag.pug"}},match:"\\.([^\\w-])?[\\w-]*",name:"meta.selector.css entity.other.attribute-name.class.css.pug"},tag_id:{match:"#[\\w-]+",name:"meta.selector.css entity.other.attribute-name.id.css.pug"},tag_mixin_attributes:{begin:"(&attributes\\()",captures:{1:{name:"entity.name.function.pug"}},end:"(\\))",name:"meta.tag.other",patterns:[{match:"attributes(?=\\))",name:"storage.type.keyword.pug"},{include:"source.js"}]},tag_name:{begin:"([#!]\\{(?=.*?\\}))|(\\w(([\\w:-]+[\\w-])|([\\w-]*)))",end:"(\\G(?<!\\5[^\\w-]))|\\}|$",name:"meta.tag.other entity.name.tag.pug",patterns:[{begin:"\\G(?<=\\{)",end:"(?=\\})",name:"meta.tag.other entity.name.tag.pug",patterns:[{match:"{",name:"invalid.illegal.tag.pug"},{include:"source.js"}]}]},tag_text:{begin:"(?=.)",end:"$",patterns:[{include:"#inline_pug"},{include:"#embedded_html"},{include:"#html_entity"},{include:"#interpolated_value"},{include:"#interpolated_error"}]},unbuffered_code:{begin:"(-|((\\w+)\\s+=))",beginCaptures:{3:{name:"variable.parameter.javascript.embedded.pug"}},comment:"name = function() {}",end:"(?=\\])|(({\\s*)?$)",name:"source.js",patterns:[{include:"#js_brackets"},{include:"#babel_parens"},{include:"source.js"}]}},scopeName:"text.pug",embeddedLangs:["javascript","css","sass","scss","stylus","coffee","html"],aliases:["jade"]});var _=[...e,...t,...s,...i,...r,...o,...n,h];const x=Object.freeze({displayName:"Less",name:"less",patterns:[{include:"#comment-block"},{include:"#less-namespace-accessors"},{include:"#less-extend"},{include:"#at-rules"},{include:"#less-variable-assignment"},{include:"#property-list"},{include:"#selector"}],repository:{"angle-type":{captures:{1:{name:"keyword.other.unit.less"}},match:"(?i:[-+]?(?:(?:\\d*\\.\\d+(?:[eE](?:[-+]?\\d+))*)|(?:[-+]?\\d+))(deg|grad|rad|turn))\\b",name:"constant.numeric.less"},"arbitrary-repetition":{captures:{1:{name:"punctuation.definition.arbitrary-repetition.less"}},match:"\\s*(?:(,))"},"at-charset":{begin:"\\s*((@)charset\\b)\\s*",beginCaptures:{1:{name:"keyword.control.at-rule.charset.less"},2:{name:"punctuation.definition.keyword.less"}},end:"\\s*((?=;|$))",name:"meta.at-rule.charset.less",patterns:[{include:"#literal-string"}]},"at-container":{begin:"(?=\\s*@container)",end:"\\s*(\\})",endCaptures:{1:{name:"punctuation.definition.block.end.less"}},patterns:[{begin:"((@)container)",beginCaptures:{1:{name:"keyword.control.at-rule.container.less"},2:{name:"punctuation.definition.keyword.less"},3:{name:"support.constant.container.less"}},end:"(?=\\{)",name:"meta.at-rule.container.less",patterns:[{begin:"\\s*(?=[^{;])",end:"\\s*(?=[{;])",patterns:[{match:"\\b(not|and|or)\\b",name:"keyword.operator.comparison.less"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.at-rule.container-query.less",patterns:[{captures:{1:{name:"support.type.property-name.less"}},match:"\\b(aspect-ratio|block-size|height|inline-size|orientation|width)\\b",name:"support.constant.size-feature.less"},{match:"((<|>)=?)|=|\\/",name:"keyword.operator.comparison.less"},{match:":",name:"punctuation.separator.key-value.less"},{match:"portrait|landscape",name:"support.constant.property-value.less"},{include:"#numeric-values"},{match:"\\/",name:"keyword.operator.arithmetic.less"},{include:"#var-function"},{include:"#less-variables"},{include:"#less-variable-interpolation"}]},{include:"#style-function"},{match:"--|(?:-?(?:(?:[a-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R]))))(?:(?:[-\\da-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R])))*",name:"variable.parameter.container-name.css"},{include:"#arbitrary-repetition"},{include:"#less-variables"}]}]},{begin:"\\s*(\\{)",beginCaptures:{1:{name:"punctuation.definition.block.begin.less"}},end:"(?=\\})",patterns:[{include:"#rule-list-body"},{include:"$self"}]}]},"at-counter-style":{begin:"\\s*((@)counter-style\\b)\\s+(?:(?i:\\b(decimal|none)\\b)|(-?(?:[[_a-zA-Z][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*))\\s*(?=\\{|$)",beginCaptures:{1:{name:"keyword.control.at-rule.counter-style.less"},2:{name:"punctuation.definition.keyword.less"},3:{name:"invalid.illegal.counter-style-name.less"},4:{name:"entity.other.counter-style-name.css"}},end:"\\s*(\\})",endCaptures:{1:{name:"punctuation.definition.block.begin.less"}},name:"meta.at-rule.counter-style.less",patterns:[{include:"#comment-block"},{include:"#rule-list"}]},"at-custom-media":{begin:"(?=\\s*@custom-media\\b)",end:"\\s*(?=;)",name:"meta.at-rule.custom-media.less",patterns:[{captures:{0:{name:"punctuation.section.property-list.less"}},match:"\\s*;"},{captures:{1:{name:"keyword.control.at-rule.custom-media.less"},2:{name:"punctuation.definition.keyword.less"},3:{name:"support.constant.custom-media.less"}},match:"\\s*((@)custom-media)(?=.*?)"},{include:"#media-query-list"}]},"at-font-face":{begin:"\\s*((@)font-face)\\s*(?=\\{|$)",beginCaptures:{1:{name:"keyword.control.at-rule.font-face.less"},2:{name:"punctuation.definition.keyword.less"}},end:"\\s*(\\})",endCaptures:{1:{name:"punctuation.definition.block.end.less"}},name:"meta.at-rule.font-face.less",patterns:[{include:"#comment-block"},{include:"#rule-list"}]},"at-import":{begin:"\\s*((@)import\\b)\\s*",beginCaptures:{1:{name:"keyword.control.at-rule.import.less"},2:{name:"punctuation.definition.keyword.less"}},end:"\\;",endCaptures:{0:{name:"punctuation.terminator.rule.less"}},name:"meta.at-rule.import.less",patterns:[{include:"#url-function"},{include:"#less-variables"},{begin:`(?<=(["'])|(["']\\)))\\s*`,end:"\\s*(?=\\;)",patterns:[{include:"#media-query"}]},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.group.less",patterns:[{match:"reference|inline|less|css|once|multiple|optional",name:"constant.language.import-directive.less"},{include:"#comma-delimiter"}]},{include:"#literal-string"}]},"at-keyframes":{begin:"\\s*((@)keyframes)(?=.*?\\{)",beginCaptures:{1:{name:"keyword.control.at-rule.keyframe.less"},2:{name:"punctuation.definition.keyword.less"},4:{name:"support.constant.keyframe.less"}},end:"\\s*(\\})",endCaptures:{1:{name:"punctuation.definition.block.end.less"}},patterns:[{begin:"\\s*(\\{)",beginCaptures:{1:{name:"punctuation.definition.block.begin.less"}},end:"(?=\\})",patterns:[{captures:{1:{name:"keyword.other.keyframe-selector.less"},2:{name:"constant.numeric.less"},3:{name:"keyword.other.unit.less"}},match:"\\s*(?:(from|to)|((?:\\.\\d+|\\d+(?:\\.\\d*)?)(%)))\\s*,?\\s*"},{include:"$self"}]},{begin:"\\s*(?=[^{;])",end:"\\s*(?=\\{)",name:"meta.at-rule.keyframe.less",patterns:[{include:"#keyframe-name"},{include:"#arbitrary-repetition"}]}]},"at-media":{begin:"(?=\\s*@media\\b)",end:"\\s*(\\})",endCaptures:{1:{name:"punctuation.definition.block.end.less"}},patterns:[{begin:"\\s*((@)media)",beginCaptures:{1:{name:"keyword.control.at-rule.media.less"},2:{name:"punctuation.definition.keyword.less"},3:{name:"support.constant.media.less"}},end:"\\s*(?=\\{)",name:"meta.at-rule.media.less",patterns:[{include:"#media-query-list"}]},{begin:"\\s*(\\{)",beginCaptures:{1:{name:"punctuation.definition.block.begin.less"}},end:"(?=\\})",patterns:[{include:"#rule-list-body"},{include:"$self"}]}]},"at-namespace":{begin:"\\s*((@)namespace)\\s+",beginCaptures:{1:{name:"keyword.control.at-rule.namespace.less"},2:{name:"punctuation.definition.keyword.less"}},end:"\\;",endCaptures:{0:{name:"punctuation.terminator.rule.less"}},name:"meta.at-rule.namespace.less",patterns:[{include:"#url-function"},{include:"#literal-string"},{match:"(-?(?:[[_a-zA-Z][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",name:"entity.name.constant.namespace-prefix.less"}]},"at-page":{captures:{1:{name:"keyword.control.at-rule.page.less"},2:{name:"punctuation.definition.keyword.less"},3:{name:"punctuation.definition.entity.less"},4:{name:"entity.other.attribute-name.pseudo-class.less"}},match:"\\s*((@)page)\\s*(?:(:)(first|left|right))?\\s*(?=\\{|$)",name:"meta.at-rule.page.less",patterns:[{include:"#comment-block"},{include:"#rule-list"}]},"at-rules":{patterns:[{include:"#at-charset"},{include:"#at-container"},{include:"#at-counter-style"},{include:"#at-custom-media"},{include:"#at-font-face"},{include:"#at-media"},{include:"#at-import"},{include:"#at-keyframes"},{include:"#at-namespace"},{include:"#at-page"},{include:"#at-supports"},{include:"#at-viewport"}]},"at-supports":{begin:"(?=\\s*@supports\\b)",end:"(?=\\s*)(\\})",endCaptures:{1:{name:"punctuation.definition.block.end.less"}},patterns:[{begin:"\\s*((@)supports)",beginCaptures:{1:{name:"keyword.control.at-rule.supports.less"},2:{name:"punctuation.definition.keyword.less"},3:{name:"support.constant.supports.less"}},end:"\\s*(?=\\{)",name:"meta.at-rule.supports.less",patterns:[{include:"#at-supports-operators"},{include:"#at-supports-parens"}]},{begin:"\\s*(\\{)",beginCaptures:{1:{name:"punctuation.section.property-list.begin.less"}},end:"(?=\\})",patterns:[{include:"#rule-list-body"},{include:"$self"}]}]},"at-supports-operators":{match:"\\b(?:and|or|not)\\b",name:"keyword.operator.logic.less"},"at-supports-parens":{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.group.less",patterns:[{include:"#at-supports-operators"},{include:"#at-supports-parens"},{include:"#rule-list-body"}]},"attr-function":{begin:"\\b(attr)(?=\\()",beginCaptures:{1:{name:"support.function.filter.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#qualified-name"},{include:"#literal-string"},{begin:"(-?(?:[[_a-zA-Z][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",end:"(?=\\))",name:"entity.other.attribute-name.less",patterns:[{match:"\\b((?i:em|ex|ch|rem)|(?i:vw|vh|vmin|vmax)|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:s|ms)|(?i:Hz|kHz)|(?i:dpi|dpcm|dppx))\\b",name:"keyword.other.unit.less"},{include:"#comma-delimiter"},{include:"#property-value-constants"},{include:"#numeric-values"}]},{include:"#color-values"}]}]},"builtin-functions":{patterns:[{include:"#attr-function"},{include:"#calc-function"},{include:"#color-functions"},{include:"#counter-functions"},{include:"#cross-fade-function"},{include:"#cubic-bezier-function"},{include:"#filter-function"},{include:"#fit-content-function"},{include:"#format-function"},{include:"#gradient-functions"},{include:"#grid-repeat-function"},{include:"#image-function"},{include:"#less-functions"},{include:"#local-function"},{include:"#minmax-function"},{include:"#regexp-function"},{include:"#shape-functions"},{include:"#steps-function"},{include:"#symbols-function"},{include:"#transform-functions"},{include:"#url-function"},{include:"#var-function"}]},"calc-function":{begin:"\\b(calc)(?=\\()",beginCaptures:{1:{name:"support.function.calc.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-strings"},{include:"#var-function"},{include:"#calc-function"},{include:"#attr-function"},{include:"#less-math"},{include:"#relative-color"}]}]},"color-adjuster-operators":{match:"[\\-\\+*](?=\\s+)",name:"keyword.operator.less"},"color-functions":{patterns:[{begin:"\\b(rgba?)(?=\\()",beginCaptures:{1:{name:"support.function.color.less"}},comment:"rgb(), rgba()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-strings"},{include:"#less-variables"},{include:"#var-function"},{include:"#comma-delimiter"},{include:"#value-separator"},{include:"#percentage-type"},{include:"#number-type"}]}]},{begin:"\\b(hsla|hsl|hwb|oklab|oklch|lab|lch)(?=\\()",beginCaptures:{1:{name:"support.function.color.less"}},comment:"hsla, hsl, hwb, oklab, oklch, lab, lch",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#color-values"},{include:"#less-strings"},{include:"#less-variables"},{include:"#var-function"},{include:"#comma-delimiter"},{include:"#angle-type"},{include:"#percentage-type"},{include:"#number-type"},{include:"#calc-function"},{include:"#value-separator"}]}]},{begin:"\\b(light-dark)(?=\\()",beginCaptures:{1:{name:"support.function.color.less"}},comment:"light-dark()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#color-values"},{include:"#comma-delimiter"}]}]},{include:"#less-color-functions"}]},"color-values":{patterns:[{include:"#color-functions"},{include:"#less-functions"},{include:"#less-variables"},{include:"#var-function"},{match:"\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\b",name:"support.constant.color.w3c-standard-color-name.less"},{match:"\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\b",name:"support.constant.color.w3c-extended-color-keywords.less"},{match:"\\b((?i)currentColor|transparent)\\b",name:"support.constant.color.w3c-special-color-keyword.less"},{captures:{1:{name:"punctuation.definition.constant.less"}},match:"(#)(\\h{3}|\\h{4}|\\h{6}|\\h{8})\\b",name:"constant.other.color.rgb-value.less"},{include:"#relative-color"}]},"comma-delimiter":{captures:{1:{name:"punctuation.separator.less"}},match:"\\s*(,)\\s*"},"comment-block":{patterns:[{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.less"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.less"}},name:"comment.block.less"},{include:"#comment-line"}]},"comment-line":{captures:{1:{name:"punctuation.definition.comment.less"}},match:"(//).*$\\n?",name:"comment.line.double-slash.less"},"counter-functions":{patterns:[{begin:"\\b(counter)(?=\\()",beginCaptures:{1:{name:"support.function.filter.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-strings"},{include:"#less-variables"},{include:"#var-function"},{match:"(?:--(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))+|-?(?:[[_a-zA-Z][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",name:"entity.other.counter-name.less"},{begin:"(?=,)",end:"(?=\\))",patterns:[{include:"#comma-delimiter"},{match:"\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\b",name:"support.constant.property-value.counter-style.less"}]}]}]},{begin:"\\b(counters)(?=\\()",beginCaptures:{1:{name:"support.function.filter.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{match:"(-?(?:[[_a-zA-Z][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",name:"entity.other.counter-name.less string.unquoted.less"},{begin:"(?=,)",end:"(?=\\))",patterns:[{include:"#less-strings"},{include:"#less-variables"},{include:"#var-function"},{include:"#literal-string"},{include:"#comma-delimiter"},{match:"\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\b",name:"support.constant.property-value.counter-style.less"}]}]}]}]},"cross-fade-function":{patterns:[{begin:"\\b(cross-fade)(?=\\()",beginCaptures:{1:{name:"support.function.image.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#comma-delimiter"},{include:"#percentage-type"},{include:"#color-values"},{include:"#image-type"},{include:"#literal-string"},{include:"#unquoted-string"}]}]}]},"cubic-bezier-function":{begin:"\\b(cubic-bezier)(\\()",beginCaptures:{1:{name:"support.function.timing.less"},2:{name:"punctuation.definition.group.begin.less"}},contentName:"meta.group.less",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{include:"#less-functions"},{include:"#calc-function"},{include:"#less-variables"},{include:"#var-function"},{include:"#comma-delimiter"},{include:"#number-type"}]},"custom-property-name":{captures:{1:{name:"punctuation.definition.custom-property.less"},2:{name:"support.type.custom-property.name.less"}},match:"\\s*(--)((?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))+)",name:"support.type.custom-property.less"},dimensions:{patterns:[{include:"#angle-type"},{include:"#frequency-type"},{include:"#time-type"},{include:"#percentage-type"},{include:"#length-type"}]},"filter-function":{begin:"\\b(filter)(?=\\()",beginCaptures:{1:{name:"support.function.filter.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",name:"meta.group.less",patterns:[{include:"#comma-delimiter"},{include:"#image-type"},{include:"#literal-string"},{include:"#filter-functions"}]}]},"filter-functions":{patterns:[{include:"#less-functions"},{begin:"\\b(blur)(?=\\()",beginCaptures:{1:{name:"support.function.filter.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#length-type"}]}]},{begin:"\\b(brightness|contrast|grayscale|invert|opacity|saturate|sepia)(?=\\()",beginCaptures:{1:{name:"support.function.filter.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#percentage-type"},{include:"#number-type"},{include:"#less-functions"}]}]},{begin:"\\b(drop-shadow)(?=\\()",beginCaptures:{1:{name:"support.function.filter.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#length-type"},{include:"#color-values"}]}]},{begin:"\\b(hue-rotate)(?=\\()",beginCaptures:{1:{name:"support.function.filter.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#angle-type"}]}]}]},"fit-content-function":{begin:"\\b(fit-content)(?=\\()",beginCaptures:{1:{name:"support.function.grid.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#var-function"},{include:"#calc-function"},{include:"#percentage-type"},{include:"#length-type"}]}]},"format-function":{patterns:[{begin:"\\b(format)(?=\\()",beginCaptures:{0:{name:"support.function.format.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#literal-string"}]}]}]},"frequency-type":{captures:{1:{name:"keyword.other.unit.less"}},match:"(?i:[-+]?(?:(?:\\d*\\.\\d+(?:[eE](?:[-+]?\\d+))*)|(?:[-+]?\\d+))(Hz|kHz))\\b",name:"constant.numeric.less"},"global-property-values":{match:"\\b(?:initial|inherit|unset|revert-layer|revert)\\b",name:"support.constant.property-value.less"},"gradient-functions":{patterns:[{begin:"\\b((?:repeating-)?linear-gradient)(?=\\()",beginCaptures:{1:{name:"support.function.gradient.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#var-function"},{include:"#angle-type"},{include:"#color-values"},{include:"#percentage-type"},{include:"#length-type"},{include:"#comma-delimiter"},{match:"\\bto\\b",name:"keyword.other.less"},{match:"\\b(top|right|bottom|left)\\b",name:"support.constant.property-value.less"}]}]},{begin:"\\b((?:repeating-)?radial-gradient)(?=\\()",beginCaptures:{1:{name:"support.function.gradient.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#var-function"},{include:"#color-values"},{include:"#percentage-type"},{include:"#length-type"},{include:"#comma-delimiter"},{match:"\\b(at|circle|ellipse)\\b",name:"keyword.other.less"},{match:"\\b(top|right|bottom|left|center|(farthest|closest)-(corner|side))\\b",name:"support.constant.property-value.less"}]}]}]},"grid-repeat-function":{begin:"\\b(repeat)(?=\\()",beginCaptures:{1:{name:"support.function.grid.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#comma-delimiter"},{include:"#var-function"},{include:"#length-type"},{include:"#percentage-type"},{include:"#minmax-function"},{include:"#integer-type"},{match:"\\b(auto-(fill|fit))\\b",name:"support.keyword.repetitions.less"},{match:"\\b(((max|min)-content)|auto)\\b",name:"support.constant.property-value.less"}]}]},"image-function":{begin:"\\b(image)(?=\\()",beginCaptures:{1:{name:"support.function.image.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#image-type"},{include:"#literal-string"},{include:"#color-values"},{include:"#comma-delimiter"},{include:"#unquoted-string"}]}]},"image-type":{patterns:[{include:"#cross-fade-function"},{include:"#gradient-functions"},{include:"#image-function"},{include:"#url-function"}]},important:{captures:{1:{name:"punctuation.separator.less"}},match:"(\\!)\\s*important",name:"keyword.other.important.less"},"integer-type":{match:"(?:[-+]?\\d+)",name:"constant.numeric.less"},"keyframe-name":{begin:"\\s*(-?(?:[_a-z]|[^\\x{00}-\\x{7F}]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\s\\t\\r\\n\\f])?)|\\\\[^\\r\\n\\f0-9a-f]))(?:[_a-z0-9-]|[^\\x{00}-\\x{7F}]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\r\\n\\f])?)|\\\\[^\\r\\n\\f0-9a-f]))*)?",beginCaptures:{1:{name:"variable.other.constant.animation-name.less"}},end:"\\s*(?:(,)|(?=[{;]))",endCaptures:{1:{name:"punctuation.definition.arbitrary-repetition.less"}}},"length-type":{patterns:[{captures:{1:{name:"keyword.other.unit.less"}},match:"(?:[-+]?)(?:\\d+\\.\\d+|\\.?\\d+)(?:[eE][-+]?\\d+)?(em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|m|q|in|pt|pc|px|fr|dpi|dpcm|dppx|x)",name:"constant.numeric.less"},{match:"\\b(?:[-+]?)0\\b",name:"constant.numeric.less"}]},"less-boolean-function":{begin:"\\b(boolean)(?=\\()",beginCaptures:{1:{name:"support.function.boolean.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-logical-comparisons"}]}]},"less-color-blend-functions":{patterns:[{begin:"\\b(multiply|screen|overlay|(soft|hard)light|difference|exclusion|negation|average)(?=\\()",beginCaptures:{1:{name:"support.function.color-blend.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#var-function"},{include:"#comma-delimiter"},{include:"#color-values"}]}]}]},"less-color-channel-functions":{patterns:[{begin:"\\b(hue|saturation|lightness|hsv(hue|saturation|value)|red|green|blue|alpha|luma|luminance)(?=\\()",beginCaptures:{1:{name:"support.function.color-definition.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#color-values"}]}]}]},"less-color-definition-functions":{patterns:[{begin:"\\b(argb)(?=\\()",beginCaptures:{1:{name:"support.function.color-definition.less"}},comment:"argb()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#var-function"},{include:"#color-values"}]}]},{begin:"\\b(hsva?)(?=\\()",beginCaptures:{1:{name:"support.function.color.less"}},comment:"hsva(), hsv()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#integer-type"},{include:"#percentage-type"},{include:"#number-type"},{include:"#less-strings"},{include:"#less-variables"},{include:"#var-function"},{include:"#calc-function"},{include:"#comma-delimiter"}]}]}]},"less-color-functions":{patterns:[{include:"#less-color-blend-functions"},{include:"#less-color-channel-functions"},{include:"#less-color-definition-functions"},{include:"#less-color-operation-functions"}]},"less-color-operation-functions":{patterns:[{begin:"\\b(fade|shade|tint)(?=\\()",beginCaptures:{1:{name:"support.function.color-operation.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#color-values"},{include:"#comma-delimiter"},{include:"#percentage-type"}]}]},{begin:"\\b(spin)(?=\\()",beginCaptures:{1:{name:"support.function.color-operation.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#color-values"},{include:"#comma-delimiter"},{include:"#number-type"}]}]},{begin:"\\b(((de)?saturate)|((light|dark)en)|(fade(in|out)))(?=\\()",beginCaptures:{1:{name:"support.function.color-operation.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#color-values"},{include:"#comma-delimiter"},{include:"#percentage-type"},{match:"\\brelative\\b",name:"constant.language.relative.less"}]}]},{begin:"\\b(contrast)(?=\\()",beginCaptures:{1:{name:"support.function.color-operation.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#color-values"},{include:"#comma-delimiter"},{include:"#percentage-type"}]}]},{begin:"\\b(greyscale)(?=\\()",beginCaptures:{1:{name:"support.function.color-operation.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#color-values"}]}]},{begin:"\\b(mix)(?=\\()",beginCaptures:{1:{name:"support.function.color-operation.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#color-values"},{include:"#comma-delimiter"},{include:"#less-math"},{include:"#percentage-type"}]}]}]},"less-extend":{begin:"(:)(extend)(?=\\()",beginCaptures:{1:{name:"punctuation.definition.entity.less"},2:{name:"entity.other.attribute-name.pseudo-class.extend.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{match:"\\ball\\b",name:"constant.language.all.less"},{include:"#selectors"}]}]},"less-functions":{patterns:[{include:"#less-boolean-function"},{include:"#less-color-functions"},{include:"#less-if-function"},{include:"#less-list-functions"},{include:"#less-math-functions"},{include:"#less-misc-functions"},{include:"#less-string-functions"},{include:"#less-type-functions"}]},"less-if-function":{begin:"\\b(if)(?=\\()",beginCaptures:{1:{name:"support.function.if.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-mixin-guards"},{include:"#comma-delimiter"},{include:"#property-values"}]}]},"less-list-functions":{patterns:[{begin:"\\b(length)(?=\\()\\b",beginCaptures:{1:{name:"support.function.length.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#property-values"},{include:"#comma-delimiter"}]}]},{begin:"\\b(extract)(?=\\()\\b",beginCaptures:{1:{name:"support.function.extract.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#property-values"},{include:"#comma-delimiter"},{include:"#integer-type"}]}]},{begin:"\\b(range)(?=\\()\\b",beginCaptures:{1:{name:"support.function.range.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#property-values"},{include:"#comma-delimiter"},{include:"#integer-type"}]}]}]},"less-logical-comparisons":{patterns:[{captures:{1:{name:"keyword.operator.logical.less"}},match:"\\s*(=|((<|>)=?))\\s*"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.group.less",patterns:[{include:"#less-logical-comparisons"}]},{match:"\\btrue|false\\b",name:"constant.language.less"},{match:",",name:"punctuation.separator.less"},{include:"#property-values"},{include:"#selectors"},{include:"#unquoted-string"}]},"less-math":{patterns:[{match:"[-\\+\\*\\/]",name:"keyword.operator.arithmetic.less"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.group.less",patterns:[{include:"#less-math"}]},{include:"#numeric-values"},{include:"#less-variables"}]},"less-math-functions":{patterns:[{begin:"\\b(ceil|floor|percentage|round|sqrt|abs|a?(sin|cos|tan))(?=\\()",beginCaptures:{1:{name:"support.function.math.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#numeric-values"}]}]},{captures:{2:{name:"support.function.math.less"},3:{name:"punctuation.definition.group.begin.less"},4:{name:"punctuation.definition.group.end.less"}},match:"((pi)(\\()(\\)))",name:"meta.function-call.less"},{begin:"\\b(pow|m(od|in|ax))(?=\\()",beginCaptures:{1:{name:"support.function.math.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#numeric-values"},{include:"#comma-delimiter"}]}]}]},"less-misc-functions":{patterns:[{begin:"\\b(color)(?=\\()",beginCaptures:{1:{name:"support.function.color.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#literal-string"}]}]},{begin:"\\b(image-(size|width|height))(?=\\()",beginCaptures:{1:{name:"support.function.image.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#literal-string"},{include:"#unquoted-string"}]}]},{begin:"\\b(convert|unit)(?=\\()",beginCaptures:{1:{name:"support.function.convert.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#numeric-values"},{include:"#literal-string"},{include:"#comma-delimiter"},{match:"((c|m)?m|in|p(t|c|x)|m?s|g?rad|deg|turn|%|r?em|ex|ch)",name:"keyword.other.unit.less"}]}]},{begin:"\\b(data-uri)(?=\\()",beginCaptures:{1:{name:"support.function.data-uri.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#literal-string"},{captures:{1:{name:"punctuation.separator.less"}},match:"\\s*(?:(,))"}]}]},{captures:{2:{name:"punctuation.definition.group.begin.less"},3:{name:"punctuation.definition.group.end.less"}},match:"\\b(default(\\()(\\)))\\b",name:"support.function.default.less"},{begin:"\\b(get-unit)(?=\\()",beginCaptures:{1:{name:"support.function.get-unit.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#dimensions"}]}]},{begin:"\\b(svg-gradient)(?=\\()",beginCaptures:{1:{name:"support.function.svg-gradient.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#angle-type"},{include:"#comma-delimiter"},{include:"#color-values"},{include:"#percentage-type"},{include:"#length-type"},{match:"\\bto\\b",name:"keyword.other.less"},{match:"\\b(top|right|bottom|left|center)\\b",name:"support.constant.property-value.less"},{match:"\\b(at|circle|ellipse)\\b",name:"keyword.other.less"}]}]}]},"less-mixin-guards":{patterns:[{begin:"\\s*(and|not|or)?\\s*(?=\\()",beginCaptures:{1:{name:"keyword.operator.logical.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",name:"meta.group.less",patterns:[{include:"#less-variable-comparison"},{captures:{1:{name:"meta.group.less"},2:{name:"punctuation.definition.group.begin.less"},3:{name:"punctuation.definition.group.end.less"}},match:"default((\\()(\\)))",name:"support.function.default.less"},{include:"#property-values"},{include:"#less-logical-comparisons"},{include:"$self"}]}]}]},"less-namespace-accessors":{patterns:[{begin:"(?=\\s*when\\b)",end:"\\s*(?:(,)|(?=[{;]))",endCaptures:{1:{name:"punctuation.definition.block.end.less"}},name:"meta.conditional.guarded-namespace.less",patterns:[{captures:{1:{name:"keyword.control.conditional.less"},2:{name:"punctuation.definition.keyword.less"}},match:"\\s*(when)(?=.*?)"},{include:"#less-mixin-guards"},{include:"#comma-delimiter"},{begin:"\\s*(\\{)",beginCaptures:{1:{name:"punctuation.section.property-list.begin.less"}},end:"(?=\\})",name:"meta.block.less",patterns:[{include:"#rule-list-body"}]},{include:"#selectors"}]},{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.group.begin.less"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.group.end.less"},2:{name:"punctuation.terminator.rule.less"}},name:"meta.group.less",patterns:[{include:"#less-variable-assignment"},{include:"#comma-delimiter"},{include:"#property-values"},{include:"#rule-list-body"}]},{captures:{1:{name:"punctuation.terminator.rule.less"}},match:"(;)|(?=[})])"}]},"less-string-functions":{patterns:[{begin:"\\b(e(scape)?)(?=\\()\\b",beginCaptures:{1:{name:"support.function.escape.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#comma-delimiter"},{include:"#literal-string"},{include:"#unquoted-string"}]}]},{begin:"\\s*(%)(?=\\()\\s*",beginCaptures:{1:{name:"support.function.format.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#comma-delimiter"},{include:"#literal-string"},{include:"#property-values"}]}]},{begin:"\\b(replace)(?=\\()\\b",beginCaptures:{1:{name:"support.function.replace.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#comma-delimiter"},{include:"#literal-string"},{include:"#property-values"}]}]}]},"less-strings":{patterns:[{begin:`(~)('|")`,beginCaptures:{1:{name:"constant.character.escape.less"},2:{name:"punctuation.definition.string.begin.less"}},contentName:"markup.raw.inline.less",end:`('|")|(\\n)`,endCaptures:{1:{name:"punctuation.definition.string.end.less"},2:{name:"invalid.illegal.newline.less"}},name:"string.quoted.other.less",patterns:[{include:"#string-content"}]}]},"less-type-functions":{patterns:[{begin:"\\b(is(number|string|color|keyword|url|pixel|em|percentage|ruleset))(?=\\()",beginCaptures:{1:{name:"support.function.type.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#property-values"}]}]},{begin:"\\b(isunit)(?=\\()",beginCaptures:{1:{name:"support.function.type.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#property-values"},{include:"#comma-delimiter"},{match:"\\b((?i:em|ex|ch|rem)|(?i:vw|vh|vmin|vmax)|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:s|ms)|(?i:Hz|kHz)|(?i:dpi|dpcm|dppx))\\b",name:"keyword.other.unit.less"}]}]},{begin:"\\b(isdefined)(?=\\()",beginCaptures:{1:{name:"support.function.type.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"}]}]}]},"less-variable-assignment":{patterns:[{begin:"(@)(-?(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",beginCaptures:{0:{name:"variable.other.readwrite.less"},1:{name:"punctuation.definition.variable.less"},2:{name:"support.other.variable.less"}},end:"\\s*(;|(\\.{3})|(?=\\)))",endCaptures:{1:{name:"punctuation.terminator.rule.less"},2:{name:"keyword.operator.spread.less"}},name:"meta.property-value.less",patterns:[{captures:{1:{name:"punctuation.separator.key-value.less"},4:{name:"meta.property-value.less"}},match:"(((\\+_?)?):)([\\s\\t]*)"},{include:"#property-values"},{include:"#comma-delimiter"},{include:"#property-list"},{include:"#unquoted-string"}]}]},"less-variable-comparison":{patterns:[{begin:"(@{1,2})([-]?([_a-z]|[^\\x{00}-\\x{7F}]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",beginCaptures:{0:{name:"variable.other.readwrite.less"},1:{name:"punctuation.definition.variable.less"},2:{name:"support.other.variable.less"}},end:"\\s*(?=\\))",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},patterns:[{captures:{1:{name:"keyword.operator.logical.less"}},match:"\\s*(=|((<|>)=?))\\s*"},{match:"\\btrue\\b",name:"constant.language.less"},{include:"#property-values"},{include:"#selectors"},{include:"#unquoted-string"},{match:",",name:"punctuation.separator.less"}]}]},"less-variable-interpolation":{captures:{1:{name:"punctuation.definition.variable.less"},2:{name:"punctuation.definition.expression.less"},3:{name:"support.other.variable.less"},4:{name:"punctuation.definition.expression.less"}},match:"(@)(\\{)([-\\w]+)(\\})",name:"variable.other.readwrite.less"},"less-variables":{patterns:[{captures:{1:{name:"punctuation.definition.variable.less"},2:{name:"support.other.variable.less"}},match:"\\s*(@@?)([-\\w]+)",name:"variable.other.readwrite.less"},{include:"#less-variable-interpolation"}]},"literal-string":{patterns:[{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.less"}},end:"(')|(\\n)",endCaptures:{1:{name:"punctuation.definition.string.end.less"},2:{name:"invalid.illegal.newline.less"}},name:"string.quoted.single.less",patterns:[{include:"#string-content"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.less"}},end:'(")|(\\n)',endCaptures:{1:{name:"punctuation.definition.string.end.less"},2:{name:"invalid.illegal.newline.less"}},name:"string.quoted.double.less",patterns:[{include:"#string-content"}]},{include:"#less-strings"}]},"local-function":{begin:"\\b(local)(?=\\()",beginCaptures:{0:{name:"support.function.font-face.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#unquoted-string"}]}]},"media-query":{begin:"\\s*(only|not)?\\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?",beginCaptures:{1:{name:"keyword.operator.logic.media.less"},2:{name:"support.constant.media.less"}},end:"\\s*(?:(,)|(?=[{;]))",endCaptures:{1:{name:"punctuation.definition.arbitrary-repetition.less"}},patterns:[{include:"#less-variables"},{include:"#custom-property-name"},{begin:"\\s*(and)?\\s*(\\()\\s*",beginCaptures:{1:{name:"keyword.operator.logic.media.less"},2:{name:"punctuation.definition.group.begin.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.group.less",patterns:[{begin:"(--|(?:-?(?:(?:[a-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R]))))(?:(?:[-\\da-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R])))*)\\s*(?=[:)])",beginCaptures:{0:{name:"support.type.property-name.media.less"}},end:"(((\\+_?)?):)|(?=\\))",endCaptures:{1:{name:"punctuation.separator.key-value.less"}}},{match:"\\b(portrait|landscape|progressive|interlace)",name:"support.constant.property-value.less"},{captures:{1:{name:"constant.numeric.less"},2:{name:"keyword.operator.arithmetic.less"},3:{name:"constant.numeric.less"}},match:"\\s*(\\d+)(/)(\\d+)"},{include:"#less-math"}]}]},"media-query-list":{begin:"\\s*(?=[^{;])",end:"\\s*(?=[{;])",patterns:[{include:"#media-query"}]},"minmax-function":{begin:"\\b(minmax)(?=\\()",beginCaptures:{1:{name:"support.function.grid.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#var-function"},{include:"#length-type"},{include:"#comma-delimiter"},{match:"\\b(max-content|min-content)\\b",name:"support.constant.property-value.less"}]}]},"number-type":{match:"(?:[-+]?)(?:\\d+\\.\\d+|\\.?\\d+)(?:[eE][-+]?\\d+)?",name:"constant.numeric.less"},"numeric-values":{patterns:[{include:"#dimensions"},{include:"#percentage-type"},{include:"#number-type"}]},"percentage-type":{captures:{1:{name:"keyword.other.unit.less"}},match:"(?:[-+]?)(?:\\d+\\.\\d+|\\.?\\d+)(?:[eE][-+]?\\d+)?(%)",name:"constant.numeric.less"},"property-list":{patterns:[{begin:"(?=(?=[^;]*)\\{)",end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.end.less"}},patterns:[{include:"#rule-list"}]}]},"property-value-constants":{patterns:[{comment:"align-content, align-items, align-self, justify-content, justify-items, justify-self",match:"\\b(flex-start|flex-end|start|end|space-between|space-around|space-evenly|stretch|baseline|safe|unsafe|legacy|anchor-center|first|last|self-start|self-end)\\b",name:"support.constant.property-value.less"},{comment:"alignment-baseline",match:"\\b(text-before-edge|before-edge|middle|central|text-after-edge|after-edge|ideographic|alphabetic|hanging|mathematical|top|center|bottom)\\b",name:"support.constant.property-value.less"},{include:"#global-property-values"},{include:"#cubic-bezier-function"},{include:"#steps-function"},{comment:"animation-composition",match:"\\b(?:replace|add|accumulate)\\b",name:"support.constant.property-value.less"},{comment:"animation-direction",match:"\\b(?:normal|alternate-reverse|alternate|reverse)\\b",name:"support.constant.property-value.less"},{comment:"animation-fill-mode",match:"\\b(?:forwards|backwards|both)\\b",name:"support.constant.property-value.less"},{comment:"animation-iteration-count",match:"\\b(?:infinite)\\b",name:"support.constant.property-value.less"},{comment:"animation-play-state",match:"\\b(?:running|paused)\\b",name:"support.constant.property-value.less"},{comment:"animation-range, animation-range-start, animation-range-end",match:"\\b(?:entry-crossing|exit-crossing|entry|exit)\\b",name:"support.constant.property-value.less"},{comment:"animation-timing-function",match:"\\b(linear|ease-in-out|ease-in|ease-out|ease|step-start|step-end)\\b",name:"support.constant.property-value.less"},{match:"\\b(absolute|active|add|all-petite-caps|all-small-caps|all-scroll|all|alphabetic|alpha|alternate-reverse|alternate|always|annotation|antialiased|at|autohiding-scrollbar|auto|avoid-column|avoid-page|avoid-region|avoid|background-color|background-image|background-position|background-size|background-repeat|background|backwards|balance|baseline|below|bevel|bicubic|bidi-override|blink|block-line-height|block-start|block-end|block|blur|bolder|bold|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|both|bottom|box-shadow|box|break-all|break-word|break-spaces|brightness|butt(on)?|capitalize|central|center|char(acter-variant)?|cjk-ideographic|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color-stop|color-burn|color-dodge|color|column-count|column-gap|column-reverse|column-rule-color|column-rule-width|column-rule|column-width|columns|column|common-ligatures|condensed|consider-shifts|contain|content-box|contents?|contextual|contrast|cover|crisp-edges|crispEdges|crop|crosshair|cross|darken|dashed|default|dense|device-width|diagonal-fractions|difference|disabled|discard|discretionary-ligatures|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|drop-shadow|[nsew]{1,4}-resize|ease-in-out|ease-in|ease-out|ease|element|ellipsis|embed|end|EndColorStr|evenodd|exclude-ruby|exclusion|expanded|extra-condensed|extra-expanded|farthest-corner|farthest-side|farthest|fill-box|fill-opacity|fill|filter|fit-content|fixed|flat|flex-basis|flex-end|flex-grow|flex-shrink|flex-start|flexbox|flex|flip|flood-color|font-size-adjust|font-size|font-stretch|font-weight|font|forwards|from-image|from|full-width|gap|geometricPrecision|glyphs|gradient|grayscale|grid-column-gap|grid-column|grid-row-gap|grid-row|grid-gap|grid-height|grid|groove|hand|hanging|hard-light|height|help|hidden|hide|historical-forms|historical-ligatures|horizontal-tb|horizontal|hue|ideographic|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|include-ruby|infinite|inherit|initial|inline-end|inline-size|inline-start|inline-table|inline-line-height|inline-flexbox|inline-flex|inline-box|inline-block|inline|inset|inside|inter-ideograph|inter-word|intersect|invert|isolate|isolation|italic|jis(04|78|83|90)|justify-all|justify|keep-all|larger|large|last|layout|left|letter-spacing|lighten|lighter|lighting-color|linear-gradient|linearRGB|linear|line-edge|line-height|line-through|line|lining-nums|list-item|local|loose|lowercase|lr-tb|ltr|luminosity|luminance|manual|manipulation|margin-bottom|margin-box|margin-left|margin-right|margin-top|margin|marker(-offset|s)?|match-parent|mathematical|max-(content|height|lines|size|width)|medium|middle|min-(content|height|width)|miter|mixed|move|multiply|newspaper|no-change|no-clip|no-close-quote|no-open-quote|no-common-ligatures|no-discretionary-ligatures|no-historical-ligatures|no-contextual|no-drop|no-repeat|none|nonzero|normal|not-allowed|nowrap|oblique|offset-after|offset-before|offset-end|offset-start|offset|oldstyle-nums|opacity|open-quote|optimize(Legibility|Precision|Quality|Speed)|order|ordinal|ornaments|outline-color|outline-offset|outline-width|outline|outset|outside|overline|over-edge|overlay|padding(-bottom|-box|-left|-right|-top|-box)?|page|paint(ed)?|paused|pan-(x|left|right|y|up|down)|perspective-origin|petite-caps|pixelated|pointer|pinch-zoom|pretty|pre(-line|-wrap)?|preserve-3d|preserve-breaks|preserve-spaces|preserve|progid:DXImageTransform\\.Microsoft\\.(Alpha|Blur|dropshadow|gradient|Shadow)|progress|proportional-nums|proportional-width|radial-gradient|recto|region|relative|repeating-linear-gradient|repeating-radial-gradient|repeat-x|repeat-y|repeat|replaced|reset-size|reverse|revert-layer|revert|ridge|right|round|row-gap|row-resize|row-reverse|row|rtl|ruby|running|saturate|saturation|screen|scrollbar|scroll-position|scroll|separate|sepia|scale-down|semi-condensed|semi-expanded|shape-image-threshold|shape-margin|shape-outside|show|sideways-lr|sideways-rl|sideways|simplified|size|slashed-zero|slice|small-caps|smaller|small|smooth|snap|solid|soft-light|space-around|space-between|space|span|sRGB|stable|stacked-fractions|stack|startColorStr|start|static|step-end|step-start|sticky|stop-color|stop-opacity|stretch|strict|stroke-box|stroke-dasharray|stroke-dashoffset|stroke-miterlimit|stroke-opacity|stroke-width|stroke|styleset|style|stylistic|subgrid|subpixel-antialiased|subtract|super|swash|table-caption|table-cell|table-column-group|table-footer-group|table-header-group|table-row-group|table-column|table-row|table|tabular-nums|tb-rl|text((-bottom|-(decoration|emphasis)-color|-indent|-(over|under)-edge|-shadow|-size(-adjust)?|-top)|field)?|thick|thin|titling-caps|titling-case|top|touch|to|traditional|transform-origin|transform-style|transform|ultra-condensed|ultra-expanded|under-edge|underline|unicase|unset|uppercase|upright|use-glyph-orientation|use-script|verso|vertical(-align|-ideographic|-lr|-rl|-text)?|view-box|viewport-fill-opacity|viewport-fill|visibility|visibleFill|visiblePainted|visibleStroke|visible|wait|wavy|weight|whitespace|width|word-spacing|wrap-reverse|wrap-reverse|wrap|xx?-(large|small)|z-index|zero|zoom-in|zoom-out|zoom|arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)\\b",name:"support.constant.property-value.less"},{match:"\\b(sans-serif|serif|monospace|fantasy|cursive)\\b(?=\\s*[;,\\n}])",name:"support.constant.font-name.less"}]},"property-values":{patterns:[{include:"#comment-block"},{include:"#builtin-functions"},{include:"#color-functions"},{include:"#less-functions"},{include:"#less-variables"},{include:"#unicode-range"},{include:"#numeric-values"},{include:"#color-values"},{include:"#property-value-constants"},{include:"#less-math"},{include:"#literal-string"},{include:"#comma-delimiter"},{include:"#important"}]},"pseudo-selectors":{patterns:[{begin:"(:)(dir)(?=\\()",beginCaptures:{1:{name:"punctuation.definition.entity.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"entity.other.attribute-name.pseudo-class.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{match:"ltr|rtl",name:"variable.parameter.dir.less"},{include:"#less-variables"}]}]},{begin:"(:)(lang)(?=\\()",beginCaptures:{1:{name:"punctuation.definition.entity.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"entity.other.attribute-name.pseudo-class.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#literal-string"},{include:"#unquoted-string"}]}]},{begin:"(:)(not)(?=\\()",beginCaptures:{1:{name:"punctuation.definition.entity.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"entity.other.attribute-name.pseudo-class.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#selectors"}]}]},{begin:"(:)(nth(-last)?-(child|of-type))(?=\\()",beginCaptures:{1:{name:"punctuation.definition.entity.less"},2:{name:"entity.other.attribute-name.pseudo-class.less"}},contentName:"meta.function-call.less",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"entity.other.attribute-name.pseudo-class.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",name:"meta.group.less",patterns:[{match:"\\b(even|odd)\\b",name:"keyword.other.pseudo-class.less"},{captures:{1:{name:"keyword.operator.arithmetic.less"},2:{name:"keyword.other.unit.less"},4:{name:"keyword.operator.arithmetic.less"}},match:"(?:([-+])?(?:\\d+)?(n)(\\s*([-+])\\s*\\d+)?|[-+]?\\s*\\d+)",name:"constant.numeric.less"},{include:"#less-math"},{include:"#less-strings"},{include:"#less-variable-interpolation"}]}]},{begin:"(:)(host-context|host|has|is|not|where)(?=\\()",beginCaptures:{1:{name:"punctuation.definition.entity.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"entity.other.attribute-name.pseudo-class.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#selectors"}]}]},{captures:{1:{name:"punctuation.definition.entity.less"},2:{name:"entity.other.attribute-name.pseudo-class.less"}},match:"(:)(active|any-link|autofill|blank|buffering|checked|current|default|defined|disabled|empty|enabled|first-child|first-of-type|first|focus-visible|focus-within|focus|fullscreen|future|host|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|local-link|link|modal|muted|only-child|only-of-type|optional|out-of-range|past|paused|picture-in-picture|placeholder-shown|playing|popover-open|read-only|read-write|required|right|root|scope|seeking|stalled|target-within|target|user-invalid|user-valid|valid|visited|volume-locked)\\b",name:"meta.function-call.less"},{begin:"(::?)(highlight|part|state)(?=\\s*(\\())",beginCaptures:{1:{name:"punctuation.definition.entity.less"}},comment:"::highlight()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"entity.other.attribute-name.pseudo-element.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{match:"--|(?:-?(?:(?:[a-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R]))))(?:(?:[-\\da-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R])))*",name:"variable.parameter.less"},{include:"#less-variables"}]}]},{begin:"(::?)slotted(?=\\s*(\\())",beginCaptures:{1:{name:"punctuation.definition.entity.less"}},comment:"::slotted()",contentName:"meta.function-call.less",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"entity.other.attribute-name.pseudo-element.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",name:"meta.group.less",patterns:[{include:"#selectors"}]}]},{captures:{1:{name:"punctuation.definition.entity.less"}},comment:"defined pseudo-elements",match:"(::?)(after|backdrop|before|cue|file-selector-button|first-letter|first-line|grammar-error|marker|placeholder|selection|spelling-error|target-text|view-transition-group|view-transition-image-pair|view-transition-new|view-transition-old|view-transition)\\b",name:"entity.other.attribute-name.pseudo-element.less"},{captures:{1:{name:"punctuation.definition.entity.less"},2:{name:"meta.namespace.vendor-prefix.less"}},comment:"other possible pseudo-elements",match:"(::?)(-\\w+-)(--|(?:-?(?:(?:[a-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R]))))(?:(?:[-\\da-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R])))*)\\b",name:"entity.other.attribute-name.pseudo-element.less"}]},"qualified-name":{captures:{1:{name:"entity.name.constant.less"},2:{name:"entity.name.namespace.wildcard.less"},3:{name:"punctuation.separator.namespace.less"}},match:"(?:(-?(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[_a-zA-Z][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)|(\\*))?([|])(?!=)"},"regexp-function":{begin:"\\b(regexp)(?=\\()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"support.function.regexp.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",name:"meta.function-call.less",patterns:[{include:"#literal-string"}]}]},"relative-color":{patterns:[{match:"from",name:"keyword.other.less"},{match:"\\b[hslawbch]\\b",name:"keyword.other.less"}]},"rule-list":{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.begin.less"}},end:"(?=\\s*\\})",name:"meta.property-list.less",patterns:[{captures:{1:{name:"punctuation.terminator.rule.less"}},match:"\\s*(;)|(?=[})])"},{include:"#rule-list-body"},{include:"#less-extend"}]}]},"rule-list-body":{patterns:[{include:"#comment-block"},{include:"#comment-line"},{include:"#at-rules"},{include:"#less-variable-assignment"},{begin:"(?=[-\\w]*?@\\{.*\\}[-\\w]*?\\s*:[^;{(]*(?=[;})]))",end:"(?=\\s*(;)|(?=[})]))",patterns:[{begin:"(?=[^\\s:])",end:"(?=(((\\+_?)?):)[\\s\\t]*)",name:"support.type.property-name.less",patterns:[{include:"#less-variable-interpolation"}]},{begin:"(((\\+_?)?):)(?=[\\s\\t]*)",beginCaptures:{1:{name:"punctuation.separator.key-value.less"}},contentName:"support.type.property-name.less",end:"(?=\\s*(;)|(?=[})]))",patterns:[{include:"#property-values"}]}]},{begin:"(?=[-a-z])",end:"$|(?![-a-z])",patterns:[{include:"#custom-property-name"},{begin:"(-[\\w-]+?-)((?:(?:[a-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R])))(?:(?:[-\\da-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R])))*)\\b",beginCaptures:{0:{name:"support.type.property-name.less"},1:{name:"meta.namespace.vendor-prefix.less"}},comment:"vendor-prefixed properties",end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},patterns:[{begin:"(((\\+_?)?):)(?=[\\s\\t]*)",beginCaptures:{1:{name:"punctuation.separator.key-value.less"}},contentName:"meta.property-value.less",end:"(?=\\s*(;)|(?=[})]))",patterns:[{include:"#property-values"},{match:"[\\w-]+",name:"support.constant.property-value.less"}]}]},{include:"#filter-function"},{begin:"\\b(border((-(bottom|top)-(left|right))|((-(start|end)){2}))?-radius|(border-image(?!-)))\\b",beginCaptures:{0:{name:"support.type.property-name.less"}},comment:"border-radius and border-image properties utilize a slash as a separator",end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},patterns:[{begin:"(((\\+_?)?):)(?=[\\s\\t]*)",beginCaptures:{1:{name:"punctuation.separator.key-value.less"}},contentName:"meta.property-value.less",end:"(?=\\s*(;)|(?=[})]))",patterns:[{include:"#value-separator"},{include:"#property-values"}]}]},{captures:{1:{name:"keyword.other.custom-property.prefix.less"},2:{name:"support.type.custom-property.name.less"}},match:"\\b(var-)(-?(?:[[-\\w][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[_a-zA-Z][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)(?=\\s)",name:"invalid.deprecated.custom-property.less"},{begin:"\\bfont(-family)?(?!-)\\b",beginCaptures:{0:{name:"support.type.property-name.less"}},end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},name:"meta.property-name.less",patterns:[{captures:{1:{name:"punctuation.separator.key-value.less"},4:{name:"meta.property-value.less"}},match:"(((\\+_?)?):)([\\s\\t]*)"},{include:"#property-values"},{match:"-?(?:[[_a-zA-Z][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*(\\s+-?(?:[[_a-zA-Z][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)*",name:"string.unquoted.less"},{match:",",name:"punctuation.separator.less"}]},{begin:"\\banimation-timeline\\b",beginCaptures:{0:{name:"support.type.property-name.less"}},end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},patterns:[{begin:"(((\\+_?)?):)(?=[\\s\\t]*)",beginCaptures:{1:{name:"punctuation.separator.key-value.less"}},contentName:"meta.property-value.less",end:"(?=\\s*(;)|(?=[})]))",patterns:[{include:"#comment-block"},{include:"#custom-property-name"},{include:"#scroll-function"},{include:"#view-function"},{include:"#property-values"},{include:"#less-variables"},{include:"#arbitrary-repetition"},{include:"#important"}]}]},{begin:"\\banimation(?:-name)?(?=(?:\\+_?)?:)\\b",beginCaptures:{0:{name:"support.type.property-name.less"}},end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},patterns:[{begin:"(((\\+_?)?):)(?=[\\s\\t]*)",beginCaptures:{1:{name:"punctuation.separator.key-value.less"}},contentName:"meta.property-value.less",end:"(?=\\s*(;)|(?=[})]))",patterns:[{include:"#comment-block"},{include:"#builtin-functions"},{include:"#less-functions"},{include:"#less-variables"},{include:"#numeric-values"},{include:"#property-value-constants"},{match:"-?(?:[_a-zA-Z]|[^\\x{00}-\\x{7F}]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\s\\t\\r\\n\\f])?)|\\\\[^\\r\\n\\f0-9a-f]))(?:[-_a-zA-Z0-9]|[^\\x{00}-\\x{7F}]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\r\\n\\f])?)|\\\\[^\\r\\n\\f0-9a-f]))*",name:"variable.other.constant.animation-name.less string.unquoted.less"},{include:"#less-math"},{include:"#arbitrary-repetition"},{include:"#important"}]}]},{begin:"\\b(transition(-(property|duration|delay|timing-function))?)\\b",beginCaptures:{1:{name:"support.type.property-name.less"}},end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},patterns:[{begin:"(((\\+_?)?):)(?=[\\s\\t]*)",beginCaptures:{1:{name:"punctuation.separator.key-value.less"}},contentName:"meta.property-value.less",end:"(?=\\s*(;)|(?=[})]))",patterns:[{include:"#time-type"},{include:"#property-values"},{include:"#cubic-bezier-function"},{include:"#steps-function"},{include:"#arbitrary-repetition"}]}]},{begin:"\\b(?:backdrop-)?filter\\b",beginCaptures:{0:{name:"support.type.property-name.less"}},end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},name:"meta.property-name.less",patterns:[{captures:{1:{name:"punctuation.separator.key-value.less"},4:{name:"meta.property-value.less"}},match:"(((\\+_?)?):)([\\s\\t]*)"},{match:"\\b(inherit|initial|unset|none)\\b",name:"meta.property-value.less"},{include:"#filter-functions"}]},{begin:"\\bwill-change\\b",beginCaptures:{0:{name:"support.type.property-name.less"}},end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},name:"meta.property-name.less",patterns:[{captures:{1:{name:"punctuation.separator.key-value.less"},4:{name:"meta.property-value.less"}},match:"(((\\+_?)?):)([\\s\\t]*)"},{match:"unset|initial|inherit|will-change|auto|scroll-position|contents",name:"invalid.illegal.property-value.less"},{match:"-?(?:[[-\\w][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[_a-zA-Z][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*",name:"support.constant.property-value.less"},{include:"#arbitrary-repetition"}]},{begin:"\\bcounter-(increment|(re)?set)\\b",beginCaptures:{0:{name:"support.type.property-name.less"}},end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},name:"meta.property-name.less",patterns:[{captures:{1:{name:"punctuation.separator.key-value.less"},4:{name:"meta.property-value.less"}},match:"(((\\+_?)?):)([\\s\\t]*)"},{match:"-?(?:[[-\\w][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[_a-zA-Z][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*",name:"entity.name.constant.counter-name.less"},{include:"#integer-type"},{match:"unset|initial|inherit|auto",name:"invalid.illegal.property-value.less"}]},{begin:"\\bcontainer(?:-name)?(?=\\s*?:)",end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},name:"support.type.property-name.less",patterns:[{begin:"(((\\+_?)?):)(?=[\\s\\t]*)",beginCaptures:{1:{name:"punctuation.separator.key-value.less"}},contentName:"meta.property-value.less",end:"(?=\\s*(;)|(?=[})]))",patterns:[{match:"\\bdefault\\b",name:"invalid.illegal.property-value.less"},{include:"#global-property-values"},{include:"#custom-property-name"},{contentName:"variable.other.constant.container-name.less",match:"--|(?:-?(?:(?:[a-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R]))))(?:(?:[-\\da-zA-Z_]|[\\x{00B7}\\x{00C0}-\\x{00D6}\\x{00D8}-\\x{00F6}\\x{00F8}-\\x{037D}\\x{037F}-\\x{1FFF}\\x{200C}\\x{200D}\\x{203F}\\x{2040}\\x{2070}-\\x{218F}\\x{2C00}-\\x{2FEF}\\x{3001}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFFD}\\x{10000}-\\x{EFFFF}])|(?:\\\\(?:\\N|[^0-9A-Fa-f]|[0-9A-Fa-f]{1,6}[\\s\\R])))*",name:"support.constant.property-value.less"},{include:"#property-values"}]}]},{match:"\\b(accent-height|align-content|align-items|align-self|alignment-baseline|all|animation-timing-function|animation-range-start|animation-range-end|animation-range|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation-composition|animation|appearance|ascent|aspect-ratio|azimuth|backface-visibility|background-size|background-repeat-y|background-repeat-x|background-repeat|background-position-y|background-position-x|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|baseline-shift|begin|bias|blend-mode|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|bottom|box-(align|decoration-break|direction|flex|ordinal-group|orient|pack|shadow|sizing)|break-(after|before|inside)|caption-side|clear|clip-path|clip-rule|clip|color(-(interpolation(-filters)?|profile|rendering))?|columns|column-(break-before|count|fill|gap|(rule(-(color|style|width))?)|span|width)|container-name|container-type|container|contain-intrinsic-block-size|contain-intrinsic-inline-size|contain-intrinsic-height|contain-intrinsic-size|contain-intrinsic-width|contain|content|counter-(increment|reset)|cursor|[cdf][xy]|direction|display|divisor|dominant-baseline|dur|elevation|empty-cells|enable-background|end|fallback|fill(-(opacity|rule))?|filter|flex(-(align|basis|direction|flow|grow|item-align|line-pack|negative|order|pack|positive|preferred-size|shrink|wrap))?|float|flood-(color|opacity)|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-size(-adjust)?|font-smoothing|font-stretch|font-style|font-synthesis|font-variant(-(alternates|caps|east-asian|ligatures|numeric|position))?|font-weight|font|fr|((column|row)-)?gap|glyph-orientation-(horizontal|vertical)|grid-(area|gap)|grid-auto-(columns|flow|rows)|grid-(column|row)(-(end|gap|start))?|grid-template(-(areas|columns|rows))?|grid|height|hyphens|image-(orientation|rendering|resolution)|inset(-(block|inline))?(-(start|end))?|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-(box-contain|break|clamp|height)|list-style(-(image|position|type))?|(margin|padding)(-(bottom|left|right|top)|(-(block|inline)?(-(end|start))?))?|marker(-(end|mid|start))?|mask(-(clip||composite|image|origin|position|repeat|size|type))?|(max|min)-(height|width)|mix-blend-mode|nbsp-mode|negative|object-(fit|position)|opacity|operator|order|orphans|outline(-(color|offset|style|width))?|overflow(-((inline|block)|scrolling|wrap|x|y))?|overscroll-behavior(-block|-(inline|x|y))?|pad(ding(-(bottom|left|right|top))?)?|page(-break-(after|before|inside))?|paint-order|pause(-(after|before))?|perspective(-origin(-(x|y))?)?|pitch(-range)?|place-content|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|scale|scroll-behavior|shape-(image-threshold|margin|outside|rendering)|size|speak(-as)?|src|stop-(color|opacity)|stroke(-(dash(array|offset)|line(cap|join)|miterlimit|opacity|width))?|suffix|symbols|system|tab-size|table-layout|tap-highlight-color|text-align(-last)?|text-decoration(-(color|line|style))?|text-emphasis(-(color|position|style))?|text-(anchor|fill-color|height|indent|justify|orientation|overflow|rendering|size-adjust|shadow|transform|underline-position|wrap)|top|touch-action|transform(-origin(-(x|y))?)|transform(-style)?|transition(-(delay|duration|property|timing-function))?|translate|unicode-(bidi|range)|user-(drag|select)|vertical-align|visibility|white-space(-collapse)?|widows|width|will-change|word-(break|spacing|wrap)|writing-mode|z-index|zoom)\\b",name:"support.type.property-name.less"},{match:"\\b(((contain-intrinsic|max|min)-)?(block|inline)?-size)\\b",name:"support.type.property-name.less"},{include:"$self"}]},{begin:"\\b((?:(?:\\+_?)?):)([\\s\\t]*)",beginCaptures:{1:{name:"punctuation.separator.key-value.less"},2:{name:"meta.property-value.less"}},captures:{1:{name:"punctuation.separator.key-value.less"},4:{name:"meta.property-value.less"}},contentName:"meta.property-value.less",end:"\\s*(;)|(?=[})])",endCaptures:{1:{name:"punctuation.terminator.rule.less"}},patterns:[{include:"#property-values"}]},{include:"$self"}]},"scroll-function":{begin:"\\b(scroll)(\\()",beginCaptures:{1:{name:"support.function.scroll.less"},2:{name:"punctuation.definition.group.begin.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{match:"root|nearest|self",name:"support.constant.scroller.less"},{match:"block|inline|x|y",name:"support.constant.axis.less"},{include:"#less-variables"},{include:"#var-function"}]},selector:{patterns:[{begin:"(?=[>~+/\\.*#a-zA-Z\\[&]|(\\:{1,2}[^\\s])|@\\{)",contentName:"meta.selector.less",end:"(?=@(?!\\{)|[{;])",patterns:[{include:"#comment-line"},{include:"#selectors"},{include:"#less-namespace-accessors"},{include:"#less-variable-interpolation"},{include:"#important"}]}]},selectors:{patterns:[{match:"\\b([a-z](?:(?:[-_a-z0-9\\x{00B7}]|\\\\\\.|[[\\x{00C0}-\\x{00D6}][\\x{00D8}-\\x{00F6}][\\x{00F8}-\\x{02FF}][\\x{0300}-\\x{037D}][\\x{037F}-\\x{1FFF}][\\x{200C}-\\x{200D}][\\x{203F}-\\x{2040}][\\x{2070}-\\x{218F}][\\x{2C00}-\\x{2FEF}][\\x{3001}-\\x{D7FF}][\\x{F900}-\\x{FDCF}][\\x{FDF0}-\\x{FFFD}][\\x{10000}-\\x{EFFFF}]]))*-(?:(?:[-_a-z0-9\\x{00B7}]|\\\\\\.|[[\\x{00C0}-\\x{00D6}][\\x{00D8}-\\x{00F6}][\\x{00F8}-\\x{02FF}][\\x{0300}-\\x{037D}][\\x{037F}-\\x{1FFF}][\\x{200C}-\\x{200D}][\\x{203F}-\\x{2040}][\\x{2070}-\\x{218F}][\\x{2C00}-\\x{2FEF}][\\x{3001}-\\x{D7FF}][\\x{F900}-\\x{FDCF}][\\x{FDF0}-\\x{FFFD}][\\x{10000}-\\x{EFFFF}]]))*)\\b",name:"entity.name.tag.custom.less"},{match:"\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|big|blockquote|body|br|button|canvas|caption|circle|cite|clipPath|code|col|colgroup|content|data|dataList|dd|defs|del|details|dfn|dialog|dir|div|dl|dt|element|ellipse|em|embed|eventsource|fieldset|figcaption|figure|filter|footer|foreignObject|form|frame|frameset|g|glyph|glyphRef|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|line|linearGradient|link|main|map|mark|marker|mask|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|path|pattern|picture|polygon|polyline|pre|progress|q|radialGradient|rect|rp|ruby|rt|rtc|s|samp|script|section|select|shadow|small|source|span|stop|strike|strong|style|sub|summary|sup|svg|switch|symbol|table|tbody|td|template|textarea|textPath|tfoot|th|thead|time|title|tr|track|tref|tspan|tt|u|ul|use|var|video|wbr|xmp)\\b",name:"entity.name.tag.less"},{begin:"(\\.)",beginCaptures:{1:{name:"punctuation.definition.entity.less"}},end:"(?![-\\w]|[^\\x{00}-\\x{9f}]|\\\\([A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9])|(\\@(?=\\{)))",name:"entity.other.attribute-name.class.less",patterns:[{include:"#less-variable-interpolation"}]},{begin:"(#)",beginCaptures:{1:{name:"punctuation.definition.entity.less"}},end:"(?![-\\w]|[^\\x{00}-\\x{9f}]|\\\\([A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9])|(\\@(?=\\{)))",name:"entity.other.attribute-name.id.less",patterns:[{include:"#less-variable-interpolation"}]},{begin:"(&)",beginCaptures:{1:{name:"punctuation.definition.entity.less"}},contentName:"entity.other.attribute-name.parent.less",end:"(?![-\\w]|[^\\x{00}-\\x{9f}]|\\\\([A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9])|(\\@(?=\\{)))",name:"entity.other.attribute-name.parent.less",patterns:[{include:"#less-variable-interpolation"},{include:"#selectors"}]},{include:"#pseudo-selectors"},{include:"#less-extend"},{match:"(?!\\+_?:)(?:>{1,3}|[~+])(?![>~+;}])",name:"punctuation.separator.combinator.less"},{match:"((?:>{1,3}|[~+])){2,}",name:"invalid.illegal.combinator.less"},{match:"\\/deep\\/",name:"invalid.illegal.combinator.less"},{begin:"\\[",beginCaptures:{0:{name:"punctuation.section.braces.begin.less"}},end:"\\]",endCaptures:{0:{name:"punctuation.section.braces.end.less"}},name:"meta.attribute-selector.less",patterns:[{include:"#less-variable-interpolation"},{include:"#qualified-name"},{match:"(-?(?:[[_a-zA-Z][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",name:"entity.other.attribute-name.less"},{begin:"\\s*([~*|^$]?=)\\s*",beginCaptures:{1:{name:"keyword.operator.attribute-selector.less"}},end:"(?=(\\s|\\]))",patterns:[{include:"#less-variable-interpolation"},{match:`[^\\s\\]\\['"]`,name:"string.unquoted.less"},{include:"#literal-string"},{captures:{1:{name:"keyword.other.less"}},match:"(?:\\s+([iI]))?"},{match:"\\]",name:"punctuation.definition.entity.less"}]}]},{include:"#arbitrary-repetition"},{match:"\\*",name:"entity.name.tag.wildcard.less"}]},"shape-functions":{patterns:[{begin:"\\b(rect)(?=\\()",beginCaptures:{0:{name:"support.function.shape.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{match:"\\bauto\\b",name:"support.constant.property-value.less"},{include:"#length-type"},{include:"#comma-delimiter"}]}]},{begin:"\\b(inset)(?=\\()",beginCaptures:{0:{name:"support.function.shape.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{match:"\\bround\\b",name:"keyword.other.less"},{include:"#length-type"},{include:"#percentage-type"}]}]},{begin:"\\b(circle|ellipse)(?=\\()",beginCaptures:{0:{name:"support.function.shape.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{match:"\\bat\\b",name:"keyword.other.less"},{match:"\\b(top|right|bottom|left|center|closest-side|farthest-side)\\b",name:"support.constant.property-value.less"},{include:"#length-type"},{include:"#percentage-type"}]}]},{begin:"\\b(polygon)(?=\\()",beginCaptures:{0:{name:"support.function.shape.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{match:"\\b(nonzero|evenodd)\\b",name:"support.constant.property-value.less"},{include:"#length-type"},{include:"#percentage-type"}]}]}]},"steps-function":{begin:"\\b(steps)(\\()",beginCaptures:{1:{name:"support.function.timing.less"},2:{name:"punctuation.definition.group.begin.less"}},contentName:"meta.group.less",end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{match:"jump-start|jump-end|jump-none|jump-both|start|end",name:"support.constant.step-position.less"},{include:"#comma-delimiter"},{include:"#integer-type"},{include:"#less-variables"},{include:"#var-function"},{include:"#calc-function"}]},"string-content":{patterns:[{include:"#less-variable-interpolation"},{match:"\\\\\\s*\\n",name:"constant.character.escape.newline.less"},{match:"\\\\(\\h{1,6}|.)",name:"constant.character.escape.less"}]},"style-function":{begin:"\\b(style)(?=\\()",beginCaptures:{0:{name:"support.function.style.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#rule-list-body"}]}]},"symbols-function":{begin:"\\b(symbols)(?=\\()",beginCaptures:{1:{name:"support.function.counter.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{match:"\\b(cyclic|numeric|alphabetic|symbolic|fixed)\\b",name:"support.constant.symbol-type.less"},{include:"#comma-delimiter"},{include:"#literal-string"},{include:"#image-type"}]}]},"time-type":{captures:{1:{name:"keyword.other.unit.less"}},match:"(?i:[-+]?(?:(?:\\d*\\.\\d+(?:[eE](?:[-+]?\\d+))*)|(?:[-+]?\\d+))(s|ms))\\b",name:"constant.numeric.less"},"transform-functions":{patterns:[{begin:"\\b(matrix3d|scale3d|matrix|scale)(?=\\()",beginCaptures:{0:{name:"support.function.transform.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#comma-delimiter"},{include:"#number-type"},{include:"#less-variables"},{include:"#var-function"}]}]},{begin:"\\b(translate(3d)?)(?=\\()",beginCaptures:{0:{name:"support.function.transform.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#comma-delimiter"},{include:"#percentage-type"},{include:"#length-type"},{include:"#number-type"},{include:"#less-variables"},{include:"#var-function"}]}]},{begin:"\\b(translate[XY])(?=\\()",beginCaptures:{0:{name:"support.function.transform.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#percentage-type"},{include:"#length-type"},{include:"#number-type"},{include:"#less-variables"},{include:"#var-function"}]}]},{begin:"\\b(rotate[XYZ]?|skew[XY])(?=\\()",beginCaptures:{0:{name:"support.function.transform.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#angle-type"},{include:"#less-variables"},{include:"#calc-function"},{include:"#var-function"}]}]},{begin:"\\b(skew)(?=\\()",beginCaptures:{0:{name:"support.function.transform.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#comma-delimiter"},{include:"#angle-type"},{include:"#less-variables"},{include:"#calc-function"},{include:"#var-function"}]}]},{begin:"\\b(translateZ|perspective)(?=\\()",beginCaptures:{0:{name:"support.function.transform.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#length-type"},{include:"#less-variables"},{include:"#calc-function"},{include:"#var-function"}]}]},{begin:"\\b(rotate3d)(?=\\()",beginCaptures:{0:{name:"support.function.transform.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#comma-delimiter"},{include:"#angle-type"},{include:"#number-type"},{include:"#less-variables"},{include:"#calc-function"},{include:"#var-function"}]}]},{begin:"\\b(scale[XYZ])(?=\\()",beginCaptures:{0:{name:"support.function.transform.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#comma-delimiter"},{include:"#number-type"},{include:"#less-variables"},{include:"#calc-function"},{include:"#var-function"}]}]}]},"unicode-range":{captures:{1:{name:"support.constant.unicode-range.prefix.less"},2:{name:"constant.codepoint-range.less"},3:{name:"punctuation.section.range.less"}},match:"(?i)(u\\+)([0-9a-f?]{1,6}(?:(-)[0-9a-f]{1,6})?)",name:"support.unicode-range.less"},"unquoted-string":{match:`[^\\s'"]`,name:"string.unquoted.less"},"url-function":{begin:"\\b(url)(?=\\()",beginCaptures:{1:{name:"support.function.url.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#less-variables"},{include:"#literal-string"},{include:"#unquoted-string"},{include:"#var-function"}]}]},"value-separator":{captures:{1:{name:"punctuation.separator.less"}},match:"\\s*(/)\\s*"},"var-function":{begin:"\\b(var)(?=\\()",beginCaptures:{1:{name:"support.function.var.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{include:"#comma-delimiter"},{include:"#custom-property-name"},{include:"#less-variables"},{include:"#property-values"}]}]},"view-function":{begin:"\\b(view)(?=\\()",beginCaptures:{1:{name:"support.function.view.less"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.end.less"}},name:"meta.function-call.less",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.group.begin.less"}},end:"(?=\\))",patterns:[{match:"block|inline|x|y|auto",name:"support.constant.property-value.less"},{include:"#percentage-type"},{include:"#length-type"},{include:"#less-variables"},{include:"#var-function"},{include:"#calc-function"},{include:"#arbitrary-repetition"}]}]}},scopeName:"source.css.less"});var $=[x];const k=Object.freeze({displayName:"JSX",name:"jsx",patterns:[{include:"#directives"},{include:"#statements"},{include:"#shebang"}],repository:{"access-modifier":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.js.jsx"},"after-operator-block-as-object-literal":{begin:"(?<!\\+\\+|--)(?<=[:=(,\\[?+!>]|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^yield|[^\\._$0-9A-Za-z]yield|^throw|[^\\._$0-9A-Za-z]throw|^in|[^\\._$0-9A-Za-z]in|^of|[^\\._$0-9A-Za-z]of|^typeof|[^\\._$0-9A-Za-z]typeof|&&|\\|\\||\\*)\\s*(\\{)",beginCaptures:{1:{name:"punctuation.definition.block.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},name:"meta.objectliteral.js.jsx",patterns:[{include:"#object-member"}]},"array-binding-pattern":{begin:"(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"punctuation.definition.binding-pattern.array.js.jsx"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js.jsx"}},patterns:[{include:"#binding-element"},{include:"#punctuation-comma"}]},"array-binding-pattern-const":{begin:"(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"punctuation.definition.binding-pattern.array.js.jsx"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js.jsx"}},patterns:[{include:"#binding-element-const"},{include:"#punctuation-comma"}]},"array-literal":{begin:"\\s*(\\[)",beginCaptures:{1:{name:"meta.brace.square.js.jsx"}},end:"\\]",endCaptures:{0:{name:"meta.brace.square.js.jsx"}},name:"meta.array.literal.js.jsx",patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},"arrow-function":{patterns:[{captures:{1:{name:"storage.modifier.async.js.jsx"},2:{name:"variable.parameter.js.jsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(\\basync)\\s+)?([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?==>)",name:"meta.arrow.js.jsx"},{begin:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(\\basync))?((?<![})!\\]])\\s*(?=((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))",beginCaptures:{1:{name:"storage.modifier.async.js.jsx"}},end:"(?==>|\\{|(^\\s*(export|function|class|interface|let|var|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|const|import|enum|namespace|module|type|abstract|declare)\\s+))",name:"meta.arrow.js.jsx",patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#arrow-return-type"},{include:"#possibly-arrow-return-type"}]},{begin:"=>",beginCaptures:{0:{name:"storage.type.function.arrow.js.jsx"}},end:"((?<=\\}|\\S)(?<!=>)|((?!\\{)(?=\\S)))(?!\\/[\\/\\*])",name:"meta.arrow.js.jsx",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#decl-block"},{include:"#expression"}]}]},"arrow-return-type":{begin:"(?<=\\))\\s*(:)",beginCaptures:{1:{name:"keyword.operator.type.annotation.js.jsx"}},end:"(?==>|\\{|(^\\s*(export|function|class|interface|let|var|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|const|import|enum|namespace|module|type|abstract|declare)\\s+))",name:"meta.return.type.arrow.js.jsx",patterns:[{include:"#arrow-return-type-body"}]},"arrow-return-type-body":{patterns:[{begin:"(?<=[:])(?=\\s*\\{)",end:"(?<=\\})",patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"async-modifier":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(async)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.async.js.jsx"},"binding-element":{patterns:[{include:"#comment"},{include:"#string"},{include:"#numeric-literal"},{include:"#regex"},{include:"#object-binding-pattern"},{include:"#array-binding-pattern"},{include:"#destructuring-variable-rest"},{include:"#variable-initializer"}]},"binding-element-const":{patterns:[{include:"#comment"},{include:"#string"},{include:"#numeric-literal"},{include:"#regex"},{include:"#object-binding-pattern-const"},{include:"#array-binding-pattern-const"},{include:"#destructuring-variable-rest-const"},{include:"#variable-initializer"}]},"boolean-literal":{patterns:[{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))true(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.boolean.true.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))false(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.boolean.false.js.jsx"}]},brackets:{patterns:[{begin:"{",end:"}|(?=\\*/)",patterns:[{include:"#brackets"}]},{begin:"\\[",end:"\\]|(?=\\*/)",patterns:[{include:"#brackets"}]}]},cast:{patterns:[{include:"#jsx"}]},"class-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(?:(abstract)\\s+)?\\b(class)\\b(?=\\s+|/[/*])",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.modifier.js.jsx"},4:{name:"storage.type.class.js.jsx"}},end:"(?<=\\})",name:"meta.class.js.jsx",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-declaration-or-expression-patterns":{patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{captures:{0:{name:"entity.name.type.class.js.jsx"}},match:"[_$A-Za-z][_$0-9A-Za-z]*"},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},"class-expression":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(class)\\b(?=\\s+|[<{]|\\/[\\/*])",beginCaptures:{1:{name:"storage.modifier.js.jsx"},2:{name:"storage.type.class.js.jsx"}},end:"(?<=\\})",name:"meta.class.js.jsx",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},patterns:[{include:"#comment"},{include:"#decorator"},{begin:"(?<=:)\\s*",end:"(?=\\s|[;),}\\]:\\-\\+]|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",patterns:[{include:"#expression"}]},{include:"#method-declaration"},{include:"#indexer-declaration"},{include:"#field-declaration"},{include:"#string"},{include:"#type-annotation"},{include:"#variable-initializer"},{include:"#access-modifier"},{include:"#property-accessor"},{include:"#async-modifier"},{include:"#after-operator-block-as-object-literal"},{include:"#decl-block"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"}]},"class-or-interface-heritage":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(extends|implements)\\b)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"storage.modifier.js.jsx"}},end:"(?=\\{)",patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{include:"#type-parameters"},{include:"#expressionWithoutIdentifiers"},{captures:{1:{name:"entity.name.type.module.js.jsx"},2:{name:"punctuation.accessor.js.jsx"},3:{name:"punctuation.accessor.optional.js.jsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))(?=\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\s*\\??\\.\\s*[_$A-Za-z][_$0-9A-Za-z]*)*\\s*)"},{captures:{1:{name:"entity.other.inherited-class.js.jsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)"},{include:"#expressionPunctuations"}]},comment:{patterns:[{begin:"/\\*\\*(?!/)",beginCaptures:{0:{name:"punctuation.definition.comment.js.jsx"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.js.jsx"}},name:"comment.block.documentation.js.jsx",patterns:[{include:"#docblock"}]},{begin:"(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?",beginCaptures:{1:{name:"punctuation.definition.comment.js.jsx"},2:{name:"storage.type.internaldeclaration.js.jsx"},3:{name:"punctuation.decorator.internaldeclaration.js.jsx"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.js.jsx"}},name:"comment.block.js.jsx"},{begin:"(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.js.jsx"},2:{name:"comment.line.double-slash.js.jsx"},3:{name:"punctuation.definition.comment.js.jsx"},4:{name:"storage.type.internaldeclaration.js.jsx"},5:{name:"punctuation.decorator.internaldeclaration.js.jsx"}},contentName:"comment.line.double-slash.js.jsx",end:"(?=$)"}]},"control-statement":{patterns:[{include:"#switch-statement"},{include:"#for-loop"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(catch|finally|throw|try)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.trycatch.js.jsx"},{captures:{1:{name:"keyword.control.loop.js.jsx"},2:{name:"entity.name.label.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|goto)\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|do|goto|while)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.loop.js.jsx"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(return)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{0:{name:"keyword.control.flow.js.jsx"}},end:"(?=[;}]|$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",patterns:[{include:"#expression"}]},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default|switch)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.switch.js.jsx"},{include:"#if-statement"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(else|if)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.conditional.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(with)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.with.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(package)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(debugger)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.other.debugger.js.jsx"}]},"decl-block":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},name:"meta.block.js.jsx",patterns:[{include:"#statements"}]},declaration:{patterns:[{include:"#decorator"},{include:"#var-expr"},{include:"#function-declaration"},{include:"#class-declaration"},{include:"#interface-declaration"},{include:"#enum-declaration"},{include:"#namespace-declaration"},{include:"#type-alias-declaration"},{include:"#import-equals-declaration"},{include:"#import-declaration"},{include:"#export-declaration"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(declare|export)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.js.jsx"}]},decorator:{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))\\@",beginCaptures:{0:{name:"punctuation.decorator.js.jsx"}},end:"(?=\\s)",name:"meta.decorator.js.jsx",patterns:[{include:"#expression"}]},"destructuring-const":{patterns:[{begin:"(?<!=|:|^of|[^\\._$0-9A-Za-z]of|^in|[^\\._$0-9A-Za-z]in)\\s*(?=\\{)",end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.object-binding-pattern-variable.js.jsx",patterns:[{include:"#object-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]},{begin:"(?<!=|:|^of|[^\\._$0-9A-Za-z]of|^in|[^\\._$0-9A-Za-z]in)\\s*(?=\\[)",end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.array-binding-pattern-variable.js.jsx",patterns:[{include:"#array-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-parameter":{patterns:[{begin:"(?<!=|:)\\s*(?:(\\.\\.\\.)\\s*)?(\\{)",beginCaptures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"punctuation.definition.binding-pattern.object.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js.jsx"}},name:"meta.parameter.object-binding-pattern.js.jsx",patterns:[{include:"#parameter-object-binding-element"}]},{begin:"(?<!=|:)\\s*(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"punctuation.definition.binding-pattern.array.js.jsx"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js.jsx"}},name:"meta.paramter.array-binding-pattern.js.jsx",patterns:[{include:"#parameter-binding-element"},{include:"#punctuation-comma"}]}]},"destructuring-parameter-rest":{captures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"variable.parameter.js.jsx"}},match:"(?:(\\.\\.\\.)\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)"},"destructuring-variable":{patterns:[{begin:"(?<!=|:|^of|[^\\._$0-9A-Za-z]of|^in|[^\\._$0-9A-Za-z]in)\\s*(?=\\{)",end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.object-binding-pattern-variable.js.jsx",patterns:[{include:"#object-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]},{begin:"(?<!=|:|^of|[^\\._$0-9A-Za-z]of|^in|[^\\._$0-9A-Za-z]in)\\s*(?=\\[)",end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.array-binding-pattern-variable.js.jsx",patterns:[{include:"#array-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-variable-rest":{captures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx"}},match:"(?:(\\.\\.\\.)\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)"},"destructuring-variable-rest-const":{captures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"meta.definition.variable.js.jsx variable.other.constant.js.jsx"}},match:"(?:(\\.\\.\\.)\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)"},directives:{begin:"^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)))+\\s*/>\\s*$)",beginCaptures:{1:{name:"punctuation.definition.comment.js.jsx"}},end:"(?=$)",name:"comment.line.triple-slash.directive.js.jsx",patterns:[{begin:"(<)(reference|amd-dependency|amd-module)",beginCaptures:{1:{name:"punctuation.definition.tag.directive.js.jsx"},2:{name:"entity.name.tag.directive.js.jsx"}},end:"/>",endCaptures:{0:{name:"punctuation.definition.tag.directive.js.jsx"}},name:"meta.tag.js.jsx",patterns:[{match:"path|types|no-default-lib|lib|name|resolution-mode",name:"entity.other.attribute-name.directive.js.jsx"},{match:"=",name:"keyword.operator.assignment.js.jsx"},{include:"#string"}]}]},docblock:{patterns:[{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.access-type.jsdoc"}},match:"((@)(?:access|api))\\s+(private|protected|public)\\b"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"},4:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},5:{name:"constant.other.email.link.underline.jsdoc"},6:{name:"punctuation.definition.bracket.angle.end.jsdoc"}},match:"((@)author)\\s+([^@\\s<>*/](?:[^@<>*/]|\\*[^/])*)(?:\\s*(<)([^>\\s]+)(>))?"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"},4:{name:"keyword.operator.control.jsdoc"},5:{name:"entity.name.type.instance.jsdoc"}},match:"((@)borrows)\\s+((?:[^@\\s*/]|\\*[^/])+)\\s+(as)\\s+((?:[^@\\s*/]|\\*[^/])+)"},{begin:"((@)example)\\s+",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=@|\\*/)",name:"meta.example.jsdoc",patterns:[{match:"^\\s\\*\\s+"},{begin:"\\G(<)caption(>)",beginCaptures:{0:{name:"entity.name.tag.inline.jsdoc"},1:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},2:{name:"punctuation.definition.bracket.angle.end.jsdoc"}},contentName:"constant.other.description.jsdoc",end:"(</)caption(>)|(?=\\*/)",endCaptures:{0:{name:"entity.name.tag.inline.jsdoc"},1:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},2:{name:"punctuation.definition.bracket.angle.end.jsdoc"}}},{captures:{0:{name:"source.embedded.js.jsx"}},match:"[^\\s@*](?:[^*]|\\*[^/])*"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.symbol-type.jsdoc"}},match:"((@)kind)\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\b"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.link.underline.jsdoc"},4:{name:"entity.name.type.instance.jsdoc"}},match:"((@)see)\\s+(?:((?=https?://)(?:[^\\s*]|\\*[^/])+)|((?!https?://|(?:\\[[^\\[\\]]*\\])?{@(?:link|linkcode|linkplain|tutorial)\\b)(?:[^@\\s*/]|\\*[^/])+))"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:"((@)template)\\s+([A-Za-z_$][\\w$.\\[\\]]*(?:\\s*,\\s*[A-Za-z_$][\\w$.\\[\\]]*)*)"},{begin:"((@)template)\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"},{match:"([A-Za-z_$][\\w$.\\[\\]]*)",name:"variable.other.jsdoc"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\s+([A-Za-z_$][\\w$.\\[\\]]*)"},{begin:"((@)typedef)\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"},{match:"(?:[^@\\s*/]|\\*[^/])+",name:"entity.name.type.instance.jsdoc"}]},{begin:"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"},{match:"([A-Za-z_$][\\w$.\\[\\]]*)",name:"variable.other.jsdoc"},{captures:{1:{name:"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},2:{name:"keyword.operator.assignment.jsdoc"},3:{name:"source.embedded.js.jsx"},4:{name:"punctuation.definition.optional-value.end.bracket.square.jsdoc"},5:{name:"invalid.illegal.syntax.jsdoc"}},match:`(\\[)\\s*[\\w$]+(?:(?:\\[\\])?\\.[\\w$]+)*(?:\\s*(=)\\s*((?>"(?:(?:\\*(?!/))|(?:\\\\(?!"))|[^*\\\\])*?"|'(?:(?:\\*(?!/))|(?:\\\\(?!'))|[^*\\\\])*?'|\\[(?:(?:\\*(?!/))|[^*])*?\\]|(?:(?:\\*(?!/))|\\s(?!\\s*\\])|\\[.*?(?:\\]|(?=\\*/))|[^*\\s\\[\\]])*)*))?\\s*(?:(\\])((?:[^*\\s]|\\*[^\\s/])+)?|(?=\\*/))`,name:"variable.other.jsdoc"}]},{begin:"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"}},match:"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\s+((?:[^{}@\\s*]|\\*[^/])+)"},{begin:`((@)(?:default(?:value)?|license|version))\\s+(([''"]))`,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"},4:{name:"punctuation.definition.string.begin.jsdoc"}},contentName:"variable.other.jsdoc",end:"(\\3)|(?=$|\\*/)",endCaptures:{0:{name:"variable.other.jsdoc"},1:{name:"punctuation.definition.string.end.jsdoc"}}},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:"((@)(?:default(?:value)?|license|tutorial|variation|version))\\s+([^\\s*]+)"},{captures:{1:{name:"punctuation.definition.block.tag.jsdoc"}},match:"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\b",name:"storage.type.class.jsdoc"},{include:"#inline-tags"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},match:"((@)(?:[_$A-Za-z][_$0-9A-Za-z]*))(?=\\s+)"}]},"enum-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?(?:\\b(const)\\s+)?\\b(enum)\\s+([_$A-Za-z][_$0-9A-Za-z]*)",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.modifier.js.jsx"},4:{name:"storage.type.enum.js.jsx"},5:{name:"entity.name.type.enum.js.jsx"}},end:"(?<=\\})",name:"meta.enum.declaration.js.jsx",patterns:[{include:"#comment"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},patterns:[{include:"#comment"},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)",beginCaptures:{0:{name:"variable.other.enummember.js.jsx"}},end:"(?=,|\\}|$)",patterns:[{include:"#comment"},{include:"#variable-initializer"}]},{begin:"(?=((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))",end:"(?=,|\\}|$)",patterns:[{include:"#string"},{include:"#array-literal"},{include:"#comment"},{include:"#variable-initializer"}]},{include:"#punctuation-comma"}]}]},"export-declaration":{patterns:[{captures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"keyword.control.as.js.jsx"},3:{name:"storage.type.namespace.js.jsx"},4:{name:"entity.name.type.module.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)\\s+(as)\\s+(namespace)\\s+([_$A-Za-z][_$0-9A-Za-z]*)"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?(?:(?:\\s*(=))|(?:\\s+(default)(?=\\s+)))",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"keyword.control.type.js.jsx"},3:{name:"keyword.operator.assignment.js.jsx"},4:{name:"keyword.control.default.js.jsx"}},end:"(?=$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",name:"meta.export.default.js.jsx",patterns:[{include:"#interface-declaration"},{include:"#expression"}]},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?\\b(?!(\\$)|(\\s*:))((?=\\s*[\\{*])|((?=\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\s|,))(?!\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"keyword.control.type.js.jsx"}},end:"(?=$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",name:"meta.export.js.jsx",patterns:[{include:"#import-export-declaration"}]}]},expression:{patterns:[{include:"#expressionWithoutIdentifiers"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-inside-possibly-arrow-parens":{patterns:[{include:"#expressionWithoutIdentifiers"},{include:"#comment"},{include:"#string"},{include:"#decorator"},{include:"#destructuring-parameter"},{captures:{1:{name:"storage.modifier.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{captures:{1:{name:"storage.modifier.js.jsx"},2:{name:"keyword.operator.rest.js.jsx"},3:{name:"entity.name.function.js.jsx variable.language.this.js.jsx"},4:{name:"entity.name.function.js.jsx"},5:{name:"keyword.operator.optional.js.jsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))"},{captures:{1:{name:"storage.modifier.js.jsx"},2:{name:"keyword.operator.rest.js.jsx"},3:{name:"variable.parameter.js.jsx variable.language.this.js.jsx"},4:{name:"variable.parameter.js.jsx"},5:{name:"keyword.operator.optional.js.jsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*[:,]|$)"},{include:"#type-annotation"},{include:"#variable-initializer"},{match:",",name:"punctuation.separator.parameter.js.jsx"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-operators":{patterns:[{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(await)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.flow.js.jsx"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))(?=\\s*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*\\*)",beginCaptures:{1:{name:"keyword.control.flow.js.jsx"}},end:"\\*",endCaptures:{0:{name:"keyword.generator.asterisk.js.jsx"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.control.flow.js.jsx"},2:{name:"keyword.generator.asterisk.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s*(\\*))?"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))delete(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.delete.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))in(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()",name:"keyword.operator.expression.in.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))of(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()",name:"keyword.operator.expression.of.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))instanceof(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.instanceof.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.new.js.jsx"},{include:"#typeof-operator"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))void(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.void.js.jsx"},{captures:{1:{name:"keyword.control.as.js.jsx"},2:{name:"storage.modifier.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*($|[;,:})\\]]))"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+",beginCaptures:{1:{name:"keyword.control.as.js.jsx"},2:{name:"keyword.control.satisfies.js.jsx"}},end:"(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+\\<))",patterns:[{include:"#type"}]},{match:"\\.\\.\\.",name:"keyword.operator.spread.js.jsx"},{match:"\\*=|(?<!\\()/=|%=|\\+=|\\-=",name:"keyword.operator.assignment.compound.js.jsx"},{match:"\\&=|\\^=|<<=|>>=|>>>=|\\|=",name:"keyword.operator.assignment.compound.bitwise.js.jsx"},{match:"<<|>>>|>>",name:"keyword.operator.bitwise.shift.js.jsx"},{match:"===|!==|==|!=",name:"keyword.operator.comparison.js.jsx"},{match:"<=|>=|<>|<|>",name:"keyword.operator.relational.js.jsx"},{captures:{1:{name:"keyword.operator.logical.js.jsx"},2:{name:"keyword.operator.assignment.compound.js.jsx"},3:{name:"keyword.operator.arithmetic.js.jsx"}},match:"(?<=[_$0-9A-Za-z])(\\!)\\s*(?:(/=)|(?:(/)(?![/*])))"},{match:"\\!|&&|\\|\\||\\?\\?",name:"keyword.operator.logical.js.jsx"},{match:"\\&|~|\\^|\\|",name:"keyword.operator.bitwise.js.jsx"},{match:"\\=",name:"keyword.operator.assignment.js.jsx"},{match:"--",name:"keyword.operator.decrement.js.jsx"},{match:"\\+\\+",name:"keyword.operator.increment.js.jsx"},{match:"%|\\*|/|-|\\+",name:"keyword.operator.arithmetic.js.jsx"},{begin:"(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))",end:"(?:(/=)|(?:(/)(?!\\*([^\\*]|(\\*[^\\/]))*\\*\\/)))",endCaptures:{1:{name:"keyword.operator.assignment.compound.js.jsx"},2:{name:"keyword.operator.arithmetic.js.jsx"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.operator.assignment.compound.js.jsx"},2:{name:"keyword.operator.arithmetic.js.jsx"}},match:"(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))"}]},expressionPunctuations:{patterns:[{include:"#punctuation-comma"},{include:"#punctuation-accessor"}]},expressionWithoutIdentifiers:{patterns:[{include:"#jsx"},{include:"#string"},{include:"#regex"},{include:"#comment"},{include:"#function-expression"},{include:"#class-expression"},{include:"#arrow-function"},{include:"#paren-expression-possibly-arrow"},{include:"#cast"},{include:"#ternary-expression"},{include:"#new-expr"},{include:"#instanceof-expr"},{include:"#object-literal"},{include:"#expression-operators"},{include:"#function-call"},{include:"#literal"},{include:"#support-objects"},{include:"#paren-expression"}]},"field-declaration":{begin:"(?<!\\()(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s+)?(?=\\s*((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|(\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(?:(?:(\\?)|(\\!))\\s*)?(=|:|;|,|\\}|$))",beginCaptures:{1:{name:"storage.modifier.js.jsx"}},end:"(?=\\}|;|,|$|(^(?!\\s*((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|(\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(?:(?:(\\?)|(\\!))\\s*)?(=|:|;|,|$))))|(?<=\\})",name:"meta.field.declaration.js.jsx",patterns:[{include:"#variable-initializer"},{include:"#type-annotation"},{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{include:"#comment"},{captures:{1:{name:"meta.definition.property.js.jsx entity.name.function.js.jsx"},2:{name:"keyword.operator.optional.js.jsx"},3:{name:"keyword.operator.definiteassignment.js.jsx"}},match:"(\\#?[_$A-Za-z][_$0-9A-Za-z]*)(?:(\\?)|(\\!))?(?=\\s*\\s*(=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))"},{match:"\\#?[_$A-Za-z][_$0-9A-Za-z]*",name:"meta.definition.property.js.jsx variable.object.property.js.jsx"},{match:"\\?",name:"keyword.operator.optional.js.jsx"},{match:"\\!",name:"keyword.operator.definiteassignment.js.jsx"}]},"for-loop":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))for(?=((\\s+|(\\s*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*))await)?\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)?(\\())",beginCaptures:{0:{name:"keyword.control.loop.js.jsx"}},end:"(?<=\\))",patterns:[{include:"#comment"},{match:"await",name:"keyword.control.loop.js.jsx"},{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.js.jsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js.jsx"}},patterns:[{include:"#var-expr"},{include:"#expression"},{include:"#punctuation-semicolon"}]}]},"function-body":{patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#return-type"},{include:"#type-function-return-type"},{include:"#decl-block"},{match:"\\*",name:"keyword.generator.asterisk.js.jsx"}]},"function-call":{patterns:[{begin:"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[\\)]))\\s*(?:(\\?\\.\\s*)|(\\!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?\\())",end:"(?<=\\))(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[\\)]))\\s*(?:(\\?\\.\\s*)|(\\!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?\\())",patterns:[{begin:"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))",end:"(?=\\s*(?:(\\?\\.\\s*)|(\\!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?\\())",name:"meta.function-call.js.jsx",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"},{include:"#paren-expression"}]},{begin:"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[\\)]))(<\\s*[\\{\\[\\(]\\s*$))",end:"(?<=\\>)(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[\\)]))(<\\s*[\\{\\[\\(]\\s*$))",patterns:[{begin:"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))",end:"(?=(<\\s*[\\{\\[\\(]\\s*$))",name:"meta.function-call.js.jsx",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"}]}]},"function-call-optionals":{patterns:[{match:"\\?\\.",name:"meta.function-call.js.jsx punctuation.accessor.optional.js.jsx"},{match:"\\!",name:"meta.function-call.js.jsx keyword.operator.definiteassignment.js.jsx"}]},"function-call-target":{patterns:[{include:"#support-function-call-identifiers"},{match:"(\\#?[_$A-Za-z][_$0-9A-Za-z]*)",name:"entity.name.function.js.jsx"}]},"function-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?(?:(async)\\s+)?(function\\b)(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\s*",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.modifier.async.js.jsx"},4:{name:"storage.type.function.js.jsx"},5:{name:"keyword.generator.asterisk.js.jsx"},6:{name:"meta.definition.function.js.jsx entity.name.function.js.jsx"}},end:"(?=;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))|(?<=\\})",name:"meta.function.js.jsx",patterns:[{include:"#function-name"},{include:"#function-body"}]},"function-expression":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(async)\\s+)?(function\\b)(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\s*",beginCaptures:{1:{name:"storage.modifier.async.js.jsx"},2:{name:"storage.type.function.js.jsx"},3:{name:"keyword.generator.asterisk.js.jsx"},4:{name:"meta.definition.function.js.jsx entity.name.function.js.jsx"}},end:"(?=;)|(?<=\\})",name:"meta.function.expression.js.jsx",patterns:[{include:"#function-name"},{include:"#single-line-comment-consuming-line-ending"},{include:"#function-body"}]},"function-name":{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"meta.definition.function.js.jsx entity.name.function.js.jsx"},"function-parameters":{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.js.jsx"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.js.jsx"}},name:"meta.parameters.js.jsx",patterns:[{include:"#function-parameters-body"}]},"function-parameters-body":{patterns:[{include:"#comment"},{include:"#string"},{include:"#decorator"},{include:"#destructuring-parameter"},{include:"#parameter-name"},{include:"#parameter-type-annotation"},{include:"#variable-initializer"},{match:",",name:"punctuation.separator.parameter.js.jsx"}]},identifiers:{patterns:[{include:"#object-identifiers"},{captures:{1:{name:"punctuation.accessor.js.jsx"},2:{name:"punctuation.accessor.optional.js.jsx"},3:{name:"entity.name.function.js.jsx"}},match:"(?:(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)(?=\\s*=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))"},{captures:{1:{name:"punctuation.accessor.js.jsx"},2:{name:"punctuation.accessor.optional.js.jsx"},3:{name:"variable.other.constant.property.js.jsx"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])"},{captures:{1:{name:"punctuation.accessor.js.jsx"},2:{name:"punctuation.accessor.optional.js.jsx"},3:{name:"variable.other.property.js.jsx"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)"},{match:"([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])",name:"variable.other.constant.js.jsx"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"variable.other.readwrite.js.jsx"}]},"if-statement":{patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bif\\s*(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))\\s*(?!\\{))",end:"(?=;|$|\\})",patterns:[{include:"#comment"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(if)\\s*(\\()",beginCaptures:{1:{name:"keyword.control.conditional.js.jsx"},2:{name:"meta.brace.round.js.jsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js.jsx"}},patterns:[{include:"#expression"}]},{begin:"(?<=\\))\\s*\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)*\\])+\\/([dgimsuy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",beginCaptures:{0:{name:"punctuation.definition.string.begin.js.jsx"}},end:"(/)([dgimsuy]*)",endCaptures:{1:{name:"punctuation.definition.string.end.js.jsx"},2:{name:"keyword.other.js.jsx"}},name:"string.regexp.js.jsx",patterns:[{include:"#regexp"}]},{include:"#statements"}]}]},"import-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(import)(?:\\s+(type)(?!\\s+from))?(?!\\s*[:\\(])(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"keyword.control.import.js.jsx"},4:{name:"keyword.control.type.js.jsx"}},end:"(?<!^import|[^\\._$0-9A-Za-z]import)(?=;|$|^)",name:"meta.import.js.jsx",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#string"},{begin:`(?<=^import|[^\\._$0-9A-Za-z]import)(?!\\s*["'])`,end:"\\bfrom\\b",endCaptures:{0:{name:"keyword.control.from.js.jsx"}},patterns:[{include:"#import-export-declaration"}]},{include:"#import-export-declaration"}]},"import-equals-declaration":{patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\s*(=)\\s*(require)\\s*(\\()",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"keyword.control.import.js.jsx"},4:{name:"keyword.control.type.js.jsx"},5:{name:"variable.other.readwrite.alias.js.jsx"},6:{name:"keyword.operator.assignment.js.jsx"},7:{name:"keyword.control.require.js.jsx"},8:{name:"meta.brace.round.js.jsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js.jsx"}},name:"meta.import-equals.external.js.jsx",patterns:[{include:"#comment"},{include:"#string"}]},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\s*(=)\\s*(?!require\\b)",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"keyword.control.import.js.jsx"},4:{name:"keyword.control.type.js.jsx"},5:{name:"variable.other.readwrite.alias.js.jsx"},6:{name:"keyword.operator.assignment.js.jsx"}},end:"(?=;|$|^)",name:"meta.import-equals.internal.js.jsx",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{captures:{1:{name:"entity.name.type.module.js.jsx"},2:{name:"punctuation.accessor.js.jsx"},3:{name:"punctuation.accessor.optional.js.jsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))"},{match:"([_$A-Za-z][_$0-9A-Za-z]*)",name:"variable.other.readwrite.js.jsx"}]}]},"import-export-assert-clause":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(with)|(assert))\\s*(\\{)",beginCaptures:{1:{name:"keyword.control.with.js.jsx"},2:{name:"keyword.control.assert.js.jsx"},3:{name:"punctuation.definition.block.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},patterns:[{include:"#comment"},{include:"#string"},{match:"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)",name:"meta.object-literal.key.js.jsx"},{match:":",name:"punctuation.separator.key-value.js.jsx"}]},"import-export-block":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},name:"meta.block.js.jsx",patterns:[{include:"#import-export-clause"}]},"import-export-clause":{patterns:[{include:"#comment"},{captures:{1:{name:"keyword.control.type.js.jsx"},2:{name:"keyword.control.default.js.jsx"},3:{name:"constant.language.import-export-all.js.jsx"},4:{name:"variable.other.readwrite.js.jsx"},5:{name:"keyword.control.as.js.jsx"},6:{name:"keyword.control.default.js.jsx"},7:{name:"variable.other.readwrite.alias.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(?:(\\btype)\\s+)?(?:(\\bdefault)|(\\*)|(\\b[_$A-Za-z][_$0-9A-Za-z]*)))\\s+(as)\\s+(?:(default(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|([_$A-Za-z][_$0-9A-Za-z]*))"},{include:"#punctuation-comma"},{match:"\\*",name:"constant.language.import-export-all.js.jsx"},{match:"\\b(default)\\b",name:"keyword.control.default.js.jsx"},{captures:{1:{name:"keyword.control.type.js.jsx"},2:{name:"variable.other.readwrite.alias.js.jsx"}},match:"(?:(\\btype)\\s+)?([_$A-Za-z][_$0-9A-Za-z]*)"}]},"import-export-declaration":{patterns:[{include:"#comment"},{include:"#string"},{include:"#import-export-block"},{match:"\\bfrom\\b",name:"keyword.control.from.js.jsx"},{include:"#import-export-assert-clause"},{include:"#import-export-clause"}]},"indexer-declaration":{begin:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s*)?\\s*(\\[)\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=:)",beginCaptures:{1:{name:"storage.modifier.js.jsx"},2:{name:"meta.brace.square.js.jsx"},3:{name:"variable.parameter.js.jsx"}},end:"(\\])\\s*(\\?\\s*)?|$",endCaptures:{1:{name:"meta.brace.square.js.jsx"},2:{name:"keyword.operator.optional.js.jsx"}},name:"meta.indexer.declaration.js.jsx",patterns:[{include:"#type-annotation"}]},"indexer-mapped-type-declaration":{begin:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))([+-])?(readonly)\\s*)?\\s*(\\[)\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\s+(in)\\s+",beginCaptures:{1:{name:"keyword.operator.type.modifier.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"meta.brace.square.js.jsx"},4:{name:"entity.name.type.js.jsx"},5:{name:"keyword.operator.expression.in.js.jsx"}},end:"(\\])([+-])?\\s*(\\?\\s*)?|$",endCaptures:{1:{name:"meta.brace.square.js.jsx"},2:{name:"keyword.operator.type.modifier.js.jsx"},3:{name:"keyword.operator.optional.js.jsx"}},name:"meta.indexer.mappedtype.declaration.js.jsx",patterns:[{captures:{1:{name:"keyword.control.as.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+"},{include:"#type"}]},"inline-tags":{patterns:[{captures:{1:{name:"punctuation.definition.bracket.square.begin.jsdoc"},2:{name:"punctuation.definition.bracket.square.end.jsdoc"}},match:"(\\[)[^\\]]+(\\])(?={@(?:link|linkcode|linkplain|tutorial))",name:"constant.other.description.jsdoc"},{begin:"({)((@)(?:link(?:code|plain)?|tutorial))\\s*",beginCaptures:{1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"},2:{name:"storage.type.class.jsdoc"},3:{name:"punctuation.definition.inline.tag.jsdoc"}},end:"}|(?=\\*/)",endCaptures:{0:{name:"punctuation.definition.bracket.curly.end.jsdoc"}},name:"entity.name.type.instance.jsdoc",patterns:[{captures:{1:{name:"variable.other.link.underline.jsdoc"},2:{name:"punctuation.separator.pipe.jsdoc"}},match:"\\G((?=https?://)(?:[^|}\\s*]|\\*[/])+)(\\|)?"},{captures:{1:{name:"variable.other.description.jsdoc"},2:{name:"punctuation.separator.pipe.jsdoc"}},match:"\\G((?:[^{}@\\s|*]|\\*[^/])+)(\\|)?"}]}]},"instanceof-expr":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(instanceof)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"keyword.operator.expression.instanceof.js.jsx"}},end:"(?<=\\))|(?=[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|(===|!==|==|!=)|(([\\&\\~\\^\\|]\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s+instanceof(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\s*[\\(]))))",patterns:[{include:"#type"}]},"interface-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(?:(abstract)\\s+)?\\b(interface)\\b(?=\\s+|/[/*])",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.modifier.js.jsx"},4:{name:"storage.type.interface.js.jsx"}},end:"(?<=\\})",name:"meta.interface.js.jsx",patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{captures:{0:{name:"entity.name.type.interface.js.jsx"}},match:"[_$A-Za-z][_$0-9A-Za-z]*"},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},jsdoctype:{patterns:[{begin:"\\G({)",beginCaptures:{0:{name:"entity.name.type.instance.jsdoc"},1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"}},contentName:"entity.name.type.instance.jsdoc",end:"((}))\\s*|(?=\\*/)",endCaptures:{1:{name:"entity.name.type.instance.jsdoc"},2:{name:"punctuation.definition.bracket.curly.end.jsdoc"}},patterns:[{include:"#brackets"}]}]},jsx:{patterns:[{include:"#jsx-tag-without-attributes-in-expression"},{include:"#jsx-tag-in-expression"}]},"jsx-children":{patterns:[{include:"#jsx-tag-without-attributes"},{include:"#jsx-tag"},{include:"#jsx-evaluated-code"},{include:"#jsx-entities"}]},"jsx-entities":{patterns:[{captures:{1:{name:"punctuation.definition.entity.js.jsx"},3:{name:"punctuation.definition.entity.js.jsx"}},match:"(&)([a-zA-Z0-9]+|#\\d+|#x[0-9a-fA-F]+)(;)",name:"constant.character.entity.js.jsx"}]},"jsx-evaluated-code":{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.js.jsx"}},contentName:"meta.embedded.expression.js.jsx",end:"\\}",endCaptures:{0:{name:"punctuation.section.embedded.end.js.jsx"}},patterns:[{include:"#expression"}]},"jsx-string-double-quoted":{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.js.jsx"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.js.jsx"}},name:"string.quoted.double.js.jsx",patterns:[{include:"#jsx-entities"}]},"jsx-string-single-quoted":{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.js.jsx"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.js.jsx"}},name:"string.quoted.single.js.jsx",patterns:[{include:"#jsx-entities"}]},"jsx-tag":{begin:"(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))(?=((<\\s*)|(\\s+))(?!\\?)|\\/?>))",end:"(/>)|(?:(</)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))?\\s*(>))",endCaptures:{1:{name:"punctuation.definition.tag.end.js.jsx"},2:{name:"punctuation.definition.tag.begin.js.jsx"},3:{name:"entity.name.tag.namespace.js.jsx"},4:{name:"punctuation.separator.namespace.js.jsx"},5:{name:"entity.name.tag.js.jsx"},6:{name:"support.class.component.js.jsx"},7:{name:"punctuation.definition.tag.end.js.jsx"}},name:"meta.tag.js.jsx",patterns:[{begin:"(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))(?=((<\\s*)|(\\s+))(?!\\?)|\\/?>)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.js.jsx"},2:{name:"entity.name.tag.namespace.js.jsx"},3:{name:"punctuation.separator.namespace.js.jsx"},4:{name:"entity.name.tag.js.jsx"},5:{name:"support.class.component.js.jsx"}},end:"(?=[/]?>)",patterns:[{include:"#comment"},{include:"#type-arguments"},{include:"#jsx-tag-attributes"}]},{begin:"(>)",beginCaptures:{1:{name:"punctuation.definition.tag.end.js.jsx"}},contentName:"meta.jsx.children.js.jsx",end:"(?=</)",patterns:[{include:"#jsx-children"}]}]},"jsx-tag-attribute-assignment":{match:`=(?=\\s*(?:'|"|{|/\\*|//|\\n))`,name:"keyword.operator.assignment.js.jsx"},"jsx-tag-attribute-name":{captures:{1:{name:"entity.other.attribute-name.namespace.js.jsx"},2:{name:"punctuation.separator.namespace.js.jsx"},3:{name:"entity.other.attribute-name.js.jsx"}},match:"\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(:))?([_$A-Za-z][-_$0-9A-Za-z]*)(?=\\s|=|/?>|/\\*|//)"},"jsx-tag-attributes":{begin:"\\s+",end:"(?=[/]?>)",name:"meta.tag.attributes.js.jsx",patterns:[{include:"#comment"},{include:"#jsx-tag-attribute-name"},{include:"#jsx-tag-attribute-assignment"},{include:"#jsx-string-double-quoted"},{include:"#jsx-string-single-quoted"},{include:"#jsx-evaluated-code"},{include:"#jsx-tag-attributes-illegal"}]},"jsx-tag-attributes-illegal":{match:"\\S+",name:"invalid.illegal.attribute.js.jsx"},"jsx-tag-in-expression":{begin:"(?<!\\+\\+|--)(?<=[({\\[,?=>:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))(?=((<\\s*)|(\\s+))(?!\\?)|\\/?>))",end:"(?!(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))(?=((<\\s*)|(\\s+))(?!\\?)|\\/?>))",patterns:[{include:"#jsx-tag"}]},"jsx-tag-without-attributes":{begin:"(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))?\\s*(>)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.js.jsx"},2:{name:"entity.name.tag.namespace.js.jsx"},3:{name:"punctuation.separator.namespace.js.jsx"},4:{name:"entity.name.tag.js.jsx"},5:{name:"support.class.component.js.jsx"},6:{name:"punctuation.definition.tag.end.js.jsx"}},contentName:"meta.jsx.children.js.jsx",end:"(</)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))?\\s*(>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.js.jsx"},2:{name:"entity.name.tag.namespace.js.jsx"},3:{name:"punctuation.separator.namespace.js.jsx"},4:{name:"entity.name.tag.js.jsx"},5:{name:"support.class.component.js.jsx"},6:{name:"punctuation.definition.tag.end.js.jsx"}},name:"meta.tag.without-attributes.js.jsx",patterns:[{include:"#jsx-children"}]},"jsx-tag-without-attributes-in-expression":{begin:"(?<!\\+\\+|--)(?<=[({\\[,?=>:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))?\\s*(>))",end:"(?!(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))?\\s*(>))",patterns:[{include:"#jsx-tag-without-attributes"}]},label:{patterns:[{begin:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)(?=\\s*\\{)",beginCaptures:{1:{name:"entity.name.label.js.jsx"},2:{name:"punctuation.separator.label.js.jsx"}},end:"(?<=\\})",patterns:[{include:"#decl-block"}]},{captures:{1:{name:"entity.name.label.js.jsx"},2:{name:"punctuation.separator.label.js.jsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)"}]},literal:{patterns:[{include:"#numeric-literal"},{include:"#boolean-literal"},{include:"#null-literal"},{include:"#undefined-literal"},{include:"#numericConstant-literal"},{include:"#array-literal"},{include:"#this-literal"},{include:"#super-literal"}]},"method-declaration":{patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?\\s*\\b(constructor)\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"storage.modifier.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.modifier.js.jsx"},4:{name:"storage.modifier.async.js.jsx"},5:{name:"storage.type.js.jsx"}},end:"(?=\\}|;|,|$)|(?<=\\})",name:"meta.method.declaration.js.jsx",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:(?:\\s*\\b(new)\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(?:(\\*)\\s*)?)(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.modifier.js.jsx"},4:{name:"storage.modifier.async.js.jsx"},5:{name:"keyword.operator.new.js.jsx"},6:{name:"keyword.generator.asterisk.js.jsx"}},end:"(?=\\}|;|,|$)|(?<=\\})",name:"meta.method.declaration.js.jsx",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.modifier.js.jsx"},4:{name:"storage.modifier.async.js.jsx"},5:{name:"storage.type.property.js.jsx"},6:{name:"keyword.generator.asterisk.js.jsx"}},end:"(?=\\}|;|,|$)|(?<=\\})",name:"meta.method.declaration.js.jsx",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]}]},"method-declaration-name":{begin:"(?=((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??)\\s*[\\(\\<])",end:"(?=\\(|\\<)",patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"meta.definition.method.js.jsx entity.name.function.js.jsx"},{match:"\\?",name:"keyword.operator.optional.js.jsx"}]},"namespace-declaration":{begin:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(namespace|module)\\s+(?=[_$A-Za-z\"'`]))",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.type.namespace.js.jsx"}},end:"(?<=\\})|(?=;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",name:"meta.namespace.declaration.js.jsx",patterns:[{include:"#comment"},{include:"#string"},{match:"([_$A-Za-z][_$0-9A-Za-z]*)",name:"entity.name.type.module.js.jsx"},{include:"#punctuation-accessor"},{include:"#decl-block"}]},"new-expr":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"keyword.operator.new.js.jsx"}},end:"(?<=\\))|(?=[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\s*[\\(]))))",name:"new.expr.js.jsx",patterns:[{include:"#expression"}]},"null-literal":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))null(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.null.js.jsx"},"numeric-literal":{patterns:[{captures:{1:{name:"storage.type.numeric.bigint.js.jsx"}},match:"\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$)",name:"constant.numeric.hex.js.jsx"},{captures:{1:{name:"storage.type.numeric.bigint.js.jsx"}},match:"\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$)",name:"constant.numeric.binary.js.jsx"},{captures:{1:{name:"storage.type.numeric.bigint.js.jsx"}},match:"\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$)",name:"constant.numeric.octal.js.jsx"},{captures:{0:{name:"constant.numeric.decimal.js.jsx"},1:{name:"meta.delimiter.decimal.period.js.jsx"},2:{name:"storage.type.numeric.bigint.js.jsx"},3:{name:"meta.delimiter.decimal.period.js.jsx"},4:{name:"storage.type.numeric.bigint.js.jsx"},5:{name:"meta.delimiter.decimal.period.js.jsx"},6:{name:"storage.type.numeric.bigint.js.jsx"},7:{name:"storage.type.numeric.bigint.js.jsx"},8:{name:"meta.delimiter.decimal.period.js.jsx"},9:{name:"storage.type.numeric.bigint.js.jsx"},10:{name:"meta.delimiter.decimal.period.js.jsx"},11:{name:"storage.type.numeric.bigint.js.jsx"},12:{name:"meta.delimiter.decimal.period.js.jsx"},13:{name:"storage.type.numeric.bigint.js.jsx"},14:{name:"storage.type.numeric.bigint.js.jsx"}},match:"(?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$)"}]},"numericConstant-literal":{patterns:[{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))NaN(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.nan.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Infinity(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.infinity.js.jsx"}]},"object-binding-element":{patterns:[{include:"#comment"},{begin:"(?=((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",end:"(?=,|\\})",patterns:[{include:"#object-binding-element-propertyName"},{include:"#binding-element"}]},{include:"#object-binding-pattern"},{include:"#destructuring-variable-rest"},{include:"#variable-initializer"},{include:"#punctuation-comma"}]},"object-binding-element-const":{patterns:[{include:"#comment"},{begin:"(?=((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",end:"(?=,|\\})",patterns:[{include:"#object-binding-element-propertyName"},{include:"#binding-element-const"}]},{include:"#object-binding-pattern-const"},{include:"#destructuring-variable-rest-const"},{include:"#variable-initializer"},{include:"#punctuation-comma"}]},"object-binding-element-propertyName":{begin:"(?=((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",end:"(:)",endCaptures:{0:{name:"punctuation.destructuring.js.jsx"}},patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:"([_$A-Za-z][_$0-9A-Za-z]*)",name:"variable.object.property.js.jsx"}]},"object-binding-pattern":{begin:"(?:(\\.\\.\\.)\\s*)?(\\{)",beginCaptures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"punctuation.definition.binding-pattern.object.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js.jsx"}},patterns:[{include:"#object-binding-element"}]},"object-binding-pattern-const":{begin:"(?:(\\.\\.\\.)\\s*)?(\\{)",beginCaptures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"punctuation.definition.binding-pattern.object.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js.jsx"}},patterns:[{include:"#object-binding-element-const"}]},"object-identifiers":{patterns:[{match:"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\s*\\??\\.\\s*prototype\\b(?!\\$))",name:"support.class.js.jsx"},{captures:{1:{name:"punctuation.accessor.js.jsx"},2:{name:"punctuation.accessor.optional.js.jsx"},3:{name:"variable.other.constant.object.property.js.jsx"},4:{name:"variable.other.object.property.js.jsx"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(?:(\\#?[A-Z][_$\\dA-Z]*)|(\\#?[_$A-Za-z][_$0-9A-Za-z]*))(?=\\s*\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*)"},{captures:{1:{name:"variable.other.constant.object.js.jsx"},2:{name:"variable.other.object.js.jsx"}},match:"(?:([A-Z][_$\\dA-Z]*)|([_$A-Za-z][_$0-9A-Za-z]*))(?=\\s*\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*)"}]},"object-literal":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},name:"meta.objectliteral.js.jsx",patterns:[{include:"#object-member"}]},"object-literal-method-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.async.js.jsx"},2:{name:"storage.type.property.js.jsx"},3:{name:"keyword.generator.asterisk.js.jsx"}},end:"(?=\\}|;|,)|(?<=\\})",name:"meta.method.declaration.js.jsx",patterns:[{include:"#method-declaration-name"},{include:"#function-body"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.async.js.jsx"},2:{name:"storage.type.property.js.jsx"},3:{name:"keyword.generator.asterisk.js.jsx"}},end:"(?=\\(|\\<)",patterns:[{include:"#method-declaration-name"}]}]},"object-member":{patterns:[{include:"#comment"},{include:"#object-literal-method-declaration"},{begin:"(?=\\[)",end:"(?=:)|((?<=[\\]])(?=\\s*[\\(\\<]))",name:"meta.object.member.js.jsx meta.object-literal.key.js.jsx",patterns:[{include:"#comment"},{include:"#array-literal"}]},{begin:"(?=[\\'\\\"\\`])",end:"(?=:)|((?<=[\\'\\\"\\`])(?=((\\s*[\\(\\<,}])|(\\s+(as|satisifies)\\s+))))",name:"meta.object.member.js.jsx meta.object-literal.key.js.jsx",patterns:[{include:"#comment"},{include:"#string"}]},{begin:"(?=(\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$)))",end:"(?=:)|(?=\\s*([\\(\\<,}])|(\\s+as|satisifies\\s+))",name:"meta.object.member.js.jsx meta.object-literal.key.js.jsx",patterns:[{include:"#comment"},{include:"#numeric-literal"}]},{begin:"(?<=[\\]\\'\\\"\\`])(?=\\s*[\\(\\<])",end:"(?=\\}|;|,)|(?<=\\})",name:"meta.method.declaration.js.jsx",patterns:[{include:"#function-body"}]},{captures:{0:{name:"meta.object-literal.key.js.jsx"},1:{name:"constant.numeric.decimal.js.jsx"}},match:"(?![_$A-Za-z])([\\d]+)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)",name:"meta.object.member.js.jsx"},{captures:{0:{name:"meta.object-literal.key.js.jsx"},1:{name:"entity.name.function.js.jsx"}},match:"(?:([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:(\\s*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/)*\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))",name:"meta.object.member.js.jsx"},{captures:{0:{name:"meta.object-literal.key.js.jsx"}},match:"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)",name:"meta.object.member.js.jsx"},{begin:"\\.\\.\\.",beginCaptures:{0:{name:"keyword.operator.spread.js.jsx"}},end:"(?=,|\\})",name:"meta.object.member.js.jsx",patterns:[{include:"#expression"}]},{captures:{1:{name:"variable.other.readwrite.js.jsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=,|\\}|$|\\/\\/|\\/\\*)",name:"meta.object.member.js.jsx"},{captures:{1:{name:"keyword.control.as.js.jsx"},2:{name:"storage.modifier.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*([,}]|$))",name:"meta.object.member.js.jsx"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+",beginCaptures:{1:{name:"keyword.control.as.js.jsx"},2:{name:"keyword.control.satisfies.js.jsx"}},end:"(?=[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|^|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisifies)\\s+))",name:"meta.object.member.js.jsx",patterns:[{include:"#type"}]},{begin:"(?=[_$A-Za-z][_$0-9A-Za-z]*\\s*=)",end:"(?=,|\\}|$|\\/\\/|\\/\\*)",name:"meta.object.member.js.jsx",patterns:[{include:"#expression"}]},{begin:":",beginCaptures:{0:{name:"meta.object-literal.key.js.jsx punctuation.separator.key-value.js.jsx"}},end:"(?=,|\\})",name:"meta.object.member.js.jsx",patterns:[{begin:"(?<=:)\\s*(async)?(?=\\s*(<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)\\(\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))",beginCaptures:{1:{name:"storage.modifier.async.js.jsx"}},end:"(?<=\\))",patterns:[{include:"#type-parameters"},{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.js.jsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js.jsx"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},{begin:"(?<=:)\\s*(async)?\\s*(\\()(?=\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))",beginCaptures:{1:{name:"storage.modifier.async.js.jsx"},2:{name:"meta.brace.round.js.jsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js.jsx"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]},{begin:"(?<=:)\\s*(async)?\\s*(?=\\<\\s*$)",beginCaptures:{1:{name:"storage.modifier.async.js.jsx"}},end:"(?<=\\>)",patterns:[{include:"#type-parameters"}]},{begin:"(?<=\\>)\\s*(\\()(?=\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))",beginCaptures:{1:{name:"meta.brace.round.js.jsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js.jsx"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]},{include:"#possibly-arrow-return-type"},{include:"#expression"}]},{include:"#punctuation-comma"},{include:"#decl-block"}]},"parameter-array-binding-pattern":{begin:"(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"punctuation.definition.binding-pattern.array.js.jsx"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js.jsx"}},patterns:[{include:"#parameter-binding-element"},{include:"#punctuation-comma"}]},"parameter-binding-element":{patterns:[{include:"#comment"},{include:"#string"},{include:"#numeric-literal"},{include:"#regex"},{include:"#parameter-object-binding-pattern"},{include:"#parameter-array-binding-pattern"},{include:"#destructuring-parameter-rest"},{include:"#variable-initializer"}]},"parameter-name":{patterns:[{captures:{1:{name:"storage.modifier.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{captures:{1:{name:"storage.modifier.js.jsx"},2:{name:"keyword.operator.rest.js.jsx"},3:{name:"entity.name.function.js.jsx variable.language.this.js.jsx"},4:{name:"entity.name.function.js.jsx"},5:{name:"keyword.operator.optional.js.jsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))"},{captures:{1:{name:"storage.modifier.js.jsx"},2:{name:"keyword.operator.rest.js.jsx"},3:{name:"variable.parameter.js.jsx variable.language.this.js.jsx"},4:{name:"variable.parameter.js.jsx"},5:{name:"keyword.operator.optional.js.jsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)"}]},"parameter-object-binding-element":{patterns:[{include:"#comment"},{begin:"(?=((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",end:"(?=,|\\})",patterns:[{include:"#object-binding-element-propertyName"},{include:"#parameter-binding-element"},{include:"#paren-expression"}]},{include:"#parameter-object-binding-pattern"},{include:"#destructuring-parameter-rest"},{include:"#variable-initializer"},{include:"#punctuation-comma"}]},"parameter-object-binding-pattern":{begin:"(?:(\\.\\.\\.)\\s*)?(\\{)",beginCaptures:{1:{name:"keyword.operator.rest.js.jsx"},2:{name:"punctuation.definition.binding-pattern.object.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js.jsx"}},patterns:[{include:"#parameter-object-binding-element"}]},"parameter-type-annotation":{patterns:[{begin:"(:)",beginCaptures:{1:{name:"keyword.operator.type.annotation.js.jsx"}},end:"(?=[,)])|(?==[^>])",name:"meta.type.annotation.js.jsx",patterns:[{include:"#type"}]}]},"paren-expression":{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.js.jsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js.jsx"}},patterns:[{include:"#expression"}]},"paren-expression-possibly-arrow":{patterns:[{begin:"(?<=[(=,])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?\\(\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))",beginCaptures:{1:{name:"storage.modifier.async.js.jsx"}},end:"(?<=\\))",patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{begin:"(?<=[(=,]|=>|^return|[^\\._$0-9A-Za-z]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)))\\s*$)",beginCaptures:{1:{name:"storage.modifier.async.js.jsx"}},end:"(?<=\\))",patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{include:"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{patterns:[{include:"#type-parameters"},{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.js.jsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js.jsx"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{begin:"(?<=\\)|^)\\s*(:)(?=\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*=>)",beginCaptures:{1:{name:"meta.arrow.js.jsx meta.return.type.arrow.js.jsx keyword.operator.type.annotation.js.jsx"}},contentName:"meta.arrow.js.jsx meta.return.type.arrow.js.jsx",end:"(?==>|\\{|(^\\s*(export|function|class|interface|let|var|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|const|import|enum|namespace|module|type|abstract|declare)\\s+))",patterns:[{include:"#arrow-return-type-body"}]},"property-accessor":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(accessor|get|set)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.type.property.js.jsx"},"punctuation-accessor":{captures:{1:{name:"punctuation.accessor.js.jsx"},2:{name:"punctuation.accessor.optional.js.jsx"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))"},"punctuation-comma":{match:",",name:"punctuation.separator.comma.js.jsx"},"punctuation-semicolon":{match:";",name:"punctuation.terminator.statement.js.jsx"},"qstring-double":{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.js.jsx"}},end:'(")|((?:[^\\\\\\n])$)',endCaptures:{1:{name:"punctuation.definition.string.end.js.jsx"},2:{name:"invalid.illegal.newline.js.jsx"}},name:"string.quoted.double.js.jsx",patterns:[{include:"#string-character-escape"}]},"qstring-single":{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.js.jsx"}},end:"(\\')|((?:[^\\\\\\n])$)",endCaptures:{1:{name:"punctuation.definition.string.end.js.jsx"},2:{name:"invalid.illegal.newline.js.jsx"}},name:"string.quoted.single.js.jsx",patterns:[{include:"#string-character-escape"}]},regex:{patterns:[{begin:"(?<!\\+\\+|--|})(?<=[=(:,\\[?+!]|^return|[^\\._$0-9A-Za-z]return|^case|[^\\._$0-9A-Za-z]case|=>|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[\\()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^\\)\\\\]|\\\\.)+\\))+\\/([dgimsuy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",beginCaptures:{1:{name:"punctuation.definition.string.begin.js.jsx"}},end:"(/)([dgimsuy]*)",endCaptures:{1:{name:"punctuation.definition.string.end.js.jsx"},2:{name:"keyword.other.js.jsx"}},name:"string.regexp.js.jsx",patterns:[{include:"#regexp"}]},{begin:"((?<![_$0-9A-Za-z)\\]]|\\+\\+|--|}|\\*\\/)|((?<=^return|[^\\._$0-9A-Za-z]return|^case|[^\\._$0-9A-Za-z]case))\\s*)\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)*\\])+\\/([dgimsuy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",beginCaptures:{0:{name:"punctuation.definition.string.begin.js.jsx"}},end:"(/)([dgimsuy]*)",endCaptures:{1:{name:"punctuation.definition.string.end.js.jsx"},2:{name:"keyword.other.js.jsx"}},name:"string.regexp.js.jsx",patterns:[{include:"#regexp"}]}]},"regex-character-class":{patterns:[{match:"\\\\[wWsSdDtrnvf]|\\.",name:"constant.other.character-class.regexp"},{match:"\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})",name:"constant.character.numeric.regexp"},{match:"\\\\c[A-Z]",name:"constant.character.control.regexp"},{match:"\\\\.",name:"constant.character.escape.backslash.regexp"}]},regexp:{patterns:[{match:"\\\\[bB]|\\^|\\$",name:"keyword.control.anchor.regexp"},{captures:{0:{name:"keyword.other.back-reference.regexp"},1:{name:"variable.other.regexp"}},match:"\\\\[1-9]\\d*|\\\\k<([a-zA-Z_$][\\w$]*)>"},{match:"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??",name:"keyword.operator.quantifier.regexp"},{match:"\\|",name:"keyword.operator.or.regexp"},{begin:"(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?<!))",beginCaptures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"punctuation.definition.group.assertion.regexp"},3:{name:"meta.assertion.look-ahead.regexp"},4:{name:"meta.assertion.negative-look-ahead.regexp"},5:{name:"meta.assertion.look-behind.regexp"},6:{name:"meta.assertion.negative-look-behind.regexp"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.group.regexp"}},name:"meta.group.assertion.regexp",patterns:[{include:"#regexp"}]},{begin:"\\((?:(\\?:)|(?:\\?<([a-zA-Z_$][\\w$]*)>))?",beginCaptures:{0:{name:"punctuation.definition.group.regexp"},1:{name:"punctuation.definition.group.no-capture.regexp"},2:{name:"variable.other.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#regexp"}]},{begin:"(\\[)(\\^)?",beginCaptures:{1:{name:"punctuation.definition.character-class.regexp"},2:{name:"keyword.operator.negation.regexp"}},end:"(\\])",endCaptures:{1:{name:"punctuation.definition.character-class.regexp"}},name:"constant.other.character-class.set.regexp",patterns:[{captures:{1:{name:"constant.character.numeric.regexp"},2:{name:"constant.character.control.regexp"},3:{name:"constant.character.escape.backslash.regexp"},4:{name:"constant.character.numeric.regexp"},5:{name:"constant.character.control.regexp"},6:{name:"constant.character.escape.backslash.regexp"}},match:"(?:.|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))",name:"constant.other.character-class.range.regexp"},{include:"#regex-character-class"}]},{include:"#regex-character-class"}]},"return-type":{patterns:[{begin:"(?<=\\))\\s*(:)(?=\\s*\\S)",beginCaptures:{1:{name:"keyword.operator.type.annotation.js.jsx"}},end:"(?<![:|&])(?=$|^|[{};,]|//)",name:"meta.return.type.js.jsx",patterns:[{include:"#return-type-core"}]},{begin:"(?<=\\))\\s*(:)",beginCaptures:{1:{name:"keyword.operator.type.annotation.js.jsx"}},end:"(?<![:|&])((?=[{};,]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))",name:"meta.return.type.js.jsx",patterns:[{include:"#return-type-core"}]}]},"return-type-core":{patterns:[{include:"#comment"},{begin:"(?<=[:|&])(?=\\s*\\{)",end:"(?<=\\})",patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},shebang:{captures:{1:{name:"punctuation.definition.comment.js.jsx"}},match:"\\A(#!).*(?=$)",name:"comment.line.shebang.js.jsx"},"single-line-comment-consuming-line-ending":{begin:"(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.js.jsx"},2:{name:"comment.line.double-slash.js.jsx"},3:{name:"punctuation.definition.comment.js.jsx"},4:{name:"storage.type.internaldeclaration.js.jsx"},5:{name:"punctuation.decorator.internaldeclaration.js.jsx"}},contentName:"comment.line.double-slash.js.jsx",end:"(?=^)"},statements:{patterns:[{include:"#declaration"},{include:"#control-statement"},{include:"#after-operator-block-as-object-literal"},{include:"#decl-block"},{include:"#label"},{include:"#expression"},{include:"#punctuation-semicolon"},{include:"#string"},{include:"#comment"}]},string:{patterns:[{include:"#qstring-single"},{include:"#qstring-double"},{include:"#template"}]},"string-character-escape":{match:"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)",name:"constant.character.escape.js.jsx"},"super-literal":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))super\\b(?!\\$)",name:"variable.language.super.js.jsx"},"support-function-call-identifiers":{patterns:[{include:"#literal"},{include:"#support-objects"},{include:"#object-identifiers"},{include:"#punctuation-accessor"},{match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*[\\(]\\s*[\\\"\\'\\`]))",name:"keyword.operator.expression.import.js.jsx"}]},"support-objects":{patterns:[{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(arguments)\\b(?!\\$)",name:"variable.language.arguments.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(Promise)\\b(?!\\$)",name:"support.class.promise.js.jsx"},{captures:{1:{name:"keyword.control.import.js.jsx"},2:{name:"punctuation.accessor.js.jsx"},3:{name:"punctuation.accessor.optional.js.jsx"},4:{name:"support.variable.property.importmeta.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(import)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(meta)\\b(?!\\$)"},{captures:{1:{name:"keyword.operator.new.js.jsx"},2:{name:"punctuation.accessor.js.jsx"},3:{name:"punctuation.accessor.optional.js.jsx"},4:{name:"support.variable.property.target.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(target)\\b(?!\\$)"},{captures:{1:{name:"punctuation.accessor.js.jsx"},2:{name:"punctuation.accessor.optional.js.jsx"},3:{name:"support.variable.property.js.jsx"},4:{name:"support.constant.js.jsx"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(?:(?:(constructor|length|prototype|__proto__)\\b(?!\\$|\\s*(<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))"},{captures:{1:{name:"support.type.object.module.js.jsx"},2:{name:"support.type.object.module.js.jsx"},3:{name:"punctuation.accessor.js.jsx"},4:{name:"punctuation.accessor.optional.js.jsx"},5:{name:"support.type.object.module.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(exports)|(module)(?:(?:(\\.)|(\\?\\.(?!\\s*[\\d])))(exports|id|filename|loaded|parent|children))?)\\b(?!\\$)"}]},"switch-statement":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bswitch\\s*\\()",end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},name:"switch-statement.expr.js.jsx",patterns:[{include:"#comment"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(switch)\\s*(\\()",beginCaptures:{1:{name:"keyword.control.switch.js.jsx"},2:{name:"meta.brace.round.js.jsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js.jsx"}},name:"switch-expression.expr.js.jsx",patterns:[{include:"#expression"}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},end:"(?=\\})",name:"switch-block.expr.js.jsx",patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default(?=:))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"keyword.control.switch.js.jsx"}},end:"(?=:)",name:"case-clause.expr.js.jsx",patterns:[{include:"#expression"}]},{begin:"(:)\\s*(\\{)",beginCaptures:{1:{name:"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx"},2:{name:"meta.block.js.jsx punctuation.definition.block.js.jsx"}},contentName:"meta.block.js.jsx",end:"\\}",endCaptures:{0:{name:"meta.block.js.jsx punctuation.definition.block.js.jsx"}},patterns:[{include:"#statements"}]},{captures:{0:{name:"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx"}},match:"(:)"},{include:"#statements"}]}]},template:{patterns:[{include:"#template-call"},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)?(`)",beginCaptures:{1:{name:"entity.name.function.tagged-template.js.jsx"},2:{name:"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx"}},contentName:"string.template.js.jsx",end:"`",endCaptures:{0:{name:"string.template.js.jsx punctuation.definition.string.template.end.js.jsx"}},patterns:[{include:"#template-substitution-element"},{include:"#string-character-escape"}]}]},"template-call":{patterns:[{begin:"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?`)",end:"(?=`)",patterns:[{begin:"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*))",end:"(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?`)",patterns:[{include:"#support-function-call-identifiers"},{match:"([_$A-Za-z][_$0-9A-Za-z]*)",name:"entity.name.function.tagged-template.js.jsx"}]},{include:"#type-arguments"}]},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)`)",beginCaptures:{1:{name:"entity.name.function.tagged-template.js.jsx"}},end:"(?=`)",patterns:[{include:"#type-arguments"}]}]},"template-substitution-element":{begin:"\\$\\{",beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.js.jsx"}},contentName:"meta.embedded.line.js.jsx",end:"\\}",endCaptures:{0:{name:"punctuation.definition.template-expression.end.js.jsx"}},name:"meta.template.expression.js.jsx",patterns:[{include:"#expression"}]},"template-type":{patterns:[{include:"#template-call"},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)?(`)",beginCaptures:{1:{name:"entity.name.function.tagged-template.js.jsx"},2:{name:"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx"}},contentName:"string.template.js.jsx",end:"`",endCaptures:{0:{name:"string.template.js.jsx punctuation.definition.string.template.end.js.jsx"}},patterns:[{include:"#template-type-substitution-element"},{include:"#string-character-escape"}]}]},"template-type-substitution-element":{begin:"\\$\\{",beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.js.jsx"}},contentName:"meta.embedded.line.js.jsx",end:"\\}",endCaptures:{0:{name:"punctuation.definition.template-expression.end.js.jsx"}},name:"meta.template.expression.js.jsx",patterns:[{include:"#type"}]},"ternary-expression":{begin:"(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)",beginCaptures:{1:{name:"keyword.operator.ternary.js.jsx"}},end:"\\s*(:)",endCaptures:{1:{name:"keyword.operator.ternary.js.jsx"}},patterns:[{include:"#expression"}]},"this-literal":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))this\\b(?!\\$)",name:"variable.language.this.js.jsx"},type:{patterns:[{include:"#comment"},{include:"#type-string"},{include:"#numeric-literal"},{include:"#type-primitive"},{include:"#type-builtin-literals"},{include:"#type-parameters"},{include:"#type-tuple"},{include:"#type-object"},{include:"#type-operators"},{include:"#type-conditional"},{include:"#type-fn-type-parameters"},{include:"#type-paren-or-function-parameters"},{include:"#type-function-return-type"},{captures:{1:{name:"storage.modifier.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*"},{include:"#type-name"}]},"type-alias-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(type)\\b\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\s*",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.type.type.js.jsx"},4:{name:"entity.name.type.alias.js.jsx"}},end:"(?=\\}|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",name:"meta.type.declaration.js.jsx",patterns:[{include:"#comment"},{include:"#type-parameters"},{begin:"(=)\\s*(intrinsic)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"keyword.operator.assignment.js.jsx"},2:{name:"keyword.control.intrinsic.js.jsx"}},end:"(?=\\}|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",patterns:[{include:"#type"}]},{begin:"(=)\\s*",beginCaptures:{1:{name:"keyword.operator.assignment.js.jsx"}},end:"(?=\\}|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",patterns:[{include:"#type"}]}]},"type-annotation":{patterns:[{begin:"(:)(?=\\s*\\S)",beginCaptures:{1:{name:"keyword.operator.type.annotation.js.jsx"}},end:"(?<![:|&])(?!\\s*[|&]\\s+)((?=^|[,);\\}\\]]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$A-Za-z])\\s*(?=\\{)))",name:"meta.type.annotation.js.jsx",patterns:[{include:"#type"}]},{begin:"(:)",beginCaptures:{1:{name:"keyword.operator.type.annotation.js.jsx"}},end:"(?<![:|&])((?=[,);\\}\\]]|\\/\\/)|(?==[^>])|(?=^\\s*$)|((?<=[\\}>\\]\\)]|[_$A-Za-z])\\s*(?=\\{)))",name:"meta.type.annotation.js.jsx",patterns:[{include:"#type"}]}]},"type-arguments":{begin:"\\<",beginCaptures:{0:{name:"punctuation.definition.typeparameters.begin.js.jsx"}},end:"\\>",endCaptures:{0:{name:"punctuation.definition.typeparameters.end.js.jsx"}},name:"meta.type.parameters.js.jsx",patterns:[{include:"#type-arguments-body"}]},"type-arguments-body":{patterns:[{captures:{0:{name:"keyword.operator.type.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(_)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))"},{include:"#type"},{include:"#punctuation-comma"}]},"type-builtin-literals":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(this|true|false|undefined|null|object)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"support.type.builtin.js.jsx"},"type-conditional":{patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends)\\s+",beginCaptures:{1:{name:"storage.modifier.js.jsx"}},end:"(?<=:)",patterns:[{begin:"\\?",beginCaptures:{0:{name:"keyword.operator.ternary.js.jsx"}},end:":",endCaptures:{0:{name:"keyword.operator.ternary.js.jsx"}},patterns:[{include:"#type"}]},{include:"#type"}]}]},"type-fn-type-parameters":{patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b(?=\\s*\\<)",beginCaptures:{1:{name:"meta.type.constructor.js.jsx storage.modifier.js.jsx"},2:{name:"meta.type.constructor.js.jsx keyword.control.new.js.jsx"}},end:"(?<=>)",patterns:[{include:"#comment"},{include:"#type-parameters"}]},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b\\s*(?=\\()",beginCaptures:{1:{name:"storage.modifier.js.jsx"},2:{name:"keyword.control.new.js.jsx"}},end:"(?<=\\))",name:"meta.type.constructor.js.jsx",patterns:[{include:"#function-parameters"}]},{begin:"((?=[(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>))))))",end:"(?<=\\))",name:"meta.type.function.js.jsx",patterns:[{include:"#function-parameters"}]}]},"type-function-return-type":{patterns:[{begin:"(=>)(?=\\s*\\S)",beginCaptures:{1:{name:"storage.type.function.arrow.js.jsx"}},end:"(?<!=>)(?<![|&])(?=[,\\]\\)\\{\\}=;>:\\?]|//|$)",name:"meta.type.function.return.js.jsx",patterns:[{include:"#type-function-return-type-core"}]},{begin:"=>",beginCaptures:{0:{name:"storage.type.function.arrow.js.jsx"}},end:"(?<!=>)(?<![|&])((?=[,\\]\\)\\{\\}=;:\\?>]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))",name:"meta.type.function.return.js.jsx",patterns:[{include:"#type-function-return-type-core"}]}]},"type-function-return-type-core":{patterns:[{include:"#comment"},{begin:"(?<==>)(?=\\s*\\{)",end:"(?<=\\})",patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"type-infer":{patterns:[{captures:{1:{name:"keyword.operator.expression.infer.js.jsx"},2:{name:"entity.name.type.js.jsx"},3:{name:"keyword.operator.expression.extends.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(infer)\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s+(extends)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))?",name:"meta.type.infer.js.jsx"}]},"type-name":{patterns:[{begin:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(<)",captures:{1:{name:"entity.name.type.module.js.jsx"},2:{name:"punctuation.accessor.js.jsx"},3:{name:"punctuation.accessor.optional.js.jsx"},4:{name:"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx"}},contentName:"meta.type.parameters.js.jsx",end:"(>)",endCaptures:{1:{name:"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx"}},patterns:[{include:"#type-arguments-body"}]},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(<)",beginCaptures:{1:{name:"entity.name.type.js.jsx"},2:{name:"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx"}},contentName:"meta.type.parameters.js.jsx",end:"(>)",endCaptures:{1:{name:"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx"}},patterns:[{include:"#type-arguments-body"}]},{captures:{1:{name:"entity.name.type.module.js.jsx"},2:{name:"punctuation.accessor.js.jsx"},3:{name:"punctuation.accessor.optional.js.jsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"entity.name.type.js.jsx"}]},"type-object":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.js.jsx"}},name:"meta.object.type.js.jsx",patterns:[{include:"#comment"},{include:"#method-declaration"},{include:"#indexer-declaration"},{include:"#indexer-mapped-type-declaration"},{include:"#field-declaration"},{include:"#type-annotation"},{begin:"\\.\\.\\.",beginCaptures:{0:{name:"keyword.operator.spread.js.jsx"}},end:"(?=\\}|;|,|$)|(?<=\\})",patterns:[{include:"#type"}]},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"},{include:"#type"}]},"type-operators":{patterns:[{include:"#typeof-operator"},{include:"#type-infer"},{begin:"([&|])(?=\\s*\\{)",beginCaptures:{0:{name:"keyword.operator.type.js.jsx"}},end:"(?<=\\})",patterns:[{include:"#type-object"}]},{begin:"[&|]",beginCaptures:{0:{name:"keyword.operator.type.js.jsx"}},end:"(?=\\S)"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))keyof(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.keyof.js.jsx"},{match:"(\\?|\\:)",name:"keyword.operator.ternary.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*\\()",name:"keyword.operator.expression.import.js.jsx"}]},"type-parameters":{begin:"(<)",beginCaptures:{1:{name:"punctuation.definition.typeparameters.begin.js.jsx"}},end:"(>)",endCaptures:{1:{name:"punctuation.definition.typeparameters.end.js.jsx"}},name:"meta.type.parameters.js.jsx",patterns:[{include:"#comment"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out|const)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.js.jsx"},{include:"#type"},{include:"#punctuation-comma"},{match:"(=)(?!>)",name:"keyword.operator.assignment.js.jsx"}]},"type-paren-or-function-parameters":{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.js.jsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.js.jsx"}},name:"meta.type.paren.cover.js.jsx",patterns:[{captures:{1:{name:"storage.modifier.js.jsx"},2:{name:"keyword.operator.rest.js.jsx"},3:{name:"entity.name.function.js.jsx variable.language.this.js.jsx"},4:{name:"entity.name.function.js.jsx"},5:{name:"keyword.operator.optional.js.jsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\s*(\\??)(?=\\s*(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))))"},{captures:{1:{name:"storage.modifier.js.jsx"},2:{name:"keyword.operator.rest.js.jsx"},3:{name:"variable.parameter.js.jsx variable.language.this.js.jsx"},4:{name:"variable.parameter.js.jsx"},5:{name:"keyword.operator.optional.js.jsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\s*(\\??)(?=:)"},{include:"#type-annotation"},{match:",",name:"punctuation.separator.parameter.js.jsx"},{include:"#type"}]},"type-predicate-operator":{patterns:[{captures:{1:{name:"keyword.operator.type.asserts.js.jsx"},2:{name:"variable.parameter.js.jsx variable.language.this.js.jsx"},3:{name:"variable.parameter.js.jsx"},4:{name:"keyword.operator.expression.is.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(asserts)\\s+)?(?!asserts)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\s(is)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))"},{captures:{1:{name:"keyword.operator.type.asserts.js.jsx"},2:{name:"variable.parameter.js.jsx variable.language.this.js.jsx"},3:{name:"variable.parameter.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(asserts)\\s+(?!is)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))asserts(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.type.asserts.js.jsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))is(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.is.js.jsx"}]},"type-primitive":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"support.type.primitive.js.jsx"},"type-string":{patterns:[{include:"#qstring-single"},{include:"#qstring-double"},{include:"#template-type"}]},"type-tuple":{begin:"\\[",beginCaptures:{0:{name:"meta.brace.square.js.jsx"}},end:"\\]",endCaptures:{0:{name:"meta.brace.square.js.jsx"}},name:"meta.type.tuple.js.jsx",patterns:[{match:"\\.\\.\\.",name:"keyword.operator.rest.js.jsx"},{captures:{1:{name:"entity.name.label.js.jsx"},2:{name:"keyword.operator.optional.js.jsx"},3:{name:"punctuation.separator.label.js.jsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))([_$A-Za-z][_$0-9A-Za-z]*)\\s*(\\?)?\\s*(:)"},{include:"#type"},{include:"#punctuation-comma"}]},"typeof-operator":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))typeof(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{0:{name:"keyword.operator.expression.typeof.js.jsx"}},end:"(?=[,);}\\]=>:&|{\\?]|(extends\\s+)|$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",patterns:[{include:"#type-arguments"},{include:"#expression"}]},"undefined-literal":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))undefined(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.undefined.js.jsx"},"var-expr":{patterns:[{begin:"(?=(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))",end:"(?!(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))|((?<!^let|[^\\._$0-9A-Za-z]let|^var|[^\\._$0-9A-Za-z]var)(?=\\s*$)))",name:"meta.var.expr.js.jsx",patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.type.js.jsx"}},end:"(?=\\S)"},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#variable-initializer"},{include:"#comment"},{begin:"(,)\\s*(?=$|\\/\\/)",beginCaptures:{1:{name:"punctuation.separator.comma.js.jsx"}},end:"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:"(?=(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(const(?!\\s+enum\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.type.js.jsx"}},end:"(?!(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(const(?!\\s+enum\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))|((?<!^const|[^\\._$0-9A-Za-z]const)(?=\\s*$)))",name:"meta.var.expr.js.jsx",patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(const(?!\\s+enum\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.type.js.jsx"}},end:"(?=\\S)"},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:"(,)\\s*(?=$|\\/\\/)",beginCaptures:{1:{name:"punctuation.separator.comma.js.jsx"}},end:"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:"(?=(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b((?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.type.js.jsx"}},end:"(?!(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b((?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))((?=;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))|((?<!^using|[^\\._$0-9A-Za-z]using|^await\\s+using|[^\\._$0-9A-Za-z]await\\s+using)(?=\\s*$)))",name:"meta.var.expr.js.jsx",patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b((?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*",beginCaptures:{1:{name:"keyword.control.export.js.jsx"},2:{name:"storage.modifier.js.jsx"},3:{name:"storage.type.js.jsx"}},end:"(?=\\S)"},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:"(,)\\s*((?!\\S)|(?=\\/\\/))",beginCaptures:{1:{name:"punctuation.separator.comma.js.jsx"}},end:"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#var-single-const"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]}]},"var-single-const":{patterns:[{begin:"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))",beginCaptures:{1:{name:"meta.definition.variable.js.jsx variable.other.constant.js.jsx entity.name.function.js.jsx"}},end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",name:"meta.var-single-variable.expr.js.jsx",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)",beginCaptures:{1:{name:"meta.definition.variable.js.jsx variable.other.constant.js.jsx"}},end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",name:"meta.var-single-variable.expr.js.jsx",patterns:[{include:"#var-single-variable-type-annotation"}]}]},"var-single-variable":{patterns:[{begin:"([_$A-Za-z][_$0-9A-Za-z]*)(\\!)?(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))",beginCaptures:{1:{name:"meta.definition.variable.js.jsx entity.name.function.js.jsx"},2:{name:"keyword.operator.definiteassignment.js.jsx"}},end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",name:"meta.var-single-variable.expr.js.jsx",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:"([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])(\\!)?",beginCaptures:{1:{name:"meta.definition.variable.js.jsx variable.other.constant.js.jsx"},2:{name:"keyword.operator.definiteassignment.js.jsx"}},end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",name:"meta.var-single-variable.expr.js.jsx",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)(\\!)?",beginCaptures:{1:{name:"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx"},2:{name:"keyword.operator.definiteassignment.js.jsx"}},end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",name:"meta.var-single-variable.expr.js.jsx",patterns:[{include:"#var-single-variable-type-annotation"}]}]},"var-single-variable-type-annotation":{patterns:[{include:"#type-annotation"},{include:"#string"},{include:"#comment"}]},"variable-initializer":{patterns:[{begin:"(?<!=|!)(=)(?!=)(?=\\s*\\S)(?!\\s*.*=>\\s*$)",beginCaptures:{1:{name:"keyword.operator.assignment.js.jsx"}},end:"(?=$|^|[,);}\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",patterns:[{include:"#expression"}]},{begin:"(?<!=|!)(=)(?!=)",beginCaptures:{1:{name:"keyword.operator.assignment.js.jsx"}},end:"(?=[,);}\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<![\\|\\&\\+\\-\\*\\/])(?<=\\S)(?<!=)(?=\\s*$)",patterns:[{include:"#expression"}]}]}},scopeName:"source.js.jsx"});var c=[k];const j=Object.freeze({displayName:"TSX",name:"tsx",patterns:[{include:"#directives"},{include:"#statements"},{include:"#shebang"}],repository:{"access-modifier":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.tsx"},"after-operator-block-as-object-literal":{begin:"(?<!\\+\\+|--)(?<=[:=(,\\[?+!>]|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^yield|[^\\._$0-9A-Za-z]yield|^throw|[^\\._$0-9A-Za-z]throw|^in|[^\\._$0-9A-Za-z]in|^of|[^\\._$0-9A-Za-z]of|^typeof|[^\\._$0-9A-Za-z]typeof|&&|\\|\\||\\*)\\s*(\\{)",beginCaptures:{1:{name:"punctuation.definition.block.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.tsx"}},name:"meta.objectliteral.tsx",patterns:[{include:"#object-member"}]},"array-binding-pattern":{begin:"(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"punctuation.definition.binding-pattern.array.tsx"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.tsx"}},patterns:[{include:"#binding-element"},{include:"#punctuation-comma"}]},"array-binding-pattern-const":{begin:"(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"punctuation.definition.binding-pattern.array.tsx"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.tsx"}},patterns:[{include:"#binding-element-const"},{include:"#punctuation-comma"}]},"array-literal":{begin:"\\s*(\\[)",beginCaptures:{1:{name:"meta.brace.square.tsx"}},end:"\\]",endCaptures:{0:{name:"meta.brace.square.tsx"}},name:"meta.array.literal.tsx",patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},"arrow-function":{patterns:[{captures:{1:{name:"storage.modifier.async.tsx"},2:{name:"variable.parameter.tsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(\\basync)\\s+)?([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?==>)",name:"meta.arrow.tsx"},{begin:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(\\basync))?((?<![})!\\]])\\s*(?=((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))",beginCaptures:{1:{name:"storage.modifier.async.tsx"}},end:"(?==>|\\{|(^\\s*(export|function|class|interface|let|var|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|const|import|enum|namespace|module|type|abstract|declare)\\s+))",name:"meta.arrow.tsx",patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#arrow-return-type"},{include:"#possibly-arrow-return-type"}]},{begin:"=>",beginCaptures:{0:{name:"storage.type.function.arrow.tsx"}},end:"((?<=\\}|\\S)(?<!=>)|((?!\\{)(?=\\S)))(?!\\/[\\/\\*])",name:"meta.arrow.tsx",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#decl-block"},{include:"#expression"}]}]},"arrow-return-type":{begin:"(?<=\\))\\s*(:)",beginCaptures:{1:{name:"keyword.operator.type.annotation.tsx"}},end:"(?==>|\\{|(^\\s*(export|function|class|interface|let|var|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|const|import|enum|namespace|module|type|abstract|declare)\\s+))",name:"meta.return.type.arrow.tsx",patterns:[{include:"#arrow-return-type-body"}]},"arrow-return-type-body":{patterns:[{begin:"(?<=[:])(?=\\s*\\{)",end:"(?<=\\})",patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"async-modifier":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(async)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.async.tsx"},"binding-element":{patterns:[{include:"#comment"},{include:"#string"},{include:"#numeric-literal"},{include:"#regex"},{include:"#object-binding-pattern"},{include:"#array-binding-pattern"},{include:"#destructuring-variable-rest"},{include:"#variable-initializer"}]},"binding-element-const":{patterns:[{include:"#comment"},{include:"#string"},{include:"#numeric-literal"},{include:"#regex"},{include:"#object-binding-pattern-const"},{include:"#array-binding-pattern-const"},{include:"#destructuring-variable-rest-const"},{include:"#variable-initializer"}]},"boolean-literal":{patterns:[{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))true(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.boolean.true.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))false(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.boolean.false.tsx"}]},brackets:{patterns:[{begin:"{",end:"}|(?=\\*/)",patterns:[{include:"#brackets"}]},{begin:"\\[",end:"\\]|(?=\\*/)",patterns:[{include:"#brackets"}]}]},cast:{patterns:[{include:"#jsx"}]},"class-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(?:(abstract)\\s+)?\\b(class)\\b(?=\\s+|/[/*])",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.modifier.tsx"},4:{name:"storage.type.class.tsx"}},end:"(?<=\\})",name:"meta.class.tsx",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-declaration-or-expression-patterns":{patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{captures:{0:{name:"entity.name.type.class.tsx"}},match:"[_$A-Za-z][_$0-9A-Za-z]*"},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},"class-expression":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(class)\\b(?=\\s+|[<{]|\\/[\\/*])",beginCaptures:{1:{name:"storage.modifier.tsx"},2:{name:"storage.type.class.tsx"}},end:"(?<=\\})",name:"meta.class.tsx",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.tsx"}},patterns:[{include:"#comment"},{include:"#decorator"},{begin:"(?<=:)\\s*",end:"(?=\\s|[;),}\\]:\\-\\+]|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",patterns:[{include:"#expression"}]},{include:"#method-declaration"},{include:"#indexer-declaration"},{include:"#field-declaration"},{include:"#string"},{include:"#type-annotation"},{include:"#variable-initializer"},{include:"#access-modifier"},{include:"#property-accessor"},{include:"#async-modifier"},{include:"#after-operator-block-as-object-literal"},{include:"#decl-block"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"}]},"class-or-interface-heritage":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(extends|implements)\\b)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"storage.modifier.tsx"}},end:"(?=\\{)",patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{include:"#type-parameters"},{include:"#expressionWithoutIdentifiers"},{captures:{1:{name:"entity.name.type.module.tsx"},2:{name:"punctuation.accessor.tsx"},3:{name:"punctuation.accessor.optional.tsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))(?=\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\s*\\??\\.\\s*[_$A-Za-z][_$0-9A-Za-z]*)*\\s*)"},{captures:{1:{name:"entity.other.inherited-class.tsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)"},{include:"#expressionPunctuations"}]},comment:{patterns:[{begin:"/\\*\\*(?!/)",beginCaptures:{0:{name:"punctuation.definition.comment.tsx"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.tsx"}},name:"comment.block.documentation.tsx",patterns:[{include:"#docblock"}]},{begin:"(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?",beginCaptures:{1:{name:"punctuation.definition.comment.tsx"},2:{name:"storage.type.internaldeclaration.tsx"},3:{name:"punctuation.decorator.internaldeclaration.tsx"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.tsx"}},name:"comment.block.tsx"},{begin:"(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.tsx"},2:{name:"comment.line.double-slash.tsx"},3:{name:"punctuation.definition.comment.tsx"},4:{name:"storage.type.internaldeclaration.tsx"},5:{name:"punctuation.decorator.internaldeclaration.tsx"}},contentName:"comment.line.double-slash.tsx",end:"(?=$)"}]},"control-statement":{patterns:[{include:"#switch-statement"},{include:"#for-loop"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(catch|finally|throw|try)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.trycatch.tsx"},{captures:{1:{name:"keyword.control.loop.tsx"},2:{name:"entity.name.label.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|goto)\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|do|goto|while)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.loop.tsx"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(return)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{0:{name:"keyword.control.flow.tsx"}},end:"(?=[;}]|$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",patterns:[{include:"#expression"}]},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default|switch)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.switch.tsx"},{include:"#if-statement"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(else|if)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.conditional.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(with)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.with.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(package)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(debugger)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.other.debugger.tsx"}]},"decl-block":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.tsx"}},name:"meta.block.tsx",patterns:[{include:"#statements"}]},declaration:{patterns:[{include:"#decorator"},{include:"#var-expr"},{include:"#function-declaration"},{include:"#class-declaration"},{include:"#interface-declaration"},{include:"#enum-declaration"},{include:"#namespace-declaration"},{include:"#type-alias-declaration"},{include:"#import-equals-declaration"},{include:"#import-declaration"},{include:"#export-declaration"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(declare|export)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.tsx"}]},decorator:{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))\\@",beginCaptures:{0:{name:"punctuation.decorator.tsx"}},end:"(?=\\s)",name:"meta.decorator.tsx",patterns:[{include:"#expression"}]},"destructuring-const":{patterns:[{begin:"(?<!=|:|^of|[^\\._$0-9A-Za-z]of|^in|[^\\._$0-9A-Za-z]in)\\s*(?=\\{)",end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.object-binding-pattern-variable.tsx",patterns:[{include:"#object-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]},{begin:"(?<!=|:|^of|[^\\._$0-9A-Za-z]of|^in|[^\\._$0-9A-Za-z]in)\\s*(?=\\[)",end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.array-binding-pattern-variable.tsx",patterns:[{include:"#array-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-parameter":{patterns:[{begin:"(?<!=|:)\\s*(?:(\\.\\.\\.)\\s*)?(\\{)",beginCaptures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"punctuation.definition.binding-pattern.object.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.tsx"}},name:"meta.parameter.object-binding-pattern.tsx",patterns:[{include:"#parameter-object-binding-element"}]},{begin:"(?<!=|:)\\s*(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"punctuation.definition.binding-pattern.array.tsx"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.tsx"}},name:"meta.paramter.array-binding-pattern.tsx",patterns:[{include:"#parameter-binding-element"},{include:"#punctuation-comma"}]}]},"destructuring-parameter-rest":{captures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"variable.parameter.tsx"}},match:"(?:(\\.\\.\\.)\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)"},"destructuring-variable":{patterns:[{begin:"(?<!=|:|^of|[^\\._$0-9A-Za-z]of|^in|[^\\._$0-9A-Za-z]in)\\s*(?=\\{)",end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.object-binding-pattern-variable.tsx",patterns:[{include:"#object-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]},{begin:"(?<!=|:|^of|[^\\._$0-9A-Za-z]of|^in|[^\\._$0-9A-Za-z]in)\\s*(?=\\[)",end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",name:"meta.array-binding-pattern-variable.tsx",patterns:[{include:"#array-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-variable-rest":{captures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"meta.definition.variable.tsx variable.other.readwrite.tsx"}},match:"(?:(\\.\\.\\.)\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)"},"destructuring-variable-rest-const":{captures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"meta.definition.variable.tsx variable.other.constant.tsx"}},match:"(?:(\\.\\.\\.)\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)"},directives:{begin:"^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\s*=\\s*((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)))+\\s*/>\\s*$)",beginCaptures:{1:{name:"punctuation.definition.comment.tsx"}},end:"(?=$)",name:"comment.line.triple-slash.directive.tsx",patterns:[{begin:"(<)(reference|amd-dependency|amd-module)",beginCaptures:{1:{name:"punctuation.definition.tag.directive.tsx"},2:{name:"entity.name.tag.directive.tsx"}},end:"/>",endCaptures:{0:{name:"punctuation.definition.tag.directive.tsx"}},name:"meta.tag.tsx",patterns:[{match:"path|types|no-default-lib|lib|name|resolution-mode",name:"entity.other.attribute-name.directive.tsx"},{match:"=",name:"keyword.operator.assignment.tsx"},{include:"#string"}]}]},docblock:{patterns:[{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.access-type.jsdoc"}},match:"((@)(?:access|api))\\s+(private|protected|public)\\b"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"},4:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},5:{name:"constant.other.email.link.underline.jsdoc"},6:{name:"punctuation.definition.bracket.angle.end.jsdoc"}},match:"((@)author)\\s+([^@\\s<>*/](?:[^@<>*/]|\\*[^/])*)(?:\\s*(<)([^>\\s]+)(>))?"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"},4:{name:"keyword.operator.control.jsdoc"},5:{name:"entity.name.type.instance.jsdoc"}},match:"((@)borrows)\\s+((?:[^@\\s*/]|\\*[^/])+)\\s+(as)\\s+((?:[^@\\s*/]|\\*[^/])+)"},{begin:"((@)example)\\s+",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=@|\\*/)",name:"meta.example.jsdoc",patterns:[{match:"^\\s\\*\\s+"},{begin:"\\G(<)caption(>)",beginCaptures:{0:{name:"entity.name.tag.inline.jsdoc"},1:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},2:{name:"punctuation.definition.bracket.angle.end.jsdoc"}},contentName:"constant.other.description.jsdoc",end:"(</)caption(>)|(?=\\*/)",endCaptures:{0:{name:"entity.name.tag.inline.jsdoc"},1:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},2:{name:"punctuation.definition.bracket.angle.end.jsdoc"}}},{captures:{0:{name:"source.embedded.tsx"}},match:"[^\\s@*](?:[^*]|\\*[^/])*"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.symbol-type.jsdoc"}},match:"((@)kind)\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\b"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.link.underline.jsdoc"},4:{name:"entity.name.type.instance.jsdoc"}},match:"((@)see)\\s+(?:((?=https?://)(?:[^\\s*]|\\*[^/])+)|((?!https?://|(?:\\[[^\\[\\]]*\\])?{@(?:link|linkcode|linkplain|tutorial)\\b)(?:[^@\\s*/]|\\*[^/])+))"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:"((@)template)\\s+([A-Za-z_$][\\w$.\\[\\]]*(?:\\s*,\\s*[A-Za-z_$][\\w$.\\[\\]]*)*)"},{begin:"((@)template)\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"},{match:"([A-Za-z_$][\\w$.\\[\\]]*)",name:"variable.other.jsdoc"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\s+([A-Za-z_$][\\w$.\\[\\]]*)"},{begin:"((@)typedef)\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"},{match:"(?:[^@\\s*/]|\\*[^/])+",name:"entity.name.type.instance.jsdoc"}]},{begin:"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"},{match:"([A-Za-z_$][\\w$.\\[\\]]*)",name:"variable.other.jsdoc"},{captures:{1:{name:"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},2:{name:"keyword.operator.assignment.jsdoc"},3:{name:"source.embedded.tsx"},4:{name:"punctuation.definition.optional-value.end.bracket.square.jsdoc"},5:{name:"invalid.illegal.syntax.jsdoc"}},match:`(\\[)\\s*[\\w$]+(?:(?:\\[\\])?\\.[\\w$]+)*(?:\\s*(=)\\s*((?>"(?:(?:\\*(?!/))|(?:\\\\(?!"))|[^*\\\\])*?"|'(?:(?:\\*(?!/))|(?:\\\\(?!'))|[^*\\\\])*?'|\\[(?:(?:\\*(?!/))|[^*])*?\\]|(?:(?:\\*(?!/))|\\s(?!\\s*\\])|\\[.*?(?:\\]|(?=\\*/))|[^*\\s\\[\\]])*)*))?\\s*(?:(\\])((?:[^*\\s]|\\*[^\\s/])+)?|(?=\\*/))`,name:"variable.other.jsdoc"}]},{begin:"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\s+(?={)",beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])",patterns:[{include:"#jsdoctype"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"}},match:"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\s+((?:[^{}@\\s*]|\\*[^/])+)"},{begin:`((@)(?:default(?:value)?|license|version))\\s+(([''"]))`,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"},4:{name:"punctuation.definition.string.begin.jsdoc"}},contentName:"variable.other.jsdoc",end:"(\\3)|(?=$|\\*/)",endCaptures:{0:{name:"variable.other.jsdoc"},1:{name:"punctuation.definition.string.end.jsdoc"}}},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:"((@)(?:default(?:value)?|license|tutorial|variation|version))\\s+([^\\s*]+)"},{captures:{1:{name:"punctuation.definition.block.tag.jsdoc"}},match:"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\b",name:"storage.type.class.jsdoc"},{include:"#inline-tags"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},match:"((@)(?:[_$A-Za-z][_$0-9A-Za-z]*))(?=\\s+)"}]},"enum-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?(?:\\b(const)\\s+)?\\b(enum)\\s+([_$A-Za-z][_$0-9A-Za-z]*)",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.modifier.tsx"},4:{name:"storage.type.enum.tsx"},5:{name:"entity.name.type.enum.tsx"}},end:"(?<=\\})",name:"meta.enum.declaration.tsx",patterns:[{include:"#comment"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.tsx"}},patterns:[{include:"#comment"},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)",beginCaptures:{0:{name:"variable.other.enummember.tsx"}},end:"(?=,|\\}|$)",patterns:[{include:"#comment"},{include:"#variable-initializer"}]},{begin:"(?=((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))",end:"(?=,|\\}|$)",patterns:[{include:"#string"},{include:"#array-literal"},{include:"#comment"},{include:"#variable-initializer"}]},{include:"#punctuation-comma"}]}]},"export-declaration":{patterns:[{captures:{1:{name:"keyword.control.export.tsx"},2:{name:"keyword.control.as.tsx"},3:{name:"storage.type.namespace.tsx"},4:{name:"entity.name.type.module.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)\\s+(as)\\s+(namespace)\\s+([_$A-Za-z][_$0-9A-Za-z]*)"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?(?:(?:\\s*(=))|(?:\\s+(default)(?=\\s+)))",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"keyword.control.type.tsx"},3:{name:"keyword.operator.assignment.tsx"},4:{name:"keyword.control.default.tsx"}},end:"(?=$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",name:"meta.export.default.tsx",patterns:[{include:"#interface-declaration"},{include:"#expression"}]},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\s+(type))?\\b(?!(\\$)|(\\s*:))((?=\\s*[\\{*])|((?=\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\s|,))(?!\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"keyword.control.type.tsx"}},end:"(?=$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",name:"meta.export.tsx",patterns:[{include:"#import-export-declaration"}]}]},expression:{patterns:[{include:"#expressionWithoutIdentifiers"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-inside-possibly-arrow-parens":{patterns:[{include:"#expressionWithoutIdentifiers"},{include:"#comment"},{include:"#string"},{include:"#decorator"},{include:"#destructuring-parameter"},{captures:{1:{name:"storage.modifier.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{captures:{1:{name:"storage.modifier.tsx"},2:{name:"keyword.operator.rest.tsx"},3:{name:"entity.name.function.tsx variable.language.this.tsx"},4:{name:"entity.name.function.tsx"},5:{name:"keyword.operator.optional.tsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))"},{captures:{1:{name:"storage.modifier.tsx"},2:{name:"keyword.operator.rest.tsx"},3:{name:"variable.parameter.tsx variable.language.this.tsx"},4:{name:"variable.parameter.tsx"},5:{name:"keyword.operator.optional.tsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*[:,]|$)"},{include:"#type-annotation"},{include:"#variable-initializer"},{match:",",name:"punctuation.separator.parameter.tsx"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-operators":{patterns:[{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(await)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.control.flow.tsx"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))(?=\\s*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*\\*)",beginCaptures:{1:{name:"keyword.control.flow.tsx"}},end:"\\*",endCaptures:{0:{name:"keyword.generator.asterisk.tsx"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.control.flow.tsx"},2:{name:"keyword.generator.asterisk.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s*(\\*))?"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))delete(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.delete.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))in(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()",name:"keyword.operator.expression.in.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))of(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()",name:"keyword.operator.expression.of.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))instanceof(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.instanceof.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.new.tsx"},{include:"#typeof-operator"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))void(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.void.tsx"},{captures:{1:{name:"keyword.control.as.tsx"},2:{name:"storage.modifier.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*($|[;,:})\\]]))"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+",beginCaptures:{1:{name:"keyword.control.as.tsx"},2:{name:"keyword.control.satisfies.tsx"}},end:"(?=^|[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\s+)|(\\s+\\<))",patterns:[{include:"#type"}]},{match:"\\.\\.\\.",name:"keyword.operator.spread.tsx"},{match:"\\*=|(?<!\\()/=|%=|\\+=|\\-=",name:"keyword.operator.assignment.compound.tsx"},{match:"\\&=|\\^=|<<=|>>=|>>>=|\\|=",name:"keyword.operator.assignment.compound.bitwise.tsx"},{match:"<<|>>>|>>",name:"keyword.operator.bitwise.shift.tsx"},{match:"===|!==|==|!=",name:"keyword.operator.comparison.tsx"},{match:"<=|>=|<>|<|>",name:"keyword.operator.relational.tsx"},{captures:{1:{name:"keyword.operator.logical.tsx"},2:{name:"keyword.operator.assignment.compound.tsx"},3:{name:"keyword.operator.arithmetic.tsx"}},match:"(?<=[_$0-9A-Za-z])(\\!)\\s*(?:(/=)|(?:(/)(?![/*])))"},{match:"\\!|&&|\\|\\||\\?\\?",name:"keyword.operator.logical.tsx"},{match:"\\&|~|\\^|\\|",name:"keyword.operator.bitwise.tsx"},{match:"\\=",name:"keyword.operator.assignment.tsx"},{match:"--",name:"keyword.operator.decrement.tsx"},{match:"\\+\\+",name:"keyword.operator.increment.tsx"},{match:"%|\\*|/|-|\\+",name:"keyword.operator.arithmetic.tsx"},{begin:"(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))",end:"(?:(/=)|(?:(/)(?!\\*([^\\*]|(\\*[^\\/]))*\\*\\/)))",endCaptures:{1:{name:"keyword.operator.assignment.compound.tsx"},2:{name:"keyword.operator.arithmetic.tsx"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.operator.assignment.compound.tsx"},2:{name:"keyword.operator.arithmetic.tsx"}},match:"(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))"}]},expressionPunctuations:{patterns:[{include:"#punctuation-comma"},{include:"#punctuation-accessor"}]},expressionWithoutIdentifiers:{patterns:[{include:"#jsx"},{include:"#string"},{include:"#regex"},{include:"#comment"},{include:"#function-expression"},{include:"#class-expression"},{include:"#arrow-function"},{include:"#paren-expression-possibly-arrow"},{include:"#cast"},{include:"#ternary-expression"},{include:"#new-expr"},{include:"#instanceof-expr"},{include:"#object-literal"},{include:"#expression-operators"},{include:"#function-call"},{include:"#literal"},{include:"#support-objects"},{include:"#paren-expression"}]},"field-declaration":{begin:"(?<!\\()(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s+)?(?=\\s*((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|(\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(?:(?:(\\?)|(\\!))\\s*)?(=|:|;|,|\\}|$))",beginCaptures:{1:{name:"storage.modifier.tsx"}},end:"(?=\\}|;|,|$|(^(?!\\s*((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|(\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(?:(?:(\\?)|(\\!))\\s*)?(=|:|;|,|$))))|(?<=\\})",name:"meta.field.declaration.tsx",patterns:[{include:"#variable-initializer"},{include:"#type-annotation"},{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{include:"#comment"},{captures:{1:{name:"meta.definition.property.tsx entity.name.function.tsx"},2:{name:"keyword.operator.optional.tsx"},3:{name:"keyword.operator.definiteassignment.tsx"}},match:"(\\#?[_$A-Za-z][_$0-9A-Za-z]*)(?:(\\?)|(\\!))?(?=\\s*\\s*(=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))"},{match:"\\#?[_$A-Za-z][_$0-9A-Za-z]*",name:"meta.definition.property.tsx variable.object.property.tsx"},{match:"\\?",name:"keyword.operator.optional.tsx"},{match:"\\!",name:"keyword.operator.definiteassignment.tsx"}]},"for-loop":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))for(?=((\\s+|(\\s*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*))await)?\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)?(\\())",beginCaptures:{0:{name:"keyword.control.loop.tsx"}},end:"(?<=\\))",patterns:[{include:"#comment"},{match:"await",name:"keyword.control.loop.tsx"},{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.tsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.tsx"}},patterns:[{include:"#var-expr"},{include:"#expression"},{include:"#punctuation-semicolon"}]}]},"function-body":{patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#return-type"},{include:"#type-function-return-type"},{include:"#decl-block"},{match:"\\*",name:"keyword.generator.asterisk.tsx"}]},"function-call":{patterns:[{begin:"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[\\)]))\\s*(?:(\\?\\.\\s*)|(\\!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?\\())",end:"(?<=\\))(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[\\)]))\\s*(?:(\\?\\.\\s*)|(\\!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?\\())",patterns:[{begin:"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))",end:"(?=\\s*(?:(\\?\\.\\s*)|(\\!))?((<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?\\())",name:"meta.function-call.tsx",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"},{include:"#paren-expression"}]},{begin:"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[\\)]))(<\\s*[\\{\\[\\(]\\s*$))",end:"(?<=\\>)(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[\\)]))(<\\s*[\\{\\[\\(]\\s*$))",patterns:[{begin:"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\??\\.\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*))",end:"(?=(<\\s*[\\{\\[\\(]\\s*$))",name:"meta.function-call.tsx",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"}]}]},"function-call-optionals":{patterns:[{match:"\\?\\.",name:"meta.function-call.tsx punctuation.accessor.optional.tsx"},{match:"\\!",name:"meta.function-call.tsx keyword.operator.definiteassignment.tsx"}]},"function-call-target":{patterns:[{include:"#support-function-call-identifiers"},{match:"(\\#?[_$A-Za-z][_$0-9A-Za-z]*)",name:"entity.name.function.tsx"}]},"function-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?(?:(async)\\s+)?(function\\b)(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\s*",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.modifier.async.tsx"},4:{name:"storage.type.function.tsx"},5:{name:"keyword.generator.asterisk.tsx"},6:{name:"meta.definition.function.tsx entity.name.function.tsx"}},end:"(?=;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))|(?<=\\})",name:"meta.function.tsx",patterns:[{include:"#function-name"},{include:"#function-body"}]},"function-expression":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(async)\\s+)?(function\\b)(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\s*",beginCaptures:{1:{name:"storage.modifier.async.tsx"},2:{name:"storage.type.function.tsx"},3:{name:"keyword.generator.asterisk.tsx"},4:{name:"meta.definition.function.tsx entity.name.function.tsx"}},end:"(?=;)|(?<=\\})",name:"meta.function.expression.tsx",patterns:[{include:"#function-name"},{include:"#single-line-comment-consuming-line-ending"},{include:"#function-body"}]},"function-name":{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"meta.definition.function.tsx entity.name.function.tsx"},"function-parameters":{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.tsx"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.tsx"}},name:"meta.parameters.tsx",patterns:[{include:"#function-parameters-body"}]},"function-parameters-body":{patterns:[{include:"#comment"},{include:"#string"},{include:"#decorator"},{include:"#destructuring-parameter"},{include:"#parameter-name"},{include:"#parameter-type-annotation"},{include:"#variable-initializer"},{match:",",name:"punctuation.separator.parameter.tsx"}]},identifiers:{patterns:[{include:"#object-identifiers"},{captures:{1:{name:"punctuation.accessor.tsx"},2:{name:"punctuation.accessor.optional.tsx"},3:{name:"entity.name.function.tsx"}},match:"(?:(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)(?=\\s*=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))"},{captures:{1:{name:"punctuation.accessor.tsx"},2:{name:"punctuation.accessor.optional.tsx"},3:{name:"variable.other.constant.property.tsx"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])"},{captures:{1:{name:"punctuation.accessor.tsx"},2:{name:"punctuation.accessor.optional.tsx"},3:{name:"variable.other.property.tsx"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)"},{match:"([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])",name:"variable.other.constant.tsx"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"variable.other.readwrite.tsx"}]},"if-statement":{patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bif\\s*(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))\\s*(?!\\{))",end:"(?=;|$|\\})",patterns:[{include:"#comment"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(if)\\s*(\\()",beginCaptures:{1:{name:"keyword.control.conditional.tsx"},2:{name:"meta.brace.round.tsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.tsx"}},patterns:[{include:"#expression"}]},{begin:"(?<=\\))\\s*\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)*\\])+\\/([dgimsuy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",beginCaptures:{0:{name:"punctuation.definition.string.begin.tsx"}},end:"(/)([dgimsuy]*)",endCaptures:{1:{name:"punctuation.definition.string.end.tsx"},2:{name:"keyword.other.tsx"}},name:"string.regexp.tsx",patterns:[{include:"#regexp"}]},{include:"#statements"}]}]},"import-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(import)(?:\\s+(type)(?!\\s+from))?(?!\\s*[:\\(])(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"keyword.control.import.tsx"},4:{name:"keyword.control.type.tsx"}},end:"(?<!^import|[^\\._$0-9A-Za-z]import)(?=;|$|^)",name:"meta.import.tsx",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#string"},{begin:`(?<=^import|[^\\._$0-9A-Za-z]import)(?!\\s*["'])`,end:"\\bfrom\\b",endCaptures:{0:{name:"keyword.control.from.tsx"}},patterns:[{include:"#import-export-declaration"}]},{include:"#import-export-declaration"}]},"import-equals-declaration":{patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\s*(=)\\s*(require)\\s*(\\()",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"keyword.control.import.tsx"},4:{name:"keyword.control.type.tsx"},5:{name:"variable.other.readwrite.alias.tsx"},6:{name:"keyword.operator.assignment.tsx"},7:{name:"keyword.control.require.tsx"},8:{name:"meta.brace.round.tsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.tsx"}},name:"meta.import-equals.external.tsx",patterns:[{include:"#comment"},{include:"#string"}]},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(import)(?:\\s+(type))?\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\s*(=)\\s*(?!require\\b)",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"keyword.control.import.tsx"},4:{name:"keyword.control.type.tsx"},5:{name:"variable.other.readwrite.alias.tsx"},6:{name:"keyword.operator.assignment.tsx"}},end:"(?=;|$|^)",name:"meta.import-equals.internal.tsx",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{captures:{1:{name:"entity.name.type.module.tsx"},2:{name:"punctuation.accessor.tsx"},3:{name:"punctuation.accessor.optional.tsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))"},{match:"([_$A-Za-z][_$0-9A-Za-z]*)",name:"variable.other.readwrite.tsx"}]}]},"import-export-assert-clause":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(with)|(assert))\\s*(\\{)",beginCaptures:{1:{name:"keyword.control.with.tsx"},2:{name:"keyword.control.assert.tsx"},3:{name:"punctuation.definition.block.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.tsx"}},patterns:[{include:"#comment"},{include:"#string"},{match:"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)",name:"meta.object-literal.key.tsx"},{match:":",name:"punctuation.separator.key-value.tsx"}]},"import-export-block":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.tsx"}},name:"meta.block.tsx",patterns:[{include:"#import-export-clause"}]},"import-export-clause":{patterns:[{include:"#comment"},{captures:{1:{name:"keyword.control.type.tsx"},2:{name:"keyword.control.default.tsx"},3:{name:"constant.language.import-export-all.tsx"},4:{name:"variable.other.readwrite.tsx"},5:{name:"keyword.control.as.tsx"},6:{name:"keyword.control.default.tsx"},7:{name:"variable.other.readwrite.alias.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(?:(\\btype)\\s+)?(?:(\\bdefault)|(\\*)|(\\b[_$A-Za-z][_$0-9A-Za-z]*)))\\s+(as)\\s+(?:(default(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|([_$A-Za-z][_$0-9A-Za-z]*))"},{include:"#punctuation-comma"},{match:"\\*",name:"constant.language.import-export-all.tsx"},{match:"\\b(default)\\b",name:"keyword.control.default.tsx"},{captures:{1:{name:"keyword.control.type.tsx"},2:{name:"variable.other.readwrite.alias.tsx"}},match:"(?:(\\btype)\\s+)?([_$A-Za-z][_$0-9A-Za-z]*)"}]},"import-export-declaration":{patterns:[{include:"#comment"},{include:"#string"},{include:"#import-export-block"},{match:"\\bfrom\\b",name:"keyword.control.from.tsx"},{include:"#import-export-assert-clause"},{include:"#import-export-clause"}]},"indexer-declaration":{begin:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\s*)?\\s*(\\[)\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=:)",beginCaptures:{1:{name:"storage.modifier.tsx"},2:{name:"meta.brace.square.tsx"},3:{name:"variable.parameter.tsx"}},end:"(\\])\\s*(\\?\\s*)?|$",endCaptures:{1:{name:"meta.brace.square.tsx"},2:{name:"keyword.operator.optional.tsx"}},name:"meta.indexer.declaration.tsx",patterns:[{include:"#type-annotation"}]},"indexer-mapped-type-declaration":{begin:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))([+-])?(readonly)\\s*)?\\s*(\\[)\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\s+(in)\\s+",beginCaptures:{1:{name:"keyword.operator.type.modifier.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"meta.brace.square.tsx"},4:{name:"entity.name.type.tsx"},5:{name:"keyword.operator.expression.in.tsx"}},end:"(\\])([+-])?\\s*(\\?\\s*)?|$",endCaptures:{1:{name:"meta.brace.square.tsx"},2:{name:"keyword.operator.type.modifier.tsx"},3:{name:"keyword.operator.optional.tsx"}},name:"meta.indexer.mappedtype.declaration.tsx",patterns:[{captures:{1:{name:"keyword.control.as.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+"},{include:"#type"}]},"inline-tags":{patterns:[{captures:{1:{name:"punctuation.definition.bracket.square.begin.jsdoc"},2:{name:"punctuation.definition.bracket.square.end.jsdoc"}},match:"(\\[)[^\\]]+(\\])(?={@(?:link|linkcode|linkplain|tutorial))",name:"constant.other.description.jsdoc"},{begin:"({)((@)(?:link(?:code|plain)?|tutorial))\\s*",beginCaptures:{1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"},2:{name:"storage.type.class.jsdoc"},3:{name:"punctuation.definition.inline.tag.jsdoc"}},end:"}|(?=\\*/)",endCaptures:{0:{name:"punctuation.definition.bracket.curly.end.jsdoc"}},name:"entity.name.type.instance.jsdoc",patterns:[{captures:{1:{name:"variable.other.link.underline.jsdoc"},2:{name:"punctuation.separator.pipe.jsdoc"}},match:"\\G((?=https?://)(?:[^|}\\s*]|\\*[/])+)(\\|)?"},{captures:{1:{name:"variable.other.description.jsdoc"},2:{name:"punctuation.separator.pipe.jsdoc"}},match:"\\G((?:[^{}@\\s|*]|\\*[^/])+)(\\|)?"}]}]},"instanceof-expr":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(instanceof)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"keyword.operator.expression.instanceof.tsx"}},end:"(?<=\\))|(?=[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|(===|!==|==|!=)|(([\\&\\~\\^\\|]\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s+instanceof(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\s*[\\(]))))",patterns:[{include:"#type"}]},"interface-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(?:(abstract)\\s+)?\\b(interface)\\b(?=\\s+|/[/*])",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.modifier.tsx"},4:{name:"storage.type.interface.tsx"}},end:"(?<=\\})",name:"meta.interface.tsx",patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{captures:{0:{name:"entity.name.type.interface.tsx"}},match:"[_$A-Za-z][_$0-9A-Za-z]*"},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},jsdoctype:{patterns:[{begin:"\\G({)",beginCaptures:{0:{name:"entity.name.type.instance.jsdoc"},1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"}},contentName:"entity.name.type.instance.jsdoc",end:"((}))\\s*|(?=\\*/)",endCaptures:{1:{name:"entity.name.type.instance.jsdoc"},2:{name:"punctuation.definition.bracket.curly.end.jsdoc"}},patterns:[{include:"#brackets"}]}]},jsx:{patterns:[{include:"#jsx-tag-without-attributes-in-expression"},{include:"#jsx-tag-in-expression"}]},"jsx-children":{patterns:[{include:"#jsx-tag-without-attributes"},{include:"#jsx-tag"},{include:"#jsx-evaluated-code"},{include:"#jsx-entities"}]},"jsx-entities":{patterns:[{captures:{1:{name:"punctuation.definition.entity.tsx"},3:{name:"punctuation.definition.entity.tsx"}},match:"(&)([a-zA-Z0-9]+|#\\d+|#x[0-9a-fA-F]+)(;)",name:"constant.character.entity.tsx"}]},"jsx-evaluated-code":{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.tsx"}},contentName:"meta.embedded.expression.tsx",end:"\\}",endCaptures:{0:{name:"punctuation.section.embedded.end.tsx"}},patterns:[{include:"#expression"}]},"jsx-string-double-quoted":{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.tsx"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.tsx"}},name:"string.quoted.double.tsx",patterns:[{include:"#jsx-entities"}]},"jsx-string-single-quoted":{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.tsx"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.tsx"}},name:"string.quoted.single.tsx",patterns:[{include:"#jsx-entities"}]},"jsx-tag":{begin:"(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))(?=((<\\s*)|(\\s+))(?!\\?)|\\/?>))",end:"(/>)|(?:(</)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))?\\s*(>))",endCaptures:{1:{name:"punctuation.definition.tag.end.tsx"},2:{name:"punctuation.definition.tag.begin.tsx"},3:{name:"entity.name.tag.namespace.tsx"},4:{name:"punctuation.separator.namespace.tsx"},5:{name:"entity.name.tag.tsx"},6:{name:"support.class.component.tsx"},7:{name:"punctuation.definition.tag.end.tsx"}},name:"meta.tag.tsx",patterns:[{begin:"(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))(?=((<\\s*)|(\\s+))(?!\\?)|\\/?>)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.tsx"},2:{name:"entity.name.tag.namespace.tsx"},3:{name:"punctuation.separator.namespace.tsx"},4:{name:"entity.name.tag.tsx"},5:{name:"support.class.component.tsx"}},end:"(?=[/]?>)",patterns:[{include:"#comment"},{include:"#type-arguments"},{include:"#jsx-tag-attributes"}]},{begin:"(>)",beginCaptures:{1:{name:"punctuation.definition.tag.end.tsx"}},contentName:"meta.jsx.children.tsx",end:"(?=</)",patterns:[{include:"#jsx-children"}]}]},"jsx-tag-attribute-assignment":{match:`=(?=\\s*(?:'|"|{|/\\*|//|\\n))`,name:"keyword.operator.assignment.tsx"},"jsx-tag-attribute-name":{captures:{1:{name:"entity.other.attribute-name.namespace.tsx"},2:{name:"punctuation.separator.namespace.tsx"},3:{name:"entity.other.attribute-name.tsx"}},match:"\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(:))?([_$A-Za-z][-_$0-9A-Za-z]*)(?=\\s|=|/?>|/\\*|//)"},"jsx-tag-attributes":{begin:"\\s+",end:"(?=[/]?>)",name:"meta.tag.attributes.tsx",patterns:[{include:"#comment"},{include:"#jsx-tag-attribute-name"},{include:"#jsx-tag-attribute-assignment"},{include:"#jsx-string-double-quoted"},{include:"#jsx-string-single-quoted"},{include:"#jsx-evaluated-code"},{include:"#jsx-tag-attributes-illegal"}]},"jsx-tag-attributes-illegal":{match:"\\S+",name:"invalid.illegal.attribute.tsx"},"jsx-tag-in-expression":{begin:"(?<!\\+\\+|--)(?<=[({\\[,?=>:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?!<\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\s+extends\\s+[^=>])|,))(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))(?=((<\\s*)|(\\s+))(?!\\?)|\\/?>))",end:"(?!(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))(?=((<\\s*)|(\\s+))(?!\\?)|\\/?>))",patterns:[{include:"#jsx-tag"}]},"jsx-tag-without-attributes":{begin:"(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))?\\s*(>)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.tsx"},2:{name:"entity.name.tag.namespace.tsx"},3:{name:"punctuation.separator.namespace.tsx"},4:{name:"entity.name.tag.tsx"},5:{name:"support.class.component.tsx"},6:{name:"punctuation.definition.tag.end.tsx"}},contentName:"meta.jsx.children.tsx",end:"(</)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))?\\s*(>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.tsx"},2:{name:"entity.name.tag.namespace.tsx"},3:{name:"punctuation.separator.namespace.tsx"},4:{name:"entity.name.tag.tsx"},5:{name:"support.class.component.tsx"},6:{name:"punctuation.definition.tag.end.tsx"}},name:"meta.tag.without-attributes.tsx",patterns:[{include:"#jsx-children"}]},"jsx-tag-without-attributes-in-expression":{begin:"(?<!\\+\\+|--)(?<=[({\\[,?=>:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$0-9A-Za-z]await|^return|[^\\._$0-9A-Za-z]return|^default|[^\\._$0-9A-Za-z]default|^yield|[^\\._$0-9A-Za-z]yield|^)\\s*(?=(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))?\\s*(>))",end:"(?!(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\.|-))?\\s*(>))",patterns:[{include:"#jsx-tag-without-attributes"}]},label:{patterns:[{begin:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)(?=\\s*\\{)",beginCaptures:{1:{name:"entity.name.label.tsx"},2:{name:"punctuation.separator.label.tsx"}},end:"(?<=\\})",patterns:[{include:"#decl-block"}]},{captures:{1:{name:"entity.name.label.tsx"},2:{name:"punctuation.separator.label.tsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(:)"}]},literal:{patterns:[{include:"#numeric-literal"},{include:"#boolean-literal"},{include:"#null-literal"},{include:"#undefined-literal"},{include:"#numericConstant-literal"},{include:"#array-literal"},{include:"#this-literal"},{include:"#super-literal"}]},"method-declaration":{patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?\\s*\\b(constructor)\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"storage.modifier.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.modifier.tsx"},4:{name:"storage.modifier.async.tsx"},5:{name:"storage.type.tsx"}},end:"(?=\\}|;|,|$)|(?<=\\})",name:"meta.method.declaration.tsx",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:(?:\\s*\\b(new)\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(?:(\\*)\\s*)?)(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.modifier.tsx"},4:{name:"storage.modifier.async.tsx"},5:{name:"keyword.operator.new.tsx"},6:{name:"keyword.generator.asterisk.tsx"}},end:"(?=\\}|;|,|$)|(?<=\\})",name:"meta.method.declaration.tsx",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(override)\\s+)?(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.modifier.tsx"},4:{name:"storage.modifier.async.tsx"},5:{name:"storage.type.property.tsx"},6:{name:"keyword.generator.asterisk.tsx"}},end:"(?=\\}|;|,|$)|(?<=\\})",name:"meta.method.declaration.tsx",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]}]},"method-declaration-name":{begin:"(?=((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??)\\s*[\\(\\<])",end:"(?=\\(|\\<)",patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"meta.definition.method.tsx entity.name.function.tsx"},{match:"\\?",name:"keyword.operator.optional.tsx"}]},"namespace-declaration":{begin:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(namespace|module)\\s+(?=[_$A-Za-z\"'`]))",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.type.namespace.tsx"}},end:"(?<=\\})|(?=;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",name:"meta.namespace.declaration.tsx",patterns:[{include:"#comment"},{include:"#string"},{match:"([_$A-Za-z][_$0-9A-Za-z]*)",name:"entity.name.type.module.tsx"},{include:"#punctuation-accessor"},{include:"#decl-block"}]},"new-expr":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"keyword.operator.new.tsx"}},end:"(?<=\\))|(?=[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))function((\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\s*[\\(]))))",name:"new.expr.tsx",patterns:[{include:"#expression"}]},"null-literal":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))null(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.null.tsx"},"numeric-literal":{patterns:[{captures:{1:{name:"storage.type.numeric.bigint.tsx"}},match:"\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$)",name:"constant.numeric.hex.tsx"},{captures:{1:{name:"storage.type.numeric.bigint.tsx"}},match:"\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$)",name:"constant.numeric.binary.tsx"},{captures:{1:{name:"storage.type.numeric.bigint.tsx"}},match:"\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$)",name:"constant.numeric.octal.tsx"},{captures:{0:{name:"constant.numeric.decimal.tsx"},1:{name:"meta.delimiter.decimal.period.tsx"},2:{name:"storage.type.numeric.bigint.tsx"},3:{name:"meta.delimiter.decimal.period.tsx"},4:{name:"storage.type.numeric.bigint.tsx"},5:{name:"meta.delimiter.decimal.period.tsx"},6:{name:"storage.type.numeric.bigint.tsx"},7:{name:"storage.type.numeric.bigint.tsx"},8:{name:"meta.delimiter.decimal.period.tsx"},9:{name:"storage.type.numeric.bigint.tsx"},10:{name:"meta.delimiter.decimal.period.tsx"},11:{name:"storage.type.numeric.bigint.tsx"},12:{name:"meta.delimiter.decimal.period.tsx"},13:{name:"storage.type.numeric.bigint.tsx"},14:{name:"storage.type.numeric.bigint.tsx"}},match:"(?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$)"}]},"numericConstant-literal":{patterns:[{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))NaN(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.nan.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Infinity(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.infinity.tsx"}]},"object-binding-element":{patterns:[{include:"#comment"},{begin:"(?=((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",end:"(?=,|\\})",patterns:[{include:"#object-binding-element-propertyName"},{include:"#binding-element"}]},{include:"#object-binding-pattern"},{include:"#destructuring-variable-rest"},{include:"#variable-initializer"},{include:"#punctuation-comma"}]},"object-binding-element-const":{patterns:[{include:"#comment"},{begin:"(?=((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",end:"(?=,|\\})",patterns:[{include:"#object-binding-element-propertyName"},{include:"#binding-element-const"}]},{include:"#object-binding-pattern-const"},{include:"#destructuring-variable-rest-const"},{include:"#variable-initializer"},{include:"#punctuation-comma"}]},"object-binding-element-propertyName":{begin:"(?=((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",end:"(:)",endCaptures:{0:{name:"punctuation.destructuring.tsx"}},patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:"([_$A-Za-z][_$0-9A-Za-z]*)",name:"variable.object.property.tsx"}]},"object-binding-pattern":{begin:"(?:(\\.\\.\\.)\\s*)?(\\{)",beginCaptures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"punctuation.definition.binding-pattern.object.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.tsx"}},patterns:[{include:"#object-binding-element"}]},"object-binding-pattern-const":{begin:"(?:(\\.\\.\\.)\\s*)?(\\{)",beginCaptures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"punctuation.definition.binding-pattern.object.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.tsx"}},patterns:[{include:"#object-binding-element-const"}]},"object-identifiers":{patterns:[{match:"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\s*\\??\\.\\s*prototype\\b(?!\\$))",name:"support.class.tsx"},{captures:{1:{name:"punctuation.accessor.tsx"},2:{name:"punctuation.accessor.optional.tsx"},3:{name:"variable.other.constant.object.property.tsx"},4:{name:"variable.other.object.property.tsx"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(?:(\\#?[A-Z][_$\\dA-Z]*)|(\\#?[_$A-Za-z][_$0-9A-Za-z]*))(?=\\s*\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*)"},{captures:{1:{name:"variable.other.constant.object.tsx"},2:{name:"variable.other.object.tsx"}},match:"(?:([A-Z][_$\\dA-Z]*)|([_$A-Za-z][_$0-9A-Za-z]*))(?=\\s*\\??\\.\\s*\\#?[_$A-Za-z][_$0-9A-Za-z]*)"}]},"object-literal":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.tsx"}},name:"meta.objectliteral.tsx",patterns:[{include:"#object-member"}]},"object-literal-method-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.async.tsx"},2:{name:"storage.type.property.tsx"},3:{name:"keyword.generator.asterisk.tsx"}},end:"(?=\\}|;|,)|(?<=\\})",name:"meta.method.declaration.tsx",patterns:[{include:"#method-declaration-name"},{include:"#function-body"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.async.tsx"},2:{name:"storage.type.property.tsx"},3:{name:"keyword.generator.asterisk.tsx"}},end:"(?=\\(|\\<)",patterns:[{include:"#method-declaration-name"}]}]},"object-member":{patterns:[{include:"#comment"},{include:"#object-literal-method-declaration"},{begin:"(?=\\[)",end:"(?=:)|((?<=[\\]])(?=\\s*[\\(\\<]))",name:"meta.object.member.tsx meta.object-literal.key.tsx",patterns:[{include:"#comment"},{include:"#array-literal"}]},{begin:"(?=[\\'\\\"\\`])",end:"(?=:)|((?<=[\\'\\\"\\`])(?=((\\s*[\\(\\<,}])|(\\s+(as|satisifies)\\s+))))",name:"meta.object.member.tsx meta.object-literal.key.tsx",patterns:[{include:"#comment"},{include:"#string"}]},{begin:"(?=(\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$)))",end:"(?=:)|(?=\\s*([\\(\\<,}])|(\\s+as|satisifies\\s+))",name:"meta.object.member.tsx meta.object-literal.key.tsx",patterns:[{include:"#comment"},{include:"#numeric-literal"}]},{begin:"(?<=[\\]\\'\\\"\\`])(?=\\s*[\\(\\<])",end:"(?=\\}|;|,)|(?<=\\})",name:"meta.method.declaration.tsx",patterns:[{include:"#function-body"}]},{captures:{0:{name:"meta.object-literal.key.tsx"},1:{name:"constant.numeric.decimal.tsx"}},match:"(?![_$A-Za-z])([\\d]+)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)",name:"meta.object.member.tsx"},{captures:{0:{name:"meta.object-literal.key.tsx"},1:{name:"entity.name.function.tsx"}},match:"(?:([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:(\\s*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/)*\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))",name:"meta.object.member.tsx"},{captures:{0:{name:"meta.object-literal.key.tsx"}},match:"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)",name:"meta.object.member.tsx"},{begin:"\\.\\.\\.",beginCaptures:{0:{name:"keyword.operator.spread.tsx"}},end:"(?=,|\\})",name:"meta.object.member.tsx",patterns:[{include:"#expression"}]},{captures:{1:{name:"variable.other.readwrite.tsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=,|\\}|$|\\/\\/|\\/\\*)",name:"meta.object.member.tsx"},{captures:{1:{name:"keyword.control.as.tsx"},2:{name:"storage.modifier.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\s+(const)(?=\\s*([,}]|$))",name:"meta.object.member.tsx"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\s+",beginCaptures:{1:{name:"keyword.control.as.tsx"},2:{name:"keyword.control.satisfies.tsx"}},end:"(?=[;),}\\]:?\\-\\+\\>]|\\|\\||\\&\\&|\\!\\=\\=|$|^|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisifies)\\s+))",name:"meta.object.member.tsx",patterns:[{include:"#type"}]},{begin:"(?=[_$A-Za-z][_$0-9A-Za-z]*\\s*=)",end:"(?=,|\\}|$|\\/\\/|\\/\\*)",name:"meta.object.member.tsx",patterns:[{include:"#expression"}]},{begin:":",beginCaptures:{0:{name:"meta.object-literal.key.tsx punctuation.separator.key-value.tsx"}},end:"(?=,|\\})",name:"meta.object.member.tsx",patterns:[{begin:"(?<=:)\\s*(async)?(?=\\s*(<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)\\(\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))",beginCaptures:{1:{name:"storage.modifier.async.tsx"}},end:"(?<=\\))",patterns:[{include:"#type-parameters"},{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.tsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.tsx"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},{begin:"(?<=:)\\s*(async)?\\s*(\\()(?=\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))",beginCaptures:{1:{name:"storage.modifier.async.tsx"},2:{name:"meta.brace.round.tsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.tsx"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]},{begin:"(?<=:)\\s*(async)?\\s*(?=\\<\\s*$)",beginCaptures:{1:{name:"storage.modifier.async.tsx"}},end:"(?<=\\>)",patterns:[{include:"#type-parameters"}]},{begin:"(?<=\\>)\\s*(\\()(?=\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))",beginCaptures:{1:{name:"meta.brace.round.tsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.tsx"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]},{include:"#possibly-arrow-return-type"},{include:"#expression"}]},{include:"#punctuation-comma"},{include:"#decl-block"}]},"parameter-array-binding-pattern":{begin:"(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"punctuation.definition.binding-pattern.array.tsx"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.tsx"}},patterns:[{include:"#parameter-binding-element"},{include:"#punctuation-comma"}]},"parameter-binding-element":{patterns:[{include:"#comment"},{include:"#string"},{include:"#numeric-literal"},{include:"#regex"},{include:"#parameter-object-binding-pattern"},{include:"#parameter-array-binding-pattern"},{include:"#destructuring-parameter-rest"},{include:"#variable-initializer"}]},"parameter-name":{patterns:[{captures:{1:{name:"storage.modifier.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\s+(?=(override|public|protected|private|readonly)\\s+)"},{captures:{1:{name:"storage.modifier.tsx"},2:{name:"keyword.operator.rest.tsx"},3:{name:"entity.name.function.tsx variable.language.this.tsx"},4:{name:"entity.name.function.tsx"},5:{name:"keyword.operator.optional.tsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))"},{captures:{1:{name:"storage.modifier.tsx"},2:{name:"keyword.operator.rest.tsx"},3:{name:"variable.parameter.tsx variable.language.this.tsx"},4:{name:"variable.parameter.tsx"},5:{name:"keyword.operator.optional.tsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*(\\??)"}]},"parameter-object-binding-element":{patterns:[{include:"#comment"},{begin:"(?=((\\b(?<!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?<!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?<!\\$)(?:(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\B(\\.)\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*[eE][+-]?\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(\\.)(n)?\\B)|(?:\\B(\\.)\\d[0-9_]*(n)?\\b)|(?:\\b\\d[0-9_]*(n)?\\b(?!\\.)))(?!\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",end:"(?=,|\\})",patterns:[{include:"#object-binding-element-propertyName"},{include:"#parameter-binding-element"},{include:"#paren-expression"}]},{include:"#parameter-object-binding-pattern"},{include:"#destructuring-parameter-rest"},{include:"#variable-initializer"},{include:"#punctuation-comma"}]},"parameter-object-binding-pattern":{begin:"(?:(\\.\\.\\.)\\s*)?(\\{)",beginCaptures:{1:{name:"keyword.operator.rest.tsx"},2:{name:"punctuation.definition.binding-pattern.object.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.tsx"}},patterns:[{include:"#parameter-object-binding-element"}]},"parameter-type-annotation":{patterns:[{begin:"(:)",beginCaptures:{1:{name:"keyword.operator.type.annotation.tsx"}},end:"(?=[,)])|(?==[^>])",name:"meta.type.annotation.tsx",patterns:[{include:"#type"}]}]},"paren-expression":{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.tsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.tsx"}},patterns:[{include:"#expression"}]},"paren-expression-possibly-arrow":{patterns:[{begin:"(?<=[(=,])\\s*(async)?(?=\\s*((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?\\(\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))",beginCaptures:{1:{name:"storage.modifier.async.tsx"}},end:"(?<=\\))",patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{begin:"(?<=[(=,]|=>|^return|[^\\._$0-9A-Za-z]return)\\s*(async)?(?=\\s*((((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?\\()|(<)|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)))\\s*$)",beginCaptures:{1:{name:"storage.modifier.async.tsx"}},end:"(?<=\\))",patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{include:"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{patterns:[{include:"#type-parameters"},{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.tsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.tsx"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{begin:"(?<=\\)|^)\\s*(:)(?=\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*=>)",beginCaptures:{1:{name:"meta.arrow.tsx meta.return.type.arrow.tsx keyword.operator.type.annotation.tsx"}},contentName:"meta.arrow.tsx meta.return.type.arrow.tsx",end:"(?==>|\\{|(^\\s*(export|function|class|interface|let|var|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|const|import|enum|namespace|module|type|abstract|declare)\\s+))",patterns:[{include:"#arrow-return-type-body"}]},"property-accessor":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(accessor|get|set)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.type.property.tsx"},"punctuation-accessor":{captures:{1:{name:"punctuation.accessor.tsx"},2:{name:"punctuation.accessor.optional.tsx"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))"},"punctuation-comma":{match:",",name:"punctuation.separator.comma.tsx"},"punctuation-semicolon":{match:";",name:"punctuation.terminator.statement.tsx"},"qstring-double":{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.tsx"}},end:'(")|((?:[^\\\\\\n])$)',endCaptures:{1:{name:"punctuation.definition.string.end.tsx"},2:{name:"invalid.illegal.newline.tsx"}},name:"string.quoted.double.tsx",patterns:[{include:"#string-character-escape"}]},"qstring-single":{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.tsx"}},end:"(\\')|((?:[^\\\\\\n])$)",endCaptures:{1:{name:"punctuation.definition.string.end.tsx"},2:{name:"invalid.illegal.newline.tsx"}},name:"string.quoted.single.tsx",patterns:[{include:"#string-character-escape"}]},regex:{patterns:[{begin:"(?<!\\+\\+|--|})(?<=[=(:,\\[?+!]|^return|[^\\._$0-9A-Za-z]return|^case|[^\\._$0-9A-Za-z]case|=>|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[\\()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^\\)\\\\]|\\\\.)+\\))+\\/([dgimsuy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",beginCaptures:{1:{name:"punctuation.definition.string.begin.tsx"}},end:"(/)([dgimsuy]*)",endCaptures:{1:{name:"punctuation.definition.string.end.tsx"},2:{name:"keyword.other.tsx"}},name:"string.regexp.tsx",patterns:[{include:"#regexp"}]},{begin:"((?<![_$0-9A-Za-z)\\]]|\\+\\+|--|}|\\*\\/)|((?<=^return|[^\\._$0-9A-Za-z]return|^case|[^\\._$0-9A-Za-z]case))\\s*)\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)*\\])+\\/([dgimsuy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",beginCaptures:{0:{name:"punctuation.definition.string.begin.tsx"}},end:"(/)([dgimsuy]*)",endCaptures:{1:{name:"punctuation.definition.string.end.tsx"},2:{name:"keyword.other.tsx"}},name:"string.regexp.tsx",patterns:[{include:"#regexp"}]}]},"regex-character-class":{patterns:[{match:"\\\\[wWsSdDtrnvf]|\\.",name:"constant.other.character-class.regexp"},{match:"\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})",name:"constant.character.numeric.regexp"},{match:"\\\\c[A-Z]",name:"constant.character.control.regexp"},{match:"\\\\.",name:"constant.character.escape.backslash.regexp"}]},regexp:{patterns:[{match:"\\\\[bB]|\\^|\\$",name:"keyword.control.anchor.regexp"},{captures:{0:{name:"keyword.other.back-reference.regexp"},1:{name:"variable.other.regexp"}},match:"\\\\[1-9]\\d*|\\\\k<([a-zA-Z_$][\\w$]*)>"},{match:"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??",name:"keyword.operator.quantifier.regexp"},{match:"\\|",name:"keyword.operator.or.regexp"},{begin:"(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?<!))",beginCaptures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"punctuation.definition.group.assertion.regexp"},3:{name:"meta.assertion.look-ahead.regexp"},4:{name:"meta.assertion.negative-look-ahead.regexp"},5:{name:"meta.assertion.look-behind.regexp"},6:{name:"meta.assertion.negative-look-behind.regexp"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.group.regexp"}},name:"meta.group.assertion.regexp",patterns:[{include:"#regexp"}]},{begin:"\\((?:(\\?:)|(?:\\?<([a-zA-Z_$][\\w$]*)>))?",beginCaptures:{0:{name:"punctuation.definition.group.regexp"},1:{name:"punctuation.definition.group.no-capture.regexp"},2:{name:"variable.other.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#regexp"}]},{begin:"(\\[)(\\^)?",beginCaptures:{1:{name:"punctuation.definition.character-class.regexp"},2:{name:"keyword.operator.negation.regexp"}},end:"(\\])",endCaptures:{1:{name:"punctuation.definition.character-class.regexp"}},name:"constant.other.character-class.set.regexp",patterns:[{captures:{1:{name:"constant.character.numeric.regexp"},2:{name:"constant.character.control.regexp"},3:{name:"constant.character.escape.backslash.regexp"},4:{name:"constant.character.numeric.regexp"},5:{name:"constant.character.control.regexp"},6:{name:"constant.character.escape.backslash.regexp"}},match:"(?:.|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))",name:"constant.other.character-class.range.regexp"},{include:"#regex-character-class"}]},{include:"#regex-character-class"}]},"return-type":{patterns:[{begin:"(?<=\\))\\s*(:)(?=\\s*\\S)",beginCaptures:{1:{name:"keyword.operator.type.annotation.tsx"}},end:"(?<![:|&])(?=$|^|[{};,]|//)",name:"meta.return.type.tsx",patterns:[{include:"#return-type-core"}]},{begin:"(?<=\\))\\s*(:)",beginCaptures:{1:{name:"keyword.operator.type.annotation.tsx"}},end:"(?<![:|&])((?=[{};,]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))",name:"meta.return.type.tsx",patterns:[{include:"#return-type-core"}]}]},"return-type-core":{patterns:[{include:"#comment"},{begin:"(?<=[:|&])(?=\\s*\\{)",end:"(?<=\\})",patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},shebang:{captures:{1:{name:"punctuation.definition.comment.tsx"}},match:"\\A(#!).*(?=$)",name:"comment.line.shebang.tsx"},"single-line-comment-consuming-line-ending":{begin:"(^[ \\t]+)?((//)(?:\\s*((@)internal)(?=\\s|$))?)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.tsx"},2:{name:"comment.line.double-slash.tsx"},3:{name:"punctuation.definition.comment.tsx"},4:{name:"storage.type.internaldeclaration.tsx"},5:{name:"punctuation.decorator.internaldeclaration.tsx"}},contentName:"comment.line.double-slash.tsx",end:"(?=^)"},statements:{patterns:[{include:"#declaration"},{include:"#control-statement"},{include:"#after-operator-block-as-object-literal"},{include:"#decl-block"},{include:"#label"},{include:"#expression"},{include:"#punctuation-semicolon"},{include:"#string"},{include:"#comment"}]},string:{patterns:[{include:"#qstring-single"},{include:"#qstring-double"},{include:"#template"}]},"string-character-escape":{match:"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)",name:"constant.character.escape.tsx"},"super-literal":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))super\\b(?!\\$)",name:"variable.language.super.tsx"},"support-function-call-identifiers":{patterns:[{include:"#literal"},{include:"#support-objects"},{include:"#object-identifiers"},{include:"#punctuation-accessor"},{match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*[\\(]\\s*[\\\"\\'\\`]))",name:"keyword.operator.expression.import.tsx"}]},"support-objects":{patterns:[{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(arguments)\\b(?!\\$)",name:"variable.language.arguments.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(Promise)\\b(?!\\$)",name:"support.class.promise.tsx"},{captures:{1:{name:"keyword.control.import.tsx"},2:{name:"punctuation.accessor.tsx"},3:{name:"punctuation.accessor.optional.tsx"},4:{name:"support.variable.property.importmeta.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(import)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(meta)\\b(?!\\$)"},{captures:{1:{name:"keyword.operator.new.tsx"},2:{name:"punctuation.accessor.tsx"},3:{name:"punctuation.accessor.optional.tsx"},4:{name:"support.variable.property.target.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(new)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(target)\\b(?!\\$)"},{captures:{1:{name:"punctuation.accessor.tsx"},2:{name:"punctuation.accessor.optional.tsx"},3:{name:"support.variable.property.tsx"},4:{name:"support.constant.tsx"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(?:(?:(constructor|length|prototype|__proto__)\\b(?!\\$|\\s*(<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))"},{captures:{1:{name:"support.type.object.module.tsx"},2:{name:"support.type.object.module.tsx"},3:{name:"punctuation.accessor.tsx"},4:{name:"punctuation.accessor.optional.tsx"},5:{name:"support.type.object.module.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(exports)|(module)(?:(?:(\\.)|(\\?\\.(?!\\s*[\\d])))(exports|id|filename|loaded|parent|children))?)\\b(?!\\$)"}]},"switch-statement":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?=\\bswitch\\s*\\()",end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.tsx"}},name:"switch-statement.expr.tsx",patterns:[{include:"#comment"},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(switch)\\s*(\\()",beginCaptures:{1:{name:"keyword.control.switch.tsx"},2:{name:"meta.brace.round.tsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.tsx"}},name:"switch-expression.expr.tsx",patterns:[{include:"#expression"}]},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.tsx"}},end:"(?=\\})",name:"switch-block.expr.tsx",patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default(?=:))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"keyword.control.switch.tsx"}},end:"(?=:)",name:"case-clause.expr.tsx",patterns:[{include:"#expression"}]},{begin:"(:)\\s*(\\{)",beginCaptures:{1:{name:"case-clause.expr.tsx punctuation.definition.section.case-statement.tsx"},2:{name:"meta.block.tsx punctuation.definition.block.tsx"}},contentName:"meta.block.tsx",end:"\\}",endCaptures:{0:{name:"meta.block.tsx punctuation.definition.block.tsx"}},patterns:[{include:"#statements"}]},{captures:{0:{name:"case-clause.expr.tsx punctuation.definition.section.case-statement.tsx"}},match:"(:)"},{include:"#statements"}]}]},template:{patterns:[{include:"#template-call"},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)?(`)",beginCaptures:{1:{name:"entity.name.function.tagged-template.tsx"},2:{name:"string.template.tsx punctuation.definition.string.template.begin.tsx"}},contentName:"string.template.tsx",end:"`",endCaptures:{0:{name:"string.template.tsx punctuation.definition.string.template.end.tsx"}},patterns:[{include:"#template-substitution-element"},{include:"#string-character-escape"}]}]},"template-call":{patterns:[{begin:"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?`)",end:"(?=`)",patterns:[{begin:"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*))",end:"(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)?`)",patterns:[{include:"#support-function-call-identifiers"},{match:"([_$A-Za-z][_$0-9A-Za-z]*)",name:"entity.name.function.tagged-template.tsx"}]},{include:"#type-arguments"}]},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)?\\s*(?=(<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))(([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\s*(((keyof|infer|typeof|readonly)\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))(?=\\s*([\\<\\>\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>)*(?<!=)\\>))*(?<!=)\\>)*(?<!=)>\\s*)`)",beginCaptures:{1:{name:"entity.name.function.tagged-template.tsx"}},end:"(?=`)",patterns:[{include:"#type-arguments"}]}]},"template-substitution-element":{begin:"\\$\\{",beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.tsx"}},contentName:"meta.embedded.line.tsx",end:"\\}",endCaptures:{0:{name:"punctuation.definition.template-expression.end.tsx"}},name:"meta.template.expression.tsx",patterns:[{include:"#expression"}]},"template-type":{patterns:[{include:"#template-call"},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)?(`)",beginCaptures:{1:{name:"entity.name.function.tagged-template.tsx"},2:{name:"string.template.tsx punctuation.definition.string.template.begin.tsx"}},contentName:"string.template.tsx",end:"`",endCaptures:{0:{name:"string.template.tsx punctuation.definition.string.template.end.tsx"}},patterns:[{include:"#template-type-substitution-element"},{include:"#string-character-escape"}]}]},"template-type-substitution-element":{begin:"\\$\\{",beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.tsx"}},contentName:"meta.embedded.line.tsx",end:"\\}",endCaptures:{0:{name:"punctuation.definition.template-expression.end.tsx"}},name:"meta.template.expression.tsx",patterns:[{include:"#type"}]},"ternary-expression":{begin:"(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)",beginCaptures:{1:{name:"keyword.operator.ternary.tsx"}},end:"\\s*(:)",endCaptures:{1:{name:"keyword.operator.ternary.tsx"}},patterns:[{include:"#expression"}]},"this-literal":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))this\\b(?!\\$)",name:"variable.language.this.tsx"},type:{patterns:[{include:"#comment"},{include:"#type-string"},{include:"#numeric-literal"},{include:"#type-primitive"},{include:"#type-builtin-literals"},{include:"#type-parameters"},{include:"#type-tuple"},{include:"#type-object"},{include:"#type-operators"},{include:"#type-conditional"},{include:"#type-fn-type-parameters"},{include:"#type-paren-or-function-parameters"},{include:"#type-function-return-type"},{captures:{1:{name:"storage.modifier.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*"},{include:"#type-name"}]},"type-alias-declaration":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(type)\\b\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\s*",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.type.type.tsx"},4:{name:"entity.name.type.alias.tsx"}},end:"(?=\\}|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",name:"meta.type.declaration.tsx",patterns:[{include:"#comment"},{include:"#type-parameters"},{begin:"(=)\\s*(intrinsic)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{1:{name:"keyword.operator.assignment.tsx"},2:{name:"keyword.control.intrinsic.tsx"}},end:"(?=\\}|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",patterns:[{include:"#type"}]},{begin:"(=)\\s*",beginCaptures:{1:{name:"keyword.operator.assignment.tsx"}},end:"(?=\\}|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",patterns:[{include:"#type"}]}]},"type-annotation":{patterns:[{begin:"(:)(?=\\s*\\S)",beginCaptures:{1:{name:"keyword.operator.type.annotation.tsx"}},end:"(?<![:|&])(?!\\s*[|&]\\s+)((?=^|[,);\\}\\]]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$A-Za-z])\\s*(?=\\{)))",name:"meta.type.annotation.tsx",patterns:[{include:"#type"}]},{begin:"(:)",beginCaptures:{1:{name:"keyword.operator.type.annotation.tsx"}},end:"(?<![:|&])((?=[,);\\}\\]]|\\/\\/)|(?==[^>])|(?=^\\s*$)|((?<=[\\}>\\]\\)]|[_$A-Za-z])\\s*(?=\\{)))",name:"meta.type.annotation.tsx",patterns:[{include:"#type"}]}]},"type-arguments":{begin:"\\<",beginCaptures:{0:{name:"punctuation.definition.typeparameters.begin.tsx"}},end:"\\>",endCaptures:{0:{name:"punctuation.definition.typeparameters.end.tsx"}},name:"meta.type.parameters.tsx",patterns:[{include:"#type-arguments-body"}]},"type-arguments-body":{patterns:[{captures:{0:{name:"keyword.operator.type.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(_)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))"},{include:"#type"},{include:"#punctuation-comma"}]},"type-builtin-literals":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(this|true|false|undefined|null|object)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"support.type.builtin.tsx"},"type-conditional":{patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends)\\s+",beginCaptures:{1:{name:"storage.modifier.tsx"}},end:"(?<=:)",patterns:[{begin:"\\?",beginCaptures:{0:{name:"keyword.operator.ternary.tsx"}},end:":",endCaptures:{0:{name:"keyword.operator.ternary.tsx"}},patterns:[{include:"#type"}]},{include:"#type"}]}]},"type-fn-type-parameters":{patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b(?=\\s*\\<)",beginCaptures:{1:{name:"meta.type.constructor.tsx storage.modifier.tsx"},2:{name:"meta.type.constructor.tsx keyword.control.new.tsx"}},end:"(?<=>)",patterns:[{include:"#comment"},{include:"#type-parameters"}]},{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\s+)?(new)\\b\\s*(?=\\()",beginCaptures:{1:{name:"storage.modifier.tsx"},2:{name:"keyword.control.new.tsx"}},end:"(?<=\\))",name:"meta.type.constructor.tsx",patterns:[{include:"#function-parameters"}]},{begin:"((?=[(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>))))))",end:"(?<=\\))",name:"meta.type.function.tsx",patterns:[{include:"#function-parameters"}]}]},"type-function-return-type":{patterns:[{begin:"(=>)(?=\\s*\\S)",beginCaptures:{1:{name:"storage.type.function.arrow.tsx"}},end:"(?<!=>)(?<![|&])(?=[,\\]\\)\\{\\}=;>:\\?]|//|$)",name:"meta.type.function.return.tsx",patterns:[{include:"#type-function-return-type-core"}]},{begin:"=>",beginCaptures:{0:{name:"storage.type.function.arrow.tsx"}},end:"(?<!=>)(?<![|&])((?=[,\\]\\)\\{\\}=;:\\?>]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))",name:"meta.type.function.return.tsx",patterns:[{include:"#type-function-return-type-core"}]}]},"type-function-return-type-core":{patterns:[{include:"#comment"},{begin:"(?<==>)(?=\\s*\\{)",end:"(?<=\\})",patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"type-infer":{patterns:[{captures:{1:{name:"keyword.operator.expression.infer.tsx"},2:{name:"entity.name.type.tsx"},3:{name:"keyword.operator.expression.extends.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(infer)\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\s+(extends)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))?",name:"meta.type.infer.tsx"}]},"type-name":{patterns:[{begin:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(<)",captures:{1:{name:"entity.name.type.module.tsx"},2:{name:"punctuation.accessor.tsx"},3:{name:"punctuation.accessor.optional.tsx"},4:{name:"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx"}},contentName:"meta.type.parameters.tsx",end:"(>)",endCaptures:{1:{name:"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx"}},patterns:[{include:"#type-arguments-body"}]},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(<)",beginCaptures:{1:{name:"entity.name.type.tsx"},2:{name:"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx"}},contentName:"meta.type.parameters.tsx",end:"(>)",endCaptures:{1:{name:"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx"}},patterns:[{include:"#type-arguments-body"}]},{captures:{1:{name:"entity.name.type.module.tsx"},2:{name:"punctuation.accessor.tsx"},3:{name:"punctuation.accessor.optional.tsx"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"entity.name.type.tsx"}]},"type-object":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.tsx"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.tsx"}},name:"meta.object.type.tsx",patterns:[{include:"#comment"},{include:"#method-declaration"},{include:"#indexer-declaration"},{include:"#indexer-mapped-type-declaration"},{include:"#field-declaration"},{include:"#type-annotation"},{begin:"\\.\\.\\.",beginCaptures:{0:{name:"keyword.operator.spread.tsx"}},end:"(?=\\}|;|,|$)|(?<=\\})",patterns:[{include:"#type"}]},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"},{include:"#type"}]},"type-operators":{patterns:[{include:"#typeof-operator"},{include:"#type-infer"},{begin:"([&|])(?=\\s*\\{)",beginCaptures:{0:{name:"keyword.operator.type.tsx"}},end:"(?<=\\})",patterns:[{include:"#type-object"}]},{begin:"[&|]",beginCaptures:{0:{name:"keyword.operator.type.tsx"}},end:"(?=\\S)"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))keyof(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.keyof.tsx"},{match:"(\\?|\\:)",name:"keyword.operator.ternary.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))import(?=\\s*\\()",name:"keyword.operator.expression.import.tsx"}]},"type-parameters":{begin:"(<)",beginCaptures:{1:{name:"punctuation.definition.typeparameters.begin.tsx"}},end:"(>)",endCaptures:{1:{name:"punctuation.definition.typeparameters.end.tsx"}},name:"meta.type.parameters.tsx",patterns:[{include:"#comment"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out|const)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.tsx"},{include:"#type"},{include:"#punctuation-comma"},{match:"(=)(?!>)",name:"keyword.operator.assignment.tsx"}]},"type-paren-or-function-parameters":{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.tsx"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.tsx"}},name:"meta.type.paren.cover.tsx",patterns:[{captures:{1:{name:"storage.modifier.tsx"},2:{name:"keyword.operator.rest.tsx"},3:{name:"entity.name.function.tsx variable.language.this.tsx"},4:{name:"entity.name.function.tsx"},5:{name:"keyword.operator.optional.tsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\s*(\\??)(?=\\s*(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))))"},{captures:{1:{name:"storage.modifier.tsx"},2:{name:"keyword.operator.rest.tsx"},3:{name:"variable.parameter.tsx variable.language.this.tsx"},4:{name:"variable.parameter.tsx"},5:{name:"keyword.operator.optional.tsx"}},match:"(?:(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(public|private|protected|readonly)\\s+)?(?:(\\.\\.\\.)\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\s*(\\??)(?=:)"},{include:"#type-annotation"},{match:",",name:"punctuation.separator.parameter.tsx"},{include:"#type"}]},"type-predicate-operator":{patterns:[{captures:{1:{name:"keyword.operator.type.asserts.tsx"},2:{name:"variable.parameter.tsx variable.language.this.tsx"},3:{name:"variable.parameter.tsx"},4:{name:"keyword.operator.expression.is.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(asserts)\\s+)?(?!asserts)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\s(is)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))"},{captures:{1:{name:"keyword.operator.type.asserts.tsx"},2:{name:"variable.parameter.tsx variable.language.this.tsx"},3:{name:"variable.parameter.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(asserts)\\s+(?!is)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))asserts(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.type.asserts.tsx"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))is(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"keyword.operator.expression.is.tsx"}]},"type-primitive":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"support.type.primitive.tsx"},"type-string":{patterns:[{include:"#qstring-single"},{include:"#qstring-double"},{include:"#template-type"}]},"type-tuple":{begin:"\\[",beginCaptures:{0:{name:"meta.brace.square.tsx"}},end:"\\]",endCaptures:{0:{name:"meta.brace.square.tsx"}},name:"meta.type.tuple.tsx",patterns:[{match:"\\.\\.\\.",name:"keyword.operator.rest.tsx"},{captures:{1:{name:"entity.name.label.tsx"},2:{name:"keyword.operator.optional.tsx"},3:{name:"punctuation.separator.label.tsx"}},match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))([_$A-Za-z][_$0-9A-Za-z]*)\\s*(\\?)?\\s*(:)"},{include:"#type"},{include:"#punctuation-comma"}]},"typeof-operator":{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))typeof(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",beginCaptures:{0:{name:"keyword.operator.expression.typeof.tsx"}},end:"(?=[,);}\\]=>:&|{\\?]|(extends\\s+)|$|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))",patterns:[{include:"#type-arguments"},{include:"#expression"}]},"undefined-literal":{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))undefined(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"constant.language.undefined.tsx"},"var-expr":{patterns:[{begin:"(?=(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))",end:"(?!(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))|((?<!^let|[^\\._$0-9A-Za-z]let|^var|[^\\._$0-9A-Za-z]var)(?=\\s*$)))",name:"meta.var.expr.tsx",patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.type.tsx"}},end:"(?=\\S)"},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#variable-initializer"},{include:"#comment"},{begin:"(,)\\s*(?=$|\\/\\/)",beginCaptures:{1:{name:"punctuation.separator.comma.tsx"}},end:"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:"(?=(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(const(?!\\s+enum\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.type.tsx"}},end:"(?!(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(const(?!\\s+enum\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))|((?<!^const|[^\\._$0-9A-Za-z]const)(?=\\s*$)))",name:"meta.var.expr.tsx",patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(const(?!\\s+enum\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.type.tsx"}},end:"(?=\\S)"},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:"(,)\\s*(?=$|\\/\\/)",beginCaptures:{1:{name:"punctuation.separator.comma.tsx"}},end:"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:"(?=(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b((?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.type.tsx"}},end:"(?!(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b((?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))((?=;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b))|((?<!^using|[^\\._$0-9A-Za-z]using|^await\\s+using|[^\\._$0-9A-Za-z]await\\s+using)(?=\\s*$)))",name:"meta.var.expr.tsx",patterns:[{begin:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b((?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b))(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))\\s*",beginCaptures:{1:{name:"keyword.control.export.tsx"},2:{name:"storage.modifier.tsx"},3:{name:"storage.type.tsx"}},end:"(?=\\S)"},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:"(,)\\s*((?!\\S)|(?=\\/\\/))",beginCaptures:{1:{name:"punctuation.separator.comma.tsx"}},end:"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|^\\s*$))|((?<=\\S)(?=\\s*$)))",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#var-single-const"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]}]},"var-single-const":{patterns:[{begin:"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))",beginCaptures:{1:{name:"meta.definition.variable.tsx variable.other.constant.tsx entity.name.function.tsx"}},end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",name:"meta.var-single-variable.expr.tsx",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)",beginCaptures:{1:{name:"meta.definition.variable.tsx variable.other.constant.tsx"}},end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",name:"meta.var-single-variable.expr.tsx",patterns:[{include:"#var-single-variable-type-annotation"}]}]},"var-single-variable":{patterns:[{begin:"([_$A-Za-z][_$0-9A-Za-z]*)(\\!)?(?=\\s*(=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>)))))))|(:\\s*(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\s*((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\s*)?(((<\\s*$)|([\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|([<]\\s*[_$A-Za-z][_$0-9A-Za-z]*\\s+extends\\s*[^=>])|((<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))",beginCaptures:{1:{name:"meta.definition.variable.tsx entity.name.function.tsx"},2:{name:"keyword.operator.definiteassignment.tsx"}},end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",name:"meta.var-single-variable.expr.tsx",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:"([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])(\\!)?",beginCaptures:{1:{name:"meta.definition.variable.tsx variable.other.constant.tsx"},2:{name:"keyword.operator.definiteassignment.tsx"}},end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",name:"meta.var-single-variable.expr.tsx",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)(\\!)?",beginCaptures:{1:{name:"meta.definition.variable.tsx variable.other.readwrite.tsx"},2:{name:"keyword.operator.definiteassignment.tsx"}},end:"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+)|(;|^\\s*$|(?:^\\s*(?:abstract|async|(?:\\bawait\\s+(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\busing(?=\\s+(?!in\\b|of\\b(?!\\s*(?:of\\b|=)))[_$A-Za-z])\\b)|var|while)\\b)))",name:"meta.var-single-variable.expr.tsx",patterns:[{include:"#var-single-variable-type-annotation"}]}]},"var-single-variable-type-annotation":{patterns:[{include:"#type-annotation"},{include:"#string"},{include:"#comment"}]},"variable-initializer":{patterns:[{begin:"(?<!=|!)(=)(?!=)(?=\\s*\\S)(?!\\s*.*=>\\s*$)",beginCaptures:{1:{name:"keyword.operator.assignment.tsx"}},end:"(?=$|^|[,);}\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))",patterns:[{include:"#expression"}]},{begin:"(?<!=|!)(=)(?!=)",beginCaptures:{1:{name:"keyword.operator.assignment.tsx"}},end:"(?=[,);}\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\s+))|(?=^\\s*$)|(?<![\\|\\&\\+\\-\\*\\/])(?<=\\S)(?<!=)(?=\\s*$)",patterns:[{include:"#expression"}]}]}},scopeName:"source.tsx"});var u=[j];const w=Object.freeze({displayName:"JSON with Comments",name:"jsonc",patterns:[{include:"#value"}],repository:{array:{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.array.begin.json.comments"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.array.end.json.comments"}},name:"meta.structure.array.json.comments",patterns:[{include:"#value"},{match:",",name:"punctuation.separator.array.json.comments"},{match:"[^\\s\\]]",name:"invalid.illegal.expected-array-separator.json.comments"}]},comments:{patterns:[{begin:"/\\*\\*(?!/)",captures:{0:{name:"punctuation.definition.comment.json.comments"}},end:"\\*/",name:"comment.block.documentation.json.comments"},{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.json.comments"}},end:"\\*/",name:"comment.block.json.comments"},{captures:{1:{name:"punctuation.definition.comment.json.comments"}},match:"(//).*$\\n?",name:"comment.line.double-slash.js"}]},constant:{match:"\\b(?:true|false|null)\\b",name:"constant.language.json.comments"},number:{match:"-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)?",name:"constant.numeric.json.comments"},object:{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.dictionary.begin.json.comments"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.dictionary.end.json.comments"}},name:"meta.structure.dictionary.json.comments",patterns:[{comment:"the JSON object key",include:"#objectkey"},{include:"#comments"},{begin:":",beginCaptures:{0:{name:"punctuation.separator.dictionary.key-value.json.comments"}},end:"(,)|(?=\\})",endCaptures:{1:{name:"punctuation.separator.dictionary.pair.json.comments"}},name:"meta.structure.dictionary.value.json.comments",patterns:[{comment:"the JSON object value",include:"#value"},{match:"[^\\s,]",name:"invalid.illegal.expected-dictionary-separator.json.comments"}]},{match:"[^\\s\\}]",name:"invalid.illegal.expected-dictionary-separator.json.comments"}]},objectkey:{begin:'"',beginCaptures:{0:{name:"punctuation.support.type.property-name.begin.json.comments"}},end:'"',endCaptures:{0:{name:"punctuation.support.type.property-name.end.json.comments"}},name:"string.json.comments support.type.property-name.json.comments",patterns:[{include:"#stringcontent"}]},string:{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.json.comments"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.json.comments"}},name:"string.quoted.double.json.comments",patterns:[{include:"#stringcontent"}]},stringcontent:{patterns:[{match:'\\\\(?:["\\\\/bfnrt]|u[0-9a-fA-F]{4})',name:"constant.character.escape.json.comments"},{match:"\\\\.",name:"invalid.illegal.unrecognized-string-escape.json.comments"}]},value:{patterns:[{include:"#constant"},{include:"#number"},{include:"#string"},{include:"#array"},{include:"#object"},{include:"#comments"}]}},scopeName:"source.json.comments"});var A=[w];const z=Object.freeze({displayName:"JSON5",fileTypes:["json5"],name:"json5",patterns:[{include:"#comments"},{include:"#value"}],repository:{array:{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.array.begin.json5"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.array.end.json5"}},name:"meta.structure.array.json5",patterns:[{include:"#comments"},{include:"#value"},{match:",",name:"punctuation.separator.array.json5"},{match:"[^\\s\\]]",name:"invalid.illegal.expected-array-separator.json5"}]},comments:{patterns:[{match:"/{2}.*",name:"comment.single.json5"},{begin:"/\\*\\*(?!/)",captures:{0:{name:"punctuation.definition.comment.json5"}},end:"\\*/",name:"comment.block.documentation.json5"},{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.json5"}},end:"\\*/",name:"comment.block.json5"}]},constant:{match:"\\b(?:true|false|null|Infinity|NaN)\\b",name:"constant.language.json5"},infinity:{match:"(-)*\\b(?:Infinity|NaN)\\b",name:"constant.language.json5"},key:{name:"string.key.json5",patterns:[{include:"#stringSingle"},{include:"#stringDouble"},{match:"[a-zA-Z0-9_-]",name:"string.key.json5"}]},number:{patterns:[{comment:"handles hexadecimal numbers",match:"(0x)[0-9a-fA-f]*",name:"constant.hex.numeric.json5"},{comment:"handles integer and decimal numbers",match:"[+-.]?(?=[1-9]|0(?!\\d))\\d+(\\.\\d+)?([eE][+-]?\\d+)?",name:"constant.dec.numeric.json5"}]},object:{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.dictionary.begin.json5"}},comment:"a json5 object",end:"\\}",endCaptures:{0:{name:"punctuation.definition.dictionary.end.json5"}},name:"meta.structure.dictionary.json5",patterns:[{include:"#comments"},{comment:"the json5 object key",include:"#key"},{begin:":",beginCaptures:{0:{name:"punctuation.separator.dictionary.key-value.json5"}},end:"(,)|(?=\\})",endCaptures:{1:{name:"punctuation.separator.dictionary.pair.json5"}},name:"meta.structure.dictionary.value.json5",patterns:[{comment:"the json5 object value",include:"#value"},{match:"[^\\s,]",name:"invalid.illegal.expected-dictionary-separator.json5"}]},{match:"[^\\s\\}]",name:"invalid.illegal.expected-dictionary-separator.json5"}]},stringDouble:{begin:'["]',beginCaptures:{0:{name:"punctuation.definition.string.begin.json5"}},end:'["]',endCaptures:{0:{name:"punctuation.definition.string.end.json5"}},name:"string.quoted.json5",patterns:[{match:'(?:\\\\(?:["\\\\/bfnrt]|u[0-9a-fA-F]{4}))',name:"constant.character.escape.json5"},{match:"\\\\.",name:"invalid.illegal.unrecognized-string-escape.json5"}]},stringSingle:{begin:"[']",beginCaptures:{0:{name:"punctuation.definition.string.begin.json5"}},end:"[']",endCaptures:{0:{name:"punctuation.definition.string.end.json5"}},name:"string.quoted.json5",patterns:[{match:'(?:\\\\(?:["\\\\/bfnrt]|u[0-9a-fA-F]{4}))',name:"constant.character.escape.json5"},{match:"\\\\.",name:"invalid.illegal.unrecognized-string-escape.json5"}]},value:{comment:"the 'value' diagram at http://json.org",patterns:[{include:"#constant"},{include:"#infinity"},{include:"#number"},{include:"#stringSingle"},{include:"#stringDouble"},{include:"#array"},{include:"#object"}]}},scopeName:"source.json5"});var Z=[z];const v=Object.freeze({displayName:"TOML",fileTypes:["toml"],name:"toml",patterns:[{include:"#comments"},{include:"#groups"},{include:"#key_pair"},{include:"#invalid"}],repository:{comments:{begin:"(^[ \\t]+)?(?=#)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.toml"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.toml"}},end:"\\n",name:"comment.line.number-sign.toml"}]},groups:{patterns:[{captures:{1:{name:"punctuation.definition.section.begin.toml"},2:{patterns:[{match:"[^\\s.]+",name:"entity.name.section.toml"}]},3:{name:"punctuation.definition.section.begin.toml"}},match:"^\\s*(\\[)([^\\[\\]]*)(\\])",name:"meta.group.toml"},{captures:{1:{name:"punctuation.definition.section.begin.toml"},2:{patterns:[{match:"[^\\s.]+",name:"entity.name.section.toml"}]},3:{name:"punctuation.definition.section.begin.toml"}},match:"^\\s*(\\[\\[)([^\\[\\]]*)(\\]\\])",name:"meta.group.double.toml"}]},invalid:{match:"\\S+(\\s*(?=\\S))?",name:"invalid.illegal.not-allowed-here.toml"},key_pair:{patterns:[{begin:"([A-Za-z0-9_-]+)\\s*(=)\\s*",captures:{1:{name:"variable.other.key.toml"},2:{name:"punctuation.separator.key-value.toml"}},end:"(?<=\\S)(?<!=)|$",patterns:[{include:"#primatives"}]},{begin:'((")(.*?)("))\\s*(=)\\s*',captures:{1:{name:"variable.other.key.toml"},2:{name:"punctuation.definition.variable.begin.toml"},3:{patterns:[{match:'\\\\([btnfr"\\\\]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})',name:"constant.character.escape.toml"},{match:'\\\\[^btnfr"\\\\]',name:"invalid.illegal.escape.toml"},{match:'"',name:"invalid.illegal.not-allowed-here.toml"}]},4:{name:"punctuation.definition.variable.end.toml"},5:{name:"punctuation.separator.key-value.toml"}},end:"(?<=\\S)(?<!=)|$",patterns:[{include:"#primatives"}]},{begin:"((')([^']*)('))\\s*(=)\\s*",captures:{1:{name:"variable.other.key.toml"},2:{name:"punctuation.definition.variable.begin.toml"},4:{name:"punctuation.definition.variable.end.toml"},5:{name:"punctuation.separator.key-value.toml"}},end:"(?<=\\S)(?<!=)|$",patterns:[{include:"#primatives"}]},{begin:`(((?:[A-Za-z0-9_-]+|"(?:[^"\\\\]|\\\\.)*"|'[^']*')(?:\\s*\\.\\s*|(?=\\s*=))){2,})\\s*(=)\\s*`,captures:{1:{name:"variable.other.key.toml",patterns:[{match:"\\.",name:"punctuation.separator.variable.toml"},{captures:{1:{name:"punctuation.definition.variable.begin.toml"},2:{patterns:[{match:'\\\\([btnfr"\\\\]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})',name:"constant.character.escape.toml"},{match:'\\\\[^btnfr"\\\\]',name:"invalid.illegal.escape.toml"}]},3:{name:"punctuation.definition.variable.end.toml"}},match:'(")((?:[^"\\\\]|\\\\.)*)(")'},{captures:{1:{name:"punctuation.definition.variable.begin.toml"},2:{name:"punctuation.definition.variable.end.toml"}},match:"(')[^']*(')"}]},3:{name:"punctuation.separator.key-value.toml"}},comment:"Dotted key",end:"(?<=\\S)(?<!=)|$",patterns:[{include:"#primatives"}]}]},primatives:{patterns:[{begin:'\\G"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.toml"}},end:'"{3,5}',endCaptures:{0:{name:"punctuation.definition.string.end.toml"}},name:"string.quoted.triple.double.toml",patterns:[{match:'\\\\([btnfr"\\\\]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})',name:"constant.character.escape.toml"},{match:'\\\\[^btnfr"\\\\\\n]',name:"invalid.illegal.escape.toml"}]},{begin:'\\G"',beginCaptures:{0:{name:"punctuation.definition.string.begin.toml"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.toml"}},name:"string.quoted.double.toml",patterns:[{match:'\\\\([btnfr"\\\\]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})',name:"constant.character.escape.toml"},{match:'\\\\[^btnfr"\\\\]',name:"invalid.illegal.escape.toml"}]},{begin:"\\G'''",beginCaptures:{0:{name:"punctuation.definition.string.begin.toml"}},end:"'{3,5}",endCaptures:{0:{name:"punctuation.definition.string.end.toml"}},name:"string.quoted.triple.single.toml"},{begin:"\\G'",beginCaptures:{0:{name:"punctuation.definition.string.begin.toml"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.toml"}},name:"string.quoted.single.toml"},{match:"\\G\\d{4}-(0[1-9]|1[012])-(?!00|3[2-9])[0-3]\\d([Tt ](?!2[5-9])[0-2]\\d:[0-5]\\d:(?!6[1-9])[0-6]\\d(\\.\\d+)?(Z|[+-](?!2[5-9])[0-2]\\d:[0-5]\\d)?)?",name:"constant.other.date.toml"},{match:"\\G(?!2[5-9])[0-2]\\d:[0-5]\\d:(?!6[1-9])[0-6]\\d(\\.\\d+)?",name:"constant.other.time.toml"},{match:"\\G(true|false)",name:"constant.language.boolean.toml"},{match:"\\G0x\\h(\\h|_\\h)*",name:"constant.numeric.hex.toml"},{match:"\\G0o[0-7]([0-7]|_[0-7])*",name:"constant.numeric.octal.toml"},{match:"\\G0b[01]([01]|_[01])*",name:"constant.numeric.binary.toml"},{match:"\\G[+-]?(inf|nan)",name:"constant.numeric.toml"},{match:"\\G([+-]?(0|([1-9]((\\d|_\\d)+)?)))(?=[.eE])(\\.(\\d((\\d|_\\d)+)?))?([eE]([+-]?\\d((\\d|_\\d)+)?))?",name:"constant.numeric.float.toml"},{match:"\\G([+-]?(0|([1-9]((\\d|_\\d)+)?)))",name:"constant.numeric.integer.toml"},{begin:"\\G\\[",beginCaptures:{0:{name:"punctuation.definition.array.begin.toml"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.array.end.toml"}},name:"meta.array.toml",patterns:[{begin:`(?=["'']|[+-]?\\d|[+-]?(inf|nan)|true|false|\\[|\\{)`,end:",|(?=])",endCaptures:{0:{name:"punctuation.separator.array.toml"}},patterns:[{include:"#primatives"},{include:"#comments"},{include:"#invalid"}]},{include:"#comments"},{include:"#invalid"}]},{begin:"\\G\\{",beginCaptures:{0:{name:"punctuation.definition.inline-table.begin.toml"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.inline-table.end.toml"}},name:"meta.inline-table.toml",patterns:[{begin:"(?=\\S)",end:",|(?=})",endCaptures:{0:{name:"punctuation.separator.inline-table.toml"}},patterns:[{include:"#key_pair"}]},{include:"#comments"}]}]}},scopeName:"source.toml"});var C=[v];const q=Object.freeze({displayName:"GraphQL",fileTypes:["graphql","graphqls","gql","graphcool"],name:"graphql",patterns:[{include:"#graphql"}],repository:{graphql:{patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-fragment-definition"},{include:"#graphql-directive-definition"},{include:"#graphql-type-interface"},{include:"#graphql-enum"},{include:"#graphql-scalar"},{include:"#graphql-union"},{include:"#graphql-schema"},{include:"#graphql-operation-def"},{include:"#literal-quasi-embedded"}]},"graphql-ampersand":{captures:{1:{name:"keyword.operator.logical.graphql"}},match:"\\s*(&)"},"graphql-arguments":{begin:"\\s*(\\()",beginCaptures:{1:{name:"meta.brace.round.directive.graphql"}},end:"\\s*(\\))",endCaptures:{1:{name:"meta.brace.round.directive.graphql"}},name:"meta.arguments.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{begin:"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(:))",beginCaptures:{1:{name:"variable.parameter.graphql"},2:{name:"punctuation.colon.graphql"}},end:"(?=\\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\\s*(:))|\\)))|\\s*(,)",endCaptures:{3:{name:"punctuation.comma.graphql"}},patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-value"},{include:"#graphql-skip-newlines"}]},{include:"#literal-quasi-embedded"}]},"graphql-boolean-value":{captures:{1:{name:"constant.language.boolean.graphql"}},match:"\\s*\\b(true|false)\\b"},"graphql-colon":{captures:{1:{name:"punctuation.colon.graphql"}},match:"\\s*(:)"},"graphql-comma":{captures:{1:{name:"punctuation.comma.graphql"}},match:"\\s*(,)"},"graphql-comment":{patterns:[{captures:{1:{name:"punctuation.whitespace.comment.leading.graphql"}},comment:"need to prefix comment space with a scope else Atom's reflow cmd doesn't work",match:"(\\s*)(#).*",name:"comment.line.graphql.js"},{begin:'(""")',beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.graphql"}},end:'(""")',name:"comment.line.graphql.js"},{begin:'(")',beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.graphql"}},end:'(")',name:"comment.line.graphql.js"}]},"graphql-description-docstring":{begin:'"""',end:'"""',name:"comment.block.graphql"},"graphql-description-singleline":{match:'#(?=([^"]*"[^"]*")*[^"]*$).*$',name:"comment.line.number-sign.graphql"},"graphql-directive":{applyEndPatternLast:1,begin:"\\s*((@)\\s*([_A-Za-z][_0-9A-Za-z]*))",beginCaptures:{1:{name:"entity.name.function.directive.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-arguments"},{include:"#literal-quasi-embedded"},{include:"#graphql-skip-newlines"}]},"graphql-directive-definition":{applyEndPatternLast:1,begin:"\\s*(\\bdirective\\b)\\s*(@[_A-Za-z][_0-9A-Za-z]*)",beginCaptures:{1:{name:"keyword.directive.graphql"},2:{name:"entity.name.function.directive.graphql"},3:{name:"keyword.on.graphql"},4:{name:"support.type.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-variable-definitions"},{applyEndPatternLast:1,begin:"\\s*(\\bon\\b)\\s*([_A-Za-z]*)",beginCaptures:{1:{name:"keyword.on.graphql"},2:{name:"support.type.location.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-skip-newlines"},{include:"#graphql-comment"},{include:"#literal-quasi-embedded"},{captures:{2:{name:"support.type.location.graphql"}},match:"\\s*(\\|)\\s*([_A-Za-z]*)"}]},{include:"#graphql-skip-newlines"},{include:"#graphql-comment"},{include:"#literal-quasi-embedded"}]},"graphql-enum":{begin:"\\s*+\\b(enum)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)",beginCaptures:{1:{name:"keyword.enum.graphql"},2:{name:"support.type.enum.graphql"}},end:"(?<=})",name:"meta.enum.graphql",patterns:[{begin:"\\s*({)",beginCaptures:{1:{name:"punctuation.operation.graphql"}},end:"\\s*(})",endCaptures:{1:{name:"punctuation.operation.graphql"}},name:"meta.type.object.graphql",patterns:[{include:"#graphql-object-type"},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-enum-value"},{include:"#literal-quasi-embedded"}]},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"}]},"graphql-enum-value":{match:"\\s*(?!=\\b(true|false|null)\\b)([_A-Za-z][_0-9A-Za-z]*)",name:"constant.character.enum.graphql"},"graphql-field":{patterns:[{captures:{1:{name:"string.unquoted.alias.graphql"},2:{name:"punctuation.colon.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)\\s*(:)"},{captures:{1:{name:"variable.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)"},{include:"#graphql-arguments"},{include:"#graphql-directive"},{include:"#graphql-selection-set"},{include:"#literal-quasi-embedded"},{include:"#graphql-skip-newlines"}]},"graphql-float-value":{captures:{1:{name:"constant.numeric.float.graphql"}},match:"\\s*(-?(0|[1-9]\\d*)(\\.\\d+)?((e|E)(\\+|-)?\\d+)?)"},"graphql-fragment-definition":{begin:"\\s*(?:(\\bfragment\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)?\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)))",captures:{1:{name:"keyword.fragment.graphql"},2:{name:"entity.name.fragment.graphql"},3:{name:"keyword.on.graphql"},4:{name:"support.type.graphql"}},end:"(?<=})",name:"meta.fragment.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-selection-set"},{include:"#graphql-directive"},{include:"#graphql-skip-newlines"},{include:"#literal-quasi-embedded"}]},"graphql-fragment-spread":{applyEndPatternLast:1,begin:"\\s*(\\.\\.\\.)\\s*(?!\\bon\\b)([_A-Za-z][_0-9A-Za-z]*)",captures:{1:{name:"keyword.operator.spread.graphql"},2:{name:"variable.fragment.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-selection-set"},{include:"#graphql-directive"},{include:"#literal-quasi-embedded"},{include:"#graphql-skip-newlines"}]},"graphql-ignore-spaces":{match:"\\s*"},"graphql-inline-fragment":{applyEndPatternLast:1,begin:"\\s*(\\.\\.\\.)\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))?",captures:{1:{name:"keyword.operator.spread.graphql"},2:{name:"keyword.on.graphql"},3:{name:"support.type.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-selection-set"},{include:"#graphql-directive"},{include:"#graphql-skip-newlines"},{include:"#literal-quasi-embedded"}]},"graphql-input-types":{patterns:[{include:"#graphql-scalar-type"},{captures:{1:{name:"support.type.graphql"},2:{name:"keyword.operator.nulltype.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(!))?"},{begin:"\\s*(\\[)",captures:{1:{name:"meta.brace.square.graphql"},2:{name:"keyword.operator.nulltype.graphql"}},end:"\\s*(\\])(?:\\s*(!))?",name:"meta.type.list.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-input-types"},{include:"#graphql-comma"},{include:"#literal-quasi-embedded"}]}]},"graphql-list-value":{patterns:[{begin:"\\s*+(\\[)",beginCaptures:{1:{name:"meta.brace.square.graphql"}},end:"\\s*(\\])",endCaptures:{1:{name:"meta.brace.square.graphql"}},name:"meta.listvalues.graphql",patterns:[{include:"#graphql-value"}]}]},"graphql-name":{captures:{1:{name:"entity.name.function.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)"},"graphql-null-value":{captures:{1:{name:"constant.language.null.graphql"}},match:"\\s*\\b(null)\\b"},"graphql-object-field":{captures:{1:{name:"constant.object.key.graphql"},2:{name:"string.unquoted.graphql"},3:{name:"punctuation.graphql"}},match:"\\s*(([_A-Za-z][_0-9A-Za-z]*))\\s*(:)"},"graphql-object-value":{patterns:[{begin:"\\s*+({)",beginCaptures:{1:{name:"meta.brace.curly.graphql"}},end:"\\s*(})",endCaptures:{1:{name:"meta.brace.curly.graphql"}},name:"meta.objectvalues.graphql",patterns:[{include:"#graphql-object-field"},{include:"#graphql-value"}]}]},"graphql-operation-def":{patterns:[{include:"#graphql-query-mutation"},{include:"#graphql-name"},{include:"#graphql-variable-definitions"},{include:"#graphql-directive"},{include:"#graphql-selection-set"}]},"graphql-query-mutation":{captures:{1:{name:"keyword.operation.graphql"}},match:"\\s*\\b(query|mutation)\\b"},"graphql-scalar":{captures:{1:{name:"keyword.scalar.graphql"},2:{name:"entity.scalar.graphql"}},match:"\\s*\\b(scalar)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)"},"graphql-scalar-type":{captures:{1:{name:"support.type.builtin.graphql"},2:{name:"keyword.operator.nulltype.graphql"}},match:"\\s*\\b(Int|Float|String|Boolean|ID)\\b(?:\\s*(!))?"},"graphql-schema":{begin:"\\s*\\b(schema)\\b",beginCaptures:{1:{name:"keyword.schema.graphql"}},end:"(?<=})",patterns:[{begin:"\\s*({)",beginCaptures:{1:{name:"punctuation.operation.graphql"}},end:"\\s*(})",endCaptures:{1:{name:"punctuation.operation.graphql"}},patterns:[{begin:"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)",beginCaptures:{1:{name:"variable.arguments.graphql"}},end:"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)",endCaptures:{5:{name:"punctuation.comma.graphql"}},patterns:[{captures:{1:{name:"support.type.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)"},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-colon"},{include:"#graphql-skip-newlines"}]},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-skip-newlines"}]},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-skip-newlines"}]},"graphql-selection-set":{begin:"\\s*({)",beginCaptures:{1:{name:"punctuation.operation.graphql"}},end:"\\s*(})",endCaptures:{1:{name:"punctuation.operation.graphql"}},name:"meta.selectionset.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-field"},{include:"#graphql-fragment-spread"},{include:"#graphql-inline-fragment"},{include:"#graphql-comma"},{include:"#native-interpolation"},{include:"#literal-quasi-embedded"}]},"graphql-skip-newlines":{match:`\\s*
3
- `},"graphql-string-content":{patterns:[{match:`\\\\[/'"\\\\nrtbf]`,name:"constant.character.escape.graphql"},{match:"\\\\u([0-9a-fA-F]{4})",name:"constant.character.escape.graphql"}]},"graphql-string-value":{begin:'\\s*+(("))',beginCaptures:{1:{name:"string.quoted.double.graphql"},2:{name:"punctuation.definition.string.begin.graphql"}},contentName:"string.quoted.double.graphql",end:`\\s*+(?:(("))|(
4
- ))`,endCaptures:{1:{name:"string.quoted.double.graphql"},2:{name:"punctuation.definition.string.end.graphql"},3:{name:"invalid.illegal.newline.graphql"}},patterns:[{include:"#graphql-string-content"},{include:"#literal-quasi-embedded"}]},"graphql-type-definition":{begin:"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)",beginCaptures:{1:{name:"variable.graphql"}},comment:"key (optionalArgs): Type",end:"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)",endCaptures:{5:{name:"punctuation.comma.graphql"}},patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-variable-definitions"},{include:"#graphql-type-object"},{include:"#graphql-colon"},{include:"#graphql-input-types"},{include:"#literal-quasi-embedded"}]},"graphql-type-interface":{applyEndPatternLast:1,begin:"\\s*\\b(?:(extends?)?\\b\\s*\\b(type)|(interface)|(input))\\b\\s*([_A-Za-z][_0-9A-Za-z]*)?",captures:{1:{name:"keyword.type.graphql"},2:{name:"keyword.type.graphql"},3:{name:"keyword.interface.graphql"},4:{name:"keyword.input.graphql"},5:{name:"support.type.graphql"}},end:"(?=.)",name:"meta.type.interface.graphql",patterns:[{begin:"\\s*\\b(implements)\\b\\s*",beginCaptures:{1:{name:"keyword.implements.graphql"}},end:"\\s*(?={)",patterns:[{captures:{1:{name:"support.type.graphql"}},match:"\\s*([_A-Za-z][_0-9A-Za-z]*)"},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-ampersand"},{include:"#graphql-comma"}]},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-type-object"},{include:"#literal-quasi-embedded"},{include:"#graphql-ignore-spaces"}]},"graphql-type-object":{begin:"\\s*({)",beginCaptures:{1:{name:"punctuation.operation.graphql"}},end:"\\s*(})",endCaptures:{1:{name:"punctuation.operation.graphql"}},name:"meta.type.object.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-object-type"},{include:"#graphql-type-definition"},{include:"#literal-quasi-embedded"}]},"graphql-union":{applyEndPatternLast:1,begin:"\\s*\\b(union)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)",captures:{1:{name:"keyword.union.graphql"},2:{name:"support.type.graphql"}},end:"(?=.)",patterns:[{applyEndPatternLast:1,begin:"\\s*(=)\\s*([_A-Za-z][_0-9A-Za-z]*)",captures:{1:{name:"punctuation.assignment.graphql"},2:{name:"support.type.graphql"}},end:"(?=.)",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-skip-newlines"},{include:"#literal-quasi-embedded"},{captures:{1:{name:"punctuation.or.graphql"},2:{name:"support.type.graphql"}},match:"\\s*(\\|)\\s*([_A-Za-z][_0-9A-Za-z]*)"}]},{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-skip-newlines"},{include:"#literal-quasi-embedded"}]},"graphql-union-mark":{captures:{1:{name:"punctuation.union.graphql"}},match:"\\s*(\\|)"},"graphql-value":{patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-variable-name"},{include:"#graphql-float-value"},{include:"#graphql-string-value"},{include:"#graphql-boolean-value"},{include:"#graphql-null-value"},{include:"#graphql-enum-value"},{include:"#graphql-list-value"},{include:"#graphql-object-value"},{include:"#literal-quasi-embedded"}]},"graphql-variable-assignment":{applyEndPatternLast:1,begin:"\\s(=)",beginCaptures:{1:{name:"punctuation.assignment.graphql"}},end:`(?=[
5
- ,)])`,patterns:[{include:"#graphql-value"}]},"graphql-variable-definition":{begin:"\\s*(\\$?[_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)",beginCaptures:{1:{name:"variable.parameter.graphql"}},comment:"variable: type = value,.... which may be a list",end:"(?=\\s*((\\$?[_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(}|\\))))|\\s*(,)",endCaptures:{5:{name:"punctuation.comma.graphql"}},name:"meta.variables.graphql",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-directive"},{include:"#graphql-colon"},{include:"#graphql-input-types"},{include:"#graphql-variable-assignment"},{include:"#literal-quasi-embedded"},{include:"#graphql-skip-newlines"}]},"graphql-variable-definitions":{begin:"\\s*(\\()",captures:{1:{name:"meta.brace.round.graphql"}},end:"\\s*(\\))",patterns:[{include:"#graphql-comment"},{include:"#graphql-description-docstring"},{include:"#graphql-description-singleline"},{include:"#graphql-variable-definition"},{include:"#literal-quasi-embedded"}]},"graphql-variable-name":{captures:{1:{name:"variable.graphql"}},match:"\\s*(\\$[_A-Za-z][_0-9A-Za-z]*)"},"native-interpolation":{begin:"\\s*(\\${)",beginCaptures:{1:{name:"keyword.other.substitution.begin"}},end:"(})",endCaptures:{1:{name:"keyword.other.substitution.end"}},name:"native.interpolation",patterns:[{include:"source.js"},{include:"source.ts"},{include:"source.js.jsx"},{include:"source.tsx"}]}},scopeName:"source.graphql",embeddedLangs:["javascript","typescript","jsx","tsx"],aliases:["gql"]});var F=[...e,...a,...c,...u,q];const G=Object.freeze({displayName:"HTML (Derivative)",injections:{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{comment:"Uses R: to ensure this matches after any other injections.",patterns:[{match:"<",name:"invalid.illegal.bad-angle-bracket.html"}]}},name:"html-derivative",patterns:[{include:"text.html.basic#core-minus-invalid"},{begin:"(</?)(\\w[^\\s>]*)(?<!/)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:"((?: ?/)?>)",endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.unrecognized.html.derivative",patterns:[{include:"text.html.basic#attribute"}]}],scopeName:"text.html.derivative",embeddedLangs:["html"]});var N=[...n,G];const E=Object.freeze({fileTypes:[],injectTo:["text.html.markdown"],injectionSelector:"L:text.html.markdown",name:"markdown-vue",patterns:[{include:"#vue-code-block"}],repository:{"vue-code-block":{begin:"(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(vue)((\\s+|:|,|\\{|\\?)[^`~]*)?$)",beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown",patterns:[]}},end:"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{include:"source.vue"}]}},scopeName:"markdown.vue.codeblock"});var S=[E];const D=Object.freeze({fileTypes:[],injectTo:["source.vue","text.html.markdown","text.html.derivative","text.pug"],injectionSelector:"L:meta.tag -meta.attribute -meta.ng-binding -entity.name.tag.pug -attribute_value -source.tsx -source.js.jsx, L:meta.element -meta.attribute",name:"vue-directives",patterns:[{include:"source.vue#vue-directives"}],scopeName:"vue.directives"});var B=[D];const T=Object.freeze({fileTypes:[],injectTo:["source.vue","text.html.markdown","text.html.derivative","text.pug"],injectionSelector:"L:text.pug -comment -string.comment, L:text.html.derivative -comment.block, L:text.html.markdown -comment.block",name:"vue-interpolations",patterns:[{include:"source.vue#vue-interpolations"}],scopeName:"vue.interpolations"});var I=[T];const O=Object.freeze({fileTypes:[],injectTo:["source.vue"],injectionSelector:"L:source.css -comment, L:source.postcss -comment, L:source.sass -comment, L:source.stylus -comment",name:"vue-sfc-style-variable-injection",patterns:[{include:"#vue-sfc-style-variable-injection"}],repository:{"vue-sfc-style-variable-injection":{begin:"\\b(v-bind)\\s*\\(",beginCaptures:{1:{name:"entity.name.function"}},end:"\\)",name:"vue.sfc.style.variable.injection.v-bind",patterns:[{begin:`('|")`,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"}},end:"(\\1)",endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"source.ts.embedded.html.vue",patterns:[{include:"source.js"}]},{include:"source.js"}]}},scopeName:"vue.sfc.style.variable.injection",embeddedLangs:["javascript"]});var P=[...e,O];const L=Object.freeze({displayName:"Vue",name:"vue",patterns:[{include:"text.html.basic#comment"},{include:"#self-closing-tag"},{begin:"(<)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"}},end:"(>)",endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},patterns:[{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)md\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"text.html.markdown",patterns:[{include:"text.html.markdown"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)html\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"text.html.derivative",patterns:[{include:"#html-stuff"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)pug\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"text.pug",patterns:[{include:"text.pug"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)stylus\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.stylus",patterns:[{include:"source.stylus"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)postcss\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.postcss",patterns:[{include:"source.postcss"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)sass\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.sass",patterns:[{include:"source.sass"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)css\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.css",patterns:[{include:"source.css"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)scss\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.css.scss",patterns:[{include:"source.css.scss"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)less\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.css.less",patterns:[{include:"source.css.less"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)js\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.js",patterns:[{include:"source.js"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)ts\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.ts",patterns:[{include:"source.ts"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)jsx\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.js.jsx",patterns:[{include:"source.js.jsx"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)tsx\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.tsx",patterns:[{include:"source.tsx"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)coffee\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.coffee",patterns:[{include:"source.coffee"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)json\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.json",patterns:[{include:"source.json"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)jsonc\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.json.comments",patterns:[{include:"source.json.comments"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)json5\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.json5",patterns:[{include:"source.json5"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)yaml\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.yaml",patterns:[{include:"source.yaml"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)toml\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.toml",patterns:[{include:"source.toml"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)(gql|graphql)\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.graphql",patterns:[{include:"source.graphql"}]}]},{begin:`([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)vue\\b\\2)`,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"source.vue",patterns:[{include:"source.vue"}]}]},{begin:"(template)\\b",beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/template\\b)",name:"text.html.derivative",patterns:[{include:"#html-stuff"}]}]},{begin:"(script)\\b",beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/script\\b)",name:"source.js",patterns:[{include:"source.js"}]}]},{begin:"(style)\\b",beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/style\\b)",name:"source.css",patterns:[{include:"source.css"}]}]},{begin:"([a-zA-Z0-9:-]+)",beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:"(</)(\\1)\\s*(?=>)",endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:"(?<=>)",end:"(?=<\\/)",name:"text"}]}]}],repository:{"html-stuff":{patterns:[{include:"#template-tag"},{include:"text.html.derivative"},{include:"text.html.basic"}]},"self-closing-tag":{begin:"(<)([a-zA-Z0-9:-]+)(?=([^>]+/>))",beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},end:"(/>)",endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"self-closing-tag",patterns:[{include:"#tag-stuff"}]},"tag-stuff":{begin:"\\G",end:"(?=/>)|(>)",endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"meta.tag-stuff",patterns:[{include:"#vue-directives"},{include:"text.html.basic#attribute"}]},"template-tag":{patterns:[{include:"#template-tag-1"},{include:"#template-tag-2"}]},"template-tag-1":{begin:"(<)(template)\\b(>)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"},3:{name:"punctuation.definition.tag.end.html.vue"}},end:"(/?>)",endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"meta.template-tag.start",patterns:[{begin:"\\G",end:"(?=/>)|((</)(template)\\b)",endCaptures:{2:{name:"punctuation.definition.tag.begin.html.vue"},3:{name:"entity.name.tag.$3.html.vue"}},name:"meta.template-tag.end",patterns:[{include:"#html-stuff"}]}]},"template-tag-2":{begin:"(<)(template)\\b",beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},end:"(/?>)",endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"meta.template-tag.start",patterns:[{begin:"\\G",end:"(?=/>)|((</)(template)\\b)",endCaptures:{2:{name:"punctuation.definition.tag.begin.html.vue"},3:{name:"entity.name.tag.$3.html.vue"}},name:"meta.template-tag.end",patterns:[{include:"#tag-stuff"},{include:"#html-stuff"}]}]},"vue-directives":{patterns:[{include:"#vue-directives-control"},{include:"#vue-directives-style-attr"},{include:"#vue-directives-original"},{include:"#vue-directives-generic-attr"}]},"vue-directives-control":{begin:"(v-for)|(v-if|v-else-if|v-else)",captures:{1:{name:"keyword.control.loop.vue"},2:{name:"keyword.control.conditional.vue"}},end:"(?=\\s*+[^=\\s])",name:"meta.attribute.directive.control.vue",patterns:[{include:"#vue-directives-expression"}]},"vue-directives-expression":{patterns:[{begin:"(=)\\s*('|\"|`)",beginCaptures:{1:{name:"punctuation.separator.key-value.html.vue"},2:{name:"punctuation.definition.string.begin.html.vue"}},end:"(\\2)",endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},patterns:[{begin:"(?<=('|\"|`))",end:"(?=\\1)",name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]}]},{begin:"(=)\\s*(?=[^'\"`])",beginCaptures:{1:{name:"punctuation.separator.key-value.html.vue"}},end:"(?=(\\s|>|\\/>))",patterns:[{begin:"(?=[^'\"`])",end:"(?=(\\s|>|\\/>))",name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]}]}]},"vue-directives-generic-attr":{begin:"\\b(generic)\\s*(=)",captures:{1:{name:"entity.other.attribute-name.html.vue"},2:{name:"punctuation.separator.key-value.html.vue"}},end:`(?<='|")`,name:"meta.attribute.generic.vue",patterns:[{begin:`('|")`,beginCaptures:{1:{name:"punctuation.definition.string.begin.html.vue"}},comment:"https://github.com/microsoft/vscode/blob/fd4346210f59135fad81a8b8c4cea7bf5a9ca6b4/extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json#L4002-L4020",end:"(\\1)",endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},name:"meta.type.parameters.vue",patterns:[{include:"source.ts#comment"},{match:"(?<![_$0-9A-Za-z])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out)(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.))",name:"storage.modifier.ts"},{include:"source.ts#type"},{include:"source.ts#punctuation-comma"},{match:"(=)(?!>)",name:"keyword.operator.assignment.ts"}]}]},"vue-directives-original":{begin:"(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?",beginCaptures:{1:{name:"entity.other.attribute-name.html.vue"},2:{name:"punctuation.separator.key-value.html.vue"},3:{name:"punctuation.attribute-shorthand.bind.html.vue"},4:{name:"punctuation.attribute-shorthand.event.html.vue"},5:{name:"punctuation.attribute-shorthand.slot.html.vue"},6:{name:"punctuation.separator.key-value.html.vue"},7:{name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]},8:{name:"punctuation.separator.key-value.html.vue"},9:{name:"entity.other.attribute-name.html.vue"}},end:"(?=\\s*[^=\\s])",endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},name:"meta.attribute.directive.vue",patterns:[{1:{name:"punctuation.separator.key-value.html.vue"},2:{name:"entity.other.attribute-name.html.vue"},match:"(\\.)([\\w-]*)"},{include:"#vue-directives-expression"}]},"vue-directives-style-attr":{begin:"\\b(style)\\s*(=)",captures:{1:{name:"entity.other.attribute-name.html.vue"},2:{name:"punctuation.separator.key-value.html.vue"}},end:`(?<='|")`,name:"meta.attribute.style.vue",patterns:[{begin:`('|")`,beginCaptures:{1:{name:"punctuation.definition.string.begin.html.vue"}},comment:"Copy from source.css#rule-list-innards",end:"(\\1)",endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},name:"source.css.embedded.html.vue",patterns:[{include:"source.css#comment-block"},{include:"source.css#escapes"},{include:"source.css#font-features"},{match:"(?<![\\w-])--(?:[-a-zA-Z_]|[^\\x00-\\x7F])(?:[-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))*",name:"variable.css"},{begin:"(?<![-a-zA-Z])(?=[-a-zA-Z])",end:"$|(?![-a-zA-Z])",name:"meta.property-name.css",patterns:[{include:"source.css#property-names"}]},{begin:"(:)\\s*",beginCaptures:{1:{name:"punctuation.separator.key-value.css"}},comment:"Modify end to fix #199. TODO: handle ' character.",contentName:"meta.property-value.css",end:`\\s*(;)|\\s*(?='|")`,endCaptures:{1:{name:"punctuation.terminator.rule.css"}},patterns:[{include:"source.css#comment-block"},{include:"source.css#property-values"}]},{match:";",name:"punctuation.terminator.rule.css"}]}]},"vue-interpolations":{patterns:[{begin:"(\\{\\{)",beginCaptures:{1:{name:"punctuation.definition.interpolation.begin.html.vue"}},end:"(\\}\\})",endCaptures:{1:{name:"punctuation.definition.interpolation.end.html.vue"}},name:"expression.embedded.vue",patterns:[{begin:"\\G",end:"(?=\\}\\})",name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]}]}]}},scopeName:"source.vue",embeddedLangs:["html","markdown","pug","stylus","sass","css","scss","less","javascript","typescript","jsx","tsx","coffee","json","jsonc","json5","yaml","toml","graphql","html-derivative","markdown-vue","vue-directives","vue-interpolations","vue-sfc-style-variable-injection"]});var W=[...n,...p,..._,...r,...s,...t,...i,...$,...e,...a,...c,...u,...o,...l,...A,...Z,...d,...C,...F,...N,...S,...B,...I,...P,L];export{W as default};