gular expressions (normal) we only start a regexp if the character before it (excluding whitespace) is what we think is before a regexp `,contentName:"string.regexp.classic.ruby",end:"((/[eimnosux]*))",patterns:[{include:"#regex_sub"}]},{captures:{1:{name:"punctuation.definition.constant.ruby"}},comment:"symbols",match:"(?[a-zA-Z_]\\w*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[\\]=?|(@@?|\\$)[a-zA-Z_]\\w*)",name:"constant.other.symbol.ruby"},{begin:"^=begin",captures:{0:{name:"punctuation.definition.comment.ruby"}},comment:"multiline comments",end:"^=end",name:"comment.block.documentation.ruby"},{begin:"(^[ \\t]+)?(?=#)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.ruby"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.ruby"}},end:"\\n",name:"comment.line.number-sign.ruby"}]},{comment:` matches questionmark-letters. examples (1st alternation = hex): ?\\x1 ?\\x61 examples (2nd alternation = octal): ?\\0 ?\\07 ?\\017 examples (3rd alternation = escaped): ?\\n ?\\b examples (4th alternation = meta-ctrl): ?\\C-a ?\\M-a ?\\C-\\M-\\C-\\M-a examples (4th alternation = normal): ?a ?A ?0 ?* ?" ?( ?. ?# the negative lookbehind prevents against matching p(42.tainted?) `,match:"(?<<[-~]("?)((?:[_\\w]+_|)HTML)\\b\\1))',comment:"Heredoc with embedded html",end:"(?!\\G)",name:"meta.embedded.block.html",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)HTML)\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"text.html",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.html.basic"},{include:"#escaped_char"}]}]},{begin:'(?=(?><<[-~]("?)((?:[_\\w]+_|)XML)\\b\\1))',comment:"Heredoc with embedded xml",end:"(?!\\G)",name:"meta.embedded.block.xml",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)XML)\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"text.xml",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"text.xml"},{include:"#escaped_char"}]}]},{begin:'(?=(?><<[-~]("?)((?:[_\\w]+_|)SQL)\\b\\1))',comment:"Heredoc with embedded sql",end:"(?!\\G)",name:"meta.embedded.block.sql",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)SQL)\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.sql",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.sql"},{include:"#escaped_char"}]}]},{begin:'(?=(?><<[-~]("?)((?:[_\\w]+_|)CSS)\\b\\1))',comment:"Heredoc with embedded css",end:"(?!\\G)",name:"meta.embedded.block.css",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)CSS)\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.css",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.css"},{include:"#escaped_char"}]}]},{begin:'(?=(?><<[-~]("?)((?:[_\\w]+_|)CPP)\\b\\1))',comment:"Heredoc with embedded c++",end:"(?!\\G)",name:"meta.embedded.block.c++",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)CPP)\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.c++",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.c++"},{include:"#escaped_char"}]}]},{begin:'(?=(?><<[-~]("?)((?:[_\\w]+_|)C)\\b\\1))',comment:"Heredoc with embedded c",end:"(?!\\G)",name:"meta.embedded.block.c",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)C)\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.c",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.c"},{include:"#escaped_char"}]}]},{begin:'(?=(?><<[-~]("?)((?:[_\\w]+_|)(?:JS|JAVASCRIPT))\\b\\1))',comment:"Heredoc with embedded javascript",end:"(?!\\G)",name:"meta.embedded.block.js",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)(?:JS|JAVASCRIPT))\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.js",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.js"},{include:"#escaped_char"}]}]},{begin:'(?=(?><<[-~]("?)((?:[_\\w]+_|)JQUERY)\\b\\1))',comment:"Heredoc with embedded jQuery javascript",end:"(?!\\G)",name:"meta.embedded.block.js.jquery",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)JQUERY)\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.js.jquery",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.js.jquery"},{include:"#escaped_char"}]}]},{begin:'(?=(?><<[-~]("?)((?:[_\\w]+_|)(?:SH|SHELL))\\b\\1))',comment:"Heredoc with embedded shell",end:"(?!\\G)",name:"meta.embedded.block.shell",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)(?:SH|SHELL))\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.shell",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.shell"},{include:"#escaped_char"}]}]},{begin:'(?=(?><<[-~]("?)((?:[_\\w]+_|)LUA)\\b\\1))',comment:"Heredoc with embedded lua",end:"(?!\\G)",name:"meta.embedded.block.lua",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)LUA)\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.lua",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.lua"},{include:"#escaped_char"}]}]},{begin:'(?=(?><<[-~]("?)((?:[_\\w]+_|)RUBY)\\b\\1))',comment:"Heredoc with embedded ruby",end:"(?!\\G)",name:"meta.embedded.block.ruby",patterns:[{begin:'(?><<[-~]("?)((?:[_\\w]+_|)RUBY)\\b\\1)',beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},contentName:"source.ruby",end:"\\s*\\2$\\n?",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"source.ruby"},{include:"#escaped_char"}]}]},{begin:"(?>=\\s*<<(\\w+))",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"^\\1$",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:"(?><<[-~](\\w+))",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},comment:"heredoc with indented terminator",end:"\\s*\\1$",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.unquoted.heredoc.ruby",patterns:[{include:"#heredoc"},{include:"#interpolated_ruby"},{include:"#escaped_char"}]},{begin:"(?<=\\{|do|\\{\\s|do\\s)(\\|)",captures:{1:{name:"punctuation.separator.arguments.ruby"}},end:"(?",name:"punctuation.separator.key-value"},{match:"->",name:"support.function.kernel.lambda.ruby"},{match:"<<=|%=|&{1,2}=|\\*=|\\*\\*=|\\+=|-=|\\^=|\\|{1,2}=|<<",name:"keyword.operator.assignment.augmented.ruby"},{match:"<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \\t])\\?",name:"keyword.operator.comparison.ruby"},{match:"(?>",name:"keyword.operator.other.ruby"},{match:";",name:"punctuation.separator.statement.ruby"},{match:",",name:"punctuation.separator.object.ruby"},{captures:{1:{name:"punctuation.separator.namespace.ruby"}},comment:"Mark as namespace separator if double colons followed by capital letter",match:"(::)\\s*(?=[A-Z])"},{captures:{1:{name:"punctuation.separator.method.ruby"}},comment:"Mark as method separator if double colons not followed by capital letter",match:"(\\.|::)\\s*(?![A-Z])"},{comment:"Must come after method and constant separators to prefer double colons",match:":",name:"punctuation.separator.other.ruby"},{match:"\\{",name:"punctuation.section.scope.begin.ruby"},{match:"\\}",name:"punctuation.section.scope.end.ruby"},{match:"\\[",name:"punctuation.section.array.begin.ruby"},{match:"\\]",name:"punctuation.section.array.end.ruby"},{match:"\\(|\\)",name:"punctuation.section.function.ruby"}],repository:{escaped_char:{match:"\\\\(?:[0-7]{1,3}|x[\\da-fA-F]{1,2}|.)",name:"constant.character.escape.ruby"},heredoc:{begin:"^<<[-~]?\\w+",end:"$",patterns:[{include:"$self"}]},interpolated_ruby:{patterns:[{begin:"#\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.ruby"}},contentName:"source.ruby",end:"(\\})",endCaptures:{0:{name:"punctuation.section.embedded.end.ruby"},1:{name:"source.ruby"}},name:"meta.embedded.line.ruby",patterns:[{include:"#nest_curly_and_self"},{include:"$self"}],repository:{nest_curly_and_self:{patterns:[{begin:"\\{",captures:{0:{name:"punctuation.section.scope.ruby"}},end:"\\}",patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]}}},{captures:{1:{name:"punctuation.definition.variable.ruby"}},match:"(#@)[a-zA-Z_]\\w*",name:"variable.other.readwrite.instance.ruby"},{captures:{1:{name:"punctuation.definition.variable.ruby"}},match:"(#@@)[a-zA-Z_]\\w*",name:"variable.other.readwrite.class.ruby"},{captures:{1:{name:"punctuation.definition.variable.ruby"}},match:"(#\\$)[a-zA-Z_]\\w*",name:"variable.other.readwrite.global.ruby"}]},percent_literals:{patterns:[{begin:"%i(?:([(\\[{<])|([^\\w\\s]|_))",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"[)\\]}>]\\2|\\1\\2",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"meta.array.symbol.ruby",patterns:[{begin:"\\G(?<=\\()(?!\\))",end:"(?=\\))",patterns:[{include:"#parens"},{include:"#symbol"}]},{begin:"\\G(?<=\\[)(?!\\])",end:"(?=\\])",patterns:[{include:"#brackets"},{include:"#symbol"}]},{begin:"\\G(?<=\\{)(?!\\})",end:"(?=\\})",patterns:[{include:"#braces"},{include:"#symbol"}]},{begin:"\\G(?<=<)(?!>)",end:"(?=>)",patterns:[{include:"#angles"},{include:"#symbol"}]},{include:"#symbol"}],repository:{angles:{patterns:[{captures:{0:{name:"constant.character.escape.ruby"}},match:"\\\\<|\\\\>",name:"constant.other.symbol.ruby"},{begin:"<",captures:{0:{name:"constant.other.symbol.ruby"}},end:">",patterns:[{include:"#angles"},{include:"#symbol"}]}]},braces:{patterns:[{captures:{0:{name:"constant.character.escape.ruby"}},match:"\\\\\\{|\\\\\\}",name:"constant.other.symbol.ruby"},{begin:"\\{",captures:{0:{name:"constant.other.symbol.ruby"}},end:"\\}",patterns:[{include:"#braces"},{include:"#symbol"}]}]},brackets:{patterns:[{captures:{0:{name:"constant.character.escape.ruby"}},match:"\\\\\\[|\\\\\\]",name:"constant.other.symbol.ruby"},{begin:"\\[",captures:{0:{name:"constant.other.symbol.ruby"}},end:"\\]",patterns:[{include:"#brackets"},{include:"#symbol"}]}]},parens:{patterns:[{captures:{0:{name:"constant.character.escape.ruby"}},match:"\\\\\\(|\\\\\\)",name:"constant.other.symbol.ruby"},{begin:"\\(",captures:{0:{name:"constant.other.symbol.ruby"}},end:"\\)",patterns:[{include:"#parens"},{include:"#symbol"}]}]},symbol:{patterns:[{captures:{0:{name:"constant.character.escape.ruby"}},match:"\\\\\\\\|\\\\[ ]",name:"constant.other.symbol.ruby"},{match:"\\S\\w*",name:"constant.other.symbol.ruby"}]}}},{begin:"%I(?:([(\\[{<])|([^\\w\\s]|_))",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"[)\\]}>]\\2|\\1\\2",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"meta.array.symbol.interpolated.ruby",patterns:[{begin:"\\G(?<=\\()(?!\\))",end:"(?=\\))",patterns:[{include:"#parens"},{include:"#symbol"}]},{begin:"\\G(?<=\\[)(?!\\])",end:"(?=\\])",patterns:[{include:"#brackets"},{include:"#symbol"}]},{begin:"\\G(?<=\\{)(?!\\})",end:"(?=\\})",patterns:[{include:"#braces"},{include:"#symbol"}]},{begin:"\\G(?<=<)(?!>)",end:"(?=>)",patterns:[{include:"#angles"},{include:"#symbol"}]},{include:"#symbol"}],repository:{angles:{patterns:[{begin:"<",captures:{0:{name:"constant.other.symbol.ruby"}},end:">",patterns:[{include:"#angles"},{include:"#symbol"}]}]},braces:{patterns:[{begin:"\\{",captures:{0:{name:"constant.other.symbol.ruby"}},end:"\\}",patterns:[{include:"#braces"},{include:"#symbol"}]}]},brackets:{patterns:[{begin:"\\[",captures:{0:{name:"constant.other.symbol.ruby"}},end:"\\]",patterns:[{include:"#brackets"},{include:"#symbol"}]}]},parens:{patterns:[{begin:"\\(",captures:{0:{name:"constant.other.symbol.ruby"}},end:"\\)",patterns:[{include:"#parens"},{include:"#symbol"}]}]},symbol:{patterns:[{begin:"(?=\\\\|#\\{)",end:"(?!\\G)",name:"constant.other.symbol.ruby",patterns:[{include:"#escaped_char"},{include:"#interpolated_ruby"}]},{match:"\\S\\w*",name:"constant.other.symbol.ruby"}]}}},{begin:"%q(?:([(\\[{<])|([^\\w\\s]|_))",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"[)\\]}>]\\2|\\1\\2",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.ruby",patterns:[{begin:"\\G(?<=\\()(?!\\))",end:"(?=\\))",patterns:[{include:"#parens"}]},{begin:"\\G(?<=\\[)(?!\\])",end:"(?=\\])",patterns:[{include:"#brackets"}]},{begin:"\\G(?<=\\{)(?!\\})",end:"(?=\\})",patterns:[{include:"#braces"}]},{begin:"\\G(?<=<)(?!>)",end:"(?=>)",patterns:[{include:"#angles"}]}],repository:{angles:{patterns:[{match:"\\\\<|\\\\>|\\\\\\\\",name:"constant.character.escape.ruby"},{begin:"<",end:">",patterns:[{include:"#angles"}]}]},braces:{patterns:[{match:"\\\\\\{|\\\\\\}|\\\\\\\\",name:"constant.character.escape.ruby"},{begin:"\\{",end:"\\}",patterns:[{include:"#braces"}]}]},brackets:{patterns:[{match:"\\\\\\[|\\\\\\]|\\\\\\\\",name:"constant.character.escape.ruby"},{begin:"\\[",end:"\\]",patterns:[{include:"#brackets"}]}]},parens:{patterns:[{match:"\\\\\\(|\\\\\\)|\\\\\\\\",name:"constant.character.escape.ruby"},{begin:"\\(",end:"\\)",patterns:[{include:"#parens"}]}]}}},{begin:"%Q?(?:([(\\[{<])|([^\\w\\s=]|_))",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"[)\\]}>]\\2|\\1\\2",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.quoted.other.interpolated.ruby",patterns:[{begin:"\\G(?<=\\()(?!\\))",end:"(?=\\))",patterns:[{include:"#parens"}]},{begin:"\\G(?<=\\[)(?!\\])",end:"(?=\\])",patterns:[{include:"#brackets"}]},{begin:"\\G(?<=\\{)(?!\\})",end:"(?=\\})",patterns:[{include:"#braces"}]},{begin:"\\G(?<=<)(?!>)",end:"(?=>)",patterns:[{include:"#angles"}]},{include:"#escaped_char"},{include:"#interpolated_ruby"}],repository:{angles:{patterns:[{include:"#escaped_char"},{include:"#interpolated_ruby"},{begin:"<",end:">",patterns:[{include:"#angles"}]}]},braces:{patterns:[{include:"#escaped_char"},{include:"#interpolated_ruby"},{begin:"\\{",end:"\\}",patterns:[{include:"#braces"}]}]},brackets:{patterns:[{include:"#escaped_char"},{include:"#interpolated_ruby"},{begin:"\\[",end:"\\]",patterns:[{include:"#brackets"}]}]},parens:{patterns:[{include:"#escaped_char"},{include:"#interpolated_ruby"},{begin:"\\(",end:"\\)",patterns:[{include:"#parens"}]}]}}},{begin:"%r(?:([(\\[{<])|([^\\w\\s]|_))",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"([)\\]}>]\\2|\\1\\2)[eimnosux]*",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.regexp.percent.ruby",patterns:[{begin:"\\G(?<=\\()(?!\\))",end:"(?=\\))",patterns:[{include:"#parens"}]},{begin:"\\G(?<=\\[)(?!\\])",end:"(?=\\])",patterns:[{include:"#brackets"}]},{begin:"\\G(?<=\\{)(?!\\})",end:"(?=\\})",patterns:[{include:"#braces"}]},{begin:"\\G(?<=<)(?!>)",end:"(?=>)",patterns:[{include:"#angles"}]},{include:"#regex_sub"}],repository:{angles:{patterns:[{include:"#regex_sub"},{begin:"<",end:">",patterns:[{include:"#angles"}]}]},braces:{patterns:[{include:"#regex_sub"},{begin:"\\{",end:"\\}",patterns:[{include:"#braces"}]}]},brackets:{patterns:[{include:"#regex_sub"},{begin:"\\[",end:"\\]",patterns:[{include:"#brackets"}]}]},parens:{patterns:[{include:"#regex_sub"},{begin:"\\(",end:"\\)",patterns:[{include:"#parens"}]}]}}},{begin:"%s(?:([(\\[{<])|([^\\w\\s]|_))",beginCaptures:{0:{name:"punctuation.definition.constant.begin.ruby"}},end:"[)\\]}>]\\2|\\1\\2",endCaptures:{0:{name:"punctuation.definition.constant.end.ruby"}},name:"constant.other.symbol.percent.ruby",patterns:[{begin:"\\G(?<=\\()(?!\\))",end:"(?=\\))",patterns:[{include:"#parens"}]},{begin:"\\G(?<=\\[)(?!\\])",end:"(?=\\])",patterns:[{include:"#brackets"}]},{begin:"\\G(?<=\\{)(?!\\})",end:"(?=\\})",patterns:[{include:"#braces"}]},{begin:"\\G(?<=<)(?!>)",end:"(?=>)",patterns:[{include:"#angles"}]}],repository:{angles:{patterns:[{match:"\\\\<|\\\\>|\\\\\\\\",name:"constant.character.escape.ruby"},{begin:"<",end:">",patterns:[{include:"#angles"}]}]},braces:{patterns:[{match:"\\\\\\{|\\\\\\}|\\\\\\\\",name:"constant.character.escape.ruby"},{begin:"\\{",end:"\\}",patterns:[{include:"#braces"}]}]},brackets:{patterns:[{match:"\\\\\\[|\\\\\\]|\\\\\\\\",name:"constant.character.escape.ruby"},{begin:"\\[",end:"\\]",patterns:[{include:"#brackets"}]}]},parens:{patterns:[{match:"\\\\\\(|\\\\\\)|\\\\\\\\",name:"constant.character.escape.ruby"},{begin:"\\(",end:"\\)",patterns:[{include:"#parens"}]}]}}},{begin:"%w(?:([(\\[{<])|([^\\w\\s]|_))",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"[)\\]}>]\\2|\\1\\2",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"meta.array.string.ruby",patterns:[{begin:"\\G(?<=\\()(?!\\))",end:"(?=\\))",patterns:[{include:"#parens"},{include:"#string"}]},{begin:"\\G(?<=\\[)(?!\\])",end:"(?=\\])",patterns:[{include:"#brackets"},{include:"#string"}]},{begin:"\\G(?<=\\{)(?!\\})",end:"(?=\\})",patterns:[{include:"#braces"},{include:"#string"}]},{begin:"\\G(?<=<)(?!>)",end:"(?=>)",patterns:[{include:"#angles"},{include:"#string"}]},{include:"#string"}],repository:{angles:{patterns:[{captures:{0:{name:"constant.character.escape.ruby"}},match:"\\\\<|\\\\>",name:"string.other.ruby"},{begin:"<",captures:{0:{name:"string.other.ruby"}},end:">",patterns:[{include:"#angles"},{include:"#string"}]}]},braces:{patterns:[{captures:{0:{name:"constant.character.escape.ruby"}},match:"\\\\\\{|\\\\\\}",name:"string.other.ruby"},{begin:"\\{",captures:{0:{name:"string.other.ruby"}},end:"\\}",patterns:[{include:"#braces"},{include:"#string"}]}]},brackets:{patterns:[{captures:{0:{name:"constant.character.escape.ruby"}},match:"\\\\\\[|\\\\\\]",name:"string.other.ruby"},{begin:"\\[",captures:{0:{name:"string.other.ruby"}},end:"\\]",patterns:[{include:"#brackets"},{include:"#string"}]}]},parens:{patterns:[{captures:{0:{name:"constant.character.escape.ruby"}},match:"\\\\\\(|\\\\\\)",name:"string.other.ruby"},{begin:"\\(",captures:{0:{name:"string.other.ruby"}},end:"\\)",patterns:[{include:"#parens"},{include:"#string"}]}]},string:{patterns:[{captures:{0:{name:"constant.character.escape.ruby"}},match:"\\\\\\\\|\\\\[ ]",name:"string.other.ruby"},{match:"\\S\\w*",name:"string.other.ruby"}]}}},{begin:"%W(?:([(\\[{<])|([^\\w\\s]|_))",beginCaptures:{0:{name:"punctuation.section.array.begin.ruby"}},end:"[)\\]}>]\\2|\\1\\2",endCaptures:{0:{name:"punctuation.section.array.end.ruby"}},name:"meta.array.string.interpolated.ruby",patterns:[{begin:"\\G(?<=\\()(?!\\))",end:"(?=\\))",patterns:[{include:"#parens"},{include:"#string"}]},{begin:"\\G(?<=\\[)(?!\\])",end:"(?=\\])",patterns:[{include:"#brackets"},{include:"#string"}]},{begin:"\\G(?<=\\{)(?!\\})",end:"(?=\\})",patterns:[{include:"#braces"},{include:"#string"}]},{begin:"\\G(?<=<)(?!>)",end:"(?=>)",patterns:[{include:"#angles"},{include:"#string"}]},{include:"#string"}],repository:{angles:{patterns:[{begin:"<",captures:{0:{name:"string.other.ruby"}},end:">",patterns:[{include:"#angles"},{include:"#string"}]}]},braces:{patterns:[{begin:"\\{",captures:{0:{name:"string.other.ruby"}},end:"\\}",patterns:[{include:"#braces"},{include:"#string"}]}]},brackets:{patterns:[{begin:"\\[",captures:{0:{name:"string.other.ruby"}},end:"\\]",patterns:[{include:"#brackets"},{include:"#string"}]}]},parens:{patterns:[{begin:"\\(",captures:{0:{name:"string.other.ruby"}},end:"\\)",patterns:[{include:"#parens"},{include:"#string"}]}]},string:{patterns:[{begin:"(?=\\\\|#\\{)",end:"(?!\\G)",name:"string.other.ruby",patterns:[{include:"#escaped_char"},{include:"#interpolated_ruby"}]},{match:"\\S\\w*",name:"string.other.ruby"}]}}},{begin:"%x(?:([(\\[{<])|([^\\w\\s]|_))",beginCaptures:{0:{name:"punctuation.definition.string.begin.ruby"}},end:"[)\\]}>]\\2|\\1\\2",endCaptures:{0:{name:"punctuation.definition.string.end.ruby"}},name:"string.interpolated.percent.ruby",patterns:[{begin:"\\G(?<=\\()(?!\\))",end:"(?=\\))",patterns:[{include:"#parens"}]},{begin:"\\G(?<=\\[)(?!\\])",end:"(?=\\])",patterns:[{include:"#brackets"}]},{begin:"\\G(?<=\\{)(?!\\})",end:"(?=\\})",patterns:[{include:"#braces"}]},{begin:"\\G(?<=<)(?!>)",end:"(?=>)",patterns:[{include:"#angles"}]},{include:"#escaped_char"},{include:"#interpolated_ruby"}],repository:{angles:{patterns:[{include:"#escaped_char"},{include:"#interpolated_ruby"},{begin:"<",end:">",patterns:[{include:"#angles"}]}]},braces:{patterns:[{include:"#escaped_char"},{include:"#interpolated_ruby"},{begin:"\\{",end:"\\}",patterns:[{include:"#braces"}]}]},brackets:{patterns:[{include:"#escaped_char"},{include:"#interpolated_ruby"},{begin:"\\[",end:"\\]",patterns:[{include:"#brackets"}]}]},parens:{patterns:[{include:"#escaped_char"},{include:"#interpolated_ruby"},{begin:"\\(",end:"\\)",patterns:[{include:"#parens"}]}]}}}]},regex_sub:{patterns:[{include:"#interpolated_ruby"},{include:"#escaped_char"},{captures:{1:{name:"punctuation.definition.quantifier.begin.ruby"},3:{name:"punctuation.definition.quantifier.end.ruby"}},match:"(\\{)\\d+(,\\d+)?(\\})",name:"keyword.operator.quantifier.ruby"},{begin:"\\[\\^?",beginCaptures:{0:{name:"punctuation.definition.character-class.begin.ruby"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.character-class.end.ruby"}},name:"constant.other.character-class.set.ruby",patterns:[{include:"#escaped_char"}]},{begin:"\\(\\?#",beginCaptures:{0:{name:"punctuation.definition.comment.begin.ruby"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.comment.end.ruby"}},name:"comment.line.number-sign.ruby",patterns:[{include:"#escaped_char"}]},{begin:"\\(",captures:{0:{name:"punctuation.definition.group.ruby"}},end:"\\)",name:"meta.group.regexp.ruby",patterns:[{include:"#regex_sub"}]},{begin:"(?<=^|\\s)(#)\\s(?=[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$)",beginCaptures:{1:{name:"punctuation.definition.comment.ruby"}},comment:"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.",end:"$\\n?",name:"comment.line.number-sign.ruby"}]}},scopeName:"source.ruby",embeddedLangs:["html","xml","sql","css","c","javascript","shellscript","lua"],aliases:["rb"]}),bv=[...ji,...Ud,...ll,...co,...hv,...Mr,...qf,...VQ,Osa]});var FNr={};Be(FNr,{default:()=>NV});var Usa,NV,RDe=N(()=>{Usa=Object.freeze({displayName:"Rust",name:"rust",patterns:[{begin:"(<)(\\[)",beginCaptures:{1:{name:"punctuation.brackets.angle.rust"},2:{name:"punctuation.brackets.square.rust"}},comment:"boxed slice literal",end:">",endCaptures:{0:{name:"punctuation.brackets.angle.rust"}},patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#gtypes"},{include:"#lvariables"},{include:"#lifetimes"},{include:"#punctuation"},{include:"#types"}]},{captures:{1:{name:"keyword.operator.macro.dollar.rust"},3:{name:"keyword.other.crate.rust"},4:{name:"entity.name.type.metavariable.rust"},6:{name:"keyword.operator.key-value.rust"},7:{name:"variable.other.metavariable.specifier.rust"}},comment:"macro type metavariables",match:"(\\$)((crate)|([A-Z][A-Za-z0-9_]*))((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?",name:"meta.macro.metavariable.type.rust",patterns:[{include:"#keywords"}]},{captures:{1:{name:"keyword.operator.macro.dollar.rust"},2:{name:"variable.other.metavariable.name.rust"},4:{name:"keyword.operator.key-value.rust"},5:{name:"variable.other.metavariable.specifier.rust"}},comment:"macro metavariables",match:"(\\$)([a-z][A-Za-z0-9_]*)((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?",name:"meta.macro.metavariable.rust",patterns:[{include:"#keywords"}]},{captures:{1:{name:"entity.name.function.macro.rules.rust"},3:{name:"entity.name.function.macro.rust"},4:{name:"entity.name.type.macro.rust"},5:{name:"punctuation.brackets.curly.rust"}},comment:"macro rules",match:"\\b(macro_rules!)\\s+(([a-z0-9_]+)|([A-Z][a-z0-9_]*))\\s+(\\{)",name:"meta.macro.rules.rust"},{captures:{1:{name:"storage.type.rust"},2:{name:"entity.name.module.rust"}},comment:"modules",match:"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][A-Za-z0-9_]*)"},{begin:"\\b(extern)\\s+(crate)",beginCaptures:{1:{name:"storage.type.rust"},2:{name:"keyword.other.crate.rust"}},comment:"external crate imports",end:";",endCaptures:{0:{name:"punctuation.semi.rust"}},name:"meta.import.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#keywords"},{include:"#punctuation"}]},{begin:"\\b(use)\\s",beginCaptures:{1:{name:"keyword.other.rust"}},comment:"use statements",end:";",endCaptures:{0:{name:"punctuation.semi.rust"}},name:"meta.use.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#keywords"},{include:"#namespaces"},{include:"#punctuation"},{include:"#types"},{include:"#lvariables"}]},{include:"#block-comments"},{include:"#comments"},{include:"#attributes"},{include:"#lvariables"},{include:"#constants"},{include:"#gtypes"},{include:"#functions"},{include:"#types"},{include:"#keywords"},{include:"#lifetimes"},{include:"#macros"},{include:"#namespaces"},{include:"#punctuation"},{include:"#strings"},{include:"#variables"}],repository:{attributes:{begin:"(#)(\\!?)(\\[)",beginCaptures:{1:{name:"punctuation.definition.attribute.rust"},3:{name:"punctuation.brackets.attribute.rust"}},comment:"attributes",end:"\\]",endCaptures:{0:{name:"punctuation.brackets.attribute.rust"}},name:"meta.attribute.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#keywords"},{include:"#lifetimes"},{include:"#punctuation"},{include:"#strings"},{include:"#gtypes"},{include:"#types"}]},"block-comments":{patterns:[{comment:"empty block comments",match:"/\\*\\*/",name:"comment.block.rust"},{begin:"/\\*\\*",comment:"block documentation comments",end:"\\*/",name:"comment.block.documentation.rust",patterns:[{include:"#block-comments"}]},{begin:"/\\*(?!\\*)",comment:"block comments",end:"\\*/",name:"comment.block.rust",patterns:[{include:"#block-comments"}]}]},comments:{patterns:[{captures:{1:{name:"punctuation.definition.comment.rust"}},comment:"documentation comments",match:"(///).*$",name:"comment.line.documentation.rust"},{captures:{1:{name:"punctuation.definition.comment.rust"}},comment:"line comments",match:"(//).*$",name:"comment.line.double-slash.rust"}]},constants:{patterns:[{comment:"ALL CAPS constants",match:"\\b[A-Z]{2}[A-Z0-9_]*\\b",name:"constant.other.caps.rust"},{captures:{1:{name:"storage.type.rust"},2:{name:"constant.other.caps.rust"}},comment:"constant declarations",match:"\\b(const)\\s+([A-Z][A-Za-z0-9_]*)\\b"},{captures:{1:{name:"punctuation.separator.dot.decimal.rust"},2:{name:"keyword.operator.exponent.rust"},3:{name:"keyword.operator.exponent.sign.rust"},4:{name:"constant.numeric.decimal.exponent.mantissa.rust"},5:{name:"entity.name.type.numeric.rust"}},comment:"decimal integers and floats",match:"\\b\\d[\\d_]*(\\.?)[\\d_]*(?:(E|e)([+-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b",name:"constant.numeric.decimal.rust"},{captures:{1:{name:"entity.name.type.numeric.rust"}},comment:"hexadecimal integers",match:"\\b0x[\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b",name:"constant.numeric.hex.rust"},{captures:{1:{name:"entity.name.type.numeric.rust"}},comment:"octal integers",match:"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b",name:"constant.numeric.oct.rust"},{captures:{1:{name:"entity.name.type.numeric.rust"}},comment:"binary integers",match:"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b",name:"constant.numeric.bin.rust"},{comment:"booleans",match:"\\b(true|false)\\b",name:"constant.language.bool.rust"}]},escapes:{captures:{1:{name:"constant.character.escape.backslash.rust"},2:{name:"constant.character.escape.bit.rust"},3:{name:"constant.character.escape.unicode.rust"},4:{name:"constant.character.escape.unicode.punctuation.rust"},5:{name:"constant.character.escape.unicode.punctuation.rust"}},comment:"escapes: ASCII, byte, Unicode, quote, regex",match:"(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))",name:"constant.character.escape.rust"},functions:{patterns:[{captures:{1:{name:"keyword.other.rust"},2:{name:"punctuation.brackets.round.rust"}},comment:"pub as a function",match:"\\b(pub)(\\()"},{begin:"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)((\\()|(<))",beginCaptures:{1:{name:"keyword.other.fn.rust"},2:{name:"entity.name.function.rust"},4:{name:"punctuation.brackets.round.rust"},5:{name:"punctuation.brackets.angle.rust"}},comment:"function definition",end:"\\{|;",endCaptures:{0:{name:"punctuation.brackets.curly.rust"}},name:"meta.function.definition.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#keywords"},{include:"#lvariables"},{include:"#constants"},{include:"#gtypes"},{include:"#functions"},{include:"#lifetimes"},{include:"#macros"},{include:"#namespaces"},{include:"#punctuation"},{include:"#strings"},{include:"#types"},{include:"#variables"}]},{begin:"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(\\()",beginCaptures:{1:{name:"entity.name.function.rust"},2:{name:"punctuation.brackets.round.rust"}},comment:"function/method calls, chaining",end:"\\)",endCaptures:{0:{name:"punctuation.brackets.round.rust"}},name:"meta.function.call.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#attributes"},{include:"#keywords"},{include:"#lvariables"},{include:"#constants"},{include:"#gtypes"},{include:"#functions"},{include:"#lifetimes"},{include:"#macros"},{include:"#namespaces"},{include:"#punctuation"},{include:"#strings"},{include:"#types"},{include:"#variables"}]},{begin:"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(?=::<.*>\\()",beginCaptures:{1:{name:"entity.name.function.rust"}},comment:"function/method calls with turbofish",end:"\\)",endCaptures:{0:{name:"punctuation.brackets.round.rust"}},name:"meta.function.call.rust",patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#attributes"},{include:"#keywords"},{include:"#lvariables"},{include:"#constants"},{include:"#gtypes"},{include:"#functions"},{include:"#lifetimes"},{include:"#macros"},{include:"#namespaces"},{include:"#punctuation"},{include:"#strings"},{include:"#types"},{include:"#variables"}]}]},gtypes:{patterns:[{comment:"option types",match:"\\b(Some|None)\\b",name:"entity.name.type.option.rust"},{comment:"result types",match:"\\b(Ok|Err)\\b",name:"entity.name.type.result.rust"}]},interpolations:{captures:{1:{name:"punctuation.definition.interpolation.rust"},2:{name:"punctuation.definition.interpolation.rust"}},comment:"curly brace interpolations",match:'({)[^"{}]*(})',name:"meta.interpolation.rust"},keywords:{patterns:[{comment:"control flow keywords",match:"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b",name:"keyword.control.rust"},{comment:"storage keywords",match:"\\b(extern|let|macro|mod)\\b",name:"keyword.other.rust storage.type.rust"},{comment:"const keyword",match:"\\b(const)\\b",name:"storage.modifier.rust"},{comment:"type keyword",match:"\\b(type)\\b",name:"keyword.declaration.type.rust storage.type.rust"},{comment:"enum keyword",match:"\\b(enum)\\b",name:"keyword.declaration.enum.rust storage.type.rust"},{comment:"trait keyword",match:"\\b(trait)\\b",name:"keyword.declaration.trait.rust storage.type.rust"},{comment:"struct keyword",match:"\\b(struct)\\b",name:"keyword.declaration.struct.rust storage.type.rust"},{comment:"storage modifiers",match:"\\b(abstract|static)\\b",name:"storage.modifier.rust"},{comment:"other keywords",match:"\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b",name:"keyword.other.rust"},{comment:"fn",match:"\\bfn\\b",name:"keyword.other.fn.rust"},{comment:"crate",match:"\\bcrate\\b",name:"keyword.other.crate.rust"},{comment:"mut",match:"\\bmut\\b",name:"storage.modifier.mut.rust"},{comment:"logical operators",match:"(\\^|\\||\\|\\||&&|<<|>>|!)(?!=)",name:"keyword.operator.logical.rust"},{comment:"logical AND, borrow references",match:"&(?![&=])",name:"keyword.operator.borrow.and.rust"},{comment:"assignment operators",match:"(\\+=|-=|\\*=|/=|%=|\\^=|&=|\\|=|<<=|>>=)",name:"keyword.operator.assignment.rust"},{comment:"single equal",match:"(?])=(?!=|>)",name:"keyword.operator.assignment.equal.rust"},{comment:"comparison operators",match:"(=(=)?(?!>)|!=|<=|(?=)",name:"keyword.operator.comparison.rust"},{comment:"math operators",match:"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!>))|(/(?!/))",name:"keyword.operator.math.rust"},{captures:{1:{name:"punctuation.brackets.round.rust"},2:{name:"punctuation.brackets.square.rust"},3:{name:"punctuation.brackets.curly.rust"},4:{name:"keyword.operator.comparison.rust"},5:{name:"punctuation.brackets.round.rust"},6:{name:"punctuation.brackets.square.rust"},7:{name:"punctuation.brackets.curly.rust"}},comment:"less than, greater than (special case)",match:"(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([<>])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))"},{comment:"namespace operator",match:"::",name:"keyword.operator.namespace.rust"},{captures:{1:{name:"keyword.operator.dereference.rust"}},comment:"dereference asterisk",match:"(\\*)(?=\\w+)"},{comment:"subpattern binding",match:"@",name:"keyword.operator.subpattern.rust"},{comment:"dot access",match:"\\.(?!\\.)",name:"keyword.operator.access.dot.rust"},{comment:"ranges, range patterns",match:"\\.{2}(=|\\.)?",name:"keyword.operator.range.rust"},{comment:"colon",match:":(?!:)",name:"keyword.operator.key-value.rust"},{comment:"dashrocket, skinny arrow",match:"->",name:"keyword.operator.arrow.skinny.rust"},{comment:"hashrocket, fat arrow",match:"=>",name:"keyword.operator.arrow.fat.rust"},{comment:"dollar macros",match:"\\$",name:"keyword.operator.macro.dollar.rust"},{comment:"question mark operator, questionably sized, macro kleene matcher",match:"\\?",name:"keyword.operator.question.rust"}]},lifetimes:{patterns:[{captures:{1:{name:"punctuation.definition.lifetime.rust"},2:{name:"entity.name.type.lifetime.rust"}},comment:"named lifetime parameters",match:"(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b"},{captures:{1:{name:"keyword.operator.borrow.rust"},2:{name:"punctuation.definition.lifetime.rust"},3:{name:"entity.name.type.lifetime.rust"}},comment:"borrowing references to named lifetimes",match:"(\\&)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b"}]},lvariables:{patterns:[{comment:"self",match:"\\b[Ss]elf\\b",name:"variable.language.self.rust"},{comment:"super",match:"\\bsuper\\b",name:"variable.language.super.rust"}]},macros:{patterns:[{captures:{2:{name:"entity.name.function.macro.rust"},3:{name:"entity.name.type.macro.rust"}},comment:"macros",match:"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))",name:"meta.macro.rust"}]},namespaces:{patterns:[{captures:{1:{name:"entity.name.namespace.rust"},2:{name:"keyword.operator.namespace.rust"}},comment:"namespace (non-type, non-function path segment)",match:"(?]",name:"punctuation.brackets.angle.rust"}]},strings:{patterns:[{begin:'(b?)(")',beginCaptures:{1:{name:"string.quoted.byte.raw.rust"},2:{name:"punctuation.definition.string.rust"}},comment:"double-quoted strings and byte strings",end:'"',endCaptures:{0:{name:"punctuation.definition.string.rust"}},name:"string.quoted.double.rust",patterns:[{include:"#escapes"},{include:"#interpolations"}]},{begin:'(b?r)(#*)(")',beginCaptures:{1:{name:"string.quoted.byte.raw.rust"},2:{name:"punctuation.definition.string.raw.rust"},3:{name:"punctuation.definition.string.rust"}},comment:"double-quoted raw strings and raw byte strings",end:'(")(\\2)',endCaptures:{1:{name:"punctuation.definition.string.rust"},2:{name:"punctuation.definition.string.raw.rust"}},name:"string.quoted.double.rust"},{begin:"(b)?(')",beginCaptures:{1:{name:"string.quoted.byte.raw.rust"},2:{name:"punctuation.definition.char.rust"}},comment:"characters and bytes",end:"'",endCaptures:{0:{name:"punctuation.definition.char.rust"}},name:"string.quoted.single.char.rust",patterns:[{include:"#escapes"}]}]},types:{patterns:[{captures:{1:{name:"entity.name.type.numeric.rust"}},comment:"numeric types",match:"(?",endCaptures:{0:{name:"punctuation.brackets.angle.rust"}},patterns:[{include:"#block-comments"},{include:"#comments"},{include:"#keywords"},{include:"#lvariables"},{include:"#lifetimes"},{include:"#punctuation"},{include:"#types"},{include:"#variables"}]},{comment:"primitive types",match:"\\b(bool|char|str)\\b",name:"entity.name.type.primitive.rust"},{captures:{1:{name:"keyword.declaration.trait.rust storage.type.rust"},2:{name:"entity.name.type.trait.rust"}},comment:"trait declarations",match:"\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b"},{captures:{1:{name:"keyword.declaration.struct.rust storage.type.rust"},2:{name:"entity.name.type.struct.rust"}},comment:"struct declarations",match:"\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b"},{captures:{1:{name:"keyword.declaration.enum.rust storage.type.rust"},2:{name:"entity.name.type.enum.rust"}},comment:"enum declarations",match:"\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b"},{captures:{1:{name:"keyword.declaration.type.rust storage.type.rust"},2:{name:"entity.name.type.declaration.rust"}},comment:"type declarations",match:"\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b"},{comment:"types",match:"\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)",name:"entity.name.type.rust"}]},variables:{patterns:[{comment:"variables",match:"\\b(?$x});var qsa,$x,OU=N(()=>{qsa=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:"(?|-|_)",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)| *):[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:"(?LV});var $sa,LV,BDe=N(()=>{$sa=Object.freeze({displayName:"Scala",fileTypes:["scala"],firstLineMatch:"^#!/.*\\b\\w*scala\\b",foldingStartMarker:"/\\*\\*|\\{\\s*$",foldingStopMarker:"\\*\\*/|^\\s*\\}",name:"scala",patterns:[{include:"#code"}],repository:{backQuotedVariable:{match:"`[^`]+`"},"block-comments":{patterns:[{captures:{0:{name:"punctuation.definition.comment.scala"}},match:"/\\*\\*/",name:"comment.block.empty.scala"},{begin:"^\\s*(/\\*\\*)(?!/)",beginCaptures:{1:{name:"punctuation.definition.comment.scala"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.scala"}},name:"comment.block.documentation.scala",patterns:[{captures:{1:{name:"keyword.other.documentation.scaladoc.scala"},2:{name:"variable.parameter.scala"}},match:"(@param)\\s+(\\S+)"},{captures:{1:{name:"keyword.other.documentation.scaladoc.scala"},2:{name:"entity.name.class"}},match:"(@(?:tparam|throws))\\s+(\\S+)"},{match:"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc)\\b",name:"keyword.other.documentation.scaladoc.scala"},{captures:{1:{name:"punctuation.definition.documentation.link.scala"},2:{name:"string.other.link.title.markdown"},3:{name:"punctuation.definition.documentation.link.scala"}},match:"(\\[\\[)([^\\]]+)(\\]\\])"},{include:"#block-comments"}]},{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.scala"}},end:"\\*/",name:"comment.block.scala",patterns:[{include:"#block-comments"}]}]},"char-literal":{patterns:[{captures:{1:{name:"punctuation.definition.character.begin.scala"},2:{name:"punctuation.definition.character.end.scala"}},match:"(')'(')",name:"string.quoted.other constant.character.literal.scala"},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.character.begin.scala"}},end:"'|$",endCaptures:{0:{name:"punctuation.definition.character.end.scala"}},name:"string.quoted.other constant.character.literal.scala",patterns:[{match:`\\\\(?:[btnfr\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})`,name:"constant.character.escape.scala"},{match:"\\\\.",name:"invalid.illegal.unrecognized-character-escape.scala"},{match:"[^']{2,}",name:"invalid.illegal.character-literal-too-long"},{match:"(?=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?"},{captures:{1:{name:"keyword.declaration.scala"},2:{name:"entity.name.class.declaration"}},match:"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?"},{captures:{1:{name:"keyword.declaration.scala"},2:{name:"keyword.declaration.scala"},3:{name:"entity.name.class.declaration"}},match:"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?"},{captures:{1:{name:"keyword.declaration.scala"},2:{name:"entity.name.type.declaration"}},match:"(?=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?"},{captures:{1:{name:"keyword.declaration.stable.scala"},2:{name:"keyword.declaration.volatile.scala"}},match:"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()"},{captures:{1:{name:"keyword.declaration.stable.scala"},2:{name:"variable.stable.declaration.scala"}},match:'\\b(val)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!")'},{captures:{1:{name:"keyword.declaration.volatile.scala"},2:{name:"variable.volatile.declaration.scala"}},match:'\\b(var)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!")'},{captures:{1:{name:"keyword.other.package.scala"},2:{name:"keyword.declaration.scala"},3:{name:"entity.name.class.declaration"}},match:"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?"},{begin:"\\b(package)\\s+",beginCaptures:{1:{name:"keyword.other.package.scala"}},end:"(?<=[\\n;])",name:"meta.package.scala",patterns:[{include:"#comments"},{match:"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))",name:"entity.name.package.scala"},{match:"\\.",name:"punctuation.definition.package"}]},{captures:{1:{name:"keyword.declaration.scala"},2:{name:"entity.name.given.declaration"}},match:"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?"}]},"empty-parentheses":{captures:{1:{name:"meta.bracket.scala"}},match:"(\\(\\))",name:"meta.parentheses.scala"},exports:{begin:"\\b(export)\\s+",beginCaptures:{1:{name:"keyword.other.export.scala"}},end:"(?<=[\\n;])",name:"meta.export.scala",patterns:[{include:"#comments"},{match:"\\b(given)\\b",name:"keyword.other.export.given.scala"},{match:"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?",name:"entity.name.class.export.scala"},{match:"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))",name:"entity.name.export.scala"},{match:"\\.",name:"punctuation.definition.export"},{begin:"{",beginCaptures:{0:{name:"meta.bracket.scala"}},end:"}",endCaptures:{0:{name:"meta.bracket.scala"}},name:"meta.export.selector.scala",patterns:[{captures:{1:{name:"keyword.other.export.given.scala"},2:{name:"entity.name.class.export.renamed-from.scala"},3:{name:"entity.name.export.renamed-from.scala"},4:{name:"keyword.other.arrow.scala"},5:{name:"entity.name.class.export.renamed-to.scala"},6:{name:"entity.name.export.renamed-to.scala"}},match:"(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=>)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))\\s*"},{match:"\\b(given)\\b",name:"keyword.other.export.given.scala"},{captures:{1:{name:"keyword.other.export.given.scala"},2:{name:"entity.name.class.export.scala"},3:{name:"entity.name.export.scala"}},match:"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))"}]}]},extension:{patterns:[{captures:{1:{name:"keyword.declaration.scala"}},match:"^\\s*(extension)\\s+(?=[\\[\\(])"}]},imports:{begin:"\\b(import)\\s+",beginCaptures:{1:{name:"keyword.other.import.scala"}},end:"(?<=[\\n;])",name:"meta.import.scala",patterns:[{include:"#comments"},{match:"\\b(given)\\b",name:"keyword.other.import.given.scala"},{match:"\\s(as)\\s",name:"keyword.other.import.as.scala"},{match:"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?",name:"entity.name.class.import.scala"},{match:"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))",name:"entity.name.import.scala"},{match:"\\.",name:"punctuation.definition.import"},{begin:"{",beginCaptures:{0:{name:"meta.bracket.scala"}},end:"}",endCaptures:{0:{name:"meta.bracket.scala"}},name:"meta.import.selector.scala",patterns:[{captures:{1:{name:"keyword.other.import.given.scala"},2:{name:"entity.name.class.import.renamed-from.scala"},3:{name:"entity.name.import.renamed-from.scala"},4:{name:"keyword.other.arrow.scala"},5:{name:"entity.name.class.import.renamed-to.scala"},6:{name:"entity.name.import.renamed-to.scala"}},match:"(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=>)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))\\s*"},{match:"\\b(given)\\b",name:"keyword.other.import.given.scala"},{captures:{1:{name:"keyword.other.import.given.scala"},2:{name:"entity.name.class.import.scala"},3:{name:"entity.name.import.scala"}},match:"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))"}]}]},inheritance:{patterns:[{captures:{1:{name:"keyword.declaration.scala"},2:{name:"entity.name.class"}},match:'\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=>)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))|(?="))?'}]},initialization:{captures:{1:{name:"keyword.declaration.scala"}},match:"\\b(new)\\b"},inline:{patterns:[{match:"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)",name:"storage.modifier.other"},{match:"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)",name:"keyword.control.flow.scala"}]},keywords:{patterns:[{match:"\\b(return|throw)\\b",name:"keyword.control.flow.jump.scala"},{match:"\\b(classOf|isInstanceOf|asInstanceOf)\\b",name:"support.function.type-of.scala"},{match:"\\b(else|if|then|do|while|for|yield|match|case)\\b",name:"keyword.control.flow.scala"},{match:"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)",name:"keyword.control.flow.end.scala"},{match:"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)",name:"keyword.declaration.stable.end.scala"},{match:"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)",name:"keyword.declaration.volatile.end.scala"},{captures:{1:{name:"keyword.declaration.end.scala"},2:{name:"keyword.declaration.end.scala"},3:{name:"entity.name.type.declaration"}},match:"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{match:"\\b(catch|finally|try)\\b",name:"keyword.control.exception.scala"},{match:"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)",name:"keyword.control.exception.end.scala"},{captures:{1:{name:"keyword.declaration.end.scala"},2:{name:"entity.name.declaration"}},match:"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{match:"(==?|!=|<=|>=|<>|<|>)",name:"keyword.operator.comparison.scala"},{match:"(\\-|\\+|\\*|/(?![/*])|%|~)",name:"keyword.operator.arithmetic.scala"},{match:"(?=?@^|~\\p{Sm}\\p{So}]|_)(!|&&|\\|\\|)(?![!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}])",name:"keyword.operator.logical.scala"},{match:"(<-|\u2190|->|\u2192|=>|\u21D2|\\?|\\:+|@|\\|)+",name:"keyword.operator.scala"}]},"meta-bounds":{comment:"For themes: Matching view bounds",match:"<%|=:=|<:<|<%<|>:|<:",name:"meta.bounds.scala"},"meta-brackets":{comment:"For themes: Brackets look nice when colored.",patterns:[{comment:"The punctuation.section.*.begin is needed for return snippet in source bundle",match:"\\{",name:"punctuation.section.block.begin.scala"},{comment:"The punctuation.section.*.end is needed for return snippet in source bundle",match:"\\}",name:"punctuation.section.block.end.scala"},{match:"{|}|\\(|\\)|\\[|\\]",name:"meta.bracket.scala"}]},"meta-colons":{comment:"For themes: Matching type colons",patterns:[{match:"(?=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+"}]},qualifiedClassName:{captures:{1:{name:"entity.name.class"}},match:"(\\b([A-Z][\\w]*)(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?)"},"scala-quoted-or-symbol":{patterns:[{captures:{1:{name:"keyword.control.flow.staging.scala constant.other.symbol.scala"},2:{name:"constant.other.symbol.scala"}},match:"(')((?>(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)))(?!')"},{match:"'(?=\\s*\\{(?!'))",name:"keyword.control.flow.staging.scala"},{match:"'(?=\\s*\\[(?!'))",name:"keyword.control.flow.staging.scala"},{match:"\\$(?=\\s*\\{)",name:"keyword.control.flow.staging.scala"}]},"script-header":{captures:{1:{name:"string.unquoted.shebang.scala"}},match:"^#!(.*)$",name:"comment.block.shebang.scala"},"singleton-type":{captures:{1:{name:"keyword.type.scala"}},match:"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|\\d)"},"storage-modifiers":{patterns:[{match:"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b",name:"storage.modifier.access"},{match:"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b",name:"storage.modifier.other"},{match:"(?<=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)",name:"storage.modifier.other"}]},"string-interpolation":{patterns:[{match:"\\$\\$",name:"constant.character.escape.interpolation.scala"},{captures:{1:{name:"punctuation.definition.template-expression.begin.scala"}},match:"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)",name:"meta.template.expression.scala"},{begin:"\\$\\{",beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.scala"}},contentName:"meta.embedded.line.scala",end:"\\}",endCaptures:{0:{name:"punctuation.definition.template-expression.end.scala"}},name:"meta.template.expression.scala",patterns:[{include:"#code"}]}]},strings:{patterns:[{begin:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.scala"}},end:'"""(?!")',endCaptures:{0:{name:"punctuation.definition.string.end.scala"}},name:"string.quoted.triple.scala",patterns:[{match:"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}",name:"constant.character.escape.scala"}]},{begin:'\\b(raw)(""")',beginCaptures:{1:{name:"keyword.interpolation.scala"},2:{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},end:`(""")(?!")|\\$ |(\\$[^\\$"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])`,endCaptures:{1:{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},2:{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{match:'\\$[\\$"]',name:"constant.character.escape.scala"},{include:"#string-interpolation"},{match:".",name:"string.quoted.triple.interpolated.scala"}]},{begin:'\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?))(""")',beginCaptures:{1:{name:"keyword.interpolation.scala"},2:{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},end:`(""")(?!")|\\$ |(\\$[^\\$"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])`,endCaptures:{1:{name:"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},2:{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{include:"#string-interpolation"},{match:"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}",name:"constant.character.escape.scala"},{match:".",name:"string.quoted.triple.interpolated.scala"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.scala"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.scala"}},name:"string.quoted.double.scala",patterns:[{match:`\\\\(?:[btnfr\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})`,name:"constant.character.escape.scala"},{match:"\\\\.",name:"invalid.illegal.unrecognized-string-escape.scala"}]},{begin:'\\b(raw)(")',beginCaptures:{1:{name:"keyword.interpolation.scala"},2:{name:"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},end:`(")|\\$ |(\\$[^\\$"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])`,endCaptures:{1:{name:"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},2:{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{match:'\\$[\\$"]',name:"constant.character.escape.scala"},{include:"#string-interpolation"},{match:".",name:"string.quoted.double.interpolated.scala"}]},{begin:'\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?))(")',beginCaptures:{1:{name:"keyword.interpolation.scala"},2:{name:"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},end:`(")|\\$ |(\\$[^\\$"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])`,endCaptures:{1:{name:"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},2:{name:"invalid.illegal.unrecognized-string-escape.scala"}},patterns:[{match:'\\$[\\$"]',name:"constant.character.escape.scala"},{include:"#string-interpolation"},{match:`\\\\(?:[btnfr\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})`,name:"constant.character.escape.scala"},{match:"\\\\.",name:"invalid.illegal.unrecognized-string-escape.scala"},{match:".",name:"string.quoted.double.interpolated.scala"}]}]},using:{patterns:[{captures:{1:{name:"keyword.declaration.scala"}},match:"(?<=\\()\\s*(using)\\s"}]},"using-directive":{begin:"^\\s*(//>)\\s*(using)[^\\S\\n]+(?:(\\S+))?",beginCaptures:{1:{name:"punctuation.definition.comment.scala"},2:{name:"keyword.other.import.scala"},3:{patterns:[{match:"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?<=_)[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)?|[!#%&*+\\-\\/:<>=?@^|~\\p{Sm}\\p{So}]+)",name:"entity.name.import.scala"},{match:"\\.",name:"punctuation.definition.import"}]}},end:"\\n",name:"comment.line.shebang.scala",patterns:[{include:"#constants"},{include:"#strings"},{match:"[^\\s,]+",name:"string.quoted.double.scala"}]},"xml-doublequotedString":{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.xml"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.xml"}},name:"string.quoted.double.xml",patterns:[{include:"#xml-entity"}]},"xml-embedded-content":{patterns:[{begin:"{",captures:{0:{name:"meta.bracket.scala"}},end:"}",name:"meta.source.embedded.scala",patterns:[{include:"#code"}]},{captures:{1:{name:"entity.other.attribute-name.namespace.xml"},2:{name:"entity.other.attribute-name.xml"},3:{name:"punctuation.separator.namespace.xml"},4:{name:"entity.other.attribute-name.localname.xml"}},match:" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)="},{include:"#xml-doublequotedString"},{include:"#xml-singlequotedString"}]},"xml-entity":{captures:{1:{name:"punctuation.definition.constant.xml"},3:{name:"punctuation.definition.constant.xml"}},match:"(&)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#\\d+|#x[0-9a-fA-F]+)(;)",name:"constant.character.entity.xml"},"xml-literal":{patterns:[{begin:"(<)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^>]*)?>)",beginCaptures:{1:{name:"punctuation.definition.tag.xml"},3:{name:"entity.name.tag.namespace.xml"},4:{name:"entity.name.tag.xml"},5:{name:"punctuation.separator.namespace.xml"},6:{name:"entity.name.tag.localname.xml"}},comment:"We do not allow a tag name to start with a - since this would likely conflict with the <- operator. This is not very common for tag names anyway. Also code such as -- if (val val3) will falsly be recognized as an xml tag. The solution is to put a space on either side of the comparison operator",end:"(>(<))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(>)",endCaptures:{1:{name:"punctuation.definition.tag.xml"},2:{name:"meta.scope.between-tag-pair.xml"},3:{name:"entity.name.tag.namespace.xml"},4:{name:"entity.name.tag.xml"},5:{name:"punctuation.separator.namespace.xml"},6:{name:"entity.name.tag.localname.xml"},7:{name:"punctuation.definition.tag.xml"}},name:"meta.tag.no-content.xml",patterns:[{include:"#xml-embedded-content"}]},{begin:"(]*?>)",captures:{1:{name:"punctuation.definition.tag.xml"},2:{name:"entity.name.tag.namespace.xml"},3:{name:"entity.name.tag.xml"},4:{name:"punctuation.separator.namespace.xml"},5:{name:"entity.name.tag.localname.xml"}},end:"(/?>)",name:"meta.tag.xml",patterns:[{include:"#xml-embedded-content"}]},{include:"#xml-entity"}]},"xml-singlequotedString":{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.xml"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.xml"}},name:"string.quoted.single.xml",patterns:[{include:"#xml-entity"}]}},scopeName:"source.scala"}),LV=[$sa]});var qNr={};Be(qNr,{default:()=>DDe});var zsa,DDe,Mrt=N(()=>{zsa=Object.freeze({displayName:"Swift",name:"swift",patterns:[{include:"#root"}],repository:{"async-throws":{captures:{1:{name:"invalid.illegal.await-must-precede-throws.swift"},2:{name:"storage.modifier.exception.swift"},3:{name:"storage.modifier.async.swift"}},match:"\\b(?:(throws\\s+async|rethrows\\s+async)|(throws|rethrows)|(async))\\b"},attributes:{patterns:[{begin:"((@)available)(\\()",beginCaptures:{1:{name:"storage.modifier.attribute.swift"},2:{name:"punctuation.definition.attribute.swift"},3:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.attribute.available.swift",patterns:[{captures:{1:{name:"keyword.other.platform.os.swift"},2:{name:"constant.numeric.swift"}},match:"\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\b(?:\\s+(\\d+(?:\\.\\d+)*\\b))?"},{begin:"\\b(introduced|deprecated|obsoleted)\\s*(:)\\s*",beginCaptures:{1:{name:"keyword.other.swift"},2:{name:"punctuation.separator.key-value.swift"}},end:"(?!\\G)",patterns:[{match:"\\b\\d+(?:\\.\\d+)*\\b",name:"constant.numeric.swift"}]},{begin:'\\b(message|renamed)\\s*(:)\\s*(?=")',beginCaptures:{1:{name:"keyword.other.swift"},2:{name:"punctuation.separator.key-value.swift"}},end:"(?!\\G)",patterns:[{include:"#literals"}]},{captures:{1:{name:"keyword.other.platform.all.swift"},2:{name:"keyword.other.swift"},3:{name:"invalid.illegal.character-not-allowed-here.swift"}},match:"(?:(\\*)|\\b(deprecated|unavailable|noasync)\\b)\\s*(.*?)(?=[,)])"}]},{begin:"((@)objc)(\\()",beginCaptures:{1:{name:"storage.modifier.attribute.swift"},2:{name:"punctuation.definition.attribute.swift"},3:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.attribute.objc.swift",patterns:[{captures:{1:{name:"invalid.illegal.missing-colon-after-selector-piece.swift"}},match:"\\w*(?::(?:\\w*:)*(\\w*))?",name:"entity.name.function.swift"}]},{begin:"(@)(?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k)",beginCaptures:{0:{name:"storage.modifier.attribute.swift"},1:{name:"punctuation.definition.attribute.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},comment:"any other attribute",end:"(?!\\G\\()",name:"meta.attribute.swift",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.arguments.attribute.swift",patterns:[{include:"#expressions"}]}]}]},"builtin-functions":{patterns:[{comment:"Member functions in the standard library in Swift 3 which may be used with trailing closures and no parentheses",match:"(?<=\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a(?:p|x)))(?=\\s*[({])\\b",name:"support.function.swift"},{comment:"Member functions in the standard library in Swift 3",match:"(?<=\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:Reference|OrPinnedReference)|as(?:Suffix|Prefix))|ne(?:gate(?:d)?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:RetainedValue|UnretainedValue)|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:Retained|Unretained)|re(?:decessor|fix))|e(?:scape(?:d)?|n(?:code|umerate(?:d)?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:BackwardFrom|From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:Range|Subrange)?|verse(?:d)?|quest(?:NativeBuffer|UniqueMutableBackingBuffer)|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\s*\\()",name:"support.function.swift"},{comment:"Member functions in the standard library in Swift 2 only",match:"(?<=\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\s*\\()",name:"support.function.swift"}]},"builtin-global-functions":{patterns:[{begin:"\\b(type)(\\()\\s*(of)(:)",beginCaptures:{1:{name:"support.function.dynamic-type.swift"},2:{name:"punctuation.definition.arguments.begin.swift"},3:{name:"support.variable.parameter.swift"},4:{name:"punctuation.separator.argument-label.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},patterns:[{include:"#expressions"}]},{comment:"Global functions available in Swift 3 which may be used with trailing closures and no parentheses",match:"\\b(?:anyGenerator|autoreleasepool)(?=\\s*[({])\\b",name:"support.function.swift"},{comment:"Global functions available in Swift 3",match:"\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:MutablePointer|Pointer)|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\s*\\()",name:"support.function.swift"},{comment:"Global functions available in Swift 2 only",match:"\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:MutablePointers|Pointers)|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\s*\\()",name:"support.function.swift"}]},"builtin-properties":{patterns:[{comment:"The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks VS Code / Atom, see https://github.com/textmate/swift.tmbundle/issues/29",match:"(?<=^Process\\.|\\WProcess\\.|^CommandLine\\.|\\WCommandLine\\.)(arguments|argc|unsafeArgv)",name:"support.variable.swift"},{comment:"Properties in the standard library in Swift 3",match:"(?<=\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:scription|bugDescription)|u(?:n(?:safelyUnwrapped|icodeScalar(?:s)?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|value(?:s)?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzeroMagnitude|rmalMagnitude)|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\b",name:"support.variable.swift"},{comment:"Properties in the standard library in Swift 2 only",match:"(?<=\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\b",name:"support.variable.swift"},{comment:"Enum cases in the standard library - note that there is some overlap between these and the properties",match:"(?<=\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\b",name:"support.variable.swift"}]},"builtin-types":{comment:"Types provided in the standard library",patterns:[{include:"#builtin-types-builtin-class-type"},{include:"#builtin-types-builtin-enum-type"},{include:"#builtin-types-builtin-protocol-type"},{include:"#builtin-types-builtin-struct-type"},{include:"#builtin-types-builtin-typealias"},{match:"\\bAny\\b",name:"support.type.any.swift"}]},"builtin-types-builtin-class-type":{comment:"Builtin class types",match:"\\b(Managed(Buffer|ProtoBuffer)|NonObjectiveCBase|AnyGenerator)\\b",name:"support.class.swift"},"builtin-types-builtin-enum-type":{patterns:[{comment:"CommandLine is an enum, but it acts like a constant",match:"\\b(?:CommandLine|Process(?=\\.))\\b",name:"support.constant.swift"},{comment:"The return type of a function that never returns",match:"\\bNever\\b",name:"support.constant.never.swift"},{comment:"Enum types in the standard library in Swift 3",match:"\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\b",name:"support.type.swift"},{comment:"Enum types in the standard library in Swift 2 only",match:"\\b(?:MirrorDisposition|QuickLookObject)\\b",name:"support.type.swift"}]},"builtin-types-builtin-protocol-type":{patterns:[{comment:"Protocols in the standard library in Swift 3",match:"\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ideable|eamable)|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflectable|StringConvertible|DebugStringConvertible|PlaygroundQuickLookable|LeafReflectable)|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:SequenceProtocol|CollectionProtocol))|A(?:nyObject|bsoluteValuable))\\b",name:"support.type.swift"},{comment:"Protocols in the standard library in Swift 2 only",match:"\\b(?:Ran(?:domAccessIndexType|geReplaceableCollectionType)|GeneratorType|M(?:irror(?:Type|PathType)|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperationsType|directionalIndexType)|oolean(?:Type|LiteralConvertible))|S(?:tring(?:InterpolationConvertible|LiteralConvertible)|i(?:nkType|gned(?:NumberType|IntegerType))|e(?:tAlgebraType|quenceType)|liceable)|NilLiteralConvertible|C(?:ollectionType|VarArgType)|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStreamType|ptionSetType)|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\b",name:"support.type.swift"}]},"builtin-types-builtin-struct-type":{patterns:[{comment:"Structs in the standard library in Swift 3",match:"\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccessSlice|BidirectionalSlice|Slice)|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccessSlice|geReplaceable(?:RandomAccessSlice|BidirectionalSlice|Slice))|BidirectionalSlice|Slice)|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:Generator|Iterator)?|o(?:Generator|Iterator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:Range|ClosedRange)|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Generator|Iterator))?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccessIndices|BidirectionalIndices|Indices))|U(?:n(?:safe(?:RawPointer|Mutable(?:RawPointer|BufferPointer|Pointer)|BufferPointer(?:Generator|Iterator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\b",name:"support.type.swift"},{comment:"Structs in the standard library in Swift 2 only",match:"\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\b",name:"support.type.swift"}]},"builtin-types-builtin-typealias":{patterns:[{comment:"Typealiases in the standard library in Swift 3",match:"\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam(?:1|2)))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lement(?:s)?|x(?:tendedGraphemeCluster(?:Type|LiteralType)|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\b",name:"support.type.swift"},{comment:"Typealiases in the standard library in Swift 2 only",match:"\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\b",name:"support.type.swift"}]},"code-block":{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.scope.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.scope.end.swift"}},patterns:[{include:"$self"}]},comments:{patterns:[{captures:{1:{name:"punctuation.definition.comment.swift"}},match:"\\A^(#!).*$\\n?",name:"comment.line.number-sign.swift"},{begin:"/\\*\\*(?!/)",beginCaptures:{0:{name:"punctuation.definition.comment.begin.swift"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.documentation.swift",patterns:[{include:"#comments-nested"}]},{begin:"/\\*:",beginCaptures:{0:{name:"punctuation.definition.comment.begin.swift"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.documentation.playground.swift",patterns:[{include:"#comments-nested"}]},{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.swift"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.swift"}},name:"comment.block.swift",patterns:[{include:"#comments-nested"}]},{match:"\\*/",name:"invalid.illegal.unexpected-end-of-block-comment.swift"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.swift"}},end:"(?!\\G)",patterns:[{begin:"///",beginCaptures:{0:{name:"punctuation.definition.comment.swift"}},end:"$",name:"comment.line.triple-slash.documentation.swift"},{begin:"//:",beginCaptures:{0:{name:"punctuation.definition.comment.swift"}},end:"$",name:"comment.line.double-slash.documentation.swift"},{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.swift"}},end:"$",name:"comment.line.double-slash.swift"}]}]},"comments-nested":{begin:"/\\*",end:"\\*/",patterns:[{include:"#comments-nested"}]},"compiler-control":{patterns:[{begin:"^\\s*(#)(if|elseif)\\s+(false)\\b.*?(?=$|//|/\\*)",beginCaptures:{0:{name:"meta.preprocessor.conditional.swift"},1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.conditional.swift"},3:{name:"constant.language.boolean.swift"}},contentName:"comment.block.preprocessor.swift",end:"(?=^\\s*(#(elseif|else|endif)\\b))"},{begin:"^\\s*(#)(if|elseif)\\s+",captures:{1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.conditional.swift"}},end:"(?=\\s*(?://|/\\*))|$",name:"meta.preprocessor.conditional.swift",patterns:[{match:"(&&|\\|\\|)",name:"keyword.operator.logical.swift"},{match:"\\b(true|false)\\b",name:"constant.language.boolean.swift"},{captures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"},3:{name:"support.constant.platform.architecture.swift"},4:{name:"punctuation.definition.parameters.end.swift"}},match:"\\b(arch)\\s*(\\()\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\w+)\\s*(\\))"},{captures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"},3:{name:"support.constant.platform.os.swift"},4:{name:"punctuation.definition.parameters.end.swift"}},match:"\\b(os)\\s*(\\()\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\w+)\\s*(\\))"},{captures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"},3:{name:"entity.name.type.module.swift"},4:{name:"punctuation.definition.parameters.end.swift"}},match:"\\b(canImport)\\s*(\\()([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)(\\))"},{begin:"\\b(targetEnvironment)\\s*(\\()",beginCaptures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"}},end:"(\\))|$",endCaptures:{1:{name:"punctuation.definition.parameters.end.swift"}},patterns:[{match:"\\b(simulator|UIKitForMac)\\b",name:"support.constant.platform.environment.swift"}]},{begin:"\\b(swift|compiler)\\s*(\\()",beginCaptures:{1:{name:"keyword.other.condition.swift"},2:{name:"punctuation.definition.parameters.begin.swift"}},end:"(\\))|$",endCaptures:{1:{name:"punctuation.definition.parameters.end.swift"}},patterns:[{match:">=|<",name:"keyword.operator.comparison.swift"},{match:"\\b\\d+(?:\\.\\d+)*\\b",name:"constant.numeric.swift"}]}]},{captures:{1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.conditional.swift"},3:{patterns:[{match:"\\S+",name:"invalid.illegal.character-not-allowed-here.swift"}]}},match:"^\\s*(#)(else|endif)(.*?)(?=$|//|/\\*)",name:"meta.preprocessor.conditional.swift"},{captures:{1:{name:"punctuation.definition.preprocessor.swift"},2:{name:"keyword.control.import.preprocessor.sourcelocation.swift"},4:{name:"punctuation.definition.parameters.begin.swift"},5:{patterns:[{begin:'(file)\\s*(:)\\s*(?=")',beginCaptures:{1:{name:"support.variable.parameter.swift"},2:{name:"punctuation.separator.key-value.swift"}},end:"(?!\\G)",patterns:[{include:"#literals"}]},{captures:{1:{name:"support.variable.parameter.swift"},2:{name:"punctuation.separator.key-value.swift"},3:{name:"constant.numeric.integer.swift"}},match:"(line)\\s*(:)\\s*([0-9]+)"},{match:",",name:"punctuation.separator.parameters.swift"},{match:"\\S+",name:"invalid.illegal.character-not-allowed-here.swift"}]},6:{name:"punctuation.definition.parameters.begin.swift"},7:{patterns:[{match:"\\S+",name:"invalid.illegal.character-not-allowed-here.swift"}]}},match:"^\\s*(#)(sourceLocation)((\\()([^)]*)(\\)))(.*?)(?=$|//|/\\*)",name:"meta.preprocessor.sourcelocation.swift"}]},conditionals:{patterns:[{begin:"(?&|\\^~.])(->)(?![/=\\-+!*%<>&|\\^~.])"},{captures:{1:{name:"keyword.operator.type.composition.swift"}},comment:"Swift 3: A & B",match:"(?&|\\^~.])(&)(?![/=\\-+!*%<>&|\\^~.])"},{match:"[?!]",name:"keyword.operator.type.optional.swift"},{match:"\\.\\.\\.",name:"keyword.operator.function.variadic-parameter.swift"},{comment:"Swift 2: protocol",match:"\\bprotocol\\b",name:"keyword.other.type.composition.swift"},{match:"(?<=\\.)(?:Protocol|Type)\\b",name:"keyword.other.type.metatype.swift"},{include:"#declarations-available-types-tuple-type"},{include:"#declarations-available-types-collection-type"},{include:"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{begin:"\\[",beginCaptures:{0:{name:"punctuation.section.collection-type.begin.swift"}},comment:"array and dictionary types [Value] and [Key: Value]",end:"\\]|(?=[>){}])",endCaptures:{0:{name:"punctuation.section.collection-type.end.swift"}},patterns:[{include:"#declarations-available-types"},{begin:":",beginCaptures:{0:{name:"punctuation.separator.key-value.swift"}},end:"(?=\\]|[>){}])",patterns:[{match:":",name:"invalid.illegal.extra-colon-in-dictionary-type.swift"},{include:"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.tuple-type.begin.swift"}},end:"\\)|(?=[>\\]{}])",endCaptures:{0:{name:"punctuation.section.tuple-type.end.swift"}},patterns:[{include:"#declarations-available-types"}]},"declarations-extension":{begin:"\\b(extension)\\s+((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.swift",patterns:[{include:"#declarations-available-types"}]},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{comment:"SE-0143: Conditional Conformances",include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"$self"}]}]},"declarations-function":{begin:"\\b(func)\\s+((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k)|(?:((?[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}])(\\g|(?[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))*)|(\\.(\\g|\\g|\\.)+)))\\s*(?=\\(|<)",beginCaptures:{1:{name:"storage.type.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})|$",name:"meta.definition.function.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{comment:"Swift 3: generic constraints after the parameters and return type",include:"#declarations-generic-where-clause"},{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.section.function.begin.swift"}},end:"(\\})",endCaptures:{1:{name:"punctuation.section.function.end.swift"}},name:"meta.definition.function.body.swift",patterns:[{include:"$self"}]}]},"declarations-function-initializer":{begin:"(?&|\\^~.])(->)(?![/=\\-+!*%<>&|\\^~.])\\s*",beginCaptures:{1:{name:"keyword.operator.function-result.swift"}},end:"(?!\\G)(?=\\{|\\bwhere\\b|;|=)|$",name:"meta.function-result.swift",patterns:[{include:"#declarations-available-types"}]},"declarations-function-subscript":{begin:"(?|(?=[)\\]{}])",endCaptures:{0:{name:"punctuation.separator.generic-argument-clause.end.swift"}},name:"meta.generic-argument-clause.swift",patterns:[{include:"#declarations-available-types"}]},"declarations-generic-parameter-clause":{begin:"<",beginCaptures:{0:{name:"punctuation.separator.generic-parameter-clause.begin.swift"}},end:">|(?=[^\\w\\d:<>\\s,=&`])",endCaptures:{0:{name:"punctuation.separator.generic-parameter-clause.end.swift"}},name:"meta.generic-parameter-clause.swift",patterns:[{include:"#comments"},{comment:"Swift 2: constraints inside the generic param list",include:"#declarations-generic-where-clause"},{match:"\\beach\\b",name:"keyword.control.loop.swift"},{captures:{1:{name:"variable.language.generic-parameter.swift"}},match:"\\b((?!\\d)\\w[\\w\\d]*)\\b"},{match:",",name:"punctuation.separator.generic-parameters.swift"},{begin:"(:)\\s*",beginCaptures:{1:{name:"punctuation.separator.generic-parameter-constraint.swift"}},end:"(?=[,>]|(?!\\G)\\bwhere\\b)",name:"meta.generic-parameter-constraint.swift",patterns:[{begin:"\\G",end:"(?=[,>]|(?!\\G)\\bwhere\\b)",name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-type-identifier"},{include:"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{begin:"\\b(where)\\b\\s*",beginCaptures:{1:{name:"keyword.other.generic-constraint-introducer.swift"}},end:"(?!\\G)$|(?=[>{};\\n]|//|/\\*)",name:"meta.generic-where-clause.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{begin:"\\G|,\\s*",end:"(?=[,>{};\\n]|//|/\\*)",patterns:[{include:"#comments"},{include:"#constraint"},{include:"#declarations-available-types"},{begin:"(?&|\\^~.])(==)(?![/=\\-+!*%<>&|\\^~.])",beginCaptures:{1:{name:"keyword.operator.generic-constraint.same-type.swift"}},end:"(?=\\s*[,>{};\\n]|//|/\\*)",name:"meta.generic-where-clause.same-type-requirement.swift",patterns:[{include:"#declarations-available-types"}]},{begin:"(?&|\\^~.])(:)(?![/=\\-+!*%<>&|\\^~.])",beginCaptures:{1:{name:"keyword.operator.generic-constraint.conforms-to.swift"}},end:"(?=\\s*[,>{};\\n]|//|/\\*)",name:"meta.generic-where-clause.conformance-requirement.swift",patterns:[{begin:"\\G\\s*",contentName:"entity.other.inherited-class.swift",end:"(?=\\s*[,>{};\\n]|//|/\\*)",patterns:[{include:"#declarations-available-types"}]}]}]},"declarations-import":{begin:"(?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k)",name:"entity.name.type.swift"},{match:"(?<=\\G|\\.)\\$\\d+",name:"entity.name.type.swift"},{captures:{1:{patterns:[{match:"\\.",name:"invalid.illegal.dot-not-allowed-here.swift"}]}},match:"(?<=\\G|\\.)(?:((?[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}])(\\g|(?[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))*)|(\\.(\\g|\\g|\\.)+))(?=\\.|;|$|//|/\\*|\\s)",name:"entity.name.type.swift"},{match:"\\.",name:"punctuation.separator.import.swift"},{begin:"(?!\\s*(;|$|//|/\\*))",end:"(?=\\s*(;|$|//|/\\*))",name:"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{begin:"(:)(?=\\s*\\{)|(:)\\s*",beginCaptures:{1:{name:"invalid.illegal.empty-inheritance-clause.swift"},2:{name:"punctuation.separator.inheritance-clause.swift"}},end:"(?!\\G)$|(?=[={}]|(?!\\G)\\bwhere\\b)",name:"meta.inheritance-clause.swift",patterns:[{begin:"\\bclass\\b",beginCaptures:{0:{name:"storage.type.class.swift"}},end:"(?=[={}]|(?!\\G)\\bwhere\\b)",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause-more-types"}]},{begin:"\\G",end:"(?!\\G)$|(?=[={}]|(?!\\G)\\bwhere\\b)",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause-inherited-type"},{include:"#declarations-inheritance-clause-more-types"},{include:"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{begin:"(?=[`\\p{L}_])",end:"(?!\\G)",name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{begin:",\\s*",end:"(?!\\G)(?!//|/\\*)|(?=[,={}]|(?!\\G)\\bwhere\\b)",name:"meta.inheritance-list.more-types",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause-inherited-type"},{include:"#declarations-inheritance-clause-more-types"},{include:"#declarations-type-operators"}]},"declarations-macro":{begin:"\\b(macro)\\s+((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\s*(?=\\(|<|=)",beginCaptures:{1:{name:"storage.type.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"$|(?=;|//|/\\*|\\}|=)",name:"meta.definition.macro.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{comment:"Swift 3: generic constraints after the parameters and return type",include:"#declarations-generic-where-clause"}]},"declarations-operator":{begin:"(?:\\b(prefix|infix|postfix)\\s+)?\\b(operator)\\s+(((?[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}])(\\g|\\.|(?[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))*+)|(\\.(\\g|\\g|\\.)++))\\s*",beginCaptures:{1:{name:"storage.modifier.swift"},2:{name:"storage.type.function.operator.swift"},3:{name:"entity.name.function.operator.swift"},4:{comment:"workaround for https://github.com/microsoft/vscode-textmate/issues/140#issuecomment-1793610346",name:"entity.name.function.operator.swift",patterns:[{match:"\\.",name:"invalid.illegal.dot-not-allowed-here.swift"}]}},end:"(;)|$\\n?|(?=//|/\\*)",endCaptures:{1:{name:"punctuation.terminator.statement.swift"}},name:"meta.definition.operator.swift",patterns:[{include:"#declarations-operator-swift2"},{include:"#declarations-operator-swift3"},{match:"((?!$|;|//|/\\*)\\S)+",name:"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{begin:"\\G(\\{)",beginCaptures:{1:{name:"punctuation.definition.operator.begin.swift"}},end:"(\\})",endCaptures:{1:{name:"punctuation.definition.operator.end.swift"}},patterns:[{include:"#comments"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"keyword.other.operator.associativity.swift"}},match:"\\b(associativity)\\s+(left|right)\\b"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"constant.numeric.integer.swift"}},match:"\\b(precedence)\\s+(\\d+)\\b"},{captures:{1:{name:"storage.modifier.swift"}},match:"\\b(assignment)\\b"}]},"declarations-operator-swift3":{captures:{2:{name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-types-precedencegroup"}]},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},match:"\\G(:)\\s*((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))"},"declarations-parameter-clause":{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.parameters.begin.swift"}},end:"(\\))(?:\\s*(async)\\b)?",endCaptures:{1:{name:"punctuation.definition.parameters.end.swift"},2:{name:"storage.modifier.async.swift"}},name:"meta.parameter-clause.swift",patterns:[{include:"#declarations-parameter-list"}]},"declarations-parameter-list":{patterns:[{captures:{1:{name:"entity.name.function.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"variable.parameter.function.swift"},5:{name:"punctuation.definition.identifier.swift"},6:{name:"punctuation.definition.identifier.swift"}},comment:"External parameter labels are considered part of the function name",match:"((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\s+((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))(?=\\s*:)"},{captures:{1:{name:"variable.parameter.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},comment:"If no external label is given, the name is both the external label and the internal variable name",match:"(((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k)))(?=\\s*:)"},{begin:":\\s*(?!\\s)",end:"(?=[,)])",patterns:[{include:"#declarations-available-types"},{match:":",name:"invalid.illegal.extra-colon-in-parameter-list.swift"},{begin:"=",beginCaptures:{0:{name:"keyword.operator.assignment.swift"}},comment:"a parameter's default value",end:"(?=[,)])",patterns:[{include:"#expressions"}]}]}]},"declarations-precedencegroup":{begin:"\\b(precedencegroup)\\s+((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\s*(?=\\{)",beginCaptures:{1:{name:"storage.type.precedencegroup.swift"},2:{name:"entity.name.type.precedencegroup.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?!\\G)",name:"meta.definition.precedencegroup.swift",patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.precedencegroup.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.precedencegroup.end.swift"}},patterns:[{include:"#comments"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"entity.other.inherited-class.swift",patterns:[{include:"#declarations-types-precedencegroup"}]},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},match:"\\b(higherThan|lowerThan)\\s*:\\s*((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"keyword.other.operator.associativity.swift"}},match:"\\b(associativity)\\b(?:\\s*:\\s*(right|left|none)\\b)?"},{captures:{1:{name:"storage.modifier.swift"},2:{name:"constant.language.boolean.swift"}},match:"\\b(assignment)\\b(?:\\s*:\\s*(true|false)\\b)?"}]}]},"declarations-protocol":{begin:"\\b(protocol)\\s+((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.$1.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.protocol.swift",patterns:[{include:"#comments"},{include:"#declarations-inheritance-clause"},{comment:"SE-0142: Permit where clauses to constrain associated types",include:"#declarations-generic-where-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"#declarations-protocol-protocol-method"},{include:"#declarations-protocol-protocol-initializer"},{include:"#declarations-protocol-associated-type"},{include:"$self"}]}]},"declarations-protocol-associated-type":{begin:"\\b(associatedtype)\\s+((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\s*",beginCaptures:{1:{name:"keyword.other.declaration-specifier.swift"},2:{name:"variable.language.associatedtype.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?!\\G)$|(?=[;}]|$)",name:"meta.definition.associatedtype.swift",patterns:[{include:"#declarations-inheritance-clause"},{comment:"SE-0142: Permit where clauses to constrain associated types",include:"#declarations-generic-where-clause"},{include:"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{begin:"(?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k)|(?:((?[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}])(\\g|(?[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))*)|(\\.(\\g|\\g|\\.)+)))\\s*(?=\\(|<)",beginCaptures:{1:{name:"storage.type.function.swift"},2:{name:"entity.name.function.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"$|(?=;|//|/\\*|\\})",name:"meta.definition.function.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{include:"#declarations-parameter-clause"},{include:"#declarations-function-result"},{include:"#async-throws"},{comment:"Swift 3: generic constraints after the parameters and return type",include:"#declarations-generic-where-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.function.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.function.end.swift"}},name:"invalid.illegal.function-body-not-allowed-in-protocol.swift",patterns:[{include:"$self"}]}]},"declarations-type":{patterns:[{begin:"\\b(class(?!\\s+(?:func|var|let)\\b)|struct|actor)\\b\\s*((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.$1.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{comment:"Swift 3: generic constraints after the generic param list",include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"$self"}]}]},{include:"#declarations-type-enum"}]},"declarations-type-enum":{begin:"\\b(enum)\\s+((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))",beginCaptures:{1:{name:"storage.type.$1.swift"},2:{name:"entity.name.type.$1.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?<=\\})",name:"meta.definition.type.$1.swift",patterns:[{include:"#comments"},{include:"#declarations-generic-parameter-clause"},{comment:"Swift 3: generic constraints after the generic param list",include:"#declarations-generic-where-clause"},{include:"#declarations-inheritance-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.swift"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.swift"}},name:"meta.definition.type.body.swift",patterns:[{include:"#declarations-type-enum-enum-case-clause"},{include:"$self"}]}]},"declarations-type-enum-associated-values":{begin:"\\G\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.swift"}},patterns:[{include:"#comments"},{begin:"(?:(_)|((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k))\\s+(((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k))\\s*(:)",beginCaptures:{1:{name:"entity.name.function.swift"},2:{name:"invalid.illegal.distinct-labels-not-allowed.swift"},5:{name:"variable.parameter.function.swift"},7:{name:"punctuation.separator.argument-label.swift"}},end:"(?=[,)\\]])",patterns:[{include:"#declarations-available-types"}]},{begin:"(((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*\\k))\\s*(:)",beginCaptures:{1:{name:"entity.name.function.swift"},2:{name:"variable.parameter.function.swift"},4:{name:"punctuation.separator.argument-label.swift"}},end:"(?=[,)\\]])",patterns:[{include:"#declarations-available-types"}]},{begin:"(?![,)\\]])(?=\\S)",comment:"an element without a label (i.e. anything else)",end:"(?=[,)\\]])",patterns:[{include:"#declarations-available-types"},{match:":",name:"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{begin:"((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\s*",beginCaptures:{1:{name:"variable.other.enummember.swift"}},end:"(?<=\\))|(?![=(])",patterns:[{include:"#comments"},{include:"#declarations-type-enum-associated-values"},{include:"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{begin:"\\b(case)\\b\\s*",beginCaptures:{1:{name:"storage.type.enum.case.swift"}},end:"(?=[;}])|(?!\\G)(?!//|/\\*)(?=[^\\s,])",patterns:[{include:"#comments"},{include:"#declarations-type-enum-enum-case"},{include:"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{begin:",\\s*",end:"(?!\\G)(?!//|/\\*)(?=[;}]|[^\\s,])",name:"meta.enum-case.more-cases",patterns:[{include:"#comments"},{include:"#declarations-type-enum-enum-case"},{include:"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{begin:"(=)\\s*",beginCaptures:{1:{name:"keyword.operator.assignment.swift"}},end:"(?!\\G)",patterns:[{include:"#comments"},{include:"#literals"}]},"declarations-type-identifier":{begin:"((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\s*",beginCaptures:{1:{name:"meta.type-name.swift",patterns:[{include:"#builtin-types"}]},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},end:"(?!<)",patterns:[{begin:"(?=<)",end:"(?!\\G)",patterns:[{include:"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{patterns:[{captures:{1:{name:"keyword.operator.type.composition.swift"}},comment:"Swift 3: A & B",match:"(?&|\\^~.])(&)(?![/=\\-+!*%<>&|\\^~.])"},{captures:{1:{name:"keyword.operator.type.requirement-suppression.swift"}},comment:"SE-0390: Noncopyable structs and enums",match:"(?&|\\^~.])(~)(?![/=\\-+!*%<>&|\\^~.])"}]},"declarations-typealias":{begin:"\\b(typealias)\\s+((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\s*",beginCaptures:{1:{name:"keyword.other.declaration-specifier.swift"},2:{name:"entity.name.type.typealias.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.identifier.swift"}},end:"(?!\\G)$|(?=;|//|/\\*|$)",name:"meta.definition.typealias.swift",patterns:[{begin:"\\G(?=<)",end:"(?!\\G)",patterns:[{include:"#declarations-generic-parameter-clause"}]},{include:"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{begin:"(=)\\s*",beginCaptures:{1:{name:"keyword.operator.assignment.swift"}},end:"(?!\\G)$|(?=;|//|/\\*|$)",patterns:[{include:"#declarations-available-types"}]},"declarations-typed-variable-declaration":{begin:"\\b(?:(async)\\s+)?(let|var)\\b\\s+(?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k)\\s*:",beginCaptures:{1:{name:"storage.modifier.async.swift"},2:{name:"keyword.other.declaration-specifier.swift"}},end:"(?=$|[={])",patterns:[{include:"#declarations-available-types"}]},"declarations-types-precedencegroup":{patterns:[{comment:"Precedence groups in the standard library",match:"\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\b",name:"support.type.swift"}]},expressions:{comment:"trailing closures need to be parsed before other member references",patterns:[{include:"#expressions-without-trailing-closures-or-member-references"},{include:"#expressions-trailing-closure"},{include:"#member-reference"}]},"expressions-trailing-closure":{patterns:[{captures:{1:{name:"support.function.any-method.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},comment:"foo { body } -- a call with a trailing closure and no argument clause",match:"(#?(?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))(?=\\s*\\{)",name:"meta.function-call.trailing-closure-only.swift"},{captures:{1:{name:"support.function.any-method.trailing-closure-label.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.separator.argument-label.swift"}},comment:"foo: { body } -- labeled-trailing-closure (SE-0279)",match:"((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\s*(:)(?=\\s*\\{)"}]},"expressions-without-trailing-closures":{patterns:[{include:"#expressions-without-trailing-closures-or-member-references"},{include:"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{patterns:[{include:"#comments"},{include:"#code-block"},{include:"#attributes"},{include:"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{include:"#literals"},{include:"#operators"},{include:"#builtin-types"},{include:"#builtin-functions"},{include:"#builtin-global-functions"},{include:"#builtin-properties"},{include:"#expressions-without-trailing-closures-or-member-references-compound-name"},{include:"#conditionals"},{include:"#keywords"},{include:"#expressions-without-trailing-closures-or-member-references-availability-condition"},{include:"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{include:"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{include:"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{include:"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{match:"\\b_\\b",name:"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{begin:"\\B(#(?:un)?available)(\\()",beginCaptures:{1:{name:"support.function.availability-condition.swift"},2:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},patterns:[{captures:{1:{name:"keyword.other.platform.os.swift"},2:{name:"constant.numeric.swift"}},match:"\\s*\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\b(?:\\s+(\\d+(?:\\.\\d+)*\\b))"},{captures:{1:{name:"keyword.other.platform.all.swift"},2:{name:"invalid.illegal.character-not-allowed-here.swift"}},match:"(\\*)\\s*(.*?)(?=[,)])"},{match:"[^\\s,)]+",name:"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{match:"\\$\\d+",name:"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{captures:{1:{name:"entity.name.function.compound-name.swift"},2:{name:"punctuation.definition.entity.swift"},3:{name:"punctuation.definition.entity.swift"},4:{patterns:[{captures:{1:{name:"punctuation.definition.entity.swift"},2:{name:"punctuation.definition.entity.swift"}},match:"(?`?)(?!_:)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k):",name:"entity.name.function.compound-name.swift"}]}},comment:"a reference to a function with disambiguating argument labels, such as foo(_:), foo(bar:), etc.",match:"((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\(((((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k)):)+)\\)"},"expressions-without-trailing-closures-or-member-references-expression-element-list":{patterns:[{include:"#comments"},{begin:"((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\s*(:)",beginCaptures:{1:{name:"support.function.any-method.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.separator.argument-label.swift"}},comment:"an element with a label",end:"(?=[,)\\]])",patterns:[{include:"#expressions"}]},{begin:"(?![,)\\]])(?=\\S)",comment:"an element without a label (i.e. anything else)",end:"(?=[,)\\]])",patterns:[{include:"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{patterns:[{begin:"(#?(?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))\\s*(\\()",beginCaptures:{1:{name:"support.function.any-method.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"},4:{name:"punctuation.definition.arguments.begin.swift"}},comment:"foo(args) -- a call whose callee is a highlightable name",end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.function-call.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{begin:"(?<=[`\\])}>\\p{L}_\\p{N}\\p{M}])\\s*(\\()",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.swift"}},comment:"[Int](args) -- a call whose callee is a more complicated expression",end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.function-call.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{match:"(#(?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))",name:"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.tuple.begin.swift"}},comment:'correctly matching closure expressions is too hard (depends on trailing "in") so we just tack on some basics to the end of parenthesized-expression',end:"(\\))\\s*((?:\\b(?:async|throws|rethrows)\\s)*)",endCaptures:{1:{name:"punctuation.section.tuple.end.swift"},2:{patterns:[{match:"\\brethrows\\b",name:"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{include:"#async-throws"}]}},patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{begin:"(?<=[`\\p{L}_\\p{N}\\p{M}])\\s*(\\[)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.swift"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.arguments.end.swift"}},name:"meta.subscript-expression.swift",patterns:[{include:"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},keywords:{patterns:[{match:"(?(?>(?:\\\\Q(?:(?!\\\\E)(?!/\\2).)*+(?:\\\\E|(?(3)|(?\\{)?+(?\\{)?+(?\\{)?+(?\\{)?+(?\\{)?+.+?\\}(?()\\})(?()\\})(?()\\})(?()\\})(?()\\})(?:\\[(?!\\d)\\w+\\])?[X<>]?\\)|(?\\[(?:\\\\.|[^\\[\\]]|\\g)+\\])|\\(\\g?+\\)|(?:(?!/\\2)[^()\\[\\\\])+)+))?+(?(3)|(?(5)(?' "\\k'" NamedOrNumberRef "'" '\\g<' NamedOrNumberRef '>' "\\g'" NamedOrNumberRef "'"`,match:"(\\\\[gk](<)|\\\\[gk]')(?:((?!\\d)\\w+)(?:([+-])(\\d+))?|([+-]?\\d+)(?:([+-])(\\d+))?)((?(2)>|'))"},{captures:{1:{name:"constant.character.escape.backslash.regexp"},2:{name:"variable.other.group-name.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"constant.character.escape.backslash.regexp"}},comment:"'\\k{' NamedRef '}'",match:"(\\\\k\\{)((?!\\d)\\w+)(?:([+-])(\\d+))?(\\})"},{match:"\\\\[1-9]\\d+",name:"keyword.other.back-reference.regexp"},{captures:{1:{name:"keyword.other.back-reference.regexp"},2:{name:"variable.other.group-name.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"keyword.other.back-reference.regexp"}},comment:"'(?P=' NamedRef ')'",match:"(\\(\\?(?:P[=>]|&))((?!\\d)\\w+)(?:([+-])(\\d+))?(\\))"},{match:"\\(\\?R\\)",name:"keyword.other.back-reference.regexp"},{captures:{1:{name:"keyword.other.back-reference.regexp"},2:{name:"constant.numeric.integer.decimal.regexp"},3:{name:"keyword.operator.recursion-level.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"keyword.other.back-reference.regexp"}},comment:"'(?' NumberRef ')'",match:"(\\(\\?)([+-]?\\d+)(?:([+-])(\\d+))?(\\))"}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{captures:{1:{name:"keyword.control.directive.regexp"},2:{name:"keyword.control.directive.regexp"},3:{name:"keyword.control.directive.regexp"},4:{name:"variable.language.tag.regexp"},5:{name:"keyword.control.directive.regexp"},6:{name:"keyword.operator.assignment.regexp"},7:{name:"constant.numeric.integer.decimal.regexp"},8:{name:"keyword.control.directive.regexp"},9:{name:"keyword.control.directive.regexp"}},match:"(\\(\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(?:(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\d+))|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\))"},"literals-regular-expression-literal-callout":{captures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"keyword.control.callout.regexp"},3:{name:"constant.numeric.integer.decimal.regexp"},4:{name:"entity.name.function.callout.regexp"},5:{name:"entity.name.function.callout.regexp"},6:{name:"entity.name.function.callout.regexp"},7:{name:"entity.name.function.callout.regexp"},8:{name:"entity.name.function.callout.regexp"},9:{name:"entity.name.function.callout.regexp"},10:{name:"entity.name.function.callout.regexp"},11:{name:"entity.name.function.callout.regexp"},12:{name:"punctuation.definition.group.regexp"},13:{name:"punctuation.definition.group.regexp"},14:{name:"keyword.control.callout.regexp"},15:{name:"entity.name.function.callout.regexp"},16:{name:"variable.language.tag-name.regexp"},17:{name:"punctuation.definition.group.regexp"},18:{name:"punctuation.definition.group.regexp"},19:{name:"keyword.control.callout.regexp"},26:{name:"variable.language.tag-name.regexp"},27:{name:"keyword.control.callout.regexp"},28:{name:"punctuation.definition.group.regexp"}},match:"(\\()(?\\?C)(?:(?\\d+)|`(?(?:[^`]|``)*)`|'(?(?:[^']|'')*)'|\"(?(?:[^\"]|\"\")*)\"|\\^(?(?:[^\\^]|\\^\\^)*)\\^|%(?(?:[^%]|%%)*)%|\\#(?(?:[^#]|\\#\\#)*)\\#|\\$(?(?:[^$]|\\$\\$)*)\\$|\\{(?(?:[^}]|\\}\\})*)\\})?(\\))|(\\()(?\\*)(?(?!\\d)\\w+)(?:\\[(?(?!\\d)\\w+)\\])?(?:\\{[^,}]+(?:,[^,}]+)*\\})?(\\))|(\\()(?\\?)(\\{(?\\{)?+(?\\{)?+(?\\{)?+(?\\{)?+(?\\{)?+).+?\\}(?()\\})(?()\\})(?()\\})(?()\\})(?()\\})(?:\\[(?(?!\\d)\\w+)\\])?(?[X<>]?)(\\))",name:"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{captures:{1:{name:"support.variable.character-property.regexp"},2:{name:"punctuation.definition.character-class.regexp"},3:{name:"support.variable.character-property.regexp"},4:{name:"punctuation.definition.character-class.regexp"}},match:"\\\\[pP]\\{([\\s\\w-]+(?:=[\\s\\w-]+)?)\\}|(\\[:)([\\s\\w-]+(?:=[\\s\\w-]+)?)(:\\])",name:"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{patterns:[{begin:"(\\[)(\\^)?",beginCaptures:{1:{name:"punctuation.definition.character-class.regexp"},2:{name:"keyword.operator.negation.regexp"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.character-class.regexp"}},name:"constant.other.character-class.set.regexp",patterns:[{include:"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{comment:"TODO: should also include atoms?",patterns:[{comment:"\\b inside a character class represents a backspace",match:"\\\\b",name:"constant.character.escape.backslash.regexp"},{include:"#literals-regular-expression-literal-custom-char-class"},{include:"#literals-regular-expression-literal-quote"},{include:"#literals-regular-expression-literal-set-operators"},{include:"#literals-regular-expression-literal-unicode-scalars"},{include:"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{comment:'A matching option sequence may be part of an "isolated group" which has an implicit scope that wraps the remaining elements of the current group',match:"\\(\\?(?:\\^(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*|(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})+|(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*-(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*)\\)",name:"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{patterns:[{begin:"(\\()(\\?~)",beginCaptures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"keyword.control.conditional.absent.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.absent.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},{begin:"(\\()(?\\?\\()(?:(?(?[+-]?\\d+)(?:(?[+-])(?\\d+))?)|(?R)\\g?|(?R&)(?(?(?!\\d)\\w+)(?:(?[+-])(?\\d+))?)|(?<)(?:\\g|\\g)(?>)|(?')(?:\\g|\\g)(?')|(?DEFINE)|(?VERSION)(?>?=)(?\\d+\\.\\d+))(?\\))|(\\()(?\\?)(?=\\()",beginCaptures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"keyword.control.conditional.regexp"},4:{name:"constant.numeric.integer.decimal.regexp"},5:{name:"keyword.operator.recursion-level.regexp"},6:{name:"constant.numeric.integer.decimal.regexp"},7:{name:"keyword.control.conditional.regexp"},8:{name:"keyword.control.conditional.regexp"},10:{name:"variable.other.group-name.regexp"},11:{name:"keyword.operator.recursion-level.regexp"},12:{name:"constant.numeric.integer.decimal.regexp"},13:{name:"keyword.control.conditional.regexp"},14:{name:"keyword.control.conditional.regexp"},15:{name:"keyword.control.conditional.regexp"},16:{name:"keyword.control.conditional.regexp"},17:{name:"keyword.control.conditional.regexp"},18:{name:"keyword.control.conditional.regexp"},19:{name:"keyword.operator.comparison.regexp"},20:{name:"constant.numeric.integer.decimal.regexp"},21:{name:"keyword.control.conditional.regexp"},22:{name:"punctuation.definition.group.regexp"},23:{name:"keyword.control.conditional.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.conditional.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]},{begin:"(\\()((\\?)(?:([:|>=!*]|<[=!*])|P?<(?:((?!\\d)\\w+)(-))?((?!\\d)\\w+)>|'(?:((?!\\d)\\w+)(-))?((?!\\d)\\w+)'|(?:\\^(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*|(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})+|(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*-(?:[iJmnsUxwDPSW]|xx|y\\{[gw]\\})*):)|\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+",beginCaptures:{1:{name:"punctuation.definition.group.regexp"},2:{name:"keyword.other.group-options.regexp"},3:{name:"punctuation.definition.group.regexp"},4:{name:"punctuation.definition.group.regexp"},5:{name:"variable.other.group-name.regexp"},6:{name:"keyword.operator.balancing-group.regexp"},7:{name:"variable.other.group-name.regexp"},8:{name:"variable.other.group-name.regexp"},9:{name:"keyword.operator.balancing-group.regexp"},10:{name:"variable.other.group-name.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{captures:{1:{name:"punctuation.definition.comment.regexp"}},match:"(\\#).*$",name:"comment.line.regexp"},"literals-regular-expression-literal-quote":{begin:"\\\\Q",beginCaptures:{0:{name:"constant.character.escape.backslash.regexp"}},end:"\\\\E|(\\n)",endCaptures:{0:{name:"constant.character.escape.backslash.regexp"},1:{name:"invalid.illegal.returns-not-allowed.regexp"}},name:"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{patterns:[{include:"#literals-regular-expression-literal-quote"},{begin:"\\(\\?\\#",beginCaptures:{0:{name:"punctuation.definition.comment.begin.regexp"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.comment.end.regexp"}},name:"comment.block.regexp"},{begin:"<\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.regexp"}},end:"\\}>",endCaptures:{0:{name:"punctuation.section.embedded.end.regexp"}},name:"meta.embedded.expression.regexp"},{include:"#literals-regular-expression-literal-unicode-scalars"},{include:"#literals-regular-expression-literal-character-properties"},{match:"[$^]|\\\\[AbBGyYzZ]|\\\\K",name:"keyword.control.anchor.regexp"},{include:"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{include:"#literals-regular-expression-literal-callout"},{include:"#literals-regular-expression-literal-backreference-or-subpattern"},{match:"\\.|\\\\[CdDhHNORsSvVwWX]",name:"constant.character.character-class.regexp"},{match:"\\\\c.",name:"constant.character.entity.control-character.regexp"},{match:"\\\\[^c]",name:"constant.character.escape.backslash.regexp"},{match:"\\|",name:"keyword.operator.or.regexp"},{match:"[*+?]",name:"keyword.operator.quantifier.regexp"},{match:"\\{\\s*\\d+\\s*(?:,\\s*\\d*\\s*)?\\}|\\{\\s*,\\s*\\d+\\s*\\}",name:"keyword.operator.quantifier.regexp"},{include:"#literals-regular-expression-literal-custom-char-class"},{include:"#literals-regular-expression-literal-group-option-toggle"},{include:"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{patterns:[{match:"&&",name:"keyword.operator.intersection.regexp.swift"},{match:"--",name:"keyword.operator.subtraction.regexp.swift"},{match:"\\~\\~",name:"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{match:"\\\\u\\{\\s*(?:[0-9a-fA-F]+\\s*)+\\}|\\\\u[0-9a-fA-F]{4}|\\\\x\\{[0-9a-fA-F]+\\}|\\\\x[0-9a-fA-F]{0,2}|\\\\U[0-9a-fA-F]{8}|\\\\o\\{[0-7]+\\}|\\\\0[0-7]{0,3}|\\\\N\\{(?:U\\+[0-9a-fA-F]{1,8}|[\\s\\w-]+)\\}",name:"constant.character.numeric.regexp"},"literals-string":{patterns:[{begin:'"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},comment:"SE-0168: Multi-Line String Literals",end:'"""(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.swift",patterns:[{match:'\\G.+(?=""")|\\G.+',name:"invalid.illegal.content-after-opening-delimiter.swift"},{match:"\\\\\\s*\\n",name:"constant.character.escape.newline.swift"},{include:"#literals-string-string-guts"},{comment:'Allow \\("""...""") to appear inside a block string',match:'\\S((?!\\\\\\().)*(?=""")',name:"invalid.illegal.content-before-closing-delimiter.swift"}]},{begin:'#"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},end:'"""#(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.raw.swift",patterns:[{match:'\\G.+(?=""")|\\G.+',name:"invalid.illegal.content-after-opening-delimiter.swift"},{match:"\\\\#\\s*\\n",name:"constant.character.escape.newline.swift"},{include:"#literals-string-raw-string-guts"},{comment:'Allow \\("""...""") to appear inside a block string',match:'\\S((?!\\\\#\\().)*(?=""")',name:"invalid.illegal.content-before-closing-delimiter.swift"}]},{begin:'(##+)"""',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},end:'"""\\1(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.block.raw.swift",patterns:[{match:'\\G.+(?=""")|\\G.+',name:"invalid.illegal.content-after-opening-delimiter.swift"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.swift"}},end:'"(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.swift",patterns:[{match:"\\r|\\n",name:"invalid.illegal.returns-not-allowed.swift"},{include:"#literals-string-string-guts"}]},{begin:'(##+)"',beginCaptures:{0:{name:"punctuation.definition.string.begin.raw.swift"}},comment:"SE-0168: raw string literals (more than one #, grammar limitations prevent us from supporting escapes)",end:'"\\1(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.raw.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.raw.swift",patterns:[{match:"\\r|\\n",name:"invalid.illegal.returns-not-allowed.swift"}]},{begin:'#"',beginCaptures:{0:{name:"punctuation.definition.string.begin.raw.swift"}},comment:"SE-0168: raw string literals (one #, escapes supported)",end:'"#(#*)',endCaptures:{0:{name:"punctuation.definition.string.end.raw.swift"},1:{name:"invalid.illegal.extra-closing-delimiter.swift"}},name:"string.quoted.double.single-line.raw.swift",patterns:[{match:"\\r|\\n",name:"invalid.illegal.returns-not-allowed.swift"},{include:"#literals-string-raw-string-guts"}]}]},"literals-string-raw-string-guts":{comment:"the same as #string-guts but with # in escapes",patterns:[{match:`\\\\#[0\\\\tnr"']`,name:"constant.character.escape.swift"},{match:"\\\\#u\\{[0-9a-fA-F]{1,8}\\}",name:"constant.character.escape.unicode.swift"},{begin:"\\\\#\\(",beginCaptures:{0:{name:"punctuation.section.embedded.begin.swift"}},contentName:"source.swift",end:"(\\))",endCaptures:{0:{name:"punctuation.section.embedded.end.swift"},1:{name:"source.swift"}},name:"meta.embedded.line.swift",patterns:[{include:"$self"},{begin:"\\(",comment:"Nested parens",end:"\\)"}]},{match:"\\\\#.",name:"invalid.illegal.escape-not-recognized"}]},"literals-string-string-guts":{patterns:[{match:`\\\\[0\\\\tnr"']`,name:"constant.character.escape.swift"},{match:"\\\\u\\{[0-9a-fA-F]{1,8}\\}",name:"constant.character.escape.unicode.swift"},{begin:"\\\\\\(",beginCaptures:{0:{name:"punctuation.section.embedded.begin.swift"}},contentName:"source.swift",end:"(\\))",endCaptures:{0:{name:"punctuation.section.embedded.end.swift"},1:{name:"source.swift"}},name:"meta.embedded.line.swift",patterns:[{include:"$self"},{begin:"\\(",comment:"Nested parens",end:"\\)"}]},{match:"\\\\.",name:"invalid.illegal.escape-not-recognized"}]},"member-reference":{patterns:[{captures:{1:{name:"variable.other.swift"},2:{name:"punctuation.definition.identifier.swift"},3:{name:"punctuation.definition.identifier.swift"}},match:"(?<=\\.)((?`?)[\\p{L}_][\\p{L}_\\p{N}\\p{M}]*(\\k))"}]},operators:{patterns:[{comment:"Type casting",match:"\\b(is\\b|as([!?]\\B|\\b))",name:"keyword.operator.type-casting.swift"},{begin:"(?=(?[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}])|\\.(\\g|\\.|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))",comment:"This rule helps us speed up the matching.",end:"(?!\\G)",patterns:[{captures:{0:{patterns:[{match:"\\G(\\+\\+|\\-\\-)$",name:"keyword.operator.increment-or-decrement.swift"},{match:"\\G(\\+|\\-)$",name:"keyword.operator.arithmetic.unary.swift"},{match:"\\G!$",name:"keyword.operator.logical.not.swift"},{match:"\\G~$",name:"keyword.operator.bitwise.not.swift"},{match:".+",name:"keyword.operator.custom.prefix.swift"}]}},comment:"Prefix unary operator",match:"\\G(?<=^|[\\s(\\[{,;:])((?!(//|/\\*|\\*/))([/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++(?![\\s)\\]},;:]|\\z)"},{captures:{0:{patterns:[{match:"\\G(\\+\\+|\\-\\-)$",name:"keyword.operator.increment-or-decrement.swift"},{match:"\\G!$",name:"keyword.operator.increment-or-decrement.swift"},{match:".+",name:"keyword.operator.custom.postfix.swift"}]}},comment:"Postfix unary operator",match:"\\G(?&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++(?=[\\s)\\]},;:]|\\z)"},{captures:{0:{patterns:[{match:"\\G=$",name:"keyword.operator.assignment.swift"},{match:"\\G(\\+|\\-|\\*|/|%|<<|>>|&|\\^|\\||&&|\\|\\|)=$",name:"keyword.operator.assignment.compound.swift"},{match:"\\G(\\+|\\-|\\*|/)$",name:"keyword.operator.arithmetic.swift"},{match:"\\G&(\\+|\\-|\\*)$",name:"keyword.operator.arithmetic.overflow.swift"},{match:"\\G%$",name:"keyword.operator.arithmetic.remainder.swift"},{match:"\\G(==|!=|>|<|>=|<=|~=)$",name:"keyword.operator.comparison.swift"},{match:"\\G\\?\\?$",name:"keyword.operator.coalescing.swift"},{match:"\\G(&&|\\|\\|)$",name:"keyword.operator.logical.swift"},{match:"\\G(&|\\||\\^|<<|>>)$",name:"keyword.operator.bitwise.swift"},{match:"\\G(===|!==)$",name:"keyword.operator.bitwise.swift"},{match:"\\G\\?$",name:"keyword.operator.ternary.swift"},{match:".+",name:"keyword.operator.custom.infix.swift"}]}},comment:"Infix operator",match:"\\G((?!(//|/\\*|\\*/))([/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++"},{captures:{0:{patterns:[{match:".+",name:"keyword.operator.custom.prefix.dot.swift"}]}},comment:"Dot prefix unary operator",match:"\\G(?<=^|[\\s(\\[{,;:])\\.((?!(//|/\\*|\\*/))(\\.|[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++(?![\\s)\\]},;:]|\\z)"},{captures:{0:{patterns:[{match:".+",name:"keyword.operator.custom.postfix.dot.swift"}]}},comment:"Dot postfix unary operator",match:"\\G(?&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++(?=[\\s)\\]},;:]|\\z)"},{captures:{0:{patterns:[{match:"\\G\\.\\.[.<]$",name:"keyword.operator.range.swift"},{match:".+",name:"keyword.operator.custom.infix.dot.swift"}]}},comment:"Dot infix operator",match:"\\G\\.((?!(//|/\\*|\\*/))(\\.|[/=\\-+!*%<>&|^~?]|[\\x{00A1}-\\x{00A7}]|[\\x{00A9}\\x{00AB}]|[\\x{00AC}\\x{00AE}]|[\\x{00B0}-\\x{00B1}\\x{00B6}\\x{00BB}\\x{00BF}\\x{00D7}\\x{00F7}]|[\\x{2016}-\\x{2017}\\x{2020}-\\x{2027}]|[\\x{2030}-\\x{203E}]|[\\x{2041}-\\x{2053}]|[\\x{2055}-\\x{205E}]|[\\x{2190}-\\x{23FF}]|[\\x{2500}-\\x{2775}]|[\\x{2794}-\\x{2BFF}]|[\\x{2E00}-\\x{2E7F}]|[\\x{3001}-\\x{3003}]|[\\x{3008}-\\x{3030}]|[\\x{0300}-\\x{036F}]|[\\x{1DC0}-\\x{1DFF}]|[\\x{20D0}-\\x{20FF}]|[\\x{FE00}-\\x{FE0F}]|[\\x{FE20}-\\x{FE2F}]|[\\x{E0100}-\\x{E01EF}]))++"}]},{match:":",name:"keyword.operator.ternary.swift"}]},root:{patterns:[{include:"#compiler-control"},{include:"#declarations"},{include:"#expressions"}]}},scopeName:"source.swift"}),DDe=[zsa]});var $Nr={};Be($Nr,{default:()=>PDe});var jsa,PDe,Qrt=N(()=>{jsa=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)(?Qc});var Gsa,Qc,Jg=N(()=>{Gsa=Object.freeze({displayName:"TypeScript",name:"typescript",patterns:[{include:"#directives"},{include:"#statements"},{include:"#shebang"}],repository:{"access-modifier":{match:"(?]|^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.ts"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"meta.objectliteral.ts",patterns:[{include:"#object-member"}]},"array-binding-pattern":{begin:"(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},patterns:[{include:"#binding-element"},{include:"#punctuation-comma"}]},"array-binding-pattern-const":{begin:"(?:(\\.\\.\\.)\\s*)?(\\[)",beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},patterns:[{include:"#binding-element-const"},{include:"#punctuation-comma"}]},"array-literal":{begin:"\\s*(\\[)",beginCaptures:{1:{name:"meta.brace.square.ts"}},end:"\\]",endCaptures:{0:{name:"meta.brace.square.ts"}},name:"meta.array.literal.ts",patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},"arrow-function":{patterns:[{captures:{1:{name:"storage.modifier.async.ts"},2:{name:"variable.parameter.ts"}},match:"(?:(?)",name:"meta.arrow.ts"},{begin:"(?:(?]|=[^<]|\\<\\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*(((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.ts"}},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.ts",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.ts"}},end:"((?<=\\}|\\S)(?)|((?!\\{)(?=\\S)))(?!\\/[\\/\\*])",name:"meta.arrow.ts",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.ts"}},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.ts",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:"(?)",name:"cast.expr.ts"},{begin:"(?:(?*?\\&\\|\\^]|[^_$0-9A-Za-z](?:\\+\\+|\\-\\-)|[^\\+]\\+|[^\\-]\\-))\\s*(<)(?!)",endCaptures:{1:{name:"meta.brace.angle.ts"}},name:"cast.expr.ts",patterns:[{include:"#type"}]},{begin:"(?:(?<=^))\\s*(<)(?=[_$A-Za-z][_$0-9A-Za-z]*\\s*>)",beginCaptures:{1:{name:"meta.brace.angle.ts"}},end:"(\\>)",endCaptures:{1:{name:"meta.brace.angle.ts"}},name:"cast.expr.ts",patterns:[{include:"#type"}]}]},"class-declaration":{begin:"(?\\s*$)",beginCaptures:{1:{name:"punctuation.definition.comment.ts"}},end:"(?=$)",name:"comment.line.triple-slash.directive.ts",patterns:[{begin:"(<)(reference|amd-dependency|amd-module)",beginCaptures:{1:{name:"punctuation.definition.tag.directive.ts"},2:{name:"entity.name.tag.directive.ts"}},end:"/>",endCaptures:{0:{name:"punctuation.definition.tag.directive.ts"}},name:"meta.tag.ts",patterns:[{match:"path|types|no-default-lib|lib|name|resolution-mode",name:"entity.other.attribute-name.directive.ts"},{match:"=",name:"keyword.operator.assignment.ts"},{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:"()|(?=\\*/)",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.ts"}},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.ts"},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:"(?)))|((async\\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*\\{?$)|((\\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*(((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*(?]|=[^<]|\\<\\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*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\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*\\{?$)|((\\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*(((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.ts"},2:{name:"keyword.operator.rest.ts"},3:{name:"variable.parameter.ts variable.language.this.ts"},4:{name:"variable.parameter.ts"},5:{name:"keyword.operator.optional.ts"}},match:"(?:(?]|\\|\\||\\&\\&|\\!\\=\\=|$|((?>=|>>>=|\\|=",name:"keyword.operator.assignment.compound.bitwise.ts"},{match:"<<|>>>|>>",name:"keyword.operator.bitwise.shift.ts"},{match:"===|!==|==|!=",name:"keyword.operator.comparison.ts"},{match:"<=|>=|<>|<|>",name:"keyword.operator.relational.ts"},{captures:{1:{name:"keyword.operator.logical.ts"},2:{name:"keyword.operator.assignment.compound.ts"},3:{name:"keyword.operator.arithmetic.ts"}},match:"(?<=[_$0-9A-Za-z])(\\!)\\s*(?:(/=)|(?:(/)(?![/*])))"},{match:"\\!|&&|\\|\\||\\?\\?",name:"keyword.operator.logical.ts"},{match:"\\&|~|\\^|\\|",name:"keyword.operator.bitwise.ts"},{match:"\\=",name:"keyword.operator.assignment.ts"},{match:"--",name:"keyword.operator.decrement.ts"},{match:"\\+\\+",name:"keyword.operator.increment.ts"},{match:"%|\\*|/|-|\\+",name:"keyword.operator.arithmetic.ts"},{begin:"(?<=[_$0-9A-Za-z)\\]])\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)+(?:(/=)|(?:(/)(?![/*]))))",end:"(?:(/=)|(?:(/)(?!\\*([^\\*]|(\\*[^\\/]))*\\*\\/)))",endCaptures:{1:{name:"keyword.operator.assignment.compound.ts"},2:{name:"keyword.operator.arithmetic.ts"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.operator.assignment.compound.ts"},2:{name:"keyword.operator.arithmetic.ts"}},match:"(?<=[_$0-9A-Za-z)\\]])\\s*(?:(/=)|(?:(/)(?![/*])))"}]},expressionPunctuations:{patterns:[{include:"#punctuation-comma"},{include:"#punctuation-accessor"}]},expressionWithoutIdentifiers:{patterns:[{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:"(?)))|((async\\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*\\{?$)|((\\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*(((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*(?]|=[^<]|\\<\\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*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\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*\\{?$)|((\\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*(((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.ts variable.object.property.ts"},{match:"\\?",name:"keyword.operator.optional.ts"},{match:"\\!",name:"keyword.operator.definiteassignment.ts"}]},"for-loop":{begin:"(?\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\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.ts",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.ts",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"}]}]},"function-call-optionals":{patterns:[{match:"\\?\\.",name:"meta.function-call.ts punctuation.accessor.optional.ts"},{match:"\\!",name:"meta.function-call.ts keyword.operator.definiteassignment.ts"}]},"function-call-target":{patterns:[{include:"#support-function-call-identifiers"},{match:"(\\#?[_$A-Za-z][_$0-9A-Za-z]*)",name:"entity.name.function.ts"}]},"function-declaration":{begin:"(?)))|((async\\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*\\{?$)|((\\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*(((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.ts"},2:{name:"punctuation.accessor.optional.ts"},3:{name:"variable.other.constant.property.ts"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])"},{captures:{1:{name:"punctuation.accessor.ts"},2:{name:"punctuation.accessor.optional.ts"},3:{name:"variable.other.property.ts"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)"},{match:"([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])",name:"variable.other.constant.ts"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"variable.other.readwrite.ts"}]},"if-statement":{patterns:[{begin:"(?]|\\|\\||\\&\\&|\\!\\=\\=|$|(===|!==|==|!=)|(([\\&\\~\\^\\|]\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s+instanceof(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|((?]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.modifier.ts"},4:{name:"storage.modifier.async.ts"},5:{name:"keyword.operator.new.ts"},6:{name:"keyword.generator.asterisk.ts"}},end:"(?=\\}|;|,|$)|(?<=\\})",name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:"(?]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.modifier.ts"},4:{name:"storage.modifier.async.ts"},5:{name:"storage.type.property.ts"},6:{name:"keyword.generator.asterisk.ts"}},end:"(?=\\}|;|,|$)|(?<=\\})",name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]}]},"method-declaration-name":{begin:"(?=((\\b(?]|\\|\\||\\&\\&|\\!\\=\\=|$|((?]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.async.ts"},2:{name:"storage.type.property.ts"},3:{name:"keyword.generator.asterisk.ts"}},end:"(?=\\}|;|,)|(?<=\\})",name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"},{begin:"(?]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*(((const\\s+)?[_$A-Za-z])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*))?[\\(])",beginCaptures:{1:{name:"storage.modifier.async.ts"},2:{name:"storage.type.property.ts"},3:{name:"keyword.generator.asterisk.ts"}},end:"(?=\\(|\\<)",patterns:[{include:"#method-declaration-name"}]}]},"object-member":{patterns:[{include:"#comment"},{include:"#object-literal-method-declaration"},{begin:"(?=\\[)",end:"(?=:)|((?<=[\\]])(?=\\s*[\\(\\<]))",name:"meta.object.member.ts meta.object-literal.key.ts",patterns:[{include:"#comment"},{include:"#array-literal"}]},{begin:"(?=[\\'\\\"\\`])",end:"(?=:)|((?<=[\\'\\\"\\`])(?=((\\s*[\\(\\<,}])|(\\s+(as|satisifies)\\s+))))",name:"meta.object.member.ts meta.object-literal.key.ts",patterns:[{include:"#comment"},{include:"#string"}]},{begin:"(?=(\\b(?)))|((async\\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*\\{?$)|((\\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*(((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.ts"},{captures:{0:{name:"meta.object-literal.key.ts"}},match:"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)",name:"meta.object.member.ts"},{begin:"\\.\\.\\.",beginCaptures:{0:{name:"keyword.operator.spread.ts"}},end:"(?=,|\\})",name:"meta.object.member.ts",patterns:[{include:"#expression"}]},{captures:{1:{name:"variable.other.readwrite.ts"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=,|\\}|$|\\/\\/|\\/\\*)",name:"meta.object.member.ts"},{captures:{1:{name:"keyword.control.as.ts"},2:{name:"storage.modifier.ts"}},match:"(?]|\\|\\||\\&\\&|\\!\\=\\=|$|^|((?]|=[^<]|\\<\\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.ts"}},end:"(?<=\\))",patterns:[{include:"#type-parameters"},{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.ts"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.ts"}},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.ts"},2:{name:"meta.brace.round.ts"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]},{begin:"(?<=:)\\s*(async)?\\s*(?=\\<\\s*$)",beginCaptures:{1:{name:"storage.modifier.async.ts"}},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.ts"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.ts"}},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.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},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.ts"}},match:"(?)))|((async\\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*\\{?$)|((\\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*(((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*(?]|=[^<]|\\<\\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*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\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*\\{?$)|((\\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*(((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.ts"},2:{name:"keyword.operator.rest.ts"},3:{name:"variable.parameter.ts variable.language.this.ts"},4:{name:"variable.parameter.ts"},5:{name:"keyword.operator.optional.ts"}},match:"(?:(?])",name:"meta.type.annotation.ts",patterns:[{include:"#type"}]}]},"paren-expression":{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.ts"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.ts"}},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.ts"}},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.ts"}},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.ts"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{begin:"(?<=\\)|^)\\s*(:)(?=\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*=>)",beginCaptures:{1:{name:"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts"}},contentName:"meta.arrow.ts meta.return.type.arrow.ts",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:"(?|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[\\()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^\\)\\\\]|\\\\.)+\\))+\\/([dgimsuy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",beginCaptures:{1:{name:"punctuation.definition.string.begin.ts"}},end:"(/)([dgimsuy]*)",endCaptures:{1:{name:"punctuation.definition.string.end.ts"},2:{name:"keyword.other.ts"}},name:"string.regexp.ts",patterns:[{include:"#regexp"}]},{begin:"((?"},{match:"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??",name:"keyword.operator.quantifier.regexp"},{match:"\\|",name:"keyword.operator.or.regexp"},{begin:"(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?))?",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.ts"}},end:"(?]|=[^<]|\\<\\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.ts"},2:{name:"support.type.object.module.ts"},3:{name:"punctuation.accessor.ts"},4:{name:"punctuation.accessor.optional.ts"},5:{name:"support.type.object.module.ts"}},match:"(?\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\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.ts"}]},{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.ts"}},end:"(?=`)",patterns:[{include:"#type-arguments"}]}]},"template-substitution-element":{begin:"\\$\\{",beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.ts"}},contentName:"meta.embedded.line.ts",end:"\\}",endCaptures:{0:{name:"punctuation.definition.template-expression.end.ts"}},name:"meta.template.expression.ts",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.ts"},2:{name:"string.template.ts punctuation.definition.string.template.begin.ts"}},contentName:"string.template.ts",end:"`",endCaptures:{0:{name:"string.template.ts punctuation.definition.string.template.end.ts"}},patterns:[{include:"#template-type-substitution-element"},{include:"#string-character-escape"}]}]},"template-type-substitution-element":{begin:"\\$\\{",beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.ts"}},contentName:"meta.embedded.line.ts",end:"\\}",endCaptures:{0:{name:"punctuation.definition.template-expression.end.ts"}},name:"meta.template.expression.ts",patterns:[{include:"#type"}]},"ternary-expression":{begin:"(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)",beginCaptures:{1:{name:"keyword.operator.ternary.ts"}},end:"\\s*(:)",endCaptures:{1:{name:"keyword.operator.ternary.ts"}},patterns:[{include:"#expression"}]},"this-literal":{match:"(?])|((?<=[\\}>\\]\\)]|[_$A-Za-z])\\s*(?=\\{)))",name:"meta.type.annotation.ts",patterns:[{include:"#type"}]},{begin:"(:)",beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:"(?])|(?=^\\s*$)|((?<=[\\}>\\]\\)]|[_$A-Za-z])\\s*(?=\\{)))",name:"meta.type.annotation.ts",patterns:[{include:"#type"}]}]},"type-arguments":{begin:"\\<",beginCaptures:{0:{name:"punctuation.definition.typeparameters.begin.ts"}},end:"\\>",endCaptures:{0:{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#type-arguments-body"}]},"type-arguments-body":{patterns:[{captures:{0:{name:"keyword.operator.type.ts"}},match:"(?)",patterns:[{include:"#comment"},{include:"#type-parameters"}]},{begin:"(?))))))",end:"(?<=\\))",name:"meta.type.function.ts",patterns:[{include:"#function-parameters"}]}]},"type-function-return-type":{patterns:[{begin:"(=>)(?=\\s*\\S)",beginCaptures:{1:{name:"storage.type.function.arrow.ts"}},end:"(?)(?:\\?]|//|$)",name:"meta.type.function.return.ts",patterns:[{include:"#type-function-return-type-core"}]},{begin:"=>",beginCaptures:{0:{name:"storage.type.function.arrow.ts"}},end:"(?)(?]|//|^\\s*$)|((?<=\\S)(?=\\s*$)))",name:"meta.type.function.return.ts",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.ts"},2:{name:"entity.name.type.ts"},3:{name:"keyword.operator.expression.extends.ts"}},match:"(?)",endCaptures:{1:{name:"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},patterns:[{include:"#type-arguments-body"}]},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(<)",beginCaptures:{1:{name:"entity.name.type.ts"},2:{name:"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"}},contentName:"meta.type.parameters.ts",end:"(>)",endCaptures:{1:{name:"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},patterns:[{include:"#type-arguments-body"}]},{captures:{1:{name:"entity.name.type.module.ts"},2:{name:"punctuation.accessor.ts"},3:{name:"punctuation.accessor.optional.ts"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?:(\\.)|(\\?\\.(?!\\s*[\\d])))"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"entity.name.type.ts"}]},"type-object":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"meta.object.type.ts",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.ts"}},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.ts"}},end:"(?<=\\})",patterns:[{include:"#type-object"}]},{begin:"[&|]",beginCaptures:{0:{name:"keyword.operator.type.ts"}},end:"(?=\\S)"},{match:"(?)",endCaptures:{1:{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#comment"},{match:"(?)",name:"keyword.operator.assignment.ts"}]},"type-paren-or-function-parameters":{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.ts"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.ts"}},name:"meta.type.paren.cover.ts",patterns:[{captures:{1:{name:"storage.modifier.ts"},2:{name:"keyword.operator.rest.ts"},3:{name:"entity.name.function.ts variable.language.this.ts"},4:{name:"entity.name.function.ts"},5:{name:"keyword.operator.optional.ts"}},match:"(?:(?)))))))|(:\\s*(?]|=[^<]|\\<\\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*))))))))"},{captures:{1:{name:"storage.modifier.ts"},2:{name:"keyword.operator.rest.ts"},3:{name:"variable.parameter.ts variable.language.this.ts"},4:{name:"variable.parameter.ts"},5:{name:"keyword.operator.optional.ts"}},match:"(?:(?:&|{\\?]|(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:"(?)))|((async\\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*\\{?$)|((\\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*(((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*(?]|=[^<]|\\<\\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*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\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*\\{?$)|((\\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*(((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.ts variable.other.constant.ts entity.name.function.ts"}},end:"(?=$|^|[;,=}]|((?)))|((async\\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*\\{?$)|((\\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*(((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*(?]|=[^<]|\\<\\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*)))))))|(:\\s*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^<>]*>)|[^<>(),=])+=\\s*(((async\\s+)?((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((async\\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*\\{?$)|((\\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*(((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.ts entity.name.function.ts"},2:{name:"keyword.operator.definiteassignment.ts"}},end:"(?=$|^|[;,=}]|((?\\s*$)",beginCaptures:{1:{name:"keyword.operator.assignment.ts"}},end:"(?=$|^|[,);}\\]]|((?Wsa});var Hsa,Wsa,GNr=N(()=>{Fl();GQ();tZt();HQ();Irt();MU();Wpe();Tu();hDe();bDe();Srt();Trt();rZt();Rrt();wDe();Brt();Drt();kV();Vs();iR();EDe();IDe();oZt();FU();Prt();Nrt();sZt();Lrt();QU();Zpe();YQ();RDe();OU();BDe();nR();aR();Eb();Mrt();Qrt();Jg();Iw();Hsa=Object.freeze({displayName:"AsciiDoc",fileTypes:["ad","asc","adoc","asciidoc","adoc.txt"],name:"asciidoc",patterns:[{include:"#comment"},{include:"#callout-list-item"},{include:"#titles"},{include:"#attribute-entry"},{include:"#blocks"},{include:"#block-title"},{include:"#tables"},{include:"#horizontal-rule"},{include:"#list"},{include:"#inlines"},{include:"#block-attribute"},{include:"#line-break"}],repository:{"admonition-paragraph":{patterns:[{begin:"(?=(?>(?:^\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)((?:,|#|\\.|%)[^\\]]+)*\\]$)))",end:"((?<=--|====)$|^\\p{Blank}*$)",name:"markup.admonition.asciidoc",patterns:[{captures:{0:{patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)((?:,|#|\\.|%)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(={4,})\\s*$",comment:"example block",end:"(?<=\\1)",patterns:[{include:"#inlines"},{include:"#list"}]},{begin:"^(-{2})\\s*$",comment:"open block",end:"(?<=\\1)",patterns:[{include:"#inlines"},{include:"#list"}]}]},{begin:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\\:\\p{Blank}+",captures:{1:{name:"entity.name.function.asciidoc"}},end:"^\\p{Blank}*$",name:"markup.admonition.asciidoc",patterns:[{include:"#inlines"}]}]},"anchor-macro":{patterns:[{captures:{1:{name:"support.constant.asciidoc"},2:{name:"markup.blockid.asciidoc"},3:{name:"string.unquoted.asciidoc"},4:{name:"support.constant.asciidoc"}},match:"(?)(?=(?: ?)*$)",name:"callout.source.code.asciidoc"}]},"block-title":{patterns:[{begin:"^\\.([^\\p{Blank}.].*)",captures:{1:{name:"markup.heading.blocktitle.asciidoc"}},end:"$"}]},blocks:{patterns:[{include:"#front-matter-block"},{include:"#comment-paragraph"},{include:"#admonition-paragraph"},{include:"#quote-paragraph"},{include:"#listing-paragraph"},{include:"#source-paragraphs"},{include:"#passthrough-paragraph"},{include:"#example-paragraph"},{include:"#sidebar-paragraph"},{include:"#literal-paragraph"},{include:"#open-block"}]},"callout-list-item":{patterns:[{captures:{1:{name:"constant.other.symbol.asciidoc"},2:{name:"constant.numeric.asciidoc"},3:{name:"constant.other.symbol.asciidoc"},4:{patterns:[{include:"#inlines"}]}},match:"^(<)(\\d+)(>)\\p{Blank}+(.*)$",name:"callout.asciidoc"}]},characters:{patterns:[{captures:{1:{name:"constant.character.asciidoc"},3:{name:"constant.character.asciidoc"}},match:"(?(?:^\\[(comment)((?:,|#|\\.|%)[^\\]]+)*\\]$)))",end:"((?<=--)$|^\\p{Blank}*$)",name:"comment.block.asciidoc",patterns:[{captures:{0:{patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(comment)((?:,|#|\\.|%)([^,\\]]+))*\\]$"},{include:"#block-title"},{begin:"^(-{2})\\s*$",comment:"open block",end:"^(\\1)$",patterns:[{include:"#inlines"},{include:"#list"}]},{include:"#inlines"}]}]},emphasis:{patterns:[{captures:{1:{name:"markup.meta.attribute-list.asciidoc"},2:{name:"markup.italic.asciidoc"},3:{name:"punctuation.definition.asciidoc"},5:{name:"punctuation.definition.asciidoc"}},match:"(?(?:^\\[(example)((?:,|#|\\.|%)[^\\]]+)*\\]$)))",end:"((?<=--|====)$|^\\p{Blank}*$)",name:"markup.block.example.asciidoc",patterns:[{captures:{0:{patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(example)((?:,|#|\\.|%)([^,\\]]+))*\\]$"},{include:"#block-title"},{begin:"^(={4,})$",comment:"example block",end:"^(\\1)$",patterns:[{include:"$self"}]},{begin:"^(-{2})$",comment:"open block",end:"^(\\1)$",patterns:[{include:"$self"}]},{include:"#inlines"}]},{begin:"^(={4,})$",end:"^(\\1)$",name:"markup.block.example.asciidoc",patterns:[{include:"$self"}]}]},"footnote-macro":{patterns:[{begin:"(?\\(\\)\\[\\];])((?\\(\\)\\[\\];])((?(?:^\\[(listing)((?:,|#|\\.|%)[^\\]]+)*\\]$)))",end:"((?<=--)$|^\\p{Blank}*$)",name:"markup.block.listing.asciidoc",patterns:[{captures:{0:{patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(listing)((?:,|#|\\.|%)([^,\\]]+))*\\]$"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",end:"^(\\1)$"},{begin:"^(-{2})\\s*$",comment:"open block",end:"^(\\1)$"},{include:"#inlines"}]}]},"literal-paragraph":{patterns:[{begin:"(?=(?>(?:^\\[(literal)((?:,|#|\\.|%)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.)$|^\\p{Blank}*$)",name:"markup.block.literal.asciidoc",patterns:[{captures:{0:{patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(literal)((?:,|#|\\.|%)([^,\\]]+))*\\]$"},{include:"#block-title"},{begin:"^(\\.{4,})$",comment:"literal block",end:"^(\\1)$"},{begin:"^(-{2})\\s*$",comment:"open block",end:"^(\\1)$"},{include:"#inlines"}]},{begin:"^(\\.{4,})$",end:"^(\\1)$",name:"markup.block.literal.asciidoc"}]},mark:{patterns:[{captures:{1:{name:"markup.meta.attribute-list.asciidoc"},2:{name:"markup.mark.asciidoc"},3:{name:"punctuation.definition.asciidoc"},5:{name:"punctuation.definition.asciidoc"}},match:"(?\\+{2,3}|\\${2})(.*?)(\\k)",name:"markup.macro.inline.passthrough.asciidoc"},{begin:"(?(?:^\\[(pass)((?:,|#|\\.|%)[^\\]]+)*\\]$)))",end:"((?<=--|\\+\\+)$|^\\p{Blank}*$)",name:"markup.block.passthrough.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(pass)((?:,|#|\\.|%)([^,\\]]+))*\\]$"},{include:"#block-title"},{begin:"^(\\+{4,})\\s*$",comment:"passthrough block",end:"(?<=\\1)",patterns:[{include:"text.html.basic"}]},{begin:"^(-{2})\\s*$",comment:"open block",end:"(?<=\\1)",patterns:[{include:"text.html.basic"}]}]},{begin:"(^\\+{4,}$)",end:"\\1",name:"markup.block.passthrough.asciidoc",patterns:[{include:"text.html.basic"}]}]},"quote-paragraph":{patterns:[{begin:"(?=(?>(?:^\\[(quote|verse)((?:,|#|\\.|%)([^,\\]]+))*\\]$)))",end:'((?<=____|""|--)$|^\\p{Blank}*$)',name:"markup.italic.quotes.asciidoc",patterns:[{captures:{0:{patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(quote|verse)((?:,|#|\\.|%)([^,\\]]+))*\\]$"},{include:"#block-title"},{include:"#inlines"},{begin:"^([_]{4,})\\s*$",comment:"quotes block",end:"(?<=\\1)",patterns:[{include:"#inlines"},{include:"#list"}]},{begin:'^("{2})\\s*$',comment:"air quotes",end:"(?<=\\1)",patterns:[{include:"#inlines"},{include:"#list"}]},{begin:"^(-{2})\\s*$",comment:"open block",end:"(?<=\\1)$",patterns:[{include:"#inlines"},{include:"#list"}]}]},{begin:'^("")$',end:"^\\1$",name:"markup.italic.quotes.asciidoc",patterns:[{include:"#inlines"},{include:"#list"}]},{begin:"^\\p{Blank}*(>) ",end:"^\\p{Blank}*?$",name:"markup.italic.quotes.asciidoc",patterns:[{include:"#inlines"},{include:"#list"}]}]},"sidebar-paragraph":{patterns:[{begin:"(?=(?>(?:^\\[(sidebar)((?:,|#|\\.|%)[^\\]]+)*\\]$)))",end:"((?<=--|\\*\\*\\*\\*)$|^\\p{Blank}*$)",name:"markup.block.sidebar.asciidoc",patterns:[{captures:{0:{patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(sidebar)((?:,|#|\\.|%)([^,\\]]+))*\\]$"},{include:"#block-title"},{begin:"^(\\*{4,})$",comment:"sidebar block",end:"^(\\1)$",patterns:[{include:"$self"}]},{begin:"^(-{2})$",comment:"open block",end:"^(\\1)$",patterns:[{include:"$self"}]},{include:"#inlines"}]},{begin:"^(\\*{4,})$",end:"^(\\1)$",name:"markup.block.sidebar.asciidoc",patterns:[{include:"$self"}]}]},"source-asciidoctor":{patterns:[{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(c))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.c.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(c))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.c",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.c"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.c",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.c"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.c",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.c"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(clojure))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.clojure.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(clojure))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.clojure",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.clojure"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.clojure",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.clojure"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.clojure",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.clojure"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(coffee-?(script)?))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.coffee.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(coffee-?(script)?))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.coffee",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.coffee"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.coffee",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.coffee"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.coffee",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.coffee"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(c(pp|\\+\\+)))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.cpp.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(c(pp|\\+\\+)))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.cpp",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.cpp"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.cpp",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.cpp"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.cpp",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.cpp"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(css))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.css.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(css))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.css",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.css"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.css",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.css"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.css",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.css"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(cs(harp)?))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.cs.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(cs(harp)?))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.cs",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.cs"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.cs",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.cs"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.cs",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.cs"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(diff|patch|rej))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.diff.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(diff|patch|rej))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.diff",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.diff"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.diff",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.diff"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.diff",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.diff"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(docker(file)?))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.dockerfile.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(docker(file)?))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.dockerfile",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.dockerfile"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.dockerfile",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.dockerfile"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.dockerfile",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.dockerfile"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(elixir))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.elixir.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(elixir))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.elixir",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.elixir"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.elixir",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.elixir"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.elixir",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.elixir"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(elm))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.elm.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(elm))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.elm",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.elm"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.elm",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.elm"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.elm",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.elm"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(erlang))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.erlang.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(erlang))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.erlang",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.erlang"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.erlang",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.erlang"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.erlang",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.erlang"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(go(lang)?))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.go.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(go(lang)?))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.go",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.go"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.go",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.go"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.go",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.go"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(groovy))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.groovy.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(groovy))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.groovy",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.groovy"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.groovy",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.groovy"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.groovy",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.groovy"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(haskell))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.haskell.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(haskell))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.haskell",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.haskell"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.haskell",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.haskell"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.haskell",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.haskell"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(html))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.html.basic.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(html))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"text.embedded.html.basic",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.html.basic"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"text.embedded.html.basic",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.html.basic"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"text.embedded.html.basic",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.html.basic"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(java))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.java.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(java))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.java",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.java"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.java",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.java"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.java",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.java"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(javascript|js))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.js.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(javascript|js))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.js",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.js"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.js",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.js"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.js",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.js"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(json))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.json.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(json))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.json",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.json"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.json",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.json"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.json",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.json"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(jsx))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.js.jsx.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(jsx))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.js.jsx",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.js.jsx"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.js.jsx",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.js.jsx"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.js.jsx",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.js.jsx"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(julia))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.julia.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(julia))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.julia",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.julia"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.julia",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.julia"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.julia",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.julia"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(kotlin|kts?))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.kotlin.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(kotlin|kts?))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.kotlin",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.kotlin"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.kotlin",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.kotlin"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.kotlin",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.kotlin"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(less))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.css.less.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(less))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.css.less",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.css.less"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.css.less",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.css.less"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.css.less",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.css.less"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(make(file)?))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.makefile.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(make(file)?))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.makefile",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.makefile"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.makefile",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.makefile"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.makefile",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.makefile"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(markdown|mdown|md))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.gfm.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(markdown|mdown|md))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.gfm",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.gfm"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.gfm",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.gfm"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.gfm",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.gfm"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(mustache))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.html.mustache.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(mustache))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"text.embedded.html.mustache",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.html.mustache"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"text.embedded.html.mustache",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.html.mustache"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"text.embedded.html.mustache",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.html.mustache"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(objc|objective-c))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.objc.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(objc|objective-c))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.objc",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.objc"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.objc",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.objc"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.objc",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.objc"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(ocaml))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.ocaml.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(ocaml))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.ocaml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.ocaml"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.ocaml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.ocaml"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.ocaml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.ocaml"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(perl))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.perl.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(perl))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.perl",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.perl"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.perl",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.perl"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.perl",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.perl"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(perl6))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.perl6.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(perl6))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.perl6",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.perl6"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.perl6",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.perl6"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.perl6",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.perl6"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(php))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.html.php.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(php))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"text.embedded.html.php",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.html.php"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"text.embedded.html.php",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.html.php"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"text.embedded.html.php",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.html.php"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(properties))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.asciidoc.properties.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(properties))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.asciidoc.properties",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.asciidoc.properties"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.asciidoc.properties",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.asciidoc.properties"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.asciidoc.properties",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.asciidoc.properties"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(py(thon)?))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.python.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(py(thon)?))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.python",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.python"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.python",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.python"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.python",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.python"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(r))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.r.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(r))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.r",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.r"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.r",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.r"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.r",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.r"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(ruby|rb))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.ruby.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(ruby|rb))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.ruby",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.ruby"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.ruby",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.ruby"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.ruby",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.ruby"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(rust|rs))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.rust.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(rust|rs))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.rust",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.rust"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.rust",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.rust"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.rust",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.rust"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(sass))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.sass.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(sass))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.sass",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.sass"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.sass",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.sass"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.sass",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.sass"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(scala))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.scala.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(scala))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.scala",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.scala"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.scala",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.scala"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.scala",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.scala"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(scss))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.css.scss.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(scss))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.css.scss",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.css.scss"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.css.scss",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.css.scss"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.css.scss",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.css.scss"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(sh|bash|shell))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.shell.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(sh|bash|shell))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.shell",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.shell"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.shell",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.shell"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.shell",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.shell"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(sql))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.sql.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(sql))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.sql",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.sql"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.sql",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.sql"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.sql",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.sql"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(swift))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.swift.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(swift))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.swift",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.swift"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.swift",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.swift"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.swift",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.swift"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(toml))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.toml.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(toml))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.toml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.toml"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.toml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.toml"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.toml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.toml"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(typescript|ts))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.ts.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(typescript|ts))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.ts",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.ts"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.ts",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.ts"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.ts",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.ts"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(xml))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.xml.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(xml))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"text.embedded.xml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.xml"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"text.embedded.xml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.xml"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"text.embedded.xml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"text.xml"}]}]},{begin:"(?=(?>(?:^\\[(source)(?:,|#)\\p{Blank}*(?i:(ya?ml))((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",name:"markup.code.yaml.asciidoc",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)(?:,|#)\\p{Blank}*(?i:(ya?ml))((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",contentName:"source.embedded.yaml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.yaml"}]},{begin:"^(-{2})\\s*$",comment:"open block",contentName:"source.embedded.yaml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.yaml"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",contentName:"source.embedded.yaml",end:"^(\\1)$",patterns:[{include:"#block-callout"},{include:"#include-directive"},{include:"source.yaml"}]}]},{begin:"(?=(?>(?:^\\[(source)((?:,|#)[^\\]]+)*\\]$)))",end:"((?<=--|\\.\\.\\.\\.)$|^\\p{Blank}*$)",patterns:[{captures:{0:{name:"markup.heading.asciidoc",patterns:[{include:"#block-attribute-inner"}]}},match:"^\\[(source)((?:,|#)([^,\\]]+))*\\]$"},{include:"#inlines"},{include:"#block-title"},{begin:"^(-{4,})\\s*$",comment:"listing block",end:"^(\\1)$",name:"markup.raw.asciidoc",patterns:[{include:"#block-callout"},{include:"#include-directive"}]},{begin:"^(-{2})\\s*$",comment:"open block",end:"^(\\1)$",name:"markup.raw.asciidoc",patterns:[{include:"#block-callout"},{include:"#include-directive"}]},{begin:"^(\\.{4})\\s*$",comment:"literal block",end:"^(\\1)$",name:"markup.raw.asciidoc",patterns:[{include:"#block-callout"},{include:"#include-directive"}]}]},{begin:"^(-{4,})\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},end:"^(\\1)$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.raw.asciidoc",patterns:[{include:"#block-callout"},{include:"#include-directive"}]}]},"source-markdown":{patterns:[{begin:"^\\s*(`{3,})\\s*(?i:(c))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.c",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.c.asciidoc",patterns:[{include:"#block-callout"},{include:"source.c"}]},{begin:"^\\s*(`{3,})\\s*(?i:(clojure))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.clojure",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.clojure.asciidoc",patterns:[{include:"#block-callout"},{include:"source.clojure"}]},{begin:"^\\s*(`{3,})\\s*(?i:(coffee-?(script)?))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.coffee",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.coffee.asciidoc",patterns:[{include:"#block-callout"},{include:"source.coffee"}]},{begin:"^\\s*(`{3,})\\s*(?i:(c(pp|\\+\\+)))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.cpp",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.cpp.asciidoc",patterns:[{include:"#block-callout"},{include:"source.cpp"}]},{begin:"^\\s*(`{3,})\\s*(?i:(css))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.css",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.css.asciidoc",patterns:[{include:"#block-callout"},{include:"source.css"}]},{begin:"^\\s*(`{3,})\\s*(?i:(cs(harp)?))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.cs",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.cs.asciidoc",patterns:[{include:"#block-callout"},{include:"source.cs"}]},{begin:"^\\s*(`{3,})\\s*(?i:(diff|patch|rej))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.diff",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.diff.asciidoc",patterns:[{include:"#block-callout"},{include:"source.diff"}]},{begin:"^\\s*(`{3,})\\s*(?i:(docker(file)?))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.dockerfile",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.dockerfile.asciidoc",patterns:[{include:"#block-callout"},{include:"source.dockerfile"}]},{begin:"^\\s*(`{3,})\\s*(?i:(elixir))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.elixir",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.elixir.asciidoc",patterns:[{include:"#block-callout"},{include:"source.elixir"}]},{begin:"^\\s*(`{3,})\\s*(?i:(elm))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.elm",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.elm.asciidoc",patterns:[{include:"#block-callout"},{include:"source.elm"}]},{begin:"^\\s*(`{3,})\\s*(?i:(erlang))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.erlang",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.erlang.asciidoc",patterns:[{include:"#block-callout"},{include:"source.erlang"}]},{begin:"^\\s*(`{3,})\\s*(?i:(go(lang)?))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.go",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.go.asciidoc",patterns:[{include:"#block-callout"},{include:"source.go"}]},{begin:"^\\s*(`{3,})\\s*(?i:(groovy))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.groovy",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.groovy.asciidoc",patterns:[{include:"#block-callout"},{include:"source.groovy"}]},{begin:"^\\s*(`{3,})\\s*(?i:(haskell))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.haskell",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.haskell.asciidoc",patterns:[{include:"#block-callout"},{include:"source.haskell"}]},{begin:"^\\s*(`{3,})\\s*(?i:(html))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"text.embedded.html.basic",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.html.basic.asciidoc",patterns:[{include:"#block-callout"},{include:"text.html.basic"}]},{begin:"^\\s*(`{3,})\\s*(?i:(java))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.java",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.java.asciidoc",patterns:[{include:"#block-callout"},{include:"source.java"}]},{begin:"^\\s*(`{3,})\\s*(?i:(javascript|js))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.js",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.js.asciidoc",patterns:[{include:"#block-callout"},{include:"source.js"}]},{begin:"^\\s*(`{3,})\\s*(?i:(json))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.json",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.json.asciidoc",patterns:[{include:"#block-callout"},{include:"source.json"}]},{begin:"^\\s*(`{3,})\\s*(?i:(jsx))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.js.jsx",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.js.jsx.asciidoc",patterns:[{include:"#block-callout"},{include:"source.js.jsx"}]},{begin:"^\\s*(`{3,})\\s*(?i:(julia))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.julia",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.julia.asciidoc",patterns:[{include:"#block-callout"},{include:"source.julia"}]},{begin:"^\\s*(`{3,})\\s*(?i:(kotlin|kts?))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.kotlin",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.kotlin.asciidoc",patterns:[{include:"#block-callout"},{include:"source.kotlin"}]},{begin:"^\\s*(`{3,})\\s*(?i:(less))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.css.less",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.css.less.asciidoc",patterns:[{include:"#block-callout"},{include:"source.css.less"}]},{begin:"^\\s*(`{3,})\\s*(?i:(make(file)?))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.makefile",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.makefile.asciidoc",patterns:[{include:"#block-callout"},{include:"source.makefile"}]},{begin:"^\\s*(`{3,})\\s*(?i:(markdown|mdown|md))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.gfm",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.gfm.asciidoc",patterns:[{include:"#block-callout"},{include:"source.gfm"}]},{begin:"^\\s*(`{3,})\\s*(?i:(mustache))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"text.embedded.html.mustache",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.html.mustache.asciidoc",patterns:[{include:"#block-callout"},{include:"text.html.mustache"}]},{begin:"^\\s*(`{3,})\\s*(?i:(objc|objective-c))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.objc",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.objc.asciidoc",patterns:[{include:"#block-callout"},{include:"source.objc"}]},{begin:"^\\s*(`{3,})\\s*(?i:(ocaml))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.ocaml",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.ocaml.asciidoc",patterns:[{include:"#block-callout"},{include:"source.ocaml"}]},{begin:"^\\s*(`{3,})\\s*(?i:(perl))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.perl",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.perl.asciidoc",patterns:[{include:"#block-callout"},{include:"source.perl"}]},{begin:"^\\s*(`{3,})\\s*(?i:(perl6))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.perl6",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.perl6.asciidoc",patterns:[{include:"#block-callout"},{include:"source.perl6"}]},{begin:"^\\s*(`{3,})\\s*(?i:(php))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"text.embedded.html.php",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.html.php.asciidoc",patterns:[{include:"#block-callout"},{include:"text.html.php"}]},{begin:"^\\s*(`{3,})\\s*(?i:(properties))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.asciidoc.properties",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.asciidoc.properties.asciidoc",patterns:[{include:"#block-callout"},{include:"source.asciidoc.properties"}]},{begin:"^\\s*(`{3,})\\s*(?i:(py(thon)?))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.python",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.python.asciidoc",patterns:[{include:"#block-callout"},{include:"source.python"}]},{begin:"^\\s*(`{3,})\\s*(?i:(r))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.r",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.r.asciidoc",patterns:[{include:"#block-callout"},{include:"source.r"}]},{begin:"^\\s*(`{3,})\\s*(?i:(ruby|rb))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.ruby",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.ruby.asciidoc",patterns:[{include:"#block-callout"},{include:"source.ruby"}]},{begin:"^\\s*(`{3,})\\s*(?i:(rust|rs))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.rust",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.rust.asciidoc",patterns:[{include:"#block-callout"},{include:"source.rust"}]},{begin:"^\\s*(`{3,})\\s*(?i:(sass))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.sass",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.sass.asciidoc",patterns:[{include:"#block-callout"},{include:"source.sass"}]},{begin:"^\\s*(`{3,})\\s*(?i:(scala))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.scala",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.scala.asciidoc",patterns:[{include:"#block-callout"},{include:"source.scala"}]},{begin:"^\\s*(`{3,})\\s*(?i:(scss))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.css.scss",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.css.scss.asciidoc",patterns:[{include:"#block-callout"},{include:"source.css.scss"}]},{begin:"^\\s*(`{3,})\\s*(?i:(sh|bash|shell))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.shell",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.shell.asciidoc",patterns:[{include:"#block-callout"},{include:"source.shell"}]},{begin:"^\\s*(`{3,})\\s*(?i:(sql))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.sql",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.sql.asciidoc",patterns:[{include:"#block-callout"},{include:"source.sql"}]},{begin:"^\\s*(`{3,})\\s*(?i:(swift))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.swift",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.swift.asciidoc",patterns:[{include:"#block-callout"},{include:"source.swift"}]},{begin:"^\\s*(`{3,})\\s*(?i:(toml))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.toml",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.toml.asciidoc",patterns:[{include:"#block-callout"},{include:"source.toml"}]},{begin:"^\\s*(`{3,})\\s*(?i:(typescript|ts))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.ts",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.ts.asciidoc",patterns:[{include:"#block-callout"},{include:"source.ts"}]},{begin:"^\\s*(`{3,})\\s*(?i:(xml))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"text.embedded.xml",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.xml.asciidoc",patterns:[{include:"#block-callout"},{include:"text.xml"}]},{begin:"^\\s*(`{3,})\\s*(?i:(ya?ml))\\s*$",beginCaptures:{0:{name:"support.asciidoc"}},contentName:"source.embedded.yaml",end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.code.yaml.asciidoc",patterns:[{include:"#block-callout"},{include:"source.yaml"}]},{begin:"^\\s*(`{3,}).*$",beginCaptures:{0:{name:"support.asciidoc"}},end:"^\\s*\\1\\s*$",endCaptures:{0:{name:"support.asciidoc"}},name:"markup.raw.asciidoc",patterns:[{include:"#block-callout"}]}]},"source-paragraphs":{patterns:[{include:"#source-asciidoctor"},{include:"#source-markdown"}]},"stem-macro":{patterns:[{begin:"(?>))',name:"markup.reference.xref.asciidoc"},{begin:'(?Vsa});var Zsa,Vsa,WNr=N(()=>{Zsa=Object.freeze({displayName:"Assembly",fileTypes:["asm","nasm","yasm","inc","s"],name:"asm",patterns:[{include:"#registers"},{include:"#mnemonics"},{include:"#constants"},{include:"#entities"},{include:"#support"},{include:"#comments"},{include:"#preprocessor"},{include:"#strings"}],repository:{comments:{patterns:[{match:"(;|(^|\\s)#\\s).*$",name:"comment.line"},{begin:"/\\*",end:"\\*/",name:"comment.block"},{begin:"^\\s*[\\#%]\\s*if\\s+0\\b",end:"^\\s*[\\#%]\\s*endif\\b",name:"comment.preprocessor"}]},constants:{patterns:[{match:"(?i)\\b0[by](?:[01][01_]*)\\.(?:(?:[01][01_]*)?(?:p[+-]?(?:\\d[0-9_]*))?\\b)?",name:"constant.numeric.binary.floating-point.asm.x86_64"},{match:"(?i)\\b0[by](?:[01][01_]*)(?:p[+-]?(?:\\d[0-9_]*))\\b",name:"constant.numeric.binary.floating-point.asm.x86_64"},{match:"(?i)\\b0[oq](?:[0-7][0-7_]*)\\.(?:(?:[0-7][0-7_]*)?(?:p[+-]?(?:\\d[0-9_]*))?\\b)?",name:"constant.numeric.octal.floating-point.asm.x86_64"},{match:"(?i)\\b0[oq](?:[0-7][0-7_]*)(?:p[+-]?(?:\\d[0-9_]*))\\b",name:"constant.numeric.octal.floating-point.asm.x86_64"},{match:"(?i)\\b(?:0[dt])?(?:\\d[0-9_]*)\\.(?:(?:\\d[0-9_]*)?(?:e[+-]?(?:\\d[0-9_]*))?\\b)?",name:"constant.numeric.decimal.floating-point.asm.x86_64"},{match:"(?i)\\b(?:\\d[0-9_]*)(?:e[+-]?(?:\\d[0-9_]*))\\b",name:"constant.numeric.decimal.floating-point.asm.x86_64"},{match:"(?i)\\b(?:\\d[0-9_]*)p(?:\\d[0-9_]*)?\\b",name:"constant.numeric.decimal.packed-bcd.asm.x86_64"},{match:"(?i)\\b0[xh](?:[0-9A-Fa-f][0-9A-Fa-f_]*)\\.(?:(?:[0-9A-Fa-f][0-9A-Fa-f_]*)?(?:p[+-]?(?:\\d[0-9_]*))?\\b)?",name:"constant.numeric.hex.floating-point.asm.x86_64"},{match:"(?i)\\b0[xh](?:[0-9A-Fa-f][0-9A-Fa-f_]*)(?:p[+-]?(?:\\d[0-9_]*))\\b",name:"constant.numeric.hex.floating-point.asm.x86_64"},{match:"(?i)\\$\\d\\_?(?:[0-9A-Fa-f][0-9A-Fa-f_]*)?\\.(?:(?:[0-9A-Fa-f][0-9A-Fa-f_]*)?(?:p[+-]?(?:\\d[0-9_]*))?\\b)?",name:"constant.numeric.hex.floating-point.asm.x86_64"},{match:"(?i)\\$\\d\\_?(?:[0-9A-Fa-f][0-9A-Fa-f_]*)(?:p[+-]?(?:\\d[0-9_]*))\\b",name:"constant.numeric.hex.floating-point.asm.x86_64"},{match:"(?i)\\b(?:(?:0[by](?:[01][01_]*))|(?:(?:[01][01_]*)[by]))\\b",name:"constant.numeric.binary.asm.x86_64"},{match:"(?i)\\b(?:(?:0[oq](?:[0-7][0-7_]*))|(?:(?:[0-7][0-7_]*)[oq]))\\b",name:"constant.numeric.octal.asm.x86_64"},{match:"(?i)\\b(?:(?:0[dt](?:\\d[0-9_]*))|(?:(?:\\d[0-9_]*)[dt]?))\\b",name:"constant.numeric.decimal.asm.x86_64"},{match:"(?i)(?:\\$\\d\\_?(?:[0-9A-Fa-f][0-9A-Fa-f_]*)?)\\b",name:"constant.numeric.hex.asm.x86_64"},{match:"(?i)\\b(?:(?:0[xh](?:[0-9A-Fa-f][0-9A-Fa-f_]*))|(?:(?:[0-9A-Fa-f][0-9A-Fa-f_]*)[hxHX]))\\b",name:"constant.numeric.hex.asm.x86_64"}]},entities:{patterns:[{match:"((section|segment)\\s+)?\\.((ro)?data|bss|text)",name:"entity.name.section"},{match:"^\\.?(globa?l|extern|required)\\b",name:"entity.directive"},{match:"(\\$\\w+)\\b",name:"text.variable"},{captures:{1:{name:"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64"},2:{name:"entity.name.function.special.asm.x86_64"},3:{name:"punctuation.separator.asm.x86_64"}},match:"(\\.\\.@)((?:[A-Za-z_?](?:[0-9A-Za-z_$#@~.?]*)))(?:(\\:)?|\\b)",name:"entity.name.function.asm.x86_64"},{captures:{1:{name:"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64"},2:{name:"entity.name.function.asm.x86_64"},3:{name:"punctuation.separator.asm.x86_64"}},match:"(?:(\\.)?|\\b)((?:[A-Za-z_?](?:[0-9A-Za-z_$#@~.?]*)))(?:(\\:))",name:"entity.name.function.asm.x86_64"},{captures:{1:{name:"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64"},2:{name:"entity.name.function.asm.x86_64"},3:{name:"punctuation.separator.asm.x86_64"}},match:"(\\.)(\\d+(?:[0-9A-Za-z_$#@~.?]*))(?:(\\:)?|\\b)",name:"entity.name.function.asm.x86_64"},{captures:{1:{name:"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64"},2:{name:"invalid.illegal.entity.name.function.asm.x86_64"},3:{name:"punctuation.separator.asm.x86_64"}},match:"(?:(\\.)?|\\b)([0-9$@~](?:[0-9A-Za-z_$#@~.?]*))(?:(\\:))",name:"invalid.illegal.entity.name.function.asm.x86_64"}]},mnemonics:{patterns:[{include:"#mnemonics-general-purpose"},{include:"#mnemonics-fpu"},{include:"#mnemonics-mmx"},{include:"#mnemonics-sse"},{include:"#mnemonics-sse2"},{include:"#mnemonics-sse3"},{include:"#mnemonics-sse4"},{include:"#mnemonics-aesni"},{include:"#mnemonics-avx"},{include:"#mnemonics-avx2"},{include:"#mnemonics-tsx"},{include:"#mnemonics-sha"},{include:"#mnemonics-avx512"},{include:"#mnemonics-system"},{include:"#mnemonics-64bit"},{include:"#mnemonics-vmx"},{include:"#mnemonics-smx"},{include:"#mnemonics-mpx"},{include:"#mnemonics-sgx"},{include:"#mnemonics-cet"},{include:"#mnemonics-amx"},{include:"#mnemonics-uirq"},{include:"#mnemonics-esi"},{include:"#mnemonics-intel-manual-listing"},{include:"#mnemonics-intel-isa-xeon-phi"},{include:"#mnemonics-intel-isa-keylocker"},{include:"#mnemonics-supplemental-amd"},{include:"#mnemonics-supplemental-cyrix"},{include:"#mnemonics-supplemental-via"},{include:"#mnemonics-undocumented"},{include:"#mnemonics-future-intel"},{include:"#mnemonics-pseudo-ops"}]},"mnemonics-64bit":{patterns:[{match:"(?i)\\b(cdqe|cqo|(cmp|lod|mov|sto)sq|cmpxchg16b|mov(ntq|sxd)|scasq|swapgs|sys(call|ret))\\b",name:"keyword.operator.word.mnemonic.64-bit-mode"}]},"mnemonics-aesni":{patterns:[{match:"(?i)\\b(aes((dec|enc)(last)?|imc|keygenassist)|pclmulqdq)\\b",name:"keyword.operator.word.mnemonic.aesni"}]},"mnemonics-amx":{patterns:[{match:"(?i)\\b((ld|st)tilecfg|tdpb(f16ps|[su]{2}d)|tile(loadd(t1)?|release|stored|zero))\\b",name:"keyword.operator.word.mnemonic.amx"}]},"mnemonics-avx":{patterns:[{match:"(?i)\\b(v((test|permil|maskmov)p[ds]|zero(all|upper)|(perm2|insert|extract|broadcast)f128|broadcasts[ds]))\\b",name:"keyword.operator.word.mnemonic.avx"},{match:"(?i)\\b(vaes((dec|enc)(last)?|imc|keygenassist)|vpclmulqdq)\\b",name:"keyword.operator.word.mnemonic.avx.promoted.aes"},{match:"(?i)\\b(v((cmp[ps]|u?comis)[ds]|pcmp([ei]str[im]|(eq|gt)[bdqw])))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.comparison"},{match:"(?i)\\b(v(cvt(dq2pd|dq2ps|pd2ps|ps2pd|sd2ss|si2sd|si2ss|ss2sd|t?(pd2dq|ps2dq|sd2si|ss2si))))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.conversion"},{match:"(?i)\\b(vh((add|sub)p[ds])|vph((add|sub)([dw]|sw)|minposuw))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.horizontal-packed-arithmetic"},{match:"(?i)\\b(v((andn?|x?or)p[ds]))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.logical"},{match:"(?i)\\b(v(mov(([ahl]|msk|nt|u)p[ds]|(hl|lh)ps|s([ds]|[hl]dup)|q)))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.mov"},{match:"(?i)\\b(v((add|div|mul|sub|max|min|round|sqrt)[ps][ds]|(addsub|dp)p[ds]|(rcp|rsqrt)[ps]s))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.packed-arithmetic"},{match:"(?i)\\b(v(pack[su]s(dw|wb)|punpck[hl](bw|dq|wd|qdq)|unpck[hl]p[ds]))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.packed-conversion"},{match:"(?i)\\b(vp(shuf([bd]|[hl]w))|vshufp[ds])\\b",name:"keyword.operator.word.mnemonic.avx.promoted.packed-shuffle"},{match:"(?i)\\b(vp((abs|sign|(max|min)[su])[bdw]|(add|sub)([bdqw]|u?s[bw])|avg[bw]|extr[bdqw]|madd(wd|ubsw)|mul(hu?w|hrsw|l[dw]|u?dq)|sadbw))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.supplemental.arithmetic"},{match:"(?i)\\b(vp(andn?|x?or))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.supplemental.logical"},{match:"(?i)\\b(vpblend(vb|w))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.supplemental.blending"},{match:"(?i)\\b(vpmov(mskb|[sz]x(b[dqw]|w[dq]|dq)))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.supplemental.mov"},{match:"(?i)\\b(vp(insr[bdqw]|sll(dq|[dqw])|srl(dq)))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.simd-integer"},{match:"(?i)\\b(vp(sra[dwq]|srl[dqw]))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.shift-and-rotate"},{match:"(?i)\\b(vblendv?p[ds])\\b",name:"keyword.operator.word.mnemonic.avx.promoted.packed-blending"},{match:"(?i)\\b(vp(test|alignr))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.packed-other"},{match:"(?i)\\b(vmov(d(dup|qa|qu)?))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.simd-integer.mov"},{match:"(?i)\\b(v((extract|insert)ps|lddqu|(ld|st)mxcsr|mpsadbw))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.other"},{match:"(?i)\\b(v(maskmovdqu|movntdqa?))\\b",name:"keyword.operator.word.mnemonic.avx.promoted.cacheability-control"},{match:"(?i)\\b(vcvt(ph2ps|ps2ph))\\b",name:"keyword.operator.word.mnemonic.16-bit-floating-point-conversion"},{match:"(?i)\\b(vfn?m((add|sub)(132|213|231)[ps][ds])|vfm((addsub|subadd)(132|213|231)p[ds]))\\b",name:"keyword.operator.word.mnemonic.fma"}]},"mnemonics-avx2":{patterns:[{match:"(?i)\\b(v((broadcast|extract|insert|perm2)i128|pmaskmov[dq]|perm([dsq]|p[sd])))\\b",name:"keyword.operator.word.mnemonic.avx2.promoted.simd"},{match:"(?i)\\b(vpbroadcast[bdqw])\\b",name:"keyword.operator.word.mnemonic.avx2.promoted.packed"},{match:"(?i)\\b(vp(blendd|s[lr]lv[dq]|sravd))\\b",name:"keyword.operator.word.mnemonic.avx2.blend"},{match:"(?i)\\b(vp?gather[dq][dq]|vgather([dq]|dq)p[ds])\\b",name:"keyword.operator.word.mnemonic.avx2.gather"}]},"mnemonics-avx512":{patterns:[{include:"#mnemonics-avx512f"},{include:"#mnemonics-avx512dq"},{include:"#mnemonics-avx512bw"},{include:"#mnemonics-avx512-opmask"},{include:"#mnemonics-avx512er"},{include:"#mnemonics-avx512pf"},{include:"#mnemonics-avx512fp16"}]},"mnemonics-avx512-opmask":{patterns:[{match:"(?i)\\bk(add|andn?|mov|not|or(test)?|shift[lr]|test|xn?or)[bdqw]\\b",name:"keyword.operator.word.mnemonic.avx512.opmask"},{match:"(?i)\\bkunpck(bw|wd|dq)\\b",name:"keyword.operator.word.mnemonic.avx512.opmask.unpack"}]},"mnemonics-avx512bw":{patterns:[{match:"(?i)\\bv(dbpsadbw|movdqu(8|16))\\b",name:"keyword.operator.word.mnemonic.avx512.bw.dbpsad"},{match:"(?i)\\bvp(blendm|cmpu?|movm2)[bw]\\b",name:"keyword.operator.word.mnemonic.avx512.bw.pblend"},{match:"(?i)\\bvperm(w|i2[bw])\\b",name:"keyword.operator.word.mnemonic.avx512.bw.perpmi2"},{match:"(?i)\\bvp(mov([bw]2m|u?swb))\\b",name:"keyword.operator.word.mnemonic.avx512.bw.pmov"},{match:"(?i)\\bvp(s(ll|ra|rl)vw|testn?m[bw])\\b",name:"keyword.operator.word.mnemonic.avx512.bw.psll"},{match:"(?i)\\bvp(broadcastm(b2q|w2d)|(conflict|lzcnt)[dq])\\b",name:"keyword.operator.word.mnemonic.avx512.bw.broadcast"}]},"mnemonics-avx512dq":{patterns:[{match:"(?i)\\bvcvt(t?p[ds]2u?qq|uqq2p[ds])\\b",name:"keyword.operator.word.mnemonic.avx512.dq.cvt"},{match:"(?i)\\bv((extract|insert)[fi]64x2|(fpclass|range|reduce)[ps][ds])\\b",name:"keyword.operator.word.mnemonic.avx512.dq.extract"},{match:"(?i)\\bvp(mov(m2[dq]|b2d|q2m)|mullq)\\b",name:"keyword.operator.word.mnemonic.avx512.dq.pmov"}]},"mnemonics-avx512er":{patterns:[{match:"(?i)\\bv(exp2|rcp28|rsqrt28)[ps][ds]\\b",name:"keyword.operator.word.mnemonic.avx512.er"}]},"mnemonics-avx512f":{patterns:[{match:"(?i)\\bv(align[dq]|(blendm|compress)p[ds])\\b",name:"keyword.operator.word.mnemonic.avx512.f.align"},{match:"(?i)\\bv(cvtt?[ps][ds]2u(dq|si))\\b",name:"keyword.operator.word.mnemonic.avx512.f.cvtt"},{match:"(?i)\\bv(cvt((q|ud)q2p|usi2s)[ds])\\b",name:"keyword.operator.word.mnemonic.avx512.f.cvt"},{match:"(?i)\\bv(expandp[ds]|extract[fi](32|64)x4|fixupimm[ps][ds])\\b",name:"keyword.operator.word.mnemonic.avx512.f.expand"},{match:"(?i)\\bv(get(exp|mant)[ps][ds]|insertf(32|64)x4|movdq[au](32|64))\\b",name:"keyword.operator.word.mnemonic.avx512.f.getexp"},{match:"(?i)\\bvp(blendm[dq]|cmpu?[dq]|compress[dq])\\b",name:"keyword.operator.word.mnemonic.avx512.f.pblend"},{match:"(?i)\\bvp(erm[it]2(d|q|p[ds])|expand[dq]|(max|min)[su]q|movu?s(q[bdw]|d[bw]))\\b",name:"keyword.operator.word.mnemonic.avx512.f.permi"},{match:"(?i)\\bvp(rolv?|rorr?|scatter[dq]|testn?m|terlog)[dq]\\b",name:"keyword.operator.word.mnemonic.avx512.f.prol"},{match:"(?i)\\bvpsravq\\b",name:"keyword.operator.word.mnemonic.avx512.f.sravq"},{match:"(?i)\\bv(rcp14|(rnd)?scale|rsqrt14)[ps][ds]\\b",name:"keyword.operator.word.mnemonic.avx512.f.rcp"},{match:"(?i)\\bv(scatter[dq]{2}|shuf[fi](32|64)x[24])\\b",name:"keyword.operator.word.mnemonic.avx512.f.scatter"}]},"mnemonics-avx512fp16":{patterns:[{match:"(?i)\\bv((add|cmp|div|fc?(madd|mul)c|fpclass|get(exp|mant)|mul|rcp|reduce|(rnd)?scale|r?sqrt|sub)[ps]h|u?comish)\\b",name:"keyword.operator.word.mnemonic.avx512.fp16.add"},{match:"(?i)\\bvcvt(u?([dq]q|w)|pd)2ph\\b",name:"keyword.operator.word.mnemonic.avx512.fp16.cvtx2ph"},{match:"(?i)\\bvcvtph2(u?([dq]q|w)|pd)\\b",name:"keyword.operator.word.mnemonic.avx512.fp16.cvtph2x"},{match:"(?i)\\bvcvt(ph2psx|ps2phx)\\b",name:"keyword.operator.word.mnemonic.avx512.fp16.cvtx"},{match:"(?i)\\bvcvt(s[dsi]|usi)2sh\\b",name:"keyword.operator.word.mnemonic.avx512.fp16.cvtx2sh"},{match:"(?i)\\bvcvtsh2(s[dsi]|usi)\\b",name:"keyword.operator.word.mnemonic.avx512.fp16.cvtsh2x"},{match:"(?i)\\bvcvtt(ph2(u?(dq|qq|w))|sh2u?si)\\b",name:"keyword.operator.word.mnemonic.avx512.fp16.cvttph2x"},{match:"(?i)\\bvfn?m((add|sub)(132|213|231))[ps]h\\b",name:"keyword.operator.word.mnemonic.avx512.fp16.fmadd"},{match:"(?i)\\bvfm(addsub|subadd)(132|213|231)ph\\b",name:"keyword.operator.word.mnemonic.avx512.fp16.fmaddsub"},{match:"(?i)\\bv((min|max)ph|mov(sh|w))\\b",name:"keyword.operator.word.mnemonic.avx512.fp16.max"}]},"mnemonics-avx512pf":{patterns:[{match:"(?i)\\bv(gather|scatter)pf[01][dq]p[ds]\\b",name:"keyword.operator.word.mnemonic.avx512.pf"}]},"mnemonics-cet":{patterns:[{match:"(?i)\\b((inc|save(prev)?|rstor|rd)ssp|wru?ss|(set|clr)ssbsy|endbr(32|64))\\b",name:"keyword.operator.word.mnemonic.cet"},{match:"(?i)\\bendbranch\\b",name:"keyword.operator.word.mnemonic.cet.misc"}]},"mnemonics-esi":{patterns:[{match:"(?i)\\benqcmds?\\b",name:"keyword.operator.word.mnemonic.esi"}]},"mnemonics-fpu":{patterns:[{match:"(?i)\\b(fcmov(n?([beu]|be)))\\b",name:"keyword.operator.word.mnemonic.fpu.data-transfer.mov"},{match:"(?i)\\b(f(i?(ld|stp?)|b(ld|stp)|xch))\\b",name:"keyword.operator.word.mnemonic.fpu.data-transfer.other"},{match:"(?i)\\b(f((add|div|mul|sub)p?|i(add|div|mul|sub)|(div|sub)rp?|i(div|sub)r))\\b",name:"keyword.operator.word.mnemonic.fpu.basic-arithmetic.basic"},{match:"(?i)\\b(f(prem1?|abs|chs|rndint|scale|sqrt|xtract))\\b",name:"keyword.operator.word.mnemonic.fpu.basic-arithmetic.other"},{match:"(?i)\\b(f(u?com[ip]?p?|icomp?|tst|xam))\\b",name:"keyword.operator.word.mnemonic.fpu.comparison"},{match:"(?i)\\b(f(sin|cos|sincos|pa?tan|2xm1|yl2x(p1)?))\\b",name:"keyword.operator.word.mnemonic.fpu.transcendental"},{match:"(?i)\\b(fld(1|z|pi|l2[et]|l[ng]2))\\b",name:"keyword.operator.word.mnemonic.fpu.load-constants"},{match:"(?i)\\b(f((inc|dec)stp|free|n?(init|clex|st[cs]w|stenv|save)|ld(cw|env)|rstor|nop)|f?wait)\\b",name:"keyword.operator.word.mnemonic.fpu.control-management"},{match:"(?i)\\b(fx(save|rstor)(64)?)\\b",name:"keyword.operator.word.mnemonic.fpu.state-management"}]},"mnemonics-future-intel":{patterns:[{include:"#mnemonics-future-intel-apx"}]},"mnemonics-future-intel-apx":{patterns:[{match:"(?i)\\b(c(cmp|test)(n?[bl]e?|[ft]|n?[osz]))\\b",name:"keyword.operator.word.mnemonic.apx.ccmp_test"},{match:"(?i)\\b(cfcmovn?([bl]e?|[opsz]))\\b",name:"keyword.operator.word.mnemonic.apx.cfcmov"},{match:"(?i)\\b(cmpn?([bl]e?|[opsz])xadd)\\b",name:"keyword.operator.word.mnemonic.apx.cmpxadd"},{match:"(?i)\\b(jmpabs|(push|pop)2p?)\\b",name:"keyword.operator.word.mnemonic.apx.other"}]},"mnemonics-general-purpose":{patterns:[{match:"(?i)\\b(?:mov(?:[sz]x)?|cmov(?:n?[abceglopsz]|n?[abgl]e|p[eo]))\\b",name:"keyword.operator.word.mnemonic.general-purpose.data-transfer.mov"},{match:"(?i)\\b(xchg|bswap|xadd|cmpxchg(8b)?)\\b",name:"keyword.operator.word.mnemonic.general-purpose.data-transfer.xchg"},{match:"(?i)\\b((push|pop)(ad?)?|cwde?|cdq|cbw)\\b",name:"keyword.operator.word.mnemonic.general-purpose.data-transfer.other"},{match:"(?i)\\b(adcx?|adox|add|sub|sbb|i?mul|i?div|inc|dec|neg|cmp)\\b",name:"keyword.operator.word.mnemonic.general-purpose.binary-arithmetic"},{match:"(?i)\\b(daa|das|aaa|aas|aam|aad)\\b",name:"keyword.operator.word.mnemonic.general-purpose.decimal-arithmetic"},{match:"(?i)\\b(and|x?or|not)\\b",name:"keyword.operator.word.mnemonic.general-purpose.logical"},{match:"(?i)\\b(s[ah][rl]|sh[rl]d|r[co][rl])\\b",name:"keyword.operator.word.mnemonic.general-purpose.rotate"},{match:"(?i)\\b(set(n?[abceglopsz]|n?[abgl]e|p[eo]))\\b",name:"keyword.operator.word.mnemonic.general-purpose.bit-and-byte.set"},{match:"(?i)\\b(bt[crs]?|bs[fr]|test|crc32|popcnt)\\b",name:"keyword.operator.word.mnemonic.general-purpose.bit-and-byte.other"},{match:"(?i)\\b(jmp|jn?[abceglopsz]|jn?[abgl]e|jp[eo]|j[er]?cxz)\\b",name:"keyword.operator.word.mnemonic.general-purpose.control-transfer.jmp"},{match:"(?i)\\b(loop(n?[ez])?|call|ret|iret[dq]?|into?|bound|enter|leave)\\b",name:"keyword.operator.word.mnemonic.general-purpose.control-transfer.other"},{match:"(?i)\\b((mov|cmp|sca|lod|sto)(s[bdw]?)|rep(n?[ez])?)\\b",name:"keyword.operator.word.mnemonic.general-purpose.strings"},{match:"(?i)\\b((in|out)(s[bdw]?)?)\\b",name:"keyword.operator.word.mnemonic.general-purpose.io"},{match:"(?i)\\b((st|cl)[cdi]|cmc|[ls]ahf|(push|pop)f[dq]?)\\b",name:"keyword.operator.word.mnemonic.general-purpose.flag-control"},{match:"(?i)\\b(l[defgs]s)\\b",name:"keyword.operator.word.mnemonic.general-purpose.segment-registers"},{match:"(?i)\\b(lea|nop|ud2?|xlatb?|cpuid|movbe)\\b",name:"keyword.operator.word.mnemonic.general-purpose.misc"},{match:"(?i)\\b(cl(flush(opt)?|demote|wb)|pcommit)\\b",name:"keyword.operator.word.mnemonic.general-purpose.cache-control"},{match:"(?i)\\b(rdrand|rdseed)\\b",name:"keyword.operator.word.mnemonic.general-purpose.rng"},{match:"(?i)\\b(andn|bextr|bls(i|r|msk)|bzhi|pdep|pext|[lt]zcnt|(mul|ror|sar|shl|shr)x)\\b",name:"keyword.operator.word.mnemonic.general-purpose.bmi"}]},"mnemonics-intel-isa-keylocker":{patterns:[{match:"(?i)\\b(aes(enc|dec)(wide)?(128|256)kl|encodekey(128|256)|loadiwkey)\\b",name:"keyword.operator.word.mnemonic.keylocker"}]},"mnemonics-intel-isa-xeon-phi":{patterns:[{match:"(?i)\\bv(4fn?(madd)[ps]s|p4dpwssds?)\\b",name:"keyword.operator.word.mnemonic.xeon-phi"}]},"mnemonics-intel-manual-listing":{patterns:[{match:"(?i)\\bcvtt?pd1pi\\b",name:"keyword.operator.word.mnemonic.other.c"},{match:"(?i)\\bv?gf2p8(affine(inv)?q|mul)b\\b",name:"keyword.operator.word.mnemonic.other.g"},{match:"(?i)\\bhreset\\b",name:"keyword.operator.word.mnemonic.other.h"},{match:"(?i)\\bincssp[dq]\\b",name:"keyword.operator.word.mnemonic.other.i"},{match:"(?i)\\bmovdir(i|64b)\\b",name:"keyword.operator.word.mnemonic.other.m"},{match:"(?i)\\bp((abs|(max|min)[su]?|mull|sra)q|config|twrite)\\b",name:"keyword.operator.word.mnemonic.other.p"},{match:"(?i)\\brd(pid|ssp[dq])\\b",name:"keyword.operator.word.mnemonic.other.r"},{match:"(?i)\\bserialize\\b",name:"keyword.operator.word.mnemonic.other.s"},{match:"(?i)\\btpause\\b",name:"keyword.operator.word.mnemonic.other.t"},{match:"(?i)\\bu(monitor|mwait)\\b",name:"keyword.operator.word.mnemonic.other.u"},{match:"(?i)\\bvbroadcast[fi](32x[248]|64x[24])\\b",name:"keyword.operator.word.mnemonic.other.vb"},{match:"(?i)\\bv(compressw|cvtne2?ps2bf16)\\b",name:"keyword.operator.word.mnemonic.other.vc"},{match:"(?i)\\bvdpbf16ps\\b",name:"keyword.operator.word.mnemonic.other.vd"},{match:"(?i)\\bvextract[fi]32x8\\b",name:"keyword.operator.word.mnemonic.other.ve"},{match:"(?i)\\bv(insert([fi]32x8|i(32|64)x4))\\b",name:"keyword.operator.word.mnemonic.other.vi"},{match:"(?i)\\bv(maskmov|(max|min)sh)\\b",name:"keyword.operator.word.mnemonic.other.vm"},{match:"(?i)\\bvp((2intersect|andn?)[dq]|absq)\\b",name:"keyword.operator.word.mnemonic.other.vpa"},{match:"(?i)\\bvpbroadcasti32x4\\b",name:"keyword.operator.word.mnemonic.other.vpb"},{match:"(?i)\\bvpcompress[bw]\\b",name:"keyword.operator.word.mnemonic.other.vpc"},{match:"(?i)\\bvp(dp(bu|ws)sds?)\\b",name:"keyword.operator.word.mnemonic.other.vpd"},{match:"(?i)\\b(vperm(b|t2[bw])|vp(expand[bw]|extrtd))\\b",name:"keyword.operator.word.mnemonic.other.vpe"},{match:"(?i)\\bvp(madd52[hl]uq|mov(d(2m|[bw])|q[bdw]|wb)|mpov[bdqw]2m|multishiftqb)\\b",name:"keyword.operator.word.mnemonic.other.vpm"},{match:"(?i)\\b(vpopcnt[bdqw]|vpor[dq])\\b",name:"keyword.operator.word.mnemonic.other.vpo"},{match:"(?i)\\bvprorv[dq]\\b",name:"keyword.operator.word.mnemonic.other.vpr"},{match:"(?i)\\bvp(sh[lr]dv?[dqw]|shufbitqmb|shufps)\\b",name:"keyword.operator.word.mnemonic.other.vps"},{match:"(?i)\\bvpternlog[dq]\\b",name:"keyword.operator.word.mnemonic.other.vpt"},{match:"(?i)\\bvpxor[dq]\\b",name:"keyword.operator.word.mnemonic.other.vpx"},{match:"(?i)\\bv(scalef[ps][dhs]|scatter[dq]p[ds])\\b",name:"keyword.operator.word.mnemonic.other.vs"},{match:"(?i)\\b(wbnoinvd|wru?ss[dq])\\b",name:"keyword.operator.word.mnemonic.other.w"}]},"mnemonics-invalid":{patterns:[{include:"#mnemonics-invalid-amd-sse5"}]},"mnemonics-invalid-amd-sse5":{patterns:[{match:"(?i)\\b(com[ps][ds]|pcomu?[bdqw])\\b",name:"invalid.keyword.operator.word.mnemonic.sse5.comparison"},{match:"(?i)\\b(cvtp(h2ps|s2ph)|frcz[ps][ds])\\b",name:"invalid.keyword.operator.word.mnemonic.sse5.conversion"},{match:"(?i)\\b(fn?m((add|sub)[ps][ds])|ph(addu?(b[dqw]|w[dq]|dq)|sub(bw|dq|wd))|pma(css?(d(d|q[hl])|w[dw])|dcss?wd))\\b",name:"invalid.keyword.operator.word.mnemonic.sse5.packed-arithmetic"},{match:"(?i)\\b(pcmov|permp[ds]|pperm|prot[bdqw]|psh[al][bdqw])\\b",name:"invalid.keyword.operator.word.mnemonic.sse5.simd-integer"}]},"mnemonics-mmx":{patterns:[{match:"(?i)\\b(mov[dq])\\b",name:"keyword.operator.word.mnemonic.mmx.data-transfer"},{match:"(?i)\\b(pack(ssdw|[su]swb)|punpck[hl](bw|dq|wd))\\b",name:"keyword.operator.word.mnemonic.mmx.conversion"},{match:"(?i)\\b(p(((add|sub)(d|(u?s)?[bw]))|maddwd|mul[lh]w))\\b",name:"keyword.operator.word.mnemonic.mmx.packed-arithmetic"},{match:"(?i)\\b(pcmp((eq|gt)[bdw]))\\b",name:"keyword.operator.word.mnemonic.mmx.comparison"},{match:"(?i)\\b(pandn?|px?or)\\b",name:"keyword.operator.word.mnemonic.mmx.logical"},{match:"(?i)\\b(ps([rl]l[dwq]|raw|rad))\\b",name:"keyword.operator.word.mnemonic.mmx.shift-and-rotate"},{match:"(?i)\\b(emms)\\b",name:"keyword.operator.word.mnemonic.mmx.state-management"}]},"mnemonics-mpx":{patterns:[{match:"(?i)\\b(bnd(mk|c[lnu]|mov|ldx|stx))\\b",name:"keyword.operator.word.mnemonic.mpx"}]},"mnemonics-pseudo-ops":{patterns:[{match:"(?i)\\b(cmp(n?(eq|lt|le)|(un)?ord)[ps][ds])\\b",name:"keyword.operator.word.pseudo-mnemonic.sse2.compare"},{match:"(?i)\\b(v?pclmul([hl]q[hl]q|[hl]qh)dq)\\b",name:"keyword.operator.word.pseudo-mnemonic.avx.promoted.aes"},{match:"(?i)\\b(vcmp(eq(_(os|uq|us))?|neq(_(oq|os|us))?|[gl][et](_oq)?|n[gl][et](_uq)?|(un)?ord(_s)?|false(_os)?|true(_us)?)[ps][ds])\\b",name:"keyword.operator.word.pseudo-mnemonic.avx.promoted.comparison"},{match:"(?i)\\bvp(cmpn?(eq|le|lt))\\b",name:"keyword.operator.word.pseudo-mnemonic.avx512.compare"},{match:"(?i)\\b(vpcom(n?eq|[gl][et]|false|true)(b|uw))\\b",name:"keyword.operator.word.pseudo-mnemonic.supplemental.amd.xop.simd"}]},"mnemonics-sgx":{patterns:[{match:"(?i)\\bencl[su]\\b",name:"keyword.operator.word.mnemonic.sgx"},{match:"(?i)\\be(add|block|create|dbg(rd|wr)|extend|init|ld[bu]|pa|remove|track|wb)\\b",name:"support.constant.sgx1.supervisor"},{match:"(?i)\\be(add|block|create|dbg(rd|wr)|extend|init|ld[bu]|pa|remove|track|wb)\\b",name:"support.constant.sgx1.supervisor"},{match:"(?i)\\be(enter|exit|getkey|report|resume)\\b",name:"support.constant.sgx1.user"},{match:"(?i)\\be(aug|mod(pr|t))\\b",name:"support.constant.sgx2.supervisor"},{match:"(?i)\\be(accept(copy)?|modpe)\\b",name:"support.constant.sgx2.user"}]},"mnemonics-sha":{patterns:[{match:"(?i)\\b(sha(1rnds4|256rnds2|1nexte|(1|256)msg[12]))\\b",name:"keyword.operator.word.mnemonic.sha"}]},"mnemonics-smx":{patterns:[{match:"(?i)\\b(getsec)\\b",name:"keyword.operator.word.mnemonic.smx.getsec"},{match:"(?i)\\b(capabilities|enteraccs|exitac|senter|sexit|parameters|smctrl|wakeup)\\b",name:"support.constant.smx"}]},"mnemonics-sse":{patterns:[{match:"(?i)\\b(mov(([ahlu]|hl|lh|msk)ps|ss))\\b",name:"keyword.operator.word.mnemonic.sse.data-transfer"},{match:"(?i)\\b((add|div|max|min|mul|rcp|r?sqrt|sub)[ps]s)\\b",name:"keyword.operator.word.mnemonic.sse.packed-arithmetic"},{match:"(?i)\\b(cmp[ps]s|u?comiss)\\b",name:"keyword.operator.word.mnemonic.sse.comparison"},{match:"(?i)\\b((andn?|x?or)ps)\\b",name:"keyword.operator.word.mnemonic.sse.logical"},{match:"(?i)\\b((shuf|unpck[hl])ps)\\b",name:"keyword.operator.word.mnemonic.sse.shuffle-and-unpack"},{match:"(?i)\\b(cvt(pi2ps|si2ss|ps2pi|tps2pi|ss2si|tss2si))\\b",name:"keyword.operator.word.mnemonic.sse.conversion"},{match:"(?i)\\b((ld|st)mxcsr)\\b",name:"keyword.operator.word.mnemonic.sse.state-management"},{match:"(?i)\\b(p(avg[bw]|extrw|insrw|(max|min)(sw|ub)|sadbw|shufw|mulhuw|movmskb))\\b",name:"keyword.operator.word.mnemonic.sse.simd-integer"},{match:"(?i)\\b(maskmovq|movntps|sfence)\\b",name:"keyword.operator.word.mnemonic.sse.cacheability-control"},{match:"(?i)\\b(prefetch(nta|t[0-2]|w(t1)?))\\b",name:"keyword.operator.word.mnemonic.sse.prefetch"}]},"mnemonics-sse2":{patterns:[{match:"(?i)\\b(mov([auhl]|msk)pd)\\b",name:"keyword.operator.word.mnemonic.sse2.data-transfer"},{match:"(?i)\\b((add|div|max|min|mul|sub|sqrt)[ps]d)\\b",name:"keyword.operator.word.mnemonic.sse2.packed-arithmetic"},{match:"(?i)\\b((andn?|x?or)pd)\\b",name:"keyword.operator.word.mnemonic.sse2.logical"},{match:"(?i)\\b((cmpp|u?comis)d)\\b",name:"keyword.operator.word.mnemonic.sse2.compare"},{match:"(?i)\\b((shuf|unpck[hl])pd)\\b",name:"keyword.operator.word.mnemonic.sse2.shuffle-and-unpack"},{match:"(?i)\\b(cvt(dq2pd|pi2pd|ps2pd|pd2ps|si2sd|sd2ss|ss2sd|t?(pd2dq|pd2pi|sd2si)))\\b",name:"keyword.operator.word.mnemonic.sse2.conversion"},{match:"(?i)\\b(cvt(dq2ps|ps2dq|tps2dq))\\b",name:"keyword.operator.word.mnemonic.sse2.packed-floating-point"},{match:"(?i)\\b(mov(dq[au]|q2dq|dq2q))\\b",name:"keyword.operator.word.mnemonic.sse2.simd-integer.mov"},{match:"(?i)\\b(p((add|sub|(s[lr]l|mulu|unpck[hl]q)d)q|shuf(d|[hl]w)))\\b",name:"keyword.operator.word.mnemonic.sse2.simd-integer.other"},{match:"(?i)\\b([lm]fence|pause|maskmovdqu|movnt(dq|i|pd))\\b",name:"keyword.operator.word.mnemonic.sse2.cacheability-control"}]},"mnemonics-sse3":{patterns:[{match:"(?i)\\b(fisttp|lddqu|(addsub|h(add|sub))p[sd]|mov(sh|sl|d)dup|monitor|mwait)\\b",name:"keyword.operator.word.mnemonic.sse3"},{match:"(?i)\\b(ph(add|sub)(s?w|d))\\b",name:"keyword.operator.word.mnemonic.sse3.supplimental.horizontal-packed-arithmetic"},{match:"(?i)\\b(p((abs|sign)[bdw]|maddubsw|mulhrsw|shufb|alignr))\\b",name:"keyword.operator.word.mnemonic.sse3.supplimental.other"}]},"mnemonics-sse4":{patterns:[{match:"(?i)\\b(pmul(ld|dq)|dpp[ds])\\b",name:"keyword.operator.word.mnemonic.sse4.1.arithmetic"},{match:"(?i)\\b(movntdqa)\\b",name:"keyword.operator.word.mnemonic.sse4.1.load-hint"},{match:"(?i)\\b(blendv?p[ds]|pblend(vb|w))\\b",name:"keyword.operator.word.mnemonic.sse4.1.packed-blending"},{match:"(?i)\\b(p(min|max)(u[dw]|s[bd]))\\b",name:"keyword.operator.word.mnemonic.sse4.1.packed-integer"},{match:"(?i)\\b(round[ps][sd])\\b",name:"keyword.operator.word.mnemonic.sse4.1.packed-floating-point"},{match:"(?i)\\b((extract|insert)ps|p((ins|ext)(r[bdq])))\\b",name:"keyword.operator.word.mnemonic.sse4.1.insertion-and-extraction"},{match:"(?i)\\b(pmov([sz]x(b[dqw]|dq|wd|wq)))\\b",name:"keyword.operator.word.mnemonic.sse4.1.conversion"},{match:"(?i)\\b(mpsadbw|phminposuw|ptest|pcmpeqq|packusdw)\\b",name:"keyword.operator.word.mnemonic.sse4.1.other"},{match:"(?i)\\b(pcmp([ei]str[im]|gtq))\\b",name:"keyword.operator.word.mnemonic.sse4.2"}]},"mnemonics-supplemental-amd":{patterns:[{match:"(?i)\\b(bl([cs](fill|ic?|msk)|cs)|t1mskc|tzmsk)\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.general-purpose"},{match:"(?i)\\b(clgi|int3|invlpga|iretw|skinit|stgi|vm(load|mcall|run|save)|monitorx|mwaitx)\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.system"},{match:"(?i)\\b([ls]lwpcb|lwp(ins|val))\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.profiling"},{match:"(?i)\\b(movnts[ds])\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.memory-management"},{match:"(?i)\\b(prefetch|clzero)\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.cache-management"},{match:"(?i)\\b((extr|insert)q)\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.sse4.a"},{match:"(?i)\\b(vfn?m((add|sub)[ps][ds])|vfm((addsub|subadd)p[ds]))\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.fma4"},{match:"(?i)\\b(vp(cmov|(comu?|rot|sh[al])[bdqw]|mac(s?s(d(d|q[hl])|w[dw]))|madcss?wd|perm))\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.xop.simd"},{match:"(?i)\\b(vph(addu?(b[dqw]|w[dq]|dq)|sub(bw|dq|wd)))\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.xop.simd-horizontal"},{match:"(?i)\\b(vfrcz[ps][ds]|vpermil2p[ds])\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.xop.other"},{match:"(?i)\\b(femms)\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.3dnow"},{match:"(?i)\\b(p(avgusb|(f2i|i2f)[dw]|mulhrw|swapd)|pf((p?n)?acc|add|max|min|mul|rcp(it[12])?|rsqit1|rsqrt|subr?))\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.3dnow.simd"},{match:"(?i)\\b(pfcmp(eq|ge|gt))\\b",name:"keyword.operator.word.mnemonic.supplemental.amd.3dnow.comparison"}]},"mnemonics-supplemental-cyrix":{patterns:[{match:"(?i)\\b((sv|rs)dc|(wr|rd)shr|paddsiw)\\b",name:"keyword.operator.word.mnemonic.supplemental.cyrix"}]},"mnemonics-supplemental-via":{patterns:[{match:"(?i)\\b(montmul)\\b",name:"keyword.operator.word.mnemonic.supplemental.via"},{match:"(?i)\\b(x(store(rng)?|crypt(ecb|cbc|ctr|cfb|ofb)|sha(1|256)))\\b",name:"keyword.operator.word.mnemonic.supplemental.via.padlock"}]},"mnemonics-system":{patterns:[{match:"(?i)\\b((cl|st)ac|[ls]([gli]dt|tr|msw)|clts|arpl|lar|lsl|ver[rw]|inv(d|lpg|pcid)|wbinvd)\\b",name:"keyword.operator.word.mnemonic.system"},{match:"(?i)\\b(lock|hlt|rsm|(rd|wr)(msr|pkru|[fg]sbase)|rd(pmc|tscp?)|sys(enter|exit))\\b",name:"keyword.operator.word.mnemonic.system"},{match:"(?i)\\b(x((save(c|opt|s)?|rstors?)(64)?|[gs]etbv))\\b",name:"keyword.operator.word.mnemonic.system"}]},"mnemonics-tsx":{patterns:[{match:"(?i)\\b(x(abort|begin|end|test|(res|sus)ldtrk))\\b",name:"keyword.operator.word.mnemonic.tsx"}]},"mnemonics-uirq":{patterns:[{match:"(?i)\\b((cl|st|test)ui|senduipi|uiret)\\b",name:"keyword.operator.word.mnemonic.uirq"}]},"mnemonics-undocumented":{patterns:[{match:"(?i)\\b(ret[nf]|icebp|int1|int03|smi|ud1)\\b",name:"keyword.operator.word.mnemonic.undocumented"}]},"mnemonics-vmx":{patterns:[{match:"(?i)\\b(vm(ptr(ld|st)|clear|read|write|launch|resume|xo(ff|n)|call|func)|inv(ept|vpid))\\b",name:"keyword.operator.word.mnemonic.vmx"}]},preprocessor:{patterns:[{begin:"^\\s*[#%]\\s*(error|warning)\\b",captures:{1:{name:"keyword.control.import.error.c"}},end:"$",name:"meta.preprocessor.diagnostic.c",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.c"}]},{begin:"^\\s*[#%]\\s*(include|import)\\b\\s+",captures:{1:{name:"keyword.control.import.include.c"}},end:"(?=(?://|/\\*))|$",name:"meta.preprocessor.c.include",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.c"},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.c"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.c"}},name:"string.quoted.double.include.c"},{begin:"<",beginCaptures:{0:{name:"punctuation.definition.string.begin.c"}},end:">",endCaptures:{0:{name:"punctuation.definition.string.end.c"}},name:"string.quoted.other.lt-gt.include.c"}]},{begin:"^\\s*[%#]\\s*(i?x?define|defined|elif(def)?|else|i[fs]n?(?:def|macro|ctx|idni?|id|num|str|token|empty|env)?|line|(i|end|uni?)?macro|pragma|endif)\\b",captures:{1:{name:"keyword.control.import.c"}},end:"(?=(?://|/\\*))|$",name:"meta.preprocessor.c",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.c"},{include:"#preprocessor-functions"}]},{begin:"^\\s*[#%]\\s*(assign|strlen|substr|(end|exit)?rep|push|pop|rotate|use|ifusing|ifusable|def(?:ailas|str|tok)|undef(?:alias)?)\\b",captures:{1:{name:"keyword.control"}},end:"$",name:"meta.preprocessor.nasm",patterns:[{match:"(?>\\\\\\s*\\n)",name:"punctuation.separator.continuation.c"},{include:"#preprocessor-functions"}]}]},"preprocessor-functions":{patterns:[{begin:"((%)(?:(abs|cond|count|eval|isn?(?:def|macro|ctx|idni?|id|num|str|token|empty|env)?|num|sel|str(?:cat|len)?|substr|tok)\\s*(\\()))",captures:{3:{name:"support.function.preprocessor.asm.x86_64"}},end:"(\\))|$",name:"meta.preprocessor.function.asm.x86_64",patterns:[{include:"#preprocessor-functions"}]}]},registers:{patterns:[{match:"(?i)\\b(?:[abcd][hl]|[er]?[abcd]x|[er]?(?:di|si|bp|sp)|dil|sil|bpl|spl|r(?:8|9|1[0-5])[bdlw]?)\\b",name:"constant.language.register.general-purpose.asm.x86_64"},{match:"(?i)\\b(?:[cdefgs]s)\\b",name:"constant.language.register.segment.asm.x86_64"},{match:"(?i)\\b(?:[er]?flags)\\b",name:"constant.language.register.flags.asm.x86_64"},{match:"(?i)\\b(?:[er]?ip)\\b",name:"constant.language.register.instruction-pointer.asm.x86_64"},{match:"(?i)\\b(?:cr[02-4])\\b",name:"constant.language.register.control.asm.x86_64"},{match:"(?i)\\b(?:(?:mm|st|fpr)[0-7])\\b",name:"constant.language.register.mmx.asm.x86_64"},{match:"(?i)\\b(?:[xy]mm(?:\\d|1[0-5])|mxcsr)\\b",name:"constant.language.register.sse_avx.asm.x86_64"},{match:"(?i)\\b(?:zmm(?:[12]?\\d|30|31))\\b",name:"constant.language.register.avx512.asm.x86_64"},{match:"(?i)\\b(?:bnd(?:[0-3]|cfg[su]|status))\\b",name:"constant.language.register.memory-protection.asm.x86_64"},{match:"(?i)\\b(?:(?:[gil]dt)r?|tr)\\b",name:"constant.language.register.system-table-pointer.asm.x86_64"},{match:"(?i)\\b(?:dr[0-367])\\b",name:"constant.language.register.debug.asm.x86_64"},{match:"(?i)\\b(?:cr8|dr(?:[89]|1[0-5])|efer|tpr|syscfg)\\b",name:"constant.language.register.amd.asm.x86_64"},{match:"(?i)\\b(?:db[0-367]|t[67]|tr[3-7]|st)\\b",name:"invalid.deprecated.constant.language.register.asm.x86_64"},{match:"(?i)\\b[xy]mm(?:1[6-9]|2\\d|3[01])\\b",name:"constant.language.register.general-purpose.alias.asm.x86_64"}]},strings:{patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.asm"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.asm"}},name:"string.quoted.double.asm",patterns:[{include:"#string_escaped_char"},{include:"#string_placeholder"}]},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.asm"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.asm"}},name:"string.quoted.single.asm",patterns:[{include:"#string_escaped_char"},{include:"#string_placeholder"}]},{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.asm"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.asm"}},name:"string.quoted.backquote.asm",patterns:[{include:"#string_escaped_char"},{include:"#string_placeholder"}]}]},support:{patterns:[{match:"(?i)\\b(?:s?byte|(?:[doqtyz]|dq|s[dq]?)?word|(?:d|res)[bdoqtwyz]|ddq)\\b",name:"storage.type.asm.x86_64"},{match:"(?i)\\b(?:incbin|equ|times|dup)\\b",name:"support.function.asm.x86_64"},{match:"(?i)\\b(?:strict|nosplit|near|far|abs|rel)\\b",name:"storage.modifier.asm.x86_64"},{match:"(?i)\\b(?:[ao](?:16|32|64))\\b",name:"storage.modifier.prefix.asm.x86_64"},{match:"(?i)\\b(?:rep(?:n?[ez])?|lock|xacquire|xrelease|(?:no)?bnd)\\b",name:"storage.modifier.prefix.asm.x86_64"},{captures:{1:{name:"storage.modifier.prefix.vex.asm.x86_64"}},match:"{(vex[23]?|evex|rex)}"},{captures:{1:{name:"storage.modifier.opmask.asm.x86_64"}},match:"{(k[1-7])}"},{captures:{1:{name:"storage.modifier.precision.asm.x86_64"}},match:"{(1to(?:8|16))}"},{captures:{1:{name:"storage.modifier.rounding.asm.x86_64"}},match:"{(z|(?:r[nudz]-)?sae)}"},{match:"\\.\\.(?:start|imagebase|tlvp|got(?:pc(?:rel)?|(?:tp)?off)?|plt|sym|tlsie)\\b",name:"support.constant.asm.x86_64"},{match:"\\b__\\?(?:utf(?:(?:16|32)(?:[lb]e)?)|float(?:8|16|32|64|80[me]|128[lh])|bfloat16|Infinity|[QS]?NaN)\\?__\\b",name:"support.function.asm.x86_64"},{match:"\\b__(?:utf(?:(?:16|32)(?:[lb]e)?)|float(?:8|16|32|64|80[me]|128[lh])|bfloat16|Infinity|[QS]?NaN)__\\b",name:"support.function.legacy.asm.x86_64"},{match:"\\b__\\?NASM_(?:MAJOR|(?:SUB)?MINOR|SNAPSHOT|VER(?:SION_ID)?)\\?__\\b",name:"support.function.asm.x86_64"},{match:"\\b___\\?NASM_PATCHLEVEL\\?__\\b",name:"support.function.asm.x86_64"},{match:"\\b__\\?(?:FILE|LINE|BITS|OUTPUT_FORMAT|DEBUG_FORMAT)\\?__\\b",name:"support.function.asm.x86_64"},{match:"\\b__\\?(?:(?:UTC_)?(?:DATE|TIME)(?:_NUM)?|POSIX_TIME)\\?__\\b",name:"support.function.asm.x86_64"},{match:"\\b__\\?USE_(?:\\w+)\\?__\\b",name:"support.function.asm.x86_64"},{match:"\\b__\\?PASS\\?__\\b",name:"invalid.deprecated.support.constant.altreg.asm.x86_64"},{match:"\\b__\\?ALIGNMODE\\?__\\b",name:"support.constant.smartalign.asm.x86_64"},{match:"\\b__\\?ALIGN_(\\w+)\\?__\\b",name:"support.function.smartalign.asm.x86_64"},{match:"\\b__NASM_(?:MAJOR|(?:SUB)?MINOR|SNAPSHOT|VER(?:SION_ID)?)__\\b",name:"support.function.asm.x86_64"},{match:"\\b___NASM_PATCHLEVEL__\\b",name:"support.function.asm.x86_64"},{match:"\\b__(?:FILE|LINE|BITS|OUTPUT_FORMAT|DEBUG_FORMAT)__\\b",name:"support.function.asm.x86_64"},{match:"\\b__(?:(?:UTC_)?(?:DATE|TIME)(?:_NUM)?|POSIX_TIME)__\\b",name:"support.function.asm.x86_64"},{match:"\\b__USE_(?:\\w+)__\\b",name:"support.function.asm.x86_64"},{match:"\\b__PASS__\\b",name:"invalid.deprecated.support.constant.altreg.asm.x86_64"},{match:"\\b__ALIGNMODE__\\b",name:"support.constant.smartalign.asm.x86_64"},{match:"\\b__ALIGN_(\\w+)__\\b",name:"support.function.smartalign.asm.x86_64"},{match:"\\b(?:Inf|[QS]?NaN)\\b",name:"support.constant.fp.asm.x86_64"},{match:"\\b(?:float(?:8|16|32|64|80[me]|128[lh]))\\b",name:"support.function.fp.asm.x86_64"},{match:"(?i)\\bilog2(?:[ewfc]|[fc]w)?\\b",name:"support.function.ifunc.asm.x86_64"}]}},scopeName:"source.asm.x86_64"}),Vsa=[Zsa]});var ZNr={};Be(ZNr,{default:()=>KQ});var Ysa,KQ,Ype=N(()=>{Ysa=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)(?|(?:=|:|\\?|\\+|-|\\*|\\/|%|<|>)?=|!=)|\\b(?:in|is(?:nt)?|(?(['"])(?:[^\\\\]|\\\\.)*?(\\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"]}),KQ=[Ysa]});var VNr={};Be(VNr,{default:()=>NDe});var Ksa,NDe,Frt=N(()=>{Ksa=Object.freeze({displayName:"PostCSS",fileTypes:["pcss","postcss"],foldingStartMarker:"/\\*|^#|^\\*|^\\b|^\\.",foldingStopMarker:"\\*/|^\\s*$",name:"postcss",patterns:[{begin:"/\\*",end:"\\*/",name:"comment.block.postcss",patterns:[{include:"#comment-tag"}]},{include:"#double-slash"},{include:"#double-quoted"},{include:"#single-quoted"},{include:"#interpolation"},{include:"#placeholder-selector"},{include:"#variable"},{include:"#variable-root-css"},{include:"#numeric"},{include:"#unit"},{include:"#flag"},{include:"#dotdotdot"},{begin:"@include",captures:{0:{name:"keyword.control.at-rule.css.postcss"}},end:"(?=\\n|\\(|{|;)",name:"support.function.name.postcss.library"},{begin:"@mixin|@function",captures:{0:{name:"keyword.control.at-rule.css.postcss"}},end:"$\\n?|(?=\\(|{)",name:"support.function.name.postcss.no-completions",patterns:[{match:"[\\w-]+",name:"entity.name.function"}]},{match:"(?<=@import)\\s[\\w/.*-]+",name:"string.quoted.double.css.postcss"},{begin:"@",end:"$\\n?|\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)(\\s|,))|(?=;)",name:"keyword.control.at-rule.css.postcss"},{begin:"#",end:"$\\n?|(?=\\s|,|;|\\(|\\)|\\.|\\[|{|>)",name:"entity.other.attribute-name.id.css.postcss",patterns:[{include:"#interpolation"},{include:"#pseudo-class"}]},{begin:"\\.|(?<=&)(-|_)",end:"$\\n?|(?=\\s|,|;|\\(|\\)|\\[|{|>)",name:"entity.other.attribute-name.class.css.postcss",patterns:[{include:"#interpolation"},{include:"#pseudo-class"}]},{begin:"\\[",end:"\\]",name:"entity.other.attribute-selector.postcss",patterns:[{include:"#double-quoted"},{include:"#single-quoted"},{match:"\\^|\\$|\\*|~",name:"keyword.other.regex.postcss"}]},{match:"(?<=\\]|\\)|not\\(|\\*|>|>\\s):[a-z:-]+|(::|:-)[a-z:-]+",name:"entity.other.attribute-name.pseudo-class.css.postcss"},{begin:":",end:"$\\n?|(?=;|\\s\\(|and\\(|{|}|\\),)",name:"meta.property-list.css.postcss",patterns:[{include:"#double-slash"},{include:"#double-quoted"},{include:"#single-quoted"},{include:"#interpolation"},{include:"#variable"},{include:"#rgb-value"},{include:"#numeric"},{include:"#unit"},{include:"#flag"},{include:"#function"},{include:"#function-content"},{include:"#function-content-var"},{include:"#operator"},{include:"#parent-selector"},{include:"#property-value"}]},{include:"#rgb-value"},{include:"#function"},{include:"#function-content"},{begin:"(?|-|_)",name:"entity.name.tag.css.postcss.symbol",patterns:[{include:"#interpolation"},{include:"#pseudo-class"}]},{include:"#operator"},{match:"[a-z-]+((?=:|#{))",name:"support.type.property-name.css.postcss"},{include:"#reserved-words"},{include:"#property-value"}],repository:{"comment-tag":{begin:"{{",end:"}}",name:"comment.tags.postcss",patterns:[{match:"[\\w-]+",name:"comment.tag.postcss"}]},dotdotdot:{match:"\\.{3}",name:"variable.other"},"double-quoted":{begin:'"',end:'"',name:"string.quoted.double.css.postcss",patterns:[{include:"#quoted-interpolation"}]},"double-slash":{begin:"//",end:"$",name:"comment.line.postcss",patterns:[{include:"#comment-tag"}]},flag:{match:"!(important|default|optional|global)",name:"keyword.other.important.css.postcss"},function:{match:"(?<=[\\s|\\(|,|:])(?!url|format|attr)[\\w-][\\w-]*(?=\\()",name:"support.function.name.postcss"},"function-content":{match:"(?<=url\\(|format\\(|attr\\().+?(?=\\))",name:"string.quoted.double.css.postcss"},"function-content-var":{match:"(?<=var\\()[\\w-]+(?=\\))",name:"variable.parameter.postcss"},interpolation:{begin:"#{",end:"}",name:"support.function.interpolation.postcss",patterns:[{include:"#variable"},{include:"#numeric"},{include:"#operator"},{include:"#unit"},{include:"#double-quoted"},{include:"#single-quoted"}]},numeric:{match:"(-|\\.)?\\d+(\\.\\d+)?",name:"constant.numeric.css.postcss"},operator:{match:"\\+|\\s-\\s|\\s-(?=\\$)|(?<=\\()-(?=\\$)|\\s-(?=\\()|\\*|/|%|=|!|<|>|~",name:"keyword.operator.postcss"},"parent-selector":{match:"&",name:"entity.name.tag.css.postcss"},"placeholder-selector":{begin:"(?MV});var Jsa,MV,LDe=N(()=>{Jsa=Object.freeze({displayName:"TSX",name:"tsx",patterns:[{include:"#directives"},{include:"#statements"},{include:"#shebang"}],repository:{"access-modifier":{match:"(?]|^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:"(?:(?)",name:"meta.arrow.tsx"},{begin:"(?:(?]|=[^<]|\\<\\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:"(?\\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:"()|(?=\\*/)",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:"(?)))|((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*(?\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\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:"(?:(?]|\\|\\||\\&\\&|\\!\\=\\=|$|((?>=|>>>=|\\|=",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:"(?)))|((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*(?\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\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:"(?\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\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:"(?)))|((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:"(?]|\\|\\||\\&\\&|\\!\\=\\=|$|(===|!==|==|!=)|(([\\&\\~\\^\\|]\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s+instanceof(?![_$0-9A-Za-z])(?:(?=\\.\\.\\.)|(?!\\.)))|((?))",end:"(/>)|(?:())",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.]*)(?)",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:"(?=|/\\*|//)"},"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.]*)(?))",end:"(?!(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))",patterns:[{include:"#jsx-tag"}]},"jsx-tag-without-attributes":{begin:"(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?)",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:"()",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.]*)(?))",end:"(?!(<)\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?))",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:"(?]|=[^<]|\\<\\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:"(?]|=[^<]|\\<\\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(?]|\\|\\||\\&\\&|\\!\\=\\=|$|((?]|=[^<]|\\<\\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:"(?]|=[^<]|\\<\\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(?)))|((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:"(?]|\\|\\||\\&\\&|\\!\\=\\=|$|^|((?]|=[^<]|\\<\\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:"(?)))|((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*(?\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\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:"(?:(?])",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:"(?|&&|\\|\\||\\*\\/)\\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:"((?"},{match:"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??",name:"keyword.operator.quantifier.regexp"},{match:"\\|",name:"keyword.operator.or.regexp"},{begin:"(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?))?",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:"(?]|=[^<]|\\<\\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:"(?\\,\\.\\[]|=>|&(?!&)|\\|(?!\\|)))))([^<>\\(]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(?<==)\\>|\\<\\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:"(?])|((?<=[\\}>\\]\\)]|[_$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:"(?)",patterns:[{include:"#comment"},{include:"#type-parameters"}]},{begin:"(?))))))",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:"(?)",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:"(?)",endCaptures:{1:{name:"punctuation.definition.typeparameters.end.tsx"}},name:"meta.type.parameters.tsx",patterns:[{include:"#comment"},{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:"(?:(?)))))))|(:\\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:"(?:(?:&|{\\?]|(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:"(?)))|((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*(?\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\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:"(?=$|^|[;,=}]|((?)))|((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*(?\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\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:"(?=$|^|[;,=}]|((?\\s*$)",beginCaptures:{1:{name:"keyword.operator.assignment.tsx"}},end:"(?=$|^|[,);}\\]]|((?eca});var Xsa,eca,JNr=N(()=>{iR();Vs();Jg();Ype();OU();Tu();nR();FU();Frt();LDe();Xsa=Object.freeze({displayName:"Astro",fileTypes:["astro"],injections:{"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)":{patterns:[{begin:"(?<=>)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)",patterns:[{include:"#interpolation"},{include:"#attribute-literal"},{begin:"(?=[^\\s=<>`/]|/(?!>))",end:"(?!\\G)",name:"meta.embedded.line.js",patterns:[{captures:{0:{name:"source.js"},1:{patterns:[{include:"source.js"}]}},match:"(([^\\s\\\"'=<>`/]|/(?!>))+)",name:"string.unquoted.astro"},{begin:'(["])',beginCaptures:{0:{name:"punctuation.definition.string.begin.astro"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.string.end.astro"}},name:"string.quoted.astro",patterns:[{captures:{0:{patterns:[{include:"source.js"}]}},match:'([^\\n\\"/]|/(?![/*]))+'},{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:'(?=\\")|\\n',name:"comment.line.double-slash.js"},{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.js"}},end:'(?=\\")|\\*/',endCaptures:{0:{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"}]},{begin:"(['])",beginCaptures:{0:{name:"punctuation.definition.string.begin.astro"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.string.end.astro"}},name:"string.quoted.astro",patterns:[{captures:{0:{patterns:[{include:"source.js"}]}},match:"([^\\n\\'/]|/(?![/*]))+"},{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:"(?=\\')|\\n",name:"comment.line.double-slash.js"},{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.js"}},end:"(?=\\')|\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"}]}]}]}]},"attributes-interpolated":{begin:"(?)",patterns:[{include:"#attributes-value"}]}]},"attributes-value":{patterns:[{include:"#interpolation"},{match:"([^\\s\"'=<>`/]|/(?!>))+",name:"string.unquoted.astro"},{begin:`(['"])`,beginCaptures:{0:{name:"punctuation.definition.string.begin.astro"}},end:"\\1",endCaptures:{0:{name:"punctuation.definition.string.end.astro"}},name:"string.quoted.astro"},{include:"#attribute-literal"}]},comments:{begin:"",name:"comment.block.astro",patterns:[{match:"\\G-?>|)|--!>",name:"invalid.illegal.characters-not-allowed-here.astro"}]},entities:{patterns:[{captures:{1:{name:"punctuation.definition.entity.astro"},912:{name:"punctuation.definition.entity.astro"}},match:"(&)(?=[a-zA-Z])((a(s(ymp(eq)?|cr|t)|n(d(slope|d|v|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a(h|c|d|e|f|a|g|b))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|e|E|acir)?|elig|f(r)?|w(conint|int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h(d|u|D|U)?|times|H(d|u|D|U)?|d(R|l|r|L)|u(R|l|r|L)|plus|D(R|l|r|L)|v(R|h|H|l|r|L)?|U(R|l|r|L)|V(R|h|H|l|r|L)?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1(2|4)|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr(l|r)|p(s|c(up|ap)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w(conint|int)|lubs(uit)?|a(cute|p(s|c(up|ap)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly(DoubleQuote|Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c(y|r)|trok|ol)|har(l|r)|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up(DownArrow|Arrow)|VerticalBar|L(ong(RightArrow|Left(RightArrow|Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t(h|a)|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(ot|Dot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1(3|4))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty(SmallSquare|VerySmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(ig|lig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1(2|8|3|4|5|6)|78|2(3|5)|3(8|4|5)|45|5(8|6)))))|F(scr|cy|illed(SmallSquare|VerySmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im(e|l)?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(qless|less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l(j|E|a)?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok(leftarrow|rightarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks(earow|warow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|v|E)?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(nt|int)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f(f|r)|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im(e|g)?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(il|dil)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i(e|f)?|Par))?|Har|o(ng(left(arrow|rightarrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r(dhar|ushar))|ur(dshar|uhar)|jcy|par(lt)?|e(s(s(sim|dot|eq(qgtr|gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left(arrow|rightarrow)|rightarrow|Left(RightArrow|Arrow))|pf|wer(RightArrow|LeftArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u(ltimap|map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|e|r)?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|e|E)?|b(set(eq(q)?)?|e|E)?)|par|qsu(pe|be)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v(c|a|b))?|in(dot|v(c|a|b)|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g(t|e))|fr|w(near|ar(hk|r(ow)?)|Arr)|V(dash|Dash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft(arrow|rightarrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr(c|w)?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft(arrow|rightarrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes(SlantEqual|Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi(nSpace|ckSpace)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|f|m)?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly(DoubleQuote|Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d(o|u)|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(il|dil)|aron)|Barr|t(hree|imes|ri(e|f|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng(d|e|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma(v|f)?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot(e|b)?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n(e|E)|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|n(e|E)|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar(e|f))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort(RightArrow|DownArrow|UpArrow|LeftArrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c(y|r)|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead(leftarrow|rightarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i(nSpace|ckSpace)|e(ta|refore))|c(y|edil|aron)|S(cy|Hcy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a(u|b)|ripleDot))|(u(scr|h(ar(l|r)|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per(RightArrow|LeftArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn(e|E)|bn(e|E)))|nsu(p|b)|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h(arr|Arr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l(arr|Arr)|r(arr|Arr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(nj|j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)",name:"constant.character.entity.named.$2.astro"},{captures:{1:{name:"punctuation.definition.entity.astro"},3:{name:"punctuation.definition.entity.astro"}},match:"(&)#\\d+(;)",name:"constant.character.entity.numeric.decimal.astro"},{captures:{1:{name:"punctuation.definition.entity.astro"},3:{name:"punctuation.definition.entity.astro"}},match:"(&)#[xX][0-9a-fA-F]+(;)",name:"constant.character.entity.numeric.hexadecimal.astro"},{match:"&(?=[a-zA-Z0-9]+;)",name:"invalid.illegal.ambiguous-ampersand.astro"}]},frontmatter:{begin:"\\A(-{3})\\s*$",beginCaptures:{1:{name:"comment"}},contentName:"source.ts",end:"(^|\\G)(-{3})|\\.{3}\\s*$",endCaptures:{2:{name:"comment"}},patterns:[{include:"source.ts"}]},interpolation:{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.embedded.begin.astro"}},contentName:"meta.embedded.expression.astro source.tsx",end:"\\}",endCaptures:{0:{name:"punctuation.section.embedded.end.astro"}},patterns:[{begin:"\\G\\s*(?={)",end:"(?<=})",patterns:[{include:"source.tsx#object-literal"}]},{include:"source.tsx"}]}]},scope:{patterns:[{include:"#comments"},{include:"#tags"},{include:"#interpolation"},{include:"#entities"}]},tags:{patterns:[{include:"#tags-raw"},{include:"#tags-lang"},{include:"#tags-void"},{include:"#tags-general-end"},{include:"#tags-general-start"}]},"tags-end-node":{captures:{1:{name:"meta.tag.end.astro punctuation.definition.tag.begin.astro"},2:{name:"meta.tag.end.astro",patterns:[{include:"#tags-name"}]},3:{name:"meta.tag.end.astro punctuation.definition.tag.end.astro"},4:{name:"meta.tag.start.astro punctuation.definition.tag.end.astro"}},match:"()|(/>)"},"tags-general-end":{begin:"(]*)",beginCaptures:{1:{name:"meta.tag.end.astro punctuation.definition.tag.begin.astro"},2:{name:"meta.tag.end.astro",patterns:[{include:"#tags-name"}]}},end:"(>)",endCaptures:{1:{name:"meta.tag.end.astro punctuation.definition.tag.end.astro"}},name:"meta.scope.tag.$2.astro"},"tags-general-start":{begin:"(<)([^/\\s>/]*)",beginCaptures:{0:{patterns:[{include:"#tags-start-node"}]}},end:"(/?>)",endCaptures:{1:{name:"meta.tag.start.astro punctuation.definition.tag.end.astro"}},name:"meta.scope.tag.$2.astro",patterns:[{include:"#tags-start-attributes"}]},"tags-lang":{begin:"<(script|style)",beginCaptures:{0:{patterns:[{include:"#tags-start-node"}]}},end:"|/>",endCaptures:{0:{patterns:[{include:"#tags-end-node"}]}},name:"meta.scope.tag.$1.astro meta.$1.astro",patterns:[{begin:`\\G(?=\\s*[^>]*?(type|lang)\\s*=\\s*(['"]|)(?:text\\/)?(application\\/ld\\+json)\\2)`,end:"(?=)",name:"meta.lang.json.astro",patterns:[{include:"#tags-lang-start-attributes"}]},{begin:`\\G(?=\\s*[^>]*?(type|lang)\\s*=\\s*(['"]|)(module)\\2)`,end:"(?=)",name:"meta.lang.javascript.astro",patterns:[{include:"#tags-lang-start-attributes"}]},{begin:`\\G(?=\\s*[^>]*?(type|lang)\\s*=\\s*(['"]|)(?:text/|application/)?([\\w\\/+]+)\\2)`,end:"(?=)",name:"meta.lang.$3.astro",patterns:[{include:"#tags-lang-start-attributes"}]},{include:"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{begin:"\\G",end:"(?=/>)|>",endCaptures:{0:{name:"punctuation.definition.tag.end.astro"}},name:"meta.tag.start.astro",patterns:[{include:"#attributes"}]},"tags-name":{patterns:[{match:"[A-Z]\\w*",name:"support.class.component.astro"},{match:"[a-z][\\w0-9:]*-[\\w0-9:-]*",name:"meta.tag.custom.astro entity.name.tag.astro"},{match:"[a-z][\\w0-9:-]*",name:"entity.name.tag.astro"}]},"tags-raw":{begin:"<([^/?!\\s<>]+)(?=[^>]+is:raw).*?",beginCaptures:{0:{patterns:[{include:"#tags-start-node"}]}},contentName:"source.unknown",end:"|/>",endCaptures:{0:{patterns:[{include:"#tags-end-node"}]}},name:"meta.scope.tag.$1.astro meta.raw.astro",patterns:[{include:"#tags-lang-start-attributes"}]},"tags-start-attributes":{begin:"\\G",end:"(?=/?>)",name:"meta.tag.start.astro",patterns:[{include:"#attributes"}]},"tags-start-node":{captures:{1:{name:"punctuation.definition.tag.begin.astro"},2:{patterns:[{include:"#tags-name"}]}},match:"(<)([^/\\s>/]*)",name:"meta.tag.start.astro"},"tags-void":{begin:"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\s|/?>)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.astro"},2:{name:"entity.name.tag.astro"}},end:"/?>",endCaptures:{0:{name:"punctuation.definition.tag.begin.astro"}},name:"meta.tag.void.astro",patterns:[{include:"#attributes"}]},text:{patterns:[{begin:"(?<=^|---|>|})",end:"(?=<|{|$)",name:"text.astro",patterns:[{include:"#entities"}]}]}},scopeName:"source.astro",embeddedLangs:["json","javascript","typescript","stylus","sass","css","scss","less","postcss","tsx"]}),eca=[...Uf,...Mr,...Qc,...KQ,...$x,...co,...Of,...qx,...NDe,...MV,Xsa]});var XNr={};Be(XNr,{default:()=>nca});var tca,nca,eLr=N(()=>{tca=Object.freeze({displayName:"AWK",fileTypes:["awk"],name:"awk",patterns:[{include:"#comment"},{include:"#procedure"},{include:"#pattern"}],repository:{"builtin-pattern":{match:"\\b(BEGINFILE|BEGIN|ENDFILE|END)\\b",name:"constant.language.awk"},command:{patterns:[{match:"\\b(?:next|print|printf)\\b",name:"keyword.other.command.awk"},{match:"\\b(?:close|getline|delete|system)\\b",name:"keyword.other.command.nawk"},{match:"\\b(?:fflush|nextfile)\\b",name:"keyword.other.command.bell-awk"}]},comment:{match:"#.*",name:"comment.line.number-sign.awk"},constant:{patterns:[{include:"#numeric-constant"},{include:"#string-constant"}]},"escaped-char":{match:'\\\\(?:[\\\\abfnrtv/"]|x[0-9A-Fa-f]{2}|[0-7]{3})',name:"constant.character.escape.awk"},expression:{patterns:[{include:"#command"},{include:"#function"},{include:"#constant"},{include:"#variable"},{include:"#regexp-in-expression"},{include:"#operator"},{include:"#groupings"}]},function:{patterns:[{match:"\\b(?:exp|int|log|sqrt|index|length|split|sprintf|substr)\\b",name:"support.function.awk"},{match:"\\b(?:atan2|cos|rand|sin|srand|gsub|match|sub|tolower|toupper)\\b",name:"support.function.nawk"},{match:"\\b(?:gensub|strftime|systime)\\b",name:"support.function.gawk"}]},"function-definition":{begin:"\\b(function)\\s+(\\w+)(\\()",beginCaptures:{1:{name:"storage.type.function.awk"},2:{name:"entity.name.function.awk"},3:{name:"punctuation.definition.parameters.begin.awk"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.awk"}},patterns:[{match:"\\b(\\w+)\\b",name:"variable.parameter.function.awk"},{match:"\\b(,)\\b",name:"punctuation.separator.parameters.awk"}]},groupings:{patterns:[{match:"\\(",name:"meta.brace.round.awk"},{match:"\\)",name:"meta.brace.round.awk"},{match:"\\,",name:"punctuation.separator.parameters.awk"}]},keyword:{match:"\\b(?:break|continue|do|while|exit|for|if|else|return)\\b",name:"keyword.control.awk"},"numeric-constant":{match:"\\b\\d+(?:\\.\\d+)?(?:e[+-]\\d+)?\\b",name:"constant.numeric.awk"},operator:{patterns:[{match:"(!?~|[=<>!]=|[<>])",name:"keyword.operator.comparison.awk"},{match:"\\b(in)\\b",name:"keyword.operator.comparison.awk"},{match:"([+\\-*/%^]=|\\+\\+|--|>>|=)",name:"keyword.operator.assignment.awk"},{match:"(\\|\\||&&|!)",name:"keyword.operator.boolean.awk"},{match:"([+\\-*/%^])",name:"keyword.operator.arithmetic.awk"},{match:"([?:])",name:"keyword.operator.trinary.awk"},{match:"(\\[|\\])",name:"keyword.operator.index.awk"}]},pattern:{patterns:[{include:"#regexp-as-pattern"},{include:"#function-definition"},{include:"#builtin-pattern"},{include:"#expression"}]},procedure:{begin:"\\{",end:"\\}",patterns:[{include:"#comment"},{include:"#procedure"},{include:"#keyword"},{include:"#expression"}]},"regex-as-assignment":{begin:"([^=<>!+\\-*/%^]=)\\s*(/)",beginCaptures:{1:{name:"keyword.operator.assignment.awk"},2:{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:"/",endCaptures:{0:{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regex-as-comparison":{begin:"(!?~)\\s*(/)",beginCaptures:{1:{name:"keyword.operator.comparison.awk"},2:{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:"/",endCaptures:{0:{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regex-as-first-argument":{begin:"(\\()\\s*(/)",beginCaptures:{1:{name:"meta.brace.round.awk"},2:{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:"/",endCaptures:{0:{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regex-as-nth-argument":{begin:"(,)\\s*(/)",beginCaptures:{1:{name:"punctuation.separator.parameters.awk"},2:{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:"/",endCaptures:{0:{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regexp-as-pattern":{begin:"/",beginCaptures:{0:{name:"punctuation.definition.regex.begin.awk"}},contentName:"string.regexp",end:"/",endCaptures:{0:{name:"punctuation.definition.regex.end.awk"}},patterns:[{include:"source.regexp"}]},"regexp-in-expression":{patterns:[{include:"#regex-as-assignment"},{include:"#regex-as-comparison"},{include:"#regex-as-first-argument"},{include:"#regex-as-nth-argument"}]},"string-constant":{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.awk"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.awk"}},name:"string.quoted.double.awk",patterns:[{include:"#escaped-char"}]},variable:{patterns:[{match:"\\$\\d+",name:"variable.language.awk"},{match:"\\b(?:FILENAME|FS|NF|NR|OFMT|OFS|ORS|RS)\\b",name:"variable.language.awk"},{match:"\\b(?:ARGC|ARGV|CONVFMT|ENVIRON|FNR|RLENGTH|RSTART|SUBSEP)\\b",name:"variable.language.nawk"},{match:"\\b(?:ARGIND|ERRNO|FIELDWIDTHS|IGNORECASE|RT)\\b",name:"variable.language.gawk"}]}},scopeName:"source.awk"}),nca=[tca]});var tLr={};Be(tLr,{default:()=>ica});var rca,ica,nLr=N(()=>{rca=Object.freeze({displayName:"Ballerina",fileTypes:["bal"],name:"ballerina",patterns:[{include:"#statements"}],repository:{"access-modifier":{patterns:[{match:"(?",beginCaptures:{0:{name:"meta.arrow.ballerina storage.type.function.arrow.ballerina"}},end:",|(?=\\})",patterns:[{include:"#code"}]}]},butExp:{patterns:[{begin:"\\bbut\\b",beginCaptures:{0:{name:"keyword.ballerina"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.ballerina.documentation"}},patterns:[{include:"#butExpBody"},{include:"#comment"}]}]},butExpBody:{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.ballerina.documentation"}},end:"(?=\\})",endCaptures:{0:{name:"punctuation.definition.block.ballerina.documentation"}},patterns:[{include:"#parameter"},{include:"#butClause"},{include:"#comment"}]}]},call:{patterns:[{match:"(?:\\')?([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=\\()",name:"entity.name.function.ballerina"}]},callableUnitBody:{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.ballerina"}},end:"(?=\\})",endCaptures:{0:{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#workerDef"},{include:"#service-decl"},{include:"#objectDec"},{include:"#function-defn"},{include:"#forkStatement"},{include:"#code"}]}]},"class-body":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.ballerina"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.ballerina"}},name:"meta.class.body.ballerina",patterns:[{include:"#comment"},{include:"#mdDocumentation"},{include:"#function-defn"},{include:"#var-expr"},{include:"#variable-initializer"},{include:"#access-modifier"},{include:"#keywords"},{begin:"(?<=:)\\s*",end:"(?=\\s|[;),}\\]:\\-\\+]|;|^\\s*$|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\b))"},{include:"#decl-block"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"}]},"class-defn":{begin:"(\\s+)(class\\b)|^class\\b(?=\\s+|/[/*])",beginCaptures:{0:{name:"storage.type.class.ballerina keyword.other.ballerina"}},end:"(?<=\\})",name:"meta.class.ballerina",patterns:[{include:"#keywords"},{captures:{0:{name:"entity.name.type.class.ballerina"}},match:"[_$A-Za-z][_$0-9A-Za-z]*"},{include:"#class-body"}]},code:{patterns:[{include:"#booleans"},{include:"#matchStatement"},{include:"#butExp"},{include:"#xml"},{include:"#stringTemplate"},{include:"#keywords"},{include:"#strings"},{include:"#comment"},{include:"#mdDocumentation"},{include:"#annotationAttachment"},{include:"#numbers"},{include:"#maps"},{include:"#paranthesised"},{include:"#paranthesisedBracket"},{include:"#regex"}]},comment:{patterns:[{match:"\\/\\/.*",name:"comment.ballerina"}]},constrainType:{patterns:[{begin:"<",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.ballerina"}},end:">",endCaptures:{0:{name:"punctuation.definition.parameters.end.ballerina"}},patterns:[{include:"#comment"},{include:"#constrainType"},{match:"\\b([_$A-Za-z][_$0-9A-Za-z]*)\\b",name:"storage.type.ballerina"}]}]},"control-statement":{patterns:[{begin:"(?)",patterns:[{include:"#code"}]}]},expression:{patterns:[{include:"#keywords"},{include:"#expressionWithoutIdentifiers"},{include:"#identifiers"},{include:"#regex"}]},"expression-operators":{patterns:[{match:"\\*=|(?>=|>>>=|\\|=",name:"keyword.operator.assignment.compound.bitwise.ballerina"},{match:"<<|>>>|>>",name:"keyword.operator.bitwise.shift.ballerina"},{match:"===|!==|==|!=",name:"keyword.operator.comparison.ballerina"},{match:"<=|>=|<>|<|>",name:"keyword.operator.relational.ballerina"},{captures:{1:{name:"keyword.operator.logical.ballerina"},2:{name:"keyword.operator.assignment.compound.ballerina"},3:{name:"keyword.operator.arithmetic.ballerina"}},match:"(?<=[_$0-9A-Za-z])(\\!)\\s*(?:(/=)|(?:(/)(?![/*])))"},{match:"\\!|&&|\\|\\||\\?\\?",name:"keyword.operator.logical.ballerina"},{match:"\\&|~|\\^|\\|",name:"keyword.operator.bitwise.ballerina"},{match:"\\=",name:"keyword.operator.assignment.ballerina"},{match:"--",name:"keyword.operator.decrement.ballerina"},{match:"\\+\\+",name:"keyword.operator.increment.ballerina"},{match:"%|\\*|/|-|\\+",name:"keyword.operator.arithmetic.ballerina"}]},expressionWithoutIdentifiers:{patterns:[{include:"#xml"},{include:"#string"},{include:"#stringTemplate"},{include:"#comment"},{include:"#object-literal"},{include:"#ternary-expression"},{include:"#expression-operators"},{include:"#literal"},{include:"#paranthesised"},{include:"#regex"}]},"flags-on-off":{name:"meta.flags.regexp.ballerina",patterns:[{begin:"(\\??)([imsx]*)(-?)([imsx]*)(:)",beginCaptures:{1:{name:"punctuation.other.non-capturing-group-begin.regexp.ballerina"},2:{name:"keyword.other.non-capturing-group.flags-on.regexp.ballerina"},3:{name:"punctuation.other.non-capturing-group.off.regexp.ballerina"},4:{name:"keyword.other.non-capturing-group.flags-off.regexp.ballerina"},5:{name:"punctuation.other.non-capturing-group-end.regexp.ballerina"}},end:"()",name:"constant.other.flag.regexp.ballerina",patterns:[{include:"#regexp"},{include:"#template-substitution-element"}]}]},"for-loop":{begin:"(?",beginCaptures:{0:{name:"meta.arrow.ballerina storage.type.function.arrow.ballerina"}},end:"(?=\\;)|(?=\\,)|(?=)(?=\\);)",name:"meta.block.ballerina",patterns:[{include:"#statements"},{include:"#punctuation-comma"}]},{match:"\\*",name:"keyword.generator.asterisk.ballerina"}]},"function-defn":{begin:"(?:(public|private)\\s+)?(function\\b)",beginCaptures:{1:{name:"keyword.other.ballerina"},2:{name:"keyword.other.ballerina"}},end:"(?<=\\;)|(?<=\\})|(?<=\\,)|(?=)(?=\\);)",name:"meta.function.ballerina",patterns:[{match:"\\bexternal\\b",name:"keyword.ballerina"},{include:"#stringTemplate"},{include:"#annotationAttachment"},{include:"#functionReturns"},{include:"#functionName"},{include:"#functionParameters"},{include:"#punctuation-semicolon"},{include:"#function-body"},{include:"#regex"}]},"function-parameters-body":{patterns:[{include:"#comment"},{include:"#numbers"},{include:"#string"},{include:"#annotationAttachment"},{include:"#recordLiteral"},{include:"#keywords"},{include:"#parameter-name"},{include:"#array-literal"},{include:"#variable-initializer"},{include:"#identifiers"},{include:"#regex"},{match:"\\,",name:"punctuation.separator.parameter.ballerina"}]},functionName:{patterns:[{match:"\\bfunction\\b",name:"keyword.other.ballerina"},{include:"#type-primitive"},{include:"#self-literal"},{include:"#string"},{captures:{2:{name:"variable.language.this.ballerina"},3:{name:"keyword.other.ballerina"},4:{name:"support.type.primitive.ballerina"},5:{name:"storage.type.ballerina"},6:{name:"meta.definition.function.ballerina entity.name.function.ballerina"}},match:"\\s+(\\b(self)|\\b(is|new|isolated|null|function|in)\\b|(string|int|boolean|float|byte|decimal|json|xml|anydata)\\b|\\b(readonly|error|map)\\b|([_$A-Za-z][_$0-9A-Za-z]*))"}]},functionParameters:{begin:"\\(|\\[",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.ballerina"}},end:"\\)|\\]",endCaptures:{0:{name:"punctuation.definition.parameters.end.ballerina"}},name:"meta.parameters.ballerina",patterns:[{include:"#function-parameters-body"}]},functionReturns:{begin:"\\s*(returns)\\s*",beginCaptures:{1:{name:"keyword.other.ballerina"}},end:"(?==>)|(\\=)|(?=\\{)|(\\))|(?=\\;)",endCaptures:{1:{name:"keyword.operator.ballerina"}},name:"meta.type.function.return.ballerina",patterns:[{include:"#comment"},{include:"#string"},{include:"#numbers"},{include:"#keywords"},{include:"#type-primitive"},{captures:{1:{name:"support.type.primitive.ballerina"}},match:"\\s*\\b(var)(?=\\s+|\\[|\\?)"},{match:"\\|",name:"keyword.operator.ballerina"},{match:"\\?",name:"keyword.operator.optional.ballerina"},{include:"#type-annotation"},{include:"#type-tuple"},{include:"#keywords"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"variable.other.readwrite.ballerina"}]},functionType:{patterns:[{begin:"\\bfunction\\b",beginCaptures:{0:{name:"keyword.ballerina"}},end:"(?=\\,)|(?=\\|)|(?=\\:)|(?==>)|(?=\\))|(?=\\])",patterns:[{include:"#comment"},{include:"#functionTypeParamList"},{include:"#functionTypeReturns"}]}]},functionTypeParamList:{patterns:[{begin:"\\(",beginCaptures:{0:{name:"delimiter.parenthesis"}},end:"\\)",endCaptures:{0:{name:"delimiter.parenthesis"}},patterns:[{match:"public",name:"keyword"},{include:"#annotationAttachment"},{include:"#recordLiteral"},{include:"#record"},{include:"#objectDec"},{include:"#functionType"},{include:"#constrainType"},{include:"#parameterTuple"},{include:"#functionTypeType"},{include:"#comment"}]}]},functionTypeReturns:{patterns:[{begin:"\\breturns\\b",beginCaptures:{0:{name:"keyword"}},end:"(?=\\,)|(?:\\|)|(?=\\])|(?=\\))",patterns:[{include:"#functionTypeReturnsParameter"},{include:"#comment"}]}]},functionTypeReturnsParameter:{patterns:[{begin:"((?=record|object|function)|(?:[_$A-Za-z][_$0-9A-Za-z]*))",beginCaptures:{0:{name:"storage.type.ballerina"}},end:"(?=\\,)|(?:\\|)|(?:\\:)|(?==>)|(?=\\))|(?=\\])",patterns:[{include:"#record"},{include:"#objectDec"},{include:"#functionType"},{include:"#constrainType"},{include:"#defaultValue"},{include:"#comment"},{include:"#parameterTuple"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"default.variable.parameter.ballerina"}]}]},functionTypeType:{patterns:[{begin:"[_$A-Za-z][_$0-9A-Za-z]*",beginCaptures:{0:{name:"storage.type.ballerina"}},end:"(?=\\,)|(?:\\|)|(?=\\])|(?=\\))"}]},identifiers:{patterns:[{captures:{1:{name:"punctuation.accessor.ballerina"},2:{name:"punctuation.accessor.optional.ballerina"},3:{name:"entity.name.function.ballerina"}},match:"(?:(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)(?=\\s*=\\s*((((function\\s*[(<*])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)))|((((<\\s*$)|((<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|((<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>)))))"},{captures:{1:{name:"punctuation.accessor.ballerina"},2:{name:"punctuation.accessor.optional.ballerina"},3:{name:"entity.name.function.ballerina"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=\\()"},{captures:{1:{name:"punctuation.accessor.ballerina"},2:{name:"punctuation.accessor.optional.ballerina"},3:{name:"variable.other.property.ballerina"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))\\s*(\\#?[_$A-Za-z][_$0-9A-Za-z]*)"},{include:"#type-primitive"},{include:"#self-literal"},{match:"\\b(check|foreach|if|checkpanic)\\b",name:"keyword.control.ballerina"},{include:"#call"},{match:"\\b(var)\\b",name:"support.type.primitive.ballerina"},{captures:{1:{name:"variable.other.readwrite.ballerina"},3:{name:"punctuation.accessor.ballerina"},4:{name:"entity.name.function.ballerina"},5:{name:"punctuation.definition.parameters.begin.ballerina"},6:{name:"punctuation.definition.parameters.end.ballerina"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)((\\.)([_$A-Za-z][_$0-9A-Za-z]*)(\\()(\\)))?"},{match:"(\\')([_$A-Za-z][_$0-9A-Za-z]*)",name:"variable.other.property.ballerina"},{include:"#type-annotation"}]},"if-statement":{patterns:[{begin:"(?)",name:"meta.arrow.ballerina storage.type.function.arrow.ballerina"},{match:"(!|%|\\+|\\-|~=|===|==|=|!=|!==|<|>|&|\\||\\?:|\\.\\.\\.|<=|>=|&&|\\|\\||~|>>|>>>)",name:"keyword.operator.ballerina"},{include:"#types"},{include:"#self-literal"},{include:"#type-primitive"}]},literal:{patterns:[{include:"#booleans"},{include:"#numbers"},{include:"#strings"},{include:"#maps"},{include:"#self-literal"},{include:"#array-literal"}]},maps:{patterns:[{begin:"\\{",end:"\\}",patterns:[{include:"#code"}]}]},matchBindingPattern:{patterns:[{begin:"var",beginCaptures:{0:{name:"storage.type.ballerina"}},end:"(?==>)|,",patterns:[{include:"#errorDestructure"},{include:"#code"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"variable.parameter.ballerina"}]}]},matchStatement:{patterns:[{begin:"\\bmatch\\b",beginCaptures:{0:{name:"keyword.control.ballerina"}},end:"\\}",patterns:[{include:"#matchStatementBody"},{include:"#comment"},{include:"#code"}]}]},matchStatementBody:{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.ballerina.documentation"}},end:"(?=\\})",endCaptures:{0:{name:"punctuation.definition.block.ballerina.documentation"}},patterns:[{include:"#literal"},{include:"#matchBindingPattern"},{include:"#matchStatementPatternClause"},{include:"#comment"},{include:"#code"}]}]},matchStatementPatternClause:{patterns:[{begin:"=>",beginCaptures:{0:{name:"keyword.ballerina"}},end:"((\\})|;|,)",patterns:[{include:"#callableUnitBody"},{include:"#code"}]}]},mdDocumentation:{begin:"\\#",end:"[\\r\\n]+",name:"comment.mddocs.ballerina",patterns:[{include:"#mdDocumentationReturnParamDescription"},{include:"#mdDocumentationParamDescription"}]},mdDocumentationParamDescription:{patterns:[{begin:"(\\+\\s+)(\\'?[_$A-Za-z][_$0-9A-Za-z]*)(\\s*\\-\\s+)",beginCaptures:{1:{name:"keyword.operator.ballerina"},2:{name:"variable.other.readwrite.ballerina"},3:{name:"keyword.operator.ballerina"}},end:"(?=[^#\\r\\n]|(?:# *?\\+))",patterns:[{match:"#.*",name:"comment.mddocs.paramdesc.ballerina"}]}]},mdDocumentationReturnParamDescription:{patterns:[{begin:"(#)(?: *?)(\\+)(?: *)(return)(?: *)(-)?(.*)",beginCaptures:{1:{name:"comment.mddocs.ballerina"},2:{name:"keyword.ballerina"},3:{name:"keyword.ballerina"},4:{name:"keyword.ballerina"},5:{name:"comment.mddocs.returnparamdesc.ballerina"}},end:"(?=[^#\\r\\n]|(?:# *?\\+))",patterns:[{match:"#.*",name:"comment.mddocs.returnparamdesc.ballerina"}]}]},multiType:{patterns:[{match:"(?<=\\|)([_$A-Za-z][_$0-9A-Za-z]*)|([_$A-Za-z][_$0-9A-Za-z]*)(?=\\|)",name:"storage.type.ballerina"},{match:"\\|",name:"keyword.operator.ballerina"}]},numbers:{patterns:[{match:"\\b0[xX][\\da-fA-F]+\\b|\\b\\d+(?:\\.(?:\\d+|$))?",name:"constant.numeric.decimal.ballerina"}]},"object-literal":{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.ballerina"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.ballerina"}},name:"meta.objectliteral.ballerina",patterns:[{include:"#object-member"},{include:"#punctuation-comma"}]},"object-member":{patterns:[{include:"#comment"},{include:"#function-defn"},{include:"#literal"},{include:"#keywords"},{include:"#expression"},{begin:"(?=\\[)",end:"(?=:)|((?<=[\\]])(?=\\s*[\\(\\<]))",name:"meta.object.member.ballerina meta.object-literal.key.ballerina",patterns:[{include:"#comment"}]},{begin:"(?=[\\'\\\"\\`])",end:"(?=:)|((?<=[\\'\\\"\\`])(?=((\\s*[\\(\\<,}])|(\\n*})|(\\s+(as)\\s+))))",name:"meta.object.member.ballerina meta.object-literal.key.ballerina",patterns:[{include:"#comment"},{include:"#string"}]},{begin:"(?=(\\b(?)))|((((<\\s*$)|((<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[\\(]\\s*((([\\{\\[]\\s*)?$)|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\s*((:\\s*\\{?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\s*((:\\s*\\[?$)|((\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\s*)?=\\s*))))))|((<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?[(]\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([)]\\s*:)|((\\.\\.\\.\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\s*:)))|((<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<]|\\<\\s*([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^=<>]|=[^<])*\\>)*\\>)*>\\s*)?\\(\\s*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*(([_$A-Za-z]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\s*[_$A-Za-z]))([^()\\'\\\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`))*)?\\)(\\s*:\\s*([^<>\\(\\)\\{\\}]|\\<([^<>]|\\<([^<>]|\\<[^<>]+\\>)+\\>)+\\>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\s*=>))))))",name:"meta.object.member.ballerina"},{captures:{0:{name:"meta.object-literal.key.ballerina"}},match:"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\s*)*:)",name:"meta.object.member.ballerina"},{begin:"\\.\\.\\.",beginCaptures:{0:{name:"keyword.operator.spread.ballerina"}},end:"(?=,|\\})",name:"meta.object.member.ballerina",patterns:[{include:"#expression"}]},{captures:{1:{name:"variable.other.readwrite.ballerina"}},match:"([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=,|\\}|$|\\/\\/|\\/\\*)",name:"meta.object.member.ballerina"},{captures:{1:{name:"keyword.control.as.ballerina"},2:{name:"storage.modifier.ballerina"}},match:"(?]|\\|\\||\\&\\&|\\!\\=\\=|$|^|((?)|(?=\\))|(?=\\])",patterns:[{include:"#parameterWithDescriptor"},{include:"#record"},{include:"#objectDec"},{include:"#functionType"},{include:"#constrainType"},{include:"#defaultValue"},{include:"#comment"},{include:"#parameterTuple"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"default.variable.parameter.ballerina"}]}]},"parameter-name":{patterns:[{captures:{1:{name:"support.type.primitive.ballerina"}},match:"\\s*\\b(var)\\s+"},{captures:{2:{name:"keyword.operator.rest.ballerina"},3:{name:"support.type.primitive.ballerina"},4:{name:"keyword.other.ballerina"},5:{name:"constant.language.boolean.ballerina"},6:{name:"keyword.control.flow.ballerina"},7:{name:"storage.type.ballerina"},8:{name:"variable.parameter.ballerina"},9:{name:"variable.parameter.ballerina"},10:{name:"keyword.operator.optional.ballerina"}},match:"(?:(?)|(?=\\))",patterns:[{include:"#record"},{include:"#objectDec"},{include:"#parameterTupleType"},{include:"#parameterTupleEnd"},{include:"#comment"}]}]},parameterTupleEnd:{patterns:[{begin:"\\]",end:"(?=\\,)|(?=\\|)|(?=\\:)|(?==>)|(?=\\))",patterns:[{include:"#defaultWithParentheses"},{match:"[_$A-Za-z][_$0-9A-Za-z]*",name:"default.variable.parameter.ballerina"}]}]},parameterTupleType:{patterns:[{begin:"[_$A-Za-z][_$0-9A-Za-z]*",beginCaptures:{0:{name:"storage.type.ballerina"}},end:"(?:\\,)|(?:\\|)|(?=\\])"}]},parameterWithDescriptor:{patterns:[{begin:"\\&",beginCaptures:{0:{name:"keyword.operator.ballerina"}},end:"(?=\\,)|(?=\\|)|(?=\\))",patterns:[{include:"#parameter"}]}]},parameters:{patterns:[{match:"\\s*(return|break|continue|check|checkpanic|panic|trap|from|where)\\b",name:"keyword.control.flow.ballerina"},{match:"\\s*(let|select)\\b",name:"keyword.other.ballerina"},{match:"\\,",name:"punctuation.separator.parameter.ballerina"}]},paranthesised:{begin:"\\(",beginCaptures:{0:{name:"meta.brace.round.ballerina"}},end:"\\)",endCaptures:{0:{name:"meta.brace.round.ballerina"}},name:"meta.brace.round.block.ballerina",patterns:[{include:"#self-literal"},{include:"#function-defn"},{include:"#decl-block"},{include:"#comment"},{include:"#string"},{include:"#parameters"},{include:"#annotationAttachment"},{include:"#recordLiteral"},{include:"#stringTemplate"},{include:"#parameter-name"},{include:"#variable-initializer"},{include:"#expression"},{include:"#regex"}]},paranthesisedBracket:{patterns:[{begin:"\\[",end:"\\]",patterns:[{include:"#comment"},{include:"#code"}]}]},"punctuation-accessor":{patterns:[{captures:{1:{name:"punctuation.accessor.ballerina"},2:{name:"punctuation.accessor.optional.ballerina"}},match:"(?:(\\.)|(\\?\\.(?!\\s*[\\d])))"}]},"punctuation-comma":{patterns:[{match:",",name:"punctuation.separator.comma.ballerina"}]},"punctuation-semicolon":{patterns:[{match:";",name:"punctuation.terminator.statement.ballerina"}]},record:{begin:"\\brecord\\b",beginCaptures:{0:{name:"keyword.other.ballerina"}},end:"(?<=\\})",name:"meta.record.ballerina",patterns:[{include:"#recordBody"}]},recordBody:{patterns:[{include:"#decl-block"}]},recordLiteral:{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.block.ballerina"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.block.ballerina"}},patterns:[{include:"#code"}]}]},regex:{patterns:[{begin:"(\\bre)(\\s*)(`)",beginCaptures:{1:{name:"support.type.primitive.ballerina"},3:{name:"punctuation.definition.regexp.template.begin.ballerina"}},end:"`",endCaptures:{1:{name:"punctuation.definition.regexp.template.end.ballerina"}},name:"regexp.template.ballerina",patterns:[{include:"#template-substitution-element"},{include:"#regexp"}]}]},"regex-character-class":{patterns:[{match:"\\\\[wWsSdDtrn]|\\.",name:"keyword.other.character-class.regexp.ballerina"},{match:"\\\\[^pPu]",name:"constant.character.escape.backslash.regexp"}]},"regex-unicode-properties-general-category":{patterns:[{match:"(Lu|Ll|Lt|Lm|Lo|L|Mn|Mc|Me|M|Nd|Nl|No|N|Pc|Pd|Ps|Pe|Pi|Pf|Po|P|Sm|Sc|Sk|So|S|Zs|Zl|Zp|Z|Cf|Cc|Cn|Co|C)",name:"constant.other.unicode-property-general-category.regexp.ballerina"}]},"regex-unicode-property-key":{patterns:[{begin:"(sc=|gc=)",beginCaptures:{1:{name:"keyword.other.unicode-property-key.regexp.ballerina"}},end:"()",endCaptures:{1:{name:"punctuation.other.unicode-property.end.regexp.ballerina"}},name:"keyword.other.unicode-property-key.regexp.ballerina",patterns:[{include:"#regex-unicode-properties-general-category"}]}]},regexp:{patterns:[{match:"\\^|\\$",name:"keyword.control.assertion.regexp.ballerina"},{match:"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??",name:"keyword.operator.quantifier.regexp.ballerina"},{match:"\\|",name:"keyword.operator.or.regexp.ballerina"},{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.group.regexp.ballerina"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.group.regexp.ballerina"}},name:"meta.group.assertion.regexp.ballerina",patterns:[{include:"#template-substitution-element"},{include:"#regexp"},{include:"#flags-on-off"},{include:"#unicode-property-escape"}]},{begin:"(\\[)(\\^)?",beginCaptures:{1:{name:"punctuation.definition.character-class.start.regexp.ballerina"},2:{name:"keyword.operator.negation.regexp.ballerina"}},end:"(\\])",endCaptures:{1:{name:"punctuation.definition.character-class.end.regexp.ballerina"}},name:"constant.other.character-class.set.regexp.ballerina",patterns:[{captures:{1:{name:"constant.character.numeric.regexp"},2:{name:"constant.character.escape.backslash.regexp"},3:{name:"constant.character.numeric.regexp"},4:{name:"constant.character.escape.backslash.regexp"}},match:"(?:.|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\[^pPu]))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\[^pPu]))",name:"constant.other.character-class.range.regexp.ballerina"},{include:"#regex-character-class"},{include:"#unicode-values"},{include:"#unicode-property-escape"}]},{include:"#template-substitution-element"},{include:"#regex-character-class"},{include:"#unicode-values"},{include:"#unicode-property-escape"}]},"self-literal":{patterns:[{captures:{1:{name:"variable.language.this.ballerina"},2:{name:"punctuation.accessor.ballerina"},3:{name:"entity.name.function.ballerina"}},match:"(\\bself\\b)\\s*(.)\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\s*(?=\\()"},{match:"(?\\=>]|//)|(?==[^>])|((?<=[\\}>\\]\\)]|[_$A-Za-z])\\s*(?=\\{)))(\\?)?",name:"meta.type.annotation.ballerina",patterns:[{include:"#booleans"},{include:"#stringTemplate"},{include:"#regex"},{include:"#self-literal"},{include:"#xml"},{include:"#call"},{captures:{1:{name:"keyword.other.ballerina"},2:{name:"constant.language.boolean.ballerina"},3:{name:"keyword.control.ballerina"},4:{name:"storage.type.ballerina"},5:{name:"support.type.primitive.ballerina"},6:{name:"variable.other.readwrite.ballerina"},8:{name:"punctuation.accessor.ballerina"},9:{name:"entity.name.function.ballerina"},10:{name:"punctuation.definition.parameters.begin.ballerina"},11:{name:"punctuation.definition.parameters.end.ballerina"}},match:"\\b(is|new|isolated|null|function|in)\\b|\\b(true|false)\\b|\\b(check|foreach|if|checkpanic)\\b|\\b(readonly|error|map)\\b|\\b(var)\\b|([_$A-Za-z][_$0-9A-Za-z]*)((\\.)([_$A-Za-z][_$0-9A-Za-z]*)(\\()(\\)))?"},{match:"\\?",name:"keyword.operator.optional.ballerina"},{include:"#multiType"},{include:"#type"},{include:"#paranthesised"}]}]},"type-primitive":{patterns:[{match:"(?|\\|)",beginCaptures:{2:{name:"support.type.primitive.ballerina"},3:{name:"storage.type.ballerina"},4:{name:"meta.definition.variable.ballerina variable.other.readwrite.ballerina"}},end:"(?=$|^|[;,=}])",endCaptures:{0:{name:"punctuation.terminator.statement.ballerina"}},name:"meta.var-single-variable.expr.ballerina",patterns:[{include:"#call"},{include:"#self-literal"},{include:"#if-statement"},{include:"#string"},{include:"#numbers"},{include:"#keywords"}]},{begin:"([_$A-Za-z][_$0-9A-Za-z]*)\\s+(\\!)?",beginCaptures:{1:{name:"meta.definition.variable.ballerina variable.other.readwrite.ballerina"},2:{name:"keyword.operator.definiteassignment.ballerina"}},end:"(?=$|^|[;,=}]|((?)(?=\\s*\\S)",beginCaptures:{1:{name:"keyword.operator.assignment.ballerina"}},end:"(?=$|[,);}\\]])",patterns:[{match:"(\\')([_$A-Za-z][_$0-9A-Za-z]*)",name:"variable.other.property.ballerina"},{include:"#xml"},{include:"#function-defn"},{include:"#expression"},{include:"#punctuation-accessor"},{include:"#regex"}]},{begin:"(?)",beginCaptures:{1:{name:"keyword.operator.assignment.ballerina"}},end:"(?=[,);}\\]]|((?",endCaptures:{0:{name:"comment.block.xml.ballerina"}},name:"comment.block.xml.ballerina"}]},xmlDoubleQuotedString:{patterns:[{begin:'\\"',beginCaptures:{0:{name:"string.begin.ballerina"}},end:'\\"',endCaptures:{0:{name:"string.end.ballerina"}},patterns:[{match:"\\\\.",name:"constant.character.escape.ballerina"},{match:".",name:"string"}]}]},xmlSingleQuotedString:{patterns:[{begin:"\\'",beginCaptures:{0:{name:"string.begin.ballerina"}},end:"\\'",endCaptures:{0:{name:"string.end.ballerina"}},patterns:[{match:"\\\\.",name:"constant.character.escape.ballerina"},{match:".",name:"string"}]}]},xmlTag:{patterns:[{begin:"(<\\/?\\??)\\s*([-_a-zA-Z0-9]+)",beginCaptures:{1:{name:"punctuation.definition.tag.begin.xml.ballerina"},2:{name:"entity.name.tag.xml.ballerina"}},end:"\\??\\/?>",endCaptures:{0:{name:"punctuation.definition.tag.end.xml.ballerina"}},patterns:[{include:"#xmlSingleQuotedString"},{include:"#xmlDoubleQuotedString"},{match:"xmlns",name:"keyword.other.ballerina"},{match:"([a-zA-Z0-9-]+)",name:"entity.other.attribute-name.xml.ballerina"}]}]}},scopeName:"source.ballerina"}),ica=[rca]});var rLr={};Be(rLr,{default:()=>cZt});var oca,cZt,lZt=N(()=>{oca=Object.freeze({displayName:"Batch File",injections:{"L:meta.block.repeat.batchfile":{patterns:[{include:"#repeatParameter"}]}},name:"bat",patterns:[{include:"#commands"},{include:"#comments"},{include:"#constants"},{include:"#controls"},{include:"#escaped_characters"},{include:"#labels"},{include:"#numbers"},{include:"#operators"},{include:"#parens"},{include:"#strings"},{include:"#variables"}],repository:{command_set:{patterns:[{begin:"(?<=^|[\\s@])(?i:SET)(?=$|\\s)",beginCaptures:{0:{name:"keyword.command.batchfile"}},end:"(?=$\\n|[&|><)])",patterns:[{include:"#command_set_inside"}]}]},command_set_group:{patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.group.begin.batchfile"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.group.end.batchfile"}},patterns:[{include:"#command_set_inside_arithmetic"}]}]},command_set_inside:{patterns:[{include:"#escaped_characters"},{include:"#variables"},{include:"#numbers"},{include:"#parens"},{include:"#command_set_strings"},{include:"#strings"},{begin:"([^ ][^=]*)(=)",beginCaptures:{1:{name:"variable.other.readwrite.batchfile"},2:{name:"keyword.operator.assignment.batchfile"}},end:"(?=$\\n|[&|><)])",patterns:[{include:"#escaped_characters"},{include:"#variables"},{include:"#numbers"},{include:"#parens"},{include:"#strings"}]},{begin:"\\s+/[aA]\\s+",end:"(?=$\\n|[&|><)])",name:"meta.expression.set.batchfile",patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.batchfile"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.batchfile"}},name:"string.quoted.double.batchfile",patterns:[{include:"#command_set_inside_arithmetic"},{include:"#command_set_group"},{include:"#variables"}]},{include:"#command_set_inside_arithmetic"},{include:"#command_set_group"}]},{begin:"\\s+/[pP]\\s+",end:"(?=$\\n|[&|><)])",patterns:[{include:"#command_set_strings"},{begin:"([^ ][^=]*)(=)",beginCaptures:{1:{name:"variable.other.readwrite.batchfile"},2:{name:"keyword.operator.assignment.batchfile"}},end:"(?=$\\n|[&|><)])",name:"meta.prompt.set.batchfile",patterns:[{include:"#strings"}]}]}]},command_set_inside_arithmetic:{patterns:[{include:"#command_set_operators"},{include:"#numbers"},{match:",",name:"punctuation.separator.batchfile"}]},command_set_operators:{patterns:[{captures:{1:{name:"variable.other.readwrite.batchfile"},2:{name:"keyword.operator.assignment.augmented.batchfile"}},match:"([^ ]*)(\\+\\=|\\-\\=|\\*\\=|\\/\\=|%%\\=|&\\=|\\|\\=|\\^\\=|<<\\=|>>\\=)"},{match:"\\+|\\-|/|\\*|%%|\\||&|\\^|<<|>>|~",name:"keyword.operator.arithmetic.batchfile"},{match:"!",name:"keyword.operator.logical.batchfile"},{captures:{1:{name:"variable.other.readwrite.batchfile"},2:{name:"keyword.operator.assignment.batchfile"}},match:"([^ =]*)(=)"}]},command_set_strings:{patterns:[{begin:'(")\\s*([^ ][^=]*)(=)',beginCaptures:{1:{name:"punctuation.definition.string.begin.batchfile"},2:{name:"variable.other.readwrite.batchfile"},3:{name:"keyword.operator.assignment.batchfile"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.batchfile"}},name:"string.quoted.double.batchfile",patterns:[{include:"#variables"},{include:"#numbers"},{include:"#escaped_characters"}]}]},commands:{patterns:[{match:"(?<=^|[\\s@])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net use|net user|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scp|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|sftp|shadow|shift|showmount|shutdown|sort|ssh|ssh-add|ssh-agent|ssh-keygen|ssh-keyscan|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|wmic|wscript|wsl|xcopy)(?=$|\\s)",name:"keyword.command.batchfile"},{begin:"(?i)(?<=^|[\\s@])(echo)(?:(?=$|\\.|:)|\\s+(?:(on|off)(?=\\s*$))?)",beginCaptures:{1:{name:"keyword.command.batchfile"},2:{name:"keyword.other.special-method.batchfile"}},end:"(?=$\\n|[&|><)])",patterns:[{include:"#escaped_characters"},{include:"#variables"},{include:"#numbers"},{include:"#strings"}]},{captures:{1:{name:"keyword.command.batchfile"},2:{name:"keyword.other.special-method.batchfile"}},match:"(?i)(?<=^|[\\s@])(setlocal)(?:\\s*$|\\s+(EnableExtensions|DisableExtensions|EnableDelayedExpansion|DisableDelayedExpansion)(?=\\s*$))"},{include:"#command_set"}]},comments:{patterns:[{begin:"(?:^|(&))\\s*(?=((?::[+=,;: ])))",beginCaptures:{1:{name:"keyword.operator.conditional.batchfile"}},end:"\\n",patterns:[{begin:"((?::[+=,;: ]))",beginCaptures:{1:{name:"punctuation.definition.comment.batchfile"}},end:"(?=\\n)",name:"comment.line.colon.batchfile"}]},{begin:"(?<=^|[\\s@])(?i)(REM)(\\.)",beginCaptures:{1:{name:"keyword.command.rem.batchfile"},2:{name:"punctuation.separator.batchfile"}},end:"(?=$\\n|[&|><)])",name:"comment.line.rem.batchfile"},{begin:"(?<=^|[\\s@])(?i:rem)\\b",beginCaptures:{0:{name:"keyword.command.rem.batchfile"}},end:"\\n",name:"comment.line.rem.batchfile",patterns:[{match:"[><|]",name:"invalid.illegal.unexpected-character.batchfile"}]}]},constants:{patterns:[{match:"\\b(?i:NUL)\\b",name:"constant.language.batchfile"}]},controls:{patterns:[{match:"(?i)(?<=^|\\s)(?:call|exit(?=$|\\s)|goto(?=$|\\s|:))",name:"keyword.control.statement.batchfile"},{captures:{1:{name:"keyword.control.conditional.batchfile"},2:{name:"keyword.operator.logical.batchfile"},3:{name:"keyword.other.special-method.batchfile"}},match:"(?<=^|\\s)(?i)(if)\\s+(?:(not)\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\s)"},{match:"(?<=^|\\s)(?i)(?:if|else)(?=$|\\s)",name:"keyword.control.conditional.batchfile"},{begin:"(?<=^|[\\s(&^])(?i)for(?=\\s)",beginCaptures:{0:{name:"keyword.control.repeat.batchfile"}},end:"\\n",name:"meta.block.repeat.batchfile",patterns:[{begin:"(?<=[\\s^])(?i)in(?=\\s)",beginCaptures:{0:{name:"keyword.control.repeat.in.batchfile"}},end:"(?<=[\\s)^])(?i)do(?=\\s)|\\n",endCaptures:{0:{name:"keyword.control.repeat.do.batchfile"}},patterns:[{include:"$self"}]},{include:"$self"}]}]},escaped_characters:{patterns:[{match:"%%|\\^\\^!|\\^(?=.)|\\^\\n",name:"constant.character.escape.batchfile"}]},labels:{patterns:[{captures:{1:{name:"punctuation.separator.batchfile"},2:{name:"keyword.other.special-method.batchfile"}},match:"(?i)(?:^\\s*|(?<=call|goto)\\s*)(:)([^+=,;:\\s]\\S*)"}]},numbers:{patterns:[{match:"(?<=^|\\s|=)(0[xX][0-9A-Fa-f]*|[+-]?\\d+)(?=$|\\s|<|>)",name:"constant.numeric.batchfile"}]},operators:{patterns:[{match:"@(?=\\S)",name:"keyword.operator.at.batchfile"},{match:"(?<=\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\s)|==",name:"keyword.operator.comparison.batchfile"},{match:"(?<=\\s)(?i)(NOT)(?=\\s)",name:"keyword.operator.logical.batchfile"},{match:"(?[&>]?",name:"keyword.operator.redirection.batchfile"}]},parens:{patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.group.begin.batchfile"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.group.end.batchfile"}},name:"meta.group.batchfile",patterns:[{match:",|;",name:"punctuation.separator.batchfile"},{include:"$self"}]}]},repeatParameter:{patterns:[{captures:{1:{name:"punctuation.definition.variable.batchfile"}},match:"(%%)(?:(?i:~[fdpnxsatz]*(?:\\$PATH:)?)?[a-zA-Z])",name:"variable.parameter.repeat.batchfile"}]},strings:{patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.batchfile"}},end:'(")|(\\n)',endCaptures:{1:{name:"punctuation.definition.string.end.batchfile"},2:{name:"invalid.illegal.newline.batchfile"}},name:"string.quoted.double.batchfile",patterns:[{match:"%%",name:"constant.character.escape.batchfile"},{include:"#variables"}]}]},variable:{patterns:[{begin:"%(?=[^%]+%)",beginCaptures:{0:{name:"punctuation.definition.variable.begin.batchfile"}},end:"(%)|\\n",endCaptures:{1:{name:"punctuation.definition.variable.end.batchfile"}},name:"variable.other.readwrite.batchfile",patterns:[{begin:":~",beginCaptures:{0:{name:"punctuation.separator.batchfile"}},end:"(?=%|\\n)",name:"meta.variable.substring.batchfile",patterns:[{include:"#variable_substring"}]},{begin:":",beginCaptures:{0:{name:"punctuation.separator.batchfile"}},end:"(?=%|\\n)",name:"meta.variable.substitution.batchfile",patterns:[{include:"#variable_replace"},{begin:"=",beginCaptures:{0:{name:"punctuation.separator.batchfile"}},end:"(?=%|\\n)",patterns:[{include:"#variable_delayed_expansion"},{match:"[^%]+",name:"string.unquoted.batchfile"}]}]}]}]},variable_delayed_expansion:{patterns:[{begin:"!(?=[^!]+!)",beginCaptures:{0:{name:"punctuation.definition.variable.begin.batchfile"}},end:"(!)|\\n",endCaptures:{1:{name:"punctuation.definition.variable.end.batchfile"}},name:"variable.other.readwrite.batchfile",patterns:[{begin:":~",beginCaptures:{0:{name:"punctuation.separator.batchfile"}},end:"(?=!|\\n)",name:"meta.variable.substring.batchfile",patterns:[{include:"#variable_substring"}]},{begin:":",beginCaptures:{0:{name:"punctuation.separator.batchfile"}},end:"(?=!|\\n)",name:"meta.variable.substitution.batchfile",patterns:[{include:"#escaped_characters"},{include:"#variable_replace"},{include:"#variable"},{begin:"=",beginCaptures:{0:{name:"punctuation.separator.batchfile"}},end:"(?=!|\\n)",patterns:[{include:"#variable"},{match:"[^!]+",name:"string.unquoted.batchfile"}]}]}]}]},variable_replace:{patterns:[{match:"[^=%!\\n]+",name:"string.unquoted.batchfile"}]},variable_substring:{patterns:[{captures:{1:{name:"constant.numeric.batchfile"},2:{name:"punctuation.separator.batchfile"},3:{name:"constant.numeric.batchfile"}},match:"([+-]?\\d+)(?:(,)([+-]?\\d+))?"}]},variables:{patterns:[{captures:{1:{name:"punctuation.definition.variable.batchfile"}},match:"(%)(?:(?i:~[fdpnxsatz]*(?:\\$PATH:)?)?\\d|\\*)",name:"variable.parameter.batchfile"},{include:"#variable"},{include:"#variable_delayed_expansion"}]}},scopeName:"source.batchfile",aliases:["batch"]}),cZt=[oca]});var iLr={};Be(iLr,{default:()=>sca});var aca,sca,oLr=N(()=>{aca=Object.freeze({displayName:"Beancount",fileTypes:["beancount"],name:"beancount",patterns:[{comment:"Comments",match:";.*",name:"comment.line.beancount"},{begin:"^\\s*(poptag|pushtag)\\s+(#)([A-Za-z0-9\\-_/.]+)",beginCaptures:{1:{name:"support.function.beancount"},2:{name:"keyword.operator.tag.beancount"},3:{name:"entity.name.tag.beancount"}},comment:"Tag directive",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.tag.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:'^\\s*(include)\\s+(\\".*\\")',beginCaptures:{1:{name:"support.function.beancount"},2:{name:"string.quoted.double.beancount"}},comment:"Include directive",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.include.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:'^\\s*(option)\\s+(\\".*\\")\\s+(\\".*\\")',beginCaptures:{1:{name:"support.function.beancount"},2:{name:"support.variable.beancount"},3:{name:"string.quoted.double.beancount"}},comment:"Option directive",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.option.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:'^\\s*(plugin)\\s*("(.*?)")\\s*(".*?")?',beginCaptures:{1:{name:"support.function.beancount"},2:{name:"string.quoted.double.beancount"},3:{name:"entity.name.function.beancount"},4:{name:"string.quoted.double.beancount"}},comment:"Plugin directive",end:"(?=(^\\s*$|^\\S))",name:"keyword.operator.directive.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:"(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(open|close|pad)\\b",beginCaptures:{1:{name:"constant.numeric.date.year.beancount"},2:{name:"punctuation.separator.beancount"},3:{name:"constant.numeric.date.month.beancount"},4:{name:"punctuation.separator.beancount"},5:{name:"constant.numeric.date.day.beancount"},6:{name:"support.function.beancount"}},comment:"Open/Close/Pad directive",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#account"},{include:"#commodity"},{match:"\\,",name:"punctuation.separator.beancount"},{include:"#illegal"}]},{begin:"(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s+(custom)\\b",beginCaptures:{1:{name:"constant.numeric.date.year.beancount"},2:{name:"punctuation.separator.beancount"},3:{name:"constant.numeric.date.month.beancount"},4:{name:"punctuation.separator.beancount"},5:{name:"constant.numeric.date.day.beancount"},6:{name:"support.function.beancount"}},comment:"Custom directive",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#string"},{include:"#bool"},{include:"#amount"},{include:"#number"},{include:"#date"},{include:"#account"},{include:"#illegal"}]},{begin:"(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(event)",beginCaptures:{1:{name:"constant.numeric.date.year.beancount"},2:{name:"punctuation.separator.beancount"},3:{name:"constant.numeric.date.month.beancount"},4:{name:"punctuation.separator.beancount"},5:{name:"constant.numeric.date.day.beancount"},6:{name:"support.function.directive.beancount"}},comment:"Event directive",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#string"},{include:"#illegal"}]},{begin:"(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(commodity)",beginCaptures:{1:{name:"constant.numeric.date.year.beancount"},2:{name:"punctuation.separator.beancount"},3:{name:"constant.numeric.date.month.beancount"},4:{name:"punctuation.separator.beancount"},5:{name:"constant.numeric.date.day.beancount"},6:{name:"support.function.directive.beancount"}},comment:"Commodity directive",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#commodity"},{include:"#illegal"}]},{begin:"(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(note|document)",beginCaptures:{1:{name:"constant.numeric.date.year.beancount"},2:{name:"punctuation.separator.beancount"},3:{name:"constant.numeric.date.month.beancount"},4:{name:"punctuation.separator.beancount"},5:{name:"constant.numeric.date.day.beancount"},6:{name:"support.function.directive.beancount"}},comment:"Note/Document directive",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#account"},{include:"#string"},{include:"#illegal"}]},{begin:"(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(price)",beginCaptures:{1:{name:"constant.numeric.date.year.beancount"},2:{name:"punctuation.separator.beancount"},3:{name:"constant.numeric.date.month.beancount"},4:{name:"punctuation.separator.beancount"},5:{name:"constant.numeric.date.day.beancount"},6:{name:"support.function.directive.beancount"}},comment:"Price directives",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#commodity"},{include:"#amount"},{include:"#illegal"}]},{begin:"(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s(balance)",beginCaptures:{1:{name:"constant.numeric.date.year.beancount"},2:{name:"punctuation.separator.beancount"},3:{name:"constant.numeric.date.month.beancount"},4:{name:"punctuation.separator.beancount"},5:{name:"constant.numeric.date.day.beancount"},6:{name:"support.function.directive.beancount"}},comment:"Balance directives",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#account"},{include:"#amount"},{include:"#illegal"}]},{begin:'(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})\\s*(txn|[*!&#?%PSTCURM])\\s*(".*?")?\\s*(".*?")?',beginCaptures:{1:{name:"constant.numeric.date.year.beancount"},2:{name:"punctuation.separator.beancount"},3:{name:"constant.numeric.date.month.beancount"},4:{name:"punctuation.separator.beancount"},5:{name:"constant.numeric.date.day.beancount"},6:{name:"support.function.directive.beancount"},7:{name:"string.quoted.tiers.beancount"},8:{name:"string.quoted.narration.beancount"}},comment:"Transaction directive",end:"(?=(^\\s*$|^\\S))",name:"meta.directive.transaction.beancount",patterns:[{include:"#comments"},{include:"#posting"},{include:"#meta"},{include:"#tag"},{include:"#link"},{include:"#illegal"}]}],repository:{account:{begin:"([A-Z][a-z]+)(:)",beginCaptures:{1:{name:"variable.language.beancount"},2:{name:"punctuation.separator.beancount"}},end:"\\s",name:"meta.account.beancount",patterns:[{begin:"(\\S+)([:]?)",beginCaptures:{1:{name:"variable.other.account.beancount"},2:{name:"punctuation.separator.beancount"}},comment:"Sub accounts",end:"([:]?)|(\\s)",patterns:[{include:"$self"},{include:"#illegal"}]}]},amount:{captures:{1:{name:"keyword.operator.modifier.beancount"},2:{name:"constant.numeric.currency.beancount"},3:{name:"entity.name.type.commodity.beancount"}},match:"([\\-|\\+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)\\s*([A-Z][A-Z0-9\\'\\.\\_\\-]{0,22}[A-Z0-9])",name:"meta.amount.beancount"},bool:{captures:{0:{name:"constant.language.bool.beancount"},2:{name:"constant.numeric.currency.beancount"},3:{name:"entity.name.type.commodity.beancount"}},match:"TRUE|FALSE"},comments:{captures:{1:{name:"comment.line.beancount"}},match:"(;.*)$"},commodity:{match:"([A-Z][A-Z0-9\\'\\.\\_\\-]{0,22}[A-Z0-9])",name:"entity.name.type.commodity.beancount"},cost:{begin:"\\{\\{?",beginCaptures:{0:{name:"keyword.operator.assignment.beancount"}},end:"\\}\\}?",endCaptures:{0:{name:"keyword.operator.assignment.beancount"}},name:"meta.cost.beancount",patterns:[{include:"#amount"},{include:"#date"},{match:"\\,",name:"punctuation.separator.beancount"},{include:"#illegal"}]},date:{captures:{1:{name:"constant.numeric.date.year.beancount"},2:{name:"punctuation.separator.beancount"},3:{name:"constant.numeric.date.month.beancount"},4:{name:"punctuation.separator.beancount"},5:{name:"constant.numeric.date.day.beancount"}},match:"(\\d{4})([\\-|/])(\\d{2})([\\-|/])(\\d{2})",name:"meta.date.beancount"},flag:{match:"(?<=\\s)([*!&#?%PSTCURM])(?=\\s+)",name:"keyword.other.beancount"},illegal:{match:"[^\\s]",name:"invalid.illegal.unrecognized.beancount"},link:{captures:{1:{name:"keyword.operator.link.beancount"},2:{name:"markup.underline.link.beancount"}},match:"(\\^)([A-Za-z0-9\\-_/.]+)"},meta:{begin:"^\\s*([a-z][A-Za-z0-9\\-_]+)([:])",beginCaptures:{1:{name:"keyword.operator.directive.beancount"},2:{name:"punctuation.separator.beancount"}},end:"\\n",name:"meta.meta.beancount",patterns:[{include:"#string"},{include:"#account"},{include:"#bool"},{include:"#commodity"},{include:"#date"},{include:"#tag"},{include:"#amount"},{include:"#number"},{include:"#comments"},{include:"#illegal"}]},number:{captures:{1:{name:"keyword.operator.modifier.beancount"},2:{name:"constant.numeric.currency.beancount"}},match:"([\\-|\\+]?)(\\d+(?:,\\d{3})*(?:\\.\\d*)?)"},posting:{begin:"^\\s+(?=([A-Z\\!]))",end:"(?=(^\\s*$|^\\S|^\\s*[A-Z]))",name:"meta.posting.beancount",patterns:[{include:"#meta"},{include:"#comments"},{include:"#flag"},{include:"#account"},{include:"#amount"},{include:"#cost"},{include:"#date"},{include:"#price"},{include:"#illegal"}]},price:{begin:"\\@\\@?",beginCaptures:{0:{name:"keyword.operator.assignment.beancount"}},end:"(?=(;|\\n))",name:"meta.price.beancount",patterns:[{include:"#amount"},{include:"#illegal"}]},string:{begin:'\\"',end:'\\"',name:"string.quoted.double.beancount",patterns:[{match:"\\\\.",name:"constant.character.escape.beancount"}]},tag:{captures:{1:{name:"keyword.operator.tag.beancount"},2:{name:"entity.name.tag.beancount"}},match:"(#)([A-Za-z0-9\\-_/.]+)"}},scopeName:"text.beancount"}),sca=[aca]});var aLr={};Be(aLr,{default:()=>lca});var cca,lca,sLr=N(()=>{cca=Object.freeze({displayName:"Berry",name:"berry",patterns:[{include:"#controls"},{include:"#strings"},{include:"#comment-block"},{include:"#comments"},{include:"#keywords"},{include:"#function"},{include:"#member"},{include:"#identifier"},{include:"#number"},{include:"#operator"}],repository:{"comment-block":{begin:"\\#\\-",end:"\\-#",name:"comment.berry",patterns:[{}]},comments:{begin:"\\#",end:"\\n",name:"comment.line.berry",patterns:[{}]},controls:{patterns:[{match:"\\b(if|elif|else|for|while|do|end|break|continue|return|try|except|raise)\\b",name:"keyword.control.berry"}]},function:{patterns:[{match:"\\b([a-zA-Z_]\\w*(?=\\s*\\())",name:"entity.name.function.berry"}]},identifier:{patterns:[{match:"\\b[_A-Za-z]\\w+\\b",name:"identifier.berry"}]},keywords:{patterns:[{match:"\\b(var|static|def|class|true|false|nil|self|super|import|as|_class)\\b",name:"keyword.berry"}]},member:{patterns:[{captures:{0:{name:"entity.other.attribute-name.berry"}},match:"\\.([a-zA-Z_]\\w*)"}]},number:{patterns:[{match:"0x[a-fA-F0-9]+|\\d+|(\\d+\\.?|\\.\\d)\\d*([eE][+-]?\\d+)?",name:"constant.numeric.berry"}]},operator:{patterns:[{match:"\\(|\\)|\\[|\\]|\\.|-|\\!|~|\\*|/|%|\\+|&|\\^|\\||<|>|=|:",name:"keyword.operator.berry"}]},strings:{patterns:[{begin:`("|')`,end:"\\1",name:"string.quoted.double.berry",patterns:[{match:`(\\\\x[ \\t]{2})|(\\\\[0-7]{3})|(\\\\\\\\)|(\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)`,name:"constant.character.escape.berry"}]},{begin:`f("|')`,end:"\\1",name:"string.quoted.other.berry",patterns:[{match:`(\\\\x[ \\t]{2})|(\\\\[0-7]{3})|(\\\\\\\\)|(\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)`,name:"constant.character.escape.berry"},{match:"\\{\\{[^\\}]*\\}\\}",name:"string.quoted.other.berry"},{begin:"\\{",end:"\\}",name:"keyword.other.unit.berry",patterns:[{include:"#keywords"},{include:"#numbers"},{include:"#identifier"},{include:"#operator"},{include:"#member"},{include:"#function"}]}]}]}},scopeName:"source.berry",aliases:["be"]}),lca=[cca]});var cLr={};Be(cLr,{default:()=>uZt});var uca,uZt,dZt=N(()=>{uca=Object.freeze({displayName:"BibTeX",name:"bibtex",patterns:[{captures:{0:{name:"punctuation.definition.comment.bibtex"}},match:"@(?i:comment)(?=[\\s{(])",name:"comment.block.at-sign.bibtex"},{begin:"((@)(?i:preamble))\\s*(\\{)\\s*",beginCaptures:{1:{name:"keyword.other.preamble.bibtex"},2:{name:"punctuation.definition.keyword.bibtex"},3:{name:"punctuation.section.preamble.begin.bibtex"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.preamble.end.bibtex"}},name:"meta.preamble.braces.bibtex",patterns:[{include:"#field_value"}]},{begin:"((@)(?i:preamble))\\s*(\\()\\s*",beginCaptures:{1:{name:"keyword.other.preamble.bibtex"},2:{name:"punctuation.definition.keyword.bibtex"},3:{name:"punctuation.section.preamble.begin.bibtex"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.preamble.end.bibtex"}},name:"meta.preamble.parenthesis.bibtex",patterns:[{include:"#field_value"}]},{begin:"((@)(?i:string))\\s*(\\{)\\s*([a-zA-Z!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~][a-zA-Z0-9!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~]*)",beginCaptures:{1:{name:"keyword.other.string-constant.bibtex"},2:{name:"punctuation.definition.keyword.bibtex"},3:{name:"punctuation.section.string-constant.begin.bibtex"},4:{name:"variable.other.bibtex"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.string-constant.end.bibtex"}},name:"meta.string-constant.braces.bibtex",patterns:[{include:"#field_value"}]},{begin:"((@)(?i:string))\\s*(\\()\\s*([a-zA-Z!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~][a-zA-Z0-9!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~]*)",beginCaptures:{1:{name:"keyword.other.string-constant.bibtex"},2:{name:"punctuation.definition.keyword.bibtex"},3:{name:"punctuation.section.string-constant.begin.bibtex"},4:{name:"variable.other.bibtex"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.string-constant.end.bibtex"}},name:"meta.string-constant.parenthesis.bibtex",patterns:[{include:"#field_value"}]},{begin:"((@)[a-zA-Z!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~][a-zA-Z0-9!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~]*)\\s*(\\{)\\s*([^\\s,}]*)",beginCaptures:{1:{name:"keyword.other.entry-type.bibtex"},2:{name:"punctuation.definition.keyword.bibtex"},3:{name:"punctuation.section.entry.begin.bibtex"},4:{name:"entity.name.type.entry-key.bibtex"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.entry.end.bibtex"}},name:"meta.entry.braces.bibtex",patterns:[{begin:"([a-zA-Z!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~][a-zA-Z0-9!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~]*)\\s*(\\=)",beginCaptures:{1:{name:"support.function.key.bibtex"},2:{name:"punctuation.separator.key-value.bibtex"}},end:"(?=[,}])",name:"meta.key-assignment.bibtex",patterns:[{include:"#field_value"}]}]},{begin:"((@)[a-zA-Z!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~][a-zA-Z0-9!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~]*)\\s*(\\()\\s*([^\\s,]*)",beginCaptures:{1:{name:"keyword.other.entry-type.bibtex"},2:{name:"punctuation.definition.keyword.bibtex"},3:{name:"punctuation.section.entry.begin.bibtex"},4:{name:"entity.name.type.entry-key.bibtex"}},end:"\\)",endCaptures:{0:{name:"punctuation.section.entry.end.bibtex"}},name:"meta.entry.parenthesis.bibtex",patterns:[{begin:"([a-zA-Z!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~][a-zA-Z0-9!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~]*)\\s*(\\=)",beginCaptures:{1:{name:"support.function.key.bibtex"},2:{name:"punctuation.separator.key-value.bibtex"}},end:"(?=[,)])",name:"meta.key-assignment.bibtex",patterns:[{include:"#field_value"}]}]},{begin:"[^@\\n]",end:"(?=@)",name:"comment.block.bibtex"}],repository:{field_value:{patterns:[{include:"#string_content"},{include:"#integer"},{include:"#string_var"},{match:"#",name:"keyword.operator.bibtex"}]},integer:{captures:{1:{name:"constant.numeric.bibtex"}},match:"\\s*(\\d+)\\s*"},nested_braces:{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.group.begin.bibtex"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.group.end.bibtex"}},patterns:[{include:"#nested_braces"}]},string_content:{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.bibtex"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.bibtex"}},patterns:[{include:"#nested_braces"}]},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.bibtex"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.bibtex"}},patterns:[{include:"#nested_braces"}]}]},string_var:{captures:{0:{name:"support.variable.bibtex"}},match:"[a-zA-Z!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~][a-zA-Z0-9!$&*+\\-./:;<>?@\\[\\\\\\]^_`|~]*"}},scopeName:"text.bibtex"}),uZt=[uca]});var lLr={};Be(lLr,{default:()=>pca});var dca,pca,uLr=N(()=>{dca=Object.freeze({displayName:"Bicep",fileTypes:[".bicep"],name:"bicep",patterns:[{include:"#expression"},{include:"#comments"}],repository:{"array-literal":{begin:"\\[(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\bfor\\b)",end:"]",name:"meta.array-literal.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},"block-comment":{begin:"/\\*",end:"\\*/",name:"comment.block.bicep"},comments:{patterns:[{include:"#line-comment"},{include:"#block-comment"}]},decorator:{begin:"@(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*(?=\\b[_$A-Za-z][_$0-9A-Za-z]*\\b)",end:"",name:"meta.decorator.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},directive:{begin:"#\\b[_a-zA-Z-0-9]+\\b",end:"$",name:"meta.directive.bicep",patterns:[{include:"#directive-variable"},{include:"#comments"}]},"directive-variable":{match:"\\b[_a-zA-Z-0-9]+\\b",name:"keyword.control.declaration.bicep"},"escape-character":{match:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",name:"constant.character.escape.bicep"},expression:{patterns:[{include:"#string-literal"},{include:"#string-verbatim"},{include:"#numeric-literal"},{include:"#named-literal"},{include:"#object-literal"},{include:"#array-literal"},{include:"#keyword"},{include:"#identifier"},{include:"#function-call"},{include:"#decorator"},{include:"#lambda-start"},{include:"#directive"}]},"function-call":{begin:"(\\b[_$A-Za-z][_$0-9A-Za-z]*\\b)(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\(",beginCaptures:{1:{name:"entity.name.function.bicep"}},end:"\\)",name:"meta.function-call.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},identifier:{match:"\\b[_$A-Za-z][_$0-9A-Za-z]*\\b(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\()",name:"variable.other.readwrite.bicep"},keyword:{match:"\\b(metadata|targetScope|resource|module|param|var|output|for|in|if|existing|import|as|type|with|using|extends|func|assert|extension)\\b",name:"keyword.control.declaration.bicep"},"lambda-start":{begin:"(\\((?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\b[_$A-Za-z][_$0-9A-Za-z]*\\b(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*(,(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\b[_$A-Za-z][_$0-9A-Za-z]*\\b(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*)*\\)|\\((?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\)|(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\b[_$A-Za-z][_$0-9A-Za-z]*\\b(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*)(?=(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*=>)",beginCaptures:{1:{name:"meta.undefined.bicep",patterns:[{include:"#identifier"},{include:"#comments"}]}},end:"(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*=>",name:"meta.lambda-start.bicep"},"line-comment":{match:"//.*(?=$)",name:"comment.line.double-slash.bicep"},"named-literal":{match:"\\b(true|false|null)\\b",name:"constant.language.bicep"},"numeric-literal":{match:"\\d+",name:"constant.numeric.bicep"},"object-literal":{begin:"{",end:"}",name:"meta.object-literal.bicep",patterns:[{include:"#object-property-key"},{include:"#expression"},{include:"#comments"}]},"object-property-key":{match:"\\b[_$A-Za-z][_$0-9A-Za-z]*\\b(?=(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*:)",name:"variable.other.property.bicep"},"string-literal":{begin:"'(?!'')",end:"'",name:"string.quoted.single.bicep",patterns:[{include:"#escape-character"},{include:"#string-literal-subst"}]},"string-literal-subst":{begin:"(?Aca});var mca,Aca,pLr=N(()=>{Fl();Iw();Eb();Vs();iR();Tu();mca=Object.freeze({displayName:"Blade",fileTypes:["blade.php"],foldingStartMarker:"(/\\*|\\{\\s*$|<<))",beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.php"}},end:"(?!\\G)(\\s*$\\n)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.php"}},patterns:[{begin:"<\\?(?i:php|=)?",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"}},contentName:"source.php",end:"(\\?)>",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"source.php"}},name:"meta.embedded.block.php",patterns:[{include:"#language"}]}]},{begin:"<\\?(?i:php|=)?(?![^?]*\\?>)",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"}},contentName:"source.php",end:"(\\?)>",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"source.php"}},name:"meta.embedded.block.php",patterns:[{include:"#language"}]},{begin:"<\\?(?i:php|=)?",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"}},end:">",endCaptures:{0:{name:"punctuation.section.embedded.end.php"}},name:"meta.embedded.line.php",patterns:[{captures:{1:{name:"source.php"},2:{name:"punctuation.section.embedded.end.php"},3:{name:"source.php"}},match:"\\G(\\s*)((\\?))(?=>)",name:"meta.special.empty-tag.php"},{begin:"\\G",contentName:"source.php",end:"(\\?)(?=>)",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"source.php"}},patterns:[{include:"#language"}]}]}]}},name:"blade",patterns:[{include:"text.html.basic"}],repository:{balance_brackets:{patterns:[{begin:"\\(",end:"\\)",patterns:[{include:"#balance_brackets"}]},{match:"[^()]+"}]},blade:{patterns:[{begin:"{{--",beginCaptures:{0:{name:"punctuation.definition.comment.begin.blade"}},end:"--}}",endCaptures:{0:{name:"punctuation.definition.comment.end.blade"}},name:"comment.block.blade",patterns:[{begin:"(^\\s*)(?=<\\?(?![^?]*\\?>))",beginCaptures:{0:{name:"punctuation.whitespace.embedded.leading.php"}},end:"(?!\\G)(\\s*$\\n)?",endCaptures:{0:{name:"punctuation.whitespace.embedded.trailing.php"}},name:"invalid.illegal.php-code-in-comment.blade",patterns:[{begin:"<\\?(?i:php|=)?",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"}},contentName:"source.php",end:"(\\?)>",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"source.php"}},name:"meta.embedded.block.php",patterns:[{include:"#language"}]}]},{begin:"<\\?(?i:php|=)?(?![^?]*\\?>)",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"}},contentName:"source.php",end:"(\\?)>",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"source.php"}},name:"invalid.illegal.php-code-in-comment.blade.meta.embedded.block.php",patterns:[{include:"#language"}]},{begin:"<\\?(?i:php|=)?",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"}},end:">",endCaptures:{0:{name:"punctuation.section.embedded.end.php"}},name:"invalid.illegal.php-code-in-comment.blade.meta.embedded.line.php",patterns:[{captures:{1:{name:"source.php"},2:{name:"punctuation.section.embedded.end.php"},3:{name:"source.php"}},match:"\\G(\\s*)((\\?))(?=>)",name:"meta.special.empty-tag.php"},{begin:"\\G",contentName:"source.php",end:"(\\?)(?=>)",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"source.php"}},patterns:[{include:"#language"}]}]}]},{begin:"(?)",name:"comment.line.double-slash.php"}]},{begin:"(^\\s+)?(?=#)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.php"}},end:"(?!\\G)",patterns:[{begin:"#",beginCaptures:{0:{name:"punctuation.definition.comment.php"}},end:"\\n|(?=\\?>)",name:"comment.line.number-sign.php"}]}]},constants:{patterns:[{match:"(?i)\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\b",name:"constant.language.php"},{captures:{1:{name:"punctuation.separator.inheritance.php"}},match:"(\\\\)?\\b(DEFAULT_INCLUDE_PATH|EAR_(INSTALL|EXTENSION)_DIR|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE|PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN|BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)|INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR|URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX|EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(MAJOR|MINOR)|BUILD|SUITEMASK|SP_(MAJOR|MINOR)|PRODUCTTYPE|PLATFORM)|LIBDIR|LOCALSTATEDIR)|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\\b",name:"support.constant.core.php"},{captures:{1:{name:"punctuation.separator.inheritance.php"}},match:"(\\\\)?\\b(__COMPILER_HALT_OFFSET__|AB(MON_(1|2|3|4|5|6|7|8|9|10|11|12)|DAY[1-7])|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL|NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)|M_(1_PI|SQRT(1_2|2|3|PI)|2_(SQRT)?PI|PI(_(2|4))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)|MON_(1|2|3|4|5|6|7|8|9|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)|YES(EXPR|STR))\\b",name:"support.constant.std.php"},{captures:{1:{name:"punctuation.separator.inheritance.php"}},match:"(\\\\)?\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE|NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE|UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT|PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)|ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(NMTOKEN(S)?|NOTATION|NODE)|CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)|MHASH_(RIPEMD(128|160|256|320)|GOST|MD(2|4|5)|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)|CRC23(B)?|TIGER(128|160)?|WHIRLPOOL|ADLER32)|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)|READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH|STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT|SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)|NO_(DEFAULT_VALUE_FLAG|DATA)|NOT_NULL_FLAG|NUM(_FLAG)?|CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)|TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR|TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)|TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG|OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)|DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG|ASSOC|ASYNC|AUTO_INCREMENT_FLAG)|MCRYPT_(RC(2|6)|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS|BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY|TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR|SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)|NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS|FILE_SIZE_IS|FAILURE|AUTH_(REQUIRED|RESULT))|CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)|CAST_(AS_STREAM|FOR_SELECT)|(IGNORE|IS)_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB|OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH|PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT|CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY|FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)|MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)|INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME|(SIZE|SPEED)_(DOWNLOAD|UPLOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME|CONNECT_TIME|CONTENT_(TYPE|LENGTH_(DOWNLOAD|UPLOAD))|CERTINFO|TOTAL_TIME|PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)|OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE|MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE|SSH_(HOST_PUBLIC_KEY_MD5|(PRIVATE|PUBLIC)_KEYFILE)|AUTH_TYPES)|SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)|SSL_(CIPHER_LIST|VERIFY(HOST|PEER))|STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?|COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT|TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD|PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT|POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT|FTP(APPEND|LISTONLY|PORT|SSLAUTH)|FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)|AUTOREFERER)|PROXY_(HTTP|SOCKS(4|5))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)|E_((RECV|READ)_ERROR|GOT_NOTHING|MALFORMAT_USER|BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))|SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE|OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL|UNKNOWN_TELNET_OPTION|PARTIAL_FILE|FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)|CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR|WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)|FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND|LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))|AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))|CURL_(HTTP_VERSION_(1_(0|1)|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)|IPRESOLVE_(V(4|6)|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)|DOM(STRING_SIZE_ERR)|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_(MODIFICATION_ALLOWED|DATA_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE|INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT|SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))|PCRE_VERSION|POSIX_((F|R|W|X)_OK|S_IF(REG|BLK|SOCK|CHR|IFO))|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL|EMAIL|ENCODED|FULL_SPCIAL_CHARS)|VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)|FORCE_ARRAY|FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES|IPV(4|6)|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)|FORCE_(DEFLATE|GZIP)|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)|COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\\b",name:"support.constant.ext.php"},{captures:{1:{name:"punctuation.separator.inheritance.php"}},match:"(\\\\)?\\b(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK|BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC|SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT|CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?|CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))|INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)|OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)|DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC|PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE|END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE|FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)|ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\\b",name:"support.constant.parser-token.php"},{match:"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*",name:"constant.other.php"}]},"function-call":{patterns:[{begin:"(?i)(\\\\?\\b[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*(?:\\\\[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)+)\\s*(\\()",beginCaptures:{1:{patterns:[{include:"#namespace"},{match:"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*",name:"entity.name.function.php"}]},2:{name:"punctuation.definition.arguments.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.arguments.end.bracket.round.php"}},name:"meta.function-call.php",patterns:[{include:"#language"}]},{begin:"(?i)(\\\\)?\\b([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()",beginCaptures:{1:{patterns:[{include:"#namespace"}]},2:{patterns:[{include:"#support"},{match:"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*",name:"entity.name.function.php"}]},3:{name:"punctuation.definition.arguments.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.arguments.end.bracket.round.php"}},name:"meta.function-call.php",patterns:[{include:"#language"}]},{match:"(?i)\\b(print|echo)\\b",name:"support.function.construct.output.php"}]},"function-parameters":{patterns:[{include:"#comments"},{match:",",name:"punctuation.separator.delimiter.php"},{begin:"(?i)(array)\\s+((&)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(=)\\s*(array)\\s*(\\()",beginCaptures:{1:{name:"storage.type.php"},2:{name:"variable.other.php"},3:{name:"storage.modifier.reference.php"},4:{name:"punctuation.definition.variable.php"},5:{name:"keyword.operator.assignment.php"},6:{name:"support.function.construct.php"},7:{name:"punctuation.definition.array.begin.bracket.round.php"}},contentName:"meta.array.php",end:"\\)",endCaptures:{0:{name:"punctuation.definition.array.end.bracket.round.php"}},name:"meta.function.parameter.array.php",patterns:[{include:"#comments"},{include:"#strings"},{include:"#numbers"}]},{captures:{1:{name:"storage.type.php"},2:{name:"variable.other.php"},3:{name:"storage.modifier.reference.php"},4:{name:"punctuation.definition.variable.php"},5:{name:"keyword.operator.assignment.php"},6:{name:"constant.language.php"},7:{name:"punctuation.section.array.begin.php"},8:{patterns:[{include:"#parameter-default-types"}]},9:{name:"punctuation.section.array.end.php"},10:{name:"invalid.illegal.non-null-typehinted.php"}},match:"(?i)(array|callable)\\s+((&)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?:\\s*(=)\\s*(?:(null)|(\\[)((?>[^\\[\\]]+|\\[\\g<8>\\])*)(\\])|((?:\\S*?\\(\\))|(?:\\S*?))))?\\s*(?=,|\\)|/[/*]|\\#|$)",name:"meta.function.parameter.array.php"},{begin:"(?i)(\\\\?(?:[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)*)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s+((&)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)",beginCaptures:{1:{name:"support.other.namespace.php",patterns:[{match:"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*",name:"storage.type.php"},{match:"\\\\",name:"punctuation.separator.inheritance.php"}]},2:{name:"storage.type.php"},3:{name:"variable.other.php"},4:{name:"storage.modifier.reference.php"},5:{name:"keyword.operator.variadic.php"},6:{name:"punctuation.definition.variable.php"}},end:"(?=,|\\)|/[/*]|\\#)",name:"meta.function.parameter.typehinted.php",patterns:[{begin:"=",beginCaptures:{0:{name:"keyword.operator.assignment.php"}},end:"(?=,|\\)|/[/*]|\\#)",patterns:[{include:"#language"}]}]},{captures:{1:{name:"variable.other.php"},2:{name:"storage.modifier.reference.php"},3:{name:"keyword.operator.variadic.php"},4:{name:"punctuation.definition.variable.php"}},match:"(?i)((&)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(?=,|\\)|/[/*]|\\#|$)",name:"meta.function.parameter.no-default.php"},{begin:"(?i)((&)?\\s*(\\.\\.\\.)?(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(=)\\s*(?:(\\[)((?>[^\\[\\]]+|\\[\\g<6>\\])*)(\\]))?",beginCaptures:{1:{name:"variable.other.php"},2:{name:"storage.modifier.reference.php"},3:{name:"keyword.operator.variadic.php"},4:{name:"punctuation.definition.variable.php"},5:{name:"keyword.operator.assignment.php"},6:{name:"punctuation.section.array.begin.php"},7:{patterns:[{include:"#parameter-default-types"}]},8:{name:"punctuation.section.array.end.php"}},end:"(?=,|\\)|/[/*]|\\#)",name:"meta.function.parameter.default.php",patterns:[{include:"#parameter-default-types"}]}]},heredoc:{patterns:[{begin:'(?i)(?=<<<\\s*("?)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(\\1)\\s*$)',end:"(?!\\G)",name:"string.unquoted.heredoc.php",patterns:[{include:"#heredoc_interior"}]},{begin:"(?=<<<\\s*'([a-zA-Z_]+\\w*)'\\s*$)",end:"(?!\\G)",name:"string.unquoted.nowdoc.php",patterns:[{include:"#nowdoc_interior"}]}]},heredoc_interior:{patterns:[{begin:'(<<<)\\s*("?)(HTML)(\\2)(\\s*)$',beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},3:{name:"keyword.operator.heredoc.php"},5:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"text.html",end:"^(\\3)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.html",patterns:[{include:"#interpolation"},{include:"text.html.basic"}]},{begin:'(<<<)\\s*("?)(XML)(\\2)(\\s*)$',beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},3:{name:"keyword.operator.heredoc.php"},5:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"text.xml",end:"^(\\3)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.xml",patterns:[{include:"#interpolation"},{include:"text.xml"}]},{begin:'(<<<)\\s*("?)(SQL)(\\2)(\\s*)$',beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},3:{name:"keyword.operator.heredoc.php"},5:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.sql",end:"^(\\3)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.sql",patterns:[{include:"#interpolation"},{include:"source.sql"}]},{begin:'(<<<)\\s*("?)(JAVASCRIPT|JS)(\\2)(\\s*)$',beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},3:{name:"keyword.operator.heredoc.php"},5:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.js",end:"^(\\3)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.js",patterns:[{include:"#interpolation"},{include:"source.js"}]},{begin:'(<<<)\\s*("?)(JSON)(\\2)(\\s*)$',beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},3:{name:"keyword.operator.heredoc.php"},5:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.json",end:"^(\\3)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.json",patterns:[{include:"#interpolation"},{include:"source.json"}]},{begin:'(<<<)\\s*("?)(CSS)(\\2)(\\s*)$',beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},3:{name:"keyword.operator.heredoc.php"},5:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.css",end:"^(\\3)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.heredoc.php"}},name:"meta.embedded.css",patterns:[{include:"#interpolation"},{include:"source.css"}]},{begin:'(<<<)\\s*("?)(REGEXP?)(\\2)(\\s*)$',beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},3:{name:"keyword.operator.heredoc.php"},5:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"string.regexp.heredoc.php",end:"^(\\3)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.heredoc.php"}},patterns:[{include:"#interpolation"},{match:"(\\\\){1,2}[.$^\\[\\]{}]",name:"constant.character.escape.regex.php"},{captures:{1:{name:"punctuation.definition.arbitrary-repitition.php"},3:{name:"punctuation.definition.arbitrary-repitition.php"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repitition.php"},{begin:"\\[(?:\\^?\\])?",captures:{0:{name:"punctuation.definition.character-class.php"}},end:"\\]",name:"string.regexp.character-class.php",patterns:[{match:"\\\\[\\\\'\\[\\]]",name:"constant.character.escape.php"}]},{match:"[$^+*]",name:"keyword.operator.regexp.php"},{begin:"(?i)(?<=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{ff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)",beginCaptures:{1:{name:"punctuation.definition.comment.php"}},end:"$",endCaptures:{0:{name:"punctuation.definition.comment.php"}},name:"comment.line.number-sign.php"}]},{begin:'(?i)(<<<)\\s*("?)([a-z_\\x{7f}-\\x{ff}]+[a-z0-9_\\x{7f}-\\x{ff}]*)(\\2)(\\s*)',beginCaptures:{1:{name:"punctuation.definition.string.php"},3:{name:"keyword.operator.heredoc.php"},5:{name:"invalid.illegal.trailing-whitespace.php"}},end:"^(\\3)\\b",endCaptures:{1:{name:"keyword.operator.heredoc.php"}},patterns:[{include:"#interpolation"}]}]},instantiation:{begin:"(?i)(new)\\s+",beginCaptures:{1:{name:"keyword.other.new.php"}},end:"(?i)(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",patterns:[{match:"(?i)(parent|static|self)(?![a-z0-9_\\x{7f}-\\x{ff}])",name:"storage.type.php"},{include:"#class-name"},{include:"#variable-name"}]},interpolation:{patterns:[{match:"\\\\[0-7]{1,3}",name:"constant.character.escape.octal.php"},{match:"\\\\x[0-9A-Fa-f]{1,2}",name:"constant.character.escape.hex.php"},{match:"\\\\u{[0-9A-Fa-f]+}",name:"constant.character.escape.unicode.php"},{match:'\\\\[nrtvef$"\\\\]',name:"constant.character.escape.php"},{begin:"{(?=\\$.*?})",beginCaptures:{0:{name:"punctuation.definition.variable.php"}},end:"}",endCaptures:{0:{name:"punctuation.definition.variable.php"}},patterns:[{include:"#language"}]},{include:"#variable-name"}]},"invoke-call":{captures:{1:{name:"punctuation.definition.variable.php"},2:{name:"variable.other.php"}},match:"(?i)(\\$+)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?=\\s*\\()",name:"meta.function-call.invoke.php"},language:{patterns:[{include:"#comments"},{begin:"(?i)^\\s*(interface)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(extends)?\\s*",beginCaptures:{1:{name:"storage.type.interface.php"},2:{name:"entity.name.type.interface.php"},3:{name:"storage.modifier.extends.php"}},end:"(?i)((?:[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\s*,\\s*)*)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?\\s*(?:(?={)|$)",endCaptures:{1:{patterns:[{match:"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*",name:"entity.other.inherited-class.php"},{match:",",name:"punctuation.separator.classes.php"}]},2:{name:"entity.other.inherited-class.php"}},name:"meta.interface.php",patterns:[{include:"#namespace"}]},{begin:"(?i)^\\s*(trait)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)",beginCaptures:{1:{name:"storage.type.trait.php"},2:{name:"entity.name.type.trait.php"}},end:"(?={)",name:"meta.trait.php",patterns:[{include:"#comments"}]},{captures:{1:{name:"keyword.other.namespace.php"},2:{name:"entity.name.type.namespace.php",patterns:[{match:"\\\\",name:"punctuation.separator.inheritance.php"}]}},match:"(?i)(?:^|(?<=<\\?php))\\s*(namespace)\\s+([a-z0-9_\\x{7f}-\\x{ff}\\\\]+)(?=\\s*;)",name:"meta.namespace.php"},{begin:"(?i)(?:^|(?<=<\\?php))\\s*(namespace)\\s+",beginCaptures:{1:{name:"keyword.other.namespace.php"}},end:"(?<=})|(?=\\?>)",name:"meta.namespace.php",patterns:[{include:"#comments"},{captures:{0:{patterns:[{match:"\\\\",name:"punctuation.separator.inheritance.php"}]}},match:"(?i)[a-z0-9_\\x{7f}-\\x{ff}\\\\]+",name:"entity.name.type.namespace.php"},{begin:"{",beginCaptures:{0:{name:"punctuation.definition.namespace.begin.bracket.curly.php"}},end:"}|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.namespace.end.bracket.curly.php"}},patterns:[{include:"#language"}]},{match:"[^\\s]+",name:"invalid.illegal.identifier.php"}]},{match:"\\s+(?=use\\b)"},{begin:"(?i)\\buse\\b",beginCaptures:{0:{name:"keyword.other.use.php"}},end:"(?<=})|(?=;)",name:"meta.use.php",patterns:[{match:"\\b(const|function)\\b",name:"storage.type.${1:/downcase}.php"},{begin:"{",beginCaptures:{0:{name:"punctuation.definition.use.begin.bracket.curly.php"}},end:"}",endCaptures:{0:{name:"punctuation.definition.use.end.bracket.curly.php"}},patterns:[{include:"#scope-resolution"},{captures:{1:{name:"keyword.other.use-as.php"},2:{name:"storage.modifier.php"},3:{name:"entity.other.alias.php"}},match:"(?i)\\b(as)\\s+(final|abstract|public|private|protected|static)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\b"},{captures:{1:{name:"keyword.other.use-as.php"},2:{patterns:[{match:"^(?:final|abstract|public|private|protected|static)$",name:"storage.modifier.php"},{match:".+",name:"entity.other.alias.php"}]}},match:"(?i)\\b(as)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\b"},{captures:{1:{name:"keyword.other.use-insteadof.php"},2:{name:"support.class.php"}},match:"(?i)\\b(insteadof)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)"},{match:";",name:"punctuation.terminator.expression.php"},{include:"#use-inner"}]},{include:"#use-inner"}]},{begin:"(?i)^\\s*(?:(abstract|final)\\s+)?(class)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)",beginCaptures:{1:{name:"storage.modifier.${1:/downcase}.php"},2:{name:"storage.type.class.php"},3:{name:"entity.name.type.class.php"}},end:"}|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.class.end.bracket.curly.php"}},name:"meta.class.php",patterns:[{include:"#comments"},{begin:"(?i)(extends)\\s+",beginCaptures:{1:{name:"storage.modifier.extends.php"}},contentName:"meta.other.inherited-class.php",end:"(?i)(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",patterns:[{begin:"(?i)(?=\\\\?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)",end:"(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",endCaptures:{1:{name:"entity.other.inherited-class.php"}},patterns:[{include:"#namespace"}]},{include:"#class-builtin"},{include:"#namespace"},{match:"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*",name:"entity.other.inherited-class.php"}]},{begin:"(?i)(implements)\\s+",beginCaptures:{1:{name:"storage.modifier.implements.php"}},end:"(?i)(?=[;{])",patterns:[{include:"#comments"},{begin:"(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}\\\\]+)",contentName:"meta.other.inherited-class.php",end:"(?i)(?:\\s*(?:,|(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\\\s]))\\s*)",patterns:[{begin:"(?i)(?=\\\\?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\\\)",end:"(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(?=[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",endCaptures:{1:{name:"entity.other.inherited-class.php"}},patterns:[{include:"#namespace"}]},{include:"#class-builtin"},{include:"#namespace"},{match:"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*",name:"entity.other.inherited-class.php"}]}]},{begin:"{",beginCaptures:{0:{name:"punctuation.definition.class.begin.bracket.curly.php"}},contentName:"meta.class.body.php",end:"(?=}|\\?>)",patterns:[{include:"#language"}]}]},{include:"#switch_statement"},{captures:{1:{name:"keyword.control.${1:/downcase}.php"}},match:"\\s*\\b(break|case|continue|declare|default|die|do|else(if)?|end(declare|for(each)?|if|switch|while)|exit|for(each)?|if|return|switch|use|while|yield)\\b"},{begin:"(?i)\\b((?:require|include)(?:_once)?)\\s+",beginCaptures:{1:{name:"keyword.control.import.include.php"}},end:"(?=\\s|;|$|\\?>)",name:"meta.include.php",patterns:[{include:"#language"}]},{begin:"\\b(catch)\\s*(\\()",beginCaptures:{1:{name:"keyword.control.exception.catch.php"},2:{name:"punctuation.definition.parameters.begin.bracket.round.php"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.php"}},name:"meta.catch.php",patterns:[{include:"#namespace"},{captures:{1:{name:"support.class.exception.php"},2:{patterns:[{match:"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*",name:"support.class.exception.php"},{match:"\\|",name:"punctuation.separator.delimiter.php"}]},3:{name:"variable.other.php"},4:{name:"punctuation.definition.variable.php"}},match:"(?i)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)((?:\\s*\\|\\s*[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)*)\\s*((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)"}]},{match:"\\b(catch|try|throw|exception|finally)\\b",name:"keyword.control.exception.php"},{begin:"(?i)\\b(function)\\s*(?=\\()",beginCaptures:{1:{name:"storage.type.function.php"}},end:"(?={)",name:"meta.function.closure.php",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.parameters.begin.bracket.round.php"}},contentName:"meta.function.parameters.php",end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.php"}},patterns:[{include:"#function-parameters"}]},{begin:"(?i)(use)\\s*(\\()",beginCaptures:{1:{name:"keyword.other.function.use.php"},2:{name:"punctuation.definition.parameters.begin.bracket.round.php"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.php"}},patterns:[{captures:{1:{name:"variable.other.php"},2:{name:"storage.modifier.reference.php"},3:{name:"punctuation.definition.variable.php"}},match:"(?i)((&)?\\s*(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(?=,|\\))",name:"meta.function.closure.use.php"}]}]},{begin:"((?:(?:final|abstract|public|private|protected|static)\\s+)*)(function)\\s+(?i:(__(?:call|construct|debugInfo|destruct|get|set|isset|unset|tostring|clone|set_state|sleep|wakeup|autoload|invoke|callStatic))|([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*))\\s*(\\()",beginCaptures:{1:{patterns:[{match:"final|abstract|public|private|protected|static",name:"storage.modifier.php"}]},2:{name:"storage.type.function.php"},3:{name:"support.function.magic.php"},4:{name:"entity.name.function.php"},5:{name:"punctuation.definition.parameters.begin.bracket.round.php"}},contentName:"meta.function.parameters.php",end:"(\\))(?:\\s*(:)\\s*([a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*))?",endCaptures:{1:{name:"punctuation.definition.parameters.end.bracket.round.php"},2:{name:"keyword.operator.return-value.php"},3:{name:"storage.type.php"}},name:"meta.function.php",patterns:[{include:"#function-parameters"}]},{include:"#invoke-call"},{include:"#scope-resolution"},{include:"#variables"},{include:"#strings"},{captures:{1:{name:"support.function.construct.php"},2:{name:"punctuation.definition.array.begin.bracket.round.php"},3:{name:"punctuation.definition.array.end.bracket.round.php"}},match:"(array)(\\()(\\))",name:"meta.array.empty.php"},{begin:"(array)(\\()",beginCaptures:{1:{name:"support.function.construct.php"},2:{name:"punctuation.definition.array.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.array.end.bracket.round.php"}},name:"meta.array.php",patterns:[{include:"#language"}]},{captures:{1:{name:"punctuation.definition.storage-type.begin.bracket.round.php"},2:{name:"storage.type.php"},3:{name:"punctuation.definition.storage-type.end.bracket.round.php"}},match:"(?i)(\\()\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\s*(\\))"},{match:"(?i)\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object)\\b",name:"storage.type.php"},{match:"(?i)\\b(global|abstract|const|extends|implements|final|private|protected|public|static)\\b",name:"storage.modifier.php"},{include:"#object"},{match:";",name:"punctuation.terminator.expression.php"},{match:":",name:"punctuation.terminator.statement.php"},{include:"#heredoc"},{include:"#numbers"},{match:"(?i)\\bclone\\b",name:"keyword.other.clone.php"},{match:"\\.=?",name:"keyword.operator.string.php"},{match:"=>",name:"keyword.operator.key.php"},{captures:{1:{name:"keyword.operator.assignment.php"},2:{name:"storage.modifier.reference.php"},3:{name:"storage.modifier.reference.php"}},match:"(?i)(\\=)(&)|(&)(?=[$a-z_])"},{match:"@",name:"keyword.operator.error-control.php"},{match:"===|==|!==|!=|<>",name:"keyword.operator.comparison.php"},{match:"=|\\+=|\\-=|\\*=|/=|%=|&=|\\|=|\\^=|<<=|>>=",name:"keyword.operator.assignment.php"},{match:"<=>|<=|>=|<|>",name:"keyword.operator.comparison.php"},{match:"\\-\\-|\\+\\+",name:"keyword.operator.increment-decrement.php"},{match:"\\-|\\+|\\*|/|%",name:"keyword.operator.arithmetic.php"},{match:"(?i)(!|&&|\\|\\|)|\\b(and|or|xor|as)\\b",name:"keyword.operator.logical.php"},{include:"#function-call"},{match:"<<|>>|~|\\^|&|\\|",name:"keyword.operator.bitwise.php"},{begin:"(?i)\\b(instanceof)\\s+(?=[\\\\$a-z_])",beginCaptures:{1:{name:"keyword.operator.type.php"}},end:"(?=[^\\\\$a-z0-9_\\x{7f}-\\x{ff}])",patterns:[{include:"#class-name"},{include:"#variable-name"}]},{include:"#instantiation"},{captures:{1:{name:"keyword.control.goto.php"},2:{name:"support.other.php"}},match:"(?i)(goto)\\s+([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)"},{captures:{1:{name:"entity.name.goto-label.php"}},match:"(?i)^\\s*([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*:(?!:)"},{include:"#string-backtick"},{begin:"{",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.curly.php"}},end:"}|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.end.bracket.curly.php"}},patterns:[{include:"#language"}]},{begin:"\\[",beginCaptures:{0:{name:"punctuation.section.array.begin.php"}},end:"\\]|(?=\\?>)",endCaptures:{0:{name:"punctuation.section.array.end.php"}},patterns:[{include:"#language"}]},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.php"}},patterns:[{include:"#language"}]},{include:"#constants"},{match:",",name:"punctuation.separator.delimiter.php"}]},namespace:{begin:"(?i)(?:(namespace)|[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?(\\\\)(?=.*?[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",beginCaptures:{1:{name:"variable.language.namespace.php"},2:{name:"punctuation.separator.inheritance.php"}},end:"(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}]*[^a-z0-9_\\x{7f}-\\x{ff}\\\\])",name:"support.other.namespace.php",patterns:[{match:"\\\\",name:"punctuation.separator.inheritance.php"}]},nowdoc_interior:{patterns:[{begin:"(<<<)\\s*'(HTML)'(\\s*)$",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},2:{name:"keyword.operator.nowdoc.php"},3:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"text.html",end:"^(\\2)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.html",patterns:[{include:"text.html.basic"}]},{begin:"(<<<)\\s*'(XML)'(\\s*)$",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},2:{name:"keyword.operator.nowdoc.php"},3:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"text.xml",end:"^(\\2)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.xml",patterns:[{include:"text.xml"}]},{begin:"(<<<)\\s*'(SQL)'(\\s*)$",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},2:{name:"keyword.operator.nowdoc.php"},3:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.sql",end:"^(\\2)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.sql",patterns:[{include:"source.sql"}]},{begin:"(<<<)\\s*'(JAVASCRIPT|JS)'(\\s*)$",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},2:{name:"keyword.operator.nowdoc.php"},3:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.js",end:"^(\\2)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.js",patterns:[{include:"source.js"}]},{begin:"(<<<)\\s*'(JSON)'(\\s*)$",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},2:{name:"keyword.operator.nowdoc.php"},3:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.json",end:"^(\\2)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.json",patterns:[{include:"source.json"}]},{begin:"(<<<)\\s*'(CSS)'(\\s*)$",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},2:{name:"keyword.operator.nowdoc.php"},3:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"source.css",end:"^(\\2)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.nowdoc.php"}},name:"meta.embedded.css",patterns:[{include:"source.css"}]},{begin:"(<<<)\\s*'(REGEXP?)'(\\s*)$",beginCaptures:{0:{name:"punctuation.section.embedded.begin.php"},1:{name:"punctuation.definition.string.php"},2:{name:"keyword.operator.nowdoc.php"},3:{name:"invalid.illegal.trailing-whitespace.php"}},contentName:"string.regexp.nowdoc.php",end:"^(\\2)\\b",endCaptures:{0:{name:"punctuation.section.embedded.end.php"},1:{name:"keyword.operator.nowdoc.php"}},patterns:[{match:"(\\\\){1,2}[.$^\\[\\]{}]",name:"constant.character.escape.regex.php"},{captures:{1:{name:"punctuation.definition.arbitrary-repitition.php"},3:{name:"punctuation.definition.arbitrary-repitition.php"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repitition.php"},{begin:"\\[(?:\\^?\\])?",captures:{0:{name:"punctuation.definition.character-class.php"}},end:"\\]",name:"string.regexp.character-class.php",patterns:[{match:"\\\\[\\\\'\\[\\]]",name:"constant.character.escape.php"}]},{match:"[$^+*]",name:"keyword.operator.regexp.php"},{begin:"(?i)(?<=^|\\s)(#)\\s(?=[[a-z0-9_\\x{7f}-\\x{ff},. \\t?!-][^\\x{00}-\\x{7f}]]*$)",beginCaptures:{1:{name:"punctuation.definition.comment.php"}},end:"$",endCaptures:{0:{name:"punctuation.definition.comment.php"}},name:"comment.line.number-sign.php"}]},{begin:"(?i)(<<<)\\s*'([a-z_\\x{7f}-\\x{ff}]+[a-z0-9_\\x{7f}-\\x{ff}]*)'(\\s*)",beginCaptures:{1:{name:"punctuation.definition.string.php"},2:{name:"keyword.operator.nowdoc.php"},3:{name:"invalid.illegal.trailing-whitespace.php"}},end:"^(\\2)\\b",endCaptures:{1:{name:"keyword.operator.nowdoc.php"}}}]},numbers:{patterns:[{match:"0[xX][0-9a-fA-F]+",name:"constant.numeric.hex.php"},{match:"0[bB][01]+",name:"constant.numeric.binary.php"},{match:"0[0-7]+",name:"constant.numeric.octal.php"},{captures:{1:{name:"punctuation.separator.decimal.period.php"},2:{name:"punctuation.separator.decimal.period.php"}},match:"(?:\\d*(\\.)\\d+(?:[eE][+-]?\\d+)?|\\d+(\\.)\\d*(?:[eE][+-]?\\d+)?|\\d+[eE][+-]?\\d+)",name:"constant.numeric.decimal.php"},{match:"0|[1-9]\\d*",name:"constant.numeric.decimal.php"}]},object:{patterns:[{begin:"(->)(\\$?{)",beginCaptures:{1:{name:"keyword.operator.class.php"},2:{name:"punctuation.definition.variable.php"}},end:"}",endCaptures:{0:{name:"punctuation.definition.variable.php"}},patterns:[{include:"#language"}]},{begin:"(?i)(->)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()",beginCaptures:{1:{name:"keyword.operator.class.php"},2:{name:"entity.name.function.php"},3:{name:"punctuation.definition.arguments.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.arguments.end.bracket.round.php"}},name:"meta.method-call.php",patterns:[{include:"#language"}]},{captures:{1:{name:"keyword.operator.class.php"},2:{name:"variable.other.property.php"},3:{name:"punctuation.definition.variable.php"}},match:"(?i)(->)((\\$+)?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?"}]},"parameter-default-types":{patterns:[{include:"#strings"},{include:"#numbers"},{include:"#string-backtick"},{include:"#variables"},{match:"=>",name:"keyword.operator.key.php"},{match:"=",name:"keyword.operator.assignment.php"},{match:"&(?=\\s*\\$)",name:"storage.modifier.reference.php"},{begin:"(array)\\s*(\\()",beginCaptures:{1:{name:"support.function.construct.php"},2:{name:"punctuation.definition.array.begin.bracket.round.php"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.array.end.bracket.round.php"}},name:"meta.array.php",patterns:[{include:"#parameter-default-types"}]},{include:"#instantiation"},{begin:"(?i)(?=[a-z0-9_\\x{7f}-\\x{ff}\\\\]+(::)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?)",end:"(?i)(::)([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)?",endCaptures:{1:{name:"keyword.operator.class.php"},2:{name:"constant.other.class.php"}},patterns:[{include:"#class-name"}]},{include:"#constants"}]},php_doc:{patterns:[{match:"^(?!\\s*\\*).*?(?:(?=\\*\\/)|$\\n?)",name:"invalid.illegal.missing-asterisk.phpdoc.php"},{captures:{1:{name:"keyword.other.phpdoc.php"},3:{name:"storage.modifier.php"},4:{name:"invalid.illegal.wrong-access-type.phpdoc.php"}},match:"^\\s*\\*\\s*(@access)\\s+((public|private|protected)|(.+))\\s*$"},{captures:{1:{name:"keyword.other.phpdoc.php"},2:{name:"markup.underline.link.php"}},match:"(@xlink)\\s+(.+)\\s*$"},{begin:"(@(?:global|param|property(-(read|write))?|return|throws|var))\\s+(?=[A-Za-z_\\x{7f}-\\x{ff}\\\\]|\\()",beginCaptures:{1:{name:"keyword.other.phpdoc.php"}},contentName:"meta.other.type.phpdoc.php",end:"(?=\\s|\\*/)",patterns:[{include:"#php_doc_types_array_multiple"},{include:"#php_doc_types_array_single"},{include:"#php_doc_types"}]},{match:"@(api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|license|link|method|property(-(read|write))?|package|param|return|see|since|source|static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore)\\b",name:"keyword.other.phpdoc.php"},{captures:{1:{name:"keyword.other.phpdoc.php"}},match:"{(@(link|inherit[Dd]oc)).+?}",name:"meta.tag.inline.phpdoc.php"}]},php_doc_types:{captures:{0:{patterns:[{match:`(?x)\\b (string|integer|int|boolean|bool|float|double|object|mixed |array|resource|void|null|callback|false|true|self)\\b`,name:"keyword.other.type.php"},{include:"#class-name"},{match:"\\|",name:"punctuation.separator.delimiter.php"}]}},match:"(?i)[a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*(\\|[a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*)*"},php_doc_types_array_multiple:{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.type.begin.bracket.round.phpdoc.php"}},end:"(\\))(\\[\\])|(?=\\*/)",endCaptures:{1:{name:"punctuation.definition.type.end.bracket.round.phpdoc.php"},2:{name:"keyword.other.array.phpdoc.php"}},patterns:[{include:"#php_doc_types_array_multiple"},{include:"#php_doc_types_array_single"},{include:"#php_doc_types"},{match:"\\|",name:"punctuation.separator.delimiter.php"}]},php_doc_types_array_single:{captures:{1:{patterns:[{include:"#php_doc_types"}]},2:{name:"keyword.other.array.phpdoc.php"}},match:"(?i)([a-z_\\x{7f}-\\x{ff}\\\\][a-z0-9_\\x{7f}-\\x{ff}\\\\]*)(\\[\\])"},"regex-double-quoted":{begin:'"/(?=(\\\\.|[^"/])++/[imsxeADSUXu]*")',beginCaptures:{0:{name:"punctuation.definition.string.begin.php"}},end:'(/)([imsxeADSUXu]*)(")',endCaptures:{0:{name:"punctuation.definition.string.end.php"}},name:"string.regexp.double-quoted.php",patterns:[{match:"(\\\\){1,2}[.$^\\[\\]{}]",name:"constant.character.escape.regex.php"},{include:"#interpolation"},{captures:{1:{name:"punctuation.definition.arbitrary-repetition.php"},3:{name:"punctuation.definition.arbitrary-repetition.php"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repetition.php"},{begin:"\\[(?:\\^?\\])?",captures:{0:{name:"punctuation.definition.character-class.php"}},end:"\\]",name:"string.regexp.character-class.php",patterns:[{include:"#interpolation"}]},{match:"[$^+*]",name:"keyword.operator.regexp.php"}]},"regex-single-quoted":{begin:"'/(?=(\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)|[^'/])++/[imsxeADSUXu]*')",beginCaptures:{0:{name:"punctuation.definition.string.begin.php"}},end:"(/)([imsxeADSUXu]*)(')",endCaptures:{0:{name:"punctuation.definition.string.end.php"}},name:"string.regexp.single-quoted.php",patterns:[{include:"#single_quote_regex_escape"},{captures:{1:{name:"punctuation.definition.arbitrary-repetition.php"},3:{name:"punctuation.definition.arbitrary-repetition.php"}},match:"({)\\d+(,\\d+)?(})",name:"string.regexp.arbitrary-repetition.php"},{begin:"\\[(?:\\^?\\])?",captures:{0:{name:"punctuation.definition.character-class.php"}},end:"\\]",name:"string.regexp.character-class.php"},{match:"[$^+*]",name:"keyword.operator.regexp.php"}]},"scope-resolution":{patterns:[{captures:{1:{patterns:[{match:"\\b(self|static|parent)\\b",name:"storage.type.php"},{match:"\\w+",name:"entity.name.class.php"},{include:"#class-name"},{include:"#variable-name"}]}},match:"(?i)\\b([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(?=\\s*::)"},{begin:"(?i)(::)\\s*([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)\\s*(\\()",beginCaptures:{1:{name:"keyword.operator.class.php"},2:{name:"entity.name.function.php"},3:{name:"punctuation.definition.arguments.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.arguments.end.bracket.round.php"}},name:"meta.method-call.static.php",patterns:[{include:"#language"}]},{captures:{1:{name:"keyword.operator.class.php"},2:{name:"keyword.other.class.php"}},match:"(?i)(::)\\s*(class)\\b"},{captures:{1:{name:"keyword.operator.class.php"},2:{name:"variable.other.class.php"},3:{name:"punctuation.definition.variable.php"},4:{name:"constant.other.class.php"}},match:"(?i)(::)\\s*(?:((\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)|([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))?"}]},single_quote_regex_escape:{match:"\\\\(?:\\\\(?:\\\\[\\\\']?|[^'])|.)",name:"constant.character.escape.php"},"sql-string-double-quoted":{begin:'"\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)',beginCaptures:{0:{name:"punctuation.definition.string.begin.php"}},contentName:"source.sql.embedded.php",end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.php"}},name:"string.quoted.double.sql.php",patterns:[{captures:{1:{name:"punctuation.definition.comment.sql"}},match:'(#)(\\\\"|[^"])*(?="|$)',name:"comment.line.number-sign.sql"},{captures:{1:{name:"punctuation.definition.comment.sql"}},match:'(--)(\\\\"|[^"])*(?="|$)',name:"comment.line.double-dash.sql"},{match:"\\\\[\\\\\"`']",name:"constant.character.escape.php"},{match:`'(?=((\\\\')|[^'"])*("|$))`,name:"string.quoted.single.unclosed.sql"},{match:'`(?=((\\\\`)|[^`"])*("|$))',name:"string.quoted.other.backtick.unclosed.sql"},{begin:"'",end:"'",name:"string.quoted.single.sql",patterns:[{include:"#interpolation"}]},{begin:"`",end:"`",name:"string.quoted.other.backtick.sql",patterns:[{include:"#interpolation"}]},{include:"#interpolation"},{include:"source.sql"}]},"sql-string-single-quoted":{begin:"'\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\b)",beginCaptures:{0:{name:"punctuation.definition.string.begin.php"}},contentName:"source.sql.embedded.php",end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.php"}},name:"string.quoted.single.sql.php",patterns:[{captures:{1:{name:"punctuation.definition.comment.sql"}},match:"(#)(\\\\'|[^'])*(?='|$)",name:"comment.line.number-sign.sql"},{captures:{1:{name:"punctuation.definition.comment.sql"}},match:"(--)(\\\\'|[^'])*(?='|$)",name:"comment.line.double-dash.sql"},{match:"\\\\[\\\\'`\"]",name:"constant.character.escape.php"},{match:"`(?=((\\\\`)|[^`'])*('|$))",name:"string.quoted.other.backtick.unclosed.sql"},{match:`"(?=((\\\\")|[^"'])*('|$))`,name:"string.quoted.double.unclosed.sql"},{include:"source.sql"}]},"string-backtick":{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.php"}},end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.php"}},name:"string.interpolated.php",patterns:[{match:"\\\\.",name:"constant.character.escape.php"},{include:"#interpolation"}]},"string-double-quoted":{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.php"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.php"}},name:"string.quoted.double.php",patterns:[{include:"#interpolation"}]},"string-single-quoted":{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.php"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.php"}},name:"string.quoted.single.php",patterns:[{match:"\\\\[\\\\']",name:"constant.character.escape.php"}]},strings:{patterns:[{include:"#regex-double-quoted"},{include:"#sql-string-double-quoted"},{include:"#string-double-quoted"},{include:"#regex-single-quoted"},{include:"#sql-string-single-quoted"},{include:"#string-single-quoted"}]},support:{patterns:[{match:"(?i)\\bapc_(store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|exists|fetch|load_constants|add|bin_(dump|load)(file)?)\\b",name:"support.function.apc.php"},{match:"(?i)\\b(shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|(diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?))\\b",name:"support.function.array.php"},{match:"(?i)\\b(show_source|sys_getloadavg|sleep|highlight_(file|string)|constant|connection_(aborted|status)|time_(nanosleep|sleep_until)|ignore_user_abort|die|define(d)?|usleep|uniqid|unpack|__halt_compiler|php_(check_syntax|strip_whitespace)|pack|eval|exit|get_browser)\\b",name:"support.function.basic_functions.php"},{match:"(?i)\\bbc(scale|sub|sqrt|comp|div|pow(mod)?|add|mod|mul)\\b",name:"support.function.bcmath.php"},{match:"(?i)\\bblenc_encrypt\\b",name:"support.function.blenc.php"},{match:"(?i)\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\b",name:"support.function.bz2.php"},{match:"(?i)\\b((French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|jdto(unix|jewish)|easter_(date|days)|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek))\\b",name:"support.function.calendar.php"},{match:"(?i)\\b(class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits)))\\b",name:"support.function.classobj.php"},{match:"(?i)\\b(com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul))\\b",name:"support.function.com.php"},{begin:"(?i)\\b(isset|unset|eval|empty|list)\\b",name:"support.function.construct.php"},{match:"(?i)\\b(print|echo)\\b",name:"support.function.construct.output.php"},{match:"(?i)\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\b",name:"support.function.ctype.php"},{match:"(?i)\\bcurl_(share_(close|init|setopt)|strerror|setopt(_array)?|copy_handle|close|init|unescape|pause|escape|errno|error|exec|version|file_create|reset|getinfo|multi_(strerror|setopt|select|close|init|info_read|(add|remove)_handle|getcontent|exec))\\b",name:"support.function.curl.php"},{match:"(?i)\\b(strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|date(_(sun(rise|set)|sun_info|sub|create(_(immutable_)?from_format)?|timestamp_(get|set)|timezone_(get|set)|time_set|isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_(get|set)|date_set|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime)\\b",name:"support.function.datetime.php"},{match:"(?i)\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\b",name:"support.function.dba.php"},{match:"(?i)\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\b",name:"support.function.dbx.php"},{match:"(?i)\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\b",name:"support.function.dir.php"},{match:"(?i)\\beio_(sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy)\\b",name:"support.function.eio.php"},{match:"(?i)\\benchant_(dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error))\\b",name:"support.function.enchant.php"},{match:"(?i)\\bsplit(i)?|sql_regcase|ereg(i)?(_replace)?\\b",name:"support.function.ereg.php"},{match:"(?i)\\b((restore|set)_(error_handler|exception_handler)|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|get_last))\\b",name:"support.function.errorfunc.php"},{match:"(?i)\\bshell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec\\b",name:"support.function.exec.php"},{match:"(?i)\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\b",name:"support.function.exif.php"},{match:"(?i)\\bfann_((duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|(input|output)(_train_data)?)|set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|(max|min)_(cand|out)_epochs)|callback|training_algorithm|train_(error|stop)_function|(input|output)_scaling_params|error_log|quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|activation_(function|steepness)(_(hidden|layer|output))?|rprop_((decrease|increase)_factor|delta_(max|min|zero)))|save(_train)?|num_(input|output)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|create_((sparse|shortcut|standard)(_array)?|train(_from_callback)?|from_file)|test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|cascade_(num_(candidates|candidate_groups)|(candidate|output)_(change_fraction|limit|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)(_count)?|(max|min)_(cand|out)_epochs)|total_(connections|neurons)|training_algorithm|train_(error|stop)_function|err(no|str)|quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|rprop_((decrease|increase)_factor|delta_(max|min|zero))))\\b",name:"support.function.fann.php"},{match:"(?i)\\b(symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename)\\b",name:"support.function.file.php"},{match:"(?i)\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\b",name:"support.function.fileinfo.php"},{match:"(?i)\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\b",name:"support.function.filter.php"},{match:"(?i)\\bfastcgi_finish_request\\b",name:"support.function.fpm.php"},{match:"(?i)\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\b",name:"support.function.funchand.php"},{match:"(?i)\\b((n)?gettext|textdomain|d((n)?gettext|c(n)?gettext)|bind(textdomain|_textdomain_codeset))\\b",name:"support.function.gettext.php"},{match:"(?i)\\bgmp_(scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|intval|init|invert|import|or|div(exact)?|div_(q|qr|r)|jacobi|popcount|pow(m)?|perfect_square|prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range))?|gcd(ext)?|xor|mod|mul)\\b",name:"support.function.gmp.php"},{match:"(?i)\\bhash(_(hmac(_file)?|copy|init|update(_(file|stream))?|pbkdf2|equals|file|final|algos))?\\b",name:"support.function.hash.php"},{match:"(?i)\\b(http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|ob_(etag|deflate|inflate)handler)\\b",name:"support.function.http.php"},{match:"(?i)\\b(iconv(_(str(pos|len|rpos)|substr|(get|set)_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\b",name:"support.function.iconv.php"},{match:"(?i)\\biis_((start|stop)_(service|server)|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\b",name:"support.function.iisfunc.php"},{match:"(?i)\\b(iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|image(s[xy]|scale|(char|string)(up)?|set(style|thickness|tile|interpolation|pixel|brush)|savealpha|convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|crop(auto)?|create(truecolor|from(string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|xpm|xbm))?|types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|_type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd(2)?|gammacorrect|grab(screen|window)|xbm))\\b",name:"support.function.image.php"},{match:"(?i)\\b(sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_(get|set)_process_title|ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|magic_quotes_(gpc|runtime)|required_files|resources)|get(env|lastmod|rusage|my(inode|[gup]id))|memory_get_(peak_)?usage|main|magic_quotes_runtime)\\b",name:"support.function.info.php"},{match:"(?i)\\bibase_(set_event_handler|service_(attach|detach)|server_info|num_(fields|params)|name_result|connect|commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|blob_(cancel|close|create|import|info|open|echo|add|get))\\b",name:"support.function.interbase.php"},{match:"(?i)\\b(normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|get_(strength|sort_key|error_(code|message)|locale|attribute))|transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|grapheme_(str(i?str|r?i?pos|len)|substr|extract)|msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale)))\\b",name:"support.function.intl.php"},{match:"(?i)\\bjson_(decode|encode|last_error(_msg)?)\\b",name:"support.function.json.php"},{match:"(?i)\\bldap_(start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|dn2ufn|delete|unbind|parse_(reference|result)|escape|errno|err2str|error|explode_dn|bind|free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|mod_(add|del|replace))\\b",name:"support.function.ldap.php"},{match:"(?i)\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\b",name:"support.function.libxml.php"},{match:"(?i)\\b(ezmlm_hash|mail)\\b",name:"support.function.mail.php"},{match:"(?i)\\b((a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1(p|0))?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert)\\b",name:"support.function.math.php"},{match:"(?i)\\bmb_(str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos)|substitute_character|substr(_count)?|split|send_mail|http_(input|output)|check_encoding|convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|list_encodings|language|regex_(set_options|encoding)|get_info)\\b",name:"support.function.mbstring.php"},{match:"(?i)\\b(mcrypt_(cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|get_(cipher_name|(block|iv|key)_size)|module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|get_(supported_key_sizes|algo_(block|key)_size)))|mdecrypt_generic)\\b",name:"support.function.mcrypt.php"},{match:"(?i)\\bmemcache_debug\\b",name:"support.function.memcache.php"},{match:"(?i)\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\b",name:"support.function.mhash.php"},{match:"(?i)\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_(decode|encode))\\b",name:"support.function.mongo.php"},{match:"(?i)\\bmysql_(stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|get_(client|host|proto|server)_info)\\b",name:"support.function.mysql.php"},{match:"(?i)\\bmysqli_(ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|attr_(get|set)|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|client_encoding|close|thread_safe|init|options|(enable|disable)_(reads_from_master|rpl_parse)|dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|master_query|bind_(param|result)|begin_transaction)\\b",name:"support.function.mysqli.php"},{match:"(?i)\\bmysqlnd_memcache_(set|get_config)\\b",name:"support.function.mysqlnd-memcache.php"},{match:"(?i)\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\b",name:"support.function.mysqlnd-ms.php"},{match:"(?i)\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\b",name:"support.function.mysqlnd-qc.php"},{match:"(?i)\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\b",name:"support.function.mysqlnd-uh.php"},{match:"(?i)\\b(syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|headers_(list|sent)|header(_(register_callback|remove))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(name|number)|mxrr))\\b",name:"support.function.network.php"},{match:"(?i)\\bnsapi_(virtual|response_headers|request_headers)\\b",name:"support.function.nsapi.php"},{match:"(?i)\\b(oci(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(on|off)|rowcount|rollback|result|bindbyname)|oci_(statement_type|set_(client_(info|identifier)|prefetch|edition|action|module_name)|server_version|num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset))\\b",name:"support.function.oci8.php"},{match:"(?i)\\bopcache_(compile_file|invalidate|reset|get_(status|configuration))\\b",name:"support.function.opcache.php"},{match:"(?i)\\bopenssl_(sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|cipher_iv_length|open|dh_compute_key|digest|decrypt|public_(decrypt|encrypt)|encrypt|error_string|pkcs12_(export(_to_file)?|read)|pkcs7_(sign|decrypt|encrypt|verify)|verify|free_key|random_pseudo_bytes|pkey_(new|export(_to_file)?|free|get_(details|public|private))|private_(decrypt|encrypt)|pbkdf2|get_((cipher|md)_methods|cert_locations|(public|private)key)|x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read))\\b",name:"support.function.openssl.php"},{match:"(?i)\\b(output_(add_rewrite_var|reset_rewrite_vars)|flush|ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|get_(status|contents|clean|flush|length|level)))\\b",name:"support.function.output.php"},{match:"(?i)\\bpassword_(hash|needs_rehash|verify|get_info)\\b",name:"support.function.password.php"},{match:"(?i)\\bpcntl_(strerror|signal(_dispatch)?|sig(timedwait|procmask|waitinfo)|setpriority|errno|exec|fork|w(stopsig|termsig|if(stopped|signaled|exited))|wait(pid)?|alarm|getpriority|get_last_error)\\b",name:"support.function.pcntl.php"},{match:"(?i)\\bpg_(socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|)\\b",name:"support.function.pgsql.php"},{match:"(?i)\\b(virtual|getallheaders|apache_((get|set)env|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\b",name:"support.function.php_apache.php"},{match:"(?i)\\bdom_import_simplexml\\b",name:"support.function.php_dom.php"},{match:"(?i)\\bftp_(ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir)\\b",name:"support.function.php_ftp.php"},{match:"(?i)\\bimap_((create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|8bit|unsubscribe|undelete|utf7_(decode|encode)|utf8|uid|ping|errors|expunge|qprint|gc|fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(scan|subscribed)|last_error|rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64)\\b",name:"support.function.php_imap.php"},{match:"(?i)\\bmssql_(select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind)\\b",name:"support.function.php_mssql.php"},{match:"(?i)\\bodbc_(statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode)\\b",name:"support.function.php_odbc.php"},{match:"(?i)\\bpreg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?)\\b",name:"support.function.php_pcre.php"},{match:"(?i)\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\b",name:"support.function.php_spl.php"},{match:"(?i)\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\b",name:"support.function.php_zip.php"},{match:"(?i)\\bposix_(strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|access|get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|get_last_error|mknod|mkfifo)\\b",name:"support.function.posix.php"},{match:"(?i)\\bset(thread|proc)title\\b",name:"support.function.proctitle.php"},{match:"(?i)\\bpspell_(store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|config_(save_repl|create|ignore|(data|dict)_dir|personal|runtogether|repl|mode)|add_to_(session|personal))\\b",name:"support.function.pspell.php"},{match:"(?i)\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\b",name:"support.function.readline.php"},{match:"(?i)\\brecode(_(string|file))?\\b",name:"support.function.recode.php"},{match:"(?i)\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\b",name:"support.function.rrd.php"},{match:"(?i)\\b(shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|msg_((get|remove|set|stat)_queue|send|queue_exists|receive))\\b",name:"support.function.sem.php"},{match:"(?i)\\bsession_(status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|regenerate_id|get_cookie_params|module_name)\\b",name:"support.function.session.php"},{match:"(?i)\\bshmop_(size|close|open|delete|write|read)\\b",name:"support.function.shmop.php"},{match:"(?i)\\bsimplexml_(import_dom|load_(string|file))\\b",name:"support.function.simplexml.php"},{match:"(?i)\\b(snmp(walk(oid)?|realwalk|get(next)?|set)|snmp_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|get_(valueretrieval|quick_print))|snmp[23]_(set|walk|real_walk|get(next)?))\\b",name:"support.function.snmp.php"},{match:"(?i)\\b(is_soap_fault|use_soap_error_handler)\\b",name:"support.function.soap.php"},{match:"(?i)\\bsocket_(shutdown|strerror|send(to|msg)?|set_((non)?block|option)|select|connect|close|clear_error|bind|create(_(pair|listen))?|cmsg_space|import_stream|write|listen|last_error|accept|recv(from|msg)?|read|get(peer|sock)name|get_option)\\b",name:"support.function.sockets.php"},{match:"(?i)\\bsqlite_(single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|create_(aggregate|function)|open|unbuffered_query|udf_(decode|encode)_binary|popen|prev|escape_string|error_string|exec|valid|key|query|field_name|factory|fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|last_(insert_rowid|error)|array_query|rewind|busy_timeout)\\b",name:"support.function.sqlite.php"},{match:"(?i)\\bsqlsrv_(send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction)\\b",name:"support.function.sqlsrv.php"},{match:"(?i)\\bstats_(harmonic_mean|covariance|standard_deviation|skew|cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|logistic|laplace|gamma|binomial|beta)|stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|weibull|logistic|laplace|gamma|beta)|den_uniform|variance|kurtosis|absolute_deviation|rand_(setall|phrase_to_seeds|ranf|get_seeds|gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta)))\\b",name:"support.function.stats.php"},{match:"(?i)\\b(set_socket_blocking|stream_(socket_(shutdown|sendto|server|client|pair|enable_crypto|accept|recvfrom|get_name)|set_(chunk_size|timeout|(read|write)_buffer|blocking)|select|notification_callback|supports_lock|context_(set_(option|default|params)|create|get_(options|default|params))|copy_to_stream|is_local|encoding|filter_(append|prepend|register|remove)|wrapper_((un)?register|restore)|resolve_include_path|register_wrapper|get_(contents|transports|filters|wrappers|line|meta_data)|bucket_(new|prepend|append|make_writeable)))\\b",name:"support.function.streamsfuncs.php"},{match:"(?i)\\b(money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|str_(getcsv|ireplace|pad|repeat|replace|rot13|shuffle|split|word_count)|strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|chop|chunk_split|chr|convert_(cyr_string|uu(decode|encode))|count_chars|crypt|crc32|trim|implode|ord|uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_(decode|encode)|quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table)\\b",name:"support.function.string.php"},{match:"(?i)\\bsybase_(set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|affected_rows|result|get_last_message|min_(client|error|message|server)_severity)\\b",name:"support.function.sybase.php"},{match:"(?i)\\b(taint|is_tainted|untaint)\\b",name:"support.function.taint.php"},{match:"(?i)\\b(tidy_((get|set)opt|set_encoding|save_config|config_count|clean_repair|is_(xhtml|xml)|diagnose|(access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|ob_tidyhandler)\\b",name:"support.function.tidy.php"},{match:"(?i)\\btoken_(name|get_all)\\b",name:"support.function.tokenizer.php"},{match:"(?i)\\btrader_(stoch(f|r|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|ht_(sine|trend(line|mode)|dc(period|phase)|phasor)|natr|cci|cos(h)?|correl|cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|belthold|breakaway)|ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|ad|add|adx(r)?|apo|avgprice|aroon(osc)?|rsi|roc|rocp|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|minmax(index)?|mid(point|price)|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?)\\b",name:"support.function.trader.php"},{match:"(?i)\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\b",name:"support.function.uopz.php"},{match:"(?i)\\b(http_build_query|(raw)?url(decode|encode)|parse_url|get_(headers|meta_tags)|base64_(decode|encode))\\b",name:"support.function.url.php"},{match:"(?i)\\b(strval|settype|serialize|(bool|double|float)val|debug_zval_dump|intval|import_request_variables|isset|is_(scalar|string|null|numeric|callable|int(eger)?|object|double|float|long|array|resource|real|bool)|unset|unserialize|print_r|empty|var_(dump|export)|gettype|get_(defined_vars|resource_type))\\b",name:"support.function.var.php"},{match:"(?i)\\bwddx_(serialize_(value|vars)|deserialize|packet_(start|end)|add_vars)\\b",name:"support.function.wddx.php"},{match:"(?i)\\bxhprof_(sample_)?(disable|enable)\\b",name:"support.function.xhprof.php"},{match:"(?i)\\b(utf8_(decode|encode)|xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|(character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|parse(_into_struct)?|parser_((get|set)_option|create(_ns)?|free)|error_string|get_(current_((column|line)_number|byte_index)|error_code)))\\b",name:"support.function.xml.php"},{match:"(?i)\\bxmlrpc_(server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|(get|set)_type)\\b",name:"support.function.xmlrpc.php"},{match:"(?i)\\bxmlwriter_((end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|(start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|full_end_element|flush|)\\b",name:"support.function.xmlwriter.php"},{match:"(?i)\\b(zlib_(decode|encode|get_coding_type)|readgzfile|gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|write|rewind|read|getc|getss?))\\b",name:"support.function.zlib.php"},{match:"(?i)\\bis_int(eger)?\\b",name:"support.function.alias.php"}]},switch_statement:{patterns:[{match:"\\s+(?=switch\\b)"},{begin:"\\bswitch\\b(?!\\s*\\(.*\\)\\s*:)",beginCaptures:{0:{name:"keyword.control.switch.php"}},end:"}|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.section.switch-block.end.bracket.curly.php"}},name:"meta.switch-statement.php",patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.switch-expression.begin.bracket.round.php"}},end:"\\)|(?=\\?>)",endCaptures:{0:{name:"punctuation.definition.switch-expression.end.bracket.round.php"}},patterns:[{include:"#language"}]},{begin:"{",beginCaptures:{0:{name:"punctuation.definition.section.switch-block.begin.bracket.curly.php"}},end:"(?=}|\\?>)",patterns:[{include:"#language"}]}]}]},"use-inner":{patterns:[{include:"#comments"},{begin:"(?i)\\b(as)\\s+",beginCaptures:{1:{name:"keyword.other.use-as.php"}},end:"(?i)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*",endCaptures:{0:{name:"entity.other.alias.php"}}},{include:"#class-name"},{match:",",name:"punctuation.separator.delimiter.php"}]},var_basic:{patterns:[{captures:{1:{name:"punctuation.definition.variable.php"}},match:"(?i)(\\$+)[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*\\b",name:"variable.other.php"}]},var_global:{captures:{1:{name:"punctuation.definition.variable.php"}},match:"(\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg(v|c))\\b",name:"variable.other.global.php"},var_global_safer:{captures:{1:{name:"punctuation.definition.variable.php"}},match:"(\\$)((GLOBALS|_(ENV|SERVER|SESSION)))",name:"variable.other.global.safer.php"},var_language:{captures:{1:{name:"punctuation.definition.variable.php"}},match:"(\\$)this\\b",name:"variable.language.this.php"},"variable-name":{patterns:[{include:"#var_global"},{include:"#var_global_safer"},{captures:{1:{name:"variable.other.php"},2:{name:"punctuation.definition.variable.php"},4:{name:"keyword.operator.class.php"},5:{name:"variable.other.property.php"},6:{name:"punctuation.section.array.begin.php"},7:{name:"constant.numeric.index.php"},8:{name:"variable.other.index.php"},9:{name:"punctuation.definition.variable.php"},10:{name:"string.unquoted.index.php"},11:{name:"punctuation.section.array.end.php"}},match:"(?i)((\\$)(?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))(?:(->)(\\g)|(\\[)(?:(\\d+)|((\\$)\\g)|([a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*))(\\]))?"},{captures:{1:{name:"variable.other.php"},2:{name:"punctuation.definition.variable.php"},4:{name:"punctuation.definition.variable.php"}},match:"(?i)((\\${)(?[a-z_\\x{7f}-\\x{ff}][a-z0-9_\\x{7f}-\\x{ff}]*)(}))"}]},variables:{patterns:[{include:"#var_language"},{include:"#var_global"},{include:"#var_global_safer"},{include:"#var_basic"},{begin:"\\${(?=.*?})",beginCaptures:{0:{name:"punctuation.definition.variable.php"}},end:"}",endCaptures:{0:{name:"punctuation.definition.variable.php"}},patterns:[{include:"#language"}]}]}},scopeName:"text.html.php.blade",embeddedLangs:["html","xml","sql","javascript","json","css"]}),Aca=[...ji,...Ud,...ll,...Mr,...Uf,...co,mca]});var mLr={};Be(mLr,{default:()=>gca});var fca,gca,ALr=N(()=>{fca=Object.freeze({displayName:"Cadence",name:"cadence",patterns:[{include:"#comments"},{include:"#expressions"},{include:"#declarations"},{include:"#keywords"},{include:"#code-block"},{include:"#composite"},{include:"#event"}],repository:{"code-block":{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.scope.begin.cadence"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.scope.end.cadence"}},patterns:[{include:"$self"}]},comments:{patterns:[{captures:{1:{name:"punctuation.definition.comment.cadence"}},match:"\\A^(#!).*$\\n?",name:"comment.line.number-sign.cadence"},{begin:"/\\*\\*(?!/)",beginCaptures:{0:{name:"punctuation.definition.comment.begin.cadence"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.documentation.cadence",patterns:[{include:"#nested"}]},{begin:"/\\*:",beginCaptures:{0:{name:"punctuation.definition.comment.begin.cadence"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.documentation.playground.cadence",patterns:[{include:"#nested"}]},{begin:"/\\*",beginCaptures:{0:{name:"punctuation.definition.comment.begin.cadence"}},end:"\\*/",endCaptures:{0:{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.cadence",patterns:[{include:"#nested"}]},{match:"\\*/",name:"invalid.illegal.unexpected-end-of-block-comment.cadence"},{begin:"(^[ \\t]+)?(?=//)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.cadence"}},end:"(?!\\G)",patterns:[{begin:"///",beginCaptures:{0:{name:"punctuation.definition.comment.cadence"}},end:"^",name:"comment.line.triple-slash.documentation.cadence"},{begin:"//:",beginCaptures:{0:{name:"punctuation.definition.comment.cadence"}},end:"^",name:"comment.line.double-slash.documentation.cadence"},{begin:"//",beginCaptures:{0:{name:"punctuation.definition.comment.cadence"}},end:"^",name:"comment.line.double-slash.cadence"}]}],repository:{nested:{begin:"/\\*",end:"\\*/",patterns:[{include:"#nested"}]}}},composite:{begin:"\\b((?:(?:struct|resource|contract)(?:\\s+interface)?)|transaction|enum)\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)",beginCaptures:{1:{name:"storage.type.$1.cadence"},2:{name:"entity.name.type.$1.cadence"}},end:"(?<=\\})",name:"meta.definition.type.composite.cadence",patterns:[{include:"#comments"},{include:"#conformance-clause"},{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.type.begin.cadence"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.type.end.cadence"}},name:"meta.definition.type.body.cadence",patterns:[{include:"$self"}]}]},"conformance-clause":{begin:"(:)(?=\\s*\\{)|(:)\\s*",beginCaptures:{1:{name:"invalid.illegal.empty-conformance-clause.cadence"},2:{name:"punctuation.separator.conformance-clause.cadence"}},end:"(?!\\G)$|(?=[={}])",name:"meta.conformance-clause.cadence",patterns:[{begin:"\\G",end:"(?!\\G)$|(?=[={}])",patterns:[{include:"#comments"},{include:"#type"}]}]},declarations:{patterns:[{include:"#var-let-declaration"},{include:"#function"},{include:"#initializer"}]},event:{begin:"\\b(event)\\b\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*",beginCaptures:{1:{name:"storage.type.event.cadence"},2:{name:"entity.name.type.event.cadence"}},end:"(?<=\\))|$",name:"meta.definition.type.event.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"}]},"expression-element-list":{patterns:[{include:"#comments"},{begin:"([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*(:)",beginCaptures:{1:{name:"support.function.any-method.cadence"},2:{name:"punctuation.separator.argument-label.cadence"}},comment:"an element with a label",end:"(?=[,)\\]])",patterns:[{include:"#expressions"}]},{begin:"(?![,)\\]])(?=\\S)",comment:"an element without a label (i.e. anything else)",end:"(?=[,)\\]])",patterns:[{include:"#expressions"}]}]},expressions:{patterns:[{include:"#comments"},{include:"#function-call-expression"},{include:"#literals"},{include:"#operators"},{include:"#language-variables"}]},function:{begin:"\\b(fun)\\b\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*",beginCaptures:{1:{name:"storage.type.function.cadence"},2:{name:"entity.name.function.cadence"}},end:"(?<=\\})|$",name:"meta.definition.function.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{include:"#function-result"},{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.section.function.begin.cadence"}},end:"(\\})",endCaptures:{1:{name:"punctuation.section.function.end.cadence"}},name:"meta.definition.function.body.cadence",patterns:[{include:"$self"}]}]},"function-call-expression":{patterns:[{begin:"(?!(?:set|init))([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s*(\\()",beginCaptures:{1:{name:"support.function.any-method.cadence"},4:{name:"punctuation.definition.arguments.begin.cadence"}},comment:"foo(args) -- a call whose callee is a highlightable name",end:"\\)",endCaptures:{0:{name:"punctuation.definition.arguments.end.cadence"}},name:"meta.function-call.cadence",patterns:[{include:"#expression-element-list"}]}]},"function-result":{begin:"(?&|\\^~.])(:)(?![/=\\-+!*%<>&|\\^~.])\\s*",beginCaptures:{1:{name:"keyword.operator.function-result.cadence"}},end:"(?!\\G)(?=\\{|;)|$",name:"meta.function-result.cadence",patterns:[{include:"#type"}]},initializer:{begin:"(?|<|>=|<=",name:"keyword.operator.comparison.cadence"},{match:"\\?\\?",name:"keyword.operator.coalescing.cadence"},{match:"&&|\\|\\|",name:"keyword.operator.logical.cadence"},{match:"[?!]",name:"keyword.operator.type.optional.cadence"}]},"parameter-clause":{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.parameters.begin.cadence"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.parameters.end.cadence"}},name:"meta.parameter-clause.cadence",patterns:[{include:"#parameter-list"}]},"parameter-list":{patterns:[{captures:{1:{name:"entity.name.function.cadence"},2:{name:"variable.parameter.function.cadence"}},comment:"External parameter labels are considered part of the function name",match:"([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)(?=\\s*:)"},{captures:{1:{name:"variable.parameter.function.cadence"},2:{name:"entity.name.function.cadence"}},comment:"If no external label is given, the name is both the external label and the internal variable name",match:"(([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*))(?=\\s*:)"},{begin:":\\s*(?!\\s)",end:"(?=[,)])",patterns:[{include:"#type"},{match:":",name:"invalid.illegal.extra-colon-in-parameter-list.cadence"}]}]},type:{patterns:[{include:"#comments"},{match:"([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)",name:"storage.type.cadence"}]},"var-let-declaration":{begin:"\\b(var|let)\\b\\s+([\\p{L}_][\\p{L}_\\p{N}\\p{M}]*)",beginCaptures:{1:{name:"storage.type.$1.cadence"},2:{name:"entity.name.type.$1.cadence"}},end:"=|<-|<-!|$",patterns:[{include:"#type"}]}},scopeName:"source.cadence",aliases:["cdc"]}),gca=[fca]});var fLr={};Be(fLr,{default:()=>bca});var hca,bca,gLr=N(()=>{hca=Object.freeze({displayName:"Clarity",name:"clarity",patterns:[{include:"#expression"},{include:"#define-constant"},{include:"#define-data-var"},{include:"#define-map"},{include:"#define-function"},{include:"#define-fungible-token"},{include:"#define-non-fungible-token"},{include:"#define-trait"},{include:"#use-trait"}],repository:{"built-in-func":{begin:"(\\()\\s*(\\-|\\+|<\\=|>\\=|<|>|\\*|/|and|append|as-contract|as-max-len\\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\\?|contract-of|default-to|element-at|element-at\\?|filter|fold|from-consensus-buff\\?|ft-burn\\?|ft-get-balance|ft-get-supply|ft-mint\\?|ft-transfer\\?|get-block-info\\?|get-burn-block-info\\?|get-stacks-block-info\\?|get-tenure-info\\?|get-burn-block-info\\?|hash160|if|impl-trait|index-of|index-of\\?|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\\?|nft-get-owner\\?|nft-mint\\?|nft-transfer\\?|not|or|pow|principal-construct\\?|principal-destruct\\?|principal-of\\?|print|replace-at\\?|secp256k1-recover\\?|secp256k1-verify|sha256|sha512|sha512/256|slice\\?|sqrti|string-to-int\\?|string-to-uint\\?|stx-account|stx-burn\\?|stx-get-balance|stx-transfer-memo\\?|stx-transfer\\?|to-consensus-buff\\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor)\\s+",beginCaptures:{1:{name:"punctuation.built-in-function.start.clarity"},2:{name:"keyword.declaration.built-in-function.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.built-in-function.end.clarity"}},name:"meta.built-in-function",patterns:[{include:"#expression"},{include:"#user-func"}]},comment:{match:"(?<=^|[()\\[\\]{}\",'`;\\s])(;).*$",name:"comment.line.semicolon.clarity"},"data-type":{patterns:[{include:"#comment"},{comment:"numerics",match:"\\b(uint|int)\\b",name:"entity.name.type.numeric.clarity"},{comment:"principal",match:"\\b(principal)\\b",name:"entity.name.type.principal.clarity"},{comment:"bool",match:"\\b(bool)\\b",name:"entity.name.type.bool.clarity"},{captures:{1:{name:"punctuation.string_type-def.start.clarity"},2:{name:"entity.name.type.string_type.clarity"},3:{name:"constant.numeric.string_type-len.clarity"},4:{name:"punctuation.string_type-def.end.clarity"}},match:"(\\()\\s*(?:(string-ascii|string-utf8)\\s+(\\d+))\\s*(\\))"},{captures:{1:{name:"punctuation.buff-def.start.clarity"},2:{name:"entity.name.type.buff.clarity"},3:{name:"constant.numeric.buf-len.clarity"},4:{name:"punctuation.buff-def.end.clarity"}},match:"(\\()\\s*(buff)\\s+(\\d+)\\s*(\\))"},{begin:"(\\()\\s*(optional)\\s+",beginCaptures:{1:{name:"punctuation.optional-def.start.clarity"},2:{name:"storage.type.modifier"}},comment:"optional",end:"(\\))",endCaptures:{1:{name:"punctuation.optional-def.end.clarity"}},name:"meta.optional-def",patterns:[{include:"#data-type"}]},{begin:"(\\()\\s*(response)\\s+",beginCaptures:{1:{name:"punctuation.response-def.start.clarity"},2:{name:"storage.type.modifier"}},comment:"response",end:"(\\))",endCaptures:{1:{name:"punctuation.response-def.end.clarity"}},name:"meta.response-def",patterns:[{include:"#data-type"}]},{begin:"(\\()\\s*(list)\\s+(\\d+)\\s+",beginCaptures:{1:{name:"punctuation.list-def.start.clarity"},2:{name:"entity.name.type.list.clarity"},3:{name:"constant.numeric.list-len.clarity"}},comment:"list",end:"(\\))",endCaptures:{1:{name:"punctuation.list-def.end.clarity"}},name:"meta.list-def",patterns:[{include:"#data-type"}]},{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.tuple-def.start.clarity"}},end:"(\\})",endCaptures:{1:{name:"punctuation.tuple-def.end.clarity"}},name:"meta.tuple-def",patterns:[{match:"([a-zA-Z][\\w\\?\\!\\-]*)(?=:)",name:"entity.name.tag.tuple-data-type-key.clarity"},{include:"#data-type"}]}]},"define-constant":{begin:"(\\()\\s*(define-constant)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",beginCaptures:{1:{name:"punctuation.define-constant.start.clarity"},2:{name:"keyword.declaration.define-constant.clarity"},3:{name:"entity.name.constant-name.clarity variable.other.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.define-constant.end.clarity"}},name:"meta.define-constant",patterns:[{include:"#expression"}]},"define-data-var":{begin:"(\\()\\s*(define-data-var)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",beginCaptures:{1:{name:"punctuation.define-data-var.start.clarity"},2:{name:"keyword.declaration.define-data-var.clarity"},3:{name:"entity.name.data-var-name.clarity variable.other.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.define-data-var.end.clarity"}},name:"meta.define-data-var",patterns:[{include:"#data-type"},{include:"#expression"}]},"define-function":{begin:"(\\()\\s*(define-(?:public|private|read-only))\\s+",beginCaptures:{1:{name:"punctuation.define-function.start.clarity"},2:{name:"keyword.declaration.define-function.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.define-function.end.clarity"}},name:"meta.define-function",patterns:[{include:"#expression"},{begin:"(\\()\\s*([a-zA-Z][\\w\\?\\!\\-]*)\\s*",beginCaptures:{1:{name:"punctuation.function-signature.start.clarity"},2:{name:"entity.name.function.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.function-signature.end.clarity"}},name:"meta.define-function-signature",patterns:[{begin:"(\\()\\s*([a-zA-Z][\\w\\?\\!\\-]*)\\s+",beginCaptures:{1:{name:"punctuation.function-argument.start.clarity"},2:{name:"variable.parameter.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.function-argument.end.clarity"}},name:"meta.function-argument",patterns:[{include:"#data-type"}]}]},{include:"#user-func"}]},"define-fungible-token":{captures:{1:{name:"punctuation.define-fungible-token.start.clarity"},2:{name:"keyword.declaration.define-fungible-token.clarity"},3:{name:"entity.name.fungible-token-name.clarity variable.other.clarity"},4:{name:"constant.numeric.fungible-token-total-supply.clarity"},5:{name:"punctuation.define-fungible-token.end.clarity"}},match:"(\\()\\s*(define-fungible-token)\\s+([a-zA-Z][\\w\\?\\!\\-]*)(?:\\s+(u\\d+))?"},"define-map":{begin:"(\\()\\s*(define-map)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",beginCaptures:{1:{name:"punctuation.define-map.start.clarity"},2:{name:"keyword.declaration.define-map.clarity"},3:{name:"entity.name.map-name.clarity variable.other.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.define-map.end.clarity"}},name:"meta.define-map",patterns:[{include:"#data-type"},{include:"#expression"}]},"define-non-fungible-token":{begin:"(\\()\\s*(define-non-fungible-token)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",beginCaptures:{1:{name:"punctuation.define-non-fungible-token.start.clarity"},2:{name:"keyword.declaration.define-non-fungible-token.clarity"},3:{name:"entity.name.non-fungible-token-name.clarity variable.other.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.define-non-fungible-token.end.clarity"}},name:"meta.define-non-fungible-token",patterns:[{include:"#data-type"}]},"define-trait":{begin:"(\\()\\s*(define-trait)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s+",beginCaptures:{1:{name:"punctuation.define-trait.start.clarity"},2:{name:"keyword.declaration.define-trait.clarity"},3:{name:"entity.name.trait-name.clarity variable.other.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.define-trait.end.clarity"}},name:"meta.define-trait",patterns:[{begin:"(\\()\\s*",beginCaptures:{1:{name:"punctuation.define-trait-body.start.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.define-trait-body.end.clarity"}},name:"meta.define-trait-body",patterns:[{include:"#expression"},{begin:"(\\()\\s*([a-zA-Z][\\w\\!\\?\\-]*)\\s+",beginCaptures:{1:{name:"punctuation.trait-function.start.clarity"},2:{name:"entity.name.function.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.trait-function.end.clarity"}},name:"meta.trait-function",patterns:[{include:"#data-type"},{begin:"(\\()\\s*",beginCaptures:{1:{name:"punctuation.trait-function-args.start.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.trait-function-args.end.clarity"}},name:"meta.trait-function-args",patterns:[{include:"#data-type"}]}]}]}]},expression:{patterns:[{include:"#comment"},{include:"#keyword"},{include:"#literal"},{include:"#let-func"},{include:"#built-in-func"},{include:"#get-set-func"}]},"get-set-func":{begin:"(\\()\\s*(var-get|var-set|map-get\\?|map-set|map-insert|map-delete|get)\\s+([a-zA-Z][\\w\\?\\!\\-]*)\\s*",beginCaptures:{1:{name:"punctuation.get-set-func.start.clarity"},2:{name:"keyword.control.clarity"},3:{name:"variable.other.clarity"}},end:"(\\))",endCaptures:{1:{name:"punctuation.get-set-func.end.clarity"}},name:"meta.get-set-func",patterns:[{include:"#expression"}]},keyword:{match:"(?pZt});var yca,pZt,mZt=N(()=>{yca=Object.freeze({displayName:"CMake",fileTypes:["cmake","CMakeLists.txt"],name:"cmake",patterns:[{comment:"Variables That Describe the System",match:"\\b(?i:APPLE|BORLAND|(CMAKE_)?(CL_64|COMPILER_2005|HOST_APPLE|HOST_SYSTEM|HOST_SYSTEM_NAME|HOST_SYSTEM_PROCESSOR|HOST_SYSTEM_VERSION|HOST_UNIX|HOST_WIN32|LIBRARY_ARCHITECTURE|LIBRARY_ARCHITECTURE_REGEX|OBJECT_PATH_MAX|SYSTEM|SYSTEM_NAME|SYSTEM_PROCESSOR|SYSTEM_VERSION)|CYGWIN|MSVC|MSVC80|MSVC_IDE|MSVC_VERSION|UNIX|WIN32|XCODE_VERSION|MSVC60|MSVC70|MSVC90|MSVC71)\\b",name:"constant.source.cmake"},{comment:"cmakeOperators",match:"\\b(?i:ABSOLUTE|AND|BOOL|CACHE|COMMAND|COMMENT|DEFINED|DOC|EQUAL|EXISTS|EXT|FALSE|GREATER|GREATER_EQUAL|INTERNAL|IN_LIST|IS_ABSOLUTE|IS_DIRECTORY|IS_NEWER_THAN|IS_SYMLINK|LESS|LESS_EQUAL|MATCHES|NAME|NAMES|NAME_WE|NOT|OFF|ON|OR|PATH|PATHS|POLICY|PROGRAM|STREQUAL|STRGREATER|STRGREATER_EQUAL|STRING|STRLESS|STRLESS_EQUAL|TARGET|TEST|TRUE|VERSION_EQUAL|VERSION_GREATER|VERSION_GREATER_EQUAL|VERSION_LESS)\\b",name:"keyword.cmake"},{comment:"Commands",match:"^\\s*\\b(?i:add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_libraries|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)\\b",name:"keyword.cmake"},{comment:"Variables That Change Behavior",match:"\\b(?i:BUILD_SHARED_LIBS|(CMAKE_)?(ABSOLUTE_DESTINATION_FILES|AUTOMOC_RELAXED_MODE|BACKWARDS_COMPATIBILITY|BUILD_TYPE|COLOR_MAKEFILE|CONFIGURATION_TYPES|DEBUG_TARGET_PROPERTIES|DISABLE_FIND_PACKAGE_\\w+|FIND_LIBRARY_PREFIXES|FIND_LIBRARY_SUFFIXES|IGNORE_PATH|INCLUDE_PATH|INSTALL_DEFAULT_COMPONENT_NAME|INSTALL_PREFIX|LIBRARY_PATH|MFC_FLAG|MODULE_PATH|NOT_USING_CONFIG_FLAGS|POLICY_DEFAULT_CMP\\w+|PREFIX_PATH|PROGRAM_PATH|SKIP_INSTALL_ALL_DEPENDENCY|SYSTEM_IGNORE_PATH|SYSTEM_INCLUDE_PATH|SYSTEM_LIBRARY_PATH|SYSTEM_PREFIX_PATH|SYSTEM_PROGRAM_PATH|USER_MAKE_RULES_OVERRIDE|WARN_ON_ABSOLUTE_INSTALL_DESTINATION))\\b",name:"variable.source.cmake"},{match:"\\$\\{\\w+\\}",name:"storage.source.cmake"},{match:"\\$ENV\\{\\w+\\}",name:"storage.source.cmake"},{comment:"Variables that Control the Build",match:"\\b(?i:(CMAKE_)?(\\w+_POSTFIX|ARCHIVE_OUTPUT_DIRECTORY|AUTOMOC|AUTOMOC_MOC_OPTIONS|BUILD_WITH_INSTALL_RPATH|DEBUG_POSTFIX|EXE_LINKER_FLAGS|EXE_LINKER_FLAGS_\\w+|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GNUtoMS|INCLUDE_CURRENT_DIR|INCLUDE_CURRENT_DIR_IN_INTERFACE|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_PATH_FLAG|LINK_DEF_FILE_FLAG|LINK_DEPENDS_NO_SHARED|LINK_INTERFACE_LIBRARIES|LINK_LIBRARY_FILE_FLAG|LINK_LIBRARY_FLAG|MACOSX_BUNDLE|NO_BUILTIN_CHRPATH|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|RUNTIME_OUTPUT_DIRECTORY|SKIP_BUILD_RPATH|SKIP_INSTALL_RPATH|TRY_COMPILE_CONFIGURATION|USE_RELATIVE_PATHS|WIN32_EXECUTABLE)|EXECUTABLE_OUTPUT_PATH|LIBRARY_OUTPUT_PATH)\\b",name:"variable.source.cmake"},{comment:"Variables that Provide Information",match:"\\b(?i:CMAKE_(AR|ARGC|ARGV0|BINARY_DIR|BUILD_TOOL|CACHEFILE_DIR|CACHE_MAJOR_VERSION|CACHE_MINOR_VERSION|CACHE_PATCH_VERSION|CFG_INTDIR|COMMAND|CROSSCOMPILING|CTEST_COMMAND|CURRENT_BINARY_DIR|CURRENT_LIST_DIR|CURRENT_LIST_FILE|CURRENT_LIST_LINE|CURRENT_SOURCE_DIR|DL_LIBS|EDIT_COMMAND|EXECUTABLE_SUFFIX|EXTRA_GENERATOR|EXTRA_SHARED_LIBRARY_SUFFIXES|GENERATOR|HOME_DIRECTORY|IMPORT_LIBRARY_PREFIX|IMPORT_LIBRARY_SUFFIX|LINK_LIBRARY_SUFFIX|MAJOR_VERSION|MAKE_PROGRAM|MINOR_VERSION|PARENT_LIST_FILE|PATCH_VERSION|PROJECT_NAME|RANLIB|ROOT|SCRIPT_MODE_FILE|SHARED_LIBRARY_PREFIX|SHARED_LIBRARY_SUFFIX|SHARED_MODULE_PREFIX|SHARED_MODULE_SUFFIX|SIZEOF_VOID_P|SKIP_RPATH|SOURCE_DIR|STANDARD_LIBRARIES|STATIC_LIBRARY_PREFIX|STATIC_LIBRARY_SUFFIX|TWEAK_VERSION|USING_VC_FREE_TOOLS|VERBOSE_MAKEFILE|VERSION)|PROJECT_BINARY_DIR|PROJECT_NAME|PROJECT_SOURCE_DIR|\\w+_BINARY_DIR|\\w+__SOURCE_DIR)\\b",name:"variable.source.cmake"},{begin:"#\\[(=*)\\[",comment:"BracketArgs",end:"\\]\\1\\]",name:"comment.source.cmake",patterns:[{match:"\\\\(.|$)",name:"constant.character.escape"}]},{begin:"\\[(=*)\\[",comment:"BracketArgs",end:"\\]\\1\\]",name:"argument.source.cmake",patterns:[{match:"\\\\(.|$)",name:"constant.character.escape"}]},{match:"#+.*$",name:"comment.source.cmake"},{comment:"Properties on Cache Entries",match:"\\b(?i:ADVANCED|HELPSTRING|MODIFIED|STRINGS|TYPE|VALUE)\\b",name:"entity.source.cmake"},{comment:"Properties on Source Files",match:"\\b(?i:ABSTRACT|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_|COMPILE_FLAGS|EXTERNAL_OBJECT|Fortran_FORMAT|GENERATED|HEADER_FILE_ONLY|KEEP_EXTENSION|LABELS|LANGUAGE|LOCATION|MACOSX_PACKAGE_LOCATION|OBJECT_DEPENDS|OBJECT_OUTPUTS|SYMBOLIC|WRAP_EXCLUDE)\\b",name:"entity.source.cmake"},{comment:"Properties on Tests",match:"\\b(?i:ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|COST|DEPENDS|ENVIRONMENT|FAIL_REGULAR_EXPRESSION|LABELS|MEASUREMENT|PASS_REGULAR_EXPRESSION|PROCESSORS|REQUIRED_FILES|RESOURCE_LOCK|RUN_SERIAL|TIMEOUT|WILL_FAIL|WORKING_DIRECTORY)\\b",name:"entity.source.cmake"},{comment:"Properties on Directories",match:"\\b(?i:ADDITIONAL_MAKE_CLEAN_FILES|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_\\w+|DEFINITIONS|EXCLUDE_FROM_ALL|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\w+|LINK_DIRECTORIES|LISTFILE_STACK|MACROS|PARENT_DIRECTORY|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|TEST_INCLUDE_FILE|VARIABLES|VS_GLOBAL_SECTION_POST_\\w+|VS_GLOBAL_SECTION_PRE_\\w+)\\b",name:"entity.source.cmake"},{comment:"Properties of Global Scope",match:"\\b(?i:ALLOW_DUPLICATE_CUSTOM_TARGETS|DEBUG_CONFIGURATIONS|DISABLED_FEATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|IN_TRY_COMPILE|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PREDEFINED_TARGETS_FOLDER|REPORT_UNDEFINED_PROPERTIES|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_SUPPORTS_SHARED_LIBS|USE_FOLDERS|__CMAKE_DELETE_CACHE_CHANGE_VARS_)\\b",name:"entity.source.cmake"},{comment:"Properties on Targets",match:"\\b(?i:\\w+_(OUTPUT_NAME|POSTFIX)|ARCHIVE_OUTPUT_(DIRECTORY(_\\w+)?|NAME(_\\w+)?)|AUTOMOC(_MOC_OPTIONS)?|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE(_EXTENSION)?|COMPATIBLE_INTERFACE_BOOL|COMPATIBLE_INTERFACE_STRING|COMPILE_(DEFINITIONS(_\\w+)?|FLAGS)|DEBUG_POSTFIX|DEFINE_SYMBOL|ENABLE_EXPORTS|EXCLUDE_FROM_ALL|EchoString|FOLDER|FRAMEWORK|Fortran_(FORMAT|MODULE_DIRECTORY)|GENERATOR_FILE_NAME|GNUtoMS|HAS_CXX|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(CONFIGURATIONS|IMPLIB(_\\w+)?|LINK_DEPENDENT_LIBRARIES(_\\w+)?|LINK_INTERFACE_LANGUAGES(_\\w+)?|LINK_INTERFACE_LIBRARIES(_\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\w+)?|LOCATION(_\\w+)?|NO_SONAME(_\\w+)?|SONAME(_\\w+)?)|IMPORT_PREFIX|IMPORT_SUFFIX|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE|INTERFACE_COMPILE_DEFINITIONS|INTERFACE_INCLUDE_DIRECTORIES|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\w+|LABELS|LIBRARY_OUTPUT_DIRECTORY(_\\w+)?|LIBRARY_OUTPUT_NAME(_\\w+)?|LINKER_LANGUAGE|LINK_DEPENDS|LINK_FLAGS(_\\w+)?|LINK_INTERFACE_LIBRARIES(_\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\w+)?|LINK_LIBRARIES|LINK_SEARCH_END_STATIC|LINK_SEARCH_START_STATIC|LOCATION(_\\w+)?|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MAP_IMPORTED_CONFIG_\\w+|NO_SONAME|OSX_ARCHITECTURES(_\\w+)?|OUTPUT_NAME(_\\w+)?|PDB_NAME(_\\w+)?|POST_INSTALL_SCRIPT|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE|PRIVATE_HEADER|PROJECT_LABEL|PUBLIC|PUBLIC_HEADER|RESOURCE|RULE_LAUNCH_(COMPILE|CUSTOM|LINK)|RUNTIME_OUTPUT_(DIRECTORY(_\\w+)?|NAME(_\\w+)?)|SKIP_BUILD_RPATH|SOURCES|SOVERSION|STATIC_LIBRARY_FLAGS(_\\w+)?|SUFFIX|TYPE|VERSION|VS_DOTNET_REFERENCES|VS_GLOBAL_(\\w+|KEYWORD|PROJECT_TYPES)|VS_KEYWORD|VS_SCC_(AUXPATH|LOCALPATH|PROJECTNAME|PROVIDER)|VS_WINRT_EXTENSIONS|VS_WINRT_REFERENCES|WIN32_EXECUTABLE|XCODE_ATTRIBUTE_\\w+)\\b",name:"entity.source.cmake"},{begin:'\\\\"',comment:"Escaped Strings",end:'\\\\"',name:"string.source.cmake",patterns:[{match:"\\\\(.|$)",name:"constant.character.escape"}]},{begin:'"',comment:"Normal Strings",end:'"',name:"string.source.cmake",patterns:[{match:"\\\\(.|$)",name:"constant.character.escape"}]},{comment:"Derecated keyword",match:"\\bBUILD_NAME\\b",name:"invalid.deprecated.source.cmake"},{comment:"Compiler Flags",match:"\\b(?i:(CMAKE_)?(CXX_FLAGS|CMAKE_CXX_FLAGS_DEBUG|CMAKE_CXX_FLAGS_MINSIZEREL|CMAKE_CXX_FLAGS_RELEASE|CMAKE_CXX_FLAGS_RELWITHDEBINFO))\\b",name:"variable.source.cmake"}],repository:{},scopeName:"source.cmake"}),pZt=[yca]});var bLr={};Be(bLr,{default:()=>_ca});var vca,_ca,yLr=N(()=>{Eb();Fl();kV();vca=Object.freeze({displayName:"COBOL",fileTypes:["ccp","scbl","cobol","cbl","cblle","cblsrce","cblcpy","lks","pdv","cpy","copybook","cobcopy","fd","sel","scb","scbl","sqlcblle","cob","dds","def","src","ss","wks","bib","pco"],name:"cobol",patterns:[{match:"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])([dD]\\s.*$)",name:"token.info-token.cobol"},{captures:{1:{name:"constant.numeric.cobol"},2:{name:"comment.line.cobol.newpage"}},match:"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\/.*$)"},{captures:{1:{name:"constant.numeric.cobol"},2:{name:"comment.line.cobol.fixed"}},match:"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\*.*$)"},{captures:{1:{name:"constant.numeric.cobol"},2:{name:"comment.line.cobol.newpage"}},match:"(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\/.*$)"},{match:"^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s]$",name:"constant.numeric.cobol"},{captures:{1:{name:"constant.numeric.cobol"},2:{name:"comment.line.cobol.fixed"}},match:"(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\*.*$)"},{captures:{1:{name:"constant.cobol"},2:{name:"comment.line.cobol.fixed"}},match:"(^[0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ])(\\*.*$)"},{captures:{1:{name:"constant.numeric.cobol"},2:{name:"variable.other.constant"}},match:"^\\s+(78)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)"},{captures:{1:{name:"constant.numeric.cobol"},2:{name:"variable.other.constant"},3:{name:"keyword.identifers.cobol"}},match:"^\\s+(\\d+)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)\\s+((?i:constant))"},{captures:{1:{name:"constant.cobol"},2:{name:"comment.line.cobol.newpage"}},match:"(^[0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@])(\\/.*$)"},{match:"^\\*.*$",name:"comment.line.cobol.fixed"},{captures:{1:{name:"keyword.control.directive.conditional.cobol"},2:{name:"entity.name.function.preprocessor.cobol"},3:{name:"entity.name.function.cobol"},4:{name:"keyword.control.directive.conditional.cobol"}},match:"((?:^|\\s+)(?i:\\$set)\\s+)((?i:constant)\\s+)([0-9a-zA-Z][a-zA-Z\\-0-9]+\\s*)([a-zA-Z\\-0-9]*)"},{captures:{1:{name:"entity.name.function.preprocessor.cobol"},2:{name:"storage.modifier.import.cobol"},3:{name:"punctuation.begin.bracket.round.cobol"},4:{name:"string.quoted.other.cobol"},5:{name:"punctuation.end.bracket.round.cobol"}},match:"((?i:\\$\\s*set\\s+)(ilusing)(\\()(.*)(\\)))"},{captures:{1:{name:"entity.name.function.preprocessor.cobol"},2:{name:"storage.modifier.import.cobol"},3:{name:"punctuation.definition.string.begin.cobol"},4:{name:"string.quoted.other.cobol"},5:{name:"punctuation.definition.string.begin.cobol"}},match:'((?i:\\$\\s*set\\s+)(ilusing)(")(.*)("))'},{captures:{1:{name:"keyword.control.directive.conditional.cobol"},2:{name:"entity.name.function.preprocessor.cobol"},3:{name:"punctuation.definition.string.begin.cobol"},4:{name:"string.quoted.other.cobol"},5:{name:"punctuation.definition.string.begin.cobol"}},match:'((?i:\\$set))\\s+(\\w+)\\s*(")(\\w*)(")'},{captures:{1:{name:"keyword.control.directive.conditional.cobol"},2:{name:"entity.name.function.preprocessor.cobol"},3:{name:"punctuation.begin.bracket.round.cobol"},4:{name:"string.quoted.other.cobol"},5:{name:"punctuation.end.bracket.round.cobol"}},match:"((?i:\\$set))\\s+(\\w+)\\s*(\\()(.*)(\\))"},{captures:{0:{name:"keyword.control.directive.conditional.cobol"},1:{name:"invalid.illegal.directive"},2:{name:"comment.line.set.cobol"}},match:"(?:^|\\s+)(?i:\\$\\s*set\\s)((?i:01SHUFFLE|64KPARA|64KSECT|AUXOPT|CHIP|DATALIT|EANIM|EXPANDDATA|FIXING|FLAG-CHIP|MASM|MODEL|OPTSIZE|OPTSPEED|PARAS|PROTMODE|REGPARM|SEGCROSS|SEGSIZE|SIGNCOMPARE|SMALLDD|TABLESEGCROSS|TRICKLECHECK|\\s)+).*$"},{captures:{1:{name:"keyword.control.directive.cobol"},2:{name:"entity.other.attribute-name.preprocessor.cobol"}},match:"(\\$region|\\$end-region)(.*$)"},{begin:"\\$(?i:doc)(.*$)",end:"\\$(?i:end-doc)(.*$)",name:"invalid.illegal.iscobol"},{match:">>\\s*(?i:turn|page|listing|leap-seconds|d)\\s+.*$",name:"invalid.illegal.meta.preprocessor.cobolit"},{match:"(?i:substitute-case|substitute)\\s+",name:"invalid.illegal.functions.cobolit"},{captures:{1:{name:"invalid.illegal.keyword.control.directive.conditional.cobol"},2:{name:"invalid.illegal.entity.name.function.preprocessor.cobol"},3:{name:"invalid.illegal.entity.name.function.preprocessor.cobol"}},match:"((((>>|\\$)[\\s]*)(?i:elif))(.*$))"},{captures:{1:{name:"keyword.control.directive.conditional.cobol"},2:{name:"entity.name.function.preprocessor.cobol"},3:{name:"entity.name.function.preprocessor.cobol"}},match:"((((>>|\\$)[\\s]*)(?i:if|else|elif|end-if|end-evaluate|end|define|evaluate|when|display|call-convention|set))(.*$))"},{captures:{1:{name:"comment.line.scantoken.cobol"},2:{name:"keyword.cobol"},3:{name:"string.cobol"}},match:"(\\*>)\\s+(@[0-9a-zA-Z][a-zA-Z\\-0-9]+)\\s+(.*$)"},{match:"(\\*>.*$)",name:"comment.line.modern"},{match:"(>>.*)$",name:"strong comment.line.set.acucobol"},{match:"([nNuU][xX]|[hHxX])'[ \\t]*'",name:"constant.numeric.integer.hexadecimal.cobol"},{match:"([nNuU][xX]|[hHxX])'.*'",name:"invalid.illegal.hexadecimal.cobol"},{match:'([nNuU][xX]|[hHxX])"[ \\t]*"',name:"constant.numeric.integer.hexadecimal.cobol"},{match:'([nNuU][xX]|[hHxX])".*"',name:"invalid.illegal.hexadecimal.cobol"},{match:'[bB]"[0-1]"',name:"constant.numeric.integer.boolean.cobol"},{match:"[bB]'[0-1]'",name:"constant.numeric.integer.boolean.cobol"},{match:'[oO]"[0-7]*"',name:"constant.numeric.integer.octal.cobol"},{match:'[oO]".*"',name:"invalid.illegal.octal.cobol"},{match:"(#)([0-9a-zA-Z][a-zA-Z\\-0-9]+)",name:"meta.symbol.cobol.forced"},{begin:"((?.*$)",name:"comment.line.modern"},{match:"(\\:([0-9a-zA-Z\\-_])*)",name:"variable.cobol"},{include:"source.sql"}]},{begin:"(?i:exec\\s+cics)",contentName:"meta.embedded.block.cics",end:"(?i:end\\-exec)",name:"keyword.verb.cobol",patterns:[{match:"(\\()",name:"meta.symbol.cobol"},{include:"#cics-keywords"},{include:"#string-double-quoted-constant"},{include:"#string-quoted-constant"},{include:"#number-complex-constant"},{include:"#number-simple-constant"},{match:"([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))",name:"variable.cobol"}]},{begin:"(?i:exec\\s+dli)",contentName:"meta.embedded.block.dli",end:"(?i:end\\-exec)",name:"keyword.verb.cobol",patterns:[{match:"(\\()",name:"meta.symbol.cobol"},{include:"#dli-keywords"},{include:"#dli-options"},{include:"#string-double-quoted-constant"},{include:"#string-quoted-constant"},{include:"#number-complex-constant"},{include:"#number-simple-constant"},{match:"([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))",name:"variable.cobol"}]},{begin:"(?i:exec\\s+sqlims)",contentName:"meta.embedded.block.sql",end:"(?i:end\\-exec)",name:"keyword.verb.cobol",patterns:[{match:"(\\*>.*$)",name:"comment.line.modern"},{match:"(\\:([a-zA-Z\\-])*)",name:"variable.cobol"},{include:"source.sql"}]},{begin:"(?i:exec\\s+ado)",contentName:"meta.embedded.block.sql",end:"(?i:end\\-exec)",name:"keyword.verb.cobol",patterns:[{match:"(--.*$)",name:"comment.line.sql"},{match:"(\\*>.*$)",name:"comment.line.modern"},{match:"(\\:([a-zA-Z\\-])*)",name:"variable.cobol"},{include:"source.sql"}]},{begin:"(?i:exec\\s+html)",contentName:"meta.embedded.block.html",end:"(?i:end\\-exec)",name:"keyword.verb.cobol",patterns:[{include:"text.html.basic"}]},{begin:"(?i:exec\\s+java)",contentName:"meta.embedded.block.java",end:"(?i:end\\-exec)",name:"keyword.verb.cobol",patterns:[{include:"source.java"}]},{captures:{1:{name:"punctuation.definition.string.begin.cobol"},2:{name:"support.function.cobol"},3:{name:"punctuation.definition.string.end.cobol"}},match:'(")(CBL_.*)(")'},{captures:{1:{name:"punctuation.definition.string.begin.cobol"},2:{name:"support.function.cobol"},3:{name:"punctuation.definition.string.end.cobol"}},match:'(")(PC_.*)(")'},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.cobol"}},end:'("|$)',endCaptures:{0:{name:"punctuation.definition.string.end.cobol"}},name:"string.quoted.double.cobol"},{captures:{1:{name:"punctuation.definition.string.begin.cobol"},2:{name:"support.function.cobol"},3:{name:"punctuation.definition.string.end.cobol"}},match:"(\\')(CBL_.*)(\\')"},{captures:{1:{name:"punctuation.definition.string.begin.cobol"},2:{name:"support.function.cobol"},3:{name:"punctuation.definition.string.end.cobol"}},match:"(\\')(PC_.*)(\\')"},{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.cobol"}},end:"('|$)",endCaptures:{0:{name:"punctuation.definition.string.end.cobol"}},name:"string.quoted.single.cobol"},{begin:'(?|<=|>=|<>|\\+|\\-|\\*|\\/|(?Cca});var wca,Cca,_Lr=N(()=>{wca=Object.freeze({displayName:"CODEOWNERS",name:"codeowners",patterns:[{include:"#comment"},{include:"#pattern"},{include:"#owner"}],repository:{comment:{patterns:[{begin:"^\\s*#",captures:{0:{name:"punctuation.definition.comment.codeowners"}},end:"$",name:"comment.line.codeowners"}]},owner:{match:"\\S*@\\S+",name:"storage.type.function.codeowners"},pattern:{match:"^\\s*(\\S+)",name:"variable.other.codeowners"}},scopeName:"text.codeowners"}),Cca=[wca]});var wLr={};Be(wLr,{default:()=>Eca});var xca,Eca,CLr=N(()=>{xca=Object.freeze({displayName:"CodeQL",fileTypes:["ql","qll"],name:"codeql",patterns:[{include:"#module-member"}],repository:{abstract:{match:"\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.abstract.ql"},additional:{match:"\\b(?:additional)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.additional.ql"},and:{match:"\\b(?:and)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.and.ql"},annotation:{patterns:[{include:"#bindingset-annotation"},{include:"#language-annotation"},{include:"#pragma-annotation"},{include:"#annotation-keyword"}]},"annotation-keyword":{patterns:[{include:"#abstract"},{include:"#additional"},{include:"#bindingset"},{include:"#cached"},{include:"#default"},{include:"#deprecated"},{include:"#external"},{include:"#final"},{include:"#language"},{include:"#library"},{include:"#override"},{include:"#pragma"},{include:"#private"},{include:"#query"},{include:"#signature"},{include:"#transient"}]},any:{match:"\\b(?:any)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.quantifier.any.ql"},"arithmetic-operator":{match:"\\+|-|\\*|/|%",name:"keyword.operator.arithmetic.ql"},as:{match:"\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.as.ql"},asc:{match:"\\b(?:asc)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.order.asc.ql"},"at-lower-id":{match:"@[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_])))"},avg:{match:"\\b(?:avg)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.avg.ql"},bindingset:{match:"\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.bindingset.ql"},"bindingset-annotation":{begin:"((?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))))",beginCaptures:{1:{patterns:[{include:"#bindingset"}]}},end:"(?!(?:\\s|$|(?://|/\\*))|\\[)|(?<=\\])",name:"meta.block.bindingset-annotation.ql",patterns:[{include:"#bindingset-annotation-body"},{include:"#non-context-sensitive"}]},"bindingset-annotation-body":{begin:"((?:\\[))",beginCaptures:{1:{patterns:[{include:"#open-bracket"}]}},end:"((?:\\]))",endCaptures:{1:{patterns:[{include:"#close-bracket"}]}},name:"meta.block.bindingset-annotation-body.ql",patterns:[{include:"#non-context-sensitive"},{match:"(?:\\b[A-Za-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"variable.parameter.ql"}]},boolean:{match:"\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.type.boolean.ql"},by:{match:"\\b(?:by)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.order.by.ql"},cached:{match:"\\b(?:cached)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.cached.ql"},class:{match:"\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.class.ql"},"class-body":{begin:"((?:\\{))",beginCaptures:{1:{patterns:[{include:"#open-brace"}]}},end:"((?:\\}))",endCaptures:{1:{patterns:[{include:"#close-brace"}]}},name:"meta.block.class-body.ql",patterns:[{include:"#class-member"}]},"class-declaration":{begin:"((?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))))",beginCaptures:{1:{patterns:[{include:"#class"}]}},end:"(?<=\\}|;)",name:"meta.block.class-declaration.ql",patterns:[{include:"#class-body"},{include:"#extends-clause"},{include:"#non-context-sensitive"},{match:"(?:\\b[A-Z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"entity.name.type.class.ql"}]},"class-member":{patterns:[{include:"#predicate-or-field-declaration"},{include:"#annotation"},{include:"#non-context-sensitive"}]},"close-angle":{match:">",name:"punctuation.anglebracket.close.ql"},"close-brace":{match:"\\}",name:"punctuation.curlybrace.close.ql"},"close-bracket":{match:"\\]",name:"punctuation.squarebracket.close.ql"},"close-paren":{match:"\\)",name:"punctuation.parenthesis.close.ql"},comma:{match:",",name:"punctuation.separator.comma.ql"},comment:{patterns:[{begin:"/\\*\\*",end:"\\*/",name:"comment.block.documentation.ql",patterns:[{begin:"(?<=/\\*\\*)([^*]|\\*(?!/))*$",patterns:[{match:"\\G\\s*(@\\S+)",name:"keyword.tag.ql"}],while:"(?x)(^|\\G)\\s*([^*]|\\*(?!/))(?=([^*]|[*](?!/))*$)"}]},{begin:"/\\*",end:"\\*/",name:"comment.block.ql"},{match:"//.*$",name:"comment.line.double-slash.ql"}]},"comment-start":{match:"//|/\\*"},"comparison-operator":{match:"=|\\!\\=",name:"keyword.operator.comparison.ql"},concat:{match:"\\b(?:concat)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.concat.ql"},count:{match:"\\b(?:count)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.count.ql"},date:{match:"\\b(?:date)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.type.date.ql"},default:{match:"\\b(?:default)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.default.ql"},deprecated:{match:"\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.deprecated.ql"},desc:{match:"\\b(?:desc)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.order.desc.ql"},"dont-care":{match:"\\b(?:_)(?:(?!(?:[0-9A-Za-z_])))",name:"variable.language.dont-care.ql"},dot:{match:"\\.",name:"punctuation.accessor.ql"},dotdot:{match:"\\.\\.",name:"punctuation.operator.range.ql"},else:{match:"\\b(?:else)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.else.ql"},"end-of-as-clause":{match:"(?:(?<=(?:[0-9A-Za-z_]))(?!(?:[0-9A-Za-z_]))(?)|[A-Za-z0-9_])(?!\\s*(\\.|\\:\\:|\\,|(?:<)))",name:"meta.block.import-directive.ql",patterns:[{include:"#instantiation-args"},{include:"#non-context-sensitive"},{match:"(?:\\b[A-Za-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"entity.name.type.namespace.ql"}]},in:{match:"\\b(?:in)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.in.ql"},instanceof:{match:"\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.instanceof.ql"},"instantiation-args":{begin:"((?:<))",beginCaptures:{1:{patterns:[{include:"#open-angle"}]}},end:"((?:>))",endCaptures:{1:{patterns:[{include:"#close-angle"}]}},name:"meta.type.parameters.ql",patterns:[{include:"#instantiation-args"},{include:"#non-context-sensitive"},{match:"(?:\\b[A-Za-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"entity.name.type.namespace.ql"}]},int:{match:"\\b(?:int)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.type.int.ql"},"int-literal":{match:"-?\\d+(?!\\d)",name:"constant.numeric.decimal.ql"},keyword:{patterns:[{include:"#dont-care"},{include:"#and"},{include:"#any"},{include:"#as"},{include:"#asc"},{include:"#avg"},{include:"#boolean"},{include:"#by"},{include:"#class"},{include:"#concat"},{include:"#count"},{include:"#date"},{include:"#desc"},{include:"#else"},{include:"#exists"},{include:"#extends"},{include:"#false"},{include:"#float"},{include:"#forall"},{include:"#forex"},{include:"#from"},{include:"#if"},{include:"#implies"},{include:"#import"},{include:"#in"},{include:"#instanceof"},{include:"#int"},{include:"#max"},{include:"#min"},{include:"#module"},{include:"#newtype"},{include:"#none"},{include:"#not"},{include:"#or"},{include:"#order"},{include:"#predicate"},{include:"#rank"},{include:"#result"},{include:"#select"},{include:"#strictconcat"},{include:"#strictcount"},{include:"#strictsum"},{include:"#string"},{include:"#sum"},{include:"#super"},{include:"#then"},{include:"#this"},{include:"#true"},{include:"#unique"},{include:"#where"}]},language:{match:"\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.language.ql"},"language-annotation":{begin:"((?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))))",beginCaptures:{1:{patterns:[{include:"#language"}]}},end:"(?!(?:\\s|$|(?://|/\\*))|\\[)|(?<=\\])",name:"meta.block.language-annotation.ql",patterns:[{include:"#language-annotation-body"},{include:"#non-context-sensitive"}]},"language-annotation-body":{begin:"((?:\\[))",beginCaptures:{1:{patterns:[{include:"#open-bracket"}]}},end:"((?:\\]))",endCaptures:{1:{patterns:[{include:"#close-bracket"}]}},name:"meta.block.language-annotation-body.ql",patterns:[{include:"#non-context-sensitive"},{match:"\\b(?:monotonicAggregates)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.ql"}]},library:{match:"\\b(?:library)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.library.ql"},literal:{patterns:[{include:"#float-literal"},{include:"#int-literal"},{include:"#string-literal"}]},"lower-id":{match:"\\b[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_])))"},max:{match:"\\b(?:max)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.max.ql"},min:{match:"\\b(?:min)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.min.ql"},module:{match:"\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.module.ql"},"module-body":{begin:"((?:\\{))",beginCaptures:{1:{patterns:[{include:"#open-brace"}]}},end:"((?:\\}))",endCaptures:{1:{patterns:[{include:"#close-brace"}]}},name:"meta.block.module-body.ql",patterns:[{include:"#module-member"}]},"module-declaration":{begin:"((?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))))",beginCaptures:{1:{patterns:[{include:"#module"}]}},end:"(?<=\\}|;)",name:"meta.block.module-declaration.ql",patterns:[{include:"#module-body"},{include:"#implements-clause"},{include:"#non-context-sensitive"},{match:"(?:\\b[A-Za-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"entity.name.type.namespace.ql"}]},"module-member":{patterns:[{include:"#import-directive"},{include:"#import-as-clause"},{include:"#module-declaration"},{include:"#newtype-declaration"},{include:"#newtype-branch-name-with-prefix"},{include:"#predicate-parameter-list"},{include:"#predicate-body"},{include:"#class-declaration"},{include:"#select-clause"},{include:"#predicate-or-field-declaration"},{include:"#non-context-sensitive"},{include:"#annotation"}]},"module-qualifier":{match:"(?:\\b[A-Za-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))(?=\\s*\\:\\:)",name:"entity.name.type.namespace.ql"},newtype:{match:"\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.newtype.ql"},"newtype-branch-name-with-prefix":{begin:"\\=|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))",beginCaptures:{0:{patterns:[{include:"#or"},{include:"#comparison-operator"}]}},end:"(?:\\b[A-Z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",endCaptures:{0:{name:"entity.name.type.ql"}},name:"meta.block.newtype-branch-name-with-prefix.ql",patterns:[{include:"#non-context-sensitive"}]},"newtype-declaration":{begin:"((?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))))",beginCaptures:{1:{patterns:[{include:"#newtype"}]}},end:"(?:\\b[A-Z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",endCaptures:{0:{name:"entity.name.type.ql"}},name:"meta.block.newtype-declaration.ql",patterns:[{include:"#non-context-sensitive"}]},"non-context-sensitive":{patterns:[{include:"#comment"},{include:"#literal"},{include:"#operator-or-punctuation"},{include:"#keyword"}]},none:{match:"\\b(?:none)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.quantifier.none.ql"},not:{match:"\\b(?:not)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.not.ql"},"open-angle":{match:"<",name:"punctuation.anglebracket.open.ql"},"open-brace":{match:"\\{",name:"punctuation.curlybrace.open.ql"},"open-bracket":{match:"\\[",name:"punctuation.squarebracket.open.ql"},"open-paren":{match:"\\(",name:"punctuation.parenthesis.open.ql"},"operator-or-punctuation":{patterns:[{include:"#relational-operator"},{include:"#comparison-operator"},{include:"#arithmetic-operator"},{include:"#comma"},{include:"#semicolon"},{include:"#dot"},{include:"#dotdot"},{include:"#pipe"},{include:"#open-paren"},{include:"#close-paren"},{include:"#open-brace"},{include:"#close-brace"},{include:"#open-bracket"},{include:"#close-bracket"},{include:"#open-angle"},{include:"#close-angle"}]},or:{match:"\\b(?:or)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.or.ql"},order:{match:"\\b(?:order)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.order.order.ql"},override:{match:"\\b(?:override)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.override.ql"},pipe:{match:"\\|",name:"punctuation.separator.pipe.ql"},pragma:{match:"\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.pragma.ql"},"pragma-annotation":{begin:"((?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))))",beginCaptures:{1:{patterns:[{include:"#pragma"}]}},end:"(?!(?:\\s|$|(?://|/\\*))|\\[)|(?<=\\])",name:"meta.block.pragma-annotation.ql",patterns:[{include:"#pragma-annotation-body"},{include:"#non-context-sensitive"}]},"pragma-annotation-body":{begin:"((?:\\[))",beginCaptures:{1:{patterns:[{include:"#open-bracket"}]}},end:"((?:\\]))",endCaptures:{1:{patterns:[{include:"#close-bracket"}]}},name:"meta.block.pragma-annotation-body.ql",patterns:[{match:"\\b(?:inline|noinline|nomagic|noopt)\\b",name:"storage.modifier.ql"}]},predicate:{match:"\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.predicate.ql"},"predicate-body":{begin:"((?:\\{))",beginCaptures:{1:{patterns:[{include:"#open-brace"}]}},end:"((?:\\}))",endCaptures:{1:{patterns:[{include:"#close-brace"}]}},name:"meta.block.predicate-body.ql",patterns:[{include:"#predicate-body-contents"}]},"predicate-body-contents":{patterns:[{include:"#expr-as-clause"},{include:"#non-context-sensitive"},{include:"#module-qualifier"},{match:"(?:\\b[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))\\s*(?:\\*|\\+)?\\s*(?=\\()",name:"entity.name.function.ql"},{match:"(?:\\b[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"variable.other.ql"},{match:"(?:\\b[A-Z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"entity.name.type.ql"}]},"predicate-or-field-declaration":{begin:"(?:(?=(?:\\b[A-Za-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_])))))(?!(?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))|(?:(?:(?:\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:additional)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:cached)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:default)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:external)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:final)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:library)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:override)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:private)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:query)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:signature)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:transient)(?:(?!(?:[0-9A-Za-z_]))))))))|(?=(?:(?:(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_])))))))|(?=(?:@[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_])))))",end:"(?<=\\}|;)",name:"meta.block.predicate-or-field-declaration.ql",patterns:[{include:"#predicate-parameter-list"},{include:"#predicate-body"},{include:"#non-context-sensitive"},{include:"#module-qualifier"},{match:"(?:\\b[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))(?=\\s*;)",name:"variable.field.ql"},{match:"(?:\\b[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"entity.name.function.ql"},{match:"(?:\\b[A-Z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"entity.name.type.ql"}]},"predicate-parameter-list":{begin:"((?:\\())",beginCaptures:{1:{patterns:[{include:"#open-paren"}]}},end:"((?:\\)))",endCaptures:{1:{patterns:[{include:"#close-paren"}]}},name:"meta.block.predicate-parameter-list.ql",patterns:[{include:"#non-context-sensitive"},{match:"(?:\\b[A-Z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|\\)))",name:"variable.parameter.ql"},{include:"#module-qualifier"},{match:"(?:\\b[A-Z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"entity.name.type.ql"},{match:"(?:\\b[a-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"variable.parameter.ql"}]},"predicate-start-keyword":{patterns:[{include:"#boolean"},{include:"#date"},{include:"#float"},{include:"#int"},{include:"#predicate"},{include:"#string"}]},private:{match:"\\b(?:private)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.private.ql"},query:{match:"\\b(?:query)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.query.ql"},rank:{match:"\\b(?:rank)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.rank.ql"},"relational-operator":{match:"<=|<|>=|>",name:"keyword.operator.relational.ql"},result:{match:"\\b(?:result)(?:(?!(?:[0-9A-Za-z_])))",name:"variable.language.result.ql"},select:{match:"\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.query.select.ql"},"select-as-clause":{begin:"((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))",beginCaptures:{1:{patterns:[{include:"#as"}]}},end:"(?<=(?:[0-9A-Za-z_])(?:(?!(?:[0-9A-Za-z_]))))",match:"meta.block.select-as-clause.ql",patterns:[{include:"#non-context-sensitive"},{match:"(?:\\b[A-Za-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_]))))",name:"variable.other.ql"}]},"select-clause":{begin:"(?=(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",end:"(?!(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",name:"meta.block.select-clause.ql",patterns:[{include:"#from-section"},{include:"#where-section"},{include:"#select-section"}]},"select-section":{begin:"((?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",beginCaptures:{1:{patterns:[{include:"#select"}]}},end:"(?=\\n)",name:"meta.block.select-section.ql",patterns:[{include:"#predicate-body-contents"},{include:"#select-as-clause"}]},semicolon:{match:";",name:"punctuation.separator.statement.ql"},signature:{match:"\\b(?:signature)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.signature.ql"},"simple-id":{match:"\\b[A-Za-z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_])))"},strictconcat:{match:"\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.strictconcat.ql"},strictcount:{match:"\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.strictcount.ql"},strictsum:{match:"\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.strictsum.ql"},string:{match:"\\b(?:string)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.type.string.ql"},"string-escape":{match:'\\\\["\\\\nrt]',name:"constant.character.escape.ql"},"string-literal":{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.ql"}},end:'(")|((?:[^\\\\\\n])$)',endCaptures:{1:{name:"punctuation.definition.string.end.ql"},2:{name:"invalid.illegal.newline.ql"}},name:"string.quoted.double.ql",patterns:[{include:"#string-escape"}]},sum:{match:"\\b(?:sum)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.sum.ql"},super:{match:"\\b(?:super)(?:(?!(?:[0-9A-Za-z_])))",name:"variable.language.super.ql"},then:{match:"\\b(?:then)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.other.then.ql"},this:{match:"\\b(?:this)(?:(?!(?:[0-9A-Za-z_])))",name:"variable.language.this.ql"},transient:{match:"\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))",name:"storage.modifier.transient.ql"},true:{match:"\\b(?:true)(?:(?!(?:[0-9A-Za-z_])))",name:"constant.language.boolean.true.ql"},unique:{match:"\\b(?:unique)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.aggregate.unique.ql"},"upper-id":{match:"\\b[A-Z][0-9A-Za-z_]*(?:(?!(?:[0-9A-Za-z_])))"},where:{match:"\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))",name:"keyword.query.where.ql"},"where-section":{begin:"((?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))",beginCaptures:{1:{patterns:[{include:"#where"}]}},end:"(?=(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",name:"meta.block.where-section.ql",patterns:[{include:"#predicate-body-contents"}]},"whitespace-or-comment-start":{match:"\\s|$|(?://|/\\*)"}},scopeName:"source.ql",aliases:["ql"]}),Eca=[xca]});var xLr={};Be(xLr,{default:()=>kca});var Ica,kca,ELr=N(()=>{Ica=Object.freeze({displayName:"Common Lisp",fileTypes:["lisp","lsp","l","cl","asd","asdf"],foldingStartMarker:"\\(",foldingStopMarker:"\\)",name:"common-lisp",patterns:[{include:"#comment"},{include:"#block-comment"},{include:"#string"},{include:"#escape"},{include:"#constant"},{include:"#lambda-list"},{include:"#function"},{include:"#style-guide"},{include:"#def-name"},{include:"#macro"},{include:"#symbol"},{include:"#special-operator"},{include:"#declaration"},{include:"#type"},{include:"#class"},{include:"#condition-type"},{include:"#package"},{include:"#variable"},{include:"#punctuation"}],repository:{"block-comment":{begin:"\\#\\|",contentName:"comment.block.commonlisp",end:"\\|\\#",name:"comment",patterns:[{include:"#block-comment",name:"comment"}]},class:{match:"(?i)(?<=^|\\s|\\()(?:two-way-stream|synonym-stream|symbol|structure-object|structure-class|string-stream|stream|standard-object|standard-method|standard-generic-function|standard-class|sequence|restart|real|readtable|ratio|random-state|package|number|method|integer|hash-table|generic-function|file-stream|echo-stream|concatenated-stream|class|built-in-class|broadcast-stream|bit-vector|array)(?=(\\s|\\(|\\)))",name:"support.class.commonlisp"},comment:{begin:"(^[ \\t]+)?(?=;)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.commonlisp"}},end:"(?!\\G)",patterns:[{begin:";",beginCaptures:{0:{name:"punctuation.definition.comment.commonlisp"}},end:"\\n",name:"comment.line.semicolon.commonlisp"}]},"condition-type":{match:"(?i)(?<=^|\\s|\\()(?:warning|undefined-function|unbound-variable|unbound-slot|type-error|style-warning|stream-error|storage-condition|simple-warning|simple-type-error|simple-error|simple-condition|serious-condition|reader-error|program-error|print-not-readable|parse-error|package-error|floating-point-underflow|floating-point-overflow|floating-point-invalid-operation|floating-point-inexact|file-error|error|end-of-file|division-by-zero|control-error|condition|cell-error|arithmetic-error)(?=(\\s|\\(|\\)))",name:"support.type.exception.commonlisp"},constant:{patterns:[{match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(?:t|single-float-negative-epsilon|single-float-epsilon|short-float-negative-epsilon|short-float-epsilon|pi|nil|multiple-values-limit|most-positive-single-float|most-positive-short-float|most-positive-long-float|most-positive-fixnum|most-positive-double-float|most-negative-single-float|most-negative-short-float|most-negative-long-float|most-negative-fixnum|most-negative-double-float|long-float-negative-epsilon|long-float-epsilon|least-positive-single-float|least-positive-short-float|least-positive-normalized-single-float|least-positive-normalized-short-float|least-positive-normalized-long-float|least-positive-normalized-double-float|least-positive-long-float|least-positive-double-float|least-negative-single-float|least-negative-short-float|least-negative-normalized-single-float|least-negative-normalized-short-float|least-negative-normalized-long-float|least-negative-normalized-double-float|least-negative-long-float|least-negative-double-float|lambda-parameters-limit|lambda-list-keywords|internal-time-units-per-second|double-float-negative-epsilon|double-float-epsilon|char-code-limit|call-arguments-limit|boole-xor|boole-set|boole-orc2|boole-orc1|boole-nor|boole-nand|boole-ior|boole-eqv|boole-clr|boole-c2|boole-c1|boole-andc2|boole-andc1|boole-and|boole-2|boole-1|array-total-size-limit|array-rank-limit|array-dimension-limit)(?=(\\s|\\(|\\)))",name:"constant.language.commonlisp"},{match:"(?<=^|\\s|\\(|,@|,\\.|,)([+-]?\\d+(?:\\/\\d+)*|[-+]?\\d*\\.?\\d+([eE][-+]?\\d+)?|(\\#b|\\#B)[01\\/+-]+|(\\#o|\\#O)[0-7\\/+-]+|(\\#x|\\#X)[0-9a-fA-F\\/+-]+|(\\#\\d+[rR]?)[0-9a-zA-Z\\/+-]+)(?=(\\s|\\)))",name:"constant.numeric.commonlisp"},{match:"(?i)(?<=\\s)(\\.)(?=\\s)",name:"variable.other.constant.dot.commonlisp"},{match:"(?<=^|\\s|\\(|,@|,\\.|,)([+-]?\\d*\\.\\d*((e|s|f|d|l|E|S|F|D|L)[+-]?\\d+)?|[+-]?\\d+(\\.\\d*)?(e|s|f|d|l|E|S|F|D|L)[+-]?\\d+)(?=(\\s|\\)))",name:"constant.numeric.commonlisp"}]},declaration:{match:"(?i)(?<=^|\\s|\\()(?:type|speed|special|space|safety|optimize|notinline|inline|ignore|ignorable|ftype|dynamic-extent|declaration|debug|compilation-speed)(?=(\\s|\\(|\\)))",name:"storage.type.function.declaration.commonlisp"},"def-name":{patterns:[{captures:{1:{name:"storage.type.function.defname.commonlisp"},3:{name:"storage.type.function.defname.commonlisp"},4:{name:"variable.other.constant.defname.commonlisp"},6:{patterns:[{include:"#package"},{match:"\\S+?",name:"entity.name.function.commonlisp"}]},7:{name:"variable.other.constant.defname.commonlisp"},9:{patterns:[{include:"#package"},{match:"\\S+?",name:"entity.name.function.commonlisp"}]}},match:"(?i)(?<=^|\\s|\\()(defun|defsetf|defmethod|defmacro|define-symbol-macro|define-setf-expander|define-modify-macro|define-method-combination|define-compiler-macro|defgeneric)\\s+(\\(\\s*([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+)\\s*((,@|,\\.|,)?)([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?)|((,@|,\\.|,)?)([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?))(?=(\\s|\\(|\\)))"},{captures:{1:{name:"storage.type.function.defname.commonlisp"},2:{name:"entity.name.type.commonlisp"}},match:"(?i)(?<=^|\\s|\\()(deftype|defpackage|define-condition|defclass)\\s+([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?)(?=(\\s|\\(|\\)))"},{captures:{1:{name:"storage.type.function.defname.commonlisp"},2:{patterns:[{include:"#package"},{match:"\\S+?",name:"variable.other.constant.defname.commonlisp"}]}},match:"(?i)(?<=^|\\s|\\()(defconstant)\\s+([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?)(?=(\\s|\\(|\\)))"},{captures:{1:{name:"storage.type.function.defname.commonlisp"}},match:"(?i)(?<=^|\\s|\\()(defvar|defparameter)\\s+(?=(\\s|\\(|\\)))"},{captures:{1:{name:"storage.type.function.defname.commonlisp"},2:{name:"entity.name.type.commonlisp"}},match:"(?i)(?<=^|\\s|\\()(defstruct)\\s+\\(?\\s*([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?)(?=(\\s|\\(|\\)))"},{captures:{1:{name:"keyword.control.commonlisp"},2:{patterns:[{include:"#package"},{match:"\\S+?",name:"entity.name.function.commonlisp"}]}},match:"(?i)(?<=^|\\s|\\()(macrolet|labels|flet)\\s+\\(\\s*\\(\\s*([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?)(?=(\\s|\\(|\\)))"}]},escape:{match:"(?i)(?<=^|\\s|\\()(?:\\#\\\\\\S+?)(?=(\\s|\\(|\\)))",name:"constant.character.escape.commonlisp"},function:{patterns:[{match:"(?i)(?<=^|\\s|\\(|\\#')(?:values|third|tenth|symbol-value|symbol-plist|symbol-function|svref|subseq|sixth|seventh|second|schar|sbit|row-major-aref|rest|readtable-case|nth|ninth|mask-field|macro-function|logical-pathname-translations|ldb|gethash|getf|get|fourth|first|find-class|fill-pointer|fifth|fdefinition|elt|eighth|compiler-macro-function|char|cdr|cddr|cdddr|cddddr|cdddar|cddar|cddadr|cddaar|cdar|cdadr|cdaddr|cdadar|cdaar|cdaadr|cdaaar|car|cadr|caddr|cadddr|caddar|cadar|cadadr|cadaar|caar|caadr|caaddr|caadar|caaar|caaadr|caaaar|bit|aref)(?=(\\s|\\(|\\)))",name:"support.function.accessor.commonlisp"},{match:"(?i)(?<=^|\\s|\\(|\\#')(?:yes-or-no-p|y-or-n-p|write-sequence|write-char|write-byte|warn|vector-pop|use-value|use-package|unuse-package|union|unintern|unexport|terpri|tailp|substitute-if-not|substitute-if|substitute|subst-if-not|subst-if|subst|sublis|string-upcase|string-downcase|string-capitalize|store-value|sleep|signal|shadowing-import|shadow|set-syntax-from-char|set-macro-character|set-exclusive-or|set-dispatch-macro-character|set-difference|set|rplacd|rplaca|room|reverse|revappend|require|replace|remprop|remove-if-not|remove-if|remove-duplicates|remove|remhash|read-sequence|read-byte|random|provide|pprint-tabular|pprint-newline|pprint-linear|pprint-fill|nunion|nsubstitute-if-not|nsubstitute-if|nsubstitute|nsubst-if-not|nsubst-if|nsubst|nsublis|nstring-upcase|nstring-downcase|nstring-capitalize|nset-exclusive-or|nset-difference|nreverse|nreconc|nintersection|nconc|muffle-warning|method-combination-error|maphash|makunbound|ldiff|invoke-restart-interactively|invoke-restart|invoke-debugger|invalid-method-error|intersection|inspect|import|get-output-stream-string|get-macro-character|get-dispatch-macro-character|gentemp|gensym|fresh-line|fill|file-position|export|describe|delete-if-not|delete-if|delete-duplicates|delete|continue|clrhash|close|clear-input|break|abort)(?=(\\s|\\(|\\)))",name:"support.function.f.sideeffects.commonlisp"},{match:"(?i)(?<=^|\\s|\\(|\\#')(?:zerop|write-to-string|write-string|write-line|write|wild-pathname-p|vectorp|vector-push-extend|vector-push|vector|values-list|user-homedir-pathname|upper-case-p|upgraded-complex-part-type|upgraded-array-element-type|unread-char|unbound-slot-instance|typep|type-of|type-error-expected-type|type-error-datum|two-way-stream-output-stream|two-way-stream-input-stream|truncate|truename|tree-equal|translate-pathname|translate-logical-pathname|tanh|tan|synonym-stream-symbol|symbolp|symbol-package|symbol-name|sxhash|subtypep|subsetp|stringp|string>=|string>|string=|string<=|string<|string\\/=|string-trim|string-right-trim|string-not-lessp|string-not-greaterp|string-not-equal|string-lessp|string-left-trim|string-greaterp|string-equal|string|streamp|stream-external-format|stream-error-stream|stream-element-type|standard-char-p|stable-sort|sqrt|special-operator-p|sort|some|software-version|software-type|slot-value|slot-makunbound|slot-exists-p|slot-boundp|sinh|sin|simple-vector-p|simple-string-p|simple-condition-format-control|simple-condition-format-arguments|simple-bit-vector-p|signum|short-site-name|set-pprint-dispatch|search|scale-float|round|restart-name|rename-package|rename-file|rem|reduce|realpart|realp|readtablep|read-preserving-whitespace|read-line|read-from-string|read-delimited-list|read-char-no-hang|read-char|read|rationalp|rationalize|rational|rassoc-if-not|rassoc-if|rassoc|random-state-p|proclaim|probe-file|print-not-readable-object|print|princ-to-string|princ|prin1-to-string|prin1|pprint-tab|pprint-indent|pprint-dispatch|pprint|position-if-not|position-if|position|plusp|phase|peek-char|pathnamep|pathname-version|pathname-type|pathname-name|pathname-match-p|pathname-host|pathname-directory|pathname-device|pathname|parse-namestring|parse-integer|pairlis|packagep|package-used-by-list|package-use-list|package-shadowing-symbols|package-nicknames|package-name|package-error-package|output-stream-p|open-stream-p|open|oddp|numerator|numberp|null|nthcdr|notevery|notany|not|next-method-p|nbutlast|namestring|name-char|mod|mismatch|minusp|min|merge-pathnames|merge|member-if-not|member-if|member|max|maplist|mapl|mapcon|mapcar|mapcan|mapc|map-into|map|make-two-way-stream|make-synonym-stream|make-symbol|make-string-output-stream|make-string-input-stream|make-string|make-sequence|make-random-state|make-pathname|make-package|make-load-form-saving-slots|make-list|make-hash-table|make-echo-stream|make-dispatch-macro-character|make-condition|make-concatenated-stream|make-broadcast-stream|make-array|macroexpand-1|macroexpand|machine-version|machine-type|machine-instance|lower-case-p|long-site-name|logxor|logtest|logorc2|logorc1|lognot|lognor|lognand|logior|logical-pathname|logeqv|logcount|logbitp|logandc2|logandc1|logand|log|load-logical-pathname-translations|load|listp|listen|list-length|list-all-packages|list\\*|list|lisp-implementation-version|lisp-implementation-type|length|ldb-test|lcm|last|keywordp|isqrt|intern|interactive-stream-p|integerp|integer-length|integer-decode-float|input-stream-p|imagpart|identity|host-namestring|hash-table-test|hash-table-size|hash-table-rehash-threshold|hash-table-rehash-size|hash-table-p|hash-table-count|graphic-char-p|get-universal-time|get-setf-expansion|get-properties|get-internal-run-time|get-internal-real-time|get-decoded-time|gcd|functionp|function-lambda-expression|funcall|ftruncate|fround|format|force-output|fmakunbound|floor|floatp|float-sign|float-radix|float-precision|float-digits|float|finish-output|find-symbol|find-restart|find-package|find-if-not|find-if|find-all-symbols|find|file-write-date|file-string-length|file-namestring|file-length|file-error-pathname|file-author|ffloor|fceiling|fboundp|expt|exp|every|evenp|eval|equalp|equal|eql|eq|ensure-generic-function|ensure-directories-exist|enough-namestring|endp|encode-universal-time|ed|echo-stream-output-stream|echo-stream-input-stream|dribble|dpb|disassemble|directory-namestring|directory|digit-char-p|digit-char|deposit-field|denominator|delete-package|delete-file|decode-universal-time|decode-float|count-if-not|count-if|count|cosh|cos|copy-tree|copy-symbol|copy-structure|copy-seq|copy-readtable|copy-pprint-dispatch|copy-list|copy-alist|constantp|constantly|consp|cons|conjugate|concatenated-stream-streams|concatenate|compute-restarts|complexp|complex|complement|compiled-function-p|compile-file-pathname|compile-file|compile|coerce|code-char|clear-output|class-of|cis|characterp|character|char>=|char>|char=|char<=|char<|char\\/=|char-upcase|char-not-lessp|char-not-greaterp|char-not-equal|char-name|char-lessp|char-int|char-greaterp|char-equal|char-downcase|char-code|cerror|cell-error-name|ceiling|call-next-method|byte-size|byte-position|byte|butlast|broadcast-stream-streams|boundp|both-case-p|boole|bit-xor|bit-vector-p|bit-orc2|bit-orc1|bit-not|bit-nor|bit-nand|bit-ior|bit-eqv|bit-andc2|bit-andc1|bit-and|atom|atanh|atan|assoc-if-not|assoc-if|assoc|asinh|asin|ash|arrayp|array-total-size|array-row-major-index|array-rank|array-in-bounds-p|array-has-fill-pointer-p|array-element-type|array-displacement|array-dimensions|array-dimension|arithmetic-error-operation|arithmetic-error-operands|apropos-list|apropos|apply|append|alphanumericp|alpha-char-p|adjustable-array-p|adjust-array|adjoin|acosh|acos|acons|abs|>=|>|=|<=|<|1-|1\\+|\\/=|\\/|-|\\+|\\*)(?=(\\s|\\(|\\)))",name:"support.function.f.sideeffects.commonlisp"},{match:"(?i)(?<=^|\\s|\\(|\\#')(?:variable|update-instance-for-redefined-class|update-instance-for-different-class|structure|slot-unbound|slot-missing|shared-initialize|remove-method|print-object|no-next-method|no-applicable-method|method-qualifiers|make-load-form|make-instances-obsolete|make-instance|initialize-instance|function-keywords|find-method|documentation|describe-object|compute-applicable-methods|compiler-macro|class-name|change-class|allocate-instance|add-method)(?=(\\s|\\(|\\)))",name:"support.function.sgf.nosideeffects.commonlisp"},{match:"(?i)(?<=^|\\s|\\(|\\#')(?:reinitialize-instance)(?=(\\s|\\(|\\)))",name:"support.function.sgf.sideeffects.commonlisp"},{match:"(?i)(?<=^|\\s|\\(|\\#')(?:satisfies)(?=(\\s|\\(|\\)))",name:"support.function.typespecifier.commonlisp"}]},"lambda-list":{match:"(?i)(?<=^|\\s|\\()(?:&[#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?|&whole|&rest|&optional|&key|&environment|&body|&aux|&allow-other-keys)(?=(\\s|\\(|\\)))",name:"keyword.other.lambdalist.commonlisp"},macro:{patterns:[{match:"(?i)(?<=^|\\s|\\()(?:with-standard-io-syntax|with-slots|with-simple-restart|with-package-iterator|with-hash-table-iterator|with-condition-restarts|with-compilation-unit|with-accessors|when|unless|typecase|time|step|shiftf|setf|rotatef|return|restart-case|restart-bind|psetf|prog2|prog1|prog\\*|prog|print-unreadable-object|pprint-logical-block|pprint-exit-if-list-exhausted|or|nth-value|multiple-value-setq|multiple-value-list|multiple-value-bind|make-method|loop|lambda|ignore-errors|handler-case|handler-bind|formatter|etypecase|dotimes|dolist|do-symbols|do-external-symbols|do-all-symbols|do\\*|do|destructuring-bind|defun|deftype|defstruct|defsetf|defpackage|defmethod|defmacro|define-symbol-macro|define-setf-expander|define-condition|define-compiler-macro|defgeneric|defconstant|defclass|declaim|ctypecase|cond|call-method|assert|and)(?=(\\s|\\(|\\)))",name:"storage.type.function.m.nosideeffects.commonlisp"},{match:"(?i)(?<=^|\\s|\\()(?:with-output-to-string|with-open-stream|with-open-file|with-input-from-string|untrace|trace|remf|pushnew|push|psetq|pprint-pop|pop|otherwise|loop-finish|incf|in-package|ecase|defvar|defparameter|define-modify-macro|define-method-combination|decf|check-type|ccase|case)(?=(\\s|\\(|\\)))",name:"storage.type.function.m.sideeffects.commonlisp"},{match:"(?i)(?<=^|\\s|\\()(?:setq)(?=(\\s|\\(|\\)))",name:"storage.type.function.specialform.commonlisp"}]},package:{patterns:[{captures:{2:{name:"support.type.package.commonlisp"},3:{name:"support.type.package.commonlisp"}},match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(([A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?)|(\\#))(?=\\:\\:|\\:)"}]},punctuation:{patterns:[{match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)('|`)(?=\\S)",name:"variable.other.constant.singlequote.commonlisp"},{match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(?:\\:[#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?)(?=(\\s|\\(|\\)))",name:"entity.name.variable.commonlisp"},{captures:{1:{name:"variable.other.constant.sharpsign.commonlisp"},2:{name:"constant.numeric.commonlisp"}},match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(\\#)(\\d*)(?=\\()"},{captures:{1:{name:"variable.other.constant.sharpsign.commonlisp"},2:{name:"constant.numeric.commonlisp"},3:{name:"variable.other.constant.sharpsign.commonlisp"}},match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(\\#)(\\d*)(\\*)(?=0|1)"},{match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(\\#\\*|\\#0\\*)(?=(\\s|\\(|\\)))",name:"variable.other.constant.sharpsign.commonlisp"},{captures:{1:{name:"variable.other.constant.sharpsign.commonlisp"},2:{name:"constant.numeric.commonlisp"},3:{name:"variable.other.constant.sharpsign.commonlisp"}},match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(\\#)(\\d+)(a|A)(?=.)"},{captures:{1:{name:"variable.other.constant.sharpsign.commonlisp"},2:{name:"constant.numeric.commonlisp"},3:{name:"variable.other.constant.sharpsign.commonlisp"}},match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(\\#)(\\d+)(=)(?=.)"},{captures:{1:{name:"variable.other.constant.sharpsign.commonlisp"},2:{name:"constant.numeric.commonlisp"},3:{name:"variable.other.constant.sharpsign.commonlisp"}},match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(\\#)(\\d+)(\\#)(?=.)"},{match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(\\#(\\+|-))(?=\\S)",name:"variable.other.constant.sharpsign.commonlisp"},{match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(\\#('|,|\\.|c|C|s|S|p|P))(?=\\S)",name:"variable.other.constant.sharpsign.commonlisp"},{captures:{1:{name:"support.type.package.commonlisp"}},match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(\\#)(:)(?=\\S)"},{captures:{2:{name:"variable.other.constant.backquote.commonlisp"},3:{name:"variable.other.constant.backquote.commonlisp"},4:{name:"variable.other.constant.backquote.commonlisp"},5:{name:"variable.other.constant.backquote.commonlisp"}},match:"(?i)(?<=^|\\s|\\()((`\\#)|(`)(,@|,\\.|,)?|(,@|,\\.|,))(?=\\S)"}]},"special-operator":{captures:{2:{name:"keyword.control.commonlisp"}},match:"(?i)(\\(\\s*)(unwind-protect|throw|the|tagbody|symbol-macrolet|return-from|quote|progv|progn|multiple-value-prog1|multiple-value-call|macrolet|locally|load-time-value|let\\*|let|labels|if|go|function|flet|eval-when|catch|block)(?=(\\s|\\(|\\)))"},string:{begin:'(")',beginCaptures:{1:{name:"punctuation.definition.string.begin.commonlisp"}},end:'(")',endCaptures:{1:{name:"punctuation.definition.string.end.commonlisp"}},name:"string.quoted.double.commonlisp",patterns:[{match:"\\\\.",name:"constant.character.escape.commonlisp"},{captures:{1:{name:"storage.type.function.formattedstring.commonlisp"},2:{name:"variable.other.constant.formattedstring.commonlisp"},8:{name:"storage.type.function.formattedstring.commonlisp"},10:{name:"storage.type.function.formattedstring.commonlisp"}},match:"(?i)(~)(((([+-]?\\d+)|('.)|V|\\#)*?(,)?)*?)((:@|@:|:|@)?)(\\(|\\)|\\[|\\]|;|{|}|<|>|\\^)"},{captures:{1:{name:"entity.name.variable.commonlisp"},2:{name:"variable.other.constant.formattedstring.commonlisp"},8:{name:"entity.name.variable.commonlisp"},10:{name:"entity.name.variable.commonlisp"}},match:"(?i)(~)(((([+-]?\\d+)|('.)|V|\\#)*?(,)?)*?)((:@|@:|:|@)?)(A|S|D|B|O|X|R|P|C|F|E|G|\\$|%|\\&|\\||~|T|\\*|\\?|_|W|I)"},{captures:{1:{name:"entity.name.variable.commonlisp"},2:{name:"variable.other.constant.formattedstring.commonlisp"},8:{name:"entity.name.variable.commonlisp"},10:{name:"entity.name.variable.commonlisp"},11:{name:"entity.name.variable.commonlisp"},12:{name:"entity.name.variable.commonlisp"}},match:"(?i)(~)(((([+-]?\\d+)|('.)|V|\\#)*?(,)?)*?)((:@|@:|:|@)?)(\\/)([#:A-Za-z0-9\\+\\-\\*\\/\\@\\$\\%\\^\\&\\_\\=\\<\\>\\~\\!\\?\\[\\]\\{\\}\\.]+?)(\\/)"},{match:"(~\\n)",name:"variable.other.constant.formattedstring.commonlisp"}]},"style-guide":{patterns:[{captures:{3:{name:"source.commonlisp"}},match:"(?i)(?<=^'|\\s'|\\('|,@'|,\\.'|,')(\\S+?)(\\:\\:|\\:)((\\+[^\\s\\+]+\\+)|(\\*[^\\s\\*]+\\*))(?=(\\s|\\(|\\)))"},{match:"(?i)(?<=\\S:|^|\\s|\\(|,@|,\\.|,)(\\+[^\\s\\+]+\\+)(?=(\\s|\\(|\\)))",name:"variable.other.constant.earmuffsplus.commonlisp"},{match:"(?i)(?<=\\S:|^|\\s|\\(|,@|,\\.|,)(\\*[^\\s\\*]+\\*)(?=(\\s|\\(|\\)))",name:"string.regexp.earmuffsasterisk.commonlisp"}]},symbol:{match:"(?i)(?<=^|\\s|\\()(?:method-combination|declare)(?=(\\s|\\(|\\)))",name:"storage.type.function.symbol.commonlisp"},type:{match:"(?i)(?<=^|\\s|\\()(?:unsigned-byte|standard-char|standard|single-float|simple-vector|simple-string|simple-bit-vector|simple-base-string|simple-array|signed-byte|short-float|long-float|keyword|fixnum|extended-char|double-float|compiled-function|boolean|bignum|base-string|base-char)(?=(\\s|\\(|\\)))",name:"support.type.t.commonlisp"},variable:{patterns:[{match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(?:\\*trace-output\\*|\\*terminal-io\\*|\\*standard-output\\*|\\*standard-input\\*|\\*readtable\\*|\\*read-suppress\\*|\\*read-eval\\*|\\*read-default-float-format\\*|\\*read-base\\*|\\*random-state\\*|\\*query-io\\*|\\*print-right-margin\\*|\\*print-readably\\*|\\*print-radix\\*|\\*print-pretty\\*|\\*print-pprint-dispatch\\*|\\*print-miser-width\\*|\\*print-lines\\*|\\*print-level\\*|\\*print-length\\*|\\*print-gensym\\*|\\*print-escape\\*|\\*print-circle\\*|\\*print-case\\*|\\*print-base\\*|\\*print-array\\*|\\*package\\*|\\*modules\\*|\\*macroexpand-hook\\*|\\*load-verbose\\*|\\*load-truename\\*|\\*load-print\\*|\\*load-pathname\\*|\\*gensym-counter\\*|\\*features\\*|\\*error-output\\*|\\*default-pathname-defaults\\*|\\*debugger-hook\\*|\\*debug-io\\*|\\*compile-verbose\\*|\\*compile-print\\*|\\*compile-file-truename\\*|\\*compile-file-pathname\\*|\\*break-on-signals\\*)(?=(\\s|\\(|\\)))",name:"string.regexp.earmuffsasterisk.commonlisp"},{match:"(?i)(?<=^|\\s|\\(|,@|,\\.|,)(?:\\*\\*\\*|\\*\\*|\\+\\+\\+|\\+\\+|\\/\\/\\/|\\/\\/)(?=(\\s|\\(|\\)))",name:"variable.other.repl.commonlisp"}]}},scopeName:"source.commonlisp",aliases:["lisp"]}),kca=[Ica]});var ILr={};Be(ILr,{default:()=>Tca});var Sca,Tca,kLr=N(()=>{Sca=Object.freeze({displayName:"Coq",fileTypes:["v"],name:"coq",patterns:[{comment:"Vernacular import keywords",match:"\\b(From|Require|Import|Export|Local|Global|Include)\\b",name:"keyword.control.import.coq"},{comment:"Vernacular scope keywords",match:"\\b((Open|Close|Delimit|Undelimit|Bind)\\s+Scope)\\b",name:"keyword.control.import.coq"},{captures:{1:{name:"keyword.source.coq"},2:{name:"entity.name.function.theorem.coq"}},comment:"Theorem declarations",match:"(Theorem|Lemma|Remark|Fact|Corollary|Property|Proposition|Goal)\\s+((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"},{captures:{1:{name:"keyword.source.coq"},2:{name:"keyword.source.coq"},3:{name:"entity.name.assumption.coq"}},comment:"Assumptions",match:"\\b(Parameters?|Axioms?|Conjectures?|Variables?|Hypothesis|Hypotheses)(\\s+Inline)?\\b\\s*\\(?\\s*((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"},{captures:{1:{name:"keyword.source.coq"},3:{name:"entity.name.assumption.coq"}},comment:"Context",match:"\\b(Context)\\b\\s*`?\\s*(\\(|\\{)?\\s*((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"},{captures:{1:{name:"keyword.source.coq"},2:{name:"keyword.source.coq"},3:{name:"entity.name.function.coq"}},comment:"Definitions",match:"(\\b(?:Program|Local)\\s+)?\\b(Definition|Fixpoint|CoFixpoint|Function|Example|Let(?:\\s+Fixpoint|\\s+CoFixpoint)?|Instance|Equations|Equations?)\\s+((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"},{captures:{1:{name:"keyword.source.coq"}},comment:"Obligations",match:"\\b((Show\\s+)?Obligation\\s+Tactic|Obligations\\s+of|Obligation|Next\\s+Obligation(\\s+of)?|Solve\\s+Obligations(\\s+of)?|Solve\\s+All\\s+Obligations|Admit\\s+Obligations(\\s+of)?|Instance)\\b"},{captures:{1:{name:"keyword.source.coq"},3:{name:"entity.name.type.coq"}},comment:"Type declarations",match:"(CoInductive|Inductive|Variant|Record|Structure|Class)\\s+(>\\s*)?((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"},{captures:{1:{name:"keyword.source.coq"},2:{name:"entity.name.function.ltac"}},comment:"Ltac declarations",match:"(Ltac)\\s+((\\p{L}|[_\\u00A0])(\\p{L}|[0-9_\\u00A0'])*)"},{comment:"Vernacular keywords",match:"\\b(Hint|Constructors|Resolve|Rewrite|Ltac|Implicit(\\s+Types)?|Set|Unset|Remove\\s+Printing|Arguments|Tactic\\s+Notation|Notation|Infix|Reserved\\s+Notation|Section|Module\\s+Type|Module|End|Check|Print|Eval|Search|Universe|Coercions?|Generalizable\\s+All|Generalizable\\s+Variable?|Existing\\s+Instance|Existing\\s+Class|Canonical|About|Locate|Collection|Typeclasses\\s+(Opaque|Transparent))\\b",name:"keyword.source.coq"},{comment:"Proof keywords",match:"\\b(Proof|Qed|Defined|Save|Abort(\\s+All)?|Undo(\\s+To)?|Restart|Focus|Unfocus|Unfocused|Show\\s+Proof|Show\\s+Existentials|Show|Unshelve)\\b",name:"keyword.source.coq"},{comment:"Vernacular Debug keywords",match:"\\b(Quit|Drop|Time|Redirect|Timeout|Fail)\\b",name:"keyword.debug.coq"},{comment:"Admits are bad",match:"\\b(admit|Admitted)\\b",name:"invalid.illegal.admit.coq"},{comment:"Operators",match:":|\\||=|<|>|\\*|\\+|-|\\{|\\}|\u2260|\u2228|\u2227|\u2194|\xAC|\u2192|\u2264|\u2265",name:"keyword.operator.coq"},{comment:"Type keywords",match:"\\b(forall|exists|Type|Set|Prop|nat|bool|option|list|unit|sum|prod|comparison|Empty_set)\\b|\u2200|\u2203",name:"support.type.coq"},{comment:"Ltac keywords",match:"\\b(try|repeat|rew|progress|fresh|solve|now|first|tryif|at|once|do|only)\\b",name:"keyword.control.ltac"},{comment:"Common Ltac connectors",match:"\\b(into|with|eqn|by|move|as|using)\\b",name:"keyword.control.ltac"},{comment:"Gallina keywords",match:"\\b(match|lazymatch|multimatch|fun|with|return|end|let|in|if|then|else|fix|for|where|and)\\b|\u03BB",name:"keyword.control.gallina"},{comment:"Ltac builtins",match:"\\b(intro|intros|revert|induction|destruct|auto|eauto|tauto|eassumption|apply|eapply|assumption|constructor|econstructor|reflexivity|inversion|injection|assert|split|esplit|omega|fold|unfold|specialize|rewrite|erewrite|change|symmetry|refine|simpl|intuition|firstorder|generalize|idtac|exist|exists|eexists|elim|eelim|rename|subst|congruence|trivial|left|right|set|pose|discriminate|clear|clearbody|contradict|contradiction|exact|dependent|remember|case|easy|unshelve|pattern|transitivity|etransitivity|f_equal|exfalso|replace|abstract|cycle|swap|revgoals|shelve|unshelve)\\b",name:"support.function.builtin.ltac"},{applyEndPatternLast:1,begin:"\\(\\*(?!#)",end:"\\*\\)",name:"comment.block.coq",patterns:[{include:"#block_comment"},{include:"#block_double_quoted_string"}]},{match:"\\b((0(x|X)[0-9a-fA-F]+)|(\\d+(\\.\\d+)?))\\b",name:"constant.numeric.gallina"},{comment:"Gallina builtin constructors",match:"\\b(True|False|tt|false|true|Some|None|nil|cons|pair|inl|inr|O|S|Eq|Lt|Gt|id|ex|all|unique)\\b",name:"constant.language.constructor.gallina"},{match:"\\b_\\b",name:"constant.language.wildcard.coq"},{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.coq"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.coq"}},name:"string.quoted.double.coq"}],repository:{block_comment:{applyEndPatternLast:1,begin:"\\(\\*(?!#)",end:"\\*\\)",name:"comment.block.coq",patterns:[{include:"#block_comment"},{include:"#block_double_quoted_string"}]},block_double_quoted_string:{applyEndPatternLast:1,begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.coq"}},end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.coq"}},name:"string.quoted.double.coq"}},scopeName:"source.coq"}),Tca=[Sca]});var SLr={};Be(SLr,{default:()=>Bca});var Rca,Bca,TLr=N(()=>{Fl();Eb();Tu();HQ();Vs();aR();Rca=Object.freeze({displayName:"Crystal",fileTypes:["cr"],firstLineMatch:"^#!/.*\\bcrystal",foldingStartMarker:`(?x)^(\\s*+(annotation|module|class|struct|union|enum|def(?!.*\\bend\\s*$)|unless|if|case|begin|for|while|until|^=begin|("(\\\\.|[^"])*+"|'(\\\\.|[^'])*+'|[^#"'])*(\\s(do|begin|case)|(?~]\\s*+(if|unless)))\\b(?![^;]*+;.*?\\bend\\b)|("(\\\\.|[^"])*+"|'(\\\\.|[^'])*+'|[^#"'])*(\\{(?![^}]*+\\})|\\[(?![^\\]]*+\\]))).*$|[#].*?\\(fold\\)\\s*+$`,foldingStopMarker:"(?x)((^|;)\\s*+end\\s*+([#].*)?$|(^|;)\\s*+end\\..*$|^\\s*+[}\\]] ,?\\s*+([#].*)?$|[#].*?\\(end\\)\\s*+$|^=end)",name:"crystal",patterns:[{captures:{1:{name:"keyword.control.class.crystal"},2:{name:"keyword.control.class.crystal"},3:{name:"entity.name.type.class.crystal"},5:{name:"punctuation.separator.crystal"},6:{name:"support.class.other.type-param.crystal"},7:{name:"entity.other.inherited-class.crystal"},8:{name:"punctuation.separator.crystal"},9:{name:"punctuation.separator.crystal"},10:{name:"support.class.other.type-param.crystal"},11:{name:"punctuation.definition.variable.crystal"}},match:"^\\s*(abstract)?\\s*(class|struct|union|annotation|enum)\\s+(([.A-Z_:\\x{80}-\\x{10FFFF}][.\\w:\\x{80}-\\x{10FFFF}]*(\\(([,\\s.a-zA-Z0-9_:\\x{80}-\\x{10FFFF}]+)\\))?(\\s*(<)\\s*[.:A-Z\\x{80}-\\x{10FFFF}][.:\\w\\x{80}-\\x{10FFFF}]*(\\(([.a-zA-Z0-9_:]+\\s,)\\))?)?)|((<<)\\s*[.A-Z0-9_:\\x{80}-\\x{10FFFF}]+))",name:"meta.class.crystal"},{captures:{1:{name:"keyword.control.module.crystal"},2:{name:"entity.name.type.module.crystal"},3:{name:"entity.other.inherited-class.module.first.crystal"},4:{name:"punctuation.separator.inheritance.crystal"},5:{name:"entity.other.inherited-class.module.second.crystal"},6:{name:"punctuation.separator.inheritance.crystal"},7:{name:"entity.other.inherited-class.module.third.crystal"},8:{name:"punctuation.separator.inheritance.crystal"}},match:"^\\s*(module)\\s+(([A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(::))?([A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(::))?([A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(::))*[A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*)",name:"meta.module.crystal"},{captures:{1:{name:"keyword.control.lib.crystal"},2:{name:"entity.name.type.lib.crystal"},3:{name:"entity.other.inherited-class.lib.first.crystal"},4:{name:"punctuation.separator.inheritance.crystal"},5:{name:"entity.other.inherited-class.lib.second.crystal"},6:{name:"punctuation.separator.inheritance.crystal"},7:{name:"entity.other.inherited-class.lib.third.crystal"},8:{name:"punctuation.separator.inheritance.crystal"}},match:"^\\s*(lib)\\s+(([A-Z]\\w*(::))?([A-Z]\\w*(::))?([A-Z]\\w*(::))*[A-Z]\\w*)",name:"meta.lib.crystal"},{captures:{1:{name:"keyword.control.lib.type.crystal"},2:{name:"entity.name.lib.type.crystal"},3:{name:"keyword.control.lib.crystal"},4:{name:"entity.name.lib.type.value.crystal"}},comment:"type in lib",match:"(?|_|\\*|\\$|\\?|:|\"|-[0adFiIlpv])",name:"variable.other.readwrite.global.pre-defined.crystal"},{begin:"\\b(ENV)\\[",beginCaptures:{1:{name:"variable.other.constant.crystal"}},end:"\\]",name:"meta.environment-variable.crystal",patterns:[{include:"$self"}]},{comment:"Literals name of Crystal",match:"\\b[A-Z\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*",name:"support.class.crystal"},{comment:"Fetch from https://crystal-lang.org/api/0.36.1/toplevel.html",match:"(?[a-zA-Z_]\\w*(?>\\.|::))?(?>[a-zA-Z_]\\w*(?>[?!]|=(?!>))?|\\^|===?|!=|>[>=]?|<=>|<[<=]?|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[][?=]?|\\[]=?))\\s*(\\()",beginCaptures:{1:{name:"keyword.control.def.crystal"},2:{name:"entity.name.function.crystal"},3:{name:"punctuation.definition.parameters.crystal"}},comment:"The method pattern comes from the symbol pattern. See there for an explanation.",end:"\\)",endCaptures:{0:{name:"punctuation.definition.parameters.crystal"}},name:"meta.function.method.with-arguments.crystal",patterns:[{begin:"(?![\\s,)])",end:"(?=,|\\)\\s*)",patterns:[{captures:{1:{name:"storage.type.variable.crystal"},2:{name:"constant.other.symbol.hashkey.parameter.function.crystal"},3:{name:"punctuation.definition.constant.hashkey.crystal"},4:{name:"variable.parameter.function.crystal"}},match:"\\G([&*]?)(?:([_a-zA-Z]\\w*(:))|([_a-zA-Z]\\w*))"},{include:"$self"}]}]},{captures:{1:{name:"keyword.control.def.crystal"},3:{name:"entity.name.function.crystal"}},comment:" the optional name is just to catch the def also without a method-name",match:"(?=def\\b)(?<=^|\\s)(def)\\b(\\s+((?>[a-zA-Z_]\\w*(?>\\.|::))?(?>[a-zA-Z_]\\w*(?>[?!]|=(?!>))?|\\^|===?|!=|>[>=]?|<=>|<[<=]?|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[][?=]?|\\[]=?)))?",name:"meta.function.method.without-arguments.crystal"},{comment:"Floating point literal (fraction)",match:"\\b\\d[0-9_]*\\.\\d[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64)?\\b",name:"constant.numeric.float.crystal"},{comment:"Floating point literal (exponent)",match:"\\b\\d[0-9_]*(\\.\\d[0-9_]*)?[eE][+-]?[0-9_]+(f32|f64)?\\b",name:"constant.numeric.float.crystal"},{comment:"Floating point literal (typed)",match:"\\b\\d[0-9_]*(\\.\\d[0-9_]*)?([eE][+-]?[0-9_]+)?(f32|f64)\\b",name:"constant.numeric.float.crystal"},{comment:"Integer literal (decimal)",match:"\\b(?!0\\d)\\d[0-9_]*([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.decimal.crystal"},{comment:"Integer literal (hexadecimal)",match:"\\b0x[a-fA-F0-9_]+([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.hexadecimal.crystal"},{comment:"Integer literal (octal)",match:"\\b0o[0-7_]+([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.octal.crystal"},{comment:"Integer literal (binary)",match:"\\b0b[01_]+([ui](8|16|32|64|128))?\\b",name:"constant.numeric.integer.binary.crystal"},{begin:":'",beginCaptures:{0:{name:"punctuation.definition.symbol.begin.crystal"}},comment:"symbol literal with '' delimiter",end:"'",endCaptures:{0:{name:"punctuation.definition.symbol.end.crystal"}},name:"constant.other.symbol.crystal",patterns:[{match:"\\\\['\\\\]",name:"constant.character.escape.crystal"}]},{begin:':"',beginCaptures:{0:{name:"punctuation.section.symbol.begin.crystal"}},comment:'symbol literal with "" delimiter',end:'"',endCaptures:{0:{name:"punctuation.section.symbol.end.crystal"}},name:"constant.other.symbol.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{comment:"Needs higher precedence than regular expressions.",match:"(?",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:"%x\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:"%x\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"execute string (allow for interpolation)",end:"\\|",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.interpolated.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?:^|(?<=[=>~(?:\\[,|&;]|[\\s;]if\\s|[\\s;]elsif\\s|[\\s;]while\\s|[\\s;]unless\\s|[\\s;]when\\s|[\\s;]assert_match\\s|[\\s;]or\\s|[\\s;]and\\s|[\\s;]not\\s|[\\s.]index\\s|[\\s.]scan\\s|[\\s.]sub\\s|[\\s.]sub!\\s|[\\s.]gsub\\s|[\\s.]gsub!\\s|[\\s.]match\\s)|(?<=^when\\s|^if\\s|^elsif\\s|^while\\s|^unless\\s))\\s*((/))(?![*+{}?])",captures:{1:{name:"string.regexp.classic.crystal"},2:{name:"punctuation.definition.string.crystal"}},comment:"regular expressions (normal) we only start a regexp if the character before it (excluding whitespace) is what we think is before a regexp",contentName:"string.regexp.classic.crystal",end:"((/[imsx]*))",patterns:[{include:"#regex_sub"}]},{begin:"%r\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\}[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_curly_r"}]},{begin:"%r\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\][imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_brackets_r"}]},{begin:"%r\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\)[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_parens_r"}]},{begin:"%r\\<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\>[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"},{include:"#nest_ltgt_r"}]},{begin:"%r\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"regular expressions (literal)",end:"\\|[imsx]*",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.regexp.mod-r.crystal",patterns:[{include:"#regex_sub"}]},{begin:"%Q?\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation ()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_parens_i"}]},{begin:"%Q?\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation []",end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_brackets_i"}]},{begin:"%Q?\\<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation <>",end:"\\>",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_ltgt_i"}]},{begin:"%Q?\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation -- {}",end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.double.crystal.mod",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"},{include:"#nest_curly_i"}]},{begin:"%Q\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal capable of interpolation -- ||",end:"\\|",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.upper.crystal",patterns:[{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"%[qwi]\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- ()",end:"\\)",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\\\)|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_parens"}]},{begin:"%[qwi]\\<",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- <>",end:"\\>",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\\\>|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_ltgt"}]},{begin:"%[qwi]\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- []",end:"\\]",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\\\]|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_brackets"}]},{begin:"%[qwi]\\{",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- {}",end:"\\}",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{match:"\\\\\\}|\\\\\\\\",name:"constant.character.escape.crystal"},{include:"#nest_curly"}]},{begin:"%[qwi]\\|",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"literal incapable of interpolation -- ||",end:"\\|",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.quoted.other.literal.lower.crystal",patterns:[{comment:"Cant be named because its not necessarily an escape.",match:"\\\\."}]},{captures:{1:{name:"punctuation.definition.constant.crystal"}},comment:"symbols",match:"(?[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(?>[?!]|=(?![>=]))?|===?|>[>=]?|<[<=]?|<=>|[%&`/\\|]|\\*\\*?|=?~|[-+]@?|\\[\\][?=]?|@@?[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*)",name:"constant.other.symbol.crystal"},{captures:{1:{name:"punctuation.definition.constant.crystal"}},comment:"symbols",match:"(?>[a-zA-Z_\\x{80}-\\x{10FFFF}][\\w\\x{80}-\\x{10FFFF}]*(?>[?!])?)(:)(?!:)",name:"constant.other.symbol.crystal.19syntax"},{captures:{1:{name:"punctuation.definition.comment.crystal"}},match:"(?:^[ \\t]+)?(#).*$\\n?",name:"comment.line.number-sign.crystal"},{match:"(?<<-('?)((?:[_\\w]+_|)HTML)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded HTML and indented terminator",contentName:"text.html.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.html.crystal",patterns:[{include:"#heredoc"},{include:"text.html.basic"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)SQL)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded SQL and indented terminator",contentName:"text.sql.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.sql.crystal",patterns:[{include:"#heredoc"},{include:"source.sql"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)CSS)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded css and intented terminator",contentName:"text.css.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.css.crystal",patterns:[{include:"#heredoc"},{include:"source.css"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)CPP)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded c++ and intented terminator",contentName:"text.c++.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.cplusplus.crystal",patterns:[{include:"#heredoc"},{include:"source.c++"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)C)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded c++ and intented terminator",contentName:"text.c.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.c.crystal",patterns:[{include:"#heredoc"},{include:"source.c"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)(?:JS|JAVASCRIPT))\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded javascript and intented terminator",contentName:"text.js.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.js.crystal",patterns:[{include:"#heredoc"},{include:"source.js"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)JQUERY)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded javascript and intented terminator",contentName:"text.js.jquery.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.js.jquery.crystal",patterns:[{include:"#heredoc"},{include:"source.js.jquery"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)(?:SH|SHELL))\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded shell and intented terminator",contentName:"text.shell.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.shell.crystal",patterns:[{include:"#heredoc"},{include:"source.shell"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-('?)((?:[_\\w]+_|)CRYSTAL)\\b\\1)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with embedded crystal and intented terminator",contentName:"text.crystal.embedded.crystal",end:"\\s*\\2\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.embedded.crystal.crystal",patterns:[{include:"#heredoc"},{include:"source.crystal"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?><<-'(\\w+)')",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with indented terminator",end:"\\s*\\1\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.heredoc.crystal",patterns:[{include:"#heredoc"},{include:"#escaped_char"}]},{begin:"(?><<-(\\w+)\\b)",beginCaptures:{0:{name:"punctuation.definition.string.begin.crystal"}},comment:"heredoc with indented terminator",end:"\\s*\\1\\b",endCaptures:{0:{name:"punctuation.definition.string.end.crystal"}},name:"string.unquoted.heredoc.crystal",patterns:[{include:"#heredoc"},{include:"#interpolated_crystal"},{include:"#escaped_char"}]},{begin:"(?<={|{\\s|[^A-Za-z0-9_]do|^do|[^A-Za-z0-9_]do\\s|^do\\s)(\\|)",captures:{1:{name:"punctuation.separator.variable.crystal"}},end:"(?",name:"punctuation.separator.key-value"},{match:"->",name:"support.function.kernel.crystal"},{match:"<<=|%=|&{1,2}=|\\*=|\\*\\*=|\\+=|-=|\\^=|\\|{1,2}=|<<",name:"keyword.operator.assignment.augmented.crystal"},{match:"<=>|<(?!<|=)|>(?!<|=|>)|<=|>=|===|==|=~|!=|!~|(?<=[ \\t])\\?",name:"keyword.operator.comparison.crystal"},{match:"(?<=^|[ \\t])!|&&|\\|\\||\\^",name:"keyword.operator.logical.crystal"},{match:"(\\{\\%|\\%\\}|\\{\\{|\\}\\})",name:"keyword.operator.macro.crystal"},{captures:{1:{name:"punctuation.separator.method.crystal"}},comment:"Safe navigation operator",match:"(&\\.)\\s*(?![A-Z])"},{match:"(%|&|\\*\\*|\\*|\\+|\\-|/)",name:"keyword.operator.arithmetic.crystal"},{match:"=",name:"keyword.operator.assignment.crystal"},{match:"\\||~|>>",name:"keyword.operator.other.crystal"},{match:":",name:"punctuation.separator.other.crystal"},{match:"\\;",name:"punctuation.separator.statement.crystal"},{match:",",name:"punctuation.separator.object.crystal"},{match:"\\.|::",name:"punctuation.separator.method.crystal"},{match:"\\{|\\}",name:"punctuation.section.scope.crystal"},{match:"\\[|\\]",name:"punctuation.section.array.crystal"},{match:"\\(|\\)",name:"punctuation.section.function.crystal"},{begin:"(?=[a-zA-Z0-9_!?]+\\()",end:"(?<=\\))",name:"meta.function-call.crystal",patterns:[{match:"([a-zA-Z0-9_!?]+)(?=\\()",name:"entity.name.function.crystal"},{include:"$self"}]},{comment:"This is kindof experimental. There really is no way to perfectly match all regular variables, but you can pretty well assume that any normal word in certain curcumstances that havnt already been scoped as something else are probably variables, and the advantages beat the potential errors",match:"((?<=\\W)\\b|^)\\w+\\b(?=\\s*([\\]\\)\\}\\=\\+\\-\\*\\/\\^\\$\\,\\.]|<\\s|<<[\\s|\\.]))",name:"variable.other.crystal"}],repository:{escaped_char:{comment:"https://crystal-lang.org/reference/syntax_and_semantics/literals/string.html",match:"\\\\(?:[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\\{[a-fA-F0-9 ]+\\}|.)",name:"constant.character.escape.crystal"},heredoc:{begin:"^<<-?\\w+",end:"$",patterns:[{include:"$self"}]},interpolated_crystal:{patterns:[{begin:"#\\{",beginCaptures:{0:{name:"punctuation.se