"use strict";
(wx["webpackJsonp"] = wx["webpackJsonp"] || []).push([["vendors-node_modules_taro_weapp_prebundle_chunk-3EXGJ5BE_js"],{

/***/ "./node_modules/.taro/weapp/prebundle/chunk-3EXGJ5BE.js":
/*!**************************************************************!*\
  !*** ./node_modules/.taro/weapp/prebundle/chunk-3EXGJ5BE.js ***!
  \**************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: function() { return /* binding */ A; },
/* harmony export */   APP: function() { return /* binding */ APP; },
/* harmony export */   BEHAVIORS: function() { return /* binding */ BEHAVIORS; },
/* harmony export */   BODY: function() { return /* binding */ BODY; },
/* harmony export */   CATCHMOVE: function() { return /* binding */ CATCHMOVE; },
/* harmony export */   CATCH_VIEW: function() { return /* binding */ CATCH_VIEW; },
/* harmony export */   CHANGE: function() { return /* binding */ CHANGE; },
/* harmony export */   CLASS: function() { return /* binding */ CLASS; },
/* harmony export */   COMMENT: function() { return /* binding */ COMMENT; },
/* harmony export */   CONFIRM: function() { return /* binding */ CONFIRM; },
/* harmony export */   CONTAINER: function() { return /* binding */ CONTAINER; },
/* harmony export */   CONTEXT_ACTIONS: function() { return /* binding */ CONTEXT_ACTIONS; },
/* harmony export */   CURRENT_TARGET: function() { return /* binding */ CURRENT_TARGET; },
/* harmony export */   CUSTOM_WRAPPER: function() { return /* binding */ CUSTOM_WRAPPER; },
/* harmony export */   Current: function() { return /* binding */ Current; },
/* harmony export */   DATASET: function() { return /* binding */ DATASET; },
/* harmony export */   DATE: function() { return /* binding */ DATE; },
/* harmony export */   DOCUMENT_ELEMENT_NAME: function() { return /* binding */ DOCUMENT_ELEMENT_NAME; },
/* harmony export */   DOCUMENT_FRAGMENT: function() { return /* binding */ DOCUMENT_FRAGMENT; },
/* harmony export */   EVENT_CALLBACK_RESULT: function() { return /* binding */ EVENT_CALLBACK_RESULT; },
/* harmony export */   EXTERNAL_CLASSES: function() { return /* binding */ EXTERNAL_CLASSES; },
/* harmony export */   FOCUS: function() { return /* binding */ FOCUS; },
/* harmony export */   FormElement: function() { return /* binding */ FormElement; },
/* harmony export */   HEAD: function() { return /* binding */ HEAD; },
/* harmony export */   HOOKS_APP_ID: function() { return /* binding */ HOOKS_APP_ID; },
/* harmony export */   HTML: function() { return /* binding */ HTML; },
/* harmony export */   History: function() { return /* binding */ History; },
/* harmony export */   ID: function() { return /* binding */ ID; },
/* harmony export */   INPUT: function() { return /* binding */ INPUT; },
/* harmony export */   KEY_CODE: function() { return /* binding */ KEY_CODE; },
/* harmony export */   Location: function() { return /* binding */ Location; },
/* harmony export */   MutationObserver: function() { return /* binding */ MutationObserver; },
/* harmony export */   OBJECT: function() { return /* binding */ OBJECT; },
/* harmony export */   ON_HIDE: function() { return /* binding */ ON_HIDE; },
/* harmony export */   ON_LOAD: function() { return /* binding */ ON_LOAD; },
/* harmony export */   ON_READY: function() { return /* binding */ ON_READY; },
/* harmony export */   ON_SHOW: function() { return /* binding */ ON_SHOW; },
/* harmony export */   OPTIONS: function() { return /* binding */ OPTIONS; },
/* harmony export */   PAGE_INIT: function() { return /* binding */ PAGE_INIT; },
/* harmony export */   PROPERTY_THRESHOLD: function() { return /* binding */ PROPERTY_THRESHOLD; },
/* harmony export */   PROPS: function() { return /* binding */ PROPS; },
/* harmony export */   PURE_VIEW: function() { return /* binding */ PURE_VIEW; },
/* harmony export */   ROOT_STR: function() { return /* binding */ ROOT_STR; },
/* harmony export */   SET_DATA: function() { return /* binding */ SET_DATA; },
/* harmony export */   SET_TIMEOUT: function() { return /* binding */ SET_TIMEOUT; },
/* harmony export */   STATIC_VIEW: function() { return /* binding */ STATIC_VIEW; },
/* harmony export */   STYLE: function() { return /* binding */ STYLE; },
/* harmony export */   SVGElement: function() { return /* binding */ SVGElement; },
/* harmony export */   Style: function() { return /* binding */ Style; },
/* harmony export */   TARGET: function() { return /* binding */ TARGET; },
/* harmony export */   TARO_RUNTIME: function() { return /* binding */ TARO_RUNTIME; },
/* harmony export */   TIME_STAMP: function() { return /* binding */ TIME_STAMP; },
/* harmony export */   TOUCHMOVE: function() { return /* binding */ TOUCHMOVE; },
/* harmony export */   TYPE: function() { return /* binding */ TYPE; },
/* harmony export */   TaroElement: function() { return /* binding */ TaroElement; },
/* harmony export */   TaroEvent: function() { return /* binding */ TaroEvent; },
/* harmony export */   TaroNode: function() { return /* binding */ TaroNode; },
/* harmony export */   TaroRootElement: function() { return /* binding */ TaroRootElement; },
/* harmony export */   TaroText: function() { return /* binding */ TaroText; },
/* harmony export */   UID: function() { return /* binding */ UID; },
/* harmony export */   URL: function() { return /* binding */ URL; },
/* harmony export */   URLSearchParams: function() { return /* binding */ URLSearchParams; },
/* harmony export */   VALUE: function() { return /* binding */ VALUE; },
/* harmony export */   VIEW: function() { return /* binding */ VIEW; },
/* harmony export */   _caf: function() { return /* binding */ _caf; },
/* harmony export */   _raf: function() { return /* binding */ _raf; },
/* harmony export */   addLeadingSlash: function() { return /* binding */ addLeadingSlash; },
/* harmony export */   createComponentConfig: function() { return /* binding */ createComponentConfig; },
/* harmony export */   createEvent: function() { return /* binding */ createEvent; },
/* harmony export */   createPageConfig: function() { return /* binding */ createPageConfig; },
/* harmony export */   createRecursiveComponentConfig: function() { return /* binding */ createRecursiveComponentConfig; },
/* harmony export */   document$1: function() { return /* binding */ document$1; },
/* harmony export */   env: function() { return /* binding */ env; },
/* harmony export */   eventCenter: function() { return /* binding */ eventCenter; },
/* harmony export */   eventHandler: function() { return /* binding */ eventHandler; },
/* harmony export */   eventSource: function() { return /* binding */ eventSource; },
/* harmony export */   getComputedStyle: function() { return /* binding */ getComputedStyle; },
/* harmony export */   getCurrentInstance: function() { return /* binding */ getCurrentInstance; },
/* harmony export */   getOnHideEventKey: function() { return /* binding */ getOnHideEventKey; },
/* harmony export */   getOnReadyEventKey: function() { return /* binding */ getOnReadyEventKey; },
/* harmony export */   getOnShowEventKey: function() { return /* binding */ getOnShowEventKey; },
/* harmony export */   getPageInstance: function() { return /* binding */ getPageInstance; },
/* harmony export */   getPath: function() { return /* binding */ getPath; },
/* harmony export */   history: function() { return /* binding */ history; },
/* harmony export */   hydrate: function() { return /* binding */ hydrate; },
/* harmony export */   incrementId: function() { return /* binding */ incrementId; },
/* harmony export */   init_runtime_esm: function() { return /* binding */ init_runtime_esm; },
/* harmony export */   injectPageInstance: function() { return /* binding */ injectPageInstance; },
/* harmony export */   location: function() { return /* binding */ location; },
/* harmony export */   nav: function() { return /* binding */ nav; },
/* harmony export */   nextTick: function() { return /* binding */ nextTick; },
/* harmony export */   now: function() { return /* binding */ now; },
/* harmony export */   options: function() { return /* binding */ options; },
/* harmony export */   parseUrl: function() { return /* binding */ parseUrl; },
/* harmony export */   removePageInstance: function() { return /* binding */ removePageInstance; },
/* harmony export */   runtime_esm_exports: function() { return /* binding */ runtime_esm_exports; },
/* harmony export */   safeExecute: function() { return /* binding */ safeExecute; },
/* harmony export */   stringify: function() { return /* binding */ stringify; },
/* harmony export */   window$1: function() { return /* binding */ window$1; }
/* harmony export */ });
/* harmony import */ var _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunk-77KB62LY.js */ "./node_modules/.taro/weapp/prebundle/chunk-77KB62LY.js");
/* harmony import */ var _chunk_P7VEE7PG_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chunk-P7VEE7PG.js */ "./node_modules/.taro/weapp/prebundle/chunk-P7VEE7PG.js");
/* provided dependency */ var window = __webpack_require__(/*! ./node_modules/.taro/weapp/prebundle/chunk-3EXGJ5BE.js */ "./node_modules/.taro/weapp/prebundle/chunk-3EXGJ5BE.js")["window$1"];
/* provided dependency */ var document = __webpack_require__(/*! ./node_modules/.taro/weapp/prebundle/chunk-3EXGJ5BE.js */ "./node_modules/.taro/weapp/prebundle/chunk-3EXGJ5BE.js")["document$1"];
/* provided dependency */ var requestAnimationFrame = __webpack_require__(/*! ./node_modules/.taro/weapp/prebundle/chunk-3EXGJ5BE.js */ "./node_modules/.taro/weapp/prebundle/chunk-3EXGJ5BE.js")["_raf"];
/* provided dependency */ var cancelAnimationFrame = __webpack_require__(/*! ./node_modules/.taro/weapp/prebundle/chunk-3EXGJ5BE.js */ "./node_modules/.taro/weapp/prebundle/chunk-3EXGJ5BE.js")["_caf"];


// node_modules/@tarojs/runtime/dist/runtime.esm.js
var runtime_esm_exports = {};
(0,_chunk_P7VEE7PG_js__WEBPACK_IMPORTED_MODULE_1__.__export)(runtime_esm_exports, {
    A: ()=>A,
    APP: ()=>APP,
    BEHAVIORS: ()=>BEHAVIORS,
    BODY: ()=>BODY,
    CATCHMOVE: ()=>CATCHMOVE,
    CATCH_VIEW: ()=>CATCH_VIEW,
    CHANGE: ()=>CHANGE,
    CLASS: ()=>CLASS,
    COMMENT: ()=>COMMENT,
    CONFIRM: ()=>CONFIRM,
    CONTAINER: ()=>CONTAINER,
    CONTEXT_ACTIONS: ()=>CONTEXT_ACTIONS,
    CURRENT_TARGET: ()=>CURRENT_TARGET,
    CUSTOM_WRAPPER: ()=>CUSTOM_WRAPPER,
    Current: ()=>Current,
    DATASET: ()=>DATASET,
    DATE: ()=>DATE,
    DOCUMENT_ELEMENT_NAME: ()=>DOCUMENT_ELEMENT_NAME,
    DOCUMENT_FRAGMENT: ()=>DOCUMENT_FRAGMENT,
    EVENT_CALLBACK_RESULT: ()=>EVENT_CALLBACK_RESULT,
    EXTERNAL_CLASSES: ()=>EXTERNAL_CLASSES,
    Events: ()=>_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.Events,
    FOCUS: ()=>FOCUS,
    FormElement: ()=>FormElement,
    HEAD: ()=>HEAD,
    HOOKS_APP_ID: ()=>HOOKS_APP_ID,
    HTML: ()=>HTML,
    History: ()=>History,
    ID: ()=>ID,
    INPUT: ()=>INPUT,
    KEY_CODE: ()=>KEY_CODE,
    Location: ()=>Location,
    MutationObserver: ()=>MutationObserver,
    OBJECT: ()=>OBJECT,
    ON_HIDE: ()=>ON_HIDE,
    ON_LOAD: ()=>ON_LOAD,
    ON_READY: ()=>ON_READY,
    ON_SHOW: ()=>ON_SHOW,
    OPTIONS: ()=>OPTIONS,
    PAGE_INIT: ()=>PAGE_INIT,
    PROPERTY_THRESHOLD: ()=>PROPERTY_THRESHOLD,
    PROPS: ()=>PROPS,
    PURE_VIEW: ()=>PURE_VIEW,
    ROOT_STR: ()=>ROOT_STR,
    SET_DATA: ()=>SET_DATA,
    SET_TIMEOUT: ()=>SET_TIMEOUT,
    STATIC_VIEW: ()=>STATIC_VIEW,
    STYLE: ()=>STYLE,
    SVGElement: ()=>SVGElement,
    Style: ()=>Style,
    TARGET: ()=>TARGET,
    TARO_RUNTIME: ()=>TARO_RUNTIME,
    TIME_STAMP: ()=>TIME_STAMP,
    TOUCHMOVE: ()=>TOUCHMOVE,
    TYPE: ()=>TYPE,
    TaroElement: ()=>TaroElement,
    TaroEvent: ()=>TaroEvent,
    TaroNode: ()=>TaroNode,
    TaroRootElement: ()=>TaroRootElement,
    TaroText: ()=>TaroText,
    UID: ()=>UID,
    URL: ()=>URL,
    URLSearchParams: ()=>URLSearchParams,
    VALUE: ()=>VALUE,
    VIEW: ()=>VIEW,
    addLeadingSlash: ()=>addLeadingSlash,
    cancelAnimationFrame: ()=>_caf,
    createComponentConfig: ()=>createComponentConfig,
    createEvent: ()=>createEvent,
    createPageConfig: ()=>createPageConfig,
    createRecursiveComponentConfig: ()=>createRecursiveComponentConfig,
    document: ()=>document$1,
    env: ()=>env,
    eventCenter: ()=>eventCenter,
    eventHandler: ()=>eventHandler,
    eventSource: ()=>eventSource,
    getComputedStyle: ()=>getComputedStyle,
    getCurrentInstance: ()=>getCurrentInstance,
    getOnHideEventKey: ()=>getOnHideEventKey,
    getOnReadyEventKey: ()=>getOnReadyEventKey,
    getOnShowEventKey: ()=>getOnShowEventKey,
    getPageInstance: ()=>getPageInstance,
    getPath: ()=>getPath,
    history: ()=>history,
    hooks: ()=>_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks,
    hydrate: ()=>hydrate,
    incrementId: ()=>incrementId,
    injectPageInstance: ()=>injectPageInstance,
    location: ()=>location,
    navigator: ()=>nav,
    nextTick: ()=>nextTick,
    now: ()=>now,
    options: ()=>options,
    parseUrl: ()=>parseUrl,
    removePageInstance: ()=>removePageInstance,
    requestAnimationFrame: ()=>_raf,
    safeExecute: ()=>safeExecute,
    stringify: ()=>stringify,
    window: ()=>window$1
});
function logMutation(observer, record) {
    observer.records.push(record);
    if (!pendingMuatations) {
        pendingMuatations = true;
        Promise.resolve().then(()=>{
            pendingMuatations = false;
            observers.forEach((observer2)=>{
                return observer2.callback(observer2.takeRecords());
            });
        });
    }
}
function recordMutation(record) {
    observers.forEach((observer)=>{
        const { options: options2  } = observer;
        for(let t = record.target; t; t = t.parentNode){
            if (sidMatches(observer.target, t) && isConcerned(record, options2)) {
                logMutation(observer, record);
                break;
            }
            if (!options2.subtree) break;
        }
    });
}
function isElement(node) {
    return node.nodeType === 1;
}
function isText(node) {
    return node.nodeType === 3;
}
function isComment(node) {
    return node.nodeName === COMMENT;
}
function isHasExtractProp(el) {
    const res = Object.keys(el.props).find((prop)=>{
        return !(/^(class|style|id)$/.test(prop) || prop.startsWith("data-"));
    });
    return Boolean(res);
}
function isParentBinded(node, type) {
    var _a;
    let res = false;
    while((node === null || node === void 0 ? void 0 : node.parentElement) && node.parentElement._path !== ROOT_STR){
        if ((_a = node.parentElement.__handlers[type]) === null || _a === void 0 ? void 0 : _a.length) {
            res = true;
            break;
        }
        node = node.parentElement;
    }
    return res;
}
function shortcutAttr(key) {
    switch(key){
        case STYLE:
            return "st";
        case ID:
            return UID;
        case CLASS:
            return "cl";
        default:
            return key;
    }
}
function extend(ctor, methodName, options2) {
    if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(options2)) {
        options2 = {
            value: options2
        };
    }
    Object.defineProperty(ctor.prototype, methodName, Object.assign({
        configurable: true,
        enumerable: true
    }, options2));
}
function getComponentsAlias2() {
    if (!componentsAlias$1) {
        componentsAlias$1 = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.getComponentsAlias)(_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.internalComponents);
    }
    return componentsAlias$1;
}
function hydrate(node) {
    var _a;
    if (!componentsAlias) {
        componentsAlias = getComponentsAlias2();
    }
    if (!SPECIAL_NODES) {
        SPECIAL_NODES = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("getSpecialNodes");
    }
    const nodeName = node.nodeName;
    if (isText(node)) {
        return {
            ["v"]: node.nodeValue,
            ["nn"]: ((_a = componentsAlias[nodeName]) === null || _a === void 0 ? void 0 : _a._num) || "8"
        };
    }
    const data = {
        ["nn"]: nodeName,
        sid: node.sid
    };
    if (node.uid !== node.sid) {
        data.uid = node.uid;
    }
    if (!node.isAnyEventBinded() && SPECIAL_NODES.indexOf(nodeName) > -1) {
        data["nn"] = `static-${nodeName}`;
        if (nodeName === VIEW && !isHasExtractProp(node)) {
            data["nn"] = PURE_VIEW;
        }
    }
    const { props  } = node;
    for(const prop in props){
        const propInCamelCase = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.toCamelCase)(prop);
        if (!prop.startsWith("data-") && prop !== CLASS && prop !== STYLE && prop !== ID && propInCamelCase !== CATCHMOVE) {
            data[propInCamelCase] = props[prop];
        }
        if (nodeName === VIEW && propInCamelCase === CATCHMOVE && props[prop] !== false) {
            data["nn"] = CATCH_VIEW;
        }
    }
    let { childNodes  } = node;
    childNodes = childNodes.filter((node2)=>!isComment(node2));
    if (childNodes.length > 0) {
        data["cn"] = childNodes.map(hydrate);
    } else {
        data["cn"] = [];
    }
    if (node.className !== "") {
        data["cl"] = node.className;
    }
    const cssText = node.cssText;
    if (cssText !== "" && nodeName !== "swiper-item") {
        data["st"] = cssText;
    }
    _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("modifyHydrateData", data);
    const nn = data["nn"];
    const componentAlias = componentsAlias[nn];
    if (componentAlias) {
        data["nn"] = componentAlias._num;
        for(const prop1 in data){
            if (prop1 in componentAlias) {
                data[componentAlias[prop1]] = data[prop1];
                delete data[prop1];
            }
        }
    }
    return data;
}
function combine(prefix, list, excludeSelf) {
    !excludeSelf && styleProperties.push(prefix);
    list.forEach((item)=>{
        styleProperties.push(prefix + item);
        if (prefix === WEBKIT) {
            styleProperties.push("Webkit" + item);
        }
    });
}
function recordCss(obj) {
    MutationObserver.record({
        type: "attributes",
        target: obj._element,
        attributeName: "style",
        oldValue: obj.cssText
    });
}
function enqueueUpdate(obj) {
    const element = obj._element;
    if (element._root) {
        element.enqueueUpdate({
            path: `${element._path}.${"st"}`,
            value: obj.cssText
        });
    }
}
function setStyle(newVal, styleKey) {
    (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.warn)((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(newVal) && newVal.length > PROPERTY_THRESHOLD, `Style \u5C5E\u6027 ${styleKey} \u7684\u503C\u6570\u636E\u91CF\u8FC7\u5927\uFF0C\u53EF\u80FD\u4F1A\u5F71\u54CD\u6E32\u67D3\u6027\u80FD\uFF0C\u8003\u8651\u4F7F\u7528 CSS \u7C7B\u6216\u5176\u5B83\u65B9\u6848\u66FF\u4EE3\u3002`);
    const old = this[styleKey];
    if (old === newVal) return;
    !this._pending && recordCss(this);
    if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(newVal) || (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(newVal)) {
        this._usedStyleProp.delete(styleKey);
        delete this._value[styleKey];
    } else {
        this._usedStyleProp.add(styleKey);
        this._value[styleKey] = newVal;
    }
    !this._pending && enqueueUpdate(this);
}
function initStyle(ctor, styleProperties2) {
    const properties = {};
    for(let i = 0; i < styleProperties2.length; i++){
        const styleKey = styleProperties2[i];
        if (ctor[styleKey]) return;
        properties[styleKey] = {
            get () {
                const val = this._value[styleKey];
                return (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(val) || (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(val) ? "" : val;
            },
            set (newVal) {
                setStyle.call(this, newVal, styleKey);
            }
        };
    }
    Object.defineProperties(ctor.prototype, properties);
}
function isCssVariable(propertyName) {
    return /^--/.test(propertyName);
}
function returnTrue() {
    return true;
}
function treeToArray(root, predict) {
    const array = [];
    const filter = predict !== null && predict !== void 0 ? predict : returnTrue;
    let object = root;
    while(object){
        if (object.nodeType === 1 && filter(object)) {
            array.push(object);
        }
        object = following(object, root);
    }
    return array;
}
function following(el, root) {
    const firstChild = el.firstChild;
    const isElmentTypeValid = el.nodeType === 1 || el.nodeType === 9;
    if (firstChild && isElmentTypeValid) {
        return firstChild;
    }
    let current = el;
    do {
        if (current === root) {
            return null;
        }
        const nextSibling = current.nextSibling;
        if (nextSibling) {
            return nextSibling;
        }
        current = current.parentElement;
    }while (current)
    return null;
}
function initPosition() {
    return {
        index: 0,
        column: 0,
        line: 0
    };
}
function feedPosition(position, str, len) {
    const start = position.index;
    const end = position.index = start + len;
    for(let i = start; i < end; i++){
        const char = str.charAt(i);
        if (char === "\n") {
            position.line++;
            position.column = 0;
        } else {
            position.column++;
        }
    }
}
function jumpPosition(position, str, end) {
    const len = end - position.index;
    return feedPosition(position, str, len);
}
function copyPosition(position) {
    return {
        index: position.index,
        line: position.line,
        column: position.column
    };
}
function isWhitespaceChar(char) {
    return whitespace.test(char);
}
function isEqualSignChar(char) {
    return equalSign.test(char);
}
function shouldBeIgnore(tagName) {
    const name = tagName.toLowerCase();
    if (options.html.skipElements.has(name)) {
        return true;
    }
    return false;
}
function findTextEnd(str, index) {
    while(true){
        const textEnd = str.indexOf("<", index);
        if (textEnd === -1) {
            return textEnd;
        }
        const char = str.charAt(textEnd + 1);
        if (char === "/" || char === "!" || alphanumeric.test(char)) {
            return textEnd;
        }
        index = textEnd + 1;
    }
}
function isWordEnd(cursor, wordBegin, html) {
    if (!isWhitespaceChar(html.charAt(cursor))) return false;
    const len = html.length;
    for(let i = cursor - 1; i > wordBegin; i--){
        const char = html.charAt(i);
        if (!isWhitespaceChar(char)) {
            if (isEqualSignChar(char)) return false;
            break;
        }
    }
    for(let i1 = cursor + 1; i1 < len; i1++){
        const char1 = html.charAt(i1);
        if (!isWhitespaceChar(char1)) {
            if (isEqualSignChar(char1)) return false;
            return true;
        }
    }
}
function unquote(str) {
    const car = str.charAt(0);
    const end = str.length - 1;
    const isQuoteStart = car === '"' || car === "'";
    if (isQuoteStart && car === str.charAt(end)) {
        return str.slice(1, end);
    }
    return str;
}
function getPreviousElement(el) {
    const parent = el.parentElement;
    if (!parent) return null;
    const prev = el.previousSibling;
    if (!prev) return null;
    if (prev.nodeType === 1) {
        return prev;
    } else {
        return getPreviousElement(prev);
    }
}
function sortStyles(styles) {
    return styles.sort((s1, s2)=>{
        const hundreds1 = getHundredsWeight(s1.selectorList);
        const hundreds2 = getHundredsWeight(s2.selectorList);
        if (hundreds1 !== hundreds2) return hundreds1 - hundreds2;
        const tens1 = getTensWeight(s1.selectorList);
        const tens2 = getTensWeight(s2.selectorList);
        if (tens1 !== tens2) return tens1 - tens2;
        const ones1 = getOnesWeight(s1.selectorList);
        const ones2 = getOnesWeight(s2.selectorList);
        return ones1 - ones2;
    });
}
function getHundredsWeight(selectors) {
    return selectors.reduce((pre, cur)=>pre + (cur.id ? 1 : 0), 0);
}
function getTensWeight(selectors) {
    return selectors.reduce((pre, cur)=>pre + cur.class.length + cur.attrs.length, 0);
}
function getOnesWeight(selectors) {
    return selectors.reduce((pre, cur)=>pre + (cur.tag ? 1 : 0), 0);
}
function makeMap(str, expectsLowerCase) {
    const map = /* @__PURE__ */ Object.create(null);
    const list = str.split(",");
    for(let i = 0; i < list.length; i++){
        map[list[i]] = true;
    }
    return expectsLowerCase ? (val)=>!!map[val.toLowerCase()] : (val)=>!!map[val];
}
function hasTerminalParent(tagName, stack) {
    const tagParents = closingTagAncestorBreakers[tagName];
    if (tagParents) {
        let currentIndex = stack.length - 1;
        while(currentIndex >= 0){
            const parentTagName = stack[currentIndex].tagName;
            if (parentTagName === tagName) {
                break;
            }
            if (tagParents && tagParents.includes(parentTagName)) {
                return true;
            }
            currentIndex--;
        }
    }
    return false;
}
function getTagName(tag) {
    if (options.html.renderHTMLTag) {
        return tag;
    }
    if (specialMiniElements[tag]) {
        return specialMiniElements[tag];
    } else if (isMiniElements(tag)) {
        return tag;
    } else if (isBlockElements(tag)) {
        return "view";
    } else if (isInlineElements(tag)) {
        return "text";
    }
    return "view";
}
function splitEqual(str) {
    const sep = "=";
    const idx = str.indexOf(sep);
    if (idx === -1) return [
        str
    ];
    const key = str.slice(0, idx).trim();
    const value = str.slice(idx + sep.length).trim();
    return [
        key,
        value
    ];
}
function format(children, document2, styleOptions, parent) {
    return children.filter((child)=>{
        if (child.type === "comment") {
            return false;
        } else if (child.type === "text") {
            return child.content !== "";
        }
        return true;
    }).map((child)=>{
        if (child.type === "text") {
            let text = document2.createTextNode(child.content);
            if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(options.html.transformText)) {
                text = options.html.transformText(text, child);
            }
            parent === null || parent === void 0 ? void 0 : parent.appendChild(text);
            return text;
        }
        const el = document2.createElement(getTagName(child.tagName));
        el.h5tagName = child.tagName;
        parent === null || parent === void 0 ? void 0 : parent.appendChild(el);
        if (!options.html.renderHTMLTag) {
            el.className = `h5-${child.tagName}`;
        }
        for(let i = 0; i < child.attributes.length; i++){
            const attr = child.attributes[i];
            const [key, value] = splitEqual(attr);
            if (key === "class") {
                el.className += " " + unquote(value);
            } else if (key[0] === "o" && key[1] === "n") {
                continue;
            } else {
                el.setAttribute(key, value == null ? true : unquote(value));
            }
        }
        const { styleTagParser , descendantList  } = styleOptions;
        const list = descendantList.slice();
        const style2 = styleTagParser.matchStyle(child.tagName, el, list);
        el.setAttribute("style", style2 + el.style.cssText);
        format(child.children, document2, {
            styleTagParser,
            descendantList: list
        }, el);
        if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(options.html.transformElement)) {
            return options.html.transformElement(el, child);
        }
        return el;
    });
}
function parser(html, document2) {
    const styleTagParser = new StyleTagParser();
    html = styleTagParser.extractStyle(html);
    const tokens = new Scaner(html).scan();
    const root = {
        tagName: "",
        children: [],
        type: "element",
        attributes: []
    };
    const state = {
        tokens,
        options,
        cursor: 0,
        stack: [
            root
        ]
    };
    parse(state);
    return format(root.children, document2, {
        styleTagParser,
        descendantList: Array(styleTagParser.styles.length).fill(0)
    });
}
function parse(state) {
    const { tokens , stack  } = state;
    let { cursor  } = state;
    const len = tokens.length;
    let nodes = stack[stack.length - 1].children;
    while(cursor < len){
        const token = tokens[cursor];
        if (token.type !== "tag-start") {
            nodes.push(token);
            cursor++;
            continue;
        }
        const tagToken = tokens[++cursor];
        cursor++;
        const tagName = tagToken.content.toLowerCase();
        if (token.close) {
            let index = stack.length;
            let shouldRewind = false;
            while(--index > -1){
                if (stack[index].tagName === tagName) {
                    shouldRewind = true;
                    break;
                }
            }
            while(cursor < len){
                const endToken = tokens[cursor];
                if (endToken.type !== "tag-end") break;
                cursor++;
            }
            if (shouldRewind) {
                stack.splice(index);
                break;
            } else {
                continue;
            }
        }
        const isClosingTag = options.html.closingElements.has(tagName);
        let shouldRewindToAutoClose = isClosingTag;
        if (shouldRewindToAutoClose) {
            shouldRewindToAutoClose = !hasTerminalParent(tagName, stack);
        }
        if (shouldRewindToAutoClose) {
            let currentIndex = stack.length - 1;
            while(currentIndex > 0){
                if (tagName === stack[currentIndex].tagName) {
                    stack.splice(currentIndex);
                    const previousIndex = currentIndex - 1;
                    nodes = stack[previousIndex].children;
                    break;
                }
                currentIndex = currentIndex - 1;
            }
        }
        const attributes = [];
        let attrToken;
        while(cursor < len){
            attrToken = tokens[cursor];
            if (attrToken.type === "tag-end") break;
            attributes.push(attrToken.content);
            cursor++;
        }
        cursor++;
        const children = [];
        const element = {
            type: "element",
            tagName: tagToken.content,
            attributes,
            children
        };
        nodes.push(element);
        const hasChildren = !(attrToken.close || options.html.voidElements.has(tagName));
        if (hasChildren) {
            stack.push({
                tagName,
                children
            });
            const innerState = {
                tokens,
                cursor,
                stack
            };
            parse(innerState);
            cursor = innerState.cursor;
        }
    }
    state.cursor = cursor;
}
function setInnerHTML(element, html) {
    while(element.firstChild){
        element.removeChild(element.firstChild);
    }
    const children = parser(html, element.ownerDocument);
    for(let i = 0; i < children.length; i++){
        element.appendChild(children[i]);
    }
}
function getBoundingClientRectImpl() {
    if (!options.miniGlobal) return Promise.resolve(null);
    return new Promise((resolve)=>{
        const query = options.miniGlobal.createSelectorQuery();
        query.select(`#${this.uid}`).boundingClientRect((res)=>{
            resolve(res);
        }).exec();
    });
}
function getTemplateContent(ctx) {
    if (ctx.nodeName === "template") {
        const document2 = ctx.ownerDocument;
        const content = document2.createElement(DOCUMENT_FRAGMENT);
        content.childNodes = ctx.childNodes;
        ctx.childNodes = [
            content
        ];
        content.parentNode = ctx;
        content.childNodes.forEach((nodes)=>{
            nodes.parentNode = content;
        });
        return content;
    }
}
function insertAdjacentHTML(position, html) {
    var _a, _b;
    const parsedNodes = parser(html, this.ownerDocument);
    for(let i = 0; i < parsedNodes.length; i++){
        const n = parsedNodes[i];
        switch(position){
            case "beforebegin":
                (_a = this.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(n, this);
                break;
            case "afterbegin":
                if (this.hasChildNodes()) {
                    this.insertBefore(n, this.childNodes[0]);
                } else {
                    this.appendChild(n);
                }
                break;
            case "beforeend":
                this.appendChild(n);
                break;
            case "afterend":
                (_b = this.parentNode) === null || _b === void 0 ? void 0 : _b.appendChild(n);
                break;
        }
    }
}
function cloneNode(isDeep = false) {
    const document2 = this.ownerDocument;
    let newNode;
    if (this.nodeType === 1) {
        newNode = document2.createElement(this.nodeName);
    } else if (this.nodeType === 3) {
        newNode = document2.createTextNode("");
    }
    for(const key in this){
        const value = this[key];
        if ([
            PROPS,
            DATASET
        ].includes(key) && typeof value === OBJECT) {
            newNode[key] = Object.assign({}, value);
        } else if (key === "_value") {
            newNode[key] = value;
        } else if (key === STYLE) {
            newNode.style._value = Object.assign({}, value._value);
            newNode.style._usedStyleProp = new Set(Array.from(value._usedStyleProp));
        }
    }
    if (isDeep) {
        newNode.childNodes = this.childNodes.map((node)=>node.cloneNode(true));
    }
    return newNode;
}
function contains(node) {
    let isContains = false;
    this.childNodes.some((childNode)=>{
        const { uid  } = childNode;
        if (uid === node.uid || uid === node.id || childNode.contains(node)) {
            isContains = true;
            return true;
        }
    });
    return isContains;
}
function createEvent(event, node) {
    if (typeof event === "string") {
        return new TaroEvent(event, {
            bubbles: true,
            cancelable: true
        });
    }
    const domEv = new TaroEvent(event.type, {
        bubbles: true,
        cancelable: true
    }, event);
    for(const key in event){
        if (key === CURRENT_TARGET || key === TARGET || key === TYPE || key === TIME_STAMP) {
            continue;
        } else {
            domEv[key] = event[key];
        }
    }
    if (domEv.type === CONFIRM && (node === null || node === void 0 ? void 0 : node.nodeName) === INPUT) {
        domEv[KEY_CODE] = 13;
    }
    return domEv;
}
function getEventCBResult(event) {
    const result = event[EVENT_CALLBACK_RESULT];
    if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(result)) {
        delete event[EVENT_CALLBACK_RESULT];
    }
    return result;
}
function eventHandler(event) {
    var _a, _b;
    event.type === void 0 && Object.defineProperty(event, "type", {
        value: event._type
    });
    event.detail === void 0 && Object.defineProperty(event, "detail", {
        value: event._detail || Object.assign({}, event)
    });
    event.currentTarget = event.currentTarget || event.target || Object.assign({}, event);
    _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("modifyMpEventImpl", event);
    const currentTarget = event.currentTarget;
    const id = ((_a = currentTarget.dataset) === null || _a === void 0 ? void 0 : _a.sid) || currentTarget.id || ((_b = event.detail) === null || _b === void 0 ? void 0 : _b.id) || "";
    const node = env.document.getElementById(id);
    if (node) {
        const dispatch = ()=>{
            const e = createEvent(event, node);
            _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("modifyTaroEvent", e, node);
            _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("dispatchTaroEvent", e, node);
            _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("dispatchTaroEventFinish", e, node);
        };
        if (_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.isExist("batchedEventUpdates")) {
            const type = event.type;
            if (!_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("isBubbleEvents", type) || !isParentBinded(node, type) || type === TOUCHMOVE && !!node.props.catchMove) {
                _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("batchedEventUpdates", ()=>{
                    if (eventsBatch[type]) {
                        eventsBatch[type].forEach((fn)=>fn());
                        delete eventsBatch[type];
                    }
                    dispatch();
                });
                return getEventCBResult(event);
            } else {
                (eventsBatch[type] || (eventsBatch[type] = [])).push(dispatch);
            }
        } else {
            dispatch();
            return getEventCBResult(event);
        }
    }
}
function findCustomWrapper(root, dataPathArr) {
    const list = dataPathArr.slice(1);
    let currentData = root;
    let customWrapper;
    let splitedPath = "";
    list.some((item, i)=>{
        const key = item.replace(/^\[(.+)\]$/, "$1").replace(/\bcn\b/g, "childNodes");
        currentData = currentData[key];
        if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(currentData)) {
            currentData = currentData.filter((el)=>!isComment(el));
        }
        if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(currentData)) return true;
        if (currentData.nodeName === CUSTOM_WRAPPER) {
            const res = customWrapperCache.get(currentData.sid);
            if (res) {
                customWrapper = res;
                splitedPath = dataPathArr.slice(i + 2).join(".");
            }
        }
    });
    if (customWrapper) {
        return {
            customWrapper,
            splitedPath
        };
    }
}
function __classPrivateFieldGet(receiver, state, kind, f) {
    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}
function __classPrivateFieldSet(receiver, state, value, kind, f) {
    if (kind === "m") throw new TypeError("Private method is not writable");
    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
    return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
}
function replacer(match) {
    return replaceCharMap[match];
}
function appendTo(dict, name, value) {
    const res = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(value) ? value.join(",") : value;
    if (name in dict) dict[name].push(res);
    else dict[name] = [
        res
    ];
}
function addEach(value, key) {
    appendTo(this, key, value);
}
function decode(str) {
    return decodeURIComponent(str.replace(plusReg, " "));
}
function encode(str) {
    return encodeURIComponent(str).replace(findReg, replacer);
}
function parseUrl(url = "") {
    const result = {
        href: "",
        origin: "",
        protocol: "",
        hostname: "",
        host: "",
        port: "",
        pathname: "",
        search: "",
        hash: ""
    };
    if (!url || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(url)) return result;
    url = url.trim();
    const PATTERN = /^(([^:/?#]+):)?\/\/(([^/?#]+):(.+)@)?([^/?#:]*)(:(\d+))?([^?#]*)(\?([^#]*))?(#(.*))?/;
    const matches = url.match(PATTERN);
    if (!matches) return result;
    result.protocol = matches[1] || "https:";
    result.hostname = matches[6] || "taro.com";
    result.port = matches[8] || "";
    result.pathname = matches[9] || "/";
    result.search = matches[10] || "";
    result.hash = matches[12] || "";
    result.href = url;
    result.origin = result.protocol + "//" + result.hostname;
    result.host = result.hostname + (result.port ? `:${result.port}` : "");
    return result;
}
function parseUrlBase(url, base) {
    const VALID_URL = /^(https?:)\/\//i;
    let fullUrl = "";
    let parsedBase = null;
    if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(base)) {
        base = String(base).trim();
        if (!VALID_URL.test(base)) throw new TypeError(`Failed to construct 'URL': Invalid base URL`);
        parsedBase = parseUrl(base);
    }
    url = String(url).trim();
    if (VALID_URL.test(url)) {
        fullUrl = url;
    } else if (parsedBase) {
        if (url) {
            if (url.startsWith("//")) {
                fullUrl = parsedBase.protocol + url;
            } else {
                fullUrl = parsedBase.origin + (url.startsWith("/") ? url : `/${url}`);
            }
        } else {
            fullUrl = parsedBase.href;
        }
    } else {
        throw new TypeError(`Failed to construct 'URL': Invalid URL`);
    }
    return parseUrl(fullUrl);
}
function getComputedStyle(element) {
    return element.style;
}
function generateFullUrl(val = "") {
    const origin = INIT_URL;
    if (/^[/?#]/.test(val)) {
        return origin + val;
    }
    return val;
}
function injectPageInstance(inst, id) {
    _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("mergePageInstance", instances.get(id), inst);
    instances.set(id, inst);
}
function getPageInstance(id) {
    return instances.get(id);
}
function removePageInstance(id) {
    instances.delete(id);
}
function addLeadingSlash(path) {
    if (path == null) {
        return "";
    }
    return path.charAt(0) === "/" ? path : "/" + path;
}
function safeExecute(path, lifecycle, ...args) {
    const instance = instances.get(path);
    if (instance == null) {
        return;
    }
    const func = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("getLifecycle", instance, lifecycle);
    if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(func)) {
        const res = func.map((fn)=>fn.apply(instance, args));
        return res[0];
    }
    if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(func)) {
        return;
    }
    return func.apply(instance, args);
}
function stringify(obj) {
    if (obj == null) {
        return "";
    }
    const path = Object.keys(obj).map((key)=>{
        return key + "=" + obj[key];
    }).join("&");
    return path === "" ? path : "?" + path;
}
function getPath(id, options2) {
    const idx = id.indexOf("?");
    if (isWeb) {
        return `${idx > -1 ? id.substring(0, idx) : id}${stringify((options2 === null || options2 === void 0 ? void 0 : options2.stamp) ? {
            stamp: options2.stamp
        } : {})}`;
    } else {
        return `${idx > -1 ? id.substring(0, idx) : id}${stringify(options2)}`;
    }
}
function getOnReadyEventKey(path) {
    return path + "." + ON_READY;
}
function getOnShowEventKey(path) {
    return path + "." + ON_SHOW;
}
function getOnHideEventKey(path) {
    return path + "." + ON_HIDE;
}
function createPageConfig(component, pageName, data, pageConfig) {
    const id = pageName !== null && pageName !== void 0 ? pageName : `taro_page_${pageId()}`;
    const [ONLOAD, ONUNLOAD, ONREADY, ONSHOW, ONHIDE, LIFECYCLES, SIDE_EFFECT_LIFECYCLES] = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("getMiniLifecycleImpl").page;
    let pageElement = null;
    let unmounting = false;
    let prepareMountList = [];
    function setCurrentRouter(page) {
        const router = isWeb ? page.$taroPath : page.route || page.__route__ || page.$taroPath;
        Current.router = {
            params: page.$taroParams,
            path: addLeadingSlash(router),
            $taroPath: page.$taroPath,
            onReady: getOnReadyEventKey(id),
            onShow: getOnShowEventKey(id),
            onHide: getOnHideEventKey(id)
        };
        if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(page.exitState)) {
            Current.router.exitState = page.exitState;
        }
    }
    let loadResolver;
    let hasLoaded;
    const config = {
        [ONLOAD] (options2 = {}, cb) {
            hasLoaded = new Promise((resolve)=>{
                loadResolver = resolve;
            });
            perf.start(PAGE_INIT);
            Current.page = this;
            this.config = pageConfig || {};
            const uniqueOptions = Object.assign({}, options2, {
                $taroTimestamp: Date.now()
            });
            const $taroPath = this.$taroPath = getPath(id, uniqueOptions);
            if (isWeb) {
                config.path = $taroPath;
            }
            if (this.$taroParams == null) {
                this.$taroParams = uniqueOptions;
            }
            setCurrentRouter(this);
            if (!isWeb) {
                window$1.trigger(CONTEXT_ACTIONS.INIT, $taroPath);
            }
            const mount = ()=>{
                Current.app.mount(component, $taroPath, ()=>{
                    pageElement = env.document.getElementById($taroPath);
                    (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.ensure)(pageElement !== null, "\u6CA1\u6709\u627E\u5230\u9875\u9762\u5B9E\u4F8B\u3002");
                    safeExecute($taroPath, ON_LOAD, this.$taroParams);
                    loadResolver();
                    if (!isWeb) {
                        pageElement.ctx = this;
                        pageElement.performUpdate(true, cb);
                    } else {
                        (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(cb) && cb();
                    }
                });
            };
            if (unmounting) {
                prepareMountList.push(mount);
            } else {
                mount();
            }
        },
        [ONUNLOAD] () {
            const $taroPath = this.$taroPath;
            if (!isWeb) {
                window$1.trigger(CONTEXT_ACTIONS.DESTORY, $taroPath);
            }
            safeExecute($taroPath, ONUNLOAD);
            unmounting = true;
            Current.app.unmount($taroPath, ()=>{
                unmounting = false;
                instances.delete($taroPath);
                if (pageElement) {
                    pageElement.ctx = null;
                    pageElement = null;
                }
                if (prepareMountList.length) {
                    prepareMountList.forEach((fn)=>fn());
                    prepareMountList = [];
                }
            });
        },
        [ONREADY] () {
            hasLoaded.then(()=>{
                safeExecute(this.$taroPath, ON_READY);
                _raf(()=>eventCenter.trigger(getOnReadyEventKey(id)));
                this.onReady.called = true;
            });
        },
        [ONSHOW] (options2 = {}) {
            hasLoaded.then(()=>{
                Current.page = this;
                setCurrentRouter(this);
                if (!isWeb) {
                    window$1.trigger(CONTEXT_ACTIONS.RECOVER, this.$taroPath);
                }
                safeExecute(this.$taroPath, ON_SHOW, options2);
                _raf(()=>eventCenter.trigger(getOnShowEventKey(id)));
            });
        },
        [ONHIDE] () {
            if (!isWeb) {
                window$1.trigger(CONTEXT_ACTIONS.RESTORE, this.$taroPath);
            }
            if (Current.page === this) {
                Current.page = null;
                Current.router = null;
            }
            safeExecute(this.$taroPath, ON_HIDE);
            eventCenter.trigger(getOnHideEventKey(id));
        }
    };
    LIFECYCLES.forEach((lifecycle)=>{
        let isDefer = false;
        lifecycle = lifecycle.replace(/^defer:/, ()=>{
            isDefer = true;
            return "";
        });
        config[lifecycle] = function() {
            const exec = ()=>safeExecute(this.$taroPath, lifecycle, ...arguments);
            if (isDefer) {
                hasLoaded.then(exec);
            } else {
                return exec();
            }
        };
    });
    SIDE_EFFECT_LIFECYCLES.forEach((lifecycle)=>{
        var _a;
        if (component[lifecycle] || ((_a = component.prototype) === null || _a === void 0 ? void 0 : _a[lifecycle]) || component[lifecycle.replace(/^on/, "enable")] || (pageConfig === null || pageConfig === void 0 ? void 0 : pageConfig[lifecycle.replace(/^on/, "enable")])) {
            config[lifecycle] = function(...args) {
                var _a2;
                const target = (_a2 = args[0]) === null || _a2 === void 0 ? void 0 : _a2.target;
                if (target === null || target === void 0 ? void 0 : target.id) {
                    const id2 = target.id;
                    const element = env.document.getElementById(id2);
                    if (element) {
                        target.dataset = element.dataset;
                    }
                }
                return safeExecute(this.$taroPath, lifecycle, ...args);
            };
        }
    });
    config.eh = eventHandler;
    if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(data)) {
        config.data = data;
    }
    _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("modifyPageObject", config);
    return config;
}
function createComponentConfig(component, componentName, data) {
    const id = componentName !== null && componentName !== void 0 ? componentName : `taro_component_${pageId()}`;
    let componentElement = null;
    const [ATTACHED, DETACHED] = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("getMiniLifecycleImpl").component;
    const config = {
        [ATTACHED] () {
            var _a;
            perf.start(PAGE_INIT);
            this.pageIdCache = ((_a = this.getPageId) === null || _a === void 0 ? void 0 : _a.call(this)) || pageId();
            const path = getPath(id, {
                id: this.pageIdCache
            });
            Current.app.mount(component, path, ()=>{
                componentElement = env.document.getElementById(path);
                (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.ensure)(componentElement !== null, "\u6CA1\u6709\u627E\u5230\u7EC4\u4EF6\u5B9E\u4F8B\u3002");
                this.$taroInstances = instances.get(path);
                safeExecute(path, ON_LOAD);
                if (!isWeb) {
                    componentElement.ctx = this;
                    componentElement.performUpdate(true);
                }
            });
        },
        [DETACHED] () {
            const path = getPath(id, {
                id: this.pageIdCache
            });
            Current.app.unmount(path, ()=>{
                instances.delete(path);
                if (componentElement) {
                    componentElement.ctx = null;
                }
            });
        },
        methods: {
            eh: eventHandler
        }
    };
    if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(data)) {
        config.data = data;
    }
    [
        OPTIONS,
        EXTERNAL_CLASSES,
        BEHAVIORS
    ].forEach((key)=>{
        var _a;
        config[key] = (_a = component[key]) !== null && _a !== void 0 ? _a : _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.EMPTY_OBJ;
    });
    return config;
}
function createRecursiveComponentConfig(componentName) {
    const isCustomWrapper = componentName === CUSTOM_WRAPPER;
    const [ATTACHED, DETACHED] = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("getMiniLifecycleImpl").component;
    const lifeCycles = isCustomWrapper ? {
        [ATTACHED] () {
            var _a, _b;
            const componentId = ((_a = this.data.i) === null || _a === void 0 ? void 0 : _a.sid) || ((_b = this.props.i) === null || _b === void 0 ? void 0 : _b.sid);
            if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(componentId)) {
                customWrapperCache.set(componentId, this);
                const el = env.document.getElementById(componentId);
                if (el) {
                    el.ctx = this;
                }
            }
        },
        [DETACHED] () {
            var _a, _b;
            const componentId = ((_a = this.data.i) === null || _a === void 0 ? void 0 : _a.sid) || ((_b = this.props.i) === null || _b === void 0 ? void 0 : _b.sid);
            if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(componentId)) {
                customWrapperCache.delete(componentId);
                const el = env.document.getElementById(componentId);
                if (el) {
                    el.ctx = null;
                }
            }
        }
    } : _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.EMPTY_OBJ;
    return Object.assign({
        properties: {
            i: {
                type: Object,
                value: {
                    ["nn"]: (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.getComponentsAlias)(_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.internalComponents)[VIEW]._num
                }
            },
            l: {
                type: String,
                value: ""
            }
        },
        options: {
            addGlobalClass: true,
            virtualHost: !isCustomWrapper
        },
        methods: {
            eh: eventHandler
        }
    }, lifeCycles);
}
var PROPERTY_THRESHOLD, TARO_RUNTIME, HOOKS_APP_ID, SET_DATA, PAGE_INIT, ROOT_STR, HTML, HEAD, BODY, APP, CONTAINER, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, ID, UID, CLASS, STYLE, FOCUS, VIEW, STATIC_VIEW, PURE_VIEW, PROPS, DATASET, OBJECT, VALUE, INPUT, CHANGE, CUSTOM_WRAPPER, TARGET, CURRENT_TARGET, TYPE, CONFIRM, TIME_STAMP, KEY_CODE, TOUCHMOVE, DATE, SET_TIMEOUT, CATCHMOVE, CATCH_VIEW, COMMENT, ON_LOAD, ON_READY, ON_SHOW, ON_HIDE, OPTIONS, EXTERNAL_CLASSES, EVENT_CALLBACK_RESULT, BEHAVIORS, A, CONTEXT_ACTIONS, observers, MutationObserverImpl, sidMatches, isConcerned, pendingMuatations, MutationObserver, incrementId, customWrapperCache, componentsAlias$1, ClassList, EventSource, eventSource, isWeb$1, env, SPECIAL_NODES, componentsAlias, TaroEventTarget, CHILDNODES, nodeId, TaroNode, WEBKIT, styleProperties, color, style, width, image, size, color_style_width, fitlength_fitwidth_image, fitlength_fitwidth_image_radius, color_style_width_fitlength_fitwidth_image, endRadius_startRadius, bottom_left_right_top, end_start, content_items_self, blockSize_height_inlineSize_width, after_before, Style, TaroElement, options, whitespace, equalSign, alphanumeric, Scaner, LEFT_BRACKET, RIGHT_BRACKET, CLASS_SELECTOR, ID_SELECTOR, CHILD_COMBINATOR, GENERAL_SIBLING_COMBINATOR, ADJACENT_SIBLING_COMBINATOR, StyleTagParser, specialMiniElements, internalCompsList, isMiniElements, isInlineElements, isBlockElements, closingTagAncestorBreakers, TaroEvent, eventsBatch, FormElement, Performance, perf, TaroRootElement, TaroText, _URLSearchParams_dict, findReg, plusReg, replaceCharMap, URLSearchParams, _URL_hash, _URL_hostname, _URL_pathname, _URL_port, _URL_protocol, _URL_search, URL, AnchorElement, TaroDocument, document$1, eventCenter, RuntimeCache, _History_instances, _History_location, _History_stack, _History_cur, _History_window, _History_reset, cache$1, History, Current, getCurrentInstance, _Location_instances, _Location_url, _Location_noCheckUrl, _Location_window, _Location_reset, _Location_getPreValue, _Location_rollBack, _Location_recordHistory, _Location_checkUrlChange, INIT_URL, cache, Location, machine, arch, engine, msg, nav, now, lastTime, _raf, _caf, window$1, location, history, SVGElement, instances, pageId, isWeb, TIMEOUT, nextTick;
var init_runtime_esm = (0,_chunk_P7VEE7PG_js__WEBPACK_IMPORTED_MODULE_1__.__esm)({
    "node_modules/@tarojs/runtime/dist/runtime.esm.js" () {
        (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.init_shared_esm)();
        (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.init_shared_esm)();
        PROPERTY_THRESHOLD = 2046;
        TARO_RUNTIME = "Taro runtime";
        HOOKS_APP_ID = "taro-app";
        SET_DATA = "\u5C0F\u7A0B\u5E8F setData";
        PAGE_INIT = "\u9875\u9762\u521D\u59CB\u5316";
        ROOT_STR = "root";
        HTML = "html";
        HEAD = "head";
        BODY = "body";
        APP = "app";
        CONTAINER = "container";
        DOCUMENT_ELEMENT_NAME = "#document";
        DOCUMENT_FRAGMENT = "document-fragment";
        ID = "id";
        UID = "uid";
        CLASS = "class";
        STYLE = "style";
        FOCUS = "focus";
        VIEW = "view";
        STATIC_VIEW = "static-view";
        PURE_VIEW = "pure-view";
        PROPS = "props";
        DATASET = "dataset";
        OBJECT = "object";
        VALUE = "value";
        INPUT = "input";
        CHANGE = "change";
        CUSTOM_WRAPPER = "custom-wrapper";
        TARGET = "target";
        CURRENT_TARGET = "currentTarget";
        TYPE = "type";
        CONFIRM = "confirm";
        TIME_STAMP = "timeStamp";
        KEY_CODE = "keyCode";
        TOUCHMOVE = "touchmove";
        DATE = "Date";
        SET_TIMEOUT = "setTimeout";
        CATCHMOVE = "catchMove";
        CATCH_VIEW = "catch-view";
        COMMENT = "comment";
        ON_LOAD = "onLoad";
        ON_READY = "onReady";
        ON_SHOW = "onShow";
        ON_HIDE = "onHide";
        OPTIONS = "options";
        EXTERNAL_CLASSES = "externalClasses";
        EVENT_CALLBACK_RESULT = "e_result";
        BEHAVIORS = "behaviors";
        A = "a";
        (function(CONTEXT_ACTIONS2) {
            CONTEXT_ACTIONS2["INIT"] = "0";
            CONTEXT_ACTIONS2["RESTORE"] = "1";
            CONTEXT_ACTIONS2["RECOVER"] = "2";
            CONTEXT_ACTIONS2["DESTORY"] = "3";
        })(CONTEXT_ACTIONS || (CONTEXT_ACTIONS = {}));
        observers = [];
        MutationObserverImpl = class {
            observe(target, options2) {
                this.disconnect();
                this.target = target;
                this.options = options2 || {};
                observers.push(this);
            }
            disconnect() {
                this.target = null;
                const index = observers.indexOf(this);
                if (index >= 0) {
                    observers.splice(index, 1);
                }
            }
            takeRecords() {
                return this.records.splice(0, this.records.length);
            }
            constructor(callback){
                this.records = [];
                this.callback = callback;
            }
        };
        sidMatches = (observerTarget, target)=>{
            return !!observerTarget && observerTarget.sid === (target === null || target === void 0 ? void 0 : target.sid);
        };
        isConcerned = (record, options2)=>{
            const { characterData , characterDataOldValue , attributes , attributeOldValue , childList  } = options2;
            switch(record.type){
                case "characterData":
                    if (characterData) {
                        if (!characterDataOldValue) record.oldValue = null;
                        return true;
                    }
                    return false;
                case "attributes":
                    if (attributes) {
                        if (!attributeOldValue) record.oldValue = null;
                        return true;
                    }
                    return false;
                case "childList":
                    if (childList) {
                        return true;
                    }
                    return false;
            }
        };
        pendingMuatations = false;
        MutationObserver = class {
            observe(...args) {
                this.core.observe(...args);
            }
            disconnect() {
                this.core.disconnect();
            }
            takeRecords() {
                return this.core.takeRecords();
            }
            static record(record) {
                recordMutation(record);
            }
            constructor(callback){
                if (false) {} else {
                    if (true) {
                        console.warn("[Taro Warning] \u82E5\u8981\u4F7F\u7528 MutationObserver\uFF0C\u8BF7\u5728 Taro \u7F16\u8BD1\u914D\u7F6E\u4E2D\u8BBE\u7F6E 'mini.enableMutationObserver: true'");
                    }
                    this.core = {
                        observe: _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.noop,
                        disconnect: _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.noop,
                        takeRecords: _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.noop
                    };
                }
            }
        };
        incrementId = ()=>{
            const chatCodes = [];
            for(let i = 65; i <= 90; i++){
                chatCodes.push(i);
            }
            for(let i1 = 97; i1 <= 122; i1++){
                chatCodes.push(i1);
            }
            const chatCodesLen = chatCodes.length - 1;
            const list = [
                0,
                0
            ];
            return ()=>{
                const target = list.map((item)=>chatCodes[item]);
                const res = String.fromCharCode(...target);
                let tailIdx = list.length - 1;
                list[tailIdx]++;
                while(list[tailIdx] > chatCodesLen){
                    list[tailIdx] = 0;
                    tailIdx = tailIdx - 1;
                    if (tailIdx < 0) {
                        list.push(0);
                        break;
                    }
                    list[tailIdx]++;
                }
                return res;
            };
        };
        customWrapperCache = /* @__PURE__ */ new Map();
        ClassList = class {
            get value() {
                return this.toString();
            }
            get length() {
                return this.tokenList.length;
            }
            add() {
                let index = 0;
                let updated = false;
                const tokens = arguments;
                const length = tokens.length;
                const tokenList = this.tokenList;
                do {
                    const token = tokens[index];
                    if (this.checkTokenIsValid(token) && !~tokenList.indexOf(token)) {
                        tokenList.push(token);
                        updated = true;
                    }
                }while (++index < length)
                if (updated) {
                    this._update();
                }
            }
            remove() {
                let i = 0;
                let updated = false;
                const tokens = arguments;
                const length = tokens.length;
                const tokenList = this.tokenList;
                do {
                    const token = tokens[i] + "";
                    if (!this.checkTokenIsValid(token)) continue;
                    const index = tokenList.indexOf(token);
                    if (~tokenList.indexOf(token)) {
                        tokenList.splice(index, 1);
                        updated = true;
                    }
                }while (++i < length)
                if (updated) {
                    this._update();
                }
            }
            contains(token) {
                if (!this.checkTokenIsValid(token)) return false;
                return !!~this.tokenList.indexOf(token);
            }
            toggle(token, force) {
                const result = this.contains(token);
                const method = result ? force !== true && "remove" : force !== false && "add";
                if (method) {
                    this[method](token);
                }
                if (force === true || force === false) {
                    return force;
                } else {
                    return !result;
                }
            }
            replace(token, replacement_token) {
                if (!this.checkTokenIsValid(token) || !this.checkTokenIsValid(replacement_token)) return;
                const index = this.tokenList.indexOf(token);
                if (~index) {
                    this.tokenList.splice(index, 1, replacement_token);
                    this._update();
                }
            }
            toString() {
                return this.tokenList.filter((v)=>v !== "").join(" ");
            }
            checkTokenIsValid(token) {
                if (token === "" || /\s/.test(token)) return false;
                return true;
            }
            _update() {
                this.el.className = this.value;
            }
            constructor(className, el){
                this.tokenList = [];
                this.el = el;
                className.trim().split(/\s+/).forEach((token)=>this.tokenList.push(token));
            }
        };
        EventSource = class extends Map {
            removeNode(child) {
                const { sid , uid  } = child;
                this.delete(sid);
                if (uid !== sid && uid) this.delete(uid);
            }
            removeNodeTree(child) {
                this.removeNode(child);
                const { childNodes  } = child;
                childNodes.forEach((node)=>this.removeNodeTree(node));
            }
        };
        eventSource = new EventSource();
        isWeb$1 = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isWebPlatform)();
        env = {
            window: isWeb$1 ? window : _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.EMPTY_OBJ,
            document: isWeb$1 ? document : _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.EMPTY_OBJ
        };
        TaroEventTarget = class {
            addEventListener(type, handler, options2) {
                type = type.toLowerCase();
                _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("onAddEvent", type, handler, options2, this);
                if (type === "regionchange") {
                    this.addEventListener("begin", handler, options2);
                    this.addEventListener("end", handler, options2);
                    return;
                }
                let isCapture = Boolean(options2);
                let isOnce = false;
                if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(options2)) {
                    isCapture = Boolean(options2.capture);
                    isOnce = Boolean(options2.once);
                }
                if (isOnce) {
                    const wrapper = function() {
                        handler.apply(this, arguments);
                        this.removeEventListener(type, wrapper);
                    };
                    this.addEventListener(type, wrapper, Object.assign(Object.assign({}, options2), {
                        once: false
                    }));
                    return;
                }
                (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.warn)(isCapture, "Taro \u6682\u672A\u5B9E\u73B0 event \u7684 capture \u7279\u6027\u3002");
                const oldHandler = handler;
                handler = function() {
                    return oldHandler.apply(this, arguments);
                };
                handler.oldHandler = oldHandler;
                const handlers = this.__handlers[type];
                if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(handlers)) {
                    handlers.push(handler);
                } else {
                    this.__handlers[type] = [
                        handler
                    ];
                }
            }
            removeEventListener(type, handler) {
                type = type.toLowerCase();
                if (type === "regionchange") {
                    this.removeEventListener("begin", handler);
                    this.removeEventListener("end", handler);
                    return;
                }
                if (!handler) {
                    return;
                }
                const handlers = this.__handlers[type];
                if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(handlers)) {
                    return;
                }
                const index = handlers.findIndex((item)=>{
                    if (item === handler || item.oldHandler === handler) return true;
                });
                (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.warn)(index === -1, `\u4E8B\u4EF6: '${type}' \u6CA1\u6709\u6CE8\u518C\u5728 DOM \u4E2D\uFF0C\u56E0\u6B64\u4E0D\u4F1A\u88AB\u79FB\u9664\u3002`);
                handlers.splice(index, 1);
            }
            isAnyEventBinded() {
                const handlers = this.__handlers;
                const isAnyEventBinded = Object.keys(handlers).find((key)=>handlers[key].length);
                return Boolean(isAnyEventBinded);
            }
            constructor(){
                this.__handlers = {};
            }
        };
        CHILDNODES = "cn";
        nodeId = incrementId();
        TaroNode = class extends TaroEventTarget {
            updateChildNodes(isClean) {
                const cleanChildNodes = ()=>[];
                const rerenderChildNodes = ()=>{
                    const childNodes = this.childNodes.filter((node)=>!isComment(node));
                    return childNodes.map(hydrate);
                };
                this.enqueueUpdate({
                    path: `${this._path}.${CHILDNODES}`,
                    value: isClean ? cleanChildNodes : rerenderChildNodes
                });
            }
            updateSingleChild(index) {
                this.childNodes.forEach((child, childIndex)=>{
                    if (isComment(child)) return;
                    if (index && childIndex < index) return;
                    this.enqueueUpdate({
                        path: child._path,
                        value: this.hydrate(child)
                    });
                });
            }
            get _root() {
                var _a;
                return ((_a = this.parentNode) === null || _a === void 0 ? void 0 : _a._root) || null;
            }
            findIndex(refChild) {
                const index = this.childNodes.indexOf(refChild);
                (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.ensure)(index !== -1, "The node to be replaced is not a child of this node.");
                return index;
            }
            get _path() {
                const parentNode = this.parentNode;
                if (parentNode) {
                    const list = parentNode.childNodes.filter((node)=>!isComment(node));
                    const indexOfNode = list.indexOf(this);
                    const index = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("getPathIndex", indexOfNode);
                    return `${parentNode._path}.${CHILDNODES}.${index}`;
                }
                return "";
            }
            get nextSibling() {
                const parentNode = this.parentNode;
                return (parentNode === null || parentNode === void 0 ? void 0 : parentNode.childNodes[parentNode.findIndex(this) + 1]) || null;
            }
            get previousSibling() {
                const parentNode = this.parentNode;
                return (parentNode === null || parentNode === void 0 ? void 0 : parentNode.childNodes[parentNode.findIndex(this) - 1]) || null;
            }
            get parentElement() {
                const parentNode = this.parentNode;
                if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.nodeType) === 1) {
                    return parentNode;
                }
                return null;
            }
            get firstChild() {
                return this.childNodes[0] || null;
            }
            get lastChild() {
                const childNodes = this.childNodes;
                return childNodes[childNodes.length - 1] || null;
            }
            set textContent(text) {
                const removedNodes = this.childNodes.slice();
                const addedNodes = [];
                while(this.firstChild){
                    this.removeChild(this.firstChild, {
                        doUpdate: false
                    });
                }
                if (text === "") {
                    this.updateChildNodes(true);
                } else {
                    const newText = env.document.createTextNode(text);
                    addedNodes.push(newText);
                    this.appendChild(newText);
                    this.updateChildNodes();
                }
                MutationObserver.record({
                    type: "childList",
                    target: this,
                    removedNodes,
                    addedNodes
                });
            }
            insertBefore(newChild, refChild, isReplace) {
                if (newChild.nodeName === DOCUMENT_FRAGMENT) {
                    newChild.childNodes.reduceRight((previousValue, currentValue)=>{
                        this.insertBefore(currentValue, previousValue);
                        return currentValue;
                    }, refChild);
                    return newChild;
                }
                newChild.remove({
                    cleanRef: false
                });
                let index = 0;
                newChild.parentNode = this;
                if (refChild) {
                    index = this.findIndex(refChild);
                    this.childNodes.splice(index, 0, newChild);
                } else {
                    this.childNodes.push(newChild);
                }
                const childNodesLength = this.childNodes.length;
                if (this._root) {
                    if (!refChild) {
                        const isOnlyChild = childNodesLength === 1;
                        if (isOnlyChild) {
                            this.updateChildNodes();
                        } else {
                            this.enqueueUpdate({
                                path: newChild._path,
                                value: this.hydrate(newChild)
                            });
                        }
                    } else if (isReplace) {
                        this.enqueueUpdate({
                            path: newChild._path,
                            value: this.hydrate(newChild)
                        });
                    } else {
                        const mark = childNodesLength * 2 / 3;
                        if (mark > index) {
                            this.updateChildNodes();
                        } else {
                            this.updateSingleChild(index);
                        }
                    }
                }
                MutationObserver.record({
                    type: "childList",
                    target: this,
                    addedNodes: [
                        newChild
                    ],
                    removedNodes: isReplace ? [
                        refChild
                    ] : [],
                    nextSibling: isReplace ? refChild.nextSibling : refChild || null,
                    previousSibling: newChild.previousSibling
                });
                return newChild;
            }
            appendChild(newChild) {
                return this.insertBefore(newChild);
            }
            replaceChild(newChild, oldChild) {
                if (oldChild.parentNode !== this) return;
                this.insertBefore(newChild, oldChild, true);
                oldChild.remove({
                    doUpdate: false
                });
                return oldChild;
            }
            removeChild(child, options2 = {}) {
                const { cleanRef , doUpdate  } = options2;
                if (cleanRef !== false && doUpdate !== false) {
                    MutationObserver.record({
                        type: "childList",
                        target: this,
                        removedNodes: [
                            child
                        ],
                        nextSibling: child.nextSibling,
                        previousSibling: child.previousSibling
                    });
                }
                const index = this.findIndex(child);
                this.childNodes.splice(index, 1);
                child.parentNode = null;
                if (cleanRef !== false) {
                    eventSource.removeNodeTree(child);
                }
                if (this._root && doUpdate !== false) {
                    this.updateChildNodes();
                }
                return child;
            }
            remove(options2) {
                var _a;
                (_a = this.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(this, options2);
            }
            hasChildNodes() {
                return this.childNodes.length > 0;
            }
            enqueueUpdate(payload) {
                var _a;
                (_a = this._root) === null || _a === void 0 ? void 0 : _a.enqueueUpdate(payload);
            }
            get ownerDocument() {
                return env.document;
            }
            static extend(methodName, options2) {
                extend(TaroNode, methodName, options2);
            }
            constructor(){
                super();
                this.parentNode = null;
                this.childNodes = [];
                this.hydrate = (node)=>()=>hydrate(node);
                this.uid = "_" + nodeId();
                this.sid = this.uid;
                eventSource.set(this.sid, this);
            }
        };
        WEBKIT = "webkit";
        styleProperties = [
            "all",
            "appearance",
            "blockOverflow",
            "blockSize",
            "bottom",
            "clear",
            "contain",
            "content",
            "continue",
            "cursor",
            "direction",
            "display",
            "filter",
            "float",
            "gap",
            "height",
            "inset",
            "isolation",
            "left",
            "letterSpacing",
            "lightingColor",
            "markerSide",
            "mixBlendMode",
            "opacity",
            "order",
            "position",
            "quotes",
            "resize",
            "right",
            "rowGap",
            "tabSize",
            "tableLayout",
            "top",
            "userSelect",
            "verticalAlign",
            "visibility",
            "voiceFamily",
            "volume",
            "whiteSpace",
            "widows",
            "width",
            "zIndex",
            "pointerEvents",
            "aspectRatio"
        ];
        color = "Color";
        style = "Style";
        width = "Width";
        image = "Image";
        size = "Size";
        color_style_width = [
            color,
            style,
            width
        ];
        fitlength_fitwidth_image = [
            "FitLength",
            "FitWidth",
            image
        ];
        fitlength_fitwidth_image_radius = [
            ...fitlength_fitwidth_image,
            "Radius"
        ];
        color_style_width_fitlength_fitwidth_image = [
            ...color_style_width,
            ...fitlength_fitwidth_image
        ];
        endRadius_startRadius = [
            "EndRadius",
            "StartRadius"
        ];
        bottom_left_right_top = [
            "Bottom",
            "Left",
            "Right",
            "Top"
        ];
        end_start = [
            "End",
            "Start"
        ];
        content_items_self = [
            "Content",
            "Items",
            "Self"
        ];
        blockSize_height_inlineSize_width = [
            "BlockSize",
            "Height",
            "InlineSize",
            width
        ];
        after_before = [
            "After",
            "Before"
        ];
        combine("borderBlock", color_style_width);
        combine("borderBlockEnd", color_style_width);
        combine("borderBlockStart", color_style_width);
        combine("outline", [
            ...color_style_width,
            "Offset"
        ]);
        combine("border", [
            ...color_style_width,
            "Boundary",
            "Break",
            "Collapse",
            "Radius",
            "Spacing"
        ]);
        combine("borderFit", [
            "Length",
            width
        ]);
        combine("borderInline", color_style_width);
        combine("borderInlineEnd", color_style_width);
        combine("borderInlineStart", color_style_width);
        combine("borderLeft", color_style_width_fitlength_fitwidth_image);
        combine("borderRight", color_style_width_fitlength_fitwidth_image);
        combine("borderTop", color_style_width_fitlength_fitwidth_image);
        combine("borderBottom", color_style_width_fitlength_fitwidth_image);
        combine("textDecoration", [
            color,
            style,
            "Line"
        ]);
        combine("textEmphasis", [
            color,
            style,
            "Position"
        ]);
        combine("scrollMargin", bottom_left_right_top);
        combine("scrollPadding", bottom_left_right_top);
        combine("padding", bottom_left_right_top);
        combine("margin", [
            ...bottom_left_right_top,
            "Trim"
        ]);
        combine("scrollMarginBlock", end_start);
        combine("scrollMarginInline", end_start);
        combine("scrollPaddingBlock", end_start);
        combine("scrollPaddingInline", end_start);
        combine("gridColumn", end_start);
        combine("gridRow", end_start);
        combine("insetBlock", end_start);
        combine("insetInline", end_start);
        combine("marginBlock", end_start);
        combine("marginInline", end_start);
        combine("paddingBlock", end_start);
        combine("paddingInline", end_start);
        combine("pause", after_before);
        combine("cue", after_before);
        combine("mask", [
            "Clip",
            "Composite",
            image,
            "Mode",
            "Origin",
            "Position",
            "Repeat",
            size,
            "Type"
        ]);
        combine("borderImage", [
            "Outset",
            "Repeat",
            "Slice",
            "Source",
            "Transform",
            width
        ]);
        combine("maskBorder", [
            "Mode",
            "Outset",
            "Repeat",
            "Slice",
            "Source",
            width
        ]);
        combine("font", [
            "Family",
            "FeatureSettings",
            "Kerning",
            "LanguageOverride",
            "MaxSize",
            "MinSize",
            "OpticalSizing",
            "Palette",
            size,
            "SizeAdjust",
            "Stretch",
            style,
            "Weight",
            "VariationSettings"
        ]);
        combine("transform", [
            "Box",
            "Origin",
            style
        ]);
        combine("background", [
            color,
            image,
            "Attachment",
            "BlendMode",
            "Clip",
            "Origin",
            "Position",
            "Repeat",
            size
        ]);
        combine("listStyle", [
            image,
            "Position",
            "Type"
        ]);
        combine("scrollSnap", [
            "Align",
            "Stop",
            "Type"
        ]);
        combine("grid", [
            "Area",
            "AutoColumns",
            "AutoFlow",
            "AutoRows"
        ]);
        combine("gridTemplate", [
            "Areas",
            "Columns",
            "Rows"
        ]);
        combine("overflow", [
            "Block",
            "Inline",
            "Wrap",
            "X",
            "Y"
        ]);
        combine("transition", [
            "Delay",
            "Duration",
            "Property",
            "TimingFunction"
        ]);
        combine("color", [
            "Adjust",
            "InterpolationFilters",
            "Scheme"
        ]);
        combine("textAlign", [
            "All",
            "Last"
        ]);
        combine("page", [
            "BreakAfter",
            "BreakBefore",
            "BreakInside"
        ]);
        combine("animation", [
            "Delay",
            "Direction",
            "Duration",
            "FillMode",
            "IterationCount",
            "Name",
            "PlayState",
            "TimingFunction"
        ]);
        combine("flex", [
            "Basis",
            "Direction",
            "Flow",
            "Grow",
            "Shrink",
            "Wrap"
        ]);
        combine("offset", [
            ...after_before,
            ...end_start,
            "Anchor",
            "Distance",
            "Path",
            "Position",
            "Rotate"
        ]);
        combine("perspective", [
            "Origin"
        ]);
        combine("clip", [
            "Path",
            "Rule"
        ]);
        combine("flow", [
            "From",
            "Into"
        ]);
        combine("align", [
            "Content",
            "Items",
            "Self"
        ], true);
        combine("alignment", [
            "Adjust",
            "Baseline"
        ], true);
        combine("borderStart", endRadius_startRadius, true);
        combine("borderEnd", endRadius_startRadius, true);
        combine("borderCorner", [
            "Fit",
            image,
            "ImageTransform"
        ], true);
        combine("borderTopLeft", fitlength_fitwidth_image_radius, true);
        combine("borderTopRight", fitlength_fitwidth_image_radius, true);
        combine("borderBottomLeft", fitlength_fitwidth_image_radius, true);
        combine("borderBottomRight", fitlength_fitwidth_image_radius, true);
        combine("column", [
            "s",
            "Count",
            "Fill",
            "Gap",
            "Rule",
            "RuleColor",
            "RuleStyle",
            "RuleWidth",
            "Span",
            width
        ], true);
        combine("break", [
            ...after_before,
            "Inside"
        ], true);
        combine("wrap", [
            ...after_before,
            "Flow",
            "Inside",
            "Through"
        ], true);
        combine("justify", content_items_self, true);
        combine("place", content_items_self, true);
        combine("max", [
            ...blockSize_height_inlineSize_width,
            "Lines"
        ], true);
        combine("min", blockSize_height_inlineSize_width, true);
        combine("line", [
            "Break",
            "Clamp",
            "Grid",
            "Height",
            "Padding",
            "Snap"
        ], true);
        combine("inline", [
            "BoxAlign",
            size,
            "Sizing"
        ], true);
        combine("text", [
            "CombineUpright",
            "GroupAlign",
            "Height",
            "Indent",
            "Justify",
            "Orientation",
            "Overflow",
            "Shadow",
            "SpaceCollapse",
            "SpaceTrim",
            "Spacing",
            "Transform",
            "UnderlinePosition",
            "Wrap"
        ], true);
        combine("shape", [
            "ImageThreshold",
            "Inside",
            "Margin",
            "Outside"
        ], true);
        combine("word", [
            "Break",
            "Spacing",
            "Wrap"
        ], true);
        combine("object", [
            "Fit",
            "Position"
        ], true);
        combine("box", [
            "DecorationBreak",
            "Shadow",
            "Sizing",
            "Snap"
        ], true);
        combine(WEBKIT, [
            "LineClamp",
            "BoxOrient",
            "TextFillColor",
            "TextStroke",
            "TextStrokeColor",
            "TextStrokeWidth"
        ], true);
        Style = class {
            setCssVariables(styleKey) {
                this.hasOwnProperty(styleKey) || Object.defineProperty(this, styleKey, {
                    enumerable: true,
                    configurable: true,
                    get: ()=>{
                        return this._value[styleKey] || "";
                    },
                    set: (newVal)=>{
                        setStyle.call(this, newVal, styleKey);
                    }
                });
            }
            get cssText() {
                if (!this._usedStyleProp.size) return "";
                const texts = [];
                this._usedStyleProp.forEach((key)=>{
                    const val = this[key];
                    if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(val) || (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(val)) return;
                    let styleName = isCssVariable(key) ? key : (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.toDashed)(key);
                    if (styleName.indexOf("webkit") === 0 || styleName.indexOf("Webkit") === 0) {
                        styleName = `-${styleName}`;
                    }
                    texts.push(`${styleName}: ${val};`);
                });
                return texts.join(" ");
            }
            set cssText(str) {
                this._pending = true;
                recordCss(this);
                this._usedStyleProp.forEach((prop)=>{
                    this.removeProperty(prop);
                });
                if (str === "" || (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(str) || (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(str)) {
                    this._pending = false;
                    enqueueUpdate(this);
                    return;
                }
                const rules = str.split(";");
                for(let i = 0; i < rules.length; i++){
                    const rule = rules[i].trim();
                    if (rule === "") {
                        continue;
                    }
                    const [propName, ...valList] = rule.split(":");
                    const val = valList.join(":");
                    if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(val)) {
                        continue;
                    }
                    this.setProperty(propName.trim(), val.trim());
                }
                this._pending = false;
                enqueueUpdate(this);
            }
            setProperty(propertyName, value) {
                if (propertyName[0] === "-") {
                    this.setCssVariables(propertyName);
                } else {
                    propertyName = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.toCamelCase)(propertyName);
                }
                if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(value) || (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(value)) {
                    this.removeProperty(propertyName);
                } else {
                    this[propertyName] = value;
                }
            }
            removeProperty(propertyName) {
                propertyName = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.toCamelCase)(propertyName);
                if (!this._usedStyleProp.has(propertyName)) {
                    return "";
                }
                const value = this[propertyName];
                this[propertyName] = void 0;
                return value;
            }
            getPropertyValue(propertyName) {
                propertyName = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.toCamelCase)(propertyName);
                const value = this[propertyName];
                if (!value) {
                    return "";
                }
                return value;
            }
            constructor(element){
                this._element = element;
                this._usedStyleProp = /* @__PURE__ */ new Set();
                this._value = {};
            }
        };
        initStyle(Style, styleProperties);
        _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.tap("injectNewStyleProperties", (newStyleProperties)=>{
            if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(newStyleProperties)) {
                initStyle(Style, newStyleProperties);
            } else {
                if (typeof newStyleProperties !== "string") return;
                initStyle(Style, [
                    newStyleProperties
                ]);
            }
        });
        TaroElement = class extends TaroNode {
            _stopPropagation(event) {
                let target = this;
                while(target = target.parentNode){
                    const listeners = target.__handlers[event.type];
                    if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(listeners)) {
                        continue;
                    }
                    for(let i = listeners.length; i--;){
                        const l = listeners[i];
                        l._stop = true;
                    }
                }
            }
            get id() {
                return this.getAttribute(ID);
            }
            set id(val) {
                this.setAttribute(ID, val);
            }
            get className() {
                return this.getAttribute(CLASS) || "";
            }
            set className(val) {
                this.setAttribute(CLASS, val);
            }
            get cssText() {
                return this.getAttribute(STYLE) || "";
            }
            get classList() {
                return new ClassList(this.className, this);
            }
            get children() {
                return this.childNodes.filter(isElement);
            }
            get attributes() {
                const props = this.props;
                const propKeys = Object.keys(props);
                const style2 = this.style.cssText;
                const attrs = propKeys.map((key)=>({
                        name: key,
                        value: props[key]
                    }));
                return attrs.concat(style2 ? {
                    name: STYLE,
                    value: style2
                } : []);
            }
            get textContent() {
                let text = "";
                const childNodes = this.childNodes;
                for(let i = 0; i < childNodes.length; i++){
                    text += childNodes[i].textContent;
                }
                return text;
            }
            set textContent(text) {
                super.textContent = text;
            }
            hasAttribute(qualifiedName) {
                return !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(this.props[qualifiedName]);
            }
            hasAttributes() {
                return this.attributes.length > 0;
            }
            get focus() {
                return function() {
                    this.setAttribute(FOCUS, true);
                };
            }
            set focus(value) {
                this.setAttribute(FOCUS, value);
            }
            blur() {
                this.setAttribute(FOCUS, false);
            }
            setAttribute(qualifiedName, value) {
                (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.warn)((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(value) && value.length > PROPERTY_THRESHOLD, `\u5143\u7D20 ${this.nodeName} \u7684 ${qualifiedName} \u5C5E\u6027\u503C\u6570\u636E\u91CF\u8FC7\u5927\uFF0C\u53EF\u80FD\u4F1A\u5F71\u54CD\u6E32\u67D3\u6027\u80FD\u3002\u8003\u8651\u964D\u4F4E\u56FE\u7247\u8F6C\u4E3A base64 \u7684\u9608\u503C\u6216\u5728 CSS \u4E2D\u4F7F\u7528 base64\u3002`);
                const isPureView = this.nodeName === VIEW && !isHasExtractProp(this) && !this.isAnyEventBinded();
                if (qualifiedName !== STYLE) {
                    MutationObserver.record({
                        target: this,
                        type: "attributes",
                        attributeName: qualifiedName,
                        oldValue: this.getAttribute(qualifiedName)
                    });
                }
                switch(qualifiedName){
                    case STYLE:
                        this.style.cssText = value;
                        break;
                    case ID:
                        if (this.uid !== this.sid) {
                            eventSource.delete(this.uid);
                        }
                        value = String(value);
                        this.props[qualifiedName] = this.uid = value;
                        eventSource.set(value, this);
                        break;
                    default:
                        this.props[qualifiedName] = value;
                        if (qualifiedName.startsWith("data-")) {
                            if (this.dataset === _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.EMPTY_OBJ) {
                                this.dataset = /* @__PURE__ */ Object.create(null);
                            }
                            this.dataset[(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.toCamelCase)(qualifiedName.replace(/^data-/, ""))] = value;
                        }
                        break;
                }
                if (!this._root) return;
                const componentsAlias2 = getComponentsAlias2();
                const _alias = componentsAlias2[this.nodeName];
                const viewAlias = componentsAlias2[VIEW]._num;
                const staticViewAlias = componentsAlias2[STATIC_VIEW]._num;
                const catchViewAlias = componentsAlias2[CATCH_VIEW]._num;
                const _path = this._path;
                qualifiedName = shortcutAttr(qualifiedName);
                const qualifiedNameInCamelCase = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.toCamelCase)(qualifiedName);
                const payload = {
                    path: `${_path}.${qualifiedNameInCamelCase}`,
                    value: (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(value) ? ()=>value : value
                };
                _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("modifySetAttrPayload", this, qualifiedName, payload, componentsAlias2);
                if (_alias) {
                    const qualifiedNameAlias = _alias[qualifiedNameInCamelCase] || qualifiedName;
                    payload.path = `${_path}.${(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.toCamelCase)(qualifiedNameAlias)}`;
                }
                this.enqueueUpdate(payload);
                if (this.nodeName === VIEW) {
                    if (qualifiedNameInCamelCase === CATCHMOVE) {
                        this.enqueueUpdate({
                            path: `${_path}.${"nn"}`,
                            value: value ? catchViewAlias : this.isAnyEventBinded() ? viewAlias : staticViewAlias
                        });
                    } else if (isPureView && isHasExtractProp(this)) {
                        this.enqueueUpdate({
                            path: `${_path}.${"nn"}`,
                            value: staticViewAlias
                        });
                    }
                }
            }
            removeAttribute(qualifiedName) {
                const isStaticView = this.nodeName === VIEW && isHasExtractProp(this) && !this.isAnyEventBinded();
                MutationObserver.record({
                    target: this,
                    type: "attributes",
                    attributeName: qualifiedName,
                    oldValue: this.getAttribute(qualifiedName)
                });
                if (qualifiedName === STYLE) {
                    this.style.cssText = "";
                } else {
                    const isInterrupt = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("onRemoveAttribute", this, qualifiedName);
                    if (isInterrupt) {
                        return;
                    }
                    if (!this.props.hasOwnProperty(qualifiedName)) {
                        return;
                    }
                    delete this.props[qualifiedName];
                }
                if (!this._root) return;
                const componentsAlias2 = getComponentsAlias2();
                const _alias = componentsAlias2[this.nodeName];
                const viewAlias = componentsAlias2[VIEW]._num;
                const staticViewAlias = componentsAlias2[STATIC_VIEW]._num;
                const pureViewAlias = componentsAlias2[PURE_VIEW]._num;
                const _path = this._path;
                qualifiedName = shortcutAttr(qualifiedName);
                const qualifiedNameInCamelCase = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.toCamelCase)(qualifiedName);
                const payload = {
                    path: `${_path}.${qualifiedNameInCamelCase}`,
                    value: ""
                };
                _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("modifyRmAttrPayload", this, qualifiedName, payload, componentsAlias2);
                if (_alias) {
                    const qualifiedNameAlias = _alias[qualifiedNameInCamelCase] || qualifiedName;
                    payload.path = `${_path}.${(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.toCamelCase)(qualifiedNameAlias)}`;
                }
                this.enqueueUpdate(payload);
                if (this.nodeName === VIEW) {
                    if (qualifiedNameInCamelCase === CATCHMOVE) {
                        this.enqueueUpdate({
                            path: `${_path}.${"nn"}`,
                            value: this.isAnyEventBinded() ? viewAlias : isHasExtractProp(this) ? staticViewAlias : pureViewAlias
                        });
                    } else if (isStaticView && !isHasExtractProp(this)) {
                        this.enqueueUpdate({
                            path: `${_path}.${"nn"}`,
                            value: pureViewAlias
                        });
                    }
                }
            }
            getAttribute(qualifiedName) {
                const attr = qualifiedName === STYLE ? this.style.cssText : this.props[qualifiedName];
                return attr !== null && attr !== void 0 ? attr : "";
            }
            getElementsByTagName(tagName) {
                return treeToArray(this, (el)=>{
                    return el.nodeName === tagName || tagName === "*" && this !== el;
                });
            }
            getElementsByClassName(className) {
                const classNames = className.trim().split(/\s+/);
                return treeToArray(this, (el)=>{
                    const classList = el.classList;
                    return classNames.every((c)=>classList.contains(c));
                });
            }
            dispatchEvent(event) {
                const cancelable = event.cancelable;
                const listeners = this.__handlers[event.type];
                if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(listeners)) {
                    return false;
                }
                for(let i = listeners.length; i--;){
                    const listener = listeners[i];
                    let result;
                    if (listener._stop) {
                        listener._stop = false;
                    } else {
                        _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("modifyDispatchEvent", event, this);
                        result = listener.call(this, event);
                    }
                    if ((result === false || event._end) && cancelable) {
                        event.defaultPrevented = true;
                    }
                    if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(result) && event.mpEvent) {
                        event.mpEvent[EVENT_CALLBACK_RESULT] = result;
                    }
                    if (event._end && event._stop) {
                        break;
                    }
                }
                if (event._stop) {
                    this._stopPropagation(event);
                } else {
                    event._stop = true;
                }
                return listeners != null;
            }
            addEventListener(type, handler, options2) {
                const name = this.nodeName;
                const SPECIAL_NODES2 = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("getSpecialNodes");
                let sideEffect = true;
                if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(options2) && options2.sideEffect === false) {
                    sideEffect = false;
                    delete options2.sideEffect;
                }
                if (sideEffect !== false && !this.isAnyEventBinded() && SPECIAL_NODES2.indexOf(name) > -1) {
                    const componentsAlias2 = getComponentsAlias2();
                    const alias = componentsAlias2[name]._num;
                    this.enqueueUpdate({
                        path: `${this._path}.${"nn"}`,
                        value: alias
                    });
                }
                super.addEventListener(type, handler, options2);
            }
            removeEventListener(type, handler, sideEffect = true) {
                super.removeEventListener(type, handler);
                const name = this.nodeName;
                const SPECIAL_NODES2 = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("getSpecialNodes");
                if (sideEffect !== false && !this.isAnyEventBinded() && SPECIAL_NODES2.indexOf(name) > -1) {
                    const componentsAlias2 = getComponentsAlias2();
                    const value = isHasExtractProp(this) ? `static-${name}` : `pure-${name}`;
                    const valueAlias = componentsAlias2[value]._num;
                    this.enqueueUpdate({
                        path: `${this._path}.${"nn"}`,
                        value: valueAlias
                    });
                }
            }
            static extend(methodName, options2) {
                extend(TaroElement, methodName, options2);
            }
            constructor(){
                super();
                this.props = {};
                this.dataset = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.EMPTY_OBJ;
                this.nodeType = 1;
                this.style = new Style(this);
                _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("patchElement", this);
            }
        };
        options = {
            prerender: true,
            debug: false
        };
        whitespace = /\s/;
        equalSign = /=/;
        alphanumeric = /[A-Za-z0-9]/;
        Scaner = class {
            scan() {
                const { html , position  } = this;
                const len = html.length;
                while(position.index < len){
                    const start = position.index;
                    this.scanText();
                    if (position.index === start) {
                        const isComment2 = html.startsWith("!--", start + 1);
                        if (isComment2) {
                            this.scanComment();
                        } else {
                            const tagName = this.scanTag();
                            if (shouldBeIgnore(tagName)) {
                                this.scanSkipTag(tagName);
                            }
                        }
                    }
                }
                return this.tokens;
            }
            scanText() {
                const type = "text";
                const { html , position  } = this;
                let textEnd = findTextEnd(html, position.index);
                if (textEnd === position.index) {
                    return;
                }
                if (textEnd === -1) {
                    textEnd = html.length;
                }
                const start = copyPosition(position);
                const content = html.slice(position.index, textEnd);
                jumpPosition(position, html, textEnd);
                const end = copyPosition(position);
                this.tokens.push({
                    type,
                    content,
                    position: {
                        start,
                        end
                    }
                });
            }
            scanComment() {
                const type = "comment";
                const { html , position  } = this;
                const start = copyPosition(position);
                feedPosition(position, html, 4);
                let contentEnd = html.indexOf("-->", position.index);
                let commentEnd = contentEnd + 3;
                if (contentEnd === -1) {
                    contentEnd = commentEnd = html.length;
                }
                const content = html.slice(position.index, contentEnd);
                jumpPosition(position, html, commentEnd);
                this.tokens.push({
                    type,
                    content,
                    position: {
                        start,
                        end: copyPosition(position)
                    }
                });
            }
            scanTag() {
                this.scanTagStart();
                const tagName = this.scanTagName();
                this.scanAttrs();
                this.scanTagEnd();
                return tagName;
            }
            scanTagStart() {
                const type = "tag-start";
                const { html , position  } = this;
                const secondChar = html.charAt(position.index + 1);
                const close = secondChar === "/";
                const start = copyPosition(position);
                feedPosition(position, html, close ? 2 : 1);
                this.tokens.push({
                    type,
                    close,
                    position: {
                        start
                    }
                });
            }
            scanTagEnd() {
                const type = "tag-end";
                const { html , position  } = this;
                const firstChar = html.charAt(position.index);
                const close = firstChar === "/";
                feedPosition(position, html, close ? 2 : 1);
                const end = copyPosition(position);
                this.tokens.push({
                    type,
                    close,
                    position: {
                        end
                    }
                });
            }
            scanTagName() {
                const type = "tag";
                const { html , position  } = this;
                const len = html.length;
                let start = position.index;
                while(start < len){
                    const char = html.charAt(start);
                    const isTagChar = !(isWhitespaceChar(char) || char === "/" || char === ">");
                    if (isTagChar) break;
                    start++;
                }
                let end = start + 1;
                while(end < len){
                    const char1 = html.charAt(end);
                    const isTagChar1 = !(isWhitespaceChar(char1) || char1 === "/" || char1 === ">");
                    if (!isTagChar1) break;
                    end++;
                }
                jumpPosition(position, html, end);
                const tagName = html.slice(start, end);
                this.tokens.push({
                    type,
                    content: tagName
                });
                return tagName;
            }
            scanAttrs() {
                const { html , position , tokens  } = this;
                let cursor = position.index;
                let quote = null;
                let wordBegin = cursor;
                const words = [];
                const len = html.length;
                while(cursor < len){
                    const char = html.charAt(cursor);
                    if (quote) {
                        const isQuoteEnd = char === quote;
                        if (isQuoteEnd) {
                            quote = null;
                        }
                        cursor++;
                        continue;
                    }
                    const isTagEnd = char === "/" || char === ">";
                    if (isTagEnd) {
                        if (cursor !== wordBegin) {
                            words.push(html.slice(wordBegin, cursor));
                        }
                        break;
                    }
                    if (isWordEnd(cursor, wordBegin, html)) {
                        if (cursor !== wordBegin) {
                            words.push(html.slice(wordBegin, cursor));
                        }
                        wordBegin = cursor + 1;
                        cursor++;
                        continue;
                    }
                    const isQuoteStart = char === "'" || char === '"';
                    if (isQuoteStart) {
                        quote = char;
                        cursor++;
                        continue;
                    }
                    cursor++;
                }
                jumpPosition(position, html, cursor);
                const wLen = words.length;
                const type = "attribute";
                for(let i = 0; i < wLen; i++){
                    const word = words[i];
                    const isNotPair = word.includes("=");
                    if (isNotPair) {
                        const secondWord = words[i + 1];
                        if (secondWord && secondWord.startsWith("=")) {
                            if (secondWord.length > 1) {
                                const newWord = word + secondWord;
                                tokens.push({
                                    type,
                                    content: newWord
                                });
                                i += 1;
                                continue;
                            }
                            const thirdWord = words[i + 2];
                            i += 1;
                            if (thirdWord) {
                                const newWord1 = word + "=" + thirdWord;
                                tokens.push({
                                    type,
                                    content: newWord1
                                });
                                i += 1;
                                continue;
                            }
                        }
                    }
                    if (word.endsWith("=")) {
                        const secondWord1 = words[i + 1];
                        if (secondWord1 && !secondWord1.includes("=")) {
                            const newWord2 = word + secondWord1;
                            tokens.push({
                                type,
                                content: newWord2
                            });
                            i += 1;
                            continue;
                        }
                        const newWord3 = word.slice(0, -1);
                        tokens.push({
                            type,
                            content: newWord3
                        });
                        continue;
                    }
                    tokens.push({
                        type,
                        content: word
                    });
                }
            }
            scanSkipTag(tagName) {
                const { html , position  } = this;
                const safeTagName = tagName.toLowerCase();
                const len = html.length;
                while(position.index < len){
                    const nextTag = html.indexOf("</", position.index);
                    if (nextTag === -1) {
                        this.scanText();
                        break;
                    }
                    jumpPosition(position, html, nextTag);
                    const name = this.scanTag();
                    if (safeTagName === name.toLowerCase()) {
                        break;
                    }
                }
            }
            constructor(html){
                this.tokens = [];
                this.position = initPosition();
                this.html = html;
            }
        };
        LEFT_BRACKET = "{";
        RIGHT_BRACKET = "}";
        CLASS_SELECTOR = ".";
        ID_SELECTOR = "#";
        CHILD_COMBINATOR = ">";
        GENERAL_SIBLING_COMBINATOR = "~";
        ADJACENT_SIBLING_COMBINATOR = "+";
        StyleTagParser = class {
            extractStyle(src) {
                const REG_STYLE = /<style\s?[^>]*>((.|\n|\s)+?)<\/style>/g;
                let html = src;
                html = html.replace(REG_STYLE, (_, $1)=>{
                    const style2 = $1.trim();
                    this.stringToSelector(style2);
                    return "";
                });
                return html.trim();
            }
            stringToSelector(style2) {
                let lb = style2.indexOf(LEFT_BRACKET);
                while(lb > -1){
                    const rb = style2.indexOf(RIGHT_BRACKET);
                    const selectors = style2.slice(0, lb).trim();
                    let content = style2.slice(lb + 1, rb);
                    content = content.replace(/:(.*);/g, function(_, $1) {
                        const t = $1.trim().replace(/ +/g, "+++");
                        return `:${t};`;
                    });
                    content = content.replace(/ /g, "");
                    content = content.replace(/\+\+\+/g, " ");
                    if (!/;$/.test(content)) {
                        content += ";";
                    }
                    selectors.split(",").forEach((src)=>{
                        const selectorList = this.parseSelector(src);
                        this.styles.push({
                            content,
                            selectorList
                        });
                    });
                    style2 = style2.slice(rb + 1);
                    lb = style2.indexOf(LEFT_BRACKET);
                }
            }
            parseSelector(src) {
                const list = src.trim().replace(/ *([>~+]) */g, " $1").replace(/ +/g, " ").replace(/\[\s*([^[\]=\s]+)\s*=\s*([^[\]=\s]+)\s*\]/g, "[$1=$2]").split(" ");
                const selectors = list.map((item)=>{
                    const firstChar = item.charAt(0);
                    const selector = {
                        isChild: firstChar === CHILD_COMBINATOR,
                        isGeneralSibling: firstChar === GENERAL_SIBLING_COMBINATOR,
                        isAdjacentSibling: firstChar === ADJACENT_SIBLING_COMBINATOR,
                        tag: null,
                        id: null,
                        class: [],
                        attrs: []
                    };
                    item = item.replace(/^[>~+]/, "");
                    item = item.replace(/\[(.+?)\]/g, function(_, $1) {
                        const [key, value] = $1.split("=");
                        const all = $1.indexOf("=") === -1;
                        const attr = {
                            all,
                            key,
                            value: all ? null : value
                        };
                        selector.attrs.push(attr);
                        return "";
                    });
                    item = item.replace(/([.#][A-Za-z0-9-_]+)/g, function(_, $1) {
                        if ($1[0] === ID_SELECTOR) {
                            selector.id = $1.substr(1);
                        } else if ($1[0] === CLASS_SELECTOR) {
                            selector.class.push($1.substr(1));
                        }
                        return "";
                    });
                    if (item !== "") {
                        selector.tag = item;
                    }
                    return selector;
                });
                return selectors;
            }
            matchStyle(tagName, el, list) {
                const res = sortStyles(this.styles).reduce((str, { content , selectorList  }, i)=>{
                    let idx = list[i];
                    let selector = selectorList[idx];
                    const nextSelector = selectorList[idx + 1];
                    if ((nextSelector === null || nextSelector === void 0 ? void 0 : nextSelector.isGeneralSibling) || (nextSelector === null || nextSelector === void 0 ? void 0 : nextSelector.isAdjacentSibling)) {
                        selector = nextSelector;
                        idx += 1;
                        list[i] += 1;
                    }
                    let isMatch = this.matchCurrent(tagName, el, selector);
                    if (isMatch && selector.isGeneralSibling) {
                        let prev = getPreviousElement(el);
                        while(prev){
                            if (prev.h5tagName && this.matchCurrent(prev.h5tagName, prev, selectorList[idx - 1])) {
                                isMatch = true;
                                break;
                            }
                            prev = getPreviousElement(prev);
                            isMatch = false;
                        }
                    }
                    if (isMatch && selector.isAdjacentSibling) {
                        const prev1 = getPreviousElement(el);
                        if (!prev1 || !prev1.h5tagName) {
                            isMatch = false;
                        } else {
                            const isSiblingMatch = this.matchCurrent(prev1.h5tagName, prev1, selectorList[idx - 1]);
                            if (!isSiblingMatch) {
                                isMatch = false;
                            }
                        }
                    }
                    if (isMatch) {
                        if (idx === selectorList.length - 1) {
                            return str + content;
                        } else if (idx < selectorList.length - 1) {
                            list[i] += 1;
                        }
                    } else {
                        if (selector.isChild && idx > 0) {
                            list[i] -= 1;
                            if (this.matchCurrent(tagName, el, selectorList[list[i]])) {
                                list[i] += 1;
                            }
                        }
                    }
                    return str;
                }, "");
                return res;
            }
            matchCurrent(tagName, el, selector) {
                if (selector.tag && selector.tag !== tagName) return false;
                if (selector.id && selector.id !== el.id) return false;
                if (selector.class.length) {
                    const classList = el.className.split(" ");
                    for(let i = 0; i < selector.class.length; i++){
                        const cls = selector.class[i];
                        if (classList.indexOf(cls) === -1) {
                            return false;
                        }
                    }
                }
                if (selector.attrs.length) {
                    for(let i1 = 0; i1 < selector.attrs.length; i1++){
                        const { all , key , value  } = selector.attrs[i1];
                        if (all && !el.hasAttribute(key)) {
                            return false;
                        } else {
                            const attr = el.getAttribute(key);
                            if (attr !== unquote(value || "")) {
                                return false;
                            }
                        }
                    }
                }
                return true;
            }
            constructor(){
                this.styles = [];
            }
        };
        specialMiniElements = {
            img: "image",
            iframe: "web-view"
        };
        internalCompsList = Object.keys(_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.internalComponents).map((i)=>i.toLowerCase()).join(",");
        isMiniElements = makeMap(internalCompsList, true);
        isInlineElements = makeMap("a,i,abbr,iframe,select,acronym,slot,small,span,bdi,kbd,strong,big,map,sub,sup,br,mark,mark,meter,template,canvas,textarea,cite,object,time,code,output,u,data,picture,tt,datalist,var,dfn,del,q,em,s,embed,samp,b", true);
        isBlockElements = makeMap("address,fieldset,li,article,figcaption,main,aside,figure,nav,blockquote,footer,ol,details,form,p,dialog,h1,h2,h3,h4,h5,h6,pre,dd,header,section,div,hgroup,table,dl,hr,ul,dt", true);
        closingTagAncestorBreakers = {
            li: [
                "ul",
                "ol",
                "menu"
            ],
            dt: [
                "dl"
            ],
            dd: [
                "dl"
            ],
            tbody: [
                "table"
            ],
            thead: [
                "table"
            ],
            tfoot: [
                "table"
            ],
            tr: [
                "table"
            ],
            td: [
                "table"
            ]
        };
        options.html = {
            skipElements: /* @__PURE__ */ new Set([
                "style",
                "script"
            ]),
            voidElements: /* @__PURE__ */ new Set([
                "!doctype",
                "area",
                "base",
                "br",
                "col",
                "command",
                "embed",
                "hr",
                "img",
                "input",
                "keygen",
                "link",
                "meta",
                "param",
                "source",
                "track",
                "wbr"
            ]),
            closingElements: /* @__PURE__ */ new Set([
                "html",
                "head",
                "body",
                "p",
                "dt",
                "dd",
                "li",
                "option",
                "thead",
                "th",
                "tbody",
                "tr",
                "td",
                "tfoot",
                "colgroup"
            ]),
            renderHTMLTag: false
        };
        if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isWebPlatform)()) {
            if (true) {
                TaroNode.extend("innerHTML", {
                    set (html) {
                        setInnerHTML.call(this, this, html);
                    },
                    get () {
                        return "";
                    }
                });
                if (false) {}
            }
            if (false) {}
            if (false) {}
            if (false) {}
            if (false) {}
        }
        TaroEvent = class {
            stopPropagation() {
                this._stop = true;
            }
            stopImmediatePropagation() {
                this._end = this._stop = true;
            }
            preventDefault() {
                this.defaultPrevented = true;
            }
            get target() {
                var _a, _b, _c;
                const cacheTarget = this.cacheTarget;
                if (!cacheTarget) {
                    const target = Object.create(((_a = this.mpEvent) === null || _a === void 0 ? void 0 : _a.target) || null);
                    const element = env.document.getElementById(((_b = target.dataset) === null || _b === void 0 ? void 0 : _b.sid) || target.id || null);
                    target.dataset = element !== null ? element.dataset : _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.EMPTY_OBJ;
                    for(const key in (_c = this.mpEvent) === null || _c === void 0 ? void 0 : _c.detail){
                        target[key] = this.mpEvent.detail[key];
                    }
                    this.cacheTarget = target;
                    return target;
                } else {
                    return cacheTarget;
                }
            }
            get currentTarget() {
                var _a, _b, _c, _d, _e, _f, _g, _h;
                const cacheCurrentTarget = this.cacheCurrentTarget;
                if (!cacheCurrentTarget) {
                    const doc = env.document;
                    const currentTarget = Object.create(((_a = this.mpEvent) === null || _a === void 0 ? void 0 : _a.currentTarget) || null);
                    const element = doc.getElementById(((_b = currentTarget.dataset) === null || _b === void 0 ? void 0 : _b.sid) || currentTarget.id || null);
                    const targetElement = doc.getElementById(((_e = (_d = (_c = this.mpEvent) === null || _c === void 0 ? void 0 : _c.target) === null || _d === void 0 ? void 0 : _d.dataset) === null || _e === void 0 ? void 0 : _e.sid) || ((_g = (_f = this.mpEvent) === null || _f === void 0 ? void 0 : _f.target) === null || _g === void 0 ? void 0 : _g.id) || null);
                    if (element === null || element && element === targetElement) {
                        this.cacheCurrentTarget = this.target;
                        return this.target;
                    }
                    currentTarget.dataset = element.dataset;
                    for(const key in (_h = this.mpEvent) === null || _h === void 0 ? void 0 : _h.detail){
                        currentTarget[key] = this.mpEvent.detail[key];
                    }
                    this.cacheCurrentTarget = currentTarget;
                    return currentTarget;
                } else {
                    return cacheCurrentTarget;
                }
            }
            constructor(type, opts, event){
                this._stop = false;
                this._end = false;
                this.defaultPrevented = false;
                this.button = 0;
                this.timeStamp = Date.now();
                this.type = type.toLowerCase();
                this.mpEvent = event;
                this.bubbles = Boolean(opts && opts.bubbles);
                this.cancelable = Boolean(opts && opts.cancelable);
            }
        };
        eventsBatch = {};
        FormElement = class extends TaroElement {
            get type() {
                var _a;
                return (_a = this.props[TYPE]) !== null && _a !== void 0 ? _a : "";
            }
            set type(val) {
                this.setAttribute(TYPE, val);
            }
            get value() {
                const val = this.props[VALUE];
                return val == null ? "" : val;
            }
            set value(val) {
                this.setAttribute(VALUE, val);
            }
            dispatchEvent(event) {
                if (event.mpEvent) {
                    const val = event.mpEvent.detail.value;
                    if (event.type === CHANGE) {
                        this.props.value = val;
                    } else if (event.type === INPUT) {
                        this.value = val;
                    }
                }
                return super.dispatchEvent(event);
            }
        };
        Performance = class {
            start(id) {
                if (!options.debug) {
                    return;
                }
                this.recorder.set(id, Date.now());
            }
            stop(id) {
                if (!options.debug) {
                    return;
                }
                const now2 = Date.now();
                const prev = this.recorder.get(id);
                this.recorder.delete(id);
                const time = now2 - prev;
                console.log(`${id} \u65F6\u957F\uFF1A ${time}ms`);
            }
            constructor(){
                this.recorder = /* @__PURE__ */ new Map();
            }
        };
        perf = new Performance();
        TaroRootElement = class extends TaroElement {
            get _path() {
                return ROOT_STR;
            }
            get _root() {
                return this;
            }
            enqueueUpdate(payload) {
                this.updatePayloads.push(payload);
                if (!this.pendingUpdate && this.ctx) {
                    this.performUpdate();
                }
            }
            performUpdate(initRender = false, prerender) {
                this.pendingUpdate = true;
                const ctx = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("proxyToRaw", this.ctx);
                setTimeout(()=>{
                    const setDataMark = `${SET_DATA} \u5F00\u59CB\u65F6\u95F4\u6233 ${Date.now()}`;
                    perf.start(setDataMark);
                    const data = /* @__PURE__ */ Object.create(null);
                    const resetPaths = new Set(initRender ? [
                        "root.cn.[0]",
                        "root.cn[0]"
                    ] : []);
                    while(this.updatePayloads.length > 0){
                        const { path , value  } = this.updatePayloads.shift();
                        if (path.endsWith("cn")) {
                            resetPaths.add(path);
                        }
                        data[path] = value;
                    }
                    for(const path1 in data){
                        resetPaths.forEach((p)=>{
                            if (path1.includes(p) && path1 !== p) {
                                delete data[path1];
                            }
                        });
                        const value1 = data[path1];
                        if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(value1)) {
                            data[path1] = value1();
                        }
                    }
                    if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(prerender)) return prerender(data);
                    this.pendingUpdate = false;
                    let normalUpdate = {};
                    const customWrapperMap = /* @__PURE__ */ new Map();
                    if (initRender) {
                        normalUpdate = data;
                    } else {
                        for(const p in data){
                            const dataPathArr = p.split(".");
                            const found = findCustomWrapper(this, dataPathArr);
                            if (found) {
                                const { customWrapper , splitedPath  } = found;
                                customWrapperMap.set(customWrapper, Object.assign(Object.assign({}, customWrapperMap.get(customWrapper) || {}), {
                                    [`i.${splitedPath}`]: data[p]
                                }));
                            } else {
                                normalUpdate[p] = data[p];
                            }
                        }
                    }
                    const customWrapperCount = customWrapperMap.size;
                    const isNeedNormalUpdate = Object.keys(normalUpdate).length > 0;
                    const updateArrLen = customWrapperCount + (isNeedNormalUpdate ? 1 : 0);
                    let executeTime = 0;
                    const cb = ()=>{
                        if (++executeTime === updateArrLen) {
                            perf.stop(setDataMark);
                            this.flushUpdateCallback();
                            initRender && perf.stop(PAGE_INIT);
                        }
                    };
                    if (customWrapperCount) {
                        customWrapperMap.forEach((data2, ctx2)=>{
                            if (options.debug) {
                                console.log("custom wrapper setData: ", data2);
                            }
                            ctx2.setData(data2, cb);
                        });
                    }
                    if (isNeedNormalUpdate) {
                        if (options.debug) {
                            console.log("page setData:", normalUpdate);
                        }
                        ctx.setData(normalUpdate, cb);
                    }
                }, 0);
            }
            enqueueUpdateCallback(cb, ctx) {
                this.updateCallbacks.push(()=>{
                    ctx ? cb.call(ctx) : cb();
                });
            }
            flushUpdateCallback() {
                const updateCallbacks = this.updateCallbacks;
                if (!updateCallbacks.length) return;
                const copies = updateCallbacks.slice(0);
                this.updateCallbacks.length = 0;
                for(let i = 0; i < copies.length; i++){
                    copies[i]();
                }
            }
            constructor(){
                super();
                this.updatePayloads = [];
                this.updateCallbacks = [];
                this.pendingUpdate = false;
                this.ctx = null;
                this.nodeName = ROOT_STR;
                this.tagName = ROOT_STR.toUpperCase();
            }
        };
        TaroText = class extends TaroNode {
            set textContent(text) {
                MutationObserver.record({
                    target: this,
                    type: "characterData",
                    oldValue: this._value
                });
                this._value = text;
                this.enqueueUpdate({
                    path: `${this._path}.${"v"}`,
                    value: text
                });
            }
            get textContent() {
                return this._value;
            }
            set nodeValue(text) {
                this.textContent = text;
            }
            get nodeValue() {
                return this._value;
            }
            set data(text) {
                this.textContent = text;
            }
            get data() {
                return this._value;
            }
            constructor(value){
                super();
                this.nodeType = 3;
                this.nodeName = "#text";
                this._value = value;
            }
        };
        findReg = /[!'()~]|%20|%00/g;
        plusReg = /\+/g;
        replaceCharMap = {
            "!": "%21",
            "'": "%27",
            "(": "%28",
            ")": "%29",
            "~": "%7E",
            "%20": "+",
            "%00": "\0"
        };
        URLSearchParams = class {
            append(name, value) {
                appendTo(__classPrivateFieldGet(this, _URLSearchParams_dict, "f"), name, value);
            }
            delete(name) {
                delete __classPrivateFieldGet(this, _URLSearchParams_dict, "f")[name];
            }
            get(name) {
                const dict = __classPrivateFieldGet(this, _URLSearchParams_dict, "f");
                return name in dict ? dict[name][0] : null;
            }
            getAll(name) {
                const dict = __classPrivateFieldGet(this, _URLSearchParams_dict, "f");
                return name in dict ? dict[name].slice(0) : [];
            }
            has(name) {
                return name in __classPrivateFieldGet(this, _URLSearchParams_dict, "f");
            }
            keys() {
                return Object.keys(__classPrivateFieldGet(this, _URLSearchParams_dict, "f"));
            }
            set(name, value) {
                __classPrivateFieldGet(this, _URLSearchParams_dict, "f")[name] = [
                    "" + value
                ];
            }
            forEach(callback, thisArg) {
                const dict = __classPrivateFieldGet(this, _URLSearchParams_dict, "f");
                Object.getOwnPropertyNames(dict).forEach(function(name) {
                    dict[name].forEach(function(value) {
                        callback.call(thisArg, value, name, this);
                    }, this);
                }, this);
            }
            toJSON() {
                return {};
            }
            toString() {
                const dict = __classPrivateFieldGet(this, _URLSearchParams_dict, "f");
                const query = [];
                for(const key in dict){
                    const name = encode(key);
                    for(let i = 0, value = dict[key]; i < value.length; i++){
                        query.push(name + "=" + encode(value[i]));
                    }
                }
                return query.join("&");
            }
            constructor(query){
                _URLSearchParams_dict.set(this, /* @__PURE__ */ Object.create(null));
                query !== null && query !== void 0 ? query : query = "";
                const dict = __classPrivateFieldGet(this, _URLSearchParams_dict, "f");
                if (typeof query === "string") {
                    if (query.charAt(0) === "?") {
                        query = query.slice(1);
                    }
                    for(let pairs = query.split("&"), i = 0, length = pairs.length; i < length; i++){
                        const value = pairs[i];
                        const index = value.indexOf("=");
                        if (index > -1) {
                            appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));
                        } else if (value.length) {
                            appendTo(dict, decode(value), "");
                        }
                    }
                } else {
                    if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(query)) {
                        for(let i1 = 0, length1 = query.length; i1 < length1; i1++){
                            const value1 = query[i1];
                            appendTo(dict, value1[0], value1[1]);
                        }
                    } else if (query.forEach) {
                        query.forEach(addEach, dict);
                    } else {
                        for(const key in query){
                            appendTo(dict, key, query[key]);
                        }
                    }
                }
            }
        };
        _URLSearchParams_dict = /* @__PURE__ */ new WeakMap();
        URL = class {
            static createObjectURL() {
                throw new Error("Oops, not support URL.createObjectURL() in miniprogram.");
            }
            static revokeObjectURL() {
                throw new Error("Oops, not support URL.revokeObjectURL() in miniprogram.");
            }
            get protocol() {
                return __classPrivateFieldGet(this, _URL_protocol, "f");
            }
            set protocol(val) {
                (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val) && __classPrivateFieldSet(this, _URL_protocol, val.trim(), "f");
            }
            get host() {
                return this.hostname + (this.port ? ":" + this.port : "");
            }
            set host(val) {
                if (val && (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) {
                    val = val.trim();
                    const { hostname , port  } = parseUrl(`//${val}`);
                    this.hostname = hostname;
                    this.port = port;
                }
            }
            get hostname() {
                return __classPrivateFieldGet(this, _URL_hostname, "f");
            }
            set hostname(val) {
                val && (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val) && __classPrivateFieldSet(this, _URL_hostname, val.trim(), "f");
            }
            get port() {
                return __classPrivateFieldGet(this, _URL_port, "f");
            }
            set port(val) {
                (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val) && __classPrivateFieldSet(this, _URL_port, val.trim(), "f");
            }
            get pathname() {
                return __classPrivateFieldGet(this, _URL_pathname, "f");
            }
            set pathname(val) {
                if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) {
                    val = val.trim();
                    const HEAD_REG = /^(\/|\.\/|\.\.\/)/;
                    let temp = val;
                    while(HEAD_REG.test(temp)){
                        temp = temp.replace(HEAD_REG, "");
                    }
                    if (temp) __classPrivateFieldSet(this, _URL_pathname, "/" + temp, "f");
                    else __classPrivateFieldSet(this, _URL_pathname, "/", "f");
                }
            }
            get search() {
                const val = __classPrivateFieldGet(this, _URL_search, "f").toString();
                return val.length === 0 || val.startsWith("?") ? val : `?${val}`;
            }
            set search(val) {
                if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) {
                    val = val.trim();
                    __classPrivateFieldSet(this, _URL_search, new URLSearchParams(val), "f");
                }
            }
            get hash() {
                return __classPrivateFieldGet(this, _URL_hash, "f");
            }
            set hash(val) {
                if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) {
                    val = val.trim();
                    if (val) __classPrivateFieldSet(this, _URL_hash, val.startsWith("#") ? val : `#${val}`, "f");
                    else __classPrivateFieldSet(this, _URL_hash, "", "f");
                }
            }
            get href() {
                return `${this.protocol}//${this.host}${this.pathname}${this.search}${this.hash}`;
            }
            set href(val) {
                if (val && (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) {
                    val = val.trim();
                    const { protocol , hostname , port , hash , search , pathname  } = parseUrl(val);
                    this.protocol = protocol;
                    this.hostname = hostname;
                    this.pathname = pathname;
                    this.port = port;
                    this.hash = hash;
                    this.search = search;
                }
            }
            get origin() {
                return `${this.protocol}//${this.host}`;
            }
            set origin(val) {
                if (val && (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) {
                    val = val.trim();
                    const { protocol , hostname , port  } = parseUrl(val);
                    this.protocol = protocol;
                    this.hostname = hostname;
                    this.port = port;
                }
            }
            get searchParams() {
                return __classPrivateFieldGet(this, _URL_search, "f");
            }
            toString() {
                return this.href;
            }
            toJSON() {
                return this.toString();
            }
            _toRaw() {
                return {
                    protocol: this.protocol,
                    port: this.port,
                    host: this.host,
                    hostname: this.hostname,
                    pathname: this.pathname,
                    hash: this.hash,
                    search: this.search,
                    origin: this.origin,
                    href: this.href
                };
            }
            constructor(url, base){
                _URL_hash.set(this, "");
                _URL_hostname.set(this, "");
                _URL_pathname.set(this, "");
                _URL_port.set(this, "");
                _URL_protocol.set(this, "");
                _URL_search.set(this, void 0);
                if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(url)) url = String(url);
                const parseResult = parseUrlBase(url, base);
                const { hash , hostname , pathname , port , protocol , search  } = parseResult;
                __classPrivateFieldSet(this, _URL_hash, hash, "f");
                __classPrivateFieldSet(this, _URL_hostname, hostname, "f");
                __classPrivateFieldSet(this, _URL_pathname, pathname || "/", "f");
                __classPrivateFieldSet(this, _URL_port, port, "f");
                __classPrivateFieldSet(this, _URL_protocol, protocol, "f");
                __classPrivateFieldSet(this, _URL_search, new URLSearchParams(search), "f");
            }
        };
        _URL_hash = /* @__PURE__ */ new WeakMap(), _URL_hostname = /* @__PURE__ */ new WeakMap(), _URL_pathname = /* @__PURE__ */ new WeakMap(), _URL_port = /* @__PURE__ */ new WeakMap(), _URL_protocol = /* @__PURE__ */ new WeakMap(), _URL_search = /* @__PURE__ */ new WeakMap();
        AnchorElement = class extends TaroElement {
            get href() {
                var _a;
                return (_a = this.props["href"]) !== null && _a !== void 0 ? _a : "";
            }
            set href(val) {
                this.setAttribute("href", val);
            }
            get protocol() {
                var _a;
                return (_a = this.props["protocol"]) !== null && _a !== void 0 ? _a : "";
            }
            get host() {
                var _a;
                return (_a = this.props["host"]) !== null && _a !== void 0 ? _a : "";
            }
            get search() {
                var _a;
                return (_a = this.props["search"]) !== null && _a !== void 0 ? _a : "";
            }
            get hash() {
                var _a;
                return (_a = this.props["hash"]) !== null && _a !== void 0 ? _a : "";
            }
            get hostname() {
                var _a;
                return (_a = this.props["hostname"]) !== null && _a !== void 0 ? _a : "";
            }
            get port() {
                var _a;
                return (_a = this.props["port"]) !== null && _a !== void 0 ? _a : "";
            }
            get pathname() {
                var _a;
                return (_a = this.props["pathname"]) !== null && _a !== void 0 ? _a : "";
            }
            setAttribute(qualifiedName, value) {
                if (qualifiedName === "href") {
                    const willSetAttr = parseUrl(value);
                    for(const k in willSetAttr){
                        super.setAttribute(k, willSetAttr[k]);
                    }
                } else {
                    super.setAttribute(qualifiedName, value);
                }
            }
        };
        TaroDocument = class extends TaroElement {
            createElement(type) {
                const nodeName = type.toLowerCase();
                let element;
                switch(true){
                    case nodeName === ROOT_STR:
                        element = new TaroRootElement();
                        return element;
                    case _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.controlledComponent.has(nodeName):
                        element = new FormElement();
                        break;
                    case nodeName === A:
                        element = new AnchorElement();
                        break;
                    default:
                        element = new TaroElement();
                        break;
                }
                element.nodeName = nodeName;
                element.tagName = type.toUpperCase();
                return element;
            }
            createElementNS(_svgNS, type) {
                return this.createElement(type);
            }
            createTextNode(text) {
                return new TaroText(text);
            }
            getElementById(id) {
                const el = eventSource.get(id);
                return (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isUndefined)(el) ? null : el;
            }
            querySelector(query) {
                if (/^#/.test(query)) {
                    return this.getElementById(query.slice(1));
                }
                return null;
            }
            querySelectorAll() {
                return [];
            }
            createComment() {
                const textnode = new TaroText("");
                textnode.nodeName = COMMENT;
                return textnode;
            }
            get defaultView() {
                return env.window;
            }
            constructor(){
                super();
                this.createEvent = createEvent;
                this.nodeType = 9;
                this.nodeName = DOCUMENT_ELEMENT_NAME;
            }
        };
        if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isWebPlatform)()) {
            let createDocument = function() {
                const doc = new TaroDocument();
                const documentCreateElement = doc.createElement.bind(doc);
                const html = documentCreateElement(HTML);
                const head = documentCreateElement(HEAD);
                const body = documentCreateElement(BODY);
                const app = documentCreateElement(APP);
                app.id = APP;
                const container = documentCreateElement(CONTAINER);
                doc.appendChild(html);
                html.appendChild(head);
                html.appendChild(body);
                body.appendChild(container);
                container.appendChild(app);
                doc.documentElement = html;
                doc.head = head;
                doc.body = body;
                return doc;
            };
            document$1 = env.document = createDocument();
        } else {
            document$1 = env.document;
        }
        eventCenter = _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.hooks.call("getEventCenter", _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.Events);
        RuntimeCache = class {
            has(identifier) {
                return this.cache.has(identifier);
            }
            set(identifier, ctx) {
                if (identifier && ctx) {
                    this.cache.set(identifier, ctx);
                }
            }
            get(identifier) {
                if (this.has(identifier)) return this.cache.get(identifier);
            }
            delete(identifier) {
                this.cache.delete(identifier);
            }
            constructor(name){
                this.cache = /* @__PURE__ */ new Map();
                this.name = name;
            }
        };
        cache$1 = new RuntimeCache("history");
        History = class extends _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.Events {
            get length() {
                return __classPrivateFieldGet(this, _History_stack, "f").length;
            }
            get state() {
                return __classPrivateFieldGet(this, _History_stack, "f")[__classPrivateFieldGet(this, _History_cur, "f")].state;
            }
            go(delta) {
                if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isNumber)(delta) || isNaN(delta)) return;
                let targetIdx = __classPrivateFieldGet(this, _History_cur, "f") + delta;
                targetIdx = Math.min(Math.max(targetIdx, 0), this.length - 1);
                __classPrivateFieldSet(this, _History_cur, targetIdx, "f");
                __classPrivateFieldGet(this, _History_location, "f").trigger("__set_href_without_history__", __classPrivateFieldGet(this, _History_stack, "f")[__classPrivateFieldGet(this, _History_cur, "f")].url);
                __classPrivateFieldGet(this, _History_window, "f").trigger("popstate", __classPrivateFieldGet(this, _History_stack, "f")[__classPrivateFieldGet(this, _History_cur, "f")]);
            }
            back() {
                this.go(-1);
            }
            forward() {
                this.go(1);
            }
            pushState(state, title, url) {
                if (!url || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(url)) return;
                __classPrivateFieldSet(this, _History_stack, __classPrivateFieldGet(this, _History_stack, "f").slice(0, __classPrivateFieldGet(this, _History_cur, "f") + 1), "f");
                __classPrivateFieldGet(this, _History_stack, "f").push({
                    state,
                    title,
                    url
                });
                __classPrivateFieldSet(this, _History_cur, this.length - 1, "f");
                __classPrivateFieldGet(this, _History_location, "f").trigger("__set_href_without_history__", url);
            }
            replaceState(state, title, url) {
                if (!url || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(url)) return;
                __classPrivateFieldGet(this, _History_stack, "f")[__classPrivateFieldGet(this, _History_cur, "f")] = {
                    state,
                    title,
                    url
                };
                __classPrivateFieldGet(this, _History_location, "f").trigger("__set_href_without_history__", url);
            }
            get cache() {
                return cache$1;
            }
            constructor(location2, options2){
                super();
                _History_instances.add(this);
                _History_location.set(this, void 0);
                _History_stack.set(this, []);
                _History_cur.set(this, 0);
                _History_window.set(this, void 0);
                __classPrivateFieldSet(this, _History_window, options2.window, "f");
                __classPrivateFieldSet(this, _History_location, location2, "f");
                __classPrivateFieldGet(this, _History_location, "f").on("__record_history__", (href)=>{
                    var _a;
                    __classPrivateFieldSet(this, _History_cur, (_a = __classPrivateFieldGet(this, _History_cur, "f"), _a++, _a), "f");
                    __classPrivateFieldSet(this, _History_stack, __classPrivateFieldGet(this, _History_stack, "f").slice(0, __classPrivateFieldGet(this, _History_cur, "f")), "f");
                    __classPrivateFieldGet(this, _History_stack, "f").push({
                        state: null,
                        title: "",
                        url: href
                    });
                }, null);
                __classPrivateFieldGet(this, _History_location, "f").on("__reset_history__", (href)=>{
                    __classPrivateFieldGet(this, _History_instances, "m", _History_reset).call(this, href);
                }, null);
                this.on(CONTEXT_ACTIONS.INIT, ()=>{
                    __classPrivateFieldGet(this, _History_instances, "m", _History_reset).call(this);
                }, null);
                this.on(CONTEXT_ACTIONS.RESTORE, (pageId2)=>{
                    cache$1.set(pageId2, {
                        location: __classPrivateFieldGet(this, _History_location, "f"),
                        stack: __classPrivateFieldGet(this, _History_stack, "f").slice(),
                        cur: __classPrivateFieldGet(this, _History_cur, "f")
                    });
                }, null);
                this.on(CONTEXT_ACTIONS.RECOVER, (pageId2)=>{
                    if (cache$1.has(pageId2)) {
                        const ctx = cache$1.get(pageId2);
                        __classPrivateFieldSet(this, _History_location, ctx.location, "f");
                        __classPrivateFieldSet(this, _History_stack, ctx.stack, "f");
                        __classPrivateFieldSet(this, _History_cur, ctx.cur, "f");
                    }
                }, null);
                this.on(CONTEXT_ACTIONS.DESTORY, (pageId2)=>{
                    cache$1.delete(pageId2);
                }, null);
                __classPrivateFieldGet(this, _History_instances, "m", _History_reset).call(this);
            }
        };
        _History_location = /* @__PURE__ */ new WeakMap(), _History_stack = /* @__PURE__ */ new WeakMap(), _History_cur = /* @__PURE__ */ new WeakMap(), _History_window = /* @__PURE__ */ new WeakMap(), _History_instances = /* @__PURE__ */ new WeakSet(), _History_reset = function _History_reset2(href = "") {
            __classPrivateFieldSet(this, _History_stack, [
                {
                    state: null,
                    title: "",
                    url: href || __classPrivateFieldGet(this, _History_location, "f").href
                }
            ], "f");
            __classPrivateFieldSet(this, _History_cur, 0, "f");
        };
        Current = {
            app: null,
            router: null,
            page: null
        };
        getCurrentInstance = ()=>Current;
        INIT_URL = "https://taro.com";
        cache = new RuntimeCache("location");
        Location = class extends _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.Events {
            get protocol() {
                return __classPrivateFieldGet(this, _Location_url, "f").protocol;
            }
            set protocol(val) {
                const REG = /^(http|https):$/i;
                if (!val || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val) || !REG.test(val.trim())) return;
                val = val.trim();
                const preValue = __classPrivateFieldGet(this, _Location_instances, "m", _Location_getPreValue).call(this);
                __classPrivateFieldGet(this, _Location_url, "f").protocol = val;
                if (__classPrivateFieldGet(this, _Location_instances, "m", _Location_checkUrlChange).call(this, preValue)) __classPrivateFieldGet(this, _Location_instances, "m", _Location_recordHistory).call(this);
            }
            get host() {
                return __classPrivateFieldGet(this, _Location_url, "f").host;
            }
            set host(val) {
                if (!val || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) return;
                val = val.trim();
                const preValue = __classPrivateFieldGet(this, _Location_instances, "m", _Location_getPreValue).call(this);
                __classPrivateFieldGet(this, _Location_url, "f").host = val;
                if (__classPrivateFieldGet(this, _Location_instances, "m", _Location_checkUrlChange).call(this, preValue)) __classPrivateFieldGet(this, _Location_instances, "m", _Location_recordHistory).call(this);
            }
            get hostname() {
                return __classPrivateFieldGet(this, _Location_url, "f").hostname;
            }
            set hostname(val) {
                if (!val || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) return;
                val = val.trim();
                const preValue = __classPrivateFieldGet(this, _Location_instances, "m", _Location_getPreValue).call(this);
                __classPrivateFieldGet(this, _Location_url, "f").hostname = val;
                if (__classPrivateFieldGet(this, _Location_instances, "m", _Location_checkUrlChange).call(this, preValue)) __classPrivateFieldGet(this, _Location_instances, "m", _Location_recordHistory).call(this);
            }
            get port() {
                return __classPrivateFieldGet(this, _Location_url, "f").port;
            }
            set port(val) {
                const xVal = Number(val = val.trim());
                if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isNumber)(xVal) || xVal <= 0) return;
                const preValue = __classPrivateFieldGet(this, _Location_instances, "m", _Location_getPreValue).call(this);
                __classPrivateFieldGet(this, _Location_url, "f").port = val;
                if (__classPrivateFieldGet(this, _Location_instances, "m", _Location_checkUrlChange).call(this, preValue)) __classPrivateFieldGet(this, _Location_instances, "m", _Location_recordHistory).call(this);
            }
            get pathname() {
                return __classPrivateFieldGet(this, _Location_url, "f").pathname;
            }
            set pathname(val) {
                if (!val || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) return;
                val = val.trim();
                const preValue = __classPrivateFieldGet(this, _Location_instances, "m", _Location_getPreValue).call(this);
                __classPrivateFieldGet(this, _Location_url, "f").pathname = val;
                if (__classPrivateFieldGet(this, _Location_instances, "m", _Location_checkUrlChange).call(this, preValue)) __classPrivateFieldGet(this, _Location_instances, "m", _Location_recordHistory).call(this);
            }
            get search() {
                return __classPrivateFieldGet(this, _Location_url, "f").search;
            }
            set search(val) {
                if (!val || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) return;
                val = val.trim();
                val = val.startsWith("?") ? val : `?${val}`;
                const preValue = __classPrivateFieldGet(this, _Location_instances, "m", _Location_getPreValue).call(this);
                __classPrivateFieldGet(this, _Location_url, "f").search = val;
                if (__classPrivateFieldGet(this, _Location_instances, "m", _Location_checkUrlChange).call(this, preValue)) __classPrivateFieldGet(this, _Location_instances, "m", _Location_recordHistory).call(this);
            }
            get hash() {
                return __classPrivateFieldGet(this, _Location_url, "f").hash;
            }
            set hash(val) {
                if (!val || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val)) return;
                val = val.trim();
                val = val.startsWith("#") ? val : `#${val}`;
                const preValue = __classPrivateFieldGet(this, _Location_instances, "m", _Location_getPreValue).call(this);
                __classPrivateFieldGet(this, _Location_url, "f").hash = val;
                if (__classPrivateFieldGet(this, _Location_instances, "m", _Location_checkUrlChange).call(this, preValue)) __classPrivateFieldGet(this, _Location_instances, "m", _Location_recordHistory).call(this);
            }
            get href() {
                return __classPrivateFieldGet(this, _Location_url, "f").href;
            }
            set href(val) {
                const REG = /^(http:|https:)?\/\/.+/;
                if (!val || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val) || !REG.test(val = val.trim())) return;
                const preValue = __classPrivateFieldGet(this, _Location_instances, "m", _Location_getPreValue).call(this);
                __classPrivateFieldGet(this, _Location_url, "f").href = val;
                if (__classPrivateFieldGet(this, _Location_instances, "m", _Location_checkUrlChange).call(this, preValue)) __classPrivateFieldGet(this, _Location_instances, "m", _Location_recordHistory).call(this);
            }
            get origin() {
                return __classPrivateFieldGet(this, _Location_url, "f").origin;
            }
            set origin(val) {
                const REG = /^(http:|https:)?\/\/.+/;
                if (!val || !(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(val) || !REG.test(val = val.trim())) return;
                const preValue = __classPrivateFieldGet(this, _Location_instances, "m", _Location_getPreValue).call(this);
                __classPrivateFieldGet(this, _Location_url, "f").origin = val;
                if (__classPrivateFieldGet(this, _Location_instances, "m", _Location_checkUrlChange).call(this, preValue)) __classPrivateFieldGet(this, _Location_instances, "m", _Location_recordHistory).call(this);
            }
            assign() {
                (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.warn)(true, "\u5C0F\u7A0B\u5E8F\u73AF\u5883\u4E2D\u8C03\u7528location.assign()\u65E0\u6548.");
            }
            reload() {
                (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.warn)(true, "\u5C0F\u7A0B\u5E8F\u73AF\u5883\u4E2D\u8C03\u7528location.reload()\u65E0\u6548.");
            }
            replace(url) {
                this.trigger("__set_href_without_history__", url);
            }
            toString() {
                return this.href;
            }
            get cache() {
                return cache;
            }
            constructor(options2){
                super();
                _Location_instances.add(this);
                _Location_url.set(this, new URL(INIT_URL));
                _Location_noCheckUrl.set(this, false);
                _Location_window.set(this, void 0);
                __classPrivateFieldSet(this, _Location_window, options2.window, "f");
                __classPrivateFieldGet(this, _Location_instances, "m", _Location_reset).call(this);
                this.on("__set_href_without_history__", (href)=>{
                    __classPrivateFieldSet(this, _Location_noCheckUrl, true, "f");
                    const lastHash = __classPrivateFieldGet(this, _Location_url, "f").hash;
                    __classPrivateFieldGet(this, _Location_url, "f").href = generateFullUrl(href);
                    if (lastHash !== __classPrivateFieldGet(this, _Location_url, "f").hash) {
                        __classPrivateFieldGet(this, _Location_window, "f").trigger("hashchange");
                    }
                    __classPrivateFieldSet(this, _Location_noCheckUrl, false, "f");
                }, null);
                this.on(CONTEXT_ACTIONS.INIT, ()=>{
                    __classPrivateFieldGet(this, _Location_instances, "m", _Location_reset).call(this);
                }, null);
                this.on(CONTEXT_ACTIONS.RESTORE, (pageId2)=>{
                    cache.set(pageId2, {
                        lastHref: this.href
                    });
                }, null);
                this.on(CONTEXT_ACTIONS.RECOVER, (pageId2)=>{
                    if (cache.has(pageId2)) {
                        const ctx = cache.get(pageId2);
                        __classPrivateFieldSet(this, _Location_noCheckUrl, true, "f");
                        __classPrivateFieldGet(this, _Location_url, "f").href = ctx.lastHref;
                        __classPrivateFieldSet(this, _Location_noCheckUrl, false, "f");
                    }
                }, null);
                this.on(CONTEXT_ACTIONS.DESTORY, (pageId2)=>{
                    cache.delete(pageId2);
                }, null);
            }
        };
        _Location_url = /* @__PURE__ */ new WeakMap(), _Location_noCheckUrl = /* @__PURE__ */ new WeakMap(), _Location_window = /* @__PURE__ */ new WeakMap(), _Location_instances = /* @__PURE__ */ new WeakSet(), _Location_reset = function _Location_reset2() {
            const Current2 = getCurrentInstance();
            const router = Current2.router;
            if (router) {
                const { path , params  } = router;
                const searchArr = Object.keys(params).map((key)=>{
                    return `${key}=${params[key]}`;
                });
                const searchStr = searchArr.length > 0 ? "?" + searchArr.join("&") : "";
                const url = `${INIT_URL}${path.startsWith("/") ? path : "/" + path}${searchStr}`;
                __classPrivateFieldSet(this, _Location_url, new URL(url), "f");
                this.trigger("__reset_history__", this.href);
            }
        }, _Location_getPreValue = function _Location_getPreValue2() {
            return __classPrivateFieldGet(this, _Location_url, "f")._toRaw();
        }, _Location_rollBack = function _Location_rollBack2(href) {
            __classPrivateFieldGet(this, _Location_url, "f").href = href;
        }, _Location_recordHistory = function _Location_recordHistory2() {
            this.trigger("__record_history__", this.href);
        }, _Location_checkUrlChange = function _Location_checkUrlChange2(preValue) {
            if (__classPrivateFieldGet(this, _Location_noCheckUrl, "f")) {
                return false;
            }
            const { protocol , hostname , port , pathname , search , hash  } = __classPrivateFieldGet(this, _Location_url, "f")._toRaw();
            if (protocol !== preValue.protocol || hostname !== preValue.hostname || port !== preValue.port) {
                __classPrivateFieldGet(this, _Location_instances, "m", _Location_rollBack).call(this, preValue.href);
                return false;
            }
            if (pathname !== preValue.pathname) {
                return true;
            }
            if (search !== preValue.search) {
                return true;
            }
            if (hash !== preValue.hash) {
                __classPrivateFieldGet(this, _Location_window, "f").trigger("hashchange");
                return true;
            }
            __classPrivateFieldGet(this, _Location_instances, "m", _Location_rollBack).call(this, preValue.href);
            return false;
        };
        machine = "Macintosh";
        arch = "Intel Mac OS X 10_14_5";
        engine = "AppleWebKit/534.36 (KHTML, like Gecko) NodeJS/v4.1.0 Chrome/76.0.3809.132 Safari/534.36";
        msg = "(" + machine + "; " + arch + ") " + engine;
        nav = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isWebPlatform)() ? env.window.navigator : {
            appCodeName: "Mozilla",
            appName: "Netscape",
            appVersion: "5.0 " + msg,
            cookieEnabled: true,
            mimeTypes: [],
            onLine: true,
            platform: "MacIntel",
            plugins: [],
            product: "Taro",
            productSub: "20030107",
            userAgent: "Mozilla/5.0 " + msg,
            vendor: "Joyent",
            vendorSub: ""
        };
        (function() {
            let loadTime;
            if (typeof performance !== "undefined" && performance !== null && performance.now) {
                now = ()=>performance.now();
            } else if (Date.now) {
                loadTime = Date.now();
                now = ()=>Date.now() - loadTime;
            } else {
                loadTime = new Date().getTime();
                now = ()=>new Date().getTime() - loadTime;
            }
        })();
        lastTime = 0;
        _raf = typeof requestAnimationFrame !== "undefined" && requestAnimationFrame !== null ? requestAnimationFrame : function(callback) {
            const _now = now();
            const nextTime = Math.max(lastTime + 16, _now);
            return setTimeout(function() {
                callback(lastTime = nextTime);
            }, nextTime - _now);
        };
        _caf = typeof cancelAnimationFrame !== "undefined" && cancelAnimationFrame !== null ? cancelAnimationFrame : function(seed) {
            clearTimeout(seed);
        };
        if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isWebPlatform)()) {
            class Window extends _chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.Events {
                initEvent() {
                    const _location = this.location;
                    const _history = this.history;
                    this.on(CONTEXT_ACTIONS.INIT, (pageId2)=>{
                        _location.trigger(CONTEXT_ACTIONS.INIT, pageId2);
                    }, null);
                    this.on(CONTEXT_ACTIONS.RECOVER, (pageId2)=>{
                        _location.trigger(CONTEXT_ACTIONS.RECOVER, pageId2);
                        _history.trigger(CONTEXT_ACTIONS.RECOVER, pageId2);
                    }, null);
                    this.on(CONTEXT_ACTIONS.RESTORE, (pageId2)=>{
                        _location.trigger(CONTEXT_ACTIONS.RESTORE, pageId2);
                        _history.trigger(CONTEXT_ACTIONS.RESTORE, pageId2);
                    }, null);
                    this.on(CONTEXT_ACTIONS.DESTORY, (pageId2)=>{
                        _location.trigger(CONTEXT_ACTIONS.DESTORY, pageId2);
                        _history.trigger(CONTEXT_ACTIONS.DESTORY, pageId2);
                    }, null);
                }
                get document() {
                    return env.document;
                }
                addEventListener(event, callback) {
                    if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(event)) return;
                    this.on(event, callback, null);
                }
                removeEventListener(event, callback) {
                    if (!(0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isString)(event)) return;
                    this.off(event, callback, null);
                }
                setTimeout(...args) {
                    return setTimeout(...args);
                }
                clearTimeout(...args) {
                    return clearTimeout(...args);
                }
                constructor(){
                    super();
                    this.navigator = nav;
                    this.requestAnimationFrame = _raf;
                    this.cancelAnimationFrame = _caf;
                    this.getComputedStyle = getComputedStyle;
                    const globalProperties = [
                        ...Object.getOwnPropertyNames(__webpack_require__.g || {}),
                        ...Object.getOwnPropertySymbols(__webpack_require__.g || {})
                    ];
                    globalProperties.forEach((property)=>{
                        if (property === "atob" || property === "document") return;
                        if (!Object.prototype.hasOwnProperty.call(this, property)) {
                            try {
                                this[property] = __webpack_require__.g[property];
                            } catch (e) {
                                if (true) {
                                    console.warn(`[Taro warn] window.${String(property)} \u5728\u8D4B\u503C\u5230 window \u65F6\u62A5\u9519`);
                                }
                            }
                        }
                    });
                    this.Date || (this.Date = Date);
                    this.location = new Location({
                        window: this
                    });
                    this.history = new History(this.location, {
                        window: this
                    });
                    this.initEvent();
                }
            }
            window$1 = env.window = new Window();
        } else {
            window$1 = env.window;
        }
        location = window$1.location;
        history = window$1.history;
        SVGElement = class extends TaroElement {
        };
        instances = /* @__PURE__ */ new Map();
        pageId = incrementId();
        isWeb = (0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isWebPlatform)();
        TIMEOUT = 100;
        nextTick = (cb, ctx)=>{
            const beginTime = Date.now();
            const router = Current.router;
            const timerFunc = ()=>{
                setTimeout(function() {
                    ctx ? cb.call(ctx) : cb();
                }, 1);
            };
            if (router === null) return timerFunc();
            const path = router.$taroPath;
            function next() {
                var _a, _b, _c;
                const pageElement = env.document.getElementById(path);
                if (pageElement === null || pageElement === void 0 ? void 0 : pageElement.pendingUpdate) {
                    if ((0,_chunk_77KB62LY_js__WEBPACK_IMPORTED_MODULE_0__.isWebPlatform)()) {
                        (_c = (_b = (_a = pageElement.firstChild) === null || _a === void 0 ? void 0 : _a["componentOnReady"]) === null || _b === void 0 ? void 0 : _b.call(_a).then(()=>{
                            timerFunc();
                        })) !== null && _c !== void 0 ? _c : timerFunc();
                    } else {
                        pageElement.enqueueUpdateCallback(cb, ctx);
                    }
                } else if (Date.now() - beginTime > TIMEOUT) {
                    timerFunc();
                } else {
                    setTimeout(()=>next(), 20);
                }
            }
            next();
        };
    }
});



/***/ })

}]);