@shikijs/langs-precompiled 1.27.2 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-ts.mjs +1 -1
  6. package/dist/apache.mjs +1 -1
  7. package/dist/apex.mjs +1 -1
  8. package/dist/apl.mjs +1 -1
  9. package/dist/applescript.mjs +1 -1
  10. package/dist/ara.mjs +1 -1
  11. package/dist/asciidoc.mjs +1 -1
  12. package/dist/asm.mjs +1 -1
  13. package/dist/astro.mjs +1 -1
  14. package/dist/ballerina.mjs +1 -1
  15. package/dist/bat.mjs +1 -1
  16. package/dist/beancount.mjs +1 -1
  17. package/dist/bicep.mjs +1 -1
  18. package/dist/blade.mjs +1 -1
  19. package/dist/bsl.mjs +1 -1
  20. package/dist/c.mjs +1 -1
  21. package/dist/cadence.mjs +1 -1
  22. package/dist/cairo.mjs +1 -1
  23. package/dist/clarity.mjs +1 -1
  24. package/dist/clojure.mjs +1 -1
  25. package/dist/cmake.mjs +1 -1
  26. package/dist/cobol.mjs +1 -1
  27. package/dist/codeowners.mjs +1 -1
  28. package/dist/coffee.mjs +1 -1
  29. package/dist/common-lisp.mjs +1 -1
  30. package/dist/cpp-macro.mjs +1 -1
  31. package/dist/cpp.mjs +1 -1
  32. package/dist/crystal.mjs +1 -1
  33. package/dist/css.mjs +1 -1
  34. package/dist/csv.mjs +1 -1
  35. package/dist/cue.mjs +1 -1
  36. package/dist/cypher.mjs +1 -1
  37. package/dist/d.mjs +1 -1
  38. package/dist/dart.mjs +1 -1
  39. package/dist/dax.mjs +1 -1
  40. package/dist/desktop.mjs +1 -1
  41. package/dist/diff.mjs +1 -1
  42. package/dist/docker.mjs +1 -1
  43. package/dist/dotenv.mjs +1 -1
  44. package/dist/dream-maker.mjs +1 -1
  45. package/dist/edge.mjs +1 -1
  46. package/dist/elixir.mjs +1 -1
  47. package/dist/elm.mjs +1 -1
  48. package/dist/emacs-lisp.mjs +1 -1
  49. package/dist/erlang.mjs +1 -1
  50. package/dist/es-tag-css.mjs +1 -1
  51. package/dist/es-tag-glsl.mjs +1 -1
  52. package/dist/es-tag-html.mjs +1 -1
  53. package/dist/es-tag-sql.mjs +1 -1
  54. package/dist/es-tag-xml.mjs +1 -1
  55. package/dist/fennel.mjs +1 -1
  56. package/dist/fish.mjs +1 -1
  57. package/dist/fluent.mjs +1 -1
  58. package/dist/fortran-fixed-form.mjs +1 -1
  59. package/dist/fortran-free-form.mjs +1 -1
  60. package/dist/fsharp.mjs +1 -1
  61. package/dist/gdresource.mjs +1 -1
  62. package/dist/gdscript.mjs +1 -1
  63. package/dist/gdshader.mjs +1 -1
  64. package/dist/genie.mjs +1 -1
  65. package/dist/gherkin.mjs +1 -1
  66. package/dist/git-commit.mjs +1 -1
  67. package/dist/git-rebase.mjs +1 -1
  68. package/dist/glimmer-js.mjs +1 -1
  69. package/dist/glimmer-ts.mjs +1 -1
  70. package/dist/glsl.mjs +1 -1
  71. package/dist/gnuplot.mjs +1 -1
  72. package/dist/go.mjs +1 -1
  73. package/dist/graphql.mjs +1 -1
  74. package/dist/groovy.mjs +1 -1
  75. package/dist/hack.mjs +1 -1
  76. package/dist/haml.mjs +1 -1
  77. package/dist/handlebars.mjs +1 -1
  78. package/dist/haskell.mjs +1 -1
  79. package/dist/haxe.mjs +1 -1
  80. package/dist/hcl.mjs +1 -1
  81. package/dist/hjson.mjs +1 -1
  82. package/dist/hlsl.mjs +1 -1
  83. package/dist/html.mjs +1 -1
  84. package/dist/http.mjs +1 -1
  85. package/dist/hxml.mjs +1 -1
  86. package/dist/hy.mjs +1 -1
  87. package/dist/imba.mjs +1 -1
  88. package/dist/ini.mjs +1 -1
  89. package/dist/java.mjs +1 -1
  90. package/dist/javascript.mjs +1 -1
  91. package/dist/jinja-html.mjs +1 -1
  92. package/dist/jison.mjs +1 -1
  93. package/dist/json.mjs +1 -1
  94. package/dist/jsonc.mjs +1 -1
  95. package/dist/jsonl.mjs +1 -1
  96. package/dist/jsonnet.mjs +1 -1
  97. package/dist/jssm.mjs +1 -1
  98. package/dist/jsx.mjs +1 -1
  99. package/dist/julia.mjs +1 -1
  100. package/dist/kotlin.mjs +1 -1
  101. package/dist/latex.mjs +1 -1
  102. package/dist/lean.mjs +1 -1
  103. package/dist/less.mjs +1 -1
  104. package/dist/liquid.mjs +1 -1
  105. package/dist/log.mjs +1 -1
  106. package/dist/logo.mjs +1 -1
  107. package/dist/lua.mjs +1 -1
  108. package/dist/luau.mjs +1 -1
  109. package/dist/make.mjs +1 -1
  110. package/dist/markdown-vue.mjs +1 -1
  111. package/dist/markdown.mjs +1 -1
  112. package/dist/marko.mjs +1 -1
  113. package/dist/matlab.mjs +1 -1
  114. package/dist/mdc.mjs +1 -1
  115. package/dist/mdx.mjs +1 -1
  116. package/dist/mermaid.mjs +1 -1
  117. package/dist/mipsasm.mjs +1 -1
  118. package/dist/mojo.mjs +1 -1
  119. package/dist/move.mjs +1 -1
  120. package/dist/narrat.mjs +1 -1
  121. package/dist/nextflow.mjs +1 -1
  122. package/dist/nginx.mjs +1 -1
  123. package/dist/nim.mjs +1 -1
  124. package/dist/nix.mjs +1 -1
  125. package/dist/nushell.mjs +1 -1
  126. package/dist/objective-c.mjs +1 -1
  127. package/dist/objective-cpp.mjs +1 -1
  128. package/dist/ocaml.mjs +1 -1
  129. package/dist/pascal.mjs +1 -1
  130. package/dist/perl.mjs +1 -1
  131. package/dist/php.mjs +1 -1
  132. package/dist/plsql.mjs +1 -1
  133. package/dist/po.mjs +1 -1
  134. package/dist/postcss.mjs +1 -1
  135. package/dist/powershell.mjs +1 -1
  136. package/dist/prisma.mjs +1 -1
  137. package/dist/prolog.mjs +1 -1
  138. package/dist/proto.mjs +1 -1
  139. package/dist/pug.mjs +1 -1
  140. package/dist/puppet.mjs +1 -1
  141. package/dist/python.mjs +1 -1
  142. package/dist/qml.mjs +1 -1
  143. package/dist/qmldir.mjs +1 -1
  144. package/dist/r.mjs +1 -1
  145. package/dist/racket.mjs +1 -1
  146. package/dist/raku.mjs +1 -1
  147. package/dist/razor.mjs +10 -2
  148. package/dist/reg.mjs +1 -1
  149. package/dist/rel.mjs +1 -1
  150. package/dist/riscv.mjs +1 -1
  151. package/dist/rst.mjs +1 -1
  152. package/dist/ruby.mjs +1 -1
  153. package/dist/rust.mjs +1 -1
  154. package/dist/sas.mjs +1 -1
  155. package/dist/scala.mjs +1 -1
  156. package/dist/scheme.mjs +1 -1
  157. package/dist/scss.mjs +1 -1
  158. package/dist/sdbl.mjs +1 -1
  159. package/dist/shaderlab.mjs +1 -1
  160. package/dist/shellscript.mjs +1 -1
  161. package/dist/shellsession.mjs +1 -1
  162. package/dist/smalltalk.mjs +1 -1
  163. package/dist/solidity.mjs +1 -1
  164. package/dist/soy.mjs +1 -1
  165. package/dist/sql.mjs +1 -1
  166. package/dist/ssh-config.mjs +1 -1
  167. package/dist/stata.mjs +1 -1
  168. package/dist/stylus.mjs +1 -1
  169. package/dist/svelte.mjs +1 -1
  170. package/dist/system-verilog.mjs +1 -1
  171. package/dist/systemd.mjs +1 -1
  172. package/dist/talonscript.mjs +1 -1
  173. package/dist/tasl.mjs +1 -1
  174. package/dist/tcl.mjs +1 -1
  175. package/dist/templ.mjs +1 -1
  176. package/dist/terraform.mjs +1 -1
  177. package/dist/tex.mjs +1 -1
  178. package/dist/toml.mjs +1 -1
  179. package/dist/tsx.mjs +1 -1
  180. package/dist/turtle.mjs +1 -1
  181. package/dist/twig.mjs +1 -1
  182. package/dist/typescript.mjs +1 -1
  183. package/dist/typespec.mjs +1 -1
  184. package/dist/typst.mjs +1 -1
  185. package/dist/v.mjs +1 -1
  186. package/dist/vala.mjs +1 -1
  187. package/dist/vb.mjs +1 -1
  188. package/dist/verilog.mjs +1 -1
  189. package/dist/vhdl.mjs +1 -1
  190. package/dist/viml.mjs +1 -1
  191. package/dist/vue.mjs +1 -1
  192. package/dist/vyper.mjs +1 -1
  193. package/dist/wasm.mjs +1 -1
  194. package/dist/wenyan.mjs +1 -1
  195. package/dist/wikitext.mjs +1 -1
  196. package/dist/wolfram.mjs +1 -1
  197. package/dist/xml.mjs +1 -1
  198. package/dist/yaml.mjs +1 -1
  199. package/dist/zig.mjs +1 -1
  200. package/package.json +4 -4
package/dist/cpp.mjs CHANGED
@@ -4,7 +4,7 @@ import regexp from './regexp.mjs'
4
4
  import glsl from './glsl.mjs'
5
5
  import sql from './sql.mjs'
6
6
 
7
- const lang = Object.freeze({displayName:"C++",name:"cpp",patterns:[{include:"#ever_present_context"},{include:"#constructor_root"},{include:"#destructor_root"},{include:"#function_definition"},{include:"#operator_overload"},{include:"#using_namespace"},{include:"#type_alias"},{include:"#using_name"},{include:"#namespace_alias"},{include:"#namespace_block"},{include:"#extern_block"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"#misc_keywords"},{include:"#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"#template_isolated_definition"},{include:"#template_definition"},{include:"#template_explicit_instantiation"},{include:"#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#evaluation_context"}],repository:{access_control_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"storage.type.modifier.access.control.$4.cpp"},"4":{},"5":{name:"punctuation.separator.colon.access.control.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(((?:protected|private|public))(?:\\p{space}+)?(:))","dgv",{"useEmulationGroups":true})},alignas_attribute:{begin:/alignas\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/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:"#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:"#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:/\)/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:"#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:/\)/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("(?!^)","dgv",{"strategy":"search_start_clip"}),endCaptures:{},name:"meta.asm.cpp",patterns:[{captures:{"1":{patterns:[{include:"#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:"#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:/\)/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:/"/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:"#backslash_escapes"},{include:"#string_escaped_char"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"#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:"#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"}]}]},assignment_operator:{match:/=/dgv,name:"keyword.operator.assignment.cpp"},attributes_context:{patterns:[{include:"#cpp_attributes"},{include:"#gcc_attributes"},{include:"#ms_attributes"},{include:"#alignas_attribute"}]},backslash_escapes:{match:/\\(\\|[abefnprtv'"\?]|[0-3][0-7]{0,2}|[4-7]\p{Nd}?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8})/dgv,name:"constant.character.escape"},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.cpp"}},end:/\}/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:/\*\//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:/\)/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:"#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:/:/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:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{include:"$self"}]}]},class_declare:{captures:{"1":{name:"storage.type.class.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.class.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\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$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\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])","dgv",{"useEmulationGroups":true})},comma:{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},comma_in_template_argument:{match:/,/dgv,name:"punctuation.separator.delimiter.comma.template.argument.cpp"},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)/dgv,endCaptures:{},name:"comment.line.double-slash.documentation.cpp",patterns:[{include:"#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:/[\!\*]*\*\//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:"#emacs_file_banner"},{include:"#block_comment"},{include:"#line_comment"},{include:"#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:"#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:"#functional_specifiers_pre_parameters"}]},"6":{patterns:[{include:"#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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:"#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:"#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)/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:/\)/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:/\}/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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/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:"#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:"#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:"#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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:"#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:"#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)/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:/\)/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:/\}/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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},control_flow_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.control.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\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}])(?:co_return|co_yield|co_await|continue|default|switch|return|catch|while|throw|break|case|goto|else|for|try|if|do)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},cpp_attributes:{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\]\]/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/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:"#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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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:"#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:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},name:"meta.initialization.cpp",patterns:[{include:"#evaluation_context"},{include:"#comma"}]},d9bc4796b0b_module_import:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.control.directive.import.cpp"},"5":{name:"string.quoted.other.lt-gt.include.cpp"},"6":{name:"punctuation.definition.string.begin.cpp"},"7":{name:"punctuation.definition.string.end.cpp"},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{name:"string.quoted.double.include.cpp"},"11":{name:"punctuation.definition.string.begin.cpp"},"12":{name:"punctuation.definition.string.end.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]},"15":{name:"entity.name.other.preprocessor.macro.include.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{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})}]},"18":{patterns:[{include:"#inline_comment"}]},"19":{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})}]},"20":{patterns:[{include:"#inline_comment"}]},"21":{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})}]},"22":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((import))(?:\\p{space}+)?(?:(?:(?:((<)[^\\>]*(>?)((?:((?:(?:(?=($E$\\p{space}*))\\15)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/(?:(?=($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))|(?=//)))|((\")[^\"]*(\"?)((?:((?:(?:(?=($E$\\p{space}*))\\25)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/(?:(?=($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?$)))(?:(?:\\n|(?=$|\\n))|(?=//))))|(((?:((?:(?:(?=($E$\\p{space}*))\\33)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/(?:(?=($E$\\p{space}*))\\36))+)|(?:(?=($E$\\p{space}+))\\37)|(?<=[^\\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}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}*))\\40)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/(?:(?=($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?$)))(?:(?:\\n|(?=$|\\n))|(?=(?://|;)))))|((?:((?:(?:(?=($E$\\p{space}*))\\47)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)\\*/(?:(?=($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?$)))(?:(?:\\n|(?=$|\\n))|(?=(?://|;))))(?:\\p{space}+)?(;?)","dgv",{"useEmulationGroups":true}),name:"meta.preprocessor.import.cpp"},d9bc4796b0b_preprocessor_number_literal:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,beginCaptures:{},end:/(?=$|\n)/dgv,endCaptures:{},patterns:[{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"constant.numeric.hexadecimal.cpp"},"5":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"6":{name:"punctuation.separator.constant.numeric.cpp"},"7":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"11":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},match:/(0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\.|\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=$|\n)/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"constant.numeric.decimal.point.cpp"},"4":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"5":{name:"punctuation.separator.constant.numeric.cpp"},"6":{name:"keyword.other.unit.exponent.decimal.cpp"},"7":{name:"keyword.operator.plus.exponent.decimal.cpp"},"8":{name:"keyword.operator.minus.exponent.decimal.cpp"},"9":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"10":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=$|\n)/dgvy},{captures:{"1":{name:"keyword.other.unit.binary.cpp"},"2":{name:"constant.numeric.binary.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=$|\n)/dgvy},{captures:{"1":{name:"keyword.other.unit.octal.cpp"},"2":{name:"constant.numeric.octal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=$|\n)/dgvy},{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"8":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=$|\n)/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"keyword.other.unit.exponent.decimal.cpp"},"4":{name:"keyword.operator.plus.exponent.decimal.cpp"},"5":{name:"keyword.operator.minus.exponent.decimal.cpp"},"6":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"7":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=$|\n)/dgvy},{match:/(?:(?:[0-9a-zA-Z_\.]|')|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric.cpp"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:(?:[0-9a-zA-Z_\.]|')|(?<=[eEpP])[\+\-])*/dgv},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:"#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:/\)/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:"#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:/\)/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:"#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:/:/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:"#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:"#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:"#functional_specifiers_pre_parameters"}]},"11":{patterns:[{include:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:"#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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/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:"#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:"#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:"#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:"#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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:"#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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/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:"#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)))/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))))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"#line_continuation_character"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(')|(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n))))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.single.cpp",patterns:[{include:"#line_continuation_character"}]},{begin:/[^'"]/dgv,beginCaptures:{},end:/(?<!\\)(?:(?=\n)|(?<=(?<=^|\n(?!$))\n|[^\\]\n)(?=(?=$|\n)))/dgv,endCaptures:{},name:"string.unquoted.cpp",patterns:[{include:"#line_continuation_character"},{include:"#comments"}]}]},emacs_file_banner:{captures:{"1":{name:"meta.toc-list.banner.double-slash.cpp"},"2":{name:"comment.line.double-slash.cpp"},"3":{name:"punctuation.definition.comment.cpp"},"4":{name:"meta.banner.character.cpp"},"5":{name:"meta.toc-list.banner.block.cpp"},"6":{name:"comment.line.banner.cpp"},"7":{name:"punctuation.definition.comment.cpp"},"8":{name:"meta.banner.character.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?<=^|\\n(?!$))(?:\\p{space}+)?((//)(?:\\p{space}+)?((?:(?=($E$(?:[\\#\\;\\/\\=\\*C\\~]+)+))\\5)(?![\\#\\;\\/\\=\\*C\\~]))(?:\\p{space}+)?[^\\n]+(?:\\p{space}+)?\\4(?:\\p{space}+)?(?:\\n|(?=$|\\n))))|((?<=^|\\n(?!$))(?:\\p{space}+)?((/\\*)(?:\\p{space}+)?((?:(?=($E$(?:[\\#\\;\\/\\=\\*C\\~]+)+))\\10)(?![\\#\\;\\/\\=\\*C\\~]))(?:\\p{space}+)?[^\\n]+(?:\\p{space}+)?\\9(?:\\p{space}+)?\\*/)))","dgv",{"useEmulationGroups":true})},empty_square_brackets:{match:/(?<!delete)\[(?:\p{space}+)?\]/dgv,name:"storage.modifier.array.bracket.square"},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:"#number_literal"}]},"4":{name:"entity.name.type.enum.cpp"},"5":{name:"punctuation.separator.colon.type-specifier.cpp"},"6":{patterns:[{include:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.enum.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.enum.cpp"}},name:"meta.head.enum.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.enum.cpp"}},name:"meta.body.enum.cpp",patterns:[{include:"#ever_present_context"},{include:"#enumerator_list"},{include:"#comments"},{include:"#comma"},{include:"#semicolon"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.enum.cpp",patterns:[{include:"$self"}]}]},enum_declare:{captures:{"1":{name:"storage.type.enum.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.enum.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\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$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\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])","dgv",{"useEmulationGroups":true})},enumerator_list:{captures:{"1":{name:"variable.other.enummember.cpp"},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{name:"keyword.operator.assignment.cpp"},"4":{patterns:[{include:"#evaluation_context"}]},"5":{patterns:[{include:"#comma"},{include:"#semicolon"}]}},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}]))(?:\p{space}+)?((?:(?:(?:\[\[[^\n]*?\]\]|__attribute(?:__)?\p{space}*\(\p{space}*\([^\n]*?\)\p{space}*\))|__declspec\([^\n]*?\))|alignas\([^\n]*?\))(?!\)))?(?:\p{space}+)?(?:(=)(?:\p{space}+)?([^\n]+?)(?:\p{space}+)?)?(?:(?:((?:[\,\;](?!')|\n))|(?=\}[^']))|(?=(?:\/\/|\/\*)))/dgv,name:"meta.enum.definition.cpp"},evaluation_context:{patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#number_literal"},{include:"#method_access"},{include:"#member_access"},{include:"#predefined_macros"},{include:"#operators"},{include:"#memory_operators"},{include:"#wordlike_operators"},{include:"#type_casting_operators"},{include:"#control_flow_keywords"},{include:"#exception_keywords"},{include:"#the_this_keyword"},{include:"#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"#semicolon"},{include:"#comma"}]},ever_present_context:{patterns:[{include:"#pragma_mark"},{include:"#pragma"},{include:"#include"},{include:"#line"},{include:"#diagnostic"},{include:"#undef"},{include:"#preprocessor_conditional_range"},{include:"#single_line_macro"},{include:"#macro"},{include:"#preprocessor_conditional_standalone"},{include:"#macro_argument"},{include:"#comments"},{include:"#line_continuation_character"}]},exception_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.control.exception.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\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}])(?:throw|catch|try)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.extern.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.extern.cpp"}},name:"meta.head.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.extern.cpp",patterns:[{include:"$self"}]},{include:"$self"}]},function_body_context:{patterns:[{include:"#ever_present_context"},{include:"#using_namespace"},{include:"#type_alias"},{include:"#using_name"},{include:"#namespace_alias"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"#misc_keywords"},{include:"#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#switch_statement"},{include:"#goto_statement"},{include:"#evaluation_context"},{include:"#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:"#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:"#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:/\)/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:"#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:"#number_literal"}]},"7":{patterns:[{captures:{"1":{name:"storage.modifier.$1.cpp"},"2":{patterns:[{include:"#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:"#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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"15":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#parameter_or_maybe_value"},{include:"#comma"},{include:"#evaluation_context"}]},{captures:{"1":{name:"punctuation.definition.function.return-type.cpp"},"2":{patterns:[{include:"#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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"8":{patterns:[{include:"#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:"#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:"#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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.cpp",patterns:[{include:"$self"}]}]},function_parameter_context:{patterns:[{include:"#ever_present_context"},{include:"#parameter"},{include:"#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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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:"#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)(?!\\()","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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:"#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)(?!\\()","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#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"}]},functional_specifiers_pre_parameters:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.modifier.specifier.functional.pre-parameters.$0.cpp"},gcc_attributes:{begin:/__attribute(?:__)?\p{space}*\(\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)\p{space}*\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/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:"#number_literal"},{include:"#ever_present_context"}]},goto_statement:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.control.goto.cpp"},"4":{patterns:[{include:"#inline_comment"}]},"5":{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})}]},"6":{name:"entity.name.label.call.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\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}])goto(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\11)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=($E$\\p{space}*))\\14))+)|(?:(?=($E$\\p{space}+))\\15)|(?<=[^\\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}))*)","dgv",{"useEmulationGroups":true})},identifier:{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},include:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.control.directive.$5.cpp"},"4":{name:"punctuation.definition.directive.cpp"},"6":{name:"string.quoted.other.lt-gt.include.cpp"},"7":{name:"punctuation.definition.string.begin.cpp"},"8":{name:"punctuation.definition.string.end.cpp"},"9":{patterns:[{include:"#inline_comment"}]},"10":{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})}]},"11":{name:"string.quoted.double.include.cpp"},"12":{name:"punctuation.definition.string.begin.cpp"},"13":{name:"punctuation.definition.string.end.cpp"},"14":{patterns:[{include:"#inline_comment"}]},"15":{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})}]},"16":{name:"entity.name.other.preprocessor.macro.include.cpp"},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]},"21":{patterns:[{include:"#inline_comment"}]},"22":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((#)(?:\\p{space}+)?((?:include|include_next))\\b)(?:\\p{space}+)?(?:(?:(?:((<)[^\\>]*(>?)((?:((?:(?:(?=($E$\\p{space}*))\\16)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)\\*/(?:(?=($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|(?=$|\\n))|(?=//)))|((\")[^\"]*(\"?)((?:((?:(?:(?=($E$\\p{space}*))\\26)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/(?:(?=($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?$)))(?:(?:\\n|(?=$|\\n))|(?=//))))|(((?:((?:(?:(?=($E$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\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}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}*))\\41)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/(?:(?=($E$\\p{space}*))\\44))+)|(?:(?=($E$\\p{space}+))\\45)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(?:\\n|(?=$|\\n))|(?=(?://|;)))))|((?:((?:(?:(?=($E$\\p{space}*))\\48)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\50)|\\*+(?!/))*))\\49)\\*/(?:(?=($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?$)))(?:(?:\\n|(?=$|\\n))|(?=(?://|;))))","dgv",{"useEmulationGroups":true}),name:"meta.preprocessor.include.cpp"},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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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})}]},inline_builtin_storage_type:{captures:{"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"}},match:/*@__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}])","dgv",{"useEmulationGroups":true})},inline_comment:{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$(?:(?:(?=($E$[^\\*]+))\\4)|\\*+(?!/))*))\\3)(\\*/))","dgv",{"useEmulationGroups":true})},invalid_comment_end:{match:/\*\//dgv,name:"invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"},label:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"entity.name.label.cpp"},"4":{patterns:[{include:"#inline_comment"}]},"5":{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})}]},"6":{name:"punctuation.separator.label.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\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}]))\\b(?<!case|default)((?:((?:(?:(?=($E$\\p{space}*))\\11)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=($E$\\p{space}*))\\14))+)|(?:(?=($E$\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(:)","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:"#the_this_keyword"},{captures:{"1":{name:"variable.parameter.capture.cpp"},"2":{patterns:[{include:"#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:"#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:/(?<=[\;\}])/dgv,endCaptures:{},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.lambda.cpp"}},end:/\)/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:/(?=\{)/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:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.lambda.cpp"}},name:"meta.function.definition.body.lambda.cpp",patterns:[{include:"$self"}]}]},language_constants:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:nullptr|false|NULL|true)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.language.$0.cpp"},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:"#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)))/dgv,endCaptures:{},name:"meta.preprocessor.line.cpp",patterns:[{include:"#string_context"},{include:"#preprocessor_number_literal"},{include:"#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)))/dgv,endCaptures:{},name:"comment.line.double-slash.cpp",patterns:[{include:"#line_continuation_character"}]},line_continuation_character:{match:/\\\n/dgv,name:"constant.character.escape.line-continuation.cpp"},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:"#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)))/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:"#macro_argument"}]},macro_argument:{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}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.macro.argument.cpp"},macro_context:{patterns:[{include:"source.cpp.embedded.macro"}]},macro_name:{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.function.preprocessor.cpp"},member_access:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"variable.language.this.cpp"},"4":{name:"variable.other.object.access.cpp"},"5":{name:"punctuation.separator.dot-access.cpp"},"6":{name:"punctuation.separator.pointer-access.cpp"},"7":{patterns:[{captures:{"1":{patterns:[{include:"#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:"#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:"#member_access"},{include:"#method_access"}]},"8":{name:"variable.other.property.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\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}+)?(\\b(?!uint_least32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|suseconds_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|useconds_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in_addr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in_port_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintptr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|blksize_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_quad_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|unsigned[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|blkcnt_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intptr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|swblk_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|wchar_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_short[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|qaddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|caddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|daddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|fixpt_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|nlink_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|segsz_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|clock_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ssize_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|mode_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|quad_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ushort[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_long[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_char[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|double[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|signed[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|time_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|size_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|key_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|div_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ino_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|gid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|off_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|pid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|float[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|dev_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_int[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|short[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|bool[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|id_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|long[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|char[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|void[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|auto[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|id_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int[^\\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}))*\\b(?!\\())","dgv",{"useEmulationGroups":true})},memory_operators:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.operator.wordlike.cpp"},"4":{name:"keyword.operator.delete.array.cpp"},"5":{name:"keyword.operator.delete.array.bracket.cpp"},"6":{name:"keyword.operator.delete.cpp"},"7":{name:"keyword.operator.new.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:(?:(delete)(?:\\p{space}+)?(\\[\\])|(delete))|(new))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},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:"#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:"#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:"#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:"#member_access"},{include:"#method_access"}]},"10":{name:"entity.name.function.member.cpp"},"11":{name:"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},patterns:[{include:"#evaluation_context"}]},misc_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.other.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\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}])(?:constinit|requires|typedef|concept|export|module)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},ms_attributes:{begin:/__declspec\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/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:"#number_literal"},{include:"#ever_present_context"}]},namespace_alias:{captures:{"1":{name:"keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"},"2":{name:"entity.name.namespace.alias.cpp"},"3":{name:"keyword.operator.assignment.cpp"},"4":{name:"meta.declaration.namespace.alias.value.cpp"},"5":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"6":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"7":{patterns:[{include:"#template_call_range"}]},"9":{name:"entity.name.namespace.cpp"},"10":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(namespace)\\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}*))\\7)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\19)|\\*+(?!/))*))\\18)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\21))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\22))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\23))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\24))*>)(?:(?=($E$\\p{space}*))\\25))?::)*(?:(?=($E$\\p{space}*))\\26))(?:\\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}+)?(?:(;)|\\n))","dgv",{"useEmulationGroups":true}),name:"meta.declaration.namespace.alias.cpp"},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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.block.namespace.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:"#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:/\}|%>|\?\?>/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}]*(?=;)/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:"#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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},number_literal:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,beginCaptures:{},end:/(?=$|\n)/dgv,endCaptures:{},patterns:[{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"constant.numeric.hexadecimal.cpp"},"5":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"6":{name:"punctuation.separator.constant.numeric.cpp"},"7":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"11":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"12":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\.|\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9a-fA-FpP])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=$|\n))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"constant.numeric.decimal.point.cpp"},"4":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"5":{name:"punctuation.separator.constant.numeric.cpp"},"6":{name:"keyword.other.unit.exponent.decimal.cpp"},"7":{name:"keyword.operator.plus.exponent.decimal.cpp"},"8":{name:"keyword.operator.minus.exponent.decimal.cpp"},"9":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"10":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"11":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9eE])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=$|\n))/dgvy},{captures:{"1":{name:"keyword.other.unit.binary.cpp"},"2":{name:"constant.numeric.binary.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=$|\n))/dgvy},{captures:{"1":{name:"keyword.other.unit.octal.cpp"},"2":{name:"constant.numeric.octal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=$|\n))/dgvy},{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"8":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"9":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9a-fA-FpP])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=$|\n))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"keyword.other.unit.exponent.decimal.cpp"},"4":{name:"keyword.operator.plus.exponent.decimal.cpp"},"5":{name:"keyword.operator.minus.exponent.decimal.cpp"},"6":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"7":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"8":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9eE])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=$|\n))/dgvy},{match:/(?:(?:[0-9a-zA-Z_\.]|')|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric.cpp"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:(?:[0-9a-zA-Z_\.]|')|(?<=[eEpP])[\+\-])*/dgv},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:"#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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.operator-overload.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#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:/\}|%>|\?\?>/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}]*(?=;)/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:"#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:/\)/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:"#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:/\)/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:"#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:/\)/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:"#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:/\)/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:"#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:/\)/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:"#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:/\)/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:"#assignment_operator"},{match:/%|\*|\/|-|\+/dgv,name:"keyword.operator.arithmetic.cpp"},{include:"#ternary_operator"}]},over_qualified_types:{patterns:[{captures:{"1":{name:"storage.type.struct.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.struct.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bstruct)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"storage.type.enum.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.enum.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\benum)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"storage.type.union.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.union.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bunion)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"storage.type.class.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.class.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bclass)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})}]},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:"#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:/(?:(?=\))|(,))/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:"#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"#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:"#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:"#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:"#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/=/dgv,name:"keyword.operator.assignment.cpp"},{captures:{"1":{patterns:[{include:"#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:"#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:/\]/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:"#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:"#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:"#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_class:{captures:{"1":{name:"storage.type.class.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.class.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bclass)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},parameter_enum:{captures:{"1":{name:"storage.type.enum.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.enum.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\benum)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},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:"#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:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#function_pointer_parameter"},{include:"#memory_operators"},{include:"#builtin_storage_type_initilizer"},{include:"#curly_initializer"},{include:"#decltype"},{include:"#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"#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:"#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:"#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:"#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"#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:"#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:/\]/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:"#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:"#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:"#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"}]},parameter_struct:{captures:{"1":{name:"storage.type.struct.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.struct.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bstruct)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},parameter_union:{captures:{"1":{name:"storage.type.union.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.union.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bunion)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.cpp",patterns:[{include:"#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:"#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)))/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:"#line_continuation_character"}]},pragma_mark:{captures:{"1":{name:"keyword.control.directive.pragma.pragma-mark.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"punctuation.definition.directive.cpp"},"5":{name:"entity.name.tag.pragma-mark.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<=^|\\n(?!$))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?pragma\\p{space}+mark)\\p{space}+([^\\n]*)","dgv",{"useEmulationGroups":true}),name:"meta.preprocessor.pragma.cpp"},predefined_macros:{patterns:[{captures:{"1":{name:"entity.name.other.preprocessor.macro.predefined.$1.cpp"}},match:/\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\b/dgv},{match:/\b__([A-Z_]+)__\b/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"}]},preprocessor_conditional_context:{patterns:[{include:"#preprocessor_conditional_defined"},{include:"#comments"},{include:"#language_constants"},{include:"#string_context"},{include:"#d9bc4796b0b_preprocessor_number_literal"},{include:"#operators"},{include:"#predefined_macros"},{include:"#macro_name"},{include:"#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))))/dgv,endCaptures:{"0":{name:"punctuation.section.parens.control.defined.cpp"}},patterns:[{include:"#macro_name"}]},preprocessor_conditional_parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)/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:"#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)))/dgv,endCaptures:{},patterns:[{include:"#preprocessor_conditional_context"}]},preprocessor_conditional_standalone:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"punctuation.definition.directive.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:endif|else|elif)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),name:"keyword.control.directive.$4.cpp"},preprocessor_context:{patterns:[{include:"#pragma_mark"},{include:"#pragma"},{include:"#include"},{include:"#line"},{include:"#diagnostic"},{include:"#undef"},{include:"#preprocessor_conditional_range"},{include:"#single_line_macro"},{include:"#macro"},{include:"#preprocessor_conditional_standalone"},{include:"#macro_argument"}]},qualified_type:{captures:{"0":{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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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"}]},"1":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{patterns:[{include:"#inline_comment"}]},"5":{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})}]},"6":{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"}]},"7":{patterns:[{include:"#template_call_range"}]},"9":{patterns:[{include:"#inline_comment"}]},"10":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=($E$\\p{space}*))\\5)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/(?:(?=($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?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=($E$\\p{space}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\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}*))\\19)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\23)|\\*+(?!/))*))\\22)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($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$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)(?:(?=($E$\\p{space}*))\\41))?::)*))\\18))((?:((?:(?:(?=($E$\\p{space}*))\\44)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/(?:(?=($E$\\p{space}*))\\47))+)|(?:(?=($E$\\p{space}+))\\48)|(?<=[^\\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$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\53)|\\*+(?!/))*))\\52)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\55)|\\*+(?!/))*))\\54)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\57)|\\*+(?!/))*))\\56)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\60))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\61))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\62))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.])","dgv",{"useEmulationGroups":true}),name:"meta.qualified_type.cpp"},qualifiers_and_specifiers_post_parameters:{captures:{"1":{patterns:[{captures:{"1":{patterns:[{include:"#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.modifier.specifier.functional.post-parameters.$5.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}])(?:override|volatile|noexcept|final|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?:(?=($E$\\p{space}*))\\2)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\4)|\\*+(?!/))*))\\3)\\*/(?:(?=($E$\\p{space}*))\\5))+|(?:(?=($E$\\p{space}+))\\6)|(?<=[^\\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}])(?:override|volatile|noexcept|final|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))+)(?=\\p{space}*(?:\\{|;|\\n|\\r|=))","dgv",{"useEmulationGroups":true})},scope_resolution:{captures:{"0":{patterns:[{include:"#scope_resolution_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_function_call:{captures:{"0":{patterns:[{include:"#scope_resolution_function_call_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_function_call_inner_generated:{captures:{"1":{patterns:[{include:"#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.scope-resolution.function.call.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_function_definition:{captures:{"0":{patterns:[{include:"#scope_resolution_function_definition_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_function_definition_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_function_definition_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.function.definition.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_function_definition_operator_overload:{captures:{"0":{patterns:[{include:"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_function_definition_operator_overload_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_alias:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_alias_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.namespace.alias.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_block:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_block_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_block_inner_generated:{captures:{"1":{patterns:[{include:"#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.scope-resolution.namespace.block.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_using:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_using_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_using_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_using_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.namespace.using.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_parameter:{captures:{"0":{patterns:[{include:"#scope_resolution_parameter_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_parameter_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_parameter_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.parameter.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_template_call:{captures:{"0":{patterns:[{include:"#scope_resolution_template_call_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_template_call_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_template_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.template.call.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_template_definition:{captures:{"0":{patterns:[{include:"#scope_resolution_template_definition_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_template_definition_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_template_definition_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.template.definition.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},semicolon:{match:/;/dgv,name:"punctuation.terminator.statement.cpp"},simple_type:{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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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":{},"13":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"14":{patterns:[{include:"#inline_comment"}]},"15":{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})}]},"16":{patterns:[{include:"#inline_comment"}]},"17":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?=($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}\\<\\:\\.]))(((?:((?:(?:(?=($E$\\p{space}*))\\69)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\71)|\\*+(?!/))*))\\70)\\*/(?:(?=($E$\\p{space}*))\\72))+)|(?:(?=($E$\\p{space}+))\\73)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\76)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\78)|\\*+(?!/))*))\\77)\\*/(?:(?=($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})},single_line_macro:{captures:{"0":{patterns:[{include:"#macro"},{include:"#comments"}]},"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\n(?!$))((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))#define[^\\n]*(?<![\\\\])(?:\\n|(?=$|\\n))","dgv",{"useEmulationGroups":true})},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:"#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:/\)/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:"#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:/\)/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:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square"}},name:"meta.bracket.square.access",patterns:[{include:"#evaluation_context"}]},standard_declares:{patterns:[{captures:{"1":{name:"storage.type.struct.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.struct.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\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$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\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])","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"storage.type.union.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.union.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\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$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\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])","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"storage.type.enum.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.enum.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\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$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\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])","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"storage.type.class.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.class.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\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$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\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])","dgv",{"useEmulationGroups":true})}]},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:"#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:"#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:/\)/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:/(?=\))/dgv,endCaptures:{},name:"meta.static_assert.message.cpp",patterns:[{include:"#string_context"}]},{include:"#evaluation_context"}]},std_space:{captures:{"0":{patterns:[{include:"#inline_comment"}]},"1":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?=($E$\\p{space}*))\\2)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\4)|\\*+(?!/))*))\\3)\\*/(?:(?=($E$\\p{space}*))\\5))+)|(?:(?=($E$\\p{space}+))\\6)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))","dgv",{"useEmulationGroups":true})},storage_specifiers:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"storage.modifier.specifier.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\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}])(?:thread_local|volatile|register|restrict|static|extern|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},storage_types:{patterns:[{include:"#storage_specifiers"},{include:"#inline_builtin_storage_type"},{include:"#decltype"},{include:"#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}))*))?/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:"#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}))*))?/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:"#string_escapes_context_c"},{include:"#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)"/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)"/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)"/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}))*))?/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"}]},string_escapes_context_c:{patterns:[{match:/\\(\\|[abefnprtv'"\?]|[0-3][0-7]{0,2}|[4-7]\p{Nd}?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8})/dgv,name:"constant.character.escape"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unknown-escape"},{match:/(?!%')(?!%")%(\p{Nd}+\$)?[\#0\- \+']*[\,\;\:_]?((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?(\.((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?)?(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?[diouxXDOUeEfFgGaACcSspn\%]/dgv,name:"constant.other.placeholder"}]},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:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{include:"$self"}]}]},struct_declare:{captures:{"1":{name:"storage.type.struct.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.struct.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\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$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\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])","dgv",{"useEmulationGroups":true})},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:"#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:/\)/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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.block.switch.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.switch.cpp",patterns:[{include:"$self"}]}]},template_argument_defaulted:{captures:{"1":{name:"storage.type.template.argument.$1.cpp"},"2":{name:"entity.name.type.template.cpp"},"3":{name:"keyword.operator.assignment.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}+((?:(?:[a-zA-Z_]|(?:\\u[0-9a-fA-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},template_call_context:{patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{include:"#storage_types"},{include:"#language_constants"},{include:"#scope_resolution_template_call_inner_generated"},{include:"#operators"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma_in_template_argument"},{include:"#qualified_type"}]},template_call_innards:{captures:{"0":{patterns:[{include:"#template_call_range"}]},"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$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\20)|\\*+(?!/))*))\\19)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\25)|\\*+(?!/))*))\\24)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\27))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\28))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)(?:(?=($E$\\p{space}*))\\32)","dgv",{"useEmulationGroups":true}),name:"meta.template.call.cpp"},template_call_range:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:/>/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:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},patterns:[{include:"#template_call_context"}]},{include:"#template_definition_context"}]},template_definition_argument:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"storage.type.template.argument.$3.cpp"},"4":{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:"storage.type.template.argument.$0.cpp"}]},"5":{name:"entity.name.type.template.cpp"},"6":{name:"storage.type.template.argument.$6.cpp"},"7":{name:"punctuation.vararg-ellipses.template.definition.cpp"},"8":{name:"entity.name.type.template.cpp"},"9":{name:"storage.type.template.cpp"},"10":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"},"11":{name:"storage.type.template.argument.$11.cpp"},"12":{name:"entity.name.type.template.cpp"},"13":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"},"14":{name:"storage.type.template.argument.$14.cpp"},"15":{name:"entity.name.type.template.cpp"},"16":{name:"keyword.operator.assignment.cpp"},"17":{name:"punctuation.separator.delimiter.comma.template.argument.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\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}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}])(template)(?:\\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}+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}+)?(class|typename)(?:\\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}+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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",{"useEmulationGroups":true})},template_definition_context:{patterns:[{include:"#scope_resolution_template_definition_inner_generated"},{include:"#template_definition_argument"},{include:"#template_argument_defaulted"},{include:"#template_call_innards"},{include:"#evaluation_context"}]},template_explicit_instantiation:{captures:{"1":{name:"storage.modifier.specifier.extern.cpp"},"2":{name:"storage.type.template.cpp"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(extern)\p{space}+)?(template)\p{space}+/dgv,name:"meta.template.explicit-instantiation.cpp"},template_isolated_definition:{captures:{"1":{name:"storage.type.template.cpp"},"2":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"},"3":{name:"meta.template.definition.cpp",patterns:[{include:"#template_definition_context"}]},"4":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(template)(?:\p{space}+)?(<)([^\n]*)(>)(?:\p{space}+)?(?=$|\n)/dgv},ternary_operator:{applyEndPatternLast:1,begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},end:/:/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#number_literal"},{include:"#method_access"},{include:"#member_access"},{include:"#predefined_macros"},{include:"#operators"},{include:"#memory_operators"},{include:"#wordlike_operators"},{include:"#type_casting_operators"},{include:"#control_flow_keywords"},{include:"#exception_keywords"},{include:"#the_this_keyword"},{include:"#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"#semicolon"},{include:"#comma"}]},the_this_keyword:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"variable.language.this.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\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}]))","dgv",{"useEmulationGroups":true})},type_alias:{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.type.cpp"},"3":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"4":{name:"keyword.operator.assignment.cpp"},"5":{name:"keyword.other.typename.cpp"},"6":{patterns:[{include:"#storage_specifiers"}]},"7":{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})}]},"8":{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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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"}]},"9":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{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"}]},"15":{patterns:[{include:"#template_call_range"}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"20":{name:"meta.declaration.type.alias.value.unknown.cpp",patterns:[{include:"#evaluation_context"}]},"21":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"22":{patterns:[{include:"#inline_comment"}]},"23":{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})}]},"24":{patterns:[{include:"#inline_comment"}]},"25":{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})}]},"26":{patterns:[{include:"#inline_comment"}]},"27":{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})}]},"28":{name:"punctuation.definition.begin.bracket.square.cpp"},"29":{patterns:[{include:"#evaluation_context"}]},"30":{name:"punctuation.definition.end.bracket.square.cpp"},"31":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(using)\\p{space}+(?!namespace)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}+)?((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?(?:\\p{space}+)?(=)(?:\\p{space}+)?((?:typename)?)(?:\\p{space}+)?((?:(?:((?:(?:(?=($E$\\p{space}*))\\8)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/(?:(?=($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?$))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:thread_local|volatile|register|restrict|static|extern|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\p{space}+)+)?(?:((?:(?=($E$\\p{space}*))\\14)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=($E$\\p{space}*))\\18)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\20)|\\*+(?!/))*))\\19)\\*/(?:(?=($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}*))\\25)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/(?:(?=($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?$))))*(?:((?:::)?(?:(?=($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}*))\\32)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\41)|\\*+(?!/))*))\\40)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\45)|\\*+(?!/))*))\\44)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\48))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\49))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)(?:(?=($E$\\p{space}*))\\54))?::)*))\\31))((?:((?:(?:(?=($E$\\p{space}*))\\57)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)\\*/(?:(?=($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?$))))?(?!(?: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$[^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\68)|\\*+(?!/))*))\\67)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))|([^\\n]*(?<!;)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\82)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\84)|\\*+(?!/))*))\\83)\\*/(?:(?=($E$\\p{space}*))\\85))+)|(?:(?=($E$\\p{space}+))\\86)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\89)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\91)|\\*+(?!/))*))\\90)\\*/(?:(?=($E$\\p{space}*))\\92))+)|(?:(?=($E$\\p{space}+))\\93)|(?<=[^\\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$[^\\*]+))\\98)|\\*+(?!/))*))\\97)\\*/(?:(?=($E$\\p{space}*))\\99))+)|(?:(?=($E$\\p{space}+))\\100)|(?<=[^\\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}]*)(\\])(?:\\p{space}+)?)?(?:\\p{space}+)?(?:(;)|\\n)","dgv",{"useEmulationGroups":true}),name:"meta.declaration.type.alias.cpp"},type_casting_operators:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\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}])(?:reinterpret_cast|dynamic_cast|static_cast|const_cast)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},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:/(?<=;)/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:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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:"#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:"#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:"#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:/(?<=;)/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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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:"#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)(?!\\()","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#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:/(?<=;)/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:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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:"#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:"#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:"#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:/(?<=;)/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:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},typename:{captures:{"1":{name:"storage.modifier.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{patterns:[{include:"#inline_comment"}]},"5":{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})}]},"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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{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"}]},"13":{patterns:[{include:"#template_call_range"}]},"14":{},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}])typename(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\11)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=($E$\\p{space}*))\\14))+)|(?:(?=($E$\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))((?:(?=($E$\\p{space}*))\\17)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=($E$\\p{space}*))\\21)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\23)|\\*+(?!/))*))\\22)\\*/(?:(?=($E$\\p{space}*))\\24))+)|(?:(?=($E$\\p{space}+))\\25)|(?<=[^\\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}*))\\28)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/(?:(?=($E$\\p{space}*))\\31))+)|(?:(?=($E$\\p{space}+))\\32)|(?<=[^\\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}*))\\35)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\48)|\\*+(?!/))*))\\47)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\50)|\\*+(?!/))*))\\49)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\55))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\56))*>)(?:(?=($E$\\p{space}*))\\57))?::)*))\\34))((?:((?:(?:(?=($E$\\p{space}*))\\60)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/(?:(?=($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$[^\\*]+))\\69)|\\*+(?!/))*))\\68)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\71)|\\*+(?!/))*))\\70)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\73)|\\*+(?!/))*))\\72)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\75)|\\*+(?!/))*))\\74)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"useEmulationGroups":true})},undef:{captures:{"1":{name:"keyword.control.directive.undef.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"punctuation.definition.directive.cpp"},"5":{patterns:[{include:"#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":{name:"entity.name.function.preprocessor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<=^|\\n(?!$))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$)))(#)(?:\\p{space}+)?undef\\b)((?:((?:(?:(?=($E$\\p{space}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\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}),name:"meta.preprocessor.undef.cpp"},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:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{include:"$self"}]}]},union_declare:{captures:{"1":{name:"storage.type.union.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.union.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\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}*))\\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$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=^|\\n(?!$))|\\n?(?=$|\\n)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\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])","dgv",{"useEmulationGroups":true})},using_name:{captures:{"1":{name:"keyword.other.using.directive.cpp"}},match:/(using)\p{space}+(?!namespace\b)/dgv},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:"#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:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.cpp"}},name:"meta.using-namespace.cpp"},vararg_ellipses:{match:/(?<!\.)\.\.\.(?!\.)/dgv,name:"punctuation.vararg-ellipses.cpp"},wordlike_operators:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:noexcept|xor_eq|and_eq|delete|not_eq|bitand|bitor|compl|or_eq|not|xor|new|and|or)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"keyword.operator.wordlike.cpp keyword.operator.$0.cpp"}]}},scopeName:"source.cpp",embeddedLangs:["cpp-macro","regexp","glsl","sql"],aliases:["c++"]})
7
+ const lang = Object.freeze({displayName:"C++",name:"cpp",patterns:[{include:"#ever_present_context"},{include:"#constructor_root"},{include:"#destructor_root"},{include:"#function_definition"},{include:"#operator_overload"},{include:"#using_namespace"},{include:"#type_alias"},{include:"#using_name"},{include:"#namespace_alias"},{include:"#namespace_block"},{include:"#extern_block"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"#misc_keywords"},{include:"#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"#template_isolated_definition"},{include:"#template_definition"},{include:"#template_explicit_instantiation"},{include:"#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#evaluation_context"}],repository:{access_control_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"storage.type.modifier.access.control.$4.cpp"},"4":{},"5":{name:"punctuation.separator.colon.access.control.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(((?:protected|private|public))(?:\\p{space}+)?(:))","dgv",{"useEmulationGroups":true})},alignas_attribute:{begin:/alignas\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/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:"#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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"#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:/\)/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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"#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:/\)/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("(?!^)","dgv",{"strategy":"search_start_clip"}),endCaptures:{},name:"meta.asm.cpp",patterns:[{captures:{"1":{patterns:[{include:"#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|(?=\\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?$)))\\(","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{patterns:[{include:"#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:/\)/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:/"/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:"#backslash_escapes"},{include:"#string_escaped_char"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"#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:"#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?$)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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?$)))\\]","dgv",{"useEmulationGroups":true})},{match:/:/dgv,name:"punctuation.separator.delimiter.colon.assembly.cpp"},{include:"#comments"}]}]},assignment_operator:{match:/=/dgv,name:"keyword.operator.assignment.cpp"},attributes_context:{patterns:[{include:"#cpp_attributes"},{include:"#gcc_attributes"},{include:"#ms_attributes"},{include:"#alignas_attribute"}]},backslash_escapes:{match:/\\(\\|[abefnprtv'"\?]|[0-3][0-7]{0,2}|[4-7]\p{Nd}?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8})/dgv,name:"constant.character.escape"},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.cpp"}},end:/\}/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:/\*\//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:/\)/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?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])case(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"#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:/:/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]*?\\]\\]|__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?$))))?((?:(?=($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?$))))*))\\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?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"#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:"#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?$)))(?:((?<![\\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?$))","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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{include:"$self"}]}]},class_declare:{captures:{"1":{name:"storage.type.class.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.class.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\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?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"useEmulationGroups":true})},comma:{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},comma_in_template_argument:{match:/,/dgv,name:"punctuation.separator.delimiter.comma.template.argument.cpp"},comments:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("^(?:(?=($E$(?:\\p{space}+)?))\\1)(//[\\!\\/]+)","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"punctuation.definition.comment.documentation.cpp"}},end:/(?<=\n)(?<!\\\n)/dgv,endCaptures:{},name:"comment.line.double-slash.documentation.cpp",patterns:[{include:"#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:/[\!\*]*\*\//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:"#emacs_file_banner"},{include:"#block_comment"},{include:"#line_comment"},{include:"#invalid_comment_end"}]},constructor_inline:{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?$)))((?:(?: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?$))))*)((?:__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?$)))((?<![\\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:"#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:"#functional_specifiers_pre_parameters"}]},"6":{patterns:[{include:"#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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:"#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?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{include:"#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)/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:/\)/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:/\}/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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/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?$)))((?:::)?(?:(?=($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?$)))::((?:(?:(?:(?=($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?$)))\\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?$)))(?=\\())","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{name:"storage.type.modifier.calling-convention.cpp"},"2":{patterns:[{include:"#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:"#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:"#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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:"#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?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{include:"#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)/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:/\)/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:/\}/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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},control_flow_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.control.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:co_return|co_yield|co_await|continue|default|switch|return|catch|while|throw|break|case|goto|else|for|try|if|do)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},cpp_attributes:{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\]\]/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/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:"#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?$)))(?:(?:(?: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?$))))*(?:((?:::)?(?:(?=($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?$))))?(?!(?: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?$)))(\\{)","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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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:"#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:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},name:"meta.initialization.cpp",patterns:[{include:"#evaluation_context"},{include:"#comma"}]},d9bc4796b0b_module_import:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.control.directive.import.cpp"},"5":{name:"string.quoted.other.lt-gt.include.cpp"},"6":{name:"punctuation.definition.string.begin.cpp"},"7":{name:"punctuation.definition.string.end.cpp"},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{name:"string.quoted.double.include.cpp"},"11":{name:"punctuation.definition.string.begin.cpp"},"12":{name:"punctuation.definition.string.end.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]},"15":{name:"entity.name.other.preprocessor.macro.include.cpp"},"16":{patterns:[{include:"#inline_comment"}]},"17":{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})}]},"18":{patterns:[{include:"#inline_comment"}]},"19":{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})}]},"20":{patterns:[{include:"#inline_comment"}]},"21":{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})}]},"22":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((import))(?:\\p{space}+)?(?:(?:(?:((<)[^\\>]*(>?)((?:((?:(?:(?=($E$\\p{space}*))\\15)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/(?:(?=($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?$))|(?=//)))|((\")[^\"]*(\"?)((?:((?:(?:(?=($E$\\p{space}*))\\25)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/(?:(?=($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|(?=\\n?$))|(?=//))))|(((?:((?:(?:(?=($E$\\p{space}*))\\33)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/(?:(?=($E$\\p{space}*))\\36))+)|(?:(?=($E$\\p{space}+))\\37)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}*))\\40)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/(?:(?=($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|(?=\\n?$))|(?=(?://|;)))))|((?:((?:(?:(?=($E$\\p{space}*))\\47)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)\\*/(?:(?=($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|(?=\\n?$))|(?=(?://|;))))(?:\\p{space}+)?(;?)","dgv",{"useEmulationGroups":true}),name:"meta.preprocessor.import.cpp"},d9bc4796b0b_preprocessor_number_literal:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,beginCaptures:{},end:/(?=\n?$)/dgv,endCaptures:{},patterns:[{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"constant.numeric.hexadecimal.cpp"},"5":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"6":{name:"punctuation.separator.constant.numeric.cpp"},"7":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"11":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},match:/(0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\.|\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"constant.numeric.decimal.point.cpp"},"4":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"5":{name:"punctuation.separator.constant.numeric.cpp"},"6":{name:"keyword.other.unit.exponent.decimal.cpp"},"7":{name:"keyword.operator.plus.exponent.decimal.cpp"},"8":{name:"keyword.operator.minus.exponent.decimal.cpp"},"9":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"10":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.binary.cpp"},"2":{name:"constant.numeric.binary.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.octal.cpp"},"2":{name:"constant.numeric.octal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"8":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"keyword.other.unit.exponent.decimal.cpp"},"4":{name:"keyword.operator.plus.exponent.decimal.cpp"},"5":{name:"keyword.operator.minus.exponent.decimal.cpp"},"6":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"7":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?=\n?$)/dgvy},{match:/(?:(?:[0-9a-zA-Z_\.]|')|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric.cpp"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:(?:[0-9a-zA-Z_\.]|')|(?<=[eEpP])[\+\-])*/dgv},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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"#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:/\)/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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"#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:/\)/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?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])default(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"#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:/:/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("^((?:(?:(?:(?=($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?$)))((?:__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?$)))((?:(?: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?$))))*)(~(?<![\\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:"#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:"#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:"#functional_specifiers_pre_parameters"}]},"11":{patterns:[{include:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:"#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?$)))(?:(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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/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?$)))((?:__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?$)))((?:::)?(?:(?=($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?$)))::((?:(?:(?:(?=($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?$)))~\\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?$)))(?=\\())","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:"#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?$)))(?:(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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},diagnostic:{begin:/*@__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?$)))(#)(?:\\p{space}+)?((?:error|warning)))\\b(?:\\p{space}+)?","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.control.directive.diagnostic.$7.cpp"},"2":{patterns:[{include:"#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?$)))/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?$))))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"#line_continuation_character"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(')|(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$))))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.single.cpp",patterns:[{include:"#line_continuation_character"}]},{begin:/[^'"]/dgv,beginCaptures:{},end:/(?<!\\)(?:(?=\n)|(?<=^\n|[^\\]\n)(?=(?=\n?$)))/dgv,endCaptures:{},name:"string.unquoted.cpp",patterns:[{include:"#line_continuation_character"},{include:"#comments"}]}]},emacs_file_banner:{captures:{"1":{name:"meta.toc-list.banner.double-slash.cpp"},"2":{name:"comment.line.double-slash.cpp"},"3":{name:"punctuation.definition.comment.cpp"},"4":{name:"meta.banner.character.cpp"},"5":{name:"meta.toc-list.banner.block.cpp"},"6":{name:"comment.line.banner.cpp"},"7":{name:"punctuation.definition.comment.cpp"},"8":{name:"meta.banner.character.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(^(?:\\p{space}+)?((//)(?:\\p{space}+)?((?:(?=($E$(?:[\\#\\;\\/\\=\\*C\\~]+)+))\\5)(?![\\#\\;\\/\\=\\*C\\~]))(?:\\p{space}+)?[^\\n]+(?:\\p{space}+)?\\4(?:\\p{space}+)?(?:\\n|(?=\\n?$))))|(^(?:\\p{space}+)?((/\\*)(?:\\p{space}+)?((?:(?=($E$(?:[\\#\\;\\/\\=\\*C\\~]+)+))\\10)(?![\\#\\;\\/\\=\\*C\\~]))(?:\\p{space}+)?[^\\n]+(?:\\p{space}+)?\\9(?:\\p{space}+)?\\*/)))","dgv",{"useEmulationGroups":true})},empty_square_brackets:{match:/(?<!delete)\[(?:\p{space}+)?\]/dgv,name:"storage.modifier.array.bracket.square"},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:"#number_literal"}]},"4":{name:"entity.name.type.enum.cpp"},"5":{name:"punctuation.separator.colon.type-specifier.cpp"},"6":{patterns:[{include:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.enum.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.enum.cpp"}},name:"meta.head.enum.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.enum.cpp"}},name:"meta.body.enum.cpp",patterns:[{include:"#ever_present_context"},{include:"#enumerator_list"},{include:"#comments"},{include:"#comma"},{include:"#semicolon"}]},{begin:/(?<=\}|%>|\?\?>)[\p{space}]*/dgv,beginCaptures:{},end:/[\p{space}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.enum.cpp",patterns:[{include:"$self"}]}]},enum_declare:{captures:{"1":{name:"storage.type.enum.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.enum.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\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?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"useEmulationGroups":true})},enumerator_list:{captures:{"1":{name:"variable.other.enummember.cpp"},"2":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"3":{name:"keyword.operator.assignment.cpp"},"4":{patterns:[{include:"#evaluation_context"}]},"5":{patterns:[{include:"#comma"},{include:"#semicolon"}]}},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}]))(?:\p{space}+)?((?:(?:(?:\[\[[^\n]*?\]\]|__attribute(?:__)?\p{space}*\(\p{space}*\([^\n]*?\)\p{space}*\))|__declspec\([^\n]*?\))|alignas\([^\n]*?\))(?!\)))?(?:\p{space}+)?(?:(=)(?:\p{space}+)?([^\n]+?)(?:\p{space}+)?)?(?:(?:((?:[\,\;](?!')|\n))|(?=\}[^']))|(?=(?:\/\/|\/\*)))/dgv,name:"meta.enum.definition.cpp"},evaluation_context:{patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#number_literal"},{include:"#method_access"},{include:"#member_access"},{include:"#predefined_macros"},{include:"#operators"},{include:"#memory_operators"},{include:"#wordlike_operators"},{include:"#type_casting_operators"},{include:"#control_flow_keywords"},{include:"#exception_keywords"},{include:"#the_this_keyword"},{include:"#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"#semicolon"},{include:"#comma"}]},ever_present_context:{patterns:[{include:"#pragma_mark"},{include:"#pragma"},{include:"#include"},{include:"#line"},{include:"#diagnostic"},{include:"#undef"},{include:"#preprocessor_conditional_range"},{include:"#single_line_macro"},{include:"#macro"},{include:"#preprocessor_conditional_standalone"},{include:"#macro_argument"},{include:"#comments"},{include:"#line_continuation_character"}]},exception_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.control.exception.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:throw|catch|try)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},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?$)))(extern)(?=\\p{space}*\")","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.extern.cpp"},"1":{patterns:[{include:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.extern.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.extern.cpp"}},name:"meta.head.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.extern.cpp",patterns:[{include:"$self"}]},{include:"$self"}]},function_body_context:{patterns:[{include:"#ever_present_context"},{include:"#using_namespace"},{include:"#type_alias"},{include:"#using_name"},{include:"#namespace_alias"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"#misc_keywords"},{include:"#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#switch_statement"},{include:"#goto_statement"},{include:"#evaluation_context"},{include:"#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|^reinterpret_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_noexcept|^atomic_noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least16_t|^uint_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least32_t|^uint_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least64_t|^uint_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_cancel|^atomic_cancel|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_commit|^atomic_commit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least8_t|^uint_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast16_t|^uint_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast32_t|^uint_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least16_t|^int_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least32_t|^int_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least64_t|^int_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast64_t|^uint_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]thread_local|^thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast16_t|^int_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast32_t|^int_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast64_t|^int_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]synchronized|^synchronized|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast8_t|^uint_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dynamic_cast|^dynamic_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least8_t|^int_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast8_t|^int_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static_cast|^static_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]suseconds_t|^suseconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const_cast|^const_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]useconds_t|^useconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constinit|^constinit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|^co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|^uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|^uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|^uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|^constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|^consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|^constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|^constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|^consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]protected|^protected|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]namespace|^namespace|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blksize_t|^blksize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|^co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_addr_t|^in_addr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_port_t|^in_port_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintptr_t|^uintptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]template|^template|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|^noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|^noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]continue|^continue|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|^co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|^co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]unsigned|^unsigned|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_quad_t|^u_quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blkcnt_t|^blkcnt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint16_t|^uint16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint32_t|^uint32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint64_t|^uint64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intptr_t|^intptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|^intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|^intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|^volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|^register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|^restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]explicit|^explicit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|^volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|^noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]operator|^operator|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]decltype|^decltype|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typename|^typename|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]requires|^requires|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|^co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|^co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]reflexpr|^reflexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]swblk_t|^swblk_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]virtual|^virtual|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ssize_t|^ssize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]concept|^concept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|^mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]fixpt_t|^fixpt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int16_t|^int16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int32_t|^int32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int64_t|^int64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint8_t|^uint8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typedef|^typedef|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]daddr_t|^daddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]caddr_t|^caddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]qaddr_t|^qaddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]default|^default|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nlink_t|^nlink_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]segsz_t|^segsz_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_short|^u_short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]wchar_t|^wchar_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]private|^private|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]__asm__|^__asm__|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignas|^alignas|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignof|^alignof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|^mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nullptr|^nullptr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]clock_t|^clock_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mode_t|^mode_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]public|^public|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]size_t|^size_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]double|^double|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]quad_t|^quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|^static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]time_t|^time_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]module|^module|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]import|^import|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]export|^export|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|^extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]inline|^inline|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor_eq|^xor_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and_eq|^and_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|^return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]friend|^friend|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not_eq|^not_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]signed|^signed|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]struct|^struct|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int8_t|^int8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ushort|^ushort|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]switch|^switch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_long|^u_long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typeid|^typeid|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_char|^u_char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]sizeof|^sizeof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitand|^bitand|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]delete|^delete|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ino_t|^ino_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]key_t|^key_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]pid_t|^pid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]off_t|^off_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uid_t|^uid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]short|^short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]break|^break|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]catch|^catch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]compl|^compl|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]while|^while|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]false|^false|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]class|^class|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]union|^union|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|^const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or_eq|^or_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|^const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]throw|^throw|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitor|^bitor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_int|^u_int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]using|^using|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]div_t|^div_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dev_t|^dev_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]gid_t|^gid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]float|^float|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]long|^long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]goto|^goto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint|^uint|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|^id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]case|^case|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]auto|^auto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]void|^void|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]enum|^enum|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]true|^true|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]char|^char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|^id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]NULL|^NULL|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]this|^this|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bool|^bool|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]else|^else|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]for|^for|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]new|^new|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not|^not|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor|^xor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and|^and|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]asm|^asm|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int|^int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]try|^try|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]do|^do|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]if|^if|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or|^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?$)))(((?<!<)<(?!<)(?:(/\\*)((?:(?=($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:"#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:"#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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},patterns:[{include:"#evaluation_context"}]},function_definition:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?:^|^|(?<=;|\\}))|(?<=>|\\*/))(?:(?=($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]*?\\]\\]|__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?$))))*)((?:(?=($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?$)))(?:(?:(?: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?$))))*(?:((?:::)?(?:(?=($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?$))))?(?!(?: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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*))?((?:(?:(?:(?=($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?$)))((?:__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?$)))((::)?(?:(?!\\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|^reinterpret_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_noexcept|^atomic_noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least16_t|^uint_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least32_t|^uint_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least64_t|^uint_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_cancel|^atomic_cancel|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]atomic_commit|^atomic_commit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_least8_t|^uint_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast16_t|^uint_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast32_t|^uint_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least16_t|^int_least16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least32_t|^int_least32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least64_t|^int_least64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast64_t|^uint_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]thread_local|^thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast16_t|^int_fast16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast32_t|^int_fast32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast64_t|^int_fast64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]synchronized|^synchronized|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint_fast8_t|^uint_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dynamic_cast|^dynamic_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_least8_t|^int_least8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int_fast8_t|^int_fast8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static_cast|^static_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]suseconds_t|^suseconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const_cast|^const_cast|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]useconds_t|^useconds_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constinit|^constinit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|^co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|^uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|^uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintmax_t|^uintmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|^constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|^consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|^constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]constexpr|^constexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]consteval|^consteval|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]protected|^protected|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]namespace|^namespace|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blksize_t|^blksize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_return|^co_return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_addr_t|^in_addr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]in_port_t|^in_port_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uintptr_t|^uintptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]template|^template|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|^noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|^noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]continue|^continue|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|^co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|^co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]unsigned|^unsigned|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_quad_t|^u_quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]blkcnt_t|^blkcnt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint16_t|^uint16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint32_t|^uint32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint64_t|^uint64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intptr_t|^intptr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|^intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]intmax_t|^intmax_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|^volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|^register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|^restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]explicit|^explicit|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|^volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]noexcept|^noexcept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]operator|^operator|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]decltype|^decltype|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typename|^typename|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]requires|^requires|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_await|^co_await|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]co_yield|^co_yield|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]reflexpr|^reflexpr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]swblk_t|^swblk_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]virtual|^virtual|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ssize_t|^ssize_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]concept|^concept|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|^mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]fixpt_t|^fixpt_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int16_t|^int16_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int32_t|^int32_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int64_t|^int64_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint8_t|^uint8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typedef|^typedef|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]daddr_t|^daddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]caddr_t|^caddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]qaddr_t|^qaddr_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]default|^default|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nlink_t|^nlink_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]segsz_t|^segsz_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_short|^u_short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]wchar_t|^wchar_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]private|^private|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]__asm__|^__asm__|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignas|^alignas|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]alignof|^alignof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mutable|^mutable|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]nullptr|^nullptr|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]clock_t|^clock_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]mode_t|^mode_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]public|^public|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]size_t|^size_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]double|^double|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]quad_t|^quad_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|^static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]time_t|^time_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]module|^module|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]import|^import|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]export|^export|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|^extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]inline|^inline|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor_eq|^xor_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and_eq|^and_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|^return|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]friend|^friend|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not_eq|^not_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]signed|^signed|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]struct|^struct|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int8_t|^int8_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ushort|^ushort|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]switch|^switch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_long|^u_long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]typeid|^typeid|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_char|^u_char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]sizeof|^sizeof|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitand|^bitand|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]delete|^delete|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]ino_t|^ino_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]key_t|^key_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]pid_t|^pid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]off_t|^off_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uid_t|^uid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]short|^short|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]break|^break|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]catch|^catch|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]compl|^compl|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]while|^while|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]false|^false|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]class|^class|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]union|^union|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|^const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or_eq|^or_eq|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|^const|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]throw|^throw|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bitor|^bitor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]u_int|^u_int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]using|^using|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]div_t|^div_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]dev_t|^dev_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]gid_t|^gid_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]float|^float|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]long|^long|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]goto|^goto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]uint|^uint|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|^id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]case|^case|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]auto|^auto|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]void|^void|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]enum|^enum|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]true|^true|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]char|^char|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]id_t|^id_t|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]NULL|^NULL|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]this|^this|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]bool|^bool|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]else|^else|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]for|^for|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]new|^new|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]not|^not|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]xor|^xor|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]and|^and|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]asm|^asm|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]int|^int|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]try|^try|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]do|^do|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]if|^if|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]or|^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?$)))(?=\\()","dgv",{"strategy":"search_start_clip","useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.cpp"},"1":{name:"storage.type.template.cpp"},"2":{patterns:[{include:"#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:"#number_literal"}]},"7":{patterns:[{captures:{"1":{name:"storage.modifier.$1.cpp"},"2":{patterns:[{include:"#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?$)))","dgv",{"useEmulationGroups":true})}]},"8":{name:"storage.modifier.$8.cpp"},"9":{patterns:[{include:"#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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"15":{patterns:[{include:"#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:"#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:"#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:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"32":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#parameter_or_maybe_value"},{include:"#comma"},{include:"#evaluation_context"}]},{captures:{"1":{name:"punctuation.definition.function.return-type.cpp"},"2":{patterns:[{include:"#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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"8":{patterns:[{include:"#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:"#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:"#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("(?<=^|\\))(?:\\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?$)))((?:(?=($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?$)))(?:(?:(?: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?$))))*(?:((?:::)?(?:(?=($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?$))))?(?!(?: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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.function.definition.cpp",patterns:[{include:"$self"}]}]},function_parameter_context:{patterns:[{include:"#ever_present_context"},{include:"#parameter"},{include:"#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?$)))(?:(?:(?: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?$))))*(?:((?:::)?(?:(?=($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?$))))?(?!(?: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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*))?((?:(?:(?:(?=($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?$)))(\\()(\\*)(?:\\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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"#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:"#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:"#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)(?!\\()","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#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?$)))(?:(?:(?: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?$))))*(?:((?:::)?(?:(?=($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?$))))?(?!(?: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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*))?((?:(?:(?:(?=($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?$)))(\\()(\\*)(?:\\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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"#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:"#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:"#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)(?!\\()","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#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"}]},functional_specifiers_pre_parameters:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.modifier.specifier.functional.pre-parameters.$0.cpp"},gcc_attributes:{begin:/__attribute(?:__)?\p{space}*\(\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)\p{space}*\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/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:"#number_literal"},{include:"#ever_present_context"}]},goto_statement:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.control.goto.cpp"},"4":{patterns:[{include:"#inline_comment"}]},"5":{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})}]},"6":{name:"entity.name.label.call.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])goto(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\11)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=($E$\\p{space}*))\\14))+)|(?:(?=($E$\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}))*)","dgv",{"useEmulationGroups":true})},identifier:{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},include:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.control.directive.$5.cpp"},"4":{name:"punctuation.definition.directive.cpp"},"6":{name:"string.quoted.other.lt-gt.include.cpp"},"7":{name:"punctuation.definition.string.begin.cpp"},"8":{name:"punctuation.definition.string.end.cpp"},"9":{patterns:[{include:"#inline_comment"}]},"10":{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})}]},"11":{name:"string.quoted.double.include.cpp"},"12":{name:"punctuation.definition.string.begin.cpp"},"13":{name:"punctuation.definition.string.end.cpp"},"14":{patterns:[{include:"#inline_comment"}]},"15":{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})}]},"16":{name:"entity.name.other.preprocessor.macro.include.cpp"},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]},"21":{patterns:[{include:"#inline_comment"}]},"22":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((#)(?:\\p{space}+)?((?:include|include_next))\\b)(?:\\p{space}+)?(?:(?:(?:((<)[^\\>]*(>?)((?:((?:(?:(?=($E$\\p{space}*))\\16)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\18)|\\*+(?!/))*))\\17)\\*/(?:(?=($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?$))|(?=//)))|((\")[^\"]*(\"?)((?:((?:(?:(?=($E$\\p{space}*))\\26)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/(?:(?=($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|(?=\\n?$))|(?=//))))|(((?:((?:(?:(?=($E$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}*))\\41)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/(?:(?=($E$\\p{space}*))\\44))+)|(?:(?=($E$\\p{space}+))\\45)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:\\n|(?=\\n?$))|(?=(?://|;)))))|((?:((?:(?:(?=($E$\\p{space}*))\\48)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\50)|\\*+(?!/))*))\\49)\\*/(?:(?=($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|(?=\\n?$))|(?=(?://|;))))","dgv",{"useEmulationGroups":true}),name:"meta.preprocessor.include.cpp"},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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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?$)))(?:(?:(?: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?$))))*(?:((?:::)?(?:(?=($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?$))))?(?!(?: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})}]},inline_builtin_storage_type:{captures:{"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"}},match:/*@__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}])","dgv",{"useEmulationGroups":true})},inline_comment:{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$(?:(?:(?=($E$[^\\*]+))\\4)|\\*+(?!/))*))\\3)(\\*/))","dgv",{"useEmulationGroups":true})},invalid_comment_end:{match:/\*\//dgv,name:"invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"},label:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"entity.name.label.cpp"},"4":{patterns:[{include:"#inline_comment"}]},"5":{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})}]},"6":{name:"punctuation.separator.label.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}]))\\b(?<!case|default)((?:((?:(?:(?=($E$\\p{space}*))\\11)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=($E$\\p{space}*))\\14))+)|(?:(?=($E$\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(:)","dgv",{"useEmulationGroups":true})},lambdas:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?<=[^\\p{space}]|^)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\]\\)\\[\\*\\&\"\\>])|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}]return|^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?$)))[\\[\\]\\;\\=]))","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"punctuation.definition.capture.begin.lambda.cpp"},"2":{name:"meta.lambda.capture.cpp",patterns:[{include:"#the_this_keyword"},{captures:{"1":{name:"variable.parameter.capture.cpp"},"2":{patterns:[{include:"#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?$))|(,))|(=))","dgv",{"useEmulationGroups":true})},{include:"#evaluation_context"}]},"3":{},"4":{name:"punctuation.definition.capture.end.lambda.cpp"},"5":{patterns:[{include:"#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:/(?<=[\;\}])/dgv,endCaptures:{},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.lambda.cpp"}},end:/\)/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:/(?=\{)/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:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.lambda.cpp"}},name:"meta.function.definition.body.lambda.cpp",patterns:[{include:"$self"}]}]},language_constants:{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:nullptr|false|NULL|true)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.language.$0.cpp"},line:{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?$)))(#)(?:\\p{space}+)?line\\b","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"keyword.control.directive.line.cpp"},"1":{patterns:[{include:"#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?$)))/dgv,endCaptures:{},name:"meta.preprocessor.line.cpp",patterns:[{include:"#string_context"},{include:"#preprocessor_number_literal"},{include:"#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?$)))/dgv,endCaptures:{},name:"comment.line.double-slash.cpp",patterns:[{include:"#line_continuation_character"}]},line_continuation_character:{match:/\\\n/dgv,name:"constant.character.escape.line-continuation.cpp"},macro:{begin:/*@__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?$)))(#)(?:\\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:"#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?$)))/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:"#macro_argument"}]},macro_argument:{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}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.macro.argument.cpp"},macro_context:{patterns:[{include:"source.cpp.embedded.macro"}]},macro_name:{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.function.preprocessor.cpp"},member_access:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"variable.language.this.cpp"},"4":{name:"variable.other.object.access.cpp"},"5":{name:"punctuation.separator.dot-access.cpp"},"6":{name:"punctuation.separator.pointer-access.cpp"},"7":{patterns:[{captures:{"1":{patterns:[{include:"#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?$)))((?<![\\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:"#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?$)))((?<![\\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:"#member_access"},{include:"#method_access"}]},"8":{name:"variable.other.property.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}+)?(\\b(?!uint_least32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_least8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_least8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint_fast8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int_fast8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|suseconds_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|useconds_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in_addr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in_port_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uintptr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|blksize_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_quad_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intmax_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|unsigned[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|blkcnt_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|intptr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|swblk_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|wchar_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_short[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|qaddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|caddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|daddr_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|fixpt_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|nlink_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|segsz_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|clock_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ssize_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int16_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int32_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int64_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int8_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|mode_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|quad_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ushort[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_long[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_char[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|double[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|signed[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|time_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|size_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|key_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|div_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|ino_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|gid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|off_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|pid_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|float[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|dev_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|u_int[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|short[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|bool[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|id_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|uint[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|long[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|char[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|void[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|auto[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|id_t[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|int[^\\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}))*\\b(?!\\())","dgv",{"useEmulationGroups":true})},memory_operators:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.operator.wordlike.cpp"},"4":{name:"keyword.operator.delete.array.cpp"},"5":{name:"keyword.operator.delete.array.bracket.cpp"},"6":{name:"keyword.operator.delete.cpp"},"7":{name:"keyword.operator.new.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?:(delete)(?:\\p{space}+)?(\\[\\])|(delete))|(new))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},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?$)))((?<![\\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:"#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:"#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?$)))((?<![\\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:"#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?$)))((?<![\\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:"#member_access"},{include:"#method_access"}]},"10":{name:"entity.name.function.member.cpp"},"11":{name:"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},patterns:[{include:"#evaluation_context"}]},misc_keywords:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.other.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:constinit|requires|typedef|concept|export|module)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},ms_attributes:{begin:/__declspec\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)/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:"#number_literal"},{include:"#ever_present_context"}]},namespace_alias:{captures:{"1":{name:"keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"},"2":{name:"entity.name.namespace.alias.cpp"},"3":{name:"keyword.operator.assignment.cpp"},"4":{name:"meta.declaration.namespace.alias.value.cpp"},"5":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"6":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"7":{patterns:[{include:"#template_call_range"}]},"9":{name:"entity.name.namespace.cpp"},"10":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(namespace)\\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}*))\\7)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\19)|\\*+(?!/))*))\\18)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\20))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\21))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\22))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\23))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\24))*>)(?:(?=($E$\\p{space}*))\\25))?::)*(?:(?=($E$\\p{space}*))\\26))(?:\\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}+)?(?:(;)|\\n))","dgv",{"useEmulationGroups":true}),name:"meta.declaration.namespace.alias.cpp"},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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.block.namespace.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:"#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:/\}|%>|\?\?>/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}]*(?=;)/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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"#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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},number_literal:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,beginCaptures:{},end:/(?=\n?$)/dgv,endCaptures:{},patterns:[{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"constant.numeric.hexadecimal.cpp"},"5":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"6":{name:"punctuation.separator.constant.numeric.cpp"},"7":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"11":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"12":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\.|\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9a-fA-FpP])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"constant.numeric.decimal.point.cpp"},"4":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"5":{name:"punctuation.separator.constant.numeric.cpp"},"6":{name:"keyword.other.unit.exponent.decimal.cpp"},"7":{name:"keyword.operator.plus.exponent.decimal.cpp"},"8":{name:"keyword.operator.minus.exponent.decimal.cpp"},"9":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"10":{name:"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"11":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\.|\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9eE])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"keyword.other.unit.binary.cpp"},"2":{name:"constant.numeric.binary.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"keyword.other.unit.octal.cpp"},"2":{name:"constant.numeric.octal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"keyword.other.unit.hexadecimal.cpp"},"2":{name:"constant.numeric.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"3":{name:"punctuation.separator.constant.numeric.cpp"},"4":{name:"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{name:"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{name:"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{name:"constant.numeric.exponent.hexadecimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"8":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"9":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9a-fA-FpP])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"2":{name:"punctuation.separator.constant.numeric.cpp"},"3":{name:"keyword.other.unit.exponent.decimal.cpp"},"4":{name:"keyword.operator.plus.exponent.decimal.cpp"},"5":{name:"keyword.operator.minus.exponent.decimal.cpp"},"6":{name:"constant.numeric.exponent.decimal.cpp",patterns:[{match:/(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])/dgv,name:"punctuation.separator.constant.numeric.cpp"}]},"7":{name:"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"8":{name:"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},match:/(?=[0-9\.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])(\+?)(-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|[uU]ll?|[uU]LL?|ll?[uU]?|LL?[uU]?|[fF])(?![\p{L}\p{M}\p{N}\p{Pc}]))?((?:[\p{L}\p{M}\p{N}\p{Pc}](?<![0-9eE])[\p{L}\p{M}\p{N}\p{Pc}]*)?(?=\n?$))/dgvy},{match:/(?:(?:[0-9a-zA-Z_\.]|')|(?<=[eEpP])[\+\-])+/dgv,name:"invalid.illegal.constant.numeric.cpp"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:(?:[0-9a-zA-Z_\.]|')|(?<=[eEpP])[\+\-])*/dgv},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?$)))(?:((?:(?=($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?$)))(?:(?:(?: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?$))))*(?:((?:::)?(?:(?=($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?$))))?(?!(?: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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*))?((?:(?:(?:(?=($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?$))))?((?:__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?$)))((?:(?:(?:(?=($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?$)))((?:::)?(?:(?=($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?$)))((?:::)?(?:(?=($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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*))?((?:(?:(?:(?=($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?$)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?=($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?$)))((?<![\\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?$)))(?=<|\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.operator-overload.cpp"},"1":{patterns:[{include:"#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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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:"#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:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"24":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:"#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:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"entity.name.operator.type.reference.cpp"}]},"59":{patterns:[{include:"#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:"#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:"#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:"#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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.function.definition.special.operator-overload.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"#qualifiers_and_specifiers_post_parameters"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"#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?$)))(?:(default)|(delete))","dgv",{"useEmulationGroups":true})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>/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}]*(?=;)/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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"#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:/\)/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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"#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:/\)/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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"#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:/\)/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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"#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:/\)/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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"#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:/\)/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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"#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:/\)/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:"#assignment_operator"},{match:/%|\*|\/|-|\+/dgv,name:"keyword.operator.arithmetic.cpp"},{include:"#ternary_operator"}]},over_qualified_types:{patterns:[{captures:{"1":{name:"storage.type.struct.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.struct.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bstruct)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$))))*(?:&|\\*))((?:((?:(?:(?=($E$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\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:"storage.type.enum.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.enum.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\benum)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$))))*(?:&|\\*))((?:((?:(?:(?=($E$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\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:"storage.type.union.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.union.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bunion)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$))))*(?:&|\\*))((?:((?:(?:(?=($E$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\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:"storage.type.class.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.class.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bclass)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$))))*(?:&|\\*))((?:((?:(?:(?=($E$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})}]},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?$)))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"#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:/(?:(?=\))|(,))/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:"#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"#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:"#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:"#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?$))))+)((?:(?:(?:(?=($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?$)))(?:(?:(?=($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|^thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|^volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|^register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|^restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|^static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|^extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|^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?$)))(?=,|\\)|=)","dgv",{"useEmulationGroups":true})},{include:"#storage_types"},{include:"#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/=/dgv,name:"keyword.operator.assignment.cpp"},{captures:{"1":{patterns:[{include:"#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:"#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?$)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]/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|^struct|[^\p{L}\p{M}\p{N}\p{Pc}]class|^class|[^\p{L}\p{M}\p{N}\p{Pc}]union|^union|[^\p{L}\p{M}\p{N}\p{Pc}]enum|^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:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"#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:"#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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*)","dgv",{"useEmulationGroups":true})},{include:"#ever_present_context"}]},parameter_class:{captures:{"1":{name:"storage.type.class.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.class.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bclass)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$))))*(?:&|\\*))((?:((?:(?:(?=($E$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},parameter_enum:{captures:{"1":{name:"storage.type.enum.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.enum.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\benum)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$))))*(?:&|\\*))((?:((?:(?:(?=($E$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},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?$)))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"#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:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#function_pointer_parameter"},{include:"#memory_operators"},{include:"#builtin_storage_type_initilizer"},{include:"#curly_initializer"},{include:"#decltype"},{include:"#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"#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:"#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:"#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?$))))+)((?:(?:(?:(?=($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?$)))(?:(?:(?=($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|^thread_local|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]volatile|^volatile|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]register|^register|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]restrict|^restrict|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]static|^static|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]extern|^extern|[^\\p{L}\\p{M}\\p{N}\\p{Pc}]const|^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?$)))(?=,|\\)|=)","dgv",{"useEmulationGroups":true})},{include:"#storage_types"},{include:"#function_call"},{include:"#scope_resolution_parameter_inner_generated"},{match:/(?:struct|class|union|enum)/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"#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:"#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?$)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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:/\]/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|^struct|[^\p{L}\p{M}\p{N}\p{Pc}]class|^class|[^\p{L}\p{M}\p{N}\p{Pc}]union|^union|[^\p{L}\p{M}\p{N}\p{Pc}]enum|^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:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"#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:"#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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*)","dgv",{"useEmulationGroups":true})},{include:"#evaluation_context"},{include:"#ever_present_context"}]},parameter_struct:{captures:{"1":{name:"storage.type.struct.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.struct.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bstruct)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$))))*(?:&|\\*))((?:((?:(?:(?=($E$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},parameter_union:{captures:{"1":{name:"storage.type.union.parameter.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.union.parameter.cpp"},"5":{patterns:[{include:"#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:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{name:"variable.other.object.declare.cpp"},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"19":{patterns:[{include:"#inline_comment"}]},"20":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\bunion)((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$))))*(?:&|\\*))((?:((?:(?:(?=($E$\\p{space}*))\\34)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/(?:(?=($E$\\p{space}*))\\37))+)|(?:(?=($E$\\p{space}+))\\38)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\42)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/(?:(?=($E$\\p{space}*))\\45))+)|(?:(?=($E$\\p{space}+))\\46)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:\\[((?:((?:(?:(?=($E$\\p{space}*))\\49)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/(?:(?=($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?$)))\\]((?:((?:(?:(?=($E$\\p{space}*))\\56)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/(?:(?=($E$\\p{space}*))\\59))+)|(?:(?=($E$\\p{space}+))\\60)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?=,|\\)|\\n)","dgv",{"useEmulationGroups":true})},parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.cpp",patterns:[{include:"#over_qualified_types"},{match:/(?<!:):(?!:)/dgv,name:"punctuation.separator.colon.range-based.cpp"},{include:"#evaluation_context"}]},pragma:{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?$)))(#)(?:\\p{space}+)?pragma\\b","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"keyword.control.directive.pragma.cpp"},"1":{patterns:[{include:"#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?$)))/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:"#line_continuation_character"}]},pragma_mark:{captures:{"1":{name:"keyword.control.directive.pragma.pragma-mark.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"punctuation.definition.directive.cpp"},"5":{name:"entity.name.tag.pragma-mark.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(^((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?pragma\\p{space}+mark)\\p{space}+([^\\n]*)","dgv",{"useEmulationGroups":true}),name:"meta.preprocessor.pragma.cpp"},predefined_macros:{patterns:[{captures:{"1":{name:"entity.name.other.preprocessor.macro.predefined.$1.cpp"}},match:/\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\b/dgv},{match:/\b__([A-Z_]+)__\b/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"}]},preprocessor_conditional_context:{patterns:[{include:"#preprocessor_conditional_defined"},{include:"#comments"},{include:"#language_constants"},{include:"#string_context"},{include:"#d9bc4796b0b_preprocessor_number_literal"},{include:"#operators"},{include:"#predefined_macros"},{include:"#macro_name"},{include:"#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?$))))/dgv,endCaptures:{"0":{name:"punctuation.section.parens.control.defined.cpp"}},patterns:[{include:"#macro_name"}]},preprocessor_conditional_parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.preprocessor.conditional.cpp"},preprocessor_conditional_range:{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?$)))(#)(?:\\p{space}+)?((?:(?:ifndef|ifdef)|if))","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"keyword.control.directive.conditional.$6.cpp"},"1":{patterns:[{include:"#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?$)))/dgv,endCaptures:{},patterns:[{include:"#preprocessor_conditional_context"}]},preprocessor_conditional_standalone:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"punctuation.definition.directive.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:endif|else|elif)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true}),name:"keyword.control.directive.$4.cpp"},preprocessor_context:{patterns:[{include:"#pragma_mark"},{include:"#pragma"},{include:"#include"},{include:"#line"},{include:"#diagnostic"},{include:"#undef"},{include:"#preprocessor_conditional_range"},{include:"#single_line_macro"},{include:"#macro"},{include:"#preprocessor_conditional_standalone"},{include:"#macro_argument"}]},qualified_type:{captures:{"0":{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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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"}]},"1":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{patterns:[{include:"#inline_comment"}]},"5":{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})}]},"6":{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"}]},"7":{patterns:[{include:"#template_call_range"}]},"9":{patterns:[{include:"#inline_comment"}]},"10":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$\\p{space}*))\\1)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=($E$\\p{space}*))\\5)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/(?:(?=($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?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=($E$\\p{space}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\19)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\23)|\\*+(?!/))*))\\22)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($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$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\40))*>)(?:(?=($E$\\p{space}*))\\41))?::)*))\\18))((?:((?:(?:(?=($E$\\p{space}*))\\44)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/(?:(?=($E$\\p{space}*))\\47))+)|(?:(?=($E$\\p{space}+))\\48)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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$[^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\53)|\\*+(?!/))*))\\52)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\55)|\\*+(?!/))*))\\54)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\57)|\\*+(?!/))*))\\56)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\60))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\61))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\62))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\63))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\64))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.])","dgv",{"useEmulationGroups":true}),name:"meta.qualified_type.cpp"},qualifiers_and_specifiers_post_parameters:{captures:{"1":{patterns:[{captures:{"1":{patterns:[{include:"#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.modifier.specifier.functional.post-parameters.$5.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?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:override|volatile|noexcept|final|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?:(?:(?=($E$\\p{space}*))\\2)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\4)|\\*+(?!/))*))\\3)\\*/(?:(?=($E$\\p{space}*))\\5))+|(?:(?=($E$\\p{space}+))\\6)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:override|volatile|noexcept|final|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))+)(?=\\p{space}*(?:\\{|;|\\n|\\r|=))","dgv",{"useEmulationGroups":true})},scope_resolution:{captures:{"0":{patterns:[{include:"#scope_resolution_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_function_call:{captures:{"0":{patterns:[{include:"#scope_resolution_function_call_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_function_call_inner_generated:{captures:{"1":{patterns:[{include:"#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.scope-resolution.function.call.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_function_definition:{captures:{"0":{patterns:[{include:"#scope_resolution_function_definition_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_function_definition_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_function_definition_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.function.definition.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_function_definition_operator_overload:{captures:{"0":{patterns:[{include:"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_function_definition_operator_overload_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_alias:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_alias_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_alias_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.namespace.alias.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_block:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_block_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_block_inner_generated:{captures:{"1":{patterns:[{include:"#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.scope-resolution.namespace.block.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_using:{captures:{"0":{patterns:[{include:"#scope_resolution_namespace_using_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_namespace_using_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_namespace_using_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.namespace.using.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_parameter:{captures:{"0":{patterns:[{include:"#scope_resolution_parameter_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_parameter_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_parameter_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.parameter.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_template_call:{captures:{"0":{patterns:[{include:"#scope_resolution_template_call_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_template_call_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_template_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.template.call.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},scope_resolution_template_definition:{captures:{"0":{patterns:[{include:"#scope_resolution_template_definition_inner_generated"}]},"1":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"2":{patterns:[{include:"#template_call_range"}]}},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}*))\\2)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\15))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\16))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\17))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\18))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\19))*>)(?:(?=($E$\\p{space}*))\\20))?::)*(?:(?=($E$\\p{space}*))\\21)","dgv",{"useEmulationGroups":true})},scope_resolution_template_definition_inner_generated:{captures:{"1":{patterns:[{include:"#scope_resolution_template_definition_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.scope-resolution.template.definition.cpp"},"6":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"7":{},"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:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.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$/\\*)($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))((?!\\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}*))\\43)(((?<!<)<(?!<)(?:(/\\*)((?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\54)|\\*+(?!/))*))\\53)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\64)|\\*+(?!/))*))\\63)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\69)|\\*+(?!/))*))\\68)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\71))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\72))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)(?:(?=($E$\\p{space}*))\\76))?(::)","dgv",{"useEmulationGroups":true})},semicolon:{match:/;/dgv,name:"punctuation.terminator.statement.cpp"},simple_type:{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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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":{},"13":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"14":{patterns:[{include:"#inline_comment"}]},"15":{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})}]},"16":{patterns:[{include:"#inline_comment"}]},"17":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?=($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?$)))(?:(?:(?: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?$))))*(?:((?:::)?(?:(?=($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?$))))?(?!(?: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}\\<\\:\\.]))(((?:((?:(?:(?=($E$\\p{space}*))\\69)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\71)|\\*+(?!/))*))\\70)\\*/(?:(?=($E$\\p{space}*))\\72))+)|(?:(?=($E$\\p{space}+))\\73)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\76)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\78)|\\*+(?!/))*))\\77)\\*/(?:(?=($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?$))))*(?:&|\\*))?","dgv",{"useEmulationGroups":true})},single_line_macro:{captures:{"0":{patterns:[{include:"#macro"},{include:"#comments"}]},"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))#define[^\\n]*(?<![\\\\])(?:\\n|(?=\\n?$))","dgv",{"useEmulationGroups":true})},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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"#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:/\)/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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"#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:/\)/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:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square"}},name:"meta.bracket.square.access",patterns:[{include:"#evaluation_context"}]},standard_declares:{patterns:[{captures:{"1":{name:"storage.type.struct.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.struct.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\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?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"storage.type.union.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.union.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\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?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"storage.type.enum.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.enum.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\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?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"storage.type.class.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.class.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\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?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"useEmulationGroups":true})}]},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?$)))((?<![\\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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"#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:"#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:/\)/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:/(?=\))/dgv,endCaptures:{},name:"meta.static_assert.message.cpp",patterns:[{include:"#string_context"}]},{include:"#evaluation_context"}]},std_space:{captures:{"0":{patterns:[{include:"#inline_comment"}]},"1":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?=($E$\\p{space}*))\\2)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\4)|\\*+(?!/))*))\\3)\\*/(?:(?=($E$\\p{space}*))\\5))+)|(?:(?=($E$\\p{space}+))\\6)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"useEmulationGroups":true})},storage_specifiers:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"storage.modifier.specifier.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:thread_local|volatile|register|restrict|static|extern|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},storage_types:{patterns:[{include:"#storage_specifiers"},{include:"#inline_builtin_storage_type"},{include:"#decltype"},{include:"#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}))*))?/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:"#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}))*))?/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:"#string_escapes_context_c"},{include:"#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)"/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)"/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)"/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}))*))?/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"}]},string_escapes_context_c:{patterns:[{match:/\\(\\|[abefnprtv'"\?]|[0-3][0-7]{0,2}|[4-7]\p{Nd}?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8})/dgv,name:"constant.character.escape"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unknown-escape"},{match:/(?!%')(?!%")%(\p{Nd}+\$)?[\#0\- \+']*[\,\;\:_]?((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?(\.((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?)?(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?[diouxXDOUeEfFgGaACcSspn\%]/dgv,name:"constant.other.placeholder"}]},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]*?\\]\\]|__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?$))))?((?:(?=($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?$))))*))\\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?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"#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:"#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?$)))(?:((?<![\\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?$))","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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{include:"$self"}]}]},struct_declare:{captures:{"1":{name:"storage.type.struct.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.struct.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\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?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"useEmulationGroups":true})},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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{patterns:[{include:"#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:/\)/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?$)))((?<![\\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:"#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:/(?:(?<=\}|%>|\?\?>)|(?=[\;\>\[\]\=]))/dgv,endCaptures:{},name:"meta.block.switch.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.switch.cpp",patterns:[{include:"$self"}]}]},template_argument_defaulted:{captures:{"1":{name:"storage.type.template.argument.$1.cpp"},"2":{name:"entity.name.type.template.cpp"},"3":{name:"keyword.operator.assignment.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}+((?:(?:[a-zA-Z_]|(?:\\u[0-9a-fA-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},template_call_context:{patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{include:"#storage_types"},{include:"#language_constants"},{include:"#scope_resolution_template_call_inner_generated"},{include:"#operators"},{include:"#number_literal"},{include:"#string_context"},{include:"#comma_in_template_argument"},{include:"#qualified_type"}]},template_call_innards:{captures:{"0":{patterns:[{include:"#template_call_range"}]},"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$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\15)|\\*+(?!/))*))\\14)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\20)|\\*+(?!/))*))\\19)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:($E$/\\*)($E$(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\25)|\\*+(?!/))*))\\24)($E$\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\27))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\28))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\29))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\30))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\31))*>)(?:(?=($E$\\p{space}*))\\32)","dgv",{"useEmulationGroups":true}),name:"meta.template.call.cpp"},template_call_range:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:/>/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:/>/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},patterns:[{include:"#template_call_context"}]},{include:"#template_definition_context"}]},template_definition_argument:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"storage.type.template.argument.$3.cpp"},"4":{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:"storage.type.template.argument.$0.cpp"}]},"5":{name:"entity.name.type.template.cpp"},"6":{name:"storage.type.template.argument.$6.cpp"},"7":{name:"punctuation.vararg-ellipses.template.definition.cpp"},"8":{name:"entity.name.type.template.cpp"},"9":{name:"storage.type.template.cpp"},"10":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"},"11":{name:"storage.type.template.argument.$11.cpp"},"12":{name:"entity.name.type.template.cpp"},"13":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"},"14":{name:"storage.type.template.argument.$14.cpp"},"15":{name:"entity.name.type.template.cpp"},"16":{name:"keyword.operator.assignment.cpp"},"17":{name:"punctuation.separator.delimiter.comma.template.argument.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}])(template)(?:\\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}+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}+)?(class|typename)(?:\\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}+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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",{"useEmulationGroups":true})},template_definition_context:{patterns:[{include:"#scope_resolution_template_definition_inner_generated"},{include:"#template_definition_argument"},{include:"#template_argument_defaulted"},{include:"#template_call_innards"},{include:"#evaluation_context"}]},template_explicit_instantiation:{captures:{"1":{name:"storage.modifier.specifier.extern.cpp"},"2":{name:"storage.type.template.cpp"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(extern)\p{space}+)?(template)\p{space}+/dgv,name:"meta.template.explicit-instantiation.cpp"},template_isolated_definition:{captures:{"1":{name:"storage.type.template.cpp"},"2":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"},"3":{name:"meta.template.definition.cpp",patterns:[{include:"#template_definition_context"}]},"4":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(template)(?:\p{space}+)?(<)([^\n]*)(>)(?:\p{space}+)?(?=\n?$)/dgv},ternary_operator:{applyEndPatternLast:1,begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},end:/:/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#number_literal"},{include:"#method_access"},{include:"#member_access"},{include:"#predefined_macros"},{include:"#operators"},{include:"#memory_operators"},{include:"#wordlike_operators"},{include:"#type_casting_operators"},{include:"#control_flow_keywords"},{include:"#exception_keywords"},{include:"#the_this_keyword"},{include:"#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"#qualifiers_and_specifiers_post_parameters"},{include:"#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"#semicolon"},{include:"#comma"}]},the_this_keyword:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"variable.language.this.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},type_alias:{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.type.cpp"},"3":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"4":{name:"keyword.operator.assignment.cpp"},"5":{name:"keyword.other.typename.cpp"},"6":{patterns:[{include:"#storage_specifiers"}]},"7":{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})}]},"8":{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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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"}]},"9":{patterns:[{include:"#attributes_context"},{include:"#number_literal"}]},"10":{patterns:[{include:"#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":{patterns:[{include:"#inline_comment"}]},"13":{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})}]},"14":{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"}]},"15":{patterns:[{include:"#template_call_range"}]},"17":{patterns:[{include:"#inline_comment"}]},"18":{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})}]},"20":{name:"meta.declaration.type.alias.value.unknown.cpp",patterns:[{include:"#evaluation_context"}]},"21":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"22":{patterns:[{include:"#inline_comment"}]},"23":{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})}]},"24":{patterns:[{include:"#inline_comment"}]},"25":{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})}]},"26":{patterns:[{include:"#inline_comment"}]},"27":{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})}]},"28":{name:"punctuation.definition.begin.bracket.square.cpp"},"29":{patterns:[{include:"#evaluation_context"}]},"30":{name:"punctuation.definition.end.bracket.square.cpp"},"31":{name:"punctuation.terminator.statement.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(using)\\p{space}+(?!namespace)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}+)?((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?(?:\\p{space}+)?(=)(?:\\p{space}+)?((?:typename)?)(?:\\p{space}+)?((?:(?:((?:(?:(?=($E$\\p{space}*))\\8)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\10)|\\*+(?!/))*))\\9)\\*/(?:(?=($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?$))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:thread_local|volatile|register|restrict|static|extern|const)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\p{space}+)+)?(?:((?:(?=($E$\\p{space}*))\\14)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=($E$\\p{space}*))\\18)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\20)|\\*+(?!/))*))\\19)\\*/(?:(?=($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?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=($E$\\p{space}*))\\25)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/(?:(?=($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?$))))*(?:((?:::)?(?:(?=($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}*))\\32)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\36)|\\*+(?!/))*))\\35)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\41)|\\*+(?!/))*))\\40)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\45)|\\*+(?!/))*))\\44)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\48))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\49))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\50))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)(?:(?=($E$\\p{space}*))\\54))?::)*))\\31))((?:((?:(?:(?=($E$\\p{space}*))\\57)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\59)|\\*+(?!/))*))\\58)\\*/(?:(?=($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?$))))?(?!(?: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$[^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\68)|\\*+(?!/))*))\\67)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\73))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\74))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\75))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))|([^\\n]*(?<!;)))(?:(((?:((?:(?:(?=($E$\\p{space}*))\\82)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\84)|\\*+(?!/))*))\\83)\\*/(?:(?=($E$\\p{space}*))\\85))+)|(?:(?=($E$\\p{space}+))\\86)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\89)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\91)|\\*+(?!/))*))\\90)\\*/(?:(?=($E$\\p{space}*))\\92))+)|(?:(?=($E$\\p{space}+))\\93)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:&|\\*))((?:((?:(?:(?=($E$\\p{space}*))\\96)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\98)|\\*+(?!/))*))\\97)\\*/(?:(?=($E$\\p{space}*))\\99))+)|(?:(?=($E$\\p{space}+))\\100)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)?(?:\\p{space}+)?(?:(;)|\\n)","dgv",{"useEmulationGroups":true}),name:"meta.declaration.type.alias.cpp"},type_casting_operators:{captures:{"1":{patterns:[{include:"#inline_comment"}]},"2":{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})}]},"3":{name:"keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:((?:(?:(?=($E$\\p{space}*))\\3)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\5)|\\*+(?!/))*))\\4)\\*/(?:(?=($E$\\p{space}*))\\6))+)|(?:(?=($E$\\p{space}+))\\7)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:reinterpret_cast|dynamic_cast|static_cast|const_cast)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"useEmulationGroups":true})},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:/(?<=;)/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]*?\\]\\]|__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?$))))?((?:(?=($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?$))))*))\\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?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"#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:"#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?$)))(?:((?<![\\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?$))","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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"#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:"#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:"#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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*))?((?:(?:(?:(?=($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?$)))((?<![\\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:/(?<=;)/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?$)))(?:(?:(?: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?$))))*(?:((?:::)?(?:(?=($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?$))))?(?!(?: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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*))?((?:(?:(?:(?=($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?$)))(\\()(\\*)(?:\\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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"3":{patterns:[{include:"#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:"#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:"#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:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"#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:"#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:"#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)(?!\\()","dgv",{"useEmulationGroups":true}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"#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:/(?<=;)/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]*?\\]\\]|__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?$))))?((?:(?=($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?$))))*))\\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?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"#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:"#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?$)))(?:((?<![\\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?$))","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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"#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:"#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:"#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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*))?((?:(?:(?:(?=($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?$)))((?<![\\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:/(?<=;)/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]*?\\]\\]|__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?$))))?((?:(?=($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?$))))*))\\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?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"#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:"#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?$)))(?:((?<![\\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?$))","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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"#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:"#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:"#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?$)))?(?:(?:&|\\*)((?:(?:(?:(?=($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?$))))*(?:&|\\*))?((?:(?:(?:(?=($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?$)))((?<![\\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?$)))(\\()","dgv",{"useEmulationGroups":true}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"#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:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},typename:{captures:{"1":{name:"storage.modifier.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{patterns:[{include:"#inline_comment"}]},"5":{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})}]},"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:"#number_literal"},{include:"#string_context"},{include:"#comma"},{include:"#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>/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:"#number_literal"}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{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"}]},"13":{patterns:[{include:"#template_call_range"}]},"14":{},"15":{patterns:[{include:"#inline_comment"}]},"16":{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})}]},"17":{}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typename(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\11)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/(?:(?=($E$\\p{space}*))\\14))+)|(?:(?=($E$\\p{space}+))\\15)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))((?:(?=($E$\\p{space}*))\\17)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?:(?:(?=($E$\\p{space}*))\\21)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\23)|\\*+(?!/))*))\\22)\\*/(?:(?=($E$\\p{space}*))\\24))+)|(?:(?=($E$\\p{space}+))\\25)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:(?:(?=($E$\\p{space}*))\\28)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/(?:(?=($E$\\p{space}*))\\31))+)|(?:(?=($E$\\p{space}+))\\32)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\35)(((?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|($E$(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\48)|\\*+(?!/))*))\\47)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\50)|\\*+(?!/))*))\\49)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\51))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\52))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\53))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\54))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\55))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\56))*>)(?:(?=($E$\\p{space}*))\\57))?::)*))\\34))((?:((?:(?:(?=($E$\\p{space}*))\\60)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/(?:(?=($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?$))))?(?!(?: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$[^\\*]+))\\69)|\\*+(?!/))*))\\68)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\71)|\\*+(?!/))*))\\70)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\73)|\\*+(?!/))*))\\72)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\75)|\\*+(?!/))*))\\74)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\76))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\77))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\78))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\79))*>)|(?:(?=($E$(?:[^'\"\\<\\>\\/]|/[^\\*])+))\\80))*>)?(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\<\\:\\.]))","dgv",{"useEmulationGroups":true})},undef:{captures:{"1":{name:"keyword.control.directive.undef.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"punctuation.definition.directive.cpp"},"5":{patterns:[{include:"#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":{name:"entity.name.function.preprocessor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(^((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(#)(?:\\p{space}+)?undef\\b)((?:((?:(?:(?=($E$\\p{space}*))\\12)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\14)|\\*+(?!/))*))\\13)\\*/(?:(?=($E$\\p{space}*))\\15))+)|(?:(?=($E$\\p{space}+))\\16)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}),name:"meta.preprocessor.undef.cpp"},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]*?\\]\\]|__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?$))))?((?:(?=($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?$))))*))\\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?$)))(:(?!:)))?)","dgv",{"useEmulationGroups":true}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"#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:"#number_literal"}]},"7":{patterns:[{include:"#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:"#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?$)))","dgv",{"useEmulationGroups":true})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"#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:"#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?$)))(?:((?<![\\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?$))","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:"#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:"#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}+)?(;)|(;))|(?=[\;\>\[\]\=]))/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))/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:/\}|%>|\?\?>/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}]*(?=;)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{include:"$self"}]}]},union_declare:{captures:{"1":{name:"storage.type.union.declare.cpp"},"2":{patterns:[{include:"#inline_comment"}]},"3":{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})}]},"4":{name:"entity.name.type.union.cpp"},"5":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"#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?$)))){2,}&","dgv",{"useEmulationGroups":true}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"6":{patterns:[{include:"#inline_comment"}]},"7":{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})}]},"8":{patterns:[{include:"#inline_comment"}]},"9":{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})}]},"10":{patterns:[{include:"#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":{name:"variable.other.object.declare.cpp"},"13":{patterns:[{include:"#inline_comment"}]},"14":{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})}]}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:((?:(?:(?=($E$\\p{space}*))\\4)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\6)|\\*+(?!/))*))\\5)\\*/(?:(?=($E$\\p{space}*))\\7))+)|(?:(?=($E$\\p{space}+))\\8)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\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}*))\\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?$)))?(?:(?:&|\\*)((?:((?:(?:(?=($E$\\p{space}*))\\20)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/(?:(?=($E$\\p{space}*))\\23))+)|(?:(?=($E$\\p{space}+))\\24)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))))*(?:&|\\*))?((?:((?:(?:(?=($E$\\p{space}*))\\27)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/(?:(?=($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?$)))\\b(?!override[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|override\\$|final[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|final\\$)((?<![\\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}*))\\35)/\\*(?:(?=($E$(?:(?:(?=($E$[^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/(?:(?=($E$\\p{space}*))\\38))+)|(?:(?=($E$\\p{space}+))\\39)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))(?=\\P{space})(?![\\:\\{a-zA-Z])","dgv",{"useEmulationGroups":true})},using_name:{captures:{"1":{name:"keyword.other.using.directive.cpp"}},match:/(using)\p{space}+(?!namespace\b)/dgv},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:"#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:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.cpp"}},name:"meta.using-namespace.cpp"},vararg_ellipses:{match:/(?<!\.)\.\.\.(?!\.)/dgv,name:"punctuation.vararg-ellipses.cpp"},wordlike_operators:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:noexcept|xor_eq|and_eq|delete|not_eq|bitand|bitor|compl|or_eq|not|xor|new|and|or)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"keyword.operator.wordlike.cpp keyword.operator.$0.cpp"}]}},scopeName:"source.cpp",embeddedLangs:["cpp-macro","regexp","glsl","sql"],aliases:["c++"]})
8
8
 
9
9
  export default [
10
10
  ...cpp_macro,