(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[23],{

/***/ "../../packages/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.js":
/*!*************************************************************************************************!*\
  !*** /mnt/vss/_work/1/s/packages/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.js ***!
  \*************************************************************************************************/
/*! exports provided: conf, language */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"conf\", function() { return conf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"language\", function() { return language; });\n/*---------------------------------------------------------------------------------------------\r\n *  Copyright (c) Microsoft Corporation. All rights reserved.\r\n *  Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n// Allow for running under nodejs/requirejs in tests\r\nvar _monaco = (typeof monaco === 'undefined' ? self.monaco : monaco);\r\nvar EMPTY_ELEMENTS = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr'];\r\nvar conf = {\r\n    wordPattern: /(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\s]+)/g,\r\n    comments: {\r\n        blockComment: ['{{!--', '--}}']\r\n    },\r\n    brackets: [\r\n        ['<!--', '-->'],\r\n        ['<', '>'],\r\n        ['{{', '}}'],\r\n        ['{', '}'],\r\n        ['(', ')']\r\n    ],\r\n    autoClosingPairs: [\r\n        { open: '{', close: '}' },\r\n        { open: '[', close: ']' },\r\n        { open: '(', close: ')' },\r\n        { open: '\"', close: '\"' },\r\n        { open: '\\'', close: '\\'' }\r\n    ],\r\n    surroundingPairs: [\r\n        { open: '<', close: '>' },\r\n        { open: '\"', close: '\"' },\r\n        { open: '\\'', close: '\\'' }\r\n    ],\r\n    onEnterRules: [\r\n        {\r\n            beforeText: new RegExp(\"<(?!(?:\" + EMPTY_ELEMENTS.join('|') + \"))(\\\\w[\\\\w\\\\d]*)([^/>]*(?!/)>)[^<]*$\", 'i'),\r\n            afterText: /^<\\/(\\w[\\w\\d]*)\\s*>$/i,\r\n            action: { indentAction: _monaco.languages.IndentAction.IndentOutdent }\r\n        },\r\n        {\r\n            beforeText: new RegExp(\"<(?!(?:\" + EMPTY_ELEMENTS.join('|') + \"))(\\\\w[\\\\w\\\\d]*)([^/>]*(?!/)>)[^<]*$\", 'i'),\r\n            action: { indentAction: _monaco.languages.IndentAction.Indent }\r\n        }\r\n    ],\r\n};\r\nvar language = {\r\n    defaultToken: '',\r\n    tokenPostfix: '',\r\n    // ignoreCase: true,\r\n    // The main tokenizer for our languages\r\n    tokenizer: {\r\n        root: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.root' }],\r\n            [/<!DOCTYPE/, 'metatag.html', '@doctype'],\r\n            [/<!--/, 'comment.html', '@comment'],\r\n            [/(<)(\\w+)(\\/>)/, ['delimiter.html', 'tag.html', 'delimiter.html']],\r\n            [/(<)(script)/, ['delimiter.html', { token: 'tag.html', next: '@script' }]],\r\n            [/(<)(style)/, ['delimiter.html', { token: 'tag.html', next: '@style' }]],\r\n            [/(<)([:\\w]+)/, ['delimiter.html', { token: 'tag.html', next: '@otherTag' }]],\r\n            [/(<\\/)(\\w+)/, ['delimiter.html', { token: 'tag.html', next: '@otherTag' }]],\r\n            [/</, 'delimiter.html'],\r\n            [/\\{/, 'delimiter.html'],\r\n            [/[^<{]+/] // text\r\n        ],\r\n        doctype: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.comment' }],\r\n            [/[^>]+/, 'metatag.content.html'],\r\n            [/>/, 'metatag.html', '@pop'],\r\n        ],\r\n        comment: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.comment' }],\r\n            [/-->/, 'comment.html', '@pop'],\r\n            [/[^-]+/, 'comment.content.html'],\r\n            [/./, 'comment.content.html']\r\n        ],\r\n        otherTag: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.otherTag' }],\r\n            [/\\/?>/, 'delimiter.html', '@pop'],\r\n            [/\"([^\"]*)\"/, 'attribute.value'],\r\n            [/'([^']*)'/, 'attribute.value'],\r\n            [/[\\w\\-]+/, 'attribute.name'],\r\n            [/=/, 'delimiter'],\r\n            [/[ \\t\\r\\n]+/],\r\n        ],\r\n        // -- BEGIN <script> tags handling\r\n        // After <script\r\n        script: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.script' }],\r\n            [/type/, 'attribute.name', '@scriptAfterType'],\r\n            [/\"([^\"]*)\"/, 'attribute.value'],\r\n            [/'([^']*)'/, 'attribute.value'],\r\n            [/[\\w\\-]+/, 'attribute.name'],\r\n            [/=/, 'delimiter'],\r\n            [/>/, { token: 'delimiter.html', next: '@scriptEmbedded.text/javascript', nextEmbedded: 'text/javascript' }],\r\n            [/[ \\t\\r\\n]+/],\r\n            [/(<\\/)(script\\s*)(>)/, ['delimiter.html', 'tag.html', { token: 'delimiter.html', next: '@pop' }]]\r\n        ],\r\n        // After <script ... type\r\n        scriptAfterType: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.scriptAfterType' }],\r\n            [/=/, 'delimiter', '@scriptAfterTypeEquals'],\r\n            [/>/, { token: 'delimiter.html', next: '@scriptEmbedded.text/javascript', nextEmbedded: 'text/javascript' }],\r\n            [/[ \\t\\r\\n]+/],\r\n            [/<\\/script\\s*>/, { token: '@rematch', next: '@pop' }]\r\n        ],\r\n        // After <script ... type =\r\n        scriptAfterTypeEquals: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.scriptAfterTypeEquals' }],\r\n            [/\"([^\"]*)\"/, { token: 'attribute.value', switchTo: '@scriptWithCustomType.$1' }],\r\n            [/'([^']*)'/, { token: 'attribute.value', switchTo: '@scriptWithCustomType.$1' }],\r\n            [/>/, { token: 'delimiter.html', next: '@scriptEmbedded.text/javascript', nextEmbedded: 'text/javascript' }],\r\n            [/[ \\t\\r\\n]+/],\r\n            [/<\\/script\\s*>/, { token: '@rematch', next: '@pop' }]\r\n        ],\r\n        // After <script ... type = $S2\r\n        scriptWithCustomType: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.scriptWithCustomType.$S2' }],\r\n            [/>/, { token: 'delimiter.html', next: '@scriptEmbedded.$S2', nextEmbedded: '$S2' }],\r\n            [/\"([^\"]*)\"/, 'attribute.value'],\r\n            [/'([^']*)'/, 'attribute.value'],\r\n            [/[\\w\\-]+/, 'attribute.name'],\r\n            [/=/, 'delimiter'],\r\n            [/[ \\t\\r\\n]+/],\r\n            [/<\\/script\\s*>/, { token: '@rematch', next: '@pop' }]\r\n        ],\r\n        scriptEmbedded: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInEmbeddedState.scriptEmbedded.$S2', nextEmbedded: '@pop' }],\r\n            [/<\\/script/, { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }]\r\n        ],\r\n        // -- END <script> tags handling\r\n        // -- BEGIN <style> tags handling\r\n        // After <style\r\n        style: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.style' }],\r\n            [/type/, 'attribute.name', '@styleAfterType'],\r\n            [/\"([^\"]*)\"/, 'attribute.value'],\r\n            [/'([^']*)'/, 'attribute.value'],\r\n            [/[\\w\\-]+/, 'attribute.name'],\r\n            [/=/, 'delimiter'],\r\n            [/>/, { token: 'delimiter.html', next: '@styleEmbedded.text/css', nextEmbedded: 'text/css' }],\r\n            [/[ \\t\\r\\n]+/],\r\n            [/(<\\/)(style\\s*)(>)/, ['delimiter.html', 'tag.html', { token: 'delimiter.html', next: '@pop' }]]\r\n        ],\r\n        // After <style ... type\r\n        styleAfterType: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.styleAfterType' }],\r\n            [/=/, 'delimiter', '@styleAfterTypeEquals'],\r\n            [/>/, { token: 'delimiter.html', next: '@styleEmbedded.text/css', nextEmbedded: 'text/css' }],\r\n            [/[ \\t\\r\\n]+/],\r\n            [/<\\/style\\s*>/, { token: '@rematch', next: '@pop' }]\r\n        ],\r\n        // After <style ... type =\r\n        styleAfterTypeEquals: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.styleAfterTypeEquals' }],\r\n            [/\"([^\"]*)\"/, { token: 'attribute.value', switchTo: '@styleWithCustomType.$1' }],\r\n            [/'([^']*)'/, { token: 'attribute.value', switchTo: '@styleWithCustomType.$1' }],\r\n            [/>/, { token: 'delimiter.html', next: '@styleEmbedded.text/css', nextEmbedded: 'text/css' }],\r\n            [/[ \\t\\r\\n]+/],\r\n            [/<\\/style\\s*>/, { token: '@rematch', next: '@pop' }]\r\n        ],\r\n        // After <style ... type = $S2\r\n        styleWithCustomType: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.styleWithCustomType.$S2' }],\r\n            [/>/, { token: 'delimiter.html', next: '@styleEmbedded.$S2', nextEmbedded: '$S2' }],\r\n            [/\"([^\"]*)\"/, 'attribute.value'],\r\n            [/'([^']*)'/, 'attribute.value'],\r\n            [/[\\w\\-]+/, 'attribute.name'],\r\n            [/=/, 'delimiter'],\r\n            [/[ \\t\\r\\n]+/],\r\n            [/<\\/style\\s*>/, { token: '@rematch', next: '@pop' }]\r\n        ],\r\n        styleEmbedded: [\r\n            [/\\{\\{/, { token: '@rematch', switchTo: '@handlebarsInEmbeddedState.styleEmbedded.$S2', nextEmbedded: '@pop' }],\r\n            [/<\\/style/, { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }]\r\n        ],\r\n        // -- END <style> tags handling\r\n        handlebarsInSimpleState: [\r\n            [/\\{\\{\\{?/, 'delimiter.handlebars'],\r\n            [/\\}\\}\\}?/, { token: 'delimiter.handlebars', switchTo: '@$S2.$S3' }],\r\n            { include: 'handlebarsRoot' }\r\n        ],\r\n        handlebarsInEmbeddedState: [\r\n            [/\\{\\{\\{?/, 'delimiter.handlebars'],\r\n            [/\\}\\}\\}?/, { token: 'delimiter.handlebars', switchTo: '@$S2.$S3', nextEmbedded: '$S3' }],\r\n            { include: 'handlebarsRoot' }\r\n        ],\r\n        handlebarsRoot: [\r\n            [/\"[^\"]*\"/, 'string.handlebars'],\r\n            [/[#/][^\\s}]+/, 'keyword.helper.handlebars'],\r\n            [/else\\b/, 'keyword.helper.handlebars'],\r\n            [/[\\s]+/],\r\n            [/[^}]/, 'variable.parameter.handlebars'],\r\n        ],\r\n    },\r\n};\r\n\n\n//# sourceURL=webpack:////mnt/vss/_work/1/s/packages/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.js?");

/***/ })

}]);