@shikijs/langs-precompiled 1.26.2 → 1.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/angular-ts.mjs +1 -1
- package/dist/apex.mjs +1 -1
- package/dist/apl.mjs +1 -1
- package/dist/applescript.mjs +1 -1
- package/dist/ara.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/asm.mjs +1 -1
- package/dist/astro.mjs +1 -1
- package/dist/blade.mjs +1 -1
- package/dist/c.mjs +1 -1
- package/dist/cadence.mjs +1 -1
- package/dist/common-lisp.mjs +1 -1
- package/dist/cpp-macro.mjs +1 -1
- package/dist/cpp.mjs +1 -1
- package/dist/crystal.mjs +1 -1
- package/dist/css.mjs +1 -1
- package/dist/dream-maker.mjs +1 -1
- package/dist/elixir.mjs +1 -1
- package/dist/emacs-lisp.mjs +1 -1
- package/dist/erlang.mjs +1 -1
- package/dist/fortran-free-form.mjs +1 -1
- package/dist/gdscript.mjs +3 -1
- package/dist/glimmer-js.mjs +1 -1
- package/dist/glimmer-ts.mjs +1 -1
- package/dist/go.mjs +1 -1
- package/dist/graphql.mjs +1 -1
- package/dist/hack.mjs +1 -1
- package/dist/haml.mjs +1 -1
- package/dist/haskell.mjs +1 -1
- package/dist/html.mjs +1 -1
- package/dist/imba.mjs +1 -1
- package/dist/ini.mjs +1 -1
- package/dist/java.mjs +1 -1
- package/dist/javascript.mjs +1 -1
- package/dist/jsx.mjs +1 -1
- package/dist/julia.mjs +1 -1
- package/dist/kotlin.mjs +1 -1
- package/dist/kusto.mjs +1 -1
- package/dist/latex.mjs +2 -1
- package/dist/logo.mjs +1 -1
- package/dist/lua.mjs +1 -1
- package/dist/make.mjs +1 -1
- package/dist/markdown-vue.mjs +1 -1
- package/dist/markdown.mjs +1 -1
- package/dist/matlab.mjs +1 -1
- package/dist/mdc.mjs +1 -1
- package/dist/mdx.mjs +1 -1
- package/dist/mermaid.mjs +1 -1
- package/dist/mipsasm.mjs +1 -1
- package/dist/mojo.mjs +1 -1
- package/dist/nginx.mjs +2 -1
- package/dist/nim.mjs +1 -1
- package/dist/nushell.mjs +1 -1
- package/dist/objective-c.mjs +1 -1
- package/dist/objective-cpp.mjs +1 -1
- package/dist/pascal.mjs +1 -1
- package/dist/perl.mjs +1 -1
- package/dist/php.mjs +1 -1
- package/dist/po.mjs +1 -1
- package/dist/polar.mjs +1 -1
- package/dist/powershell.mjs +1 -1
- package/dist/pug.mjs +2 -1
- package/dist/python.mjs +1 -1
- package/dist/r.mjs +1 -1
- package/dist/raku.mjs +1 -1
- package/dist/riscv.mjs +1 -1
- package/dist/ruby.mjs +1 -1
- package/dist/scala.mjs +1 -1
- package/dist/scheme.mjs +1 -1
- package/dist/scss.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/smalltalk.mjs +1 -1
- package/dist/sql.mjs +1 -1
- package/dist/ssh-config.mjs +1 -1
- package/dist/stylus.mjs +1 -1
- package/dist/svelte.mjs +1 -1
- package/dist/systemd.mjs +3 -1
- package/dist/templ.mjs +1 -1
- package/dist/tex.mjs +1 -1
- package/dist/toml.mjs +1 -1
- package/dist/tsx.mjs +1 -1
- package/dist/twig.mjs +1 -1
- package/dist/typescript.mjs +1 -1
- package/dist/v.mjs +1 -1
- package/dist/vb.mjs +1 -1
- package/dist/verilog.mjs +1 -1
- package/dist/vue-html.mjs +1 -1
- package/dist/vue.mjs +1 -1
- package/dist/vyper.mjs +1 -1
- package/dist/wikitext.mjs +1 -1
- package/dist/wolfram.mjs +1 -1
- package/dist/yaml.mjs +1 -1
- package/package.json +4 -4
package/dist/cpp-macro.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import regexp from './regexp.mjs'
|
|
|
3
3
|
import glsl from './glsl.mjs'
|
|
4
4
|
import sql from './sql.mjs'
|
|
5
5
|
|
|
6
|
-
const lang = Object.freeze({displayName:"C++",name:"cpp-macro",patterns:[{include:"#ever_present_context"},{include:"#constructor_root"},{include:"#destructor_root"},{include:"#function_definition"},{include:"#operator_overload"},{include:"#using_namespace"},{include:"source.cpp#type_alias"},{include:"source.cpp#using_name"},{include:"source.cpp#namespace_alias"},{include:"#namespace_block"},{include:"#extern_block"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"source.cpp#misc_keywords"},{include:"source.cpp#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"source.cpp#template_isolated_definition"},{include:"#template_definition"},{include:"source.cpp#template_explicit_instantiation"},{include:"source.cpp#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#evaluation_context"}],repository:{alignas_attribute:{begin:/alignas\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},alignas_operator:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},alignof_operator:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},assembly:{begin:/(\b(?:__asm__|asm)\b)(?:\p{space}+)?((?:volatile)?)/dgv,beginCaptures:{"1":{name:"storage.type.asm.cpp"},"2":{name:"storage.modifier.cpp"}},end:/(?!)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.asm.cpp",patterns:[{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:\\n|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{include:"#comments"},{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))\\(","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.cpp"}},patterns:[{begin:/(R?)(")/dgv,beginCaptures:{"1":{name:"meta.encoding.cpp"},"2":{name:"punctuation.definition.string.begin.assembly.cpp"}},contentName:"meta.embedded.assembly",end:/"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.assembly.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"source.asm"},{include:"source.x86"},{include:"source.x86_64"},{include:"source.arm"},{include:"source.cpp#backslash_escapes"},{include:"#string_escaped_char"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.other.asm.label.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("\\[((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))\\]","dgv",{"useEmulationGroups":true})},{match:/:/dgv,name:"punctuation.separator.delimiter.colon.assembly.cpp"},{include:"#comments"}]}]},attributes_context:{patterns:[{include:"#cpp_attributes"},{include:"#gcc_attributes"},{include:"#ms_attributes"},{include:"#alignas_attribute"}]},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.cpp"}},name:"meta.block.cpp",patterns:[{include:"#function_body_context"}]},block_comment:{begin:new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(/\\*)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.cpp"}},end:/\*\/|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cpp"}},name:"comment.block.cpp"},builtin_storage_type_initilizer:{begin:new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|((?:pthread_rwlockattr_t|pthread_mutexattr_t|pthread_condattr_t|pthread_rwlock_t|pthread_mutex_t|pthread_cond_t|pthread_attr_t|pthread_once_t|pthread_key_t|pthread_t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\6)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{name:"storage.type.cpp storage.type.built-in.cpp"},"3":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{name:"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},case_statement:{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])case(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.case.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},class_block:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{include:"$self"}]}]},comments:{patterns:[{begin:new EmulatedRegExp("(?<=^|\\n(?!$))(?:(?=($E$(?:\\p{space}+)?))\\1)(//[\\!\\/]+)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"punctuation.definition.comment.documentation.cpp"}},end:/(?<=\n)(?<!\\\n)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"comment.line.double-slash.documentation.cpp",patterns:[{include:"source.cpp#line_continuation_character"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\$|#|<|>|%|"|\.|=|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:c|p))\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{captures:{"1":{name:"punctuation.definition.comment.begin.documentation.cpp"},"2":{patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\$|#|<|>|%|"|\.|=|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:c|p))\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},"3":{name:"punctuation.definition.comment.end.documentation.cpp"}},match:/(\/\*[\!\*]+(?=\p{space}))([^\n]+)([\!\*]*\*\/)/dgv,name:"comment.block.documentation.cpp"},{begin:new EmulatedRegExp("(?:(?=($E$(?:\\p{space}+)?))\\1)/\\*[\\!\\*]+(?:(?:\\n|(?=$|\\n))|(?=\\p{space}))","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"punctuation.definition.comment.begin.documentation.cpp"}},end:/[\!\*]*\*\/|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.documentation.cpp"}},name:"comment.block.documentation.cpp",patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\$|#|<|>|%|"|\.|=|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:c|p))\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{include:"source.cpp#emacs_file_banner"},{include:"#block_comment"},{include:"#line_comment"},{include:"source.cpp#invalid_comment_end"}]},constructor_inline:{begin:new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*)((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\22)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=($E$\\p{space}*))\\28))+|(?:(?=($E$\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#functional_specifiers_pre_parameters"}]},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"storage.type.modifier.calling-convention.cpp"},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:new EmulatedRegExp("(=)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{include:"source.cpp#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\32))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\33))*>)(?:(?=($E$\\p{space}*))\\34))?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},constructor_root:{begin:new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\4)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=($E$\\p{space}*))\\10))+|(?:(?=($E$\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\14)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\20)|\\*+(?!/))*))\\19)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\27))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\28))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)(?:(?=($E$\\p{space}*))\\32))?::)*))\\13))(((?:(?=($E$(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\35))((?:(?:(?:(?=($E$\\p{space}*))\\37)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=($E$\\p{space}*))\\43))+|(?:(?=($E$\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))::((?:(?:(?:(?=($E$\\p{space}*))\\46)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\50)|\\*+(?!/))*))\\49)(\\*/))(?:(?=($E$\\p{space}*))\\52))+|(?:(?=($E$\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))\\34((?:(?:(?:(?=($E$\\p{space}*))\\55)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))(?:(?=($E$\\p{space}*))\\61))+|(?:(?=($E$\\p{space}+))\\62)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=\\())","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{name:"storage.type.modifier.calling-convention.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.constructor.cpp"},{include:"#template_call_range"}]},"7":{patterns:[{include:"#template_call_range"}]},"8":{},"9":{patterns:[{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?=:)/dgv,name:"entity.name.type.constructor.cpp"},{match:/(?<=:)(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.function.definition.special.constructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:new EmulatedRegExp("(=)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{include:"source.cpp#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\32))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\33))*>)(?:(?=($E$\\p{space}*))\\34))?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},cpp_attributes:{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\]\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},curly_initializer:{begin:new EmulatedRegExp("((?:(?=($E$\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\5)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=($E$\\p{space}*))\\11))+|(?:(?=($E$\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\14)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=($E$\\p{space}*))\\20))+|(?:(?=($E$\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=($E$\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=($E$\\p{space}*))\\48)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=($E$\\p{space}*))\\54))+|(?:(?=($E$\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))((?:(?:(?:(?=($E$\\p{space}*))\\73)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\77)|\\*+(?!/))*))\\76)(\\*/))(?:(?=($E$\\p{space}*))\\79))+|(?:(?=($E$\\p{space}+))\\80)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\{)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{name:"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},name:"meta.initialization.cpp",patterns:[{include:"#evaluation_context"},{include:"source.cpp#comma"}]},decltype:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},decltype_specifier:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},default_statement:{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])default(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.default.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.default.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},destructor_inline:{begin:new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?:(?=($E$\\p{space}*))\\22)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=($E$\\p{space}*))\\28))+|(?:(?=($E$\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*)(~(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#functional_specifiers_pre_parameters"}]},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:new EmulatedRegExp("(=)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},destructor_root:{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\22)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\34)|\\*+(?!/))*))\\33)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=($E$\\p{space}*))\\40))?::)*))\\21))(((?:(?=($E$(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\43))((?:(?:(?:(?=($E$\\p{space}*))\\45)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))(?:(?=($E$\\p{space}*))\\51))+|(?:(?=($E$\\p{space}+))\\52)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))::((?:(?:(?:(?=($E$\\p{space}*))\\54)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)(\\*/))(?:(?=($E$\\p{space}*))\\60))+|(?:(?=($E$\\p{space}+))\\61)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))~\\42((?:(?:(?:(?=($E$\\p{space}*))\\63)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\67)|\\*+(?!/))*))\\66)(\\*/))(?:(?=($E$\\p{space}*))\\69))+|(?:(?=($E$\\p{space}+))\\70)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=\\())","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.destructor.cpp"},{include:"#template_call_range"}]},"11":{patterns:[{include:"#template_call_range"}]},"12":{},"13":{patterns:[{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?=:)/dgv,name:"entity.name.type.destructor.cpp"},{match:/(?<=:)~(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.function.definition.special.member.destructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{include:"source.cpp#inline_comment"}]},"24":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{name:"comment.block.cpp"},"26":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:new EmulatedRegExp("(=)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},diagnostic:{begin:new EmulatedRegExp("((?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?((?:error|warning)))\\b(?:\\p{space}+)?","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.control.directive.diagnostic.$7.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{}},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.diagnostic.$reference(directive).cpp",patterns:[{include:"#comments"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(")|(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n))))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(')|(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n))))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.single.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},{begin:/[^'"]/dgv,beginCaptures:{},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"string.unquoted.cpp",patterns:[{include:"source.cpp#line_continuation_character"},{include:"#comments"}]}]},enum_block:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+(class|struct))?(?:(?:\\p{space}+|((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\))))|(?=\\{))(?:\\p{space}+)?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)(?:(?:\\p{space}+)?(:)(?:\\p{space}+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\8)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)(?:(?=($E$\\p{space}*))\\45))?::)*(?:(?=($E$\\p{space}*))\\46))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=($E$\\p{space}*))\\48)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\74)|\\*+(?!/))*))\\73)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)(?:(?=($E$\\p{space}*))\\81))?(::))?(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))?","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.enum.cpp"},"1":{name:"storage.type.enum.cpp"},"2":{name:"storage.type.enum.enum-key.$2.cpp"},"3":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"4":{name:"entity.name.type.enum.cpp"},"5":{name:"punctuation.separator.colon.type-specifier.cpp"},"6":{patterns:[{include:"source.cpp#scope_resolution_inner_generated"}]},"7":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{name:"entity.name.scope-resolution.cpp"},"11":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"12":{},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{name:"storage.type.integral.$17.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.enum.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.enum.cpp"}},name:"meta.head.enum.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.enum.cpp"}},name:"meta.body.enum.cpp",patterns:[{include:"#ever_present_context"},{include:"source.cpp#enumerator_list"},{include:"#comments"},{include:"source.cpp#comma"},{include:"source.cpp#semicolon"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.enum.cpp",patterns:[{include:"$self"}]}]},evaluation_context:{patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"source.cpp#number_literal"},{include:"#method_access"},{include:"source.cpp#member_access"},{include:"source.cpp#predefined_macros"},{include:"#operators"},{include:"source.cpp#memory_operators"},{include:"source.cpp#wordlike_operators"},{include:"source.cpp#type_casting_operators"},{include:"source.cpp#control_flow_keywords"},{include:"source.cpp#exception_keywords"},{include:"source.cpp#the_this_keyword"},{include:"source.cpp#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"source.cpp#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"source.cpp#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"source.cpp#semicolon"},{include:"source.cpp#comma"}]},ever_present_context:{patterns:[{include:"source.cpp#pragma_mark"},{include:"#pragma"},{include:"source.cpp#include"},{include:"#line"},{include:"#diagnostic"},{include:"source.cpp#undef"},{include:"#preprocessor_conditional_range"},{include:"source.cpp#single_line_macro"},{include:"#macro"},{include:"source.cpp#preprocessor_conditional_standalone"},{include:"source.cpp#macro_argument"},{include:"#comments"},{include:"source.cpp#line_continuation_character"}]},extern_block:{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(extern)(?=\\p{space}*\")","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.extern.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.extern.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.extern.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.extern.cpp"}},name:"meta.head.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.extern.cpp"}},name:"meta.body.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.extern.cpp",patterns:[{include:"$self"}]},{include:"$self"}]},function_body_context:{patterns:[{include:"#ever_present_context"},{include:"#using_namespace"},{include:"source.cpp#type_alias"},{include:"source.cpp#using_name"},{include:"source.cpp#namespace_alias"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"source.cpp#misc_keywords"},{include:"source.cpp#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"source.cpp#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#switch_statement"},{include:"source.cpp#goto_statement"},{include:"#evaluation_context"},{include:"source.cpp#label"}]},function_call:{begin:new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=($E$\\p{space}*))\\40))?::)*(?:(?=($E$\\p{space}*))\\41))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<![^\\p{L}\\p{M}\\p{N}\\p{Pc}]reinterpret_cast|(?<=^|\\n(?!$))reinterpret_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_noexcept|(?<=^|\\n(?!$))atomic_noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least16_t|(?<=^|\\n(?!$))uint_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least32_t|(?<=^|\\n(?!$))uint_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least64_t|(?<=^|\\n(?!$))uint_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_cancel|(?<=^|\\n(?!$))atomic_cancel|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_commit|(?<=^|\\n(?!$))atomic_commit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least8_t|(?<=^|\\n(?!$))uint_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast16_t|(?<=^|\\n(?!$))uint_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast32_t|(?<=^|\\n(?!$))uint_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least16_t|(?<=^|\\n(?!$))int_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least32_t|(?<=^|\\n(?!$))int_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least64_t|(?<=^|\\n(?!$))int_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast64_t|(?<=^|\\n(?!$))uint_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]thread_local|(?<=^|\\n(?!$))thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast16_t|(?<=^|\\n(?!$))int_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast32_t|(?<=^|\\n(?!$))int_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast64_t|(?<=^|\\n(?!$))int_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]synchronized|(?<=^|\\n(?!$))synchronized|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast8_t|(?<=^|\\n(?!$))uint_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dynamic_cast|(?<=^|\\n(?!$))dynamic_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least8_t|(?<=^|\\n(?!$))int_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast8_t|(?<=^|\\n(?!$))int_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static_cast|(?<=^|\\n(?!$))static_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]suseconds_t|(?<=^|\\n(?!$))suseconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const_cast|(?<=^|\\n(?!$))const_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]useconds_t|(?<=^|\\n(?!$))useconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constinit|(?<=^|\\n(?!$))constinit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|(?<=^|\\n(?!$))co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|(?<=^|\\n(?!$))consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|(?<=^|\\n(?!$))consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]protected|(?<=^|\\n(?!$))protected|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]namespace|(?<=^|\\n(?!$))namespace|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blksize_t|(?<=^|\\n(?!$))blksize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|(?<=^|\\n(?!$))co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_addr_t|(?<=^|\\n(?!$))in_addr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_port_t|(?<=^|\\n(?!$))in_port_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintptr_t|(?<=^|\\n(?!$))uintptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]template|(?<=^|\\n(?!$))template|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]continue|(?<=^|\\n(?!$))continue|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|(?<=^|\\n(?!$))co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|(?<=^|\\n(?!$))co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]unsigned|(?<=^|\\n(?!$))unsigned|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_quad_t|(?<=^|\\n(?!$))u_quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blkcnt_t|(?<=^|\\n(?!$))blkcnt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint16_t|(?<=^|\\n(?!$))uint16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint32_t|(?<=^|\\n(?!$))uint32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint64_t|(?<=^|\\n(?!$))uint64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intptr_t|(?<=^|\\n(?!$))intptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|(?<=^|\\n(?!$))intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|(?<=^|\\n(?!$))intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|(?<=^|\\n(?!$))register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|(?<=^|\\n(?!$))restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]explicit|(?<=^|\\n(?!$))explicit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]operator|(?<=^|\\n(?!$))operator|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]decltype|(?<=^|\\n(?!$))decltype|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typename|(?<=^|\\n(?!$))typename|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]requires|(?<=^|\\n(?!$))requires|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|(?<=^|\\n(?!$))co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|(?<=^|\\n(?!$))co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]reflexpr|(?<=^|\\n(?!$))reflexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]swblk_t|(?<=^|\\n(?!$))swblk_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]virtual|(?<=^|\\n(?!$))virtual|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ssize_t|(?<=^|\\n(?!$))ssize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]concept|(?<=^|\\n(?!$))concept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|(?<=^|\\n(?!$))mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]fixpt_t|(?<=^|\\n(?!$))fixpt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int16_t|(?<=^|\\n(?!$))int16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int32_t|(?<=^|\\n(?!$))int32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int64_t|(?<=^|\\n(?!$))int64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint8_t|(?<=^|\\n(?!$))uint8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typedef|(?<=^|\\n(?!$))typedef|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]daddr_t|(?<=^|\\n(?!$))daddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]caddr_t|(?<=^|\\n(?!$))caddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]qaddr_t|(?<=^|\\n(?!$))qaddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]default|(?<=^|\\n(?!$))default|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nlink_t|(?<=^|\\n(?!$))nlink_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]segsz_t|(?<=^|\\n(?!$))segsz_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_short|(?<=^|\\n(?!$))u_short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]wchar_t|(?<=^|\\n(?!$))wchar_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]private|(?<=^|\\n(?!$))private|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]__asm__|(?<=^|\\n(?!$))__asm__|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignas|(?<=^|\\n(?!$))alignas|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignof|(?<=^|\\n(?!$))alignof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|(?<=^|\\n(?!$))mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nullptr|(?<=^|\\n(?!$))nullptr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]clock_t|(?<=^|\\n(?!$))clock_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mode_t|(?<=^|\\n(?!$))mode_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]public|(?<=^|\\n(?!$))public|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]size_t|(?<=^|\\n(?!$))size_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]double|(?<=^|\\n(?!$))double|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]quad_t|(?<=^|\\n(?!$))quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|(?<=^|\\n(?!$))static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]time_t|(?<=^|\\n(?!$))time_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]module|(?<=^|\\n(?!$))module|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]import|(?<=^|\\n(?!$))import|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]export|(?<=^|\\n(?!$))export|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|(?<=^|\\n(?!$))extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]inline|(?<=^|\\n(?!$))inline|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor_eq|(?<=^|\\n(?!$))xor_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and_eq|(?<=^|\\n(?!$))and_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|(?<=^|\\n(?!$))return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]friend|(?<=^|\\n(?!$))friend|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not_eq|(?<=^|\\n(?!$))not_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]signed|(?<=^|\\n(?!$))signed|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]struct|(?<=^|\\n(?!$))struct|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int8_t|(?<=^|\\n(?!$))int8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ushort|(?<=^|\\n(?!$))ushort|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]switch|(?<=^|\\n(?!$))switch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_long|(?<=^|\\n(?!$))u_long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typeid|(?<=^|\\n(?!$))typeid|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_char|(?<=^|\\n(?!$))u_char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]sizeof|(?<=^|\\n(?!$))sizeof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitand|(?<=^|\\n(?!$))bitand|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]delete|(?<=^|\\n(?!$))delete|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ino_t|(?<=^|\\n(?!$))ino_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]key_t|(?<=^|\\n(?!$))key_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]pid_t|(?<=^|\\n(?!$))pid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]off_t|(?<=^|\\n(?!$))off_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uid_t|(?<=^|\\n(?!$))uid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]short|(?<=^|\\n(?!$))short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]break|(?<=^|\\n(?!$))break|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]catch|(?<=^|\\n(?!$))catch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]compl|(?<=^|\\n(?!$))compl|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]while|(?<=^|\\n(?!$))while|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]false|(?<=^|\\n(?!$))false|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]class|(?<=^|\\n(?!$))class|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]union|(?<=^|\\n(?!$))union|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or_eq|(?<=^|\\n(?!$))or_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]throw|(?<=^|\\n(?!$))throw|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitor|(?<=^|\\n(?!$))bitor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_int|(?<=^|\\n(?!$))u_int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]using|(?<=^|\\n(?!$))using|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]div_t|(?<=^|\\n(?!$))div_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dev_t|(?<=^|\\n(?!$))dev_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]gid_t|(?<=^|\\n(?!$))gid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]float|(?<=^|\\n(?!$))float|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]long|(?<=^|\\n(?!$))long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]goto|(?<=^|\\n(?!$))goto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint|(?<=^|\\n(?!$))uint|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|(?<=^|\\n(?!$))id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]case|(?<=^|\\n(?!$))case|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]auto|(?<=^|\\n(?!$))auto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]void|(?<=^|\\n(?!$))void|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]enum|(?<=^|\\n(?!$))enum|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]true|(?<=^|\\n(?!$))true|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]char|(?<=^|\\n(?!$))char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|(?<=^|\\n(?!$))id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]NULL|(?<=^|\\n(?!$))NULL|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]this|(?<=^|\\n(?!$))this|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bool|(?<=^|\\n(?!$))bool|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]else|(?<=^|\\n(?!$))else|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]for|(?<=^|\\n(?!$))for|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]new|(?<=^|\\n(?!$))new|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not|(?<=^|\\n(?!$))not|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor|(?<=^|\\n(?!$))xor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and|(?<=^|\\n(?!$))and|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]asm|(?<=^|\\n(?!$))asm|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int|(?<=^|\\n(?!$))int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]try|(?<=^|\\n(?!$))try|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]do|(?<=^|\\n(?!$))do|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]if|(?<=^|\\n(?!$))if|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or|(?<=^|\\n(?!$))or)((?:(?:(?:(?=($E$\\p{space}*))\\44)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\48)|\\*+(?!/))*))\\47)(\\*/))(?:(?=($E$\\p{space}*))\\50))+|(?:(?=($E$\\p{space}+))\\51)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\57)|\\*+(?!/))*))\\56)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\67)|\\*+(?!/))*))\\66)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\72)|\\*+(?!/))*))\\71)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\77)|\\*+(?!/))*))\\76)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\82))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\83))*>)(?:(?=($E$\\p{space}*))\\84))?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#scope_resolution_function_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.function.call.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"11":{},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},patterns:[{include:"#evaluation_context"}]},function_definition:{begin:new EmulatedRegExp("(?:(?:(?<=^|\\n(?!$))||(?<=;|\\}))|(?<=>|\\*/))(?:(?=($E$\\p{space}*))\\1)(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])template(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\4)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=($E$\\p{space}*))\\10))+|(?:(?=($E$\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\16)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\20)|\\*+(?!/))*))\\19)(\\*/))(?:(?=($E$\\p{space}*))\\22))+|(?:(?=($E$\\p{space}+))\\23)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*)((?:(?=($E$\\p{space}*))\\25)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\28)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=($E$\\p{space}*))\\34))+|(?:(?=($E$\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\37)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=($E$\\p{space}*))\\43))+|(?:(?=($E$\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\47)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\65))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\66))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)(?:(?=($E$\\p{space}*))\\69))?::)*))\\46))((?:(?:(?:(?=($E$\\p{space}*))\\71)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\75)|\\*+(?!/))*))\\74)(\\*/))(?:(?=($E$\\p{space}*))\\77))+|(?:(?=($E$\\p{space}+))\\78)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\81)|\\*+(?!/))*))\\80)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\84)|\\*+(?!/))*))\\83)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\86)|\\*+(?!/))*))\\85)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\88)|\\*+(?!/))*))\\87)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\90)|\\*+(?!/))*))\\89)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\92)|\\*+(?!/))*))\\91)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\93))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\94))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\95))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\96))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\97))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\98))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=($E$\\p{space}*))\\101)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\105)|\\*+(?!/))*))\\104)(\\*/))(?:(?=($E$\\p{space}*))\\107))+|(?:(?=($E$\\p{space}+))\\108)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\110)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\114)|\\*+(?!/))*))\\113)(\\*/))(?:(?=($E$\\p{space}*))\\116))+|(?:(?=($E$\\p{space}+))\\117)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\119)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\123)|\\*+(?!/))*))\\122)(\\*/))(?:(?=($E$\\p{space}*))\\125))+|(?:(?=($E$\\p{space}+))\\126)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\129)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\133)|\\*+(?!/))*))\\132)(\\*/))(?:(?=($E$\\p{space}*))\\135))+|(?:(?=($E$\\p{space}+))\\136)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\139)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\151)|\\*+(?!/))*))\\150)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\152))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\153))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\154))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\155))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\156))*>)(?:(?=($E$\\p{space}*))\\157))?::)*(?:(?=($E$\\p{space}*))\\158))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<![^\\p{L}\\p{M}\\p{N}\\p{Pc}]reinterpret_cast|(?<=^|\\n(?!$))reinterpret_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_noexcept|(?<=^|\\n(?!$))atomic_noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least16_t|(?<=^|\\n(?!$))uint_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least32_t|(?<=^|\\n(?!$))uint_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least64_t|(?<=^|\\n(?!$))uint_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_cancel|(?<=^|\\n(?!$))atomic_cancel|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_commit|(?<=^|\\n(?!$))atomic_commit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least8_t|(?<=^|\\n(?!$))uint_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast16_t|(?<=^|\\n(?!$))uint_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast32_t|(?<=^|\\n(?!$))uint_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least16_t|(?<=^|\\n(?!$))int_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least32_t|(?<=^|\\n(?!$))int_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least64_t|(?<=^|\\n(?!$))int_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast64_t|(?<=^|\\n(?!$))uint_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]thread_local|(?<=^|\\n(?!$))thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast16_t|(?<=^|\\n(?!$))int_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast32_t|(?<=^|\\n(?!$))int_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast64_t|(?<=^|\\n(?!$))int_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]synchronized|(?<=^|\\n(?!$))synchronized|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast8_t|(?<=^|\\n(?!$))uint_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dynamic_cast|(?<=^|\\n(?!$))dynamic_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least8_t|(?<=^|\\n(?!$))int_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast8_t|(?<=^|\\n(?!$))int_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static_cast|(?<=^|\\n(?!$))static_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]suseconds_t|(?<=^|\\n(?!$))suseconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const_cast|(?<=^|\\n(?!$))const_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]useconds_t|(?<=^|\\n(?!$))useconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constinit|(?<=^|\\n(?!$))constinit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|(?<=^|\\n(?!$))co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|(?<=^|\\n(?!$))consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|(?<=^|\\n(?!$))consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]protected|(?<=^|\\n(?!$))protected|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]namespace|(?<=^|\\n(?!$))namespace|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blksize_t|(?<=^|\\n(?!$))blksize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|(?<=^|\\n(?!$))co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_addr_t|(?<=^|\\n(?!$))in_addr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_port_t|(?<=^|\\n(?!$))in_port_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintptr_t|(?<=^|\\n(?!$))uintptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]template|(?<=^|\\n(?!$))template|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]continue|(?<=^|\\n(?!$))continue|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|(?<=^|\\n(?!$))co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|(?<=^|\\n(?!$))co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]unsigned|(?<=^|\\n(?!$))unsigned|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_quad_t|(?<=^|\\n(?!$))u_quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blkcnt_t|(?<=^|\\n(?!$))blkcnt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint16_t|(?<=^|\\n(?!$))uint16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint32_t|(?<=^|\\n(?!$))uint32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint64_t|(?<=^|\\n(?!$))uint64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intptr_t|(?<=^|\\n(?!$))intptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|(?<=^|\\n(?!$))intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|(?<=^|\\n(?!$))intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|(?<=^|\\n(?!$))register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|(?<=^|\\n(?!$))restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]explicit|(?<=^|\\n(?!$))explicit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]operator|(?<=^|\\n(?!$))operator|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]decltype|(?<=^|\\n(?!$))decltype|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typename|(?<=^|\\n(?!$))typename|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]requires|(?<=^|\\n(?!$))requires|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|(?<=^|\\n(?!$))co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|(?<=^|\\n(?!$))co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]reflexpr|(?<=^|\\n(?!$))reflexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]swblk_t|(?<=^|\\n(?!$))swblk_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]virtual|(?<=^|\\n(?!$))virtual|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ssize_t|(?<=^|\\n(?!$))ssize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]concept|(?<=^|\\n(?!$))concept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|(?<=^|\\n(?!$))mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]fixpt_t|(?<=^|\\n(?!$))fixpt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int16_t|(?<=^|\\n(?!$))int16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int32_t|(?<=^|\\n(?!$))int32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int64_t|(?<=^|\\n(?!$))int64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint8_t|(?<=^|\\n(?!$))uint8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typedef|(?<=^|\\n(?!$))typedef|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]daddr_t|(?<=^|\\n(?!$))daddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]caddr_t|(?<=^|\\n(?!$))caddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]qaddr_t|(?<=^|\\n(?!$))qaddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]default|(?<=^|\\n(?!$))default|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nlink_t|(?<=^|\\n(?!$))nlink_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]segsz_t|(?<=^|\\n(?!$))segsz_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_short|(?<=^|\\n(?!$))u_short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]wchar_t|(?<=^|\\n(?!$))wchar_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]private|(?<=^|\\n(?!$))private|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]__asm__|(?<=^|\\n(?!$))__asm__|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignas|(?<=^|\\n(?!$))alignas|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignof|(?<=^|\\n(?!$))alignof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|(?<=^|\\n(?!$))mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nullptr|(?<=^|\\n(?!$))nullptr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]clock_t|(?<=^|\\n(?!$))clock_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mode_t|(?<=^|\\n(?!$))mode_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]public|(?<=^|\\n(?!$))public|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]size_t|(?<=^|\\n(?!$))size_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]double|(?<=^|\\n(?!$))double|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]quad_t|(?<=^|\\n(?!$))quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|(?<=^|\\n(?!$))static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]time_t|(?<=^|\\n(?!$))time_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]module|(?<=^|\\n(?!$))module|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]import|(?<=^|\\n(?!$))import|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]export|(?<=^|\\n(?!$))export|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|(?<=^|\\n(?!$))extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]inline|(?<=^|\\n(?!$))inline|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor_eq|(?<=^|\\n(?!$))xor_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and_eq|(?<=^|\\n(?!$))and_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|(?<=^|\\n(?!$))return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]friend|(?<=^|\\n(?!$))friend|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not_eq|(?<=^|\\n(?!$))not_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]signed|(?<=^|\\n(?!$))signed|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]struct|(?<=^|\\n(?!$))struct|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int8_t|(?<=^|\\n(?!$))int8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ushort|(?<=^|\\n(?!$))ushort|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]switch|(?<=^|\\n(?!$))switch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_long|(?<=^|\\n(?!$))u_long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typeid|(?<=^|\\n(?!$))typeid|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_char|(?<=^|\\n(?!$))u_char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]sizeof|(?<=^|\\n(?!$))sizeof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitand|(?<=^|\\n(?!$))bitand|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]delete|(?<=^|\\n(?!$))delete|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ino_t|(?<=^|\\n(?!$))ino_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]key_t|(?<=^|\\n(?!$))key_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]pid_t|(?<=^|\\n(?!$))pid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]off_t|(?<=^|\\n(?!$))off_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uid_t|(?<=^|\\n(?!$))uid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]short|(?<=^|\\n(?!$))short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]break|(?<=^|\\n(?!$))break|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]catch|(?<=^|\\n(?!$))catch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]compl|(?<=^|\\n(?!$))compl|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]while|(?<=^|\\n(?!$))while|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]false|(?<=^|\\n(?!$))false|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]class|(?<=^|\\n(?!$))class|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]union|(?<=^|\\n(?!$))union|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or_eq|(?<=^|\\n(?!$))or_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]throw|(?<=^|\\n(?!$))throw|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitor|(?<=^|\\n(?!$))bitor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_int|(?<=^|\\n(?!$))u_int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]using|(?<=^|\\n(?!$))using|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]div_t|(?<=^|\\n(?!$))div_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dev_t|(?<=^|\\n(?!$))dev_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]gid_t|(?<=^|\\n(?!$))gid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]float|(?<=^|\\n(?!$))float|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]long|(?<=^|\\n(?!$))long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]goto|(?<=^|\\n(?!$))goto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint|(?<=^|\\n(?!$))uint|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|(?<=^|\\n(?!$))id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]case|(?<=^|\\n(?!$))case|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]auto|(?<=^|\\n(?!$))auto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]void|(?<=^|\\n(?!$))void|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]enum|(?<=^|\\n(?!$))enum|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]true|(?<=^|\\n(?!$))true|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]char|(?<=^|\\n(?!$))char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|(?<=^|\\n(?!$))id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]NULL|(?<=^|\\n(?!$))NULL|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]this|(?<=^|\\n(?!$))this|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bool|(?<=^|\\n(?!$))bool|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]else|(?<=^|\\n(?!$))else|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]for|(?<=^|\\n(?!$))for|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]new|(?<=^|\\n(?!$))new|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not|(?<=^|\\n(?!$))not|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor|(?<=^|\\n(?!$))xor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and|(?<=^|\\n(?!$))and|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]asm|(?<=^|\\n(?!$))asm|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int|(?<=^|\\n(?!$))int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]try|(?<=^|\\n(?!$))try|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]do|(?<=^|\\n(?!$))do|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]if|(?<=^|\\n(?!$))if|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or|(?<=^|\\n(?!$))or)((?:(?:(?:(?=($E$\\p{space}*))\\161)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\165)|\\*+(?!/))*))\\164)(\\*/))(?:(?=($E$\\p{space}*))\\167))+|(?:(?=($E$\\p{space}+))\\168)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.cpp"},"1":{name:"storage.type.template.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{captures:{"1":{name:"storage.modifier.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})}]},"8":{name:"storage.modifier.$8.cpp"},"9":{patterns:[{include:"source.cpp#inline_comment"}]},"10":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{name:"comment.block.cpp"},"12":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"14":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"24":{patterns:[{include:"#template_call_range"}]},"25":{},"26":{patterns:[{include:"source.cpp#inline_comment"}]},"27":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{name:"comment.block.cpp"},"29":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"32":{patterns:[{include:"source.cpp#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{patterns:[{include:"source.cpp#inline_comment"}]},"37":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{name:"comment.block.cpp"},"39":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{patterns:[{include:"source.cpp#inline_comment"}]},"41":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{name:"comment.block.cpp"},"43":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{name:"storage.type.modifier.calling-convention.cpp"},"45":{patterns:[{include:"source.cpp#inline_comment"}]},"46":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{name:"comment.block.cpp"},"48":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{patterns:[{include:"source.cpp#scope_resolution_function_definition_inner_generated"}]},"50":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{patterns:[{include:"#template_call_range"}]},"52":{},"53":{name:"entity.name.function.definition.cpp"},"54":{patterns:[{include:"source.cpp#inline_comment"}]},"55":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{name:"comment.block.cpp"},"57":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},name:"meta.head.function.definition.cpp",patterns:[{include:"#ever_present_context"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.cpp"}},contentName:"meta.function.definition.parameters",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#parameter_or_maybe_value"},{include:"source.cpp#comma"},{include:"#evaluation_context"}]},{captures:{"1":{name:"punctuation.definition.function.return-type.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"7":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"8":{patterns:[{include:"source.cpp#inline_comment"}]},"9":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{name:"comment.block.cpp"},"11":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"17":{patterns:[{include:"#template_call_range"}]},"18":{},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},match:new EmulatedRegExp("(?<=(?<=^|\\n(?!$))|\\))(?:\\p{space}+)?(->)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:(?=($E$\\p{space}*))\\12)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\15)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\19)|\\*+(?!/))*))\\18)(\\*/))(?:(?=($E$\\p{space}*))\\21))+|(?:(?=($E$\\p{space}+))\\22)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\34)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\38)|\\*+(?!/))*))\\37)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\41)|\\*+(?!/))*))\\40)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\45)|\\*+(?!/))*))\\44)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\55))*>)(?:(?=($E$\\p{space}*))\\56))?::)*))\\33))((?:(?:(?:(?=($E$\\p{space}*))\\58)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)(\\*/))(?:(?=($E$\\p{space}*))\\64))+|(?:(?=($E$\\p{space}+))\\65)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\68)|\\*+(?!/))*))\\67)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"useEmulationGroups":true})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},name:"meta.body.function.definition.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.cpp",patterns:[{include:"$self"}]}]},function_parameter_context:{patterns:[{include:"#ever_present_context"},{include:"#parameter"},{include:"source.cpp#comma"}]},function_pointer:{begin:new EmulatedRegExp("((?:(?=($E$\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\5)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=($E$\\p{space}*))\\11))+|(?:(?=($E$\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\14)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=($E$\\p{space}*))\\20))+|(?:(?=($E$\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=($E$\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=($E$\\p{space}*))\\48)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=($E$\\p{space}*))\\54))+|(?:(?=($E$\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=($E$\\p{space}*))\\74)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=($E$\\p{space}*))\\80))+|(?:(?=($E$\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\83)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=($E$\\p{space}*))\\89))+|(?:(?=($E$\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\92)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=($E$\\p{space}*))\\98))+|(?:(?=($E$\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.other.definition.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:new EmulatedRegExp("(\\))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>]|\\n)(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},function_pointer_parameter:{begin:new EmulatedRegExp("((?:(?=($E$\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\5)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=($E$\\p{space}*))\\11))+|(?:(?=($E$\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\14)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=($E$\\p{space}*))\\20))+|(?:(?=($E$\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=($E$\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=($E$\\p{space}*))\\48)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=($E$\\p{space}*))\\54))+|(?:(?=($E$\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=($E$\\p{space}*))\\74)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=($E$\\p{space}*))\\80))+|(?:(?=($E$\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\83)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=($E$\\p{space}*))\\89))+|(?:(?=($E$\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\92)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=($E$\\p{space}*))\\98))+|(?:(?=($E$\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.parameter.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:new EmulatedRegExp("(\\))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>]|\\n)(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},gcc_attributes:{begin:/__attribute(?:__)?\p{space}*\(\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)\p{space}*\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},inheritance_context:{patterns:[{include:"#ever_present_context"},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.inheritance.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:protected|private|public)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.access.$0.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])virtual(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.virtual.cpp"},{captures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=($E$\\p{space}*))\\7)","dgv",{"useEmulationGroups":true})}]},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=($E$\\p{space}*))\\7)","dgv",{"useEmulationGroups":true})}]},"7":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=($E$\\p{space}*))\\7)","dgv",{"useEmulationGroups":true})}]},"12":{}},match:new EmulatedRegExp("(?<=protected|virtual|private|public|,|:)(?:\\p{space}+)?(?!(?:(?:protected|private|public)|virtual))((?:(?=($E$\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=($E$\\p{space}*))\\6)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/(?:(?=($E$\\p{space}*))\\9))+)|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=($E$\\p{space}*))\\13)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=($E$\\p{space}*))\\16))+)|(?:(?=($E$\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\20)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)(?:(?=($E$\\p{space}*))\\42))?::)*))\\19))((?:((?:(?:(?=($E$\\p{space}*))\\45)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/(?:(?=($E$\\p{space}*))\\48))+)|(?:(?=($E$\\p{space}+))\\49)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\52)|\\*+(?!/))*))\\51)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\61))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\62))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\65))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"useEmulationGroups":true})}]},lambdas:{begin:new EmulatedRegExp("(?:(?<=[^\\p{space}]|(?<=^|\\n(?!$)))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\]\\)\\[\\*\\&\"\\>])|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|(?<=^|\\n(?!$))return))(?:\\p{space}+)?(\\[(?!\\[|(?:(?=($E$ *))\\2)\"|(?:(?=($E$ *))\\3)\\p{Nd}))((?:(?=($E$(?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:(?=($E$(?:(?:(?=($E$[^\\[\\]]*))\\8)(?:(?<!\\[)\\[(?!\\[)(?:(?=($E$(?:(?:(?=($E$[^\\[\\]]*))\\10)(?:(?<!\\[)\\[(?!\\[)(?:(?=($E$(?:(?:(?=($E$[^\\[\\]]*))\\12)(?:(?<!\\[)\\[(?!\\[)(?:(?=($E$(?:(?:(?=($E$[^\\[\\]]*))\\14)(?:(?<!\\[)\\[(?!\\[)(?:(?=($E$(?:(?:(?=($E$[^\\[\\]]*))\\16)(?:)?)+))\\15)\\])?)+))\\13)\\])?)+))\\11)\\])?)+))\\9)\\])?)+))\\7)\\]))*))\\5))(\\](?!((?:(?:(?:(?=($E$\\p{space}*))\\19)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\23)|\\*+(?!/))*))\\22)(\\*/))(?:(?=($E$\\p{space}*))\\25))+|(?:(?=($E$\\p{space}+))\\26)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))[\\[\\]\\;\\=]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"punctuation.definition.capture.begin.lambda.cpp"},"2":{name:"meta.lambda.capture.cpp",patterns:[{include:"source.cpp#the_this_keyword"},{captures:{"1":{name:"variable.parameter.capture.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.separator.delimiter.comma.cpp"},"7":{name:"keyword.operator.assignment.cpp"}},match:new EmulatedRegExp("((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?=\\]|$|(?=$|\\n))|(,))|(=))","dgv",{"useEmulationGroups":true})},{include:"#evaluation_context"}]},"3":{},"4":{name:"punctuation.definition.capture.end.lambda.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?<=[\;\}])|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.lambda.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.lambda.cpp"}},name:"meta.function.definition.parameters.lambda.cpp",patterns:[{include:"#function_parameter_context"}]},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:constexpr|consteval|mutable)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.modifier.lambda.$0.cpp"},{begin:/->/dgv,beginCaptures:{"0":{name:"punctuation.definition.lambda.return-type.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#comments"},{match:/\P{space}+/dgv,name:"storage.type.return-type.lambda.cpp"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.lambda.cpp"}},name:"meta.function.definition.body.lambda.cpp",patterns:[{include:"$self"}]}]},line:{begin:new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?line\\b","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"keyword.control.directive.line.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.line.cpp",patterns:[{include:"#string_context"},{include:"#preprocessor_number_literal"},{include:"source.cpp#line_continuation_character"}]},line_comment:{begin:new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(//)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"punctuation.definition.comment.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"comment.line.double-slash.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},macro:{begin:new EmulatedRegExp("((?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?define\\b)(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.control.directive.define.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{name:"entity.name.function.preprocessor.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.macro.cpp",patterns:[{captures:{"1":{name:"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{name:"meta.function.preprocessor.parameters.cpp",patterns:[{captures:{"1":{name:"variable.parameter.preprocessor.cpp"}},match:/(?<=[\(\,])(?:\p{space}+)?((?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*)(?:\p{space}+)?/dgv},{match:/,/dgv,name:"punctuation.separator.parameters.cpp"},{match:/\.\.\./dgv,name:"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{name:"punctuation.definition.parameters.end.preprocessor.cpp"}},match:/(?:\p{space}+)?(\()([^\(]*)(\))/dgvy},{include:"#macro_context"},{include:"source.cpp#macro_argument"}]},macro_context:{patterns:[{include:"source.cpp.embedded.macro"}]},method_access:{begin:new EmulatedRegExp("(?:((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\p{space}+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\p{space}+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\p{space}+)?)*)(?:\\p{space}+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\p{space}+)?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"},"9":{patterns:[{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.property.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:new EmulatedRegExp("(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\p{space}+)?(?:((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\p{space}+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:new EmulatedRegExp("(?:((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\p{space}+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))","dgv",{"useEmulationGroups":true})},{include:"source.cpp#member_access"},{include:"#method_access"}]},"10":{name:"entity.name.function.member.cpp"},"11":{name:"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},patterns:[{include:"#evaluation_context"}]},ms_attributes:{begin:/__declspec\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},namespace_block:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])namespace(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"0":{name:"meta.head.namespace.cpp"},"1":{name:"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.block.namespace.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},name:"meta.head.namespace.cpp",patterns:[{include:"#ever_present_context"},{include:"#attributes_context"},{captures:{"1":{patterns:[{include:"source.cpp#scope_resolution_namespace_block_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.namespace.cpp"},"6":{name:"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{name:"storage.modifier.inline.cpp"}},match:new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)(?:(?=($E$\\p{space}*))\\21))?::)*(?:(?=($E$\\p{space}*))\\22))(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+)?(?:(::)(?:\\p{space}+)?(inline))?","dgv",{"useEmulationGroups":true})}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.namespace.cpp"}},name:"meta.body.namespace.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.namespace.cpp",patterns:[{include:"$self"}]}]},noexcept_operator:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},operator_overload:{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?:(?=($E$\\p{space}*))\\11)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\14)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=($E$\\p{space}*))\\20))+|(?:(?=($E$\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\23)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))(?:(?=($E$\\p{space}*))\\29))+|(?:(?=($E$\\p{space}+))\\30)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\33)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\40)|\\*+(?!/))*))\\39)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\48)|\\*+(?!/))*))\\47)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\49))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)(?:(?=($E$\\p{space}*))\\55))?::)*))\\32))((?:(?:(?:(?=($E$\\p{space}*))\\57)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\61)|\\*+(?!/))*))\\60)(\\*/))(?:(?=($E$\\p{space}*))\\63))+|(?:(?=($E$\\p{space}+))\\64)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\67)|\\*+(?!/))*))\\66)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\78)|\\*+(?!/))*))\\77)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\82))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\83))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\84))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=($E$\\p{space}*))\\87)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\91)|\\*+(?!/))*))\\90)(\\*/))(?:(?=($E$\\p{space}*))\\93))+|(?:(?=($E$\\p{space}+))\\94)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\96)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\100)|\\*+(?!/))*))\\99)(\\*/))(?:(?=($E$\\p{space}*))\\102))+|(?:(?=($E$\\p{space}+))\\103)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\105)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\109)|\\*+(?!/))*))\\108)(\\*/))(?:(?=($E$\\p{space}*))\\111))+|(?:(?=($E$\\p{space}+))\\112)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\115)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\119)|\\*+(?!/))*))\\118)(\\*/))(?:(?=($E$\\p{space}*))\\121))+|(?:(?=($E$\\p{space}+))\\122)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:(?:(?:(?=($E$\\p{space}*))\\124)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\128)|\\*+(?!/))*))\\127)(\\*/))(?:(?=($E$\\p{space}*))\\130))+|(?:(?=($E$\\p{space}+))\\131)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\134)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\138)|\\*+(?!/))*))\\137)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\141)|\\*+(?!/))*))\\140)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\150))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\151))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\152))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\153))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\154))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\155))*>)(?:(?=($E$\\p{space}*))\\156))?::)*))\\133))(operator)((?:(?:(?:(?=($E$\\p{space}*))\\159)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\163)|\\*+(?!/))*))\\162)(\\*/))(?:(?=($E$\\p{space}*))\\165))+|(?:(?=($E$\\p{space}+))\\166)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\169)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\173)|\\*+(?!/))*))\\172)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\175)|\\*+(?!/))*))\\174)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\177)|\\*+(?!/))*))\\176)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\179)|\\*+(?!/))*))\\178)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\181)|\\*+(?!/))*))\\180)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\182))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\183))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\184))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\185))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\186))*>)(?:(?=($E$\\p{space}*))\\187))?::)*))\\168))(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|->\\*|/=|%=|&=|>=|\\|=|\\+\\+|--|\\(\\)|\\[\\]|->|\\+\\+|<<|>>|--|<=|\\^=|==|!=|&&|\\|\\||\\+=|-=|\\*=|,|\\+|-|!|~|\\*|&|\\*|/|%|\\+|-|<|>|&|\\^|\\||=))|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(((?:(?:(?:(?=($E$\\p{space}*))\\192)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\196)|\\*+(?!/))*))\\195)(\\*/))(?:(?=($E$\\p{space}*))\\198))+|(?:(?=($E$\\p{space}+))\\199)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\201)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\205)|\\*+(?!/))*))\\204)(\\*/))(?:(?=($E$\\p{space}*))\\207))+|(?:(?=($E$\\p{space}+))\\208)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\210)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\214)|\\*+(?!/))*))\\213)(\\*/))(?:(?=($E$\\p{space}*))\\216))+|(?:(?=($E$\\p{space}+))\\217)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?=($E$\\p{space}*))\\221)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\225)|\\*+(?!/))*))\\224)(\\*/))(?:(?=($E$\\p{space}*))\\227))+|(?:(?=($E$\\p{space}+))\\228)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))((?:(?:(?:(?=($E$\\p{space}*))\\231)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\235)|\\*+(?!/))*))\\234)(\\*/))(?:(?=($E$\\p{space}*))\\237))+|(?:(?=($E$\\p{space}+))\\238)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=<|\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.operator-overload.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"16":{patterns:[{include:"#template_call_range"}]},"17":{},"18":{patterns:[{include:"source.cpp#inline_comment"}]},"19":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{name:"comment.block.cpp"},"21":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{patterns:[{include:"source.cpp#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{name:"storage.type.modifier.calling-convention.cpp"},"37":{patterns:[{include:"source.cpp#inline_comment"}]},"38":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{name:"comment.block.cpp"},"40":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{patterns:[{include:"source.cpp#inline_comment"}]},"42":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{name:"comment.block.cpp"},"44":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator.cpp"},{include:"#template_call_range"}]},"46":{patterns:[{include:"#template_call_range"}]},"47":{},"48":{name:"keyword.other.operator.overload.cpp"},"49":{patterns:[{include:"source.cpp#inline_comment"}]},"50":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{name:"comment.block.cpp"},"52":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator-overload.cpp"},{include:"#template_call_range"}]},"54":{patterns:[{include:"#template_call_range"}]},"55":{},"56":{name:"entity.name.operator.cpp"},"57":{name:"entity.name.operator.type.cpp"},"58":{patterns:[{match:/\*/dgv,name:"entity.name.operator.type.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"entity.name.operator.type.reference.cpp"}]},"59":{patterns:[{include:"source.cpp#inline_comment"}]},"60":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{name:"comment.block.cpp"},"62":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{patterns:[{include:"source.cpp#inline_comment"}]},"64":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{name:"comment.block.cpp"},"66":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{patterns:[{include:"source.cpp#inline_comment"}]},"68":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{name:"comment.block.cpp"},"70":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{name:"entity.name.operator.type.array.cpp"},"72":{name:"entity.name.operator.custom-literal.cpp"},"73":{patterns:[{include:"source.cpp#inline_comment"}]},"74":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{name:"comment.block.cpp"},"76":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{name:"entity.name.operator.custom-literal.cpp"},"78":{patterns:[{include:"source.cpp#inline_comment"}]},"79":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{name:"comment.block.cpp"},"81":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.operator-overload.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.head.function.definition.special.operator-overload.cpp",patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},contentName:"meta.function.definition.parameters.special.operator-overload",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp"},"7":{name:"keyword.other.delete.function.cpp"}},match:new EmulatedRegExp("(=)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.body.function.definition.special.operator-overload.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.operator-overload.cpp",patterns:[{include:"$self"}]}]},operators:{patterns:[{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:new EmulatedRegExp("(\\bsizeof\\.\\.\\.)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/--/dgv,name:"keyword.operator.decrement.cpp"},{match:/\+\+/dgv,name:"keyword.operator.increment.cpp"},{match:/%=|\+=|-=|\*=|(?<!\()\/=/dgv,name:"keyword.operator.assignment.compound.cpp"},{match:/&=|\^=|<<=|>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.cpp"},{match:/<<|>>/dgv,name:"keyword.operator.bitwise.shift.cpp"},{match:/!=|<=|>=|==|<|>/dgv,name:"keyword.operator.comparison.cpp"},{match:/&&|!|\|\|/dgv,name:"keyword.operator.logical.cpp"},{match:/&|\||\^|~/dgv,name:"keyword.operator.bitwise.cpp"},{include:"source.cpp#assignment_operator"},{match:/%|\*|\/|-|\+/dgv,name:"keyword.operator.arithmetic.cpp"},{include:"#ternary_operator"}]},parameter:{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#function_pointer_parameter"},{include:"#decltype"},{include:"source.cpp#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?:((?:thread_local|volatile|register|restrict|static|extern|const))((?:(?:(?:(?=($E$\\p{space}*))\\4)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=($E$\\p{space}*))\\10))+|(?:(?=($E$\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))+)((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?=($E$\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|((?:pthread_rwlockattr_t|pthread_mutexattr_t|pthread_condattr_t|pthread_rwlock_t|pthread_mutex_t|pthread_cond_t|pthread_attr_t|pthread_once_t|pthread_key_t|pthread_t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<![^\\p{L}\\p{M}\\p{N}\\p{Pc}]thread_local|(?<=^|\\n(?!$))thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|(?<=^|\\n(?!$))register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|(?<=^|\\n(?!$))restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|(?<=^|\\n(?!$))static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|(?<=^|\\n(?!$))extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const)))((?:(?:(?:(?=($E$\\p{space}*))\\28)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=($E$\\p{space}*))\\34))+|(?:(?=($E$\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=,|\\)|=)","dgv",{"useEmulationGroups":true})},{include:"#storage_types"},{include:"source.cpp#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/=/dgv,name:"keyword.operator.assignment.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?<!\\p{space}|\\(|,|:)((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=\\)|,|\\[|=|\\n)","dgv",{"useEmulationGroups":true})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*\b(?<![^\p{L}\p{M}\p{N}\p{Pc}]struct|(?<=^|\n(?!$))struct|[^\p{L}\p{M}\p{N}\p{Pc}]class|(?<=^|\n(?!$))class|[^\p{L}\p{M}\p{N}\p{Pc}]union|(?<=^|\n(?!$))union|[^\p{L}\p{M}\p{N}\p{Pc}]enum|(?<=^|\n(?!$))enum)/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\11)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=($E$\\p{space}*))\\17))+|(?:(?=($E$\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*)","dgv",{"useEmulationGroups":true})},{include:"#ever_present_context"}]},parameter_or_maybe_value:{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#function_pointer_parameter"},{include:"source.cpp#memory_operators"},{include:"#builtin_storage_type_initilizer"},{include:"#curly_initializer"},{include:"#decltype"},{include:"source.cpp#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?:((?:thread_local|volatile|register|restrict|static|extern|const))((?:(?:(?:(?=($E$\\p{space}*))\\4)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=($E$\\p{space}*))\\10))+|(?:(?=($E$\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))+)((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?=($E$\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|((?:pthread_rwlockattr_t|pthread_mutexattr_t|pthread_condattr_t|pthread_rwlock_t|pthread_mutex_t|pthread_cond_t|pthread_attr_t|pthread_once_t|pthread_key_t|pthread_t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<![^\\p{L}\\p{M}\\p{N}\\p{Pc}]thread_local|(?<=^|\\n(?!$))thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|(?<=^|\\n(?!$))register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|(?<=^|\\n(?!$))restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|(?<=^|\\n(?!$))static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|(?<=^|\\n(?!$))extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const)))((?:(?:(?:(?=($E$\\p{space}*))\\28)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=($E$\\p{space}*))\\34))+|(?:(?=($E$\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=,|\\)|=)","dgv",{"useEmulationGroups":true})},{include:"#storage_types"},{include:"#function_call"},{include:"source.cpp#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?<!\\p{space}|\\(|,|:)((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=(?:\\)|,|\\[|=|//|(?:\\n|(?=$|\\n))))","dgv",{"useEmulationGroups":true})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*\b(?<![^\p{L}\p{M}\p{N}\p{Pc}]struct|(?<=^|\n(?!$))struct|[^\p{L}\p{M}\p{N}\p{Pc}]class|(?<=^|\n(?!$))class|[^\p{L}\p{M}\p{N}\p{Pc}]union|(?<=^|\n(?!$))union|[^\p{L}\p{M}\p{N}\p{Pc}]enum|(?<=^|\n(?!$))enum)/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\11)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=($E$\\p{space}*))\\17))+|(?:(?=($E$\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*)","dgv",{"useEmulationGroups":true})},{include:"#evaluation_context"},{include:"#ever_present_context"}]},parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.cpp",patterns:[{include:"source.cpp#over_qualified_types"},{match:/(?<!:):(?!:)/dgv,name:"punctuation.separator.colon.range-based.cpp"},{include:"#evaluation_context"}]},pragma:{begin:new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?pragma\\b","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"keyword.control.directive.pragma.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.pragma.cpp",patterns:[{include:"#comments"},{include:"#string_context"},{match:/[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\-\$]*/dgv,name:"entity.other.attribute-name.pragma.preprocessor.cpp"},{include:"#preprocessor_number_literal"},{include:"source.cpp#line_continuation_character"}]},preprocessor_conditional_context:{patterns:[{include:"#preprocessor_conditional_defined"},{include:"#comments"},{include:"source.cpp#language_constants"},{include:"#string_context"},{include:"source.cpp#d9bc4796b0b_preprocessor_number_literal"},{include:"#operators"},{include:"source.cpp#predefined_macros"},{include:"source.cpp#macro_name"},{include:"source.cpp#line_continuation_character"}]},preprocessor_conditional_defined:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])defined(?![\p{L}\p{M}\p{N}\p{Pc}]))(\()/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.defined.cpp"},"2":{name:"punctuation.section.parens.control.defined.cpp"}},end:/(?:\)|(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n))))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.control.defined.cpp"}},patterns:[{include:"source.cpp#macro_name"}]},preprocessor_conditional_parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.preprocessor.conditional.cpp"},preprocessor_conditional_range:{begin:new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?((?:(?:ifndef|ifdef)|if))","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"keyword.control.directive.conditional.$6.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"},"6":{}},contentName:"meta.preprocessor.conditional",end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#preprocessor_conditional_context"}]},preprocessor_context:{patterns:[{include:"source.cpp#pragma_mark"},{include:"#pragma"},{include:"source.cpp#include"},{include:"#line"},{include:"#diagnostic"},{include:"source.cpp#undef"},{include:"#preprocessor_conditional_range"},{include:"source.cpp#single_line_macro"},{include:"#macro"},{include:"source.cpp#preprocessor_conditional_standalone"},{include:"source.cpp#macro_argument"}]},sizeof_operator:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},sizeof_variadic_operator:{begin:new EmulatedRegExp("(\\bsizeof\\.\\.\\.)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},square_brackets:{begin:/([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\]\)]))?(\[)(?!\])/dgv,beginCaptures:{"1":{name:"variable.other.object"},"2":{name:"punctuation.definition.begin.bracket.square"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square"}},name:"meta.bracket.square.access",patterns:[{include:"#evaluation_context"}]},static_assert:{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])static_assert|_Static_assert(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.other.static_assert.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},patterns:[{begin:/(,)(?:\p{space}+)?(?=(?:L|u8|u|U(?:\p{space}+)?")?)/dgv,beginCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},end:/(?=\))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.static_assert.message.cpp",patterns:[{include:"#string_context"}]},{include:"#evaluation_context"}]},storage_types:{patterns:[{include:"source.cpp#storage_specifiers"},{include:"source.cpp#inline_builtin_storage_type"},{include:"#decltype"},{include:"source.cpp#typename"}]},string_context:{patterns:[{begin:/((?:u|u8|U|L)?)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(")(?:((?:[a-zA-Z]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.cpp",patterns:[{match:/(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})/dgv,name:"constant.character.escape.cpp"},{match:/\\['"\?\\abfnrtv]/dgv,name:"constant.character.escape.cpp"},{match:/\\[0-7]{1,3}/dgv,name:"constant.character.escape.cpp"},{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(?:(\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\x[0-9a-fA-F]*|\\x)))/dgv},{include:"source.cpp#string_escapes_context_c"}]},{begin:/(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(')(?:((?:[a-zA-Z]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.character.cpp"}},name:"string.quoted.single.cpp",patterns:[{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(?:(\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\x[0-9a-fA-F]*|\\x)))/dgv},{include:"source.cpp#string_escapes_context_c"},{include:"source.cpp#line_continuation_character"}]},{begin:/((?:[uUL]8?)?R)"(?:(?:_r|re)|regex)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:(?:_r|re)|regex)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.raw.regex.cpp",patterns:[{include:"source.regexp.python"}]},{begin:/((?:[uUL]8?)?R)"(?:glsl|GLSL)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:glsl|GLSL)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.glsl.cpp",patterns:[{include:"source.glsl"}]},{begin:/((?:[uUL]8?)?R)"(?:[pP]?(?:sql|SQL)|d[dm]l)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:[pP]?(?:sql|SQL)|d[dm]l)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.sql.cpp",patterns:[{include:"source.sql"}]},{begin:/((?:u|u8|U|L)?R)"(?:([^ \(\)\\\t]{0,16})|([^ \(\)\\\t]*))\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"},"1":{name:"meta.encoding"},"3":{name:"invalid.illegal.delimiter-too-long"}},end:/(\)\2(\3)")(?:((?:[a-zA-Z]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end"},"2":{name:"invalid.illegal.delimiter-too-long"},"3":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.raw"}]},struct_block:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{include:"$self"}]}]},switch_conditional_parentheses:{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},name:"meta.conditional.switch.cpp",patterns:[{include:"#evaluation_context"}]},switch_statement:{begin:new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])switch(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.switch.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.switch.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.block.switch.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.switch.cpp"}},name:"meta.head.switch.cpp",patterns:[{include:"#switch_conditional_parentheses"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.switch.cpp"}},name:"meta.body.switch.cpp",patterns:[{include:"#default_statement"},{include:"#case_statement"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.switch.cpp",patterns:[{include:"$self"}]}]},template_call_context:{patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{include:"#storage_types"},{include:"source.cpp#language_constants"},{include:"source.cpp#scope_resolution_template_call_inner_generated"},{include:"#operators"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma_in_template_argument"},{include:"source.cpp#qualified_type"}]},template_call_range:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},template_definition:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(template)(?:\p{space}+)?(<)/dgv,beginCaptures:{"1":{name:"storage.type.template.cpp"},"2":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"}},name:"meta.template.definition.cpp",patterns:[{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?:\p{space}+)?</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},patterns:[{include:"#template_call_context"}]},{include:"#template_definition_context"}]},template_definition_context:{patterns:[{include:"source.cpp#scope_resolution_template_definition_inner_generated"},{include:"source.cpp#template_definition_argument"},{include:"source.cpp#template_argument_defaulted"},{include:"source.cpp#template_call_innards"},{include:"#evaluation_context"}]},ternary_operator:{applyEndPatternLast:1,begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"source.cpp#number_literal"},{include:"#method_access"},{include:"source.cpp#member_access"},{include:"source.cpp#predefined_macros"},{include:"#operators"},{include:"source.cpp#memory_operators"},{include:"source.cpp#wordlike_operators"},{include:"source.cpp#type_casting_operators"},{include:"source.cpp#control_flow_keywords"},{include:"source.cpp#exception_keywords"},{include:"source.cpp#the_this_keyword"},{include:"source.cpp#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"source.cpp#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"source.cpp#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"source.cpp#semicolon"},{include:"source.cpp#comma"}]},typedef_class:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])class(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:new EmulatedRegExp("(((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\21)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=($E$\\p{space}*))\\27))+|(?:(?=($E$\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},{match:/,/dgv}]}]}]},typedef_function_pointer:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=[^\n]*\(\*\p{space}*(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*\p{space}*\))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:new EmulatedRegExp("((?:(?=($E$\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\5)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=($E$\\p{space}*))\\11))+|(?:(?=($E$\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\14)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=($E$\\p{space}*))\\20))+|(?:(?=($E$\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=($E$\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=($E$\\p{space}*))\\48)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=($E$\\p{space}*))\\54))+|(?:(?=($E$\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=($E$\\p{space}*))\\74)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=($E$\\p{space}*))\\80))+|(?:(?=($E$\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\83)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=($E$\\p{space}*))\\89))+|(?:(?=($E$\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\92)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=($E$\\p{space}*))\\98))+|(?:(?=($E$\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:new EmulatedRegExp("(\\))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>]|\\n)(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]}]},typedef_struct:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])struct(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:new EmulatedRegExp("(((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\21)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=($E$\\p{space}*))\\27))+|(?:(?=($E$\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},{match:/,/dgv}]}]}]},typedef_union:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])union(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:new EmulatedRegExp("(((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\21)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=($E$\\p{space}*))\\27))+|(?:(?=($E$\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},{match:/,/dgv}]}]}]},typeid_operator:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},union_block:{begin:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{include:"$self"}]}]},using_namespace:{begin:new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(using)\\p{space}+(namespace)\\p{space}+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\5)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\21))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\22))*>)(?:(?=($E$\\p{space}*))\\23))?::)*(?:(?=($E$\\p{space}*))\\24))?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?=;|\\n)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{patterns:[{include:"source.cpp#scope_resolution_namespace_using_inner_generated"}]},"4":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{patterns:[{include:"#template_call_range"}]},"6":{},"7":{name:"entity.name.namespace.cpp"}},end:/;|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.cpp"}},name:"meta.using-namespace.cpp"}},scopeName:"source.cpp.embedded.macro",embeddedLangs:["regexp","glsl","sql"],aliases:undefined})
|
|
6
|
+
const lang = Object.freeze({displayName:"C++",name:"cpp-macro",patterns:[{include:"#ever_present_context"},{include:"#constructor_root"},{include:"#destructor_root"},{include:"#function_definition"},{include:"#operator_overload"},{include:"#using_namespace"},{include:"source.cpp#type_alias"},{include:"source.cpp#using_name"},{include:"source.cpp#namespace_alias"},{include:"#namespace_block"},{include:"#extern_block"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"source.cpp#misc_keywords"},{include:"source.cpp#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"source.cpp#template_isolated_definition"},{include:"#template_definition"},{include:"source.cpp#template_explicit_instantiation"},{include:"source.cpp#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#evaluation_context"}],repository:{alignas_attribute:{begin:/alignas\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},alignas_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},alignof_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},assembly:{begin:/(\b(?:__asm__|asm)\b)(?:\p{space}+)?((?:volatile)?)/dgv,beginCaptures:{"1":{name:"storage.type.asm.cpp"},"2":{name:"storage.modifier.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)|(?=(?<!\\\\)\\n)","dgv",{"strategy":"search_start_clip"}),endCaptures:{},name:"meta.asm.cpp",patterns:[{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:\\n|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{include:"#comments"},{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))\\(","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.cpp"}},patterns:[{begin:/(R?)(")/dgv,beginCaptures:{"1":{name:"meta.encoding.cpp"},"2":{name:"punctuation.definition.string.begin.assembly.cpp"}},contentName:"meta.embedded.assembly",end:/"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.assembly.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"source.asm"},{include:"source.x86"},{include:"source.x86_64"},{include:"source.arm"},{include:"source.cpp#backslash_escapes"},{include:"#string_escaped_char"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.other.asm.label.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("\\[((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))\\]","dgv",{"useEmulationGroups":true})},{match:/:/dgv,name:"punctuation.separator.delimiter.colon.assembly.cpp"},{include:"#comments"}]}]},attributes_context:{patterns:[{include:"#cpp_attributes"},{include:"#gcc_attributes"},{include:"#ms_attributes"},{include:"#alignas_attribute"}]},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.cpp"}},name:"meta.block.cpp",patterns:[{include:"#function_body_context"}]},block_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(/\\*)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.cpp"}},end:/\*\/|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cpp"}},name:"comment.block.cpp"},builtin_storage_type_initilizer:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|((?:pthread_rwlockattr_t|pthread_mutexattr_t|pthread_condattr_t|pthread_rwlock_t|pthread_mutex_t|pthread_cond_t|pthread_attr_t|pthread_once_t|pthread_key_t|pthread_t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\6)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{name:"storage.type.cpp storage.type.built-in.cpp"},"3":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{name:"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},case_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])case(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.case.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},class_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{include:"$self"}]}]},comments:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))(?:(?=($E$(?:\\p{space}+)?))\\1)(//[\\!\\/]+)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"punctuation.definition.comment.documentation.cpp"}},end:/(?<=\n)(?<!\\\n)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"comment.line.double-slash.documentation.cpp",patterns:[{include:"source.cpp#line_continuation_character"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\$|#|<|>|%|"|\.|=|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:c|p))\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{captures:{"1":{name:"punctuation.definition.comment.begin.documentation.cpp"},"2":{patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\$|#|<|>|%|"|\.|=|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:c|p))\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},"3":{name:"punctuation.definition.comment.end.documentation.cpp"}},match:/(\/\*[\!\*]+(?=\p{space}))([^\n]+)([\!\*]*\*\/)/dgv,name:"comment.block.documentation.cpp"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$(?:\\p{space}+)?))\\1)/\\*[\\!\\*]+(?:(?:\\n|(?=$|\\n))|(?=\\p{space}))","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"punctuation.definition.comment.begin.documentation.cpp"}},end:/[\!\*]*\*\/|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.documentation.cpp"}},name:"comment.block.documentation.cpp",patterns:[{match:/(?<=[\p{space}\*\!\/])[\\\@](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\$|#|<|>|%|"|\.|=|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@](?:c|p))\p{space}+(\P{space}+)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\p{space}\*\!\/])[\\\@]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\p{space}\*\!\/])[\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?:\b[A-Z]+:|@[a-z_]+:)/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{include:"source.cpp#emacs_file_banner"},{include:"#block_comment"},{include:"#line_comment"},{include:"source.cpp#invalid_comment_end"}]},constructor_inline:{begin:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*)((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\22)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=($E$\\p{space}*))\\28))+|(?:(?=($E$\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#functional_specifiers_pre_parameters"}]},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"storage.type.modifier.calling-convention.cpp"},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{include:"source.cpp#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\32))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\33))*>)(?:(?=($E$\\p{space}*))\\34))?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},constructor_root:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\4)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=($E$\\p{space}*))\\10))+|(?:(?=($E$\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\14)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\20)|\\*+(?!/))*))\\19)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\27))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\28))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)(?:(?=($E$\\p{space}*))\\32))?::)*))\\13))(((?:(?=($E$(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\35))((?:(?:(?:(?=($E$\\p{space}*))\\37)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=($E$\\p{space}*))\\43))+|(?:(?=($E$\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))::((?:(?:(?:(?=($E$\\p{space}*))\\46)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\50)|\\*+(?!/))*))\\49)(\\*/))(?:(?=($E$\\p{space}*))\\52))+|(?:(?=($E$\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))\\34((?:(?:(?:(?=($E$\\p{space}*))\\55)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))(?:(?=($E$\\p{space}*))\\61))+|(?:(?=($E$\\p{space}+))\\62)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=\\())","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{name:"storage.type.modifier.calling-convention.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.constructor.cpp"},{include:"#template_call_range"}]},"7":{patterns:[{include:"#template_call_range"}]},"8":{},"9":{patterns:[{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?=:)/dgv,name:"entity.name.type.constructor.cpp"},{match:/(?<=:)(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.function.definition.special.constructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{include:"source.cpp#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\32))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\33))*>)(?:(?=($E$\\p{space}*))\\34))?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},cpp_attributes:{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\]\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},curly_initializer:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=($E$\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\5)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=($E$\\p{space}*))\\11))+|(?:(?=($E$\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\14)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=($E$\\p{space}*))\\20))+|(?:(?=($E$\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=($E$\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=($E$\\p{space}*))\\48)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=($E$\\p{space}*))\\54))+|(?:(?=($E$\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))((?:(?:(?:(?=($E$\\p{space}*))\\73)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\77)|\\*+(?!/))*))\\76)(\\*/))(?:(?=($E$\\p{space}*))\\79))+|(?:(?=($E$\\p{space}+))\\80)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\{)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{name:"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},name:"meta.initialization.cpp",patterns:[{include:"#evaluation_context"},{include:"source.cpp#comma"}]},decltype:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},decltype_specifier:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},default_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])default(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.default.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.default.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},destructor_inline:{begin:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?:(?=($E$\\p{space}*))\\22)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=($E$\\p{space}*))\\28))+|(?:(?=($E$\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*)(~(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#functional_specifiers_pre_parameters"}]},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},destructor_root:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\22)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\34)|\\*+(?!/))*))\\33)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=($E$\\p{space}*))\\40))?::)*))\\21))(((?:(?=($E$(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\43))((?:(?:(?:(?=($E$\\p{space}*))\\45)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))(?:(?=($E$\\p{space}*))\\51))+|(?:(?=($E$\\p{space}+))\\52)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))::((?:(?:(?:(?=($E$\\p{space}*))\\54)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)(\\*/))(?:(?=($E$\\p{space}*))\\60))+|(?:(?=($E$\\p{space}+))\\61)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))~\\42((?:(?:(?:(?=($E$\\p{space}*))\\63)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\67)|\\*+(?!/))*))\\66)(\\*/))(?:(?=($E$\\p{space}*))\\69))+|(?:(?=($E$\\p{space}+))\\70)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=\\())","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.destructor.cpp"},{include:"#template_call_range"}]},"11":{patterns:[{include:"#template_call_range"}]},"12":{},"13":{patterns:[{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?=:)/dgv,name:"entity.name.type.destructor.cpp"},{match:/(?<=:)~(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.function.definition.special.member.destructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{include:"source.cpp#inline_comment"}]},"24":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{name:"comment.block.cpp"},"26":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},diagnostic:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?((?:error|warning)))\\b(?:\\p{space}+)?","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.control.directive.diagnostic.$7.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{}},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.diagnostic.$reference(directive).cpp",patterns:[{include:"#comments"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(")|(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n))))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(')|(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n))))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.single.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},{begin:/[^'"]/dgv,beginCaptures:{},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"string.unquoted.cpp",patterns:[{include:"source.cpp#line_continuation_character"},{include:"#comments"}]}]},enum_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+(class|struct))?(?:(?:\\p{space}+|((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\))))|(?=\\{))(?:\\p{space}+)?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)(?:(?:\\p{space}+)?(:)(?:\\p{space}+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\8)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)(?:(?=($E$\\p{space}*))\\45))?::)*(?:(?=($E$\\p{space}*))\\46))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=($E$\\p{space}*))\\48)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\74)|\\*+(?!/))*))\\73)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)(?:(?=($E$\\p{space}*))\\81))?(::))?(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))?","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.enum.cpp"},"1":{name:"storage.type.enum.cpp"},"2":{name:"storage.type.enum.enum-key.$2.cpp"},"3":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"4":{name:"entity.name.type.enum.cpp"},"5":{name:"punctuation.separator.colon.type-specifier.cpp"},"6":{patterns:[{include:"source.cpp#scope_resolution_inner_generated"}]},"7":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{name:"entity.name.scope-resolution.cpp"},"11":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"12":{},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{name:"storage.type.integral.$17.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.enum.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.enum.cpp"}},name:"meta.head.enum.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.enum.cpp"}},name:"meta.body.enum.cpp",patterns:[{include:"#ever_present_context"},{include:"source.cpp#enumerator_list"},{include:"#comments"},{include:"source.cpp#comma"},{include:"source.cpp#semicolon"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.enum.cpp",patterns:[{include:"$self"}]}]},evaluation_context:{patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"source.cpp#number_literal"},{include:"#method_access"},{include:"source.cpp#member_access"},{include:"source.cpp#predefined_macros"},{include:"#operators"},{include:"source.cpp#memory_operators"},{include:"source.cpp#wordlike_operators"},{include:"source.cpp#type_casting_operators"},{include:"source.cpp#control_flow_keywords"},{include:"source.cpp#exception_keywords"},{include:"source.cpp#the_this_keyword"},{include:"source.cpp#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"source.cpp#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"source.cpp#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"source.cpp#semicolon"},{include:"source.cpp#comma"}]},ever_present_context:{patterns:[{include:"source.cpp#pragma_mark"},{include:"#pragma"},{include:"source.cpp#include"},{include:"#line"},{include:"#diagnostic"},{include:"source.cpp#undef"},{include:"#preprocessor_conditional_range"},{include:"source.cpp#single_line_macro"},{include:"#macro"},{include:"source.cpp#preprocessor_conditional_standalone"},{include:"source.cpp#macro_argument"},{include:"#comments"},{include:"source.cpp#line_continuation_character"}]},extern_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(extern)(?=\\p{space}*\")","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.extern.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.extern.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.extern.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.extern.cpp"}},name:"meta.head.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.extern.cpp"}},name:"meta.body.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.extern.cpp",patterns:[{include:"$self"}]},{include:"$self"}]},function_body_context:{patterns:[{include:"#ever_present_context"},{include:"#using_namespace"},{include:"source.cpp#type_alias"},{include:"source.cpp#using_name"},{include:"source.cpp#namespace_alias"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"source.cpp#misc_keywords"},{include:"source.cpp#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"source.cpp#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#switch_statement"},{include:"source.cpp#goto_statement"},{include:"#evaluation_context"},{include:"source.cpp#label"}]},function_call:{begin:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\34))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\35))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)(?:(?=($E$\\p{space}*))\\40))?::)*(?:(?=($E$\\p{space}*))\\41))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<![^\\p{L}\\p{M}\\p{N}\\p{Pc}]reinterpret_cast|(?<=^|\\n(?!$))reinterpret_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_noexcept|(?<=^|\\n(?!$))atomic_noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least16_t|(?<=^|\\n(?!$))uint_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least32_t|(?<=^|\\n(?!$))uint_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least64_t|(?<=^|\\n(?!$))uint_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_cancel|(?<=^|\\n(?!$))atomic_cancel|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_commit|(?<=^|\\n(?!$))atomic_commit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least8_t|(?<=^|\\n(?!$))uint_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast16_t|(?<=^|\\n(?!$))uint_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast32_t|(?<=^|\\n(?!$))uint_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least16_t|(?<=^|\\n(?!$))int_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least32_t|(?<=^|\\n(?!$))int_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least64_t|(?<=^|\\n(?!$))int_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast64_t|(?<=^|\\n(?!$))uint_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]thread_local|(?<=^|\\n(?!$))thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast16_t|(?<=^|\\n(?!$))int_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast32_t|(?<=^|\\n(?!$))int_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast64_t|(?<=^|\\n(?!$))int_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]synchronized|(?<=^|\\n(?!$))synchronized|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast8_t|(?<=^|\\n(?!$))uint_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dynamic_cast|(?<=^|\\n(?!$))dynamic_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least8_t|(?<=^|\\n(?!$))int_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast8_t|(?<=^|\\n(?!$))int_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static_cast|(?<=^|\\n(?!$))static_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]suseconds_t|(?<=^|\\n(?!$))suseconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const_cast|(?<=^|\\n(?!$))const_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]useconds_t|(?<=^|\\n(?!$))useconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constinit|(?<=^|\\n(?!$))constinit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|(?<=^|\\n(?!$))co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|(?<=^|\\n(?!$))consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|(?<=^|\\n(?!$))consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]protected|(?<=^|\\n(?!$))protected|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]namespace|(?<=^|\\n(?!$))namespace|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blksize_t|(?<=^|\\n(?!$))blksize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|(?<=^|\\n(?!$))co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_addr_t|(?<=^|\\n(?!$))in_addr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_port_t|(?<=^|\\n(?!$))in_port_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintptr_t|(?<=^|\\n(?!$))uintptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]template|(?<=^|\\n(?!$))template|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]continue|(?<=^|\\n(?!$))continue|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|(?<=^|\\n(?!$))co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|(?<=^|\\n(?!$))co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]unsigned|(?<=^|\\n(?!$))unsigned|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_quad_t|(?<=^|\\n(?!$))u_quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blkcnt_t|(?<=^|\\n(?!$))blkcnt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint16_t|(?<=^|\\n(?!$))uint16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint32_t|(?<=^|\\n(?!$))uint32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint64_t|(?<=^|\\n(?!$))uint64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intptr_t|(?<=^|\\n(?!$))intptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|(?<=^|\\n(?!$))intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|(?<=^|\\n(?!$))intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|(?<=^|\\n(?!$))register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|(?<=^|\\n(?!$))restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]explicit|(?<=^|\\n(?!$))explicit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]operator|(?<=^|\\n(?!$))operator|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]decltype|(?<=^|\\n(?!$))decltype|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typename|(?<=^|\\n(?!$))typename|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]requires|(?<=^|\\n(?!$))requires|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|(?<=^|\\n(?!$))co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|(?<=^|\\n(?!$))co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]reflexpr|(?<=^|\\n(?!$))reflexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]swblk_t|(?<=^|\\n(?!$))swblk_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]virtual|(?<=^|\\n(?!$))virtual|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ssize_t|(?<=^|\\n(?!$))ssize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]concept|(?<=^|\\n(?!$))concept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|(?<=^|\\n(?!$))mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]fixpt_t|(?<=^|\\n(?!$))fixpt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int16_t|(?<=^|\\n(?!$))int16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int32_t|(?<=^|\\n(?!$))int32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int64_t|(?<=^|\\n(?!$))int64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint8_t|(?<=^|\\n(?!$))uint8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typedef|(?<=^|\\n(?!$))typedef|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]daddr_t|(?<=^|\\n(?!$))daddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]caddr_t|(?<=^|\\n(?!$))caddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]qaddr_t|(?<=^|\\n(?!$))qaddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]default|(?<=^|\\n(?!$))default|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nlink_t|(?<=^|\\n(?!$))nlink_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]segsz_t|(?<=^|\\n(?!$))segsz_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_short|(?<=^|\\n(?!$))u_short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]wchar_t|(?<=^|\\n(?!$))wchar_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]private|(?<=^|\\n(?!$))private|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]__asm__|(?<=^|\\n(?!$))__asm__|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignas|(?<=^|\\n(?!$))alignas|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignof|(?<=^|\\n(?!$))alignof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|(?<=^|\\n(?!$))mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nullptr|(?<=^|\\n(?!$))nullptr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]clock_t|(?<=^|\\n(?!$))clock_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mode_t|(?<=^|\\n(?!$))mode_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]public|(?<=^|\\n(?!$))public|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]size_t|(?<=^|\\n(?!$))size_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]double|(?<=^|\\n(?!$))double|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]quad_t|(?<=^|\\n(?!$))quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|(?<=^|\\n(?!$))static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]time_t|(?<=^|\\n(?!$))time_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]module|(?<=^|\\n(?!$))module|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]import|(?<=^|\\n(?!$))import|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]export|(?<=^|\\n(?!$))export|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|(?<=^|\\n(?!$))extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]inline|(?<=^|\\n(?!$))inline|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor_eq|(?<=^|\\n(?!$))xor_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and_eq|(?<=^|\\n(?!$))and_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|(?<=^|\\n(?!$))return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]friend|(?<=^|\\n(?!$))friend|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not_eq|(?<=^|\\n(?!$))not_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]signed|(?<=^|\\n(?!$))signed|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]struct|(?<=^|\\n(?!$))struct|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int8_t|(?<=^|\\n(?!$))int8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ushort|(?<=^|\\n(?!$))ushort|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]switch|(?<=^|\\n(?!$))switch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_long|(?<=^|\\n(?!$))u_long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typeid|(?<=^|\\n(?!$))typeid|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_char|(?<=^|\\n(?!$))u_char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]sizeof|(?<=^|\\n(?!$))sizeof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitand|(?<=^|\\n(?!$))bitand|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]delete|(?<=^|\\n(?!$))delete|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ino_t|(?<=^|\\n(?!$))ino_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]key_t|(?<=^|\\n(?!$))key_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]pid_t|(?<=^|\\n(?!$))pid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]off_t|(?<=^|\\n(?!$))off_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uid_t|(?<=^|\\n(?!$))uid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]short|(?<=^|\\n(?!$))short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]break|(?<=^|\\n(?!$))break|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]catch|(?<=^|\\n(?!$))catch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]compl|(?<=^|\\n(?!$))compl|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]while|(?<=^|\\n(?!$))while|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]false|(?<=^|\\n(?!$))false|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]class|(?<=^|\\n(?!$))class|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]union|(?<=^|\\n(?!$))union|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or_eq|(?<=^|\\n(?!$))or_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]throw|(?<=^|\\n(?!$))throw|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitor|(?<=^|\\n(?!$))bitor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_int|(?<=^|\\n(?!$))u_int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]using|(?<=^|\\n(?!$))using|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]div_t|(?<=^|\\n(?!$))div_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dev_t|(?<=^|\\n(?!$))dev_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]gid_t|(?<=^|\\n(?!$))gid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]float|(?<=^|\\n(?!$))float|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]long|(?<=^|\\n(?!$))long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]goto|(?<=^|\\n(?!$))goto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint|(?<=^|\\n(?!$))uint|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|(?<=^|\\n(?!$))id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]case|(?<=^|\\n(?!$))case|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]auto|(?<=^|\\n(?!$))auto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]void|(?<=^|\\n(?!$))void|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]enum|(?<=^|\\n(?!$))enum|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]true|(?<=^|\\n(?!$))true|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]char|(?<=^|\\n(?!$))char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|(?<=^|\\n(?!$))id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]NULL|(?<=^|\\n(?!$))NULL|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]this|(?<=^|\\n(?!$))this|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bool|(?<=^|\\n(?!$))bool|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]else|(?<=^|\\n(?!$))else|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]for|(?<=^|\\n(?!$))for|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]new|(?<=^|\\n(?!$))new|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not|(?<=^|\\n(?!$))not|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor|(?<=^|\\n(?!$))xor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and|(?<=^|\\n(?!$))and|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]asm|(?<=^|\\n(?!$))asm|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int|(?<=^|\\n(?!$))int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]try|(?<=^|\\n(?!$))try|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]do|(?<=^|\\n(?!$))do|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]if|(?<=^|\\n(?!$))if|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or|(?<=^|\\n(?!$))or)((?:(?:(?:(?=($E$\\p{space}*))\\44)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\48)|\\*+(?!/))*))\\47)(\\*/))(?:(?=($E$\\p{space}*))\\50))+|(?:(?=($E$\\p{space}+))\\51)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\57)|\\*+(?!/))*))\\56)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\67)|\\*+(?!/))*))\\66)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\72)|\\*+(?!/))*))\\71)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\77)|\\*+(?!/))*))\\76)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\82))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\83))*>)(?:(?=($E$\\p{space}*))\\84))?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#scope_resolution_function_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.function.call.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"11":{},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},patterns:[{include:"#evaluation_context"}]},function_definition:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?:(?<=^|\\n(?!$))|^|(?<=;|\\}))|(?<=>|\\*/))(?:(?=($E$\\p{space}*))\\1)(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])template(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\4)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=($E$\\p{space}*))\\10))+|(?:(?=($E$\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\16)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\20)|\\*+(?!/))*))\\19)(\\*/))(?:(?=($E$\\p{space}*))\\22))+|(?:(?=($E$\\p{space}+))\\23)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*)((?:(?=($E$\\p{space}*))\\25)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\28)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=($E$\\p{space}*))\\34))+|(?:(?=($E$\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\37)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=($E$\\p{space}*))\\43))+|(?:(?=($E$\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\47)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\65))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\66))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)(?:(?=($E$\\p{space}*))\\69))?::)*))\\46))((?:(?:(?:(?=($E$\\p{space}*))\\71)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\75)|\\*+(?!/))*))\\74)(\\*/))(?:(?=($E$\\p{space}*))\\77))+|(?:(?=($E$\\p{space}+))\\78)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\81)|\\*+(?!/))*))\\80)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\84)|\\*+(?!/))*))\\83)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\86)|\\*+(?!/))*))\\85)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\88)|\\*+(?!/))*))\\87)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\90)|\\*+(?!/))*))\\89)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\92)|\\*+(?!/))*))\\91)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\93))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\94))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\95))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\96))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\97))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\98))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=($E$\\p{space}*))\\101)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\105)|\\*+(?!/))*))\\104)(\\*/))(?:(?=($E$\\p{space}*))\\107))+|(?:(?=($E$\\p{space}+))\\108)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\110)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\114)|\\*+(?!/))*))\\113)(\\*/))(?:(?=($E$\\p{space}*))\\116))+|(?:(?=($E$\\p{space}+))\\117)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\119)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\123)|\\*+(?!/))*))\\122)(\\*/))(?:(?=($E$\\p{space}*))\\125))+|(?:(?=($E$\\p{space}+))\\126)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\129)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\133)|\\*+(?!/))*))\\132)(\\*/))(?:(?=($E$\\p{space}*))\\135))+|(?:(?=($E$\\p{space}+))\\136)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\139)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\151)|\\*+(?!/))*))\\150)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\152))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\153))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\154))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\155))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\156))*>)(?:(?=($E$\\p{space}*))\\157))?::)*(?:(?=($E$\\p{space}*))\\158))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<![^\\p{L}\\p{M}\\p{N}\\p{Pc}]reinterpret_cast|(?<=^|\\n(?!$))reinterpret_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_noexcept|(?<=^|\\n(?!$))atomic_noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least16_t|(?<=^|\\n(?!$))uint_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least32_t|(?<=^|\\n(?!$))uint_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least64_t|(?<=^|\\n(?!$))uint_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_cancel|(?<=^|\\n(?!$))atomic_cancel|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_commit|(?<=^|\\n(?!$))atomic_commit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least8_t|(?<=^|\\n(?!$))uint_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast16_t|(?<=^|\\n(?!$))uint_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast32_t|(?<=^|\\n(?!$))uint_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least16_t|(?<=^|\\n(?!$))int_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least32_t|(?<=^|\\n(?!$))int_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least64_t|(?<=^|\\n(?!$))int_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast64_t|(?<=^|\\n(?!$))uint_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]thread_local|(?<=^|\\n(?!$))thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast16_t|(?<=^|\\n(?!$))int_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast32_t|(?<=^|\\n(?!$))int_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast64_t|(?<=^|\\n(?!$))int_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]synchronized|(?<=^|\\n(?!$))synchronized|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast8_t|(?<=^|\\n(?!$))uint_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dynamic_cast|(?<=^|\\n(?!$))dynamic_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least8_t|(?<=^|\\n(?!$))int_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast8_t|(?<=^|\\n(?!$))int_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static_cast|(?<=^|\\n(?!$))static_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]suseconds_t|(?<=^|\\n(?!$))suseconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const_cast|(?<=^|\\n(?!$))const_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]useconds_t|(?<=^|\\n(?!$))useconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constinit|(?<=^|\\n(?!$))constinit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|(?<=^|\\n(?!$))co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|(?<=^|\\n(?!$))uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|(?<=^|\\n(?!$))consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|(?<=^|\\n(?!$))constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|(?<=^|\\n(?!$))consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]protected|(?<=^|\\n(?!$))protected|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]namespace|(?<=^|\\n(?!$))namespace|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blksize_t|(?<=^|\\n(?!$))blksize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|(?<=^|\\n(?!$))co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_addr_t|(?<=^|\\n(?!$))in_addr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_port_t|(?<=^|\\n(?!$))in_port_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintptr_t|(?<=^|\\n(?!$))uintptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]template|(?<=^|\\n(?!$))template|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]continue|(?<=^|\\n(?!$))continue|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|(?<=^|\\n(?!$))co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|(?<=^|\\n(?!$))co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]unsigned|(?<=^|\\n(?!$))unsigned|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_quad_t|(?<=^|\\n(?!$))u_quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blkcnt_t|(?<=^|\\n(?!$))blkcnt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint16_t|(?<=^|\\n(?!$))uint16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint32_t|(?<=^|\\n(?!$))uint32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint64_t|(?<=^|\\n(?!$))uint64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intptr_t|(?<=^|\\n(?!$))intptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|(?<=^|\\n(?!$))intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|(?<=^|\\n(?!$))intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|(?<=^|\\n(?!$))register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|(?<=^|\\n(?!$))restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]explicit|(?<=^|\\n(?!$))explicit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|(?<=^|\\n(?!$))noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]operator|(?<=^|\\n(?!$))operator|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]decltype|(?<=^|\\n(?!$))decltype|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typename|(?<=^|\\n(?!$))typename|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]requires|(?<=^|\\n(?!$))requires|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|(?<=^|\\n(?!$))co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|(?<=^|\\n(?!$))co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]reflexpr|(?<=^|\\n(?!$))reflexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]swblk_t|(?<=^|\\n(?!$))swblk_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]virtual|(?<=^|\\n(?!$))virtual|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ssize_t|(?<=^|\\n(?!$))ssize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]concept|(?<=^|\\n(?!$))concept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|(?<=^|\\n(?!$))mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]fixpt_t|(?<=^|\\n(?!$))fixpt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int16_t|(?<=^|\\n(?!$))int16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int32_t|(?<=^|\\n(?!$))int32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int64_t|(?<=^|\\n(?!$))int64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint8_t|(?<=^|\\n(?!$))uint8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typedef|(?<=^|\\n(?!$))typedef|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]daddr_t|(?<=^|\\n(?!$))daddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]caddr_t|(?<=^|\\n(?!$))caddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]qaddr_t|(?<=^|\\n(?!$))qaddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]default|(?<=^|\\n(?!$))default|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nlink_t|(?<=^|\\n(?!$))nlink_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]segsz_t|(?<=^|\\n(?!$))segsz_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_short|(?<=^|\\n(?!$))u_short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]wchar_t|(?<=^|\\n(?!$))wchar_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]private|(?<=^|\\n(?!$))private|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]__asm__|(?<=^|\\n(?!$))__asm__|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignas|(?<=^|\\n(?!$))alignas|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignof|(?<=^|\\n(?!$))alignof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|(?<=^|\\n(?!$))mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nullptr|(?<=^|\\n(?!$))nullptr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]clock_t|(?<=^|\\n(?!$))clock_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mode_t|(?<=^|\\n(?!$))mode_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]public|(?<=^|\\n(?!$))public|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]size_t|(?<=^|\\n(?!$))size_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]double|(?<=^|\\n(?!$))double|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]quad_t|(?<=^|\\n(?!$))quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|(?<=^|\\n(?!$))static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]time_t|(?<=^|\\n(?!$))time_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]module|(?<=^|\\n(?!$))module|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]import|(?<=^|\\n(?!$))import|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]export|(?<=^|\\n(?!$))export|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|(?<=^|\\n(?!$))extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]inline|(?<=^|\\n(?!$))inline|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor_eq|(?<=^|\\n(?!$))xor_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and_eq|(?<=^|\\n(?!$))and_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|(?<=^|\\n(?!$))return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]friend|(?<=^|\\n(?!$))friend|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not_eq|(?<=^|\\n(?!$))not_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]signed|(?<=^|\\n(?!$))signed|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]struct|(?<=^|\\n(?!$))struct|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int8_t|(?<=^|\\n(?!$))int8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ushort|(?<=^|\\n(?!$))ushort|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]switch|(?<=^|\\n(?!$))switch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_long|(?<=^|\\n(?!$))u_long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typeid|(?<=^|\\n(?!$))typeid|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_char|(?<=^|\\n(?!$))u_char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]sizeof|(?<=^|\\n(?!$))sizeof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitand|(?<=^|\\n(?!$))bitand|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]delete|(?<=^|\\n(?!$))delete|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ino_t|(?<=^|\\n(?!$))ino_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]key_t|(?<=^|\\n(?!$))key_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]pid_t|(?<=^|\\n(?!$))pid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]off_t|(?<=^|\\n(?!$))off_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uid_t|(?<=^|\\n(?!$))uid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]short|(?<=^|\\n(?!$))short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]break|(?<=^|\\n(?!$))break|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]catch|(?<=^|\\n(?!$))catch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]compl|(?<=^|\\n(?!$))compl|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]while|(?<=^|\\n(?!$))while|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]false|(?<=^|\\n(?!$))false|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]class|(?<=^|\\n(?!$))class|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]union|(?<=^|\\n(?!$))union|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or_eq|(?<=^|\\n(?!$))or_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]throw|(?<=^|\\n(?!$))throw|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitor|(?<=^|\\n(?!$))bitor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_int|(?<=^|\\n(?!$))u_int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]using|(?<=^|\\n(?!$))using|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]div_t|(?<=^|\\n(?!$))div_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dev_t|(?<=^|\\n(?!$))dev_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]gid_t|(?<=^|\\n(?!$))gid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]float|(?<=^|\\n(?!$))float|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]long|(?<=^|\\n(?!$))long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]goto|(?<=^|\\n(?!$))goto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint|(?<=^|\\n(?!$))uint|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|(?<=^|\\n(?!$))id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]case|(?<=^|\\n(?!$))case|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]auto|(?<=^|\\n(?!$))auto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]void|(?<=^|\\n(?!$))void|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]enum|(?<=^|\\n(?!$))enum|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]true|(?<=^|\\n(?!$))true|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]char|(?<=^|\\n(?!$))char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|(?<=^|\\n(?!$))id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]NULL|(?<=^|\\n(?!$))NULL|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]this|(?<=^|\\n(?!$))this|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bool|(?<=^|\\n(?!$))bool|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]else|(?<=^|\\n(?!$))else|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]for|(?<=^|\\n(?!$))for|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]new|(?<=^|\\n(?!$))new|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not|(?<=^|\\n(?!$))not|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor|(?<=^|\\n(?!$))xor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and|(?<=^|\\n(?!$))and|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]asm|(?<=^|\\n(?!$))asm|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int|(?<=^|\\n(?!$))int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]try|(?<=^|\\n(?!$))try|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]do|(?<=^|\\n(?!$))do|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]if|(?<=^|\\n(?!$))if|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or|(?<=^|\\n(?!$))or)((?:(?:(?:(?=($E$\\p{space}*))\\161)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\165)|\\*+(?!/))*))\\164)(\\*/))(?:(?=($E$\\p{space}*))\\167))+|(?:(?=($E$\\p{space}+))\\168)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=\\()","dgv",{"strategy":"search_start_clip","useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.cpp"},"1":{name:"storage.type.template.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{captures:{"1":{name:"storage.modifier.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})}]},"8":{name:"storage.modifier.$8.cpp"},"9":{patterns:[{include:"source.cpp#inline_comment"}]},"10":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{name:"comment.block.cpp"},"12":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"14":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"24":{patterns:[{include:"#template_call_range"}]},"25":{},"26":{patterns:[{include:"source.cpp#inline_comment"}]},"27":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{name:"comment.block.cpp"},"29":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"32":{patterns:[{include:"source.cpp#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{patterns:[{include:"source.cpp#inline_comment"}]},"37":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{name:"comment.block.cpp"},"39":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{patterns:[{include:"source.cpp#inline_comment"}]},"41":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{name:"comment.block.cpp"},"43":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{name:"storage.type.modifier.calling-convention.cpp"},"45":{patterns:[{include:"source.cpp#inline_comment"}]},"46":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{name:"comment.block.cpp"},"48":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{patterns:[{include:"source.cpp#scope_resolution_function_definition_inner_generated"}]},"50":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{patterns:[{include:"#template_call_range"}]},"52":{},"53":{name:"entity.name.function.definition.cpp"},"54":{patterns:[{include:"source.cpp#inline_comment"}]},"55":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{name:"comment.block.cpp"},"57":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},name:"meta.head.function.definition.cpp",patterns:[{include:"#ever_present_context"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.cpp"}},contentName:"meta.function.definition.parameters",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#parameter_or_maybe_value"},{include:"source.cpp#comma"},{include:"#evaluation_context"}]},{captures:{"1":{name:"punctuation.definition.function.return-type.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"7":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"8":{patterns:[{include:"source.cpp#inline_comment"}]},"9":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{name:"comment.block.cpp"},"11":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"17":{patterns:[{include:"#template_call_range"}]},"18":{},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=(?<=^|\\n(?!$))|\\))(?:\\p{space}+)?(->)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:(?=($E$\\p{space}*))\\12)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\15)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\19)|\\*+(?!/))*))\\18)(\\*/))(?:(?=($E$\\p{space}*))\\21))+|(?:(?=($E$\\p{space}+))\\22)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\34)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\38)|\\*+(?!/))*))\\37)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\41)|\\*+(?!/))*))\\40)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\45)|\\*+(?!/))*))\\44)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\55))*>)(?:(?=($E$\\p{space}*))\\56))?::)*))\\33))((?:(?:(?:(?=($E$\\p{space}*))\\58)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)(\\*/))(?:(?=($E$\\p{space}*))\\64))+|(?:(?=($E$\\p{space}+))\\65)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\68)|\\*+(?!/))*))\\67)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"useEmulationGroups":true})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},name:"meta.body.function.definition.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.cpp",patterns:[{include:"$self"}]}]},function_parameter_context:{patterns:[{include:"#ever_present_context"},{include:"#parameter"},{include:"source.cpp#comma"}]},function_pointer:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=($E$\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\5)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=($E$\\p{space}*))\\11))+|(?:(?=($E$\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\14)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=($E$\\p{space}*))\\20))+|(?:(?=($E$\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=($E$\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=($E$\\p{space}*))\\48)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=($E$\\p{space}*))\\54))+|(?:(?=($E$\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=($E$\\p{space}*))\\74)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=($E$\\p{space}*))\\80))+|(?:(?=($E$\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\83)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=($E$\\p{space}*))\\89))+|(?:(?=($E$\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\92)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=($E$\\p{space}*))\\98))+|(?:(?=($E$\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.other.definition.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>]|\\n)(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},function_pointer_parameter:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=($E$\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\5)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=($E$\\p{space}*))\\11))+|(?:(?=($E$\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\14)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=($E$\\p{space}*))\\20))+|(?:(?=($E$\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=($E$\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=($E$\\p{space}*))\\48)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=($E$\\p{space}*))\\54))+|(?:(?=($E$\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=($E$\\p{space}*))\\74)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=($E$\\p{space}*))\\80))+|(?:(?=($E$\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\83)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=($E$\\p{space}*))\\89))+|(?:(?=($E$\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\92)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=($E$\\p{space}*))\\98))+|(?:(?=($E$\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.parameter.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>]|\\n)(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},gcc_attributes:{begin:/__attribute(?:__)?\p{space}*\(\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)\p{space}*\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},inheritance_context:{patterns:[{include:"#ever_present_context"},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.inheritance.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:protected|private|public)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.access.$0.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])virtual(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.virtual.cpp"},{captures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=($E$\\p{space}*))\\7)","dgv",{"useEmulationGroups":true})}]},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=($E$\\p{space}*))\\7)","dgv",{"useEmulationGroups":true})}]},"7":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=($E$\\p{space}*))\\7)","dgv",{"useEmulationGroups":true})}]},"12":{}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=protected|virtual|private|public|,|:)(?:\\p{space}+)?(?!(?:(?:protected|private|public)|virtual))((?:(?=($E$\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=($E$\\p{space}*))\\6)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/(?:(?=($E$\\p{space}*))\\9))+)|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=($E$\\p{space}*))\\13)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=($E$\\p{space}*))\\16))+)|(?:(?=($E$\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\20)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\36))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\37))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\38))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\39))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)(?:(?=($E$\\p{space}*))\\42))?::)*))\\19))((?:((?:(?:(?=($E$\\p{space}*))\\45)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/(?:(?=($E$\\p{space}*))\\48))+)|(?:(?=($E$\\p{space}+))\\49)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\52)|\\*+(?!/))*))\\51)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\61))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\62))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\65))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"useEmulationGroups":true})}]},lambdas:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?<=[^\\p{space}]|(?<=^|\\n(?!$)))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\]\\)\\[\\*\\&\"\\>])|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|(?<=^|\\n(?!$))return))(?:\\p{space}+)?(\\[(?!\\[|(?:(?=($E$ *))\\2)\"|(?:(?=($E$ *))\\3)\\p{Nd}))((?:(?=($E$(?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:(?=($E$(?:(?:(?=($E$[^\\[\\]]*))\\8)(?:(?<!\\[)\\[(?!\\[)(?:(?=($E$(?:(?:(?=($E$[^\\[\\]]*))\\10)(?:(?<!\\[)\\[(?!\\[)(?:(?=($E$(?:(?:(?=($E$[^\\[\\]]*))\\12)(?:(?<!\\[)\\[(?!\\[)(?:(?=($E$(?:(?:(?=($E$[^\\[\\]]*))\\14)(?:(?<!\\[)\\[(?!\\[)(?:(?=($E$(?:(?:(?=($E$[^\\[\\]]*))\\16)(?:)?)+))\\15)\\])?)+))\\13)\\])?)+))\\11)\\])?)+))\\9)\\])?)+))\\7)\\]))*))\\5))(\\](?!((?:(?:(?:(?=($E$\\p{space}*))\\19)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\23)|\\*+(?!/))*))\\22)(\\*/))(?:(?=($E$\\p{space}*))\\25))+|(?:(?=($E$\\p{space}+))\\26)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))[\\[\\]\\;\\=]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"punctuation.definition.capture.begin.lambda.cpp"},"2":{name:"meta.lambda.capture.cpp",patterns:[{include:"source.cpp#the_this_keyword"},{captures:{"1":{name:"variable.parameter.capture.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.separator.delimiter.comma.cpp"},"7":{name:"keyword.operator.assignment.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?=\\]|$|(?=$|\\n))|(,))|(=))","dgv",{"useEmulationGroups":true})},{include:"#evaluation_context"}]},"3":{},"4":{name:"punctuation.definition.capture.end.lambda.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?<=[\;\}])|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.lambda.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.lambda.cpp"}},name:"meta.function.definition.parameters.lambda.cpp",patterns:[{include:"#function_parameter_context"}]},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:constexpr|consteval|mutable)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.modifier.lambda.$0.cpp"},{begin:/->/dgv,beginCaptures:{"0":{name:"punctuation.definition.lambda.return-type.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#comments"},{match:/\P{space}+/dgv,name:"storage.type.return-type.lambda.cpp"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.lambda.cpp"}},name:"meta.function.definition.body.lambda.cpp",patterns:[{include:"$self"}]}]},line:{begin:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?line\\b","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"keyword.control.directive.line.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.line.cpp",patterns:[{include:"#string_context"},{include:"#preprocessor_number_literal"},{include:"source.cpp#line_continuation_character"}]},line_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)(//)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"punctuation.definition.comment.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"comment.line.double-slash.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},macro:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?define\\b)(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.control.directive.define.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{name:"entity.name.function.preprocessor.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.macro.cpp",patterns:[{captures:{"1":{name:"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{name:"meta.function.preprocessor.parameters.cpp",patterns:[{captures:{"1":{name:"variable.parameter.preprocessor.cpp"}},match:/(?<=[\(\,])(?:\p{space}+)?((?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*)(?:\p{space}+)?/dgv},{match:/,/dgv,name:"punctuation.separator.parameters.cpp"},{match:/\.\.\./dgv,name:"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{name:"punctuation.definition.parameters.end.preprocessor.cpp"}},match:/(?:\p{space}+)?(\()([^\(]*)(\))/dgvy},{include:"#macro_context"},{include:"source.cpp#macro_argument"}]},macro_context:{patterns:[{include:"source.cpp.embedded.macro"}]},method_access:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\p{space}+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\p{space}+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\p{space}+)?)*)(?:\\p{space}+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\p{space}+)?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"},"9":{patterns:[{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.property.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\p{space}+)?(?:((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\p{space}+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\p{space}+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))","dgv",{"useEmulationGroups":true})},{include:"source.cpp#member_access"},{include:"#method_access"}]},"10":{name:"entity.name.function.member.cpp"},"11":{name:"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},patterns:[{include:"#evaluation_context"}]},ms_attributes:{begin:/__declspec\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},namespace_block:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])namespace(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"0":{name:"meta.head.namespace.cpp"},"1":{name:"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.block.namespace.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},name:"meta.head.namespace.cpp",patterns:[{include:"#ever_present_context"},{include:"#attributes_context"},{captures:{"1":{patterns:[{include:"source.cpp#scope_resolution_namespace_block_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.namespace.cpp"},"6":{name:"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{name:"storage.modifier.inline.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)(?:(?=($E$\\p{space}*))\\21))?::)*(?:(?=($E$\\p{space}*))\\22))(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+)?(?:(::)(?:\\p{space}+)?(inline))?","dgv",{"useEmulationGroups":true})}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.namespace.cpp"}},name:"meta.body.namespace.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.namespace.cpp",patterns:[{include:"$self"}]}]},noexcept_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},operator_overload:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?:(?=($E$\\p{space}*))\\11)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\14)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=($E$\\p{space}*))\\20))+|(?:(?=($E$\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\23)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))(?:(?=($E$\\p{space}*))\\29))+|(?:(?=($E$\\p{space}+))\\30)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\33)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\40)|\\*+(?!/))*))\\39)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\48)|\\*+(?!/))*))\\47)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\49))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)(?:(?=($E$\\p{space}*))\\55))?::)*))\\32))((?:(?:(?:(?=($E$\\p{space}*))\\57)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\61)|\\*+(?!/))*))\\60)(\\*/))(?:(?=($E$\\p{space}*))\\63))+|(?:(?=($E$\\p{space}+))\\64)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\67)|\\*+(?!/))*))\\66)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\78)|\\*+(?!/))*))\\77)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\81))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\82))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\83))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\84))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=($E$\\p{space}*))\\87)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\91)|\\*+(?!/))*))\\90)(\\*/))(?:(?=($E$\\p{space}*))\\93))+|(?:(?=($E$\\p{space}+))\\94)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\96)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\100)|\\*+(?!/))*))\\99)(\\*/))(?:(?=($E$\\p{space}*))\\102))+|(?:(?=($E$\\p{space}+))\\103)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\105)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\109)|\\*+(?!/))*))\\108)(\\*/))(?:(?=($E$\\p{space}*))\\111))+|(?:(?=($E$\\p{space}+))\\112)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?=($E$\\p{space}*))\\115)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\119)|\\*+(?!/))*))\\118)(\\*/))(?:(?=($E$\\p{space}*))\\121))+|(?:(?=($E$\\p{space}+))\\122)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:(?:(?:(?=($E$\\p{space}*))\\124)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\128)|\\*+(?!/))*))\\127)(\\*/))(?:(?=($E$\\p{space}*))\\130))+|(?:(?=($E$\\p{space}+))\\131)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\134)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\138)|\\*+(?!/))*))\\137)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\141)|\\*+(?!/))*))\\140)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\150))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\151))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\152))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\153))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\154))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\155))*>)(?:(?=($E$\\p{space}*))\\156))?::)*))\\133))(operator)((?:(?:(?:(?=($E$\\p{space}*))\\159)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\163)|\\*+(?!/))*))\\162)(\\*/))(?:(?=($E$\\p{space}*))\\165))+|(?:(?=($E$\\p{space}+))\\166)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\169)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\173)|\\*+(?!/))*))\\172)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\175)|\\*+(?!/))*))\\174)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\177)|\\*+(?!/))*))\\176)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\179)|\\*+(?!/))*))\\178)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\181)|\\*+(?!/))*))\\180)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\182))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\183))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\184))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\185))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\186))*>)(?:(?=($E$\\p{space}*))\\187))?::)*))\\168))(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|->\\*|/=|%=|&=|>=|\\|=|\\+\\+|--|\\(\\)|\\[\\]|->|\\+\\+|<<|>>|--|<=|\\^=|==|!=|&&|\\|\\||\\+=|-=|\\*=|,|\\+|-|!|~|\\*|&|\\*|/|%|\\+|-|<|>|&|\\^|\\||=))|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(((?:(?:(?:(?=($E$\\p{space}*))\\192)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\196)|\\*+(?!/))*))\\195)(\\*/))(?:(?=($E$\\p{space}*))\\198))+|(?:(?=($E$\\p{space}+))\\199)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\201)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\205)|\\*+(?!/))*))\\204)(\\*/))(?:(?=($E$\\p{space}*))\\207))+|(?:(?=($E$\\p{space}+))\\208)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\210)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\214)|\\*+(?!/))*))\\213)(\\*/))(?:(?=($E$\\p{space}*))\\216))+|(?:(?=($E$\\p{space}+))\\217)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?=($E$\\p{space}*))\\221)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\225)|\\*+(?!/))*))\\224)(\\*/))(?:(?=($E$\\p{space}*))\\227))+|(?:(?=($E$\\p{space}+))\\228)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))((?:(?:(?:(?=($E$\\p{space}*))\\231)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\235)|\\*+(?!/))*))\\234)(\\*/))(?:(?=($E$\\p{space}*))\\237))+|(?:(?=($E$\\p{space}+))\\238)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=<|\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.operator-overload.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"16":{patterns:[{include:"#template_call_range"}]},"17":{},"18":{patterns:[{include:"source.cpp#inline_comment"}]},"19":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{name:"comment.block.cpp"},"21":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{patterns:[{include:"source.cpp#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{name:"storage.type.modifier.calling-convention.cpp"},"37":{patterns:[{include:"source.cpp#inline_comment"}]},"38":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{name:"comment.block.cpp"},"40":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{patterns:[{include:"source.cpp#inline_comment"}]},"42":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{name:"comment.block.cpp"},"44":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator.cpp"},{include:"#template_call_range"}]},"46":{patterns:[{include:"#template_call_range"}]},"47":{},"48":{name:"keyword.other.operator.overload.cpp"},"49":{patterns:[{include:"source.cpp#inline_comment"}]},"50":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{name:"comment.block.cpp"},"52":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator-overload.cpp"},{include:"#template_call_range"}]},"54":{patterns:[{include:"#template_call_range"}]},"55":{},"56":{name:"entity.name.operator.cpp"},"57":{name:"entity.name.operator.type.cpp"},"58":{patterns:[{match:/\*/dgv,name:"entity.name.operator.type.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"entity.name.operator.type.reference.cpp"}]},"59":{patterns:[{include:"source.cpp#inline_comment"}]},"60":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{name:"comment.block.cpp"},"62":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{patterns:[{include:"source.cpp#inline_comment"}]},"64":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{name:"comment.block.cpp"},"66":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{patterns:[{include:"source.cpp#inline_comment"}]},"68":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{name:"comment.block.cpp"},"70":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{name:"entity.name.operator.type.array.cpp"},"72":{name:"entity.name.operator.custom-literal.cpp"},"73":{patterns:[{include:"source.cpp#inline_comment"}]},"74":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{name:"comment.block.cpp"},"76":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{name:"entity.name.operator.custom-literal.cpp"},"78":{patterns:[{include:"source.cpp#inline_comment"}]},"79":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{name:"comment.block.cpp"},"81":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.operator-overload.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.head.function.definition.special.operator-overload.cpp",patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},contentName:"meta.function.definition.parameters.special.operator-overload",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp"},"7":{name:"keyword.other.delete.function.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.body.function.definition.special.operator-overload.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.operator-overload.cpp",patterns:[{include:"$self"}]}]},operators:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(\\bsizeof\\.\\.\\.)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/--/dgv,name:"keyword.operator.decrement.cpp"},{match:/\+\+/dgv,name:"keyword.operator.increment.cpp"},{match:/%=|\+=|-=|\*=|(?<!\()\/=/dgv,name:"keyword.operator.assignment.compound.cpp"},{match:/&=|\^=|<<=|>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.cpp"},{match:/<<|>>/dgv,name:"keyword.operator.bitwise.shift.cpp"},{match:/!=|<=|>=|==|<|>/dgv,name:"keyword.operator.comparison.cpp"},{match:/&&|!|\|\|/dgv,name:"keyword.operator.logical.cpp"},{match:/&|\||\^|~/dgv,name:"keyword.operator.bitwise.cpp"},{include:"source.cpp#assignment_operator"},{match:/%|\*|\/|-|\+/dgv,name:"keyword.operator.arithmetic.cpp"},{include:"#ternary_operator"}]},parameter:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#function_pointer_parameter"},{include:"#decltype"},{include:"source.cpp#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:thread_local|volatile|register|restrict|static|extern|const))((?:(?:(?:(?=($E$\\p{space}*))\\4)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=($E$\\p{space}*))\\10))+|(?:(?=($E$\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))+)((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?=($E$\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|((?:pthread_rwlockattr_t|pthread_mutexattr_t|pthread_condattr_t|pthread_rwlock_t|pthread_mutex_t|pthread_cond_t|pthread_attr_t|pthread_once_t|pthread_key_t|pthread_t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<![^\\p{L}\\p{M}\\p{N}\\p{Pc}]thread_local|(?<=^|\\n(?!$))thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|(?<=^|\\n(?!$))register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|(?<=^|\\n(?!$))restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|(?<=^|\\n(?!$))static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|(?<=^|\\n(?!$))extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const)))((?:(?:(?:(?=($E$\\p{space}*))\\28)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=($E$\\p{space}*))\\34))+|(?:(?=($E$\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=,|\\)|=)","dgv",{"useEmulationGroups":true})},{include:"#storage_types"},{include:"source.cpp#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/=/dgv,name:"keyword.operator.assignment.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!\\p{space}|\\(|,|:)((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=\\)|,|\\[|=|\\n)","dgv",{"useEmulationGroups":true})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*\b(?<![^\p{L}\p{M}\p{N}\p{Pc}]struct|(?<=^|\n(?!$))struct|[^\p{L}\p{M}\p{N}\p{Pc}]class|(?<=^|\n(?!$))class|[^\p{L}\p{M}\p{N}\p{Pc}]union|(?<=^|\n(?!$))union|[^\p{L}\p{M}\p{N}\p{Pc}]enum|(?<=^|\n(?!$))enum)/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\11)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=($E$\\p{space}*))\\17))+|(?:(?=($E$\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*)","dgv",{"useEmulationGroups":true})},{include:"#ever_present_context"}]},parameter_or_maybe_value:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#function_pointer_parameter"},{include:"source.cpp#memory_operators"},{include:"#builtin_storage_type_initilizer"},{include:"#curly_initializer"},{include:"#decltype"},{include:"source.cpp#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:thread_local|volatile|register|restrict|static|extern|const))((?:(?:(?:(?=($E$\\p{space}*))\\4)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=($E$\\p{space}*))\\10))+|(?:(?=($E$\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))+)((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?=($E$\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:((?:unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int))|((?:uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint)))|((?:pthread_rwlockattr_t|pthread_mutexattr_t|pthread_condattr_t|pthread_rwlock_t|pthread_mutex_t|pthread_cond_t|pthread_attr_t|pthread_once_t|pthread_key_t|pthread_t)))|([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<![^\\p{L}\\p{M}\\p{N}\\p{Pc}]thread_local|(?<=^|\\n(?!$))thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|(?<=^|\\n(?!$))volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|(?<=^|\\n(?!$))register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|(?<=^|\\n(?!$))restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|(?<=^|\\n(?!$))static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|(?<=^|\\n(?!$))extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|(?<=^|\\n(?!$))const)))((?:(?:(?:(?=($E$\\p{space}*))\\28)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=($E$\\p{space}*))\\34))+|(?:(?=($E$\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=,|\\)|=)","dgv",{"useEmulationGroups":true})},{include:"#storage_types"},{include:"#function_call"},{include:"source.cpp#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!\\p{space}|\\(|,|:)((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=(?:\\)|,|\\[|=|//|(?:\\n|(?=$|\\n))))","dgv",{"useEmulationGroups":true})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*\b(?<![^\p{L}\p{M}\p{N}\p{Pc}]struct|(?<=^|\n(?!$))struct|[^\p{L}\p{M}\p{N}\p{Pc}]class|(?<=^|\n(?!$))class|[^\p{L}\p{M}\p{N}\p{Pc}]union|(?<=^|\n(?!$))union|[^\p{L}\p{M}\p{N}\p{Pc}]enum|(?<=^|\n(?!$))enum)/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\11)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=($E$\\p{space}*))\\17))+|(?:(?=($E$\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*)","dgv",{"useEmulationGroups":true})},{include:"#evaluation_context"},{include:"#ever_present_context"}]},parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.cpp",patterns:[{include:"source.cpp#over_qualified_types"},{match:/(?<!:):(?!:)/dgv,name:"punctuation.separator.colon.range-based.cpp"},{include:"#evaluation_context"}]},pragma:{begin:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?pragma\\b","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"keyword.control.directive.pragma.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.pragma.cpp",patterns:[{include:"#comments"},{include:"#string_context"},{match:/[a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\-\$]*/dgv,name:"entity.other.attribute-name.pragma.preprocessor.cpp"},{include:"#preprocessor_number_literal"},{include:"source.cpp#line_continuation_character"}]},preprocessor_conditional_context:{patterns:[{include:"#preprocessor_conditional_defined"},{include:"#comments"},{include:"source.cpp#language_constants"},{include:"#string_context"},{include:"source.cpp#d9bc4796b0b_preprocessor_number_literal"},{include:"#operators"},{include:"source.cpp#predefined_macros"},{include:"source.cpp#macro_name"},{include:"source.cpp#line_continuation_character"}]},preprocessor_conditional_defined:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])defined(?![\p{L}\p{M}\p{N}\p{Pc}]))(\()/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.defined.cpp"},"2":{name:"punctuation.section.parens.control.defined.cpp"}},end:/(?:\)|(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n))))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.control.defined.cpp"}},patterns:[{include:"source.cpp#macro_name"}]},preprocessor_conditional_parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.preprocessor.conditional.cpp"},preprocessor_conditional_range:{begin:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?((?:(?:ifndef|ifdef)|if))","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"keyword.control.directive.conditional.$6.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"},"6":{}},contentName:"meta.preprocessor.conditional",end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#preprocessor_conditional_context"}]},preprocessor_context:{patterns:[{include:"source.cpp#pragma_mark"},{include:"#pragma"},{include:"source.cpp#include"},{include:"#line"},{include:"#diagnostic"},{include:"source.cpp#undef"},{include:"#preprocessor_conditional_range"},{include:"source.cpp#single_line_macro"},{include:"#macro"},{include:"source.cpp#preprocessor_conditional_standalone"},{include:"source.cpp#macro_argument"}]},sizeof_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},sizeof_variadic_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("(\\bsizeof\\.\\.\\.)((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},square_brackets:{begin:/([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\]\)]))?(\[)(?!\])/dgv,beginCaptures:{"1":{name:"variable.other.object"},"2":{name:"punctuation.definition.begin.bracket.square"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square"}},name:"meta.bracket.square.access",patterns:[{include:"#evaluation_context"}]},static_assert:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])static_assert|_Static_assert(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.other.static_assert.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},patterns:[{begin:/(,)(?:\p{space}+)?(?=(?:L|u8|u|U(?:\p{space}+)?")?)/dgv,beginCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},end:/(?=\))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.static_assert.message.cpp",patterns:[{include:"#string_context"}]},{include:"#evaluation_context"}]},storage_types:{patterns:[{include:"source.cpp#storage_specifiers"},{include:"source.cpp#inline_builtin_storage_type"},{include:"#decltype"},{include:"source.cpp#typename"}]},string_context:{patterns:[{begin:/((?:u|u8|U|L)?)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(")(?:((?:[a-zA-Z]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.cpp",patterns:[{match:/(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})/dgv,name:"constant.character.escape.cpp"},{match:/\\['"\?\\abfnrtv]/dgv,name:"constant.character.escape.cpp"},{match:/\\[0-7]{1,3}/dgv,name:"constant.character.escape.cpp"},{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(?:(\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\x[0-9a-fA-F]*|\\x)))/dgv},{include:"source.cpp#string_escapes_context_c"}]},{begin:/(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(')(?:((?:[a-zA-Z]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.character.cpp"}},name:"string.quoted.single.cpp",patterns:[{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(?:(\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\x[0-9a-fA-F]*|\\x)))/dgv},{include:"source.cpp#string_escapes_context_c"},{include:"source.cpp#line_continuation_character"}]},{begin:/((?:[uUL]8?)?R)"(?:(?:_r|re)|regex)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:(?:_r|re)|regex)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.raw.regex.cpp",patterns:[{include:"source.regexp.python"}]},{begin:/((?:[uUL]8?)?R)"(?:glsl|GLSL)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:glsl|GLSL)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.glsl.cpp",patterns:[{include:"source.glsl"}]},{begin:/((?:[uUL]8?)?R)"(?:[pP]?(?:sql|SQL)|d[dm]l)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:[pP]?(?:sql|SQL)|d[dm]l)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.sql.cpp",patterns:[{include:"source.sql"}]},{begin:/((?:u|u8|U|L)?R)"(?:([^ \(\)\\\t]{0,16})|([^ \(\)\\\t]*))\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"},"1":{name:"meta.encoding"},"3":{name:"invalid.illegal.delimiter-too-long"}},end:/(\)\2(\3)")(?:((?:[a-zA-Z]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end"},"2":{name:"invalid.illegal.delimiter-too-long"},"3":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.raw"}]},struct_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{include:"$self"}]}]},switch_conditional_parentheses:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},name:"meta.conditional.switch.cpp",patterns:[{include:"#evaluation_context"}]},switch_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])switch(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.switch.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.switch.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.block.switch.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.switch.cpp"}},name:"meta.head.switch.cpp",patterns:[{include:"#switch_conditional_parentheses"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.switch.cpp"}},name:"meta.body.switch.cpp",patterns:[{include:"#default_statement"},{include:"#case_statement"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.switch.cpp",patterns:[{include:"$self"}]}]},template_call_context:{patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{include:"#storage_types"},{include:"source.cpp#language_constants"},{include:"source.cpp#scope_resolution_template_call_inner_generated"},{include:"#operators"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma_in_template_argument"},{include:"source.cpp#qualified_type"}]},template_call_range:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},template_definition:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(template)(?:\p{space}+)?(<)/dgv,beginCaptures:{"1":{name:"storage.type.template.cpp"},"2":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"}},name:"meta.template.definition.cpp",patterns:[{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?:\p{space}+)?</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},patterns:[{include:"#template_call_context"}]},{include:"#template_definition_context"}]},template_definition_context:{patterns:[{include:"source.cpp#scope_resolution_template_definition_inner_generated"},{include:"source.cpp#template_definition_argument"},{include:"source.cpp#template_argument_defaulted"},{include:"source.cpp#template_call_innards"},{include:"#evaluation_context"}]},ternary_operator:{applyEndPatternLast:1,begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"source.cpp#number_literal"},{include:"#method_access"},{include:"source.cpp#member_access"},{include:"source.cpp#predefined_macros"},{include:"#operators"},{include:"source.cpp#memory_operators"},{include:"source.cpp#wordlike_operators"},{include:"source.cpp#type_casting_operators"},{include:"source.cpp#control_flow_keywords"},{include:"source.cpp#exception_keywords"},{include:"source.cpp#the_this_keyword"},{include:"source.cpp#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"source.cpp#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"source.cpp#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"source.cpp#semicolon"},{include:"source.cpp#comma"}]},typedef_class:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])class(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\21)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=($E$\\p{space}*))\\27))+|(?:(?=($E$\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},{match:/,/dgv}]}]}]},typedef_function_pointer:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=[^\n]*\(\*\p{space}*(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*\p{space}*\))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=($E$\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?:(?=($E$\\p{space}*))\\5)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=($E$\\p{space}*))\\11))+|(?:(?=($E$\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:(?=($E$\\p{space}*))\\14)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=($E$\\p{space}*))\\20))+|(?:(?=($E$\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:((?:::)?(?:(?=($E$(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\41))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\42))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\43))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\44))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\45))*>)(?:(?=($E$\\p{space}*))\\46))?::)*))\\23))((?:(?:(?:(?=($E$\\p{space}*))\\48)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=($E$\\p{space}*))\\54))+|(?:(?=($E$\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\67))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\68))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\69))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\70))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))(((?:(?:(?:(?=($E$\\p{space}*))\\74)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=($E$\\p{space}*))\\80))+|(?:(?=($E$\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\83)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=($E$\\p{space}*))\\89))+|(?:(?=($E$\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\92)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=($E$\\p{space}*))\\98))+|(?:(?=($E$\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()(\\*)(?:\\p{space}+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?=[\\{\\=\\,\\)\\;\\>]|\\n)(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]}]},typedef_struct:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])struct(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\21)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=($E$\\p{space}*))\\27))+|(?:(?=($E$\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},{match:/,/dgv}]}]}]},typedef_union:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])union(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?:(?=($E$\\p{space}*))\\2)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=($E$\\p{space}*))\\8))+|(?:(?=($E$\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($E$\\p{space}*))\\12)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=($E$\\p{space}*))\\18))+|(?:(?=($E$\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:(?:(?:(?=($E$\\p{space}*))\\21)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=($E$\\p{space}*))\\27))+|(?:(?=($E$\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},{match:/,/dgv}]}]}]},typeid_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},union_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?((?:(?=($E$(?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?:(?=($E$\\p{space}*))\\24)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=($E$\\p{space}*))\\30))+|(?:(?=($E$\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*))\\22))?(?:((?:(?:(?:(?=($E$\\p{space}*))\\33)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=($E$\\p{space}*))\\39))+|(?:(?=($E$\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\3)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=($E$\\p{space}*))\\9))+|(?:(?=($E$\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?:(?=($E$\\p{space}*))\\13)(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=($E$\\p{space}*))\\19))+|(?:(?=($E$\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=:|\\{|(?=$|\\n))","dgv",{"useEmulationGroups":true})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[a-zA-Z_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\;\>\[\]\=]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{include:"$self"}]}]},using_namespace:{begin:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(using)\\p{space}+(namespace)\\p{space}+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=($E$\\p{space}*))\\5)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\21))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\22))*>)(?:(?=($E$\\p{space}*))\\23))?::)*(?:(?=($E$\\p{space}*))\\24))?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?=;|\\n)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{patterns:[{include:"source.cpp#scope_resolution_namespace_using_inner_generated"}]},"4":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{patterns:[{include:"#template_call_range"}]},"6":{},"7":{name:"entity.name.namespace.cpp"}},end:/;|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.cpp"}},name:"meta.using-namespace.cpp"}},scopeName:"source.cpp.embedded.macro",embeddedLangs:["regexp","glsl","sql"],aliases:undefined})
|
|
7
7
|
|
|
8
8
|
export default [
|
|
9
9
|
...regexp,
|