{"version":3,"file":"js/chunk-vendors-bdb47e33.1acd3b1c.js","mappings":"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","sources":["webpack://vultan/./node_modules/@intlify/shared/dist/shared.mjs","webpack://vultan/./node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js","webpack://vultan/./node_modules/@intlify/core-base/dist/core-base.mjs"],"sourcesContent":["/*!\n  * shared v9.14.3\n  * (c) 2025 kazuya kawaguchi\n  * Released under the MIT License.\n  */\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n    const perf = inBrowser && window.performance;\n    if (perf &&\n        perf.mark &&\n        perf.measure &&\n        perf.clearMarks &&\n        // @ts-ignore browser compat\n        perf.clearMeasures) {\n        mark = (tag) => {\n            perf.mark(tag);\n        };\n        measure = (name, startTag, endTag) => {\n            perf.measure(name, startTag, endTag);\n            perf.clearMarks(startTag);\n            perf.clearMarks(endTag);\n        };\n    }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n    if (args.length === 1 && isObject(args[0])) {\n        args = args[0];\n    }\n    if (!args || !args.hasOwnProperty) {\n        args = {};\n    }\n    return message.replace(RE_ARGS, (match, identifier) => {\n        return args.hasOwnProperty(identifier) ? args[identifier] : '';\n    });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n    .replace(/\\u2028/g, '\\\\u2028')\n    .replace(/\\u2029/g, '\\\\u2029')\n    .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nconst _create = Object.create;\nconst create = (obj = null) => _create(obj);\nlet _globalThis;\nconst getGlobalThis = () => {\n    // prettier-ignore\n    return (_globalThis ||\n        (_globalThis =\n            typeof globalThis !== 'undefined'\n                ? globalThis\n                : typeof self !== 'undefined'\n                    ? self\n                    : typeof window !== 'undefined'\n                        ? window\n                        : typeof global !== 'undefined'\n                            ? global\n                            : create()));\n};\nfunction escapeHtml(rawText) {\n    return rawText\n        .replace(/</g, '&lt;')\n        .replace(/>/g, '&gt;')\n        .replace(/\"/g, '&quot;')\n        .replace(/'/g, '&apos;');\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n    return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n    return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => {\n    if (!isObject(val))\n        return false;\n    const proto = Object.getPrototypeOf(val);\n    return proto === null || proto.constructor === Object;\n};\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n    return val == null\n        ? ''\n        : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n            ? JSON.stringify(val, null, 2)\n            : String(val);\n};\nfunction join(items, separator = '') {\n    return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n    const lines = source.split(/\\r?\\n/);\n    let count = 0;\n    const res = [];\n    for (let i = 0; i < lines.length; i++) {\n        count += lines[i].length + 1;\n        if (count >= start) {\n            for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n                if (j < 0 || j >= lines.length)\n                    continue;\n                const line = j + 1;\n                res.push(`${line}${' '.repeat(3 - String(line).length)}|  ${lines[j]}`);\n                const lineLength = lines[j].length;\n                if (j === i) {\n                    // push underline\n                    const pad = start - (count - lineLength) + 1;\n                    const length = Math.max(1, end > count ? lineLength - pad : end - start);\n                    res.push(`   |  ` + ' '.repeat(pad) + '^'.repeat(length));\n                }\n                else if (j > i) {\n                    if (end > count) {\n                        const length = Math.max(Math.min(end - count, lineLength), 1);\n                        res.push(`   |  ` + '^'.repeat(length));\n                    }\n                    count += lineLength + 1;\n                }\n            }\n            break;\n        }\n    }\n    return res.join('\\n');\n}\nfunction incrementer(code) {\n    let current = code;\n    return () => ++current;\n}\n\nfunction warn(msg, err) {\n    if (typeof console !== 'undefined') {\n        console.warn(`[intlify] ` + msg);\n        /* istanbul ignore if */\n        if (err) {\n            console.warn(err.stack);\n        }\n    }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n    if (!hasWarned[msg]) {\n        hasWarned[msg] = true;\n        warn(msg);\n    }\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n    const events = new Map();\n    const emitter = {\n        events,\n        on(event, handler) {\n            const handlers = events.get(event);\n            const added = handlers && handlers.push(handler);\n            if (!added) {\n                events.set(event, [handler]);\n            }\n        },\n        off(event, handler) {\n            const handlers = events.get(event);\n            if (handlers) {\n                handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n            }\n        },\n        emit(event, payload) {\n            (events.get(event) || [])\n                .slice()\n                .map(handler => handler(payload));\n            (events.get('*') || [])\n                .slice()\n                .map(handler => handler(event, payload));\n        }\n    };\n    return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction deepCopy(src, des) {\n    // src and des should both be objects, and none of them can be a array\n    if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n        throw new Error('Invalid value');\n    }\n    const stack = [{ src, des }];\n    while (stack.length) {\n        const { src, des } = stack.pop();\n        // using `Object.keys` which skips prototype properties\n        Object.keys(src).forEach(key => {\n            if (key === '__proto__') {\n                return;\n            }\n            // if src[key] is an object/array, set des[key]\n            // to empty object/array to prevent setting by reference\n            if (isObject(src[key]) && !isObject(des[key])) {\n                des[key] = Array.isArray(src[key]) ? [] : create();\n            }\n            if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {\n                // replace with src[key] when:\n                // src[key] or des[key] is not an object, or\n                // src[key] or des[key] is an array\n                des[key] = src[key];\n            }\n            else {\n                // src[key] and des[key] are both objects, merge them\n                stack.push({ src: src[key], des: des[key] });\n            }\n        });\n    }\n}\n\nexport { assign, create, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, incrementer, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn, warnOnce };\n","/*!\n  * message-compiler v9.14.3\n  * (c) 2025 kazuya kawaguchi\n  * Released under the MIT License.\n  */\nconst LOCATION_STUB = {\n    start: { line: 1, column: 1, offset: 0 },\n    end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n    return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n    const loc = { start, end };\n    if (source != null) {\n        loc.source = source;\n    }\n    return loc;\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n    if (args.length === 1 && isObject(args[0])) {\n        args = args[0];\n    }\n    if (!args || !args.hasOwnProperty) {\n        args = {};\n    }\n    return message.replace(RE_ARGS, (match, identifier) => {\n        return args.hasOwnProperty(identifier) ? args[identifier] : '';\n    });\n}\nconst assign = Object.assign;\nconst isString = (val) => typeof val === 'string';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\nfunction join(items, separator = '') {\n    return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\n\nconst CompileWarnCodes = {\n    USE_MODULO_SYNTAX: 1,\n    __EXTEND_POINT__: 2\n};\n/** @internal */\nconst warnMessages = {\n    [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`\n};\nfunction createCompileWarn(code, loc, ...args) {\n    const msg = format(warnMessages[code] || '', ...(args || [])) ;\n    const message = { message: String(msg), code };\n    if (loc) {\n        message.location = loc;\n    }\n    return message;\n}\n\nconst CompileErrorCodes = {\n    // tokenizer error codes\n    EXPECTED_TOKEN: 1,\n    INVALID_TOKEN_IN_PLACEHOLDER: 2,\n    UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n    UNKNOWN_ESCAPE_SEQUENCE: 4,\n    INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n    UNBALANCED_CLOSING_BRACE: 6,\n    UNTERMINATED_CLOSING_BRACE: 7,\n    EMPTY_PLACEHOLDER: 8,\n    NOT_ALLOW_NEST_PLACEHOLDER: 9,\n    INVALID_LINKED_FORMAT: 10,\n    // parser error codes\n    MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n    UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n    UNEXPECTED_EMPTY_LINKED_KEY: 13,\n    UNEXPECTED_LEXICAL_ANALYSIS: 14,\n    // generator error codes\n    UNHANDLED_CODEGEN_NODE_TYPE: 15,\n    // minifier error codes\n    UNHANDLED_MINIFIER_NODE_TYPE: 16,\n    // Special value for higher-order compilers to pick up the last code\n    // to avoid collision of error codes. This should always be kept as the last\n    // item.\n    __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n    // tokenizer error messages\n    [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n    [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n    [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n    [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n    [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n    [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n    [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n    [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n    [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n    [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n    // parser error messages\n    [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n    [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n    [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n    [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n    // generator error messages\n    [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n    // minimizer error messages\n    [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n    const { domain, messages, args } = options;\n    const msg = format((messages || errorMessages)[code] || '', ...(args || []))\n        ;\n    const error = new SyntaxError(String(msg));\n    error.code = code;\n    if (loc) {\n        error.location = loc;\n    }\n    error.domain = domain;\n    return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n    throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n    const _buf = str;\n    let _index = 0;\n    let _line = 1;\n    let _column = 1;\n    let _peekOffset = 0;\n    const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n    const isLF = (index) => _buf[index] === CHAR_LF;\n    const isPS = (index) => _buf[index] === CHAR_PS;\n    const isLS = (index) => _buf[index] === CHAR_LS;\n    const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n    const index = () => _index;\n    const line = () => _line;\n    const column = () => _column;\n    const peekOffset = () => _peekOffset;\n    const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n    const currentChar = () => charAt(_index);\n    const currentPeek = () => charAt(_index + _peekOffset);\n    function next() {\n        _peekOffset = 0;\n        if (isLineEnd(_index)) {\n            _line++;\n            _column = 0;\n        }\n        if (isCRLF(_index)) {\n            _index++;\n        }\n        _index++;\n        _column++;\n        return _buf[_index];\n    }\n    function peek() {\n        if (isCRLF(_index + _peekOffset)) {\n            _peekOffset++;\n        }\n        _peekOffset++;\n        return _buf[_index + _peekOffset];\n    }\n    function reset() {\n        _index = 0;\n        _line = 1;\n        _column = 1;\n        _peekOffset = 0;\n    }\n    function resetPeek(offset = 0) {\n        _peekOffset = offset;\n    }\n    function skipToPeek() {\n        const target = _index + _peekOffset;\n        // eslint-disable-next-line no-unmodified-loop-condition\n        while (target !== _index) {\n            next();\n        }\n        _peekOffset = 0;\n    }\n    return {\n        index,\n        line,\n        column,\n        peekOffset,\n        charAt,\n        currentChar,\n        currentPeek,\n        next,\n        peek,\n        reset,\n        resetPeek,\n        skipToPeek\n    };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n    const location = options.location !== false;\n    const _scnr = createScanner(source);\n    const currentOffset = () => _scnr.index();\n    const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n    const _initLoc = currentPosition();\n    const _initOffset = currentOffset();\n    const _context = {\n        currentType: 14 /* TokenTypes.EOF */,\n        offset: _initOffset,\n        startLoc: _initLoc,\n        endLoc: _initLoc,\n        lastType: 14 /* TokenTypes.EOF */,\n        lastOffset: _initOffset,\n        lastStartLoc: _initLoc,\n        lastEndLoc: _initLoc,\n        braceNest: 0,\n        inLinked: false,\n        text: ''\n    };\n    const context = () => _context;\n    const { onError } = options;\n    function emitError(code, pos, offset, ...args) {\n        const ctx = context();\n        pos.column += offset;\n        pos.offset += offset;\n        if (onError) {\n            const loc = location ? createLocation(ctx.startLoc, pos) : null;\n            const err = createCompileError(code, loc, {\n                domain: ERROR_DOMAIN$3,\n                args\n            });\n            onError(err);\n        }\n    }\n    function getToken(context, type, value) {\n        context.endLoc = currentPosition();\n        context.currentType = type;\n        const token = { type };\n        if (location) {\n            token.loc = createLocation(context.startLoc, context.endLoc);\n        }\n        if (value != null) {\n            token.value = value;\n        }\n        return token;\n    }\n    const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n    function eat(scnr, ch) {\n        if (scnr.currentChar() === ch) {\n            scnr.next();\n            return ch;\n        }\n        else {\n            emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n            return '';\n        }\n    }\n    function peekSpaces(scnr) {\n        let buf = '';\n        while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n            buf += scnr.currentPeek();\n            scnr.peek();\n        }\n        return buf;\n    }\n    function skipSpaces(scnr) {\n        const buf = peekSpaces(scnr);\n        scnr.skipToPeek();\n        return buf;\n    }\n    function isIdentifierStart(ch) {\n        if (ch === EOF) {\n            return false;\n        }\n        const cc = ch.charCodeAt(0);\n        return ((cc >= 97 && cc <= 122) || // a-z\n            (cc >= 65 && cc <= 90) || // A-Z\n            cc === 95 // _\n        );\n    }\n    function isNumberStart(ch) {\n        if (ch === EOF) {\n            return false;\n        }\n        const cc = ch.charCodeAt(0);\n        return cc >= 48 && cc <= 57; // 0-9\n    }\n    function isNamedIdentifierStart(scnr, context) {\n        const { currentType } = context;\n        if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n            return false;\n        }\n        peekSpaces(scnr);\n        const ret = isIdentifierStart(scnr.currentPeek());\n        scnr.resetPeek();\n        return ret;\n    }\n    function isListIdentifierStart(scnr, context) {\n        const { currentType } = context;\n        if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n            return false;\n        }\n        peekSpaces(scnr);\n        const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n        const ret = isNumberStart(ch);\n        scnr.resetPeek();\n        return ret;\n    }\n    function isLiteralStart(scnr, context) {\n        const { currentType } = context;\n        if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n            return false;\n        }\n        peekSpaces(scnr);\n        const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n        scnr.resetPeek();\n        return ret;\n    }\n    function isLinkedDotStart(scnr, context) {\n        const { currentType } = context;\n        if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n            return false;\n        }\n        peekSpaces(scnr);\n        const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n        scnr.resetPeek();\n        return ret;\n    }\n    function isLinkedModifierStart(scnr, context) {\n        const { currentType } = context;\n        if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n            return false;\n        }\n        peekSpaces(scnr);\n        const ret = isIdentifierStart(scnr.currentPeek());\n        scnr.resetPeek();\n        return ret;\n    }\n    function isLinkedDelimiterStart(scnr, context) {\n        const { currentType } = context;\n        if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n            currentType === 12 /* TokenTypes.LinkedModifier */)) {\n            return false;\n        }\n        peekSpaces(scnr);\n        const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n        scnr.resetPeek();\n        return ret;\n    }\n    function isLinkedReferStart(scnr, context) {\n        const { currentType } = context;\n        if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n            return false;\n        }\n        const fn = () => {\n            const ch = scnr.currentPeek();\n            if (ch === \"{\" /* TokenChars.BraceLeft */) {\n                return isIdentifierStart(scnr.peek());\n            }\n            else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n                ch === \"%\" /* TokenChars.Modulo */ ||\n                ch === \"|\" /* TokenChars.Pipe */ ||\n                ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n                ch === \".\" /* TokenChars.LinkedDot */ ||\n                ch === CHAR_SP ||\n                !ch) {\n                return false;\n            }\n            else if (ch === CHAR_LF) {\n                scnr.peek();\n                return fn();\n            }\n            else {\n                // other characters\n                return isTextStart(scnr, false);\n            }\n        };\n        const ret = fn();\n        scnr.resetPeek();\n        return ret;\n    }\n    function isPluralStart(scnr) {\n        peekSpaces(scnr);\n        const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n        scnr.resetPeek();\n        return ret;\n    }\n    function detectModuloStart(scnr) {\n        const spaces = peekSpaces(scnr);\n        const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n            scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n        scnr.resetPeek();\n        return {\n            isModulo: ret,\n            hasSpace: spaces.length > 0\n        };\n    }\n    function isTextStart(scnr, reset = true) {\n        const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n            const ch = scnr.currentPeek();\n            if (ch === \"{\" /* TokenChars.BraceLeft */) {\n                return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n            }\n            else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n                return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n            }\n            else if (ch === \"%\" /* TokenChars.Modulo */) {\n                scnr.peek();\n                return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n            }\n            else if (ch === \"|\" /* TokenChars.Pipe */) {\n                return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n                    ? true\n                    : !(prev === CHAR_SP || prev === CHAR_LF);\n            }\n            else if (ch === CHAR_SP) {\n                scnr.peek();\n                return fn(true, CHAR_SP, detectModulo);\n            }\n            else if (ch === CHAR_LF) {\n                scnr.peek();\n                return fn(true, CHAR_LF, detectModulo);\n            }\n            else {\n                return true;\n            }\n        };\n        const ret = fn();\n        reset && scnr.resetPeek();\n        return ret;\n    }\n    function takeChar(scnr, fn) {\n        const ch = scnr.currentChar();\n        if (ch === EOF) {\n            return EOF;\n        }\n        if (fn(ch)) {\n            scnr.next();\n            return ch;\n        }\n        return null;\n    }\n    function isIdentifier(ch) {\n        const cc = ch.charCodeAt(0);\n        return ((cc >= 97 && cc <= 122) || // a-z\n            (cc >= 65 && cc <= 90) || // A-Z\n            (cc >= 48 && cc <= 57) || // 0-9\n            cc === 95 || // _\n            cc === 36 // $\n        );\n    }\n    function takeIdentifierChar(scnr) {\n        return takeChar(scnr, isIdentifier);\n    }\n    function isNamedIdentifier(ch) {\n        const cc = ch.charCodeAt(0);\n        return ((cc >= 97 && cc <= 122) || // a-z\n            (cc >= 65 && cc <= 90) || // A-Z\n            (cc >= 48 && cc <= 57) || // 0-9\n            cc === 95 || // _\n            cc === 36 || // $\n            cc === 45 // -\n        );\n    }\n    function takeNamedIdentifierChar(scnr) {\n        return takeChar(scnr, isNamedIdentifier);\n    }\n    function isDigit(ch) {\n        const cc = ch.charCodeAt(0);\n        return cc >= 48 && cc <= 57; // 0-9\n    }\n    function takeDigit(scnr) {\n        return takeChar(scnr, isDigit);\n    }\n    function isHexDigit(ch) {\n        const cc = ch.charCodeAt(0);\n        return ((cc >= 48 && cc <= 57) || // 0-9\n            (cc >= 65 && cc <= 70) || // A-F\n            (cc >= 97 && cc <= 102)); // a-f\n    }\n    function takeHexDigit(scnr) {\n        return takeChar(scnr, isHexDigit);\n    }\n    function getDigits(scnr) {\n        let ch = '';\n        let num = '';\n        while ((ch = takeDigit(scnr))) {\n            num += ch;\n        }\n        return num;\n    }\n    function readModulo(scnr) {\n        skipSpaces(scnr);\n        const ch = scnr.currentChar();\n        if (ch !== \"%\" /* TokenChars.Modulo */) {\n            emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n        }\n        scnr.next();\n        return \"%\" /* TokenChars.Modulo */;\n    }\n    function readText(scnr) {\n        let buf = '';\n        // eslint-disable-next-line no-constant-condition\n        while (true) {\n            const ch = scnr.currentChar();\n            if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n                ch === \"}\" /* TokenChars.BraceRight */ ||\n                ch === \"@\" /* TokenChars.LinkedAlias */ ||\n                ch === \"|\" /* TokenChars.Pipe */ ||\n                !ch) {\n                break;\n            }\n            else if (ch === \"%\" /* TokenChars.Modulo */) {\n                if (isTextStart(scnr)) {\n                    buf += ch;\n                    scnr.next();\n                }\n                else {\n                    break;\n                }\n            }\n            else if (ch === CHAR_SP || ch === CHAR_LF) {\n                if (isTextStart(scnr)) {\n                    buf += ch;\n                    scnr.next();\n                }\n                else if (isPluralStart(scnr)) {\n                    break;\n                }\n                else {\n                    buf += ch;\n                    scnr.next();\n                }\n            }\n            else {\n                buf += ch;\n                scnr.next();\n            }\n        }\n        return buf;\n    }\n    function readNamedIdentifier(scnr) {\n        skipSpaces(scnr);\n        let ch = '';\n        let name = '';\n        while ((ch = takeNamedIdentifierChar(scnr))) {\n            name += ch;\n        }\n        if (scnr.currentChar() === EOF) {\n            emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n        }\n        return name;\n    }\n    function readListIdentifier(scnr) {\n        skipSpaces(scnr);\n        let value = '';\n        if (scnr.currentChar() === '-') {\n            scnr.next();\n            value += `-${getDigits(scnr)}`;\n        }\n        else {\n            value += getDigits(scnr);\n        }\n        if (scnr.currentChar() === EOF) {\n            emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n        }\n        return value;\n    }\n    function isLiteral(ch) {\n        return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n    }\n    function readLiteral(scnr) {\n        skipSpaces(scnr);\n        // eslint-disable-next-line no-useless-escape\n        eat(scnr, `\\'`);\n        let ch = '';\n        let literal = '';\n        while ((ch = takeChar(scnr, isLiteral))) {\n            if (ch === '\\\\') {\n                literal += readEscapeSequence(scnr);\n            }\n            else {\n                literal += ch;\n            }\n        }\n        const current = scnr.currentChar();\n        if (current === CHAR_LF || current === EOF) {\n            emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n            // TODO: Is it correct really?\n            if (current === CHAR_LF) {\n                scnr.next();\n                // eslint-disable-next-line no-useless-escape\n                eat(scnr, `\\'`);\n            }\n            return literal;\n        }\n        // eslint-disable-next-line no-useless-escape\n        eat(scnr, `\\'`);\n        return literal;\n    }\n    function readEscapeSequence(scnr) {\n        const ch = scnr.currentChar();\n        switch (ch) {\n            case '\\\\':\n            case `\\'`: // eslint-disable-line no-useless-escape\n                scnr.next();\n                return `\\\\${ch}`;\n            case 'u':\n                return readUnicodeEscapeSequence(scnr, ch, 4);\n            case 'U':\n                return readUnicodeEscapeSequence(scnr, ch, 6);\n            default:\n                emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n                return '';\n        }\n    }\n    function readUnicodeEscapeSequence(scnr, unicode, digits) {\n        eat(scnr, unicode);\n        let sequence = '';\n        for (let i = 0; i < digits; i++) {\n            const ch = takeHexDigit(scnr);\n            if (!ch) {\n                emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n                break;\n            }\n            sequence += ch;\n        }\n        return `\\\\${unicode}${sequence}`;\n    }\n    function isInvalidIdentifier(ch) {\n        return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n            ch !== \"}\" /* TokenChars.BraceRight */ &&\n            ch !== CHAR_SP &&\n            ch !== CHAR_LF);\n    }\n    function readInvalidIdentifier(scnr) {\n        skipSpaces(scnr);\n        let ch = '';\n        let identifiers = '';\n        while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n            identifiers += ch;\n        }\n        return identifiers;\n    }\n    function readLinkedModifier(scnr) {\n        let ch = '';\n        let name = '';\n        while ((ch = takeIdentifierChar(scnr))) {\n            name += ch;\n        }\n        return name;\n    }\n    function readLinkedRefer(scnr) {\n        const fn = (buf) => {\n            const ch = scnr.currentChar();\n            if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n                ch === \"%\" /* TokenChars.Modulo */ ||\n                ch === \"@\" /* TokenChars.LinkedAlias */ ||\n                ch === \"|\" /* TokenChars.Pipe */ ||\n                ch === \"(\" /* TokenChars.ParenLeft */ ||\n                ch === \")\" /* TokenChars.ParenRight */ ||\n                !ch) {\n                return buf;\n            }\n            else if (ch === CHAR_SP) {\n                return buf;\n            }\n            else if (ch === CHAR_LF || ch === DOT) {\n                buf += ch;\n                scnr.next();\n                return fn(buf);\n            }\n            else {\n                buf += ch;\n                scnr.next();\n                return fn(buf);\n            }\n        };\n        return fn('');\n    }\n    function readPlural(scnr) {\n        skipSpaces(scnr);\n        const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n        skipSpaces(scnr);\n        return plural;\n    }\n    // TODO: We need refactoring of token parsing ...\n    function readTokenInPlaceholder(scnr, context) {\n        let token = null;\n        const ch = scnr.currentChar();\n        switch (ch) {\n            case \"{\" /* TokenChars.BraceLeft */:\n                if (context.braceNest >= 1) {\n                    emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n                }\n                scnr.next();\n                token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n                skipSpaces(scnr);\n                context.braceNest++;\n                return token;\n            case \"}\" /* TokenChars.BraceRight */:\n                if (context.braceNest > 0 &&\n                    context.currentType === 2 /* TokenTypes.BraceLeft */) {\n                    emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n                }\n                scnr.next();\n                token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n                context.braceNest--;\n                context.braceNest > 0 && skipSpaces(scnr);\n                if (context.inLinked && context.braceNest === 0) {\n                    context.inLinked = false;\n                }\n                return token;\n            case \"@\" /* TokenChars.LinkedAlias */:\n                if (context.braceNest > 0) {\n                    emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n                }\n                token = readTokenInLinked(scnr, context) || getEndToken(context);\n                context.braceNest = 0;\n                return token;\n            default: {\n                let validNamedIdentifier = true;\n                let validListIdentifier = true;\n                let validLiteral = true;\n                if (isPluralStart(scnr)) {\n                    if (context.braceNest > 0) {\n                        emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n                    }\n                    token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n                    // reset\n                    context.braceNest = 0;\n                    context.inLinked = false;\n                    return token;\n                }\n                if (context.braceNest > 0 &&\n                    (context.currentType === 5 /* TokenTypes.Named */ ||\n                        context.currentType === 6 /* TokenTypes.List */ ||\n                        context.currentType === 7 /* TokenTypes.Literal */)) {\n                    emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n                    context.braceNest = 0;\n                    return readToken(scnr, context);\n                }\n                if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n                    token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n                    skipSpaces(scnr);\n                    return token;\n                }\n                if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n                    token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n                    skipSpaces(scnr);\n                    return token;\n                }\n                if ((validLiteral = isLiteralStart(scnr, context))) {\n                    token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n                    skipSpaces(scnr);\n                    return token;\n                }\n                if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n                    // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n                    token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n                    emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n                    skipSpaces(scnr);\n                    return token;\n                }\n                break;\n            }\n        }\n        return token;\n    }\n    // TODO: We need refactoring of token parsing ...\n    function readTokenInLinked(scnr, context) {\n        const { currentType } = context;\n        let token = null;\n        const ch = scnr.currentChar();\n        if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n            currentType === 9 /* TokenTypes.LinkedDot */ ||\n            currentType === 12 /* TokenTypes.LinkedModifier */ ||\n            currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n            (ch === CHAR_LF || ch === CHAR_SP)) {\n            emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n        }\n        switch (ch) {\n            case \"@\" /* TokenChars.LinkedAlias */:\n                scnr.next();\n                token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n                context.inLinked = true;\n                return token;\n            case \".\" /* TokenChars.LinkedDot */:\n                skipSpaces(scnr);\n                scnr.next();\n                return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n            case \":\" /* TokenChars.LinkedDelimiter */:\n                skipSpaces(scnr);\n                scnr.next();\n                return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n            default:\n                if (isPluralStart(scnr)) {\n                    token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n                    // reset\n                    context.braceNest = 0;\n                    context.inLinked = false;\n                    return token;\n                }\n                if (isLinkedDotStart(scnr, context) ||\n                    isLinkedDelimiterStart(scnr, context)) {\n                    skipSpaces(scnr);\n                    return readTokenInLinked(scnr, context);\n                }\n                if (isLinkedModifierStart(scnr, context)) {\n                    skipSpaces(scnr);\n                    return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n                }\n                if (isLinkedReferStart(scnr, context)) {\n                    skipSpaces(scnr);\n                    if (ch === \"{\" /* TokenChars.BraceLeft */) {\n                        // scan the placeholder\n                        return readTokenInPlaceholder(scnr, context) || token;\n                    }\n                    else {\n                        return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n                    }\n                }\n                if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n                    emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n                }\n                context.braceNest = 0;\n                context.inLinked = false;\n                return readToken(scnr, context);\n        }\n    }\n    // TODO: We need refactoring of token parsing ...\n    function readToken(scnr, context) {\n        let token = { type: 14 /* TokenTypes.EOF */ };\n        if (context.braceNest > 0) {\n            return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n        }\n        if (context.inLinked) {\n            return readTokenInLinked(scnr, context) || getEndToken(context);\n        }\n        const ch = scnr.currentChar();\n        switch (ch) {\n            case \"{\" /* TokenChars.BraceLeft */:\n                return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n            case \"}\" /* TokenChars.BraceRight */:\n                emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n                scnr.next();\n                return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n            case \"@\" /* TokenChars.LinkedAlias */:\n                return readTokenInLinked(scnr, context) || getEndToken(context);\n            default: {\n                if (isPluralStart(scnr)) {\n                    token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n                    // reset\n                    context.braceNest = 0;\n                    context.inLinked = false;\n                    return token;\n                }\n                const { isModulo, hasSpace } = detectModuloStart(scnr);\n                if (isModulo) {\n                    return hasSpace\n                        ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n                        : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n                }\n                if (isTextStart(scnr)) {\n                    return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n                }\n                break;\n            }\n        }\n        return token;\n    }\n    function nextToken() {\n        const { currentType, offset, startLoc, endLoc } = _context;\n        _context.lastType = currentType;\n        _context.lastOffset = offset;\n        _context.lastStartLoc = startLoc;\n        _context.lastEndLoc = endLoc;\n        _context.offset = currentOffset();\n        _context.startLoc = currentPosition();\n        if (_scnr.currentChar() === EOF) {\n            return getToken(_context, 14 /* TokenTypes.EOF */);\n        }\n        return readToken(_scnr, _context);\n    }\n    return {\n        nextToken,\n        currentOffset,\n        currentPosition,\n        context\n    };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n    switch (match) {\n        case `\\\\\\\\`:\n            return `\\\\`;\n        // eslint-disable-next-line no-useless-escape\n        case `\\\\\\'`:\n            // eslint-disable-next-line no-useless-escape\n            return `\\'`;\n        default: {\n            const codePoint = parseInt(codePoint4 || codePoint6, 16);\n            if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n                return String.fromCodePoint(codePoint);\n            }\n            // invalid ...\n            // Replace them with U+FFFD REPLACEMENT CHARACTER.\n            return '�';\n        }\n    }\n}\nfunction createParser(options = {}) {\n    const location = options.location !== false;\n    const { onError, onWarn } = options;\n    function emitError(tokenzer, code, start, offset, ...args) {\n        const end = tokenzer.currentPosition();\n        end.offset += offset;\n        end.column += offset;\n        if (onError) {\n            const loc = location ? createLocation(start, end) : null;\n            const err = createCompileError(code, loc, {\n                domain: ERROR_DOMAIN$2,\n                args\n            });\n            onError(err);\n        }\n    }\n    function emitWarn(tokenzer, code, start, offset, ...args) {\n        const end = tokenzer.currentPosition();\n        end.offset += offset;\n        end.column += offset;\n        if (onWarn) {\n            const loc = location ? createLocation(start, end) : null;\n            onWarn(createCompileWarn(code, loc, args));\n        }\n    }\n    function startNode(type, offset, loc) {\n        const node = { type };\n        if (location) {\n            node.start = offset;\n            node.end = offset;\n            node.loc = { start: loc, end: loc };\n        }\n        return node;\n    }\n    function endNode(node, offset, pos, type) {\n        if (type) {\n            node.type = type;\n        }\n        if (location) {\n            node.end = offset;\n            if (node.loc) {\n                node.loc.end = pos;\n            }\n        }\n    }\n    function parseText(tokenizer, value) {\n        const context = tokenizer.context();\n        const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n        node.value = value;\n        endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n        return node;\n    }\n    function parseList(tokenizer, index) {\n        const context = tokenizer.context();\n        const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n        const node = startNode(5 /* NodeTypes.List */, offset, loc);\n        node.index = parseInt(index, 10);\n        tokenizer.nextToken(); // skip brach right\n        endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n        return node;\n    }\n    function parseNamed(tokenizer, key, modulo) {\n        const context = tokenizer.context();\n        const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n        const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n        node.key = key;\n        if (modulo === true) {\n            node.modulo = true;\n        }\n        tokenizer.nextToken(); // skip brach right\n        endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n        return node;\n    }\n    function parseLiteral(tokenizer, value) {\n        const context = tokenizer.context();\n        const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n        const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n        node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n        tokenizer.nextToken(); // skip brach right\n        endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n        return node;\n    }\n    function parseLinkedModifier(tokenizer) {\n        const token = tokenizer.nextToken();\n        const context = tokenizer.context();\n        const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n        const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n        if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n            // empty modifier\n            emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n            node.value = '';\n            endNode(node, offset, loc);\n            return {\n                nextConsumeToken: token,\n                node\n            };\n        }\n        // check token\n        if (token.value == null) {\n            emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n        }\n        node.value = token.value || '';\n        endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n        return {\n            node\n        };\n    }\n    function parseLinkedKey(tokenizer, value) {\n        const context = tokenizer.context();\n        const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n        node.value = value;\n        endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n        return node;\n    }\n    function parseLinked(tokenizer) {\n        const context = tokenizer.context();\n        const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n        let token = tokenizer.nextToken();\n        if (token.type === 9 /* TokenTypes.LinkedDot */) {\n            const parsed = parseLinkedModifier(tokenizer);\n            linkedNode.modifier = parsed.node;\n            token = parsed.nextConsumeToken || tokenizer.nextToken();\n        }\n        // asset check token\n        if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n            emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n        }\n        token = tokenizer.nextToken();\n        // skip brace left\n        if (token.type === 2 /* TokenTypes.BraceLeft */) {\n            token = tokenizer.nextToken();\n        }\n        switch (token.type) {\n            case 11 /* TokenTypes.LinkedKey */:\n                if (token.value == null) {\n                    emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n                }\n                linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n                break;\n            case 5 /* TokenTypes.Named */:\n                if (token.value == null) {\n                    emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n                }\n                linkedNode.key = parseNamed(tokenizer, token.value || '');\n                break;\n            case 6 /* TokenTypes.List */:\n                if (token.value == null) {\n                    emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n                }\n                linkedNode.key = parseList(tokenizer, token.value || '');\n                break;\n            case 7 /* TokenTypes.Literal */:\n                if (token.value == null) {\n                    emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n                }\n                linkedNode.key = parseLiteral(tokenizer, token.value || '');\n                break;\n            default: {\n                // empty key\n                emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n                const nextContext = tokenizer.context();\n                const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n                emptyLinkedKeyNode.value = '';\n                endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n                linkedNode.key = emptyLinkedKeyNode;\n                endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n                return {\n                    nextConsumeToken: token,\n                    node: linkedNode\n                };\n            }\n        }\n        endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n        return {\n            node: linkedNode\n        };\n    }\n    function parseMessage(tokenizer) {\n        const context = tokenizer.context();\n        const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n            ? tokenizer.currentOffset()\n            : context.offset;\n        const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n            ? context.endLoc\n            : context.startLoc;\n        const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n        node.items = [];\n        let nextToken = null;\n        let modulo = null;\n        do {\n            const token = nextToken || tokenizer.nextToken();\n            nextToken = null;\n            switch (token.type) {\n                case 0 /* TokenTypes.Text */:\n                    if (token.value == null) {\n                        emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n                    }\n                    node.items.push(parseText(tokenizer, token.value || ''));\n                    break;\n                case 6 /* TokenTypes.List */:\n                    if (token.value == null) {\n                        emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n                    }\n                    node.items.push(parseList(tokenizer, token.value || ''));\n                    break;\n                case 4 /* TokenTypes.Modulo */:\n                    modulo = true;\n                    break;\n                case 5 /* TokenTypes.Named */:\n                    if (token.value == null) {\n                        emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n                    }\n                    node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));\n                    if (modulo) {\n                        emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));\n                        modulo = null;\n                    }\n                    break;\n                case 7 /* TokenTypes.Literal */:\n                    if (token.value == null) {\n                        emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n                    }\n                    node.items.push(parseLiteral(tokenizer, token.value || ''));\n                    break;\n                case 8 /* TokenTypes.LinkedAlias */: {\n                    const parsed = parseLinked(tokenizer);\n                    node.items.push(parsed.node);\n                    nextToken = parsed.nextConsumeToken || null;\n                    break;\n                }\n            }\n        } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n            context.currentType !== 1 /* TokenTypes.Pipe */);\n        // adjust message node loc\n        const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n            ? context.lastOffset\n            : tokenizer.currentOffset();\n        const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n            ? context.lastEndLoc\n            : tokenizer.currentPosition();\n        endNode(node, endOffset, endLoc);\n        return node;\n    }\n    function parsePlural(tokenizer, offset, loc, msgNode) {\n        const context = tokenizer.context();\n        let hasEmptyMessage = msgNode.items.length === 0;\n        const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n        node.cases = [];\n        node.cases.push(msgNode);\n        do {\n            const msg = parseMessage(tokenizer);\n            if (!hasEmptyMessage) {\n                hasEmptyMessage = msg.items.length === 0;\n            }\n            node.cases.push(msg);\n        } while (context.currentType !== 14 /* TokenTypes.EOF */);\n        if (hasEmptyMessage) {\n            emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n        }\n        endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n        return node;\n    }\n    function parseResource(tokenizer) {\n        const context = tokenizer.context();\n        const { offset, startLoc } = context;\n        const msgNode = parseMessage(tokenizer);\n        if (context.currentType === 14 /* TokenTypes.EOF */) {\n            return msgNode;\n        }\n        else {\n            return parsePlural(tokenizer, offset, startLoc, msgNode);\n        }\n    }\n    function parse(source) {\n        const tokenizer = createTokenizer(source, assign({}, options));\n        const context = tokenizer.context();\n        const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n        if (location && node.loc) {\n            node.loc.source = source;\n        }\n        node.body = parseResource(tokenizer);\n        if (options.onCacheKey) {\n            node.cacheKey = options.onCacheKey(source);\n        }\n        // assert whether achieved to EOF\n        if (context.currentType !== 14 /* TokenTypes.EOF */) {\n            emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n        }\n        endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n        return node;\n    }\n    return { parse };\n}\nfunction getTokenCaption(token) {\n    if (token.type === 14 /* TokenTypes.EOF */) {\n        return 'EOF';\n    }\n    const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n    return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n    const _context = {\n        ast,\n        helpers: new Set()\n    };\n    const context = () => _context;\n    const helper = (name) => {\n        _context.helpers.add(name);\n        return name;\n    };\n    return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n    for (let i = 0; i < nodes.length; i++) {\n        traverseNode(nodes[i], transformer);\n    }\n}\nfunction traverseNode(node, transformer) {\n    // TODO: if we need pre-hook of transform, should be implemented to here\n    switch (node.type) {\n        case 1 /* NodeTypes.Plural */:\n            traverseNodes(node.cases, transformer);\n            transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n            break;\n        case 2 /* NodeTypes.Message */:\n            traverseNodes(node.items, transformer);\n            break;\n        case 6 /* NodeTypes.Linked */: {\n            const linked = node;\n            traverseNode(linked.key, transformer);\n            transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n            transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n            break;\n        }\n        case 5 /* NodeTypes.List */:\n            transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n            transformer.helper(\"list\" /* HelperNameMap.LIST */);\n            break;\n        case 4 /* NodeTypes.Named */:\n            transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n            transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n            break;\n    }\n    // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n    const transformer = createTransformer(ast);\n    transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n    // traverse\n    ast.body && traverseNode(ast.body, transformer);\n    // set meta information\n    const context = transformer.context();\n    ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n    const body = ast.body;\n    if (body.type === 2 /* NodeTypes.Message */) {\n        optimizeMessageNode(body);\n    }\n    else {\n        body.cases.forEach(c => optimizeMessageNode(c));\n    }\n    return ast;\n}\nfunction optimizeMessageNode(message) {\n    if (message.items.length === 1) {\n        const item = message.items[0];\n        if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n            message.static = item.value;\n            delete item.value; // optimization for size\n        }\n    }\n    else {\n        const values = [];\n        for (let i = 0; i < message.items.length; i++) {\n            const item = message.items[i];\n            if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n                break;\n            }\n            if (item.value == null) {\n                break;\n            }\n            values.push(item.value);\n        }\n        if (values.length === message.items.length) {\n            message.static = join(values);\n            for (let i = 0; i < message.items.length; i++) {\n                const item = message.items[i];\n                if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n                    delete item.value; // optimization for size\n                }\n            }\n        }\n    }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n    node.t = node.type;\n    switch (node.type) {\n        case 0 /* NodeTypes.Resource */: {\n            const resource = node;\n            minify(resource.body);\n            resource.b = resource.body;\n            delete resource.body;\n            break;\n        }\n        case 1 /* NodeTypes.Plural */: {\n            const plural = node;\n            const cases = plural.cases;\n            for (let i = 0; i < cases.length; i++) {\n                minify(cases[i]);\n            }\n            plural.c = cases;\n            delete plural.cases;\n            break;\n        }\n        case 2 /* NodeTypes.Message */: {\n            const message = node;\n            const items = message.items;\n            for (let i = 0; i < items.length; i++) {\n                minify(items[i]);\n            }\n            message.i = items;\n            delete message.items;\n            if (message.static) {\n                message.s = message.static;\n                delete message.static;\n            }\n            break;\n        }\n        case 3 /* NodeTypes.Text */:\n        case 9 /* NodeTypes.Literal */:\n        case 8 /* NodeTypes.LinkedModifier */:\n        case 7 /* NodeTypes.LinkedKey */: {\n            const valueNode = node;\n            if (valueNode.value) {\n                valueNode.v = valueNode.value;\n                delete valueNode.value;\n            }\n            break;\n        }\n        case 6 /* NodeTypes.Linked */: {\n            const linked = node;\n            minify(linked.key);\n            linked.k = linked.key;\n            delete linked.key;\n            if (linked.modifier) {\n                minify(linked.modifier);\n                linked.m = linked.modifier;\n                delete linked.modifier;\n            }\n            break;\n        }\n        case 5 /* NodeTypes.List */: {\n            const list = node;\n            list.i = list.index;\n            delete list.index;\n            break;\n        }\n        case 4 /* NodeTypes.Named */: {\n            const named = node;\n            named.k = named.key;\n            delete named.key;\n            break;\n        }\n        default:\n            {\n                throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n                    domain: ERROR_DOMAIN$1,\n                    args: [node.type]\n                });\n            }\n    }\n    delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference types=\"source-map-js\" />\nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n    const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n    const location = options.location !== false;\n    const _context = {\n        filename,\n        code: '',\n        column: 1,\n        line: 1,\n        offset: 0,\n        map: undefined,\n        breakLineCode,\n        needIndent: _needIndent,\n        indentLevel: 0\n    };\n    if (location && ast.loc) {\n        _context.source = ast.loc.source;\n    }\n    const context = () => _context;\n    function push(code, node) {\n        _context.code += code;\n    }\n    function _newline(n, withBreakLine = true) {\n        const _breakLineCode = withBreakLine ? breakLineCode : '';\n        push(_needIndent ? _breakLineCode + `  `.repeat(n) : _breakLineCode);\n    }\n    function indent(withNewLine = true) {\n        const level = ++_context.indentLevel;\n        withNewLine && _newline(level);\n    }\n    function deindent(withNewLine = true) {\n        const level = --_context.indentLevel;\n        withNewLine && _newline(level);\n    }\n    function newline() {\n        _newline(_context.indentLevel);\n    }\n    const helper = (key) => `_${key}`;\n    const needIndent = () => _context.needIndent;\n    return {\n        context,\n        push,\n        indent,\n        deindent,\n        newline,\n        helper,\n        needIndent\n    };\n}\nfunction generateLinkedNode(generator, node) {\n    const { helper } = generator;\n    generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n    generateNode(generator, node.key);\n    if (node.modifier) {\n        generator.push(`, `);\n        generateNode(generator, node.modifier);\n        generator.push(`, _type`);\n    }\n    else {\n        generator.push(`, undefined, _type`);\n    }\n    generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n    const { helper, needIndent } = generator;\n    generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n    generator.indent(needIndent());\n    const length = node.items.length;\n    for (let i = 0; i < length; i++) {\n        generateNode(generator, node.items[i]);\n        if (i === length - 1) {\n            break;\n        }\n        generator.push(', ');\n    }\n    generator.deindent(needIndent());\n    generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n    const { helper, needIndent } = generator;\n    if (node.cases.length > 1) {\n        generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n        generator.indent(needIndent());\n        const length = node.cases.length;\n        for (let i = 0; i < length; i++) {\n            generateNode(generator, node.cases[i]);\n            if (i === length - 1) {\n                break;\n            }\n            generator.push(', ');\n        }\n        generator.deindent(needIndent());\n        generator.push(`])`);\n    }\n}\nfunction generateResource(generator, node) {\n    if (node.body) {\n        generateNode(generator, node.body);\n    }\n    else {\n        generator.push('null');\n    }\n}\nfunction generateNode(generator, node) {\n    const { helper } = generator;\n    switch (node.type) {\n        case 0 /* NodeTypes.Resource */:\n            generateResource(generator, node);\n            break;\n        case 1 /* NodeTypes.Plural */:\n            generatePluralNode(generator, node);\n            break;\n        case 2 /* NodeTypes.Message */:\n            generateMessageNode(generator, node);\n            break;\n        case 6 /* NodeTypes.Linked */:\n            generateLinkedNode(generator, node);\n            break;\n        case 8 /* NodeTypes.LinkedModifier */:\n            generator.push(JSON.stringify(node.value), node);\n            break;\n        case 7 /* NodeTypes.LinkedKey */:\n            generator.push(JSON.stringify(node.value), node);\n            break;\n        case 5 /* NodeTypes.List */:\n            generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n            break;\n        case 4 /* NodeTypes.Named */:\n            generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n            break;\n        case 9 /* NodeTypes.Literal */:\n            generator.push(JSON.stringify(node.value), node);\n            break;\n        case 3 /* NodeTypes.Text */:\n            generator.push(JSON.stringify(node.value), node);\n            break;\n        default:\n            {\n                throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n                    domain: ERROR_DOMAIN,\n                    args: [node.type]\n                });\n            }\n    }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n    const mode = isString(options.mode) ? options.mode : 'normal';\n    const filename = isString(options.filename)\n        ? options.filename\n        : 'message.intl';\n    const sourceMap = !!options.sourceMap;\n    // prettier-ignore\n    const breakLineCode = options.breakLineCode != null\n        ? options.breakLineCode\n        : mode === 'arrow'\n            ? ';'\n            : '\\n';\n    const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n    const helpers = ast.helpers || [];\n    const generator = createCodeGenerator(ast, {\n        mode,\n        filename,\n        sourceMap,\n        breakLineCode,\n        needIndent\n    });\n    generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n    generator.indent(needIndent);\n    if (helpers.length > 0) {\n        generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n        generator.newline();\n    }\n    generator.push(`return `);\n    generateNode(generator, ast);\n    generator.deindent(needIndent);\n    generator.push(`}`);\n    delete ast.helpers;\n    const { code, map } = generator.context();\n    return {\n        ast,\n        code,\n        map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n    };\n};\n\nfunction baseCompile(source, options = {}) {\n    const assignedOptions = assign({}, options);\n    const jit = !!assignedOptions.jit;\n    const enalbeMinify = !!assignedOptions.minify;\n    const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n    // parse source codes\n    const parser = createParser(assignedOptions);\n    const ast = parser.parse(source);\n    if (!jit) {\n        // transform ASTs\n        transform(ast, assignedOptions);\n        // generate javascript codes\n        return generate(ast, assignedOptions);\n    }\n    else {\n        // optimize ASTs\n        enambeOptimize && optimize(ast);\n        // minimize ASTs\n        enalbeMinify && minify(ast);\n        // In JIT mode, no ast transform, no code generation.\n        return { ast, code: '' };\n    }\n}\n\nexport { CompileErrorCodes, CompileWarnCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createCompileWarn, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages, warnMessages };\n","/*!\n  * core-base v9.14.3\n  * (c) 2025 kazuya kawaguchi\n  * Released under the MIT License.\n  */\nimport { getGlobalThis, isObject, isFunction, isString, create, isNumber, isPlainObject, assign, join, toDisplayString, isArray, incrementer, format as format$1, isPromise, isBoolean, warn, isRegExp, warnOnce, hasOwn, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate } from '@intlify/shared';\nimport { CompileWarnCodes, CompileErrorCodes, createCompileError, detectHtmlTag, defaultOnError, baseCompile as baseCompile$1 } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n    if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n        getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n    }\n    if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n        getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n    }\n    if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n        getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n    }\n}\n\nconst pathStateMachine =  [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n    [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n    [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n    [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n    [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n    [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n    [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n    [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n    [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n    [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n    [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n    [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n    [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n    [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n    [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n    [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n    [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n    [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n    [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n    [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n    [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n        4 /* States.IN_SUB_PATH */,\n        2 /* Actions.INC_SUB_PATH_DEPTH */\n    ],\n    [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n    [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n    [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n    [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n    [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n    [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n    [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n    [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n    [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n    return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n    const a = str.charCodeAt(0);\n    const b = str.charCodeAt(str.length - 1);\n    return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n    if (ch === undefined || ch === null) {\n        return \"o\" /* PathCharTypes.END_OF_FAIL */;\n    }\n    const code = ch.charCodeAt(0);\n    switch (code) {\n        case 0x5b: // [\n        case 0x5d: // ]\n        case 0x2e: // .\n        case 0x22: // \"\n        case 0x27: // '\n            return ch;\n        case 0x5f: // _\n        case 0x24: // $\n        case 0x2d: // -\n            return \"i\" /* PathCharTypes.IDENT */;\n        case 0x09: // Tab (HT)\n        case 0x0a: // Newline (LF)\n        case 0x0d: // Return (CR)\n        case 0xa0: // No-break space (NBSP)\n        case 0xfeff: // Byte Order Mark (BOM)\n        case 0x2028: // Line Separator (LS)\n        case 0x2029: // Paragraph Separator (PS)\n            return \"w\" /* PathCharTypes.WORKSPACE */;\n    }\n    return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n    const trimmed = path.trim();\n    // invalid leading 0\n    if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n        return false;\n    }\n    return isLiteral(trimmed)\n        ? stripQuotes(trimmed)\n        : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n    const keys = [];\n    let index = -1;\n    let mode = 0 /* States.BEFORE_PATH */;\n    let subPathDepth = 0;\n    let c;\n    let key; // eslint-disable-line\n    let newChar;\n    let type;\n    let transition;\n    let action;\n    let typeMap;\n    const actions = [];\n    actions[0 /* Actions.APPEND */] = () => {\n        if (key === undefined) {\n            key = newChar;\n        }\n        else {\n            key += newChar;\n        }\n    };\n    actions[1 /* Actions.PUSH */] = () => {\n        if (key !== undefined) {\n            keys.push(key);\n            key = undefined;\n        }\n    };\n    actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n        actions[0 /* Actions.APPEND */]();\n        subPathDepth++;\n    };\n    actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n        if (subPathDepth > 0) {\n            subPathDepth--;\n            mode = 4 /* States.IN_SUB_PATH */;\n            actions[0 /* Actions.APPEND */]();\n        }\n        else {\n            subPathDepth = 0;\n            if (key === undefined) {\n                return false;\n            }\n            key = formatSubPath(key);\n            if (key === false) {\n                return false;\n            }\n            else {\n                actions[1 /* Actions.PUSH */]();\n            }\n        }\n    };\n    function maybeUnescapeQuote() {\n        const nextChar = path[index + 1];\n        if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n            nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n            (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n                nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n            index++;\n            newChar = '\\\\' + nextChar;\n            actions[0 /* Actions.APPEND */]();\n            return true;\n        }\n    }\n    while (mode !== null) {\n        index++;\n        c = path[index];\n        if (c === '\\\\' && maybeUnescapeQuote()) {\n            continue;\n        }\n        type = getPathCharType(c);\n        typeMap = pathStateMachine[mode];\n        transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n        // check parse error\n        if (transition === 8 /* States.ERROR */) {\n            return;\n        }\n        mode = transition[0];\n        if (transition[1] !== undefined) {\n            action = actions[transition[1]];\n            if (action) {\n                newChar = c;\n                if (action() === false) {\n                    return;\n                }\n            }\n        }\n        // check parse finish\n        if (mode === 7 /* States.AFTER_PATH */) {\n            return keys;\n        }\n    }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n    return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue$1(obj, path) {\n    // check object\n    if (!isObject(obj)) {\n        return null;\n    }\n    // parse path\n    let hit = cache.get(path);\n    if (!hit) {\n        hit = parse(path);\n        if (hit) {\n            cache.set(path, hit);\n        }\n    }\n    // check hit\n    if (!hit) {\n        return null;\n    }\n    // resolve path value\n    const len = hit.length;\n    let last = obj;\n    let i = 0;\n    while (i < len) {\n        const val = last[hit[i]];\n        if (val === undefined) {\n            return null;\n        }\n        if (isFunction(last)) {\n            return null;\n        }\n        last = val;\n        i++;\n    }\n    return last;\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n    choice = Math.abs(choice);\n    if (choicesLength === 2) {\n        // prettier-ignore\n        return choice\n            ? choice > 1\n                ? 1\n                : 0\n            : 1;\n    }\n    return choice ? Math.min(choice, 2) : 0;\n}\nfunction getPluralIndex(options) {\n    // prettier-ignore\n    const index = isNumber(options.pluralIndex)\n        ? options.pluralIndex\n        : -1;\n    // prettier-ignore\n    return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\n        ? isNumber(options.named.count)\n            ? options.named.count\n            : isNumber(options.named.n)\n                ? options.named.n\n                : index\n        : index;\n}\nfunction normalizeNamed(pluralIndex, props) {\n    if (!props.count) {\n        props.count = pluralIndex;\n    }\n    if (!props.n) {\n        props.n = pluralIndex;\n    }\n}\nfunction createMessageContext(options = {}) {\n    const locale = options.locale;\n    const pluralIndex = getPluralIndex(options);\n    const pluralRule = isObject(options.pluralRules) &&\n        isString(locale) &&\n        isFunction(options.pluralRules[locale])\n        ? options.pluralRules[locale]\n        : pluralDefault;\n    const orgPluralRule = isObject(options.pluralRules) &&\n        isString(locale) &&\n        isFunction(options.pluralRules[locale])\n        ? pluralDefault\n        : undefined;\n    const plural = (messages) => {\n        return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n    };\n    const _list = options.list || [];\n    const list = (index) => _list[index];\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const _named = options.named || create();\n    isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\n    const named = (key) => _named[key];\n    function message(key) {\n        // prettier-ignore\n        const msg = isFunction(options.messages)\n            ? options.messages(key)\n            : isObject(options.messages)\n                ? options.messages[key]\n                : false;\n        return !msg\n            ? options.parent\n                ? options.parent.message(key) // resolve from parent messages\n                : DEFAULT_MESSAGE\n            : msg;\n    }\n    const _modifier = (name) => options.modifiers\n        ? options.modifiers[name]\n        : DEFAULT_MODIFIER;\n    const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\n        ? options.processor.normalize\n        : DEFAULT_NORMALIZE;\n    const interpolate = isPlainObject(options.processor) &&\n        isFunction(options.processor.interpolate)\n        ? options.processor.interpolate\n        : DEFAULT_INTERPOLATE;\n    const type = isPlainObject(options.processor) && isString(options.processor.type)\n        ? options.processor.type\n        : DEFAULT_MESSAGE_DATA_TYPE;\n    const linked = (key, ...args) => {\n        const [arg1, arg2] = args;\n        let type = 'text';\n        let modifier = '';\n        if (args.length === 1) {\n            if (isObject(arg1)) {\n                modifier = arg1.modifier || modifier;\n                type = arg1.type || type;\n            }\n            else if (isString(arg1)) {\n                modifier = arg1 || modifier;\n            }\n        }\n        else if (args.length === 2) {\n            if (isString(arg1)) {\n                modifier = arg1 || modifier;\n            }\n            if (isString(arg2)) {\n                type = arg2 || type;\n            }\n        }\n        const ret = message(key)(ctx);\n        const msg = \n        // The message in vnode resolved with linked are returned as an array by processor.nomalize\n        type === 'vnode' && isArray(ret) && modifier\n            ? ret[0]\n            : ret;\n        return modifier ? _modifier(modifier)(msg, type) : msg;\n    };\n    const ctx = {\n        [\"list\" /* HelperNameMap.LIST */]: list,\n        [\"named\" /* HelperNameMap.NAMED */]: named,\n        [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n        [\"linked\" /* HelperNameMap.LINKED */]: linked,\n        [\"message\" /* HelperNameMap.MESSAGE */]: message,\n        [\"type\" /* HelperNameMap.TYPE */]: type,\n        [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n        [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n        [\"values\" /* HelperNameMap.VALUES */]: assign(create(), _list, _named)\n    };\n    return ctx;\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n    devtools = hook;\n}\nfunction getDevToolsHook() {\n    return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n    // TODO: queue if devtools is undefined\n    devtools &&\n        devtools.emit(\"i18n:init\" /* IntlifyDevToolsHooks.I18nInit */, {\n            timestamp: Date.now(),\n            i18n,\n            version,\n            meta\n        });\n}\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(\"function:translate\" /* IntlifyDevToolsHooks.FunctionTranslate */);\nfunction createDevToolsHook(hook) {\n    return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst code$1 = CompileWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst CoreWarnCodes = {\n    NOT_FOUND_KEY: code$1, // 2\n    FALLBACK_TO_TRANSLATE: inc$1(), // 3\n    CANNOT_FORMAT_NUMBER: inc$1(), // 4\n    FALLBACK_TO_NUMBER_FORMAT: inc$1(), // 5\n    CANNOT_FORMAT_DATE: inc$1(), // 6\n    FALLBACK_TO_DATE_FORMAT: inc$1(), // 7\n    EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: inc$1(), // 8\n    __EXTEND_POINT__: inc$1() // 9\n};\n/** @internal */\nconst warnMessages = {\n    [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n    [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n    [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n    [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n    [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n    [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n    [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`\n};\nfunction getWarnMessage(code, ...args) {\n    return format$1(warnMessages[code], ...args);\n}\n\nconst code = CompileErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst CoreErrorCodes = {\n    INVALID_ARGUMENT: code, // 17\n    INVALID_DATE_ARGUMENT: inc(), // 18\n    INVALID_ISO_DATE_ARGUMENT: inc(), // 19\n    NOT_SUPPORT_NON_STRING_MESSAGE: inc(), // 20\n    NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc(), // 21\n    NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc(), // 22\n    NOT_SUPPORT_LOCALE_TYPE: inc(), // 23\n    __EXTEND_POINT__: inc() // 24\n};\nfunction createCoreError(code) {\n    return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n    [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n    [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n        'Make sure your Date represents a valid date.',\n    [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n    [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n    [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n    [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n    [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n    return options.locale != null\n        ? resolveLocale(options.locale)\n        : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n    if (isString(locale)) {\n        return locale;\n    }\n    else {\n        if (isFunction(locale)) {\n            if (locale.resolvedOnce && _resolveLocale != null) {\n                return _resolveLocale;\n            }\n            else if (locale.constructor.name === 'Function') {\n                const resolve = locale();\n                if (isPromise(resolve)) {\n                    throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n                }\n                return (_resolveLocale = resolve);\n            }\n            else {\n                throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n            }\n        }\n        else {\n            throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n        }\n    }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\n) {\n    // prettier-ignore\n    return [...new Set([\n            start,\n            ...(isArray(fallback)\n                ? fallback\n                : isObject(fallback)\n                    ? Object.keys(fallback)\n                    : isString(fallback)\n                        ? [fallback]\n                        : [start])\n        ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n    const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n    const context = ctx;\n    if (!context.__localeChainCache) {\n        context.__localeChainCache = new Map();\n    }\n    let chain = context.__localeChainCache.get(startLocale);\n    if (!chain) {\n        chain = [];\n        // first block defined by start\n        let block = [start];\n        // while any intervening block found\n        while (isArray(block)) {\n            block = appendBlockToChain(chain, block, fallback);\n        }\n        // prettier-ignore\n        // last block defined by default\n        const defaults = isArray(fallback) || !isPlainObject(fallback)\n            ? fallback\n            : fallback['default']\n                ? fallback['default']\n                : null;\n        // convert defaults to array\n        block = isString(defaults) ? [defaults] : defaults;\n        if (isArray(block)) {\n            appendBlockToChain(chain, block, false);\n        }\n        context.__localeChainCache.set(startLocale, chain);\n    }\n    return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n    let follow = true;\n    for (let i = 0; i < block.length && isBoolean(follow); i++) {\n        const locale = block[i];\n        if (isString(locale)) {\n            follow = appendLocaleToChain(chain, block[i], blocks);\n        }\n    }\n    return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n    let follow;\n    const tokens = locale.split('-');\n    do {\n        const target = tokens.join('-');\n        follow = appendItemToChain(chain, target, blocks);\n        tokens.splice(-1, 1);\n    } while (tokens.length && follow === true);\n    return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n    let follow = false;\n    if (!chain.includes(target)) {\n        follow = true;\n        if (target) {\n            follow = target[target.length - 1] !== '!';\n            const locale = target.replace(/!/g, '');\n            chain.push(locale);\n            if ((isArray(blocks) || isPlainObject(blocks)) &&\n                blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n            ) {\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                follow = blocks[locale];\n            }\n        }\n    }\n    return follow;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '9.14.3';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n    return {\n        upper: (val, type) => {\n            // prettier-ignore\n            return type === 'text' && isString(val)\n                ? val.toUpperCase()\n                : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n                    ? val.children.toUpperCase()\n                    : val;\n        },\n        lower: (val, type) => {\n            // prettier-ignore\n            return type === 'text' && isString(val)\n                ? val.toLowerCase()\n                : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n                    ? val.children.toLowerCase()\n                    : val;\n        },\n        capitalize: (val, type) => {\n            // prettier-ignore\n            return (type === 'text' && isString(val)\n                ? capitalize(val)\n                : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n                    ? capitalize(val.children)\n                    : val);\n        }\n    };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n    _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n    _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n    _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta =  null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n    _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n    _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n    // setup options\n    const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n    const version = isString(options.version) ? options.version : VERSION;\n    const locale = isString(options.locale) || isFunction(options.locale)\n        ? options.locale\n        : DEFAULT_LOCALE;\n    const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n    const fallbackLocale = isArray(options.fallbackLocale) ||\n        isPlainObject(options.fallbackLocale) ||\n        isString(options.fallbackLocale) ||\n        options.fallbackLocale === false\n        ? options.fallbackLocale\n        : _locale;\n    const messages = isPlainObject(options.messages)\n        ? options.messages\n        : createResources(_locale);\n    const datetimeFormats = isPlainObject(options.datetimeFormats)\n            ? options.datetimeFormats\n            : createResources(_locale)\n        ;\n    const numberFormats = isPlainObject(options.numberFormats)\n            ? options.numberFormats\n            : createResources(_locale)\n        ;\n    const modifiers = assign(create(), options.modifiers, getDefaultLinkedModifiers());\n    const pluralRules = options.pluralRules || create();\n    const missing = isFunction(options.missing) ? options.missing : null;\n    const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n        ? options.missingWarn\n        : true;\n    const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n        ? options.fallbackWarn\n        : true;\n    const fallbackFormat = !!options.fallbackFormat;\n    const unresolving = !!options.unresolving;\n    const postTranslation = isFunction(options.postTranslation)\n        ? options.postTranslation\n        : null;\n    const processor = isPlainObject(options.processor) ? options.processor : null;\n    const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n        ? options.warnHtmlMessage\n        : true;\n    const escapeParameter = !!options.escapeParameter;\n    const messageCompiler = isFunction(options.messageCompiler)\n        ? options.messageCompiler\n        : _compiler;\n    if ((process.env.NODE_ENV !== 'production') &&\n        !false &&\n        !false &&\n        isFunction(options.messageCompiler)) {\n        warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n    }\n    const messageResolver = isFunction(options.messageResolver)\n        ? options.messageResolver\n        : _resolver || resolveWithKeyValue;\n    const localeFallbacker = isFunction(options.localeFallbacker)\n        ? options.localeFallbacker\n        : _fallbacker || fallbackWithSimple;\n    const fallbackContext = isObject(options.fallbackContext)\n        ? options.fallbackContext\n        : undefined;\n    // setup internal options\n    const internalOptions = options;\n    const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n            ? internalOptions.__datetimeFormatters\n            : new Map()\n        ;\n    const __numberFormatters = isObject(internalOptions.__numberFormatters)\n            ? internalOptions.__numberFormatters\n            : new Map()\n        ;\n    const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n    _cid++;\n    const context = {\n        version,\n        cid: _cid,\n        locale,\n        fallbackLocale,\n        messages,\n        modifiers,\n        pluralRules,\n        missing,\n        missingWarn,\n        fallbackWarn,\n        fallbackFormat,\n        unresolving,\n        postTranslation,\n        processor,\n        warnHtmlMessage,\n        escapeParameter,\n        messageCompiler,\n        messageResolver,\n        localeFallbacker,\n        fallbackContext,\n        onWarn,\n        __meta\n    };\n    {\n        context.datetimeFormats = datetimeFormats;\n        context.numberFormats = numberFormats;\n        context.__datetimeFormatters = __datetimeFormatters;\n        context.__numberFormatters = __numberFormatters;\n    }\n    // for vue-devtools timeline event\n    if ((process.env.NODE_ENV !== 'production')) {\n        context.__v_emitter =\n            internalOptions.__v_emitter != null\n                ? internalOptions.__v_emitter\n                : undefined;\n    }\n    // NOTE: experimental !!\n    if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n        initI18nDevTools(context, version, __meta);\n    }\n    return context;\n}\nconst createResources = (locale) => ({ [locale]: create() });\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n    return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n    return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n    const { missing, onWarn } = context;\n    // for vue-devtools timeline event\n    if ((process.env.NODE_ENV !== 'production')) {\n        const emitter = context.__v_emitter;\n        if (emitter) {\n            emitter.emit(\"missing\" /* VueDevToolsTimelineEvents.MISSING */, {\n                locale,\n                key,\n                type,\n                groupId: `${type}:${key}`\n            });\n        }\n    }\n    if (missing !== null) {\n        const ret = missing(context, locale, key, type);\n        return isString(ret) ? ret : key;\n    }\n    else {\n        if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n            onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n        }\n        return key;\n    }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n    const context = ctx;\n    context.__localeChainCache = new Map();\n    ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n    if (locale === compareLocale)\n        return false;\n    return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n    const index = locales.indexOf(targetLocale);\n    if (index === -1) {\n        return false;\n    }\n    for (let i = index + 1; i < locales.length; i++) {\n        if (isAlmostSameLocale(targetLocale, locales[i])) {\n            return true;\n        }\n    }\n    return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nfunction format(ast) {\n    const msg = (ctx) => formatParts(ctx, ast);\n    return msg;\n}\nfunction formatParts(ctx, ast) {\n    const body = resolveBody(ast);\n    if (body == null) {\n        throw createUnhandleNodeError(0 /* NodeTypes.Resource */);\n    }\n    const type = resolveType(body);\n    if (type === 1 /* NodeTypes.Plural */) {\n        const plural = body;\n        const cases = resolveCases(plural);\n        return ctx.plural(cases.reduce((messages, c) => [\n            ...messages,\n            formatMessageParts(ctx, c)\n        ], []));\n    }\n    else {\n        return formatMessageParts(ctx, body);\n    }\n}\nconst PROPS_BODY = ['b', 'body'];\nfunction resolveBody(node) {\n    return resolveProps(node, PROPS_BODY);\n}\nconst PROPS_CASES = ['c', 'cases'];\nfunction resolveCases(node) {\n    return resolveProps(node, PROPS_CASES, []);\n}\nfunction formatMessageParts(ctx, node) {\n    const static_ = resolveStatic(node);\n    if (static_ != null) {\n        return ctx.type === 'text'\n            ? static_\n            : ctx.normalize([static_]);\n    }\n    else {\n        const messages = resolveItems(node).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n        return ctx.normalize(messages);\n    }\n}\nconst PROPS_STATIC = ['s', 'static'];\nfunction resolveStatic(node) {\n    return resolveProps(node, PROPS_STATIC);\n}\nconst PROPS_ITEMS = ['i', 'items'];\nfunction resolveItems(node) {\n    return resolveProps(node, PROPS_ITEMS, []);\n}\nfunction formatMessagePart(ctx, node) {\n    const type = resolveType(node);\n    switch (type) {\n        case 3 /* NodeTypes.Text */: {\n            return resolveValue(node, type);\n        }\n        case 9 /* NodeTypes.Literal */: {\n            return resolveValue(node, type);\n        }\n        case 4 /* NodeTypes.Named */: {\n            const named = node;\n            if (hasOwn(named, 'k') && named.k) {\n                return ctx.interpolate(ctx.named(named.k));\n            }\n            if (hasOwn(named, 'key') && named.key) {\n                return ctx.interpolate(ctx.named(named.key));\n            }\n            throw createUnhandleNodeError(type);\n        }\n        case 5 /* NodeTypes.List */: {\n            const list = node;\n            if (hasOwn(list, 'i') && isNumber(list.i)) {\n                return ctx.interpolate(ctx.list(list.i));\n            }\n            if (hasOwn(list, 'index') && isNumber(list.index)) {\n                return ctx.interpolate(ctx.list(list.index));\n            }\n            throw createUnhandleNodeError(type);\n        }\n        case 6 /* NodeTypes.Linked */: {\n            const linked = node;\n            const modifier = resolveLinkedModifier(linked);\n            const key = resolveLinkedKey(linked);\n            return ctx.linked(formatMessagePart(ctx, key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n        }\n        case 7 /* NodeTypes.LinkedKey */: {\n            return resolveValue(node, type);\n        }\n        case 8 /* NodeTypes.LinkedModifier */: {\n            return resolveValue(node, type);\n        }\n        default:\n            throw new Error(`unhandled node on format message part: ${type}`);\n    }\n}\nconst PROPS_TYPE = ['t', 'type'];\nfunction resolveType(node) {\n    return resolveProps(node, PROPS_TYPE);\n}\nconst PROPS_VALUE = ['v', 'value'];\nfunction resolveValue(node, type) {\n    const resolved = resolveProps(node, PROPS_VALUE);\n    if (resolved) {\n        return resolved;\n    }\n    else {\n        throw createUnhandleNodeError(type);\n    }\n}\nconst PROPS_MODIFIER = ['m', 'modifier'];\nfunction resolveLinkedModifier(node) {\n    return resolveProps(node, PROPS_MODIFIER);\n}\nconst PROPS_KEY = ['k', 'key'];\nfunction resolveLinkedKey(node) {\n    const resolved = resolveProps(node, PROPS_KEY);\n    if (resolved) {\n        return resolved;\n    }\n    else {\n        throw createUnhandleNodeError(6 /* NodeTypes.Linked */);\n    }\n}\nfunction resolveProps(node, props, defaultValue) {\n    for (let i = 0; i < props.length; i++) {\n        const prop = props[i];\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        if (hasOwn(node, prop) && node[prop] != null) {\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            return node[prop];\n        }\n    }\n    return defaultValue;\n}\nfunction createUnhandleNodeError(type) {\n    return new Error(`unhandled node type: ${type}`);\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n    if (warnHtmlMessage && detectHtmlTag(source)) {\n        warn(format$1(WARN_MESSAGE, { source }));\n    }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = create();\nfunction onCompileWarn(_warn) {\n    if (_warn.code === CompileWarnCodes.USE_MODULO_SYNTAX) {\n        warn(`The use of named interpolation with modulo syntax is deprecated. ` +\n            `It will be removed in v10.\\n` +\n            `reference: https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format \\n` +\n            `(message compiler warning message: ${_warn.message})`);\n    }\n}\nfunction clearCompileCache() {\n    compileCache = create();\n}\nfunction isMessageAST(val) {\n    return (isObject(val) &&\n        resolveType(val) === 0 &&\n        (hasOwn(val, 'b') || hasOwn(val, 'body')));\n}\nfunction baseCompile(message, options = {}) {\n    // error detecting on compile\n    let detectError = false;\n    const onError = options.onError || defaultOnError;\n    options.onError = (err) => {\n        detectError = true;\n        onError(err);\n    };\n    // compile with mesasge-compiler\n    return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nconst compileToFunction = (message, context) => {\n    if (!isString(message)) {\n        throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);\n    }\n    // set onWarn\n    if ((process.env.NODE_ENV !== 'production')) {\n        context.onWarn = onCompileWarn;\n    }\n    {\n        // check HTML message\n        const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n            ? context.warnHtmlMessage\n            : true;\n        (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n        // check caches\n        const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n        const cacheKey = onCacheKey(message);\n        const cached = compileCache[cacheKey];\n        if (cached) {\n            return cached;\n        }\n        // compile\n        const { code, detectError } = baseCompile(message, context);\n        // evaluate function\n        const msg = new Function(`return ${code}`)();\n        // if occurred compile error, don't cache\n        return !detectError\n            ? (compileCache[cacheKey] = msg)\n            : msg;\n    }\n};\nfunction compile(message, context) {\n    // set onWarn\n    if ((process.env.NODE_ENV !== 'production')) {\n        context.onWarn = onCompileWarn;\n    }\n    if (((__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__)) &&\n        isString(message)) {\n        // check HTML message\n        const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n            ? context.warnHtmlMessage\n            : true;\n        (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n        // check caches\n        const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n        const cacheKey = onCacheKey(message);\n        const cached = compileCache[cacheKey];\n        if (cached) {\n            return cached;\n        }\n        // compile with JIT mode\n        const { ast, detectError } = baseCompile(message, {\n            ...context,\n            location: (process.env.NODE_ENV !== 'production'),\n            jit: true\n        });\n        // compose message function from AST\n        const msg = format(ast);\n        // if occurred compile error, don't cache\n        return !detectError\n            ? (compileCache[cacheKey] = msg)\n            : msg;\n    }\n    else {\n        if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n            warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n            return (() => message);\n        }\n        // AST case (passed from bundler)\n        const cacheKey = message.cacheKey;\n        if (cacheKey) {\n            const cached = compileCache[cacheKey];\n            if (cached) {\n                return cached;\n            }\n            // compose message function from message (AST)\n            return (compileCache[cacheKey] =\n                format(message));\n        }\n        else {\n            return format(message);\n        }\n    }\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n    const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n    const [key, options] = parseTranslateArgs(...args);\n    const missingWarn = isBoolean(options.missingWarn)\n        ? options.missingWarn\n        : context.missingWarn;\n    const fallbackWarn = isBoolean(options.fallbackWarn)\n        ? options.fallbackWarn\n        : context.fallbackWarn;\n    const escapeParameter = isBoolean(options.escapeParameter)\n        ? options.escapeParameter\n        : context.escapeParameter;\n    const resolvedMessage = !!options.resolvedMessage;\n    // prettier-ignore\n    const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n        ? !isBoolean(options.default)\n            ? options.default\n            : (!messageCompiler ? () => key : key)\n        : fallbackFormat // default by `fallbackFormat` option\n            ? (!messageCompiler ? () => key : key)\n            : '';\n    const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\n    const locale = getLocale(context, options);\n    // escape params\n    escapeParameter && escapeParams(options);\n    // resolve message format\n    // eslint-disable-next-line prefer-const\n    let [formatScope, targetLocale, message] = !resolvedMessage\n        ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n        : [\n            key,\n            locale,\n            messages[locale] || create()\n        ];\n    // NOTE:\n    //  Fix to work around `ssrTransfrom` bug in Vite.\n    //  https://github.com/vitejs/vite/issues/4306\n    //  To get around this, use temporary variables.\n    //  https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n    let format = formatScope;\n    // if you use default message, set it as message format!\n    let cacheBaseKey = key;\n    if (!resolvedMessage &&\n        !(isString(format) ||\n            isMessageAST(format) ||\n            isMessageFunction(format))) {\n        if (enableDefaultMsg) {\n            format = defaultMsgOrKey;\n            cacheBaseKey = format;\n        }\n    }\n    // checking message format and target locale\n    if (!resolvedMessage &&\n        (!(isString(format) ||\n            isMessageAST(format) ||\n            isMessageFunction(format)) ||\n            !isString(targetLocale))) {\n        return unresolving ? NOT_REOSLVED : key;\n    }\n    // TODO: refactor\n    if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n        warn(`The message format compilation is not supported in this build. ` +\n            `Because message compiler isn't included. ` +\n            `You need to pre-compilation all message format. ` +\n            `So translate function return '${key}'.`);\n        return key;\n    }\n    // setup compile error detecting\n    let occurred = false;\n    const onError = () => {\n        occurred = true;\n    };\n    // compile message format\n    const msg = !isMessageFunction(format)\n        ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n        : format;\n    // if occurred compile error, return the message format\n    if (occurred) {\n        return format;\n    }\n    // evaluate message with context\n    const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n    const msgContext = createMessageContext(ctxOptions);\n    const messaged = evaluateMessage(context, msg, msgContext);\n    // if use post translation option, proceed it with handler\n    const ret = postTranslation\n        ? postTranslation(messaged, key)\n        : messaged;\n    // NOTE: experimental !!\n    if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n        // prettier-ignore\n        const payloads = {\n            timestamp: Date.now(),\n            key: isString(key)\n                ? key\n                : isMessageFunction(format)\n                    ? format.key\n                    : '',\n            locale: targetLocale || (isMessageFunction(format)\n                ? format.locale\n                : ''),\n            format: isString(format)\n                ? format\n                : isMessageFunction(format)\n                    ? format.source\n                    : '',\n            message: ret\n        };\n        payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n        translateDevTools(payloads);\n    }\n    return ret;\n}\nfunction escapeParams(options) {\n    if (isArray(options.list)) {\n        options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n    }\n    else if (isObject(options.named)) {\n        Object.keys(options.named).forEach(key => {\n            if (isString(options.named[key])) {\n                options.named[key] = escapeHtml(options.named[key]);\n            }\n        });\n    }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n    const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n    const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n    let message = create();\n    let targetLocale;\n    let format = null;\n    let from = locale;\n    let to = null;\n    const type = 'translate';\n    for (let i = 0; i < locales.length; i++) {\n        targetLocale = to = locales[i];\n        if ((process.env.NODE_ENV !== 'production') &&\n            locale !== targetLocale &&\n            !isAlmostSameLocale(locale, targetLocale) &&\n            isTranslateFallbackWarn(fallbackWarn, key)) {\n            onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n                key,\n                target: targetLocale\n            }));\n        }\n        // for vue-devtools timeline event\n        if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n            const emitter = context.__v_emitter;\n            if (emitter) {\n                emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n                    type,\n                    key,\n                    from,\n                    to,\n                    groupId: `${type}:${key}`\n                });\n            }\n        }\n        message =\n            messages[targetLocale] || create();\n        // for vue-devtools timeline event\n        let start = null;\n        let startTag;\n        let endTag;\n        if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n            start = window.performance.now();\n            startTag = 'intlify-message-resolve-start';\n            endTag = 'intlify-message-resolve-end';\n            mark && mark(startTag);\n        }\n        if ((format = resolveValue(message, key)) === null) {\n            // if null, resolve with object key path\n            format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n        }\n        // for vue-devtools timeline event\n        if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n            const end = window.performance.now();\n            const emitter = context.__v_emitter;\n            if (emitter && start && format) {\n                emitter.emit(\"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */, {\n                    type: \"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */,\n                    key,\n                    message: format,\n                    time: end - start,\n                    groupId: `${type}:${key}`\n                });\n            }\n            if (startTag && endTag && mark && measure) {\n                mark(endTag);\n                measure('intlify message resolve', startTag, endTag);\n            }\n        }\n        if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n            break;\n        }\n        if (!isImplicitFallback(targetLocale, locales)) {\n            const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n            key, targetLocale, missingWarn, type);\n            if (missingRet !== key) {\n                format = missingRet;\n            }\n        }\n        from = to;\n    }\n    return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n    const { messageCompiler, warnHtmlMessage } = context;\n    if (isMessageFunction(format)) {\n        const msg = format;\n        msg.locale = msg.locale || targetLocale;\n        msg.key = msg.key || key;\n        return msg;\n    }\n    if (messageCompiler == null) {\n        const msg = (() => format);\n        msg.locale = targetLocale;\n        msg.key = key;\n        return msg;\n    }\n    // for vue-devtools timeline event\n    let start = null;\n    let startTag;\n    let endTag;\n    if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n        start = window.performance.now();\n        startTag = 'intlify-message-compilation-start';\n        endTag = 'intlify-message-compilation-end';\n        mark && mark(startTag);\n    }\n    const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n    // for vue-devtools timeline event\n    if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n        const end = window.performance.now();\n        const emitter = context.__v_emitter;\n        if (emitter && start) {\n            emitter.emit(\"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */, {\n                type: \"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */,\n                message: format,\n                time: end - start,\n                groupId: `${'translate'}:${key}`\n            });\n        }\n        if (startTag && endTag && mark && measure) {\n            mark(endTag);\n            measure('intlify message compilation', startTag, endTag);\n        }\n    }\n    msg.locale = targetLocale;\n    msg.key = key;\n    msg.source = format;\n    return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n    // for vue-devtools timeline event\n    let start = null;\n    let startTag;\n    let endTag;\n    if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n        start = window.performance.now();\n        startTag = 'intlify-message-evaluation-start';\n        endTag = 'intlify-message-evaluation-end';\n        mark && mark(startTag);\n    }\n    const messaged = msg(msgCtx);\n    // for vue-devtools timeline event\n    if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n        const end = window.performance.now();\n        const emitter = context.__v_emitter;\n        if (emitter && start) {\n            emitter.emit(\"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */, {\n                type: \"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */,\n                value: messaged,\n                time: end - start,\n                groupId: `${'translate'}:${msg.key}`\n            });\n        }\n        if (startTag && endTag && mark && measure) {\n            mark(endTag);\n            measure('intlify message evaluation', startTag, endTag);\n        }\n    }\n    return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n    const [arg1, arg2, arg3] = args;\n    const options = create();\n    if (!isString(arg1) &&\n        !isNumber(arg1) &&\n        !isMessageFunction(arg1) &&\n        !isMessageAST(arg1)) {\n        throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n    }\n    // prettier-ignore\n    const key = isNumber(arg1)\n        ? String(arg1)\n        : isMessageFunction(arg1)\n            ? arg1\n            : arg1;\n    if (isNumber(arg2)) {\n        options.plural = arg2;\n    }\n    else if (isString(arg2)) {\n        options.default = arg2;\n    }\n    else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n        options.named = arg2;\n    }\n    else if (isArray(arg2)) {\n        options.list = arg2;\n    }\n    if (isNumber(arg3)) {\n        options.plural = arg3;\n    }\n    else if (isString(arg3)) {\n        options.default = arg3;\n    }\n    else if (isPlainObject(arg3)) {\n        assign(options, arg3);\n    }\n    return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n    return {\n        locale,\n        key,\n        warnHtmlMessage,\n        onError: (err) => {\n            onError && onError(err);\n            if ((process.env.NODE_ENV !== 'production')) {\n                const _source = getSourceForCodeFrame(source);\n                const message = `Message compilation error: ${err.message}`;\n                const codeFrame = err.location &&\n                    _source &&\n                    generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n                const emitter = context.__v_emitter;\n                if (emitter && _source) {\n                    emitter.emit(\"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */, {\n                        message: _source,\n                        error: err.message,\n                        start: err.location && err.location.start.offset,\n                        end: err.location && err.location.end.offset,\n                        groupId: `${'translate'}:${key}`\n                    });\n                }\n                console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\n            }\n            else {\n                throw err;\n            }\n        },\n        onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n    };\n}\nfunction getSourceForCodeFrame(source) {\n    if (isString(source)) {\n        return source;\n    }\n    else {\n        if (source.loc && source.loc.source) {\n            return source.loc.source;\n        }\n    }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n    const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n    const resolveMessage = (key) => {\n        let val = resolveValue(message, key);\n        // fallback to root context\n        if (val == null && fallbackContext) {\n            const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\n            val = resolveValue(message, key);\n        }\n        if (isString(val) || isMessageAST(val)) {\n            let occurred = false;\n            const onError = () => {\n                occurred = true;\n            };\n            const msg = compileMessageFormat(context, key, locale, val, key, onError);\n            return !occurred\n                ? msg\n                : NOOP_MESSAGE_FUNCTION;\n        }\n        else if (isMessageFunction(val)) {\n            return val;\n        }\n        else {\n            // TODO: should be implemented warning message\n            return NOOP_MESSAGE_FUNCTION;\n        }\n    };\n    const ctxOptions = {\n        locale,\n        modifiers,\n        pluralRules,\n        messages: resolveMessage\n    };\n    if (context.processor) {\n        ctxOptions.processor = context.processor;\n    }\n    if (options.list) {\n        ctxOptions.list = options.list;\n    }\n    if (options.named) {\n        ctxOptions.named = options.named;\n    }\n    if (isNumber(options.plural)) {\n        ctxOptions.pluralIndex = options.plural;\n    }\n    return ctxOptions;\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n    dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n    numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n    const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n    const { __datetimeFormatters } = context;\n    if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n        onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n        return MISSING_RESOLVE_VALUE;\n    }\n    const [key, value, options, overrides] = parseDateTimeArgs(...args);\n    const missingWarn = isBoolean(options.missingWarn)\n        ? options.missingWarn\n        : context.missingWarn;\n    const fallbackWarn = isBoolean(options.fallbackWarn)\n        ? options.fallbackWarn\n        : context.fallbackWarn;\n    const part = !!options.part;\n    const locale = getLocale(context, options);\n    const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n    fallbackLocale, locale);\n    if (!isString(key) || key === '') {\n        return new Intl.DateTimeFormat(locale, overrides).format(value);\n    }\n    // resolve format\n    let datetimeFormat = {};\n    let targetLocale;\n    let format = null;\n    let from = locale;\n    let to = null;\n    const type = 'datetime format';\n    for (let i = 0; i < locales.length; i++) {\n        targetLocale = to = locales[i];\n        if ((process.env.NODE_ENV !== 'production') &&\n            locale !== targetLocale &&\n            isTranslateFallbackWarn(fallbackWarn, key)) {\n            onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n                key,\n                target: targetLocale\n            }));\n        }\n        // for vue-devtools timeline event\n        if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n            const emitter = context.__v_emitter;\n            if (emitter) {\n                emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n                    type,\n                    key,\n                    from,\n                    to,\n                    groupId: `${type}:${key}`\n                });\n            }\n        }\n        datetimeFormat =\n            datetimeFormats[targetLocale] || {};\n        format = datetimeFormat[key];\n        if (isPlainObject(format))\n            break;\n        handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n        from = to;\n    }\n    // checking format and target locale\n    if (!isPlainObject(format) || !isString(targetLocale)) {\n        return unresolving ? NOT_REOSLVED : key;\n    }\n    let id = `${targetLocale}__${key}`;\n    if (!isEmptyObject(overrides)) {\n        id = `${id}__${JSON.stringify(overrides)}`;\n    }\n    let formatter = __datetimeFormatters.get(id);\n    if (!formatter) {\n        formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n        __datetimeFormatters.set(id, formatter);\n    }\n    return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n    'localeMatcher',\n    'weekday',\n    'era',\n    'year',\n    'month',\n    'day',\n    'hour',\n    'minute',\n    'second',\n    'timeZoneName',\n    'formatMatcher',\n    'hour12',\n    'timeZone',\n    'dateStyle',\n    'timeStyle',\n    'calendar',\n    'dayPeriod',\n    'numberingSystem',\n    'hourCycle',\n    'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n    const [arg1, arg2, arg3, arg4] = args;\n    const options = create();\n    let overrides = create();\n    let value;\n    if (isString(arg1)) {\n        // Only allow ISO strings - other date formats are often supported,\n        // but may cause different results in different browsers.\n        const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n        if (!matches) {\n            throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n        }\n        // Some browsers can not parse the iso datetime separated by space,\n        // this is a compromise solution by replace the 'T'/' ' with 'T'\n        const dateTime = matches[3]\n            ? matches[3].trim().startsWith('T')\n                ? `${matches[1].trim()}${matches[3].trim()}`\n                : `${matches[1].trim()}T${matches[3].trim()}`\n            : matches[1].trim();\n        value = new Date(dateTime);\n        try {\n            // This will fail if the date is not valid\n            value.toISOString();\n        }\n        catch (e) {\n            throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n        }\n    }\n    else if (isDate(arg1)) {\n        if (isNaN(arg1.getTime())) {\n            throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n        }\n        value = arg1;\n    }\n    else if (isNumber(arg1)) {\n        value = arg1;\n    }\n    else {\n        throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n    }\n    if (isString(arg2)) {\n        options.key = arg2;\n    }\n    else if (isPlainObject(arg2)) {\n        Object.keys(arg2).forEach(key => {\n            if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n                overrides[key] = arg2[key];\n            }\n            else {\n                options[key] = arg2[key];\n            }\n        });\n    }\n    if (isString(arg3)) {\n        options.locale = arg3;\n    }\n    else if (isPlainObject(arg3)) {\n        overrides = arg3;\n    }\n    if (isPlainObject(arg4)) {\n        overrides = arg4;\n    }\n    return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n    const context = ctx;\n    for (const key in format) {\n        const id = `${locale}__${key}`;\n        if (!context.__datetimeFormatters.has(id)) {\n            continue;\n        }\n        context.__datetimeFormatters.delete(id);\n    }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n    const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n    const { __numberFormatters } = context;\n    if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n        onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n        return MISSING_RESOLVE_VALUE;\n    }\n    const [key, value, options, overrides] = parseNumberArgs(...args);\n    const missingWarn = isBoolean(options.missingWarn)\n        ? options.missingWarn\n        : context.missingWarn;\n    const fallbackWarn = isBoolean(options.fallbackWarn)\n        ? options.fallbackWarn\n        : context.fallbackWarn;\n    const part = !!options.part;\n    const locale = getLocale(context, options);\n    const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n    fallbackLocale, locale);\n    if (!isString(key) || key === '') {\n        return new Intl.NumberFormat(locale, overrides).format(value);\n    }\n    // resolve format\n    let numberFormat = {};\n    let targetLocale;\n    let format = null;\n    let from = locale;\n    let to = null;\n    const type = 'number format';\n    for (let i = 0; i < locales.length; i++) {\n        targetLocale = to = locales[i];\n        if ((process.env.NODE_ENV !== 'production') &&\n            locale !== targetLocale &&\n            isTranslateFallbackWarn(fallbackWarn, key)) {\n            onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n                key,\n                target: targetLocale\n            }));\n        }\n        // for vue-devtools timeline event\n        if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n            const emitter = context.__v_emitter;\n            if (emitter) {\n                emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n                    type,\n                    key,\n                    from,\n                    to,\n                    groupId: `${type}:${key}`\n                });\n            }\n        }\n        numberFormat =\n            numberFormats[targetLocale] || {};\n        format = numberFormat[key];\n        if (isPlainObject(format))\n            break;\n        handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n        from = to;\n    }\n    // checking format and target locale\n    if (!isPlainObject(format) || !isString(targetLocale)) {\n        return unresolving ? NOT_REOSLVED : key;\n    }\n    let id = `${targetLocale}__${key}`;\n    if (!isEmptyObject(overrides)) {\n        id = `${id}__${JSON.stringify(overrides)}`;\n    }\n    let formatter = __numberFormatters.get(id);\n    if (!formatter) {\n        formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n        __numberFormatters.set(id, formatter);\n    }\n    return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n    'localeMatcher',\n    'style',\n    'currency',\n    'currencyDisplay',\n    'currencySign',\n    'useGrouping',\n    'minimumIntegerDigits',\n    'minimumFractionDigits',\n    'maximumFractionDigits',\n    'minimumSignificantDigits',\n    'maximumSignificantDigits',\n    'compactDisplay',\n    'notation',\n    'signDisplay',\n    'unit',\n    'unitDisplay',\n    'roundingMode',\n    'roundingPriority',\n    'roundingIncrement',\n    'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n    const [arg1, arg2, arg3, arg4] = args;\n    const options = create();\n    let overrides = create();\n    if (!isNumber(arg1)) {\n        throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n    }\n    const value = arg1;\n    if (isString(arg2)) {\n        options.key = arg2;\n    }\n    else if (isPlainObject(arg2)) {\n        Object.keys(arg2).forEach(key => {\n            if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n                overrides[key] = arg2[key];\n            }\n            else {\n                options[key] = arg2[key];\n            }\n        });\n    }\n    if (isString(arg3)) {\n        options.locale = arg3;\n    }\n    else if (isPlainObject(arg3)) {\n        overrides = arg3;\n    }\n    if (isPlainObject(arg4)) {\n        overrides = arg4;\n    }\n    return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n    const context = ctx;\n    for (const key in format) {\n        const id = `${locale}__${key}`;\n        if (!context.__numberFormatters.has(id)) {\n            continue;\n        }\n        context.__numberFormatters.delete(id);\n    }\n}\n\n{\n    initFeatureFlags();\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue$1 as resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n"],"names":["inBrowser","window","makeSymbol","name","shareable","Symbol","for","generateFormatCacheKey","locale","key","source","friendlyJSONstringify","l","k","s","json","JSON","stringify","replace","isNumber","val","isFinite","isDate","toTypeString","isRegExp","isEmptyObject","isPlainObject","Object","keys","length","assign","_create","create","obj","_globalThis","getGlobalThis","globalThis","self","global","escapeHtml","rawText","hasOwnProperty","prototype","hasOwn","call","isArray","Array","isFunction","isString","isBoolean","isObject","isPromise","then","catch","objectToString","toString","value","proto","getPrototypeOf","constructor","toDisplayString","String","join","items","separator","reduce","str","item","index","incrementer","code","current","warn","msg","err","console","stack","isNotObjectOrIsArray","deepCopy","src","des","Error","pop","forEach","push","createPosition","line","column","offset","createLocation","start","end","loc","RE_ARGS","format","message","args","match","identifier","CompileWarnCodes","USE_MODULO_SYNTAX","__EXTEND_POINT__","warnMessages","createCompileWarn","location","CompileErrorCodes","EXPECTED_TOKEN","INVALID_TOKEN_IN_PLACEHOLDER","UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER","UNKNOWN_ESCAPE_SEQUENCE","INVALID_UNICODE_ESCAPE_SEQUENCE","UNBALANCED_CLOSING_BRACE","UNTERMINATED_CLOSING_BRACE","EMPTY_PLACEHOLDER","NOT_ALLOW_NEST_PLACEHOLDER","INVALID_LINKED_FORMAT","MUST_HAVE_MESSAGES_IN_PLURAL","UNEXPECTED_EMPTY_LINKED_MODIFIER","UNEXPECTED_EMPTY_LINKED_KEY","UNEXPECTED_LEXICAL_ANALYSIS","UNHANDLED_CODEGEN_NODE_TYPE","UNHANDLED_MINIFIER_NODE_TYPE","errorMessages","createCompileError","options","domain","messages","error","SyntaxError","defaultOnError","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","fromCharCode","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","undefined","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","text","context","onError","emitError","pos","ctx","getToken","type","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","charCodeAt","isNumberStart","isNamedIdentifierStart","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isTextStart","isPluralStart","detectModuloStart","spaces","isModulo","hasSpace","prev","detectModulo","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","readListIdentifier","isLiteral","readLiteral","literal","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","i","isInvalidIdentifier","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","nextToken","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","parseInt","fromCodePoint","createParser","onWarn","tokenzer","emitWarn","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","modulo","parseLiteral","parseLinkedModifier","nextConsumeToken","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","modifier","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","cases","parseResource","parse","body","onCacheKey","cacheKey","slice","createTransformer","ast","helpers","Set","helper","add","traverseNodes","nodes","transformer","traverseNode","linked","transform","from","optimize","optimizeMessageNode","c","static","values","ERROR_DOMAIN$1","minify","t","resource","b","valueNode","v","m","list","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","needIndent","_needIndent","map","indentLevel","_newline","n","withBreakLine","_breakLineCode","repeat","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","generateNode","generateMessageNode","generatePluralNode","generateResource","generate","mode","toJSON","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","parser","initFeatureFlags","__INTLIFY_PROD_DEVTOOLS__","__INTLIFY_JIT_COMPILATION__","__INTLIFY_DROP_MESSAGE_COMPILER__","pathStateMachine","literalValueRE","exp","test","stripQuotes","a","getPathCharType","formatSubPath","path","trimmed","trim","isNaN","newChar","transition","action","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","cache","Map","resolveWithKeyValue","resolveValue$1","hit","get","set","len","last","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","Math","abs","min","getPluralIndex","pluralIndex","count","normalizeNamed","props","createMessageContext","pluralRule","pluralRules","orgPluralRule","_list","_named","parent","_modifier","modifiers","normalize","processor","interpolate","arg1","arg2","devtools","setDevToolsHook","hook","initI18nDevTools","i18n","version","meta","emit","timestamp","Date","now","translateDevTools","createDevToolsHook","payloads","code$1","inc$1","CoreWarnCodes","NOT_FOUND_KEY","FALLBACK_TO_TRANSLATE","CANNOT_FORMAT_NUMBER","FALLBACK_TO_NUMBER_FORMAT","CANNOT_FORMAT_DATE","FALLBACK_TO_DATE_FORMAT","EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER","inc","CoreErrorCodes","INVALID_ARGUMENT","INVALID_DATE_ARGUMENT","INVALID_ISO_DATE_ARGUMENT","NOT_SUPPORT_NON_STRING_MESSAGE","NOT_SUPPORT_LOCALE_PROMISE_VALUE","NOT_SUPPORT_LOCALE_ASYNC_FUNCTION","NOT_SUPPORT_LOCALE_TYPE","createCoreError","getLocale","resolveLocale","_resolveLocale","resolvedOnce","resolve","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","__localeChainCache","chain","block","appendBlockToChain","defaults","blocks","follow","appendLocaleToChain","tokens","split","appendItemToChain","splice","includes","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","toLocaleUpperCase","substr","getDefaultLinkedModifiers","upper","toUpperCase","children","lower","toLowerCase","_compiler","_resolver","_fallbacker","registerMessageCompiler","compiler","registerMessageResolver","resolver","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","_locale","fallbackLocale","createResources","datetimeFormats","numberFormats","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","cid","handleMissing","updateFallbackLocale","isAlmostSameLocale","compareLocale","isImplicitFallback","targetLocale","locales","indexOf","formatParts","resolveBody","createUnhandleNodeError","resolveType","resolveCases","formatMessageParts","PROPS_BODY","resolveProps","PROPS_CASES","static_","resolveStatic","resolveItems","acm","formatMessagePart","PROPS_STATIC","PROPS_ITEMS","resolveValue","resolveLinkedModifier","resolveLinkedKey","PROPS_TYPE","PROPS_VALUE","resolved","PROPS_MODIFIER","PROPS_KEY","defaultValue","prop","defaultOnCacheKey","compileCache","isMessageAST","detectError","compileToFunction","cached","Function","compile","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","default","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","to","missingRet","getCompileContext","msgCtx","arg3","resolveMessage","intlDefined","Intl","DateTimeFormat","NumberFormat","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","id","formatter","formatToParts","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","startsWith","toISOString","e","getTime","clearDateTimeFormat","has","delete","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat"],"sourceRoot":""}