You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1 lines
1.2 MiB

{"version":3,"sources":["webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js?bc2e","webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/index.js?543d","webpack:///(webpack)/buildin/global.js?cd00","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js?4ea4","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js?278c","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js?c135","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js?9b42","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js?6613","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js?5a43","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js?c240","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js?9523","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js?a395","webpack:///./node_modules/@babel/runtime/helpers/typeof.js?7037","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js?e50d","webpack:///./node_modules/@babel/runtime/helpers/construct.js?b17c","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js?4a4b","webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js?6f8f","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js?448a","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js?2236","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js?11b0","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js?0676","webpack:///./node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js?37dc","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js?970b","webpack:///./node_modules/@babel/runtime/helpers/createClass.js?5bc3","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js?66fd","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js?f0c5","uni-app:///uni_modules/uview-ui/index.js","uni-app:///uni_modules/uview-ui/libs/mixin/mixin.js","uni-app:///uni_modules/uview-ui/libs/mixin/mpMixin.js","uni-app:///uni_modules/uview-ui/libs/luch-request/index.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/Request.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/dispatchRequest.js","uni-app:///uni_modules/uview-ui/libs/luch-request/adapters/index.js","uni-app:///uni_modules/uview-ui/libs/luch-request/helpers/buildURL.js","uni-app:///uni_modules/uview-ui/libs/luch-request/utils.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/buildFullPath.js","uni-app:///uni_modules/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js","uni-app:///uni_modules/uview-ui/libs/luch-request/helpers/combineURLs.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/settle.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/InterceptorManager.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/mergeConfig.js","uni-app:///uni_modules/uview-ui/libs/luch-request/core/defaults.js","uni-app:///uni_modules/uview-ui/libs/luch-request/utils/clone.js","webpack:///./node_modules/buffer/index.js?b639","webpack:///./node_modules/base64-js/index.js?1fb5","webpack:///./node_modules/ieee754/index.js?9152","webpack:///./node_modules/isarray/index.js?e3db","uni-app:///uni_modules/uview-ui/libs/util/route.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/@babel/runtime/regenerator/index.js?2eee","webpack:///./node_modules/@babel/runtime/helpers/regeneratorRuntime.js?7ec2","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js?c973","uni-app:///uni_modules/uview-ui/libs/function/colorGradient.js","uni-app:///uni_modules/uview-ui/libs/function/test.js","uni-app:///uni_modules/uview-ui/libs/function/debounce.js","uni-app:///uni_modules/uview-ui/libs/function/throttle.js","uni-app:///uni_modules/uview-ui/libs/function/index.js","uni-app:///uni_modules/uview-ui/libs/function/digit.js","webpack:///./node_modules/@babel/runtime/helpers/toArray.js?480f","uni-app:///uni_modules/uview-ui/libs/config/config.js","uni-app:///uni_modules/uview-ui/libs/config/props.js","uni-app:///uni_modules/uview-ui/libs/config/props/actionSheet.js","uni-app:///uni_modules/uview-ui/libs/config/props/album.js","uni-app:///uni_modules/uview-ui/libs/config/props/alert.js","uni-app:///uni_modules/uview-ui/libs/config/props/avatar.js","uni-app:///uni_modules/uview-ui/libs/config/props/avatarGroup.js","uni-app:///uni_modules/uview-ui/libs/config/props/backtop.js","uni-app:///uni_modules/uview-ui/libs/config/props/badge.js","uni-app:///uni_modules/uview-ui/libs/config/props/button.js","uni-app:///uni_modules/uview-ui/libs/config/props/calendar.js","uni-app:///uni_modules/uview-ui/libs/config/props/carKeyboard.js","uni-app:///uni_modules/uview-ui/libs/config/props/cell.js","uni-app:///uni_modules/uview-ui/libs/config/props/cellGroup.js","uni-app:///uni_modules/uview-ui/libs/config/props/checkbox.js","uni-app:///uni_modules/uview-ui/libs/config/props/checkboxGroup.js","uni-app:///uni_modules/uview-ui/libs/config/props/circleProgress.js","uni-app:///uni_modules/uview-ui/libs/config/props/code.js","uni-app:///uni_modules/uview-ui/libs/config/props/codeInput.js","uni-app:///uni_modules/uview-ui/libs/config/props/col.js","uni-app:///uni_modules/uview-ui/libs/config/props/collapse.js","uni-app:///uni_modules/uview-ui/libs/config/props/collapseItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/columnNotice.js","uni-app:///uni_modules/uview-ui/libs/config/props/countDown.js","uni-app:///uni_modules/uview-ui/libs/config/props/countTo.js","uni-app:///uni_modules/uview-ui/libs/config/props/datetimePicker.js","uni-app:///uni_modules/uview-ui/libs/config/props/divider.js","uni-app:///uni_modules/uview-ui/libs/config/props/empty.js","uni-app:///uni_modules/uview-ui/libs/config/props/form.js","uni-app:///uni_modules/uview-ui/libs/config/props/formItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/gap.js","uni-app:///uni_modules/uview-ui/libs/config/props/grid.js","uni-app:///uni_modules/uview-ui/libs/config/props/gridItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/icon.js","uni-app:///uni_modules/uview-ui/libs/config/props/image.js","uni-app:///uni_modules/uview-ui/libs/config/props/indexAnchor.js","uni-app:///uni_modules/uview-ui/libs/config/props/indexList.js","uni-app:///uni_modules/uview-ui/libs/config/props/input.js","uni-app:///uni_modules/uview-ui/libs/config/props/keyboard.js","uni-app:///uni_modules/uview-ui/libs/config/props/line.js","uni-app:///uni_modules/uview-ui/libs/config/props/lineProgress.js","uni-app:///uni_modules/uview-ui/libs/config/props/link.js","uni-app:///uni_modules/uview-ui/libs/config/props/list.js","uni-app:///uni_modules/uview-ui/libs/config/props/listItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/loadingIcon.js","uni-app:///uni_modules/uview-ui/libs/config/props/loadingPage.js","uni-app:///uni_modules/uview-ui/libs/config/props/loadmore.js","uni-app:///uni_modules/uview-ui/libs/config/props/modal.js","uni-app:///uni_modules/uview-ui/libs/config/props/navbar.js","uni-app:///uni_modules/uview-ui/libs/config/color.js","uni-app:///uni_modules/uview-ui/libs/config/props/noNetwork.js","uni-app:///uni_modules/uview-ui/libs/config/props/noticeBar.js","uni-app:///uni_modules/uview-ui/libs/config/props/notify.js","uni-app:///uni_modules/uview-ui/libs/config/props/numberBox.js","uni-app:///uni_modules/uview-ui/libs/config/props/numberKeyboard.js","uni-app:///uni_modules/uview-ui/libs/config/props/overlay.js","uni-app:///uni_modules/uview-ui/libs/config/props/parse.js","uni-app:///uni_modules/uview-ui/libs/config/props/picker.js","uni-app:///uni_modules/uview-ui/libs/config/props/popup.js","uni-app:///uni_modules/uview-ui/libs/config/props/radio.js","uni-app:///uni_modules/uview-ui/libs/config/props/radioGroup.js","uni-app:///uni_modules/uview-ui/libs/config/props/rate.js","uni-app:///uni_modules/uview-ui/libs/config/props/readMore.js","uni-app:///uni_modules/uview-ui/libs/config/props/row.js","uni-app:///uni_modules/uview-ui/libs/config/props/rowNotice.js","uni-app:///uni_modules/uview-ui/libs/config/props/scrollList.js","uni-app:///uni_modules/uview-ui/libs/config/props/search.js","uni-app:///uni_modules/uview-ui/libs/config/props/section.js","uni-app:///uni_modules/uview-ui/libs/config/props/skeleton.js","uni-app:///uni_modules/uview-ui/libs/config/props/slider.js","uni-app:///uni_modules/uview-ui/libs/config/props/statusBar.js","uni-app:///uni_modules/uview-ui/libs/config/props/steps.js","uni-app:///uni_modules/uview-ui/libs/config/props/stepsItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/sticky.js","uni-app:///uni_modules/uview-ui/libs/config/props/subsection.js","uni-app:///uni_modules/uview-ui/libs/config/props/swipeAction.js","uni-app:///uni_modules/uview-ui/libs/config/props/swipeActionItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/swiper.js","uni-app:///uni_modules/uview-ui/libs/config/props/swipterIndicator.js","uni-app:///uni_modules/uview-ui/libs/config/props/switch.js","uni-app:///uni_modules/uview-ui/libs/config/props/tabbar.js","uni-app:///uni_modules/uview-ui/libs/config/props/tabbarItem.js","uni-app:///uni_modules/uview-ui/libs/config/props/tabs.js","uni-app:///uni_modules/uview-ui/libs/config/props/tag.js","uni-app:///uni_modules/uview-ui/libs/config/props/text.js","uni-app:///uni_modules/uview-ui/libs/config/props/textarea.js","uni-app:///uni_modules/uview-ui/libs/config/props/toast.js","uni-app:///uni_modules/uview-ui/libs/config/props/toolbar.js","uni-app:///uni_modules/uview-ui/libs/config/props/tooltip.js","uni-app:///uni_modules/uview-ui/libs/config/props/transition.js","uni-app:///uni_modules/uview-ui/libs/config/props/upload.js","uni-app:///uni_modules/uview-ui/libs/config/zIndex.js","uni-app:///uni_modules/uview-ui/libs/function/platform.js","uni-app:///api/index.js","uni-app:///api/request.js","uni-app:///uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js","uni-app:///uni_modules/uview-ui/components/u-popup/props.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js?a9ff","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js?3c96","webpack:///./node_modules/@babel/runtime/helpers/inherits.js?ed6d","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js?6b58","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js?36c6","webpack:///./node_modules/@babel/runtime/helpers/wrapNativeSuper.js?a128","webpack:///./node_modules/@babel/runtime/helpers/isNativeFunction.js?c5f7","uni-app:///pages.json","uni-app:///uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js","uni-app:///uni_modules/uni-file-picker/components/uni-file-picker/utils.js","uni-app:///uni_modules/uni-forms/components/uni-forms/validate.js","uni-app:///uni_modules/uni-forms/components/uni-forms/utils.js","uni-app:///uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js","uni-app:///uni_modules/uview-ui/components/u-overlay/props.js","uni-app:///uni_modules/uview-ui/components/u-transition/props.js","uni-app:///uni_modules/uview-ui/components/u-transition/transition.js","uni-app:///uni_modules/uview-ui/components/u-transition/nvue.ani-map.js","uni-app:///uni_modules/uview-ui/components/u-status-bar/props.js","uni-app:///uni_modules/uview-ui/components/u-icon/icons.js","uni-app:///uni_modules/uview-ui/components/u-icon/props.js","uni-app:///uni_modules/uview-ui/components/u-safe-bottom/props.js","uni-app:///uni_modules/uni-transition/components/uni-transition/createAnimation.js"],"names":["objectKeys","singlePageDisableKey","target","globalThis","this","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","realAtob","b64","b64re","b64DecodeUnicode","str","decodeURIComponent","split","map","c","charCodeAt","toString","slice","getCurrentUserInfo","userInfo","token","wx","getStorageSync","tokenArr","length","uid","role","permission","tokenExpired","JSON","parse","error","Error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","atob","String","replace","test","bitmap","r1","r2","result","i","charAt","fromCharCode","_toString","Object","hasOwnProperty","isFn","fn","isStr","isObject","obj","isPlainObject","call","hasOwn","noop","cached","cache","create","hit","camelizeRE","camelize","_","toUpperCase","sortObject","sortObj","keys","sort","forEach","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","params","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","scopedInterceptor","invokeApi","api","invoke","promiseInterceptor","reject","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","isSyncApi","isCallbackApi","handlePromise","catch","err","shouldPromise","promisify","success","fail","complete","assign","finally","constructor","value","reason","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","Math","floor","locale","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","normalizeLocale","language","i18n","initVueI18n","t","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","methods","$$t","values","setLocale","getLocale","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","defineProperty","get","set","v","watch","include","parts","find","part","startsWith","trim","toLowerCase","lang","getLocale$1","getApp","app","allowDefault","$vm","$locale","setLocale$1","oldLocale","onLocaleChangeCallbacks","onLocaleChange","global","interceptors","baseApi","freeze","__proto__","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","deviceId","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","useDeviceId","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","populateParameters","brand","model","system","theme","version","fontSizeSetting","SDKVersion","deviceOrientation","extraParam","osName","osVersion","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appId","process","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","getAppBaseInfo","getDeviceInfo","getWindowInfo","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","compressImage","compressedHeight","compressHeight","compressedWidth","compressWidth","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","apply","todoApis","TODOS","createTodoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","ctx","$on","arguments","$off","$emit","cid","cidErrMsg","enabled","eventApi","tryCatch","e","getApiCallbacks","apiCallbacks","param","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","parentVm","$children","childVm","$scope","_$vueId","initBehavior","Behavior","isPage","route","initRelation","detail","triggerEvent","selectAllComponents","mpInstance","selector","$refs","components","component","ref","dataset","toSkip","vueGeneric","scopedComponent","syncRefs","refs","newRefs","oldKeys","Set","newKeys","oldValue","newValue","every","delete","initRefs","forComponents","handleLink","event","vueOptions","parent","markMPComponent","IS_MP","configurable","enumerable","OB","SKIP","isExtensible","WORKLET_RE","initWorkletMethods","mpMethods","vueMethods","matches","match","workletName","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","oldTriggerEvent","newTriggerEvent","comType","newEvent","_triggerEvent","initHook","isComponent","oldHook","__$wrappered","after","PAGE_EVENT_HOOKS","initMocks","$mp","mpType","mock","hasHook","default","extendOptions","super","mixins","initHooks","mpOptions","__call_hook","initUnknownHooks","excludes","findHooks","initHook$1","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vuePid","initData","context","VUE_APP_DEBUG","stringify","__lifecycle_hooks__","PROP_TYPES","Boolean","createObserver","newVal","oldVal","initBehaviors","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","observer","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","vFor","propPath","valuePath","isInteger","substr","__get_value","vForItem","vForKey","processEventExtra","extra","__args__","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","path","is","once","eventChannels","getEventChannel","id","eventChannel","initEventChannel","getOpenerEventChannel","callHook","__id__","__eventChannel__","initScopedSlotsParams","center","parents","currentId","propsData","$hasSSP","slot","$getSSP","needAll","$setSSP","$initSSP","$callSSP","destroyed","parseBaseApp","store","$store","mpHost","$i18n","_i18n","appOptions","onLaunch","canIUse","globalData","_isMounted","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","val2","x","parseBaseComponent","vueComponentOptions","needVueOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","createPlugin","todoApi","canIUseApi","apiName","uni","Proxy","uni$1","g","Function","window","module","exports","_interopRequireDefault","__esModule","arrayWithHoles","require","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","r","l","Symbol","iterator","n","u","a","f","o","next","done","arrayLikeToArray","_unsupportedIterableToArray","minLen","from","_arrayLikeToArray","arr2","_nonIterableRest","TypeError","toPropertyKey","_defineProperty","writable","_typeof","toPrimitive","setPrototypeOf","isNativeReflectConstruct","_construct","Reflect","construct","p","bind","_setPrototypeOf","_isNativeReflectConstruct","valueOf","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","startDelimiter","endDelimiter","position","text","char","sub","isClosed","compiled","mode","defaultFormatter","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","$watch","getDefaultLocale","isWatchedAppLocale","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","unshift","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain","pop","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","emptyObject","isUndef","isDef","isTrue","isFalse","isPrimitive","toRawType","isRegExp","isValidArrayIndex","parseFloat","isFinite","toNumber","makeMap","expectsLowerCase","list","isBuiltInTag","isReservedAttribute","remove","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","_length","nativeBind","toArray","start","to","_from","toObject","b","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","getTime","keysA","keysB","looseIndexOf","called","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","def","bailRE","RegExp","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","weexPlatform","UA","navigator","userAgent","isIE","isEdge","nativeWatch","addEventListener","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","ownKeys","has","clear","tip","generateComponentTrace","formatComponentName","hasConsole","classifyRE","classify","msg","trace","includeFile","$root","_isVue","_componentTag","repeat","tree","currentRecursiveSequence","last","Dep","subs","pushTarget","SharedObject","targetStack","popTarget","addSub","removeSub","depend","addDep","notify","update","VNode","tag","children","elm","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","original","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","copyAugment","protoAugment","src","observe","asRootData","__v_isMPComponent","defineReactive$$1","customSetter","shallow","property","getOwnPropertyDescriptor","getter","setter","childOb","dependArray","max","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","instanceData","defaultData","mergeAssets","assertObjectType","el","defaultStrat","key$1","inject","computed","provide","checkComponents","validateComponentName","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","_base","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","prop","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","assertProp","_props","getType","required","valid","expectedTypes","assertedType","assertType","expectedType","validator","getInvalidTypeMessage","simpleCheckRE","isSameType","receivedType","expectedValue","styleValue","receivedValue","isExplicable","isBoolean","explicitTypes","some","elem","handleError","info","cur","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","initProxy","callbacks","pending","flushCallbacks","copies","setTimeout","MutationObserver","setImmediate","counter","textNode","document","createTextNode","characterData","nextTick","cb","_resolve","allowedGlobals","warnNonPresent","warnReservedPrefix","hasProxy","isBuiltInModifier","hasHandler","isAllowed","$data","getHandler","handlers","render","_withStripped","_renderProxy","mark","measure","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","perf","clearMarks","clearMeasures","startTag","endTag","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","extractPropertiesFromVNodeData","attrs","altKey","checkProp","extractPropsFromVNodeData","keyInLowerCase","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","shift","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","source","provideDefault","resolveSlots","slots","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","_i","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","staticRenderFns","markStatic","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","d","createElement","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","devtoolsMeta","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","insert","queueActivatedComponent","activateChildComponent","destroy","deactivateChildComponent","hooksToMerge","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","functional","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","merged","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","$vnode","pre","applyNS","registerDeepBindings","force","style","class","initRender","_vnode","parentVnode","_renderChildren","parentData","isUpdatingChildComponent","_parentListeners","currentRenderingInstance","renderMixin","$nextTick","_render","renderError","ensureCtor","comp","base","toStringTag","factory","errorComp","resolved","owner","owners","loading","loadingComp","sync","timerLoading","timerTimeout","forceRender","renderCompleted","clearTimeout","delay","timeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","_target","onceHandler","oldListeners","eventsMixin","hookRE","i$1","cbs","lowerCaseEvent","setActiveInstance","prevActiveInstance","initLifecycle","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","_$updateProperties","isInInactiveTree","direct","j","MAX_UPDATE_COUNT","activatedChildren","circular","waiting","flushing","resetSchedulerState","getNow","createEvent","timeStamp","flushSchedulerQueue","before","run","user","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","emit","queueWatcher","uid$2","Watcher","expOrFn","isRenderWatcher","deep","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","tmp","evaluate","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initComputed","initWatch","propsOptions","isRoot","_getFormData","__next_tick_pending","getData","computedWatcherOptions","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","$set","$delete","immediate","uid$3","initMixin","_init","_uid","initInternalComponent","_self","_$fallback","_name","vnodeComponentOptions","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","install","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","exclude","created","mounted","ref$1","builtInComponents","initGlobalAPI","configDef","util","defineReactive","ssrContext","ARRAYTYPE","OBJECTTYPE","NULLTYPE","UNDEFINEDTYPE","diff","syncKeys","_diff","rootCurrentType","rootPreType","currentValue","nullOrUndefined","currentType","preType","setResult","preValue","subKey","k","flushCallbacks$1","__next_tick_callbacks","log","hasRenderWatcher","nextTick$1","mpInstance$1","clearInstance","cloneWithData","dataKeys","reduce","compositionApiState","__composition_api_state__","__secret_vfa_state__","rawBindings","patch","__webviewId__","mpData","diffData","$shouldDiffData","createEmptyRender","mountComponent$1","template","updateComponent","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleBinding","bindingStyle","MP_METHODS","getTarget","internalMixin","onError","oldEmit","my","createSelectorQuery","createIntersectionObserver","__init_provide","__init_injections","__set_model","modifiers","__set_sync","__get_orig","__get_class","__get_style","dynamicStyle","staticStyle","dynamicStyleObj","styleObj","__map","iteratee","LIFECYCLE_HOOKS$1","lifecycleMixin$1","oldExtend","strategies","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","renderjs","__module","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","h","pleaseSetTranspileDependencies","$u","date","timeFormat","colorGradient","hexToRgb","rgbToHex","colorToRgba","http","Request","zIndex","debounce","throttle","mpMixin","color","timestamp","timeFrom","customStyle","customClass","linkType","getRect","$uGetRect","deepMerge","bem","fixed","change","prefix","classes","openPage","urlKey","all","in","boundingClientRect","rect","exec","getParentData","parentName","preventEvent","onReachBottom","beforeDestroy","array","childrenList","defaults","request","InterceptorManager","response","mergeConfig","dispatchRequest","fulfilled","rejected","middleware","adapter","mergeKeys","config2","isUndefined","requestTask","buildURL","buildFullPath","baseURL","_config","header","settle","otherConfig","filePath","optionalKeys","uploadFile","downloadFile","getTask","serializedParams","utils","isURLSearchParams","isDate","toISOString","hashmarkIndex","URLSearchParams","assignValue","requestedURL","isAbsoluteURL","combineURLs","relativeURL","validateStatus","status","statusCode","eject","globalsConfig","custom","defaultToConfig2Keys","uploadKeys","defaultsKeys","dataType","responseType","_instanceof","nativeMap","nativeSet","nativePromise","Map","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","_clone","proto","__isArray","__isRegExp","__getRegExpFlags","__isDate","isBuffer","copy","getPrototypeOf","keyChild","valueChild","entryChild","objProperty","ReferenceError","getOwnPropertySymbols","symbols","allPropertyNames","propertyName","Infinity","__objToStr","re","flags","ignoreCase","multiline","clonePrototype","base64","ieee754","typedArraySupport","Uint8Array","foo","subarray","byteLength","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","allocUnsafe","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","alloc","fill","encoding","checked","string","isEncoding","write","fromArrayLike","byteOffset","buffer","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","m","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","read","buf","readUInt16BE","foundIndex","found","hexWrite","offset","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","fromByteArray","min","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","y","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","_arr","MAX_ARGUMENTS_LENGTH","codePoints","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","code","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","toByteArray","dst","lookup","revLookup","Arr","getLens","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","num","encodeChunk","uint8","output","extraBytes","maxChunkLength","len2","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","s","NaN","rt","abs","LN2","Router","animationType","animationDuration","intercept","addRootPath","queryParams","mixinParam","routeIntercept","isNext","navigateTo","switchTab","reLaunch","navigateBack","runtime","_regeneratorRuntime","asyncIterator","define","wrap","Generator","Context","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","_invoke","AsyncIterator","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","awrap","reverse","prev","stop","rval","handle","finish","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","self","startColor","endColor","step","startRGB","startR","startG","startB","endRGB","endR","endG","endB","sR","sG","sB","colorArr","hex","round","sColor","reg","sColorNew","sColorChange","rgb","_this","aColor","strHex","aNum","numHex","alpha","email","mobile","dateISO","digits","idCard","carNo","xreg","creg","amount","chinese","letter","enOrNum","contains","range","rangeLength","landline","empty","jsonString","object","func","image","IMAGE_REGEXP","video","VIDEO_REGEXP","regExp","isEmpty","wait","callNow","flag","getPx","unit","sleep","os","sys","gab","guid","firstU","radix","chars","uuid","addStyle","styleArray","addUnit","deepClone","WeakMap","entries","sourceValue","targetValue","randomArray","dateTime","formatStr","timeSource","getFullYear","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","beginIndex","timer","tips","isPrefix","arrayFormat","_result","_value","commaStr","toast","duration","showToast","icon","type2icon","iconName","priceFormat","decimals","decimalPoint","thousandsSeparator","prec","sep","dec","getDuration","valueNum","padZero","formValidate","formItem","form","validateField","getProperty","firstObj","setProperty","inFn","_obj","getHistoryPage","back","setConfig","maxLength","fillString","fillLength","times","ceil","_boundaryCheckingState","strip","precision","toPrecision","digitLength","eSplit","float2Fixed","dLen","checkBoundary","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","iteratorOperation","operation","num1","num2","others","nums","num1Changed","num2Changed","baseNum","leftValue","plus","minus","divide","ratio","enableBoundaryChecking","_toArray","actionSheet","album","alert","avatar","avatarGroup","backtop","badge","button","calendar","carKeyboard","cell","cellGroup","checkbox","checkboxGroup","circleProgress","codeInput","col","collapse","collapseItem","columnNotice","countDown","countTo","datetimePicker","divider","gap","grid","gridItem","indexAnchor","indexList","input","keyboard","line","lineProgress","link","listItem","loadingIcon","loadingPage","loadmore","modal","navbar","noNetwork","noticeBar","numberBox","numberKeyboard","overlay","picker","popup","radio","radioGroup","rate","readMore","row","rowNotice","scrollList","search","section","skeleton","slider","statusBar","steps","stepsItem","sticky","subsection","swipeAction","swipeActionItem","swiper","swipterIndicator","_switch","tabbar","tabbarItem","tabs","textarea","toolbar","tooltip","transition","upload","description","actions","cancelText","closeOnClickAction","safeAreaInsetBottom","openType","closeOnClickOverlay","keyName","singleSize","multipleSize","space","singleMode","multipleMode","maxCount","previewFullImage","rowCount","showMore","closable","showIcon","effect","fontSize","shape","bgColor","mpAvatar","randomBgColor","defaultUrl","colorIndex","extraValue","scrollTop","iconStyle","isDot","showZero","numberType","inverted","absolute","hairline","plain","disabled","loadingText","loadingMode","loadingSize","formType","appParameter","hoverStopPropagation","sessionFrom","sendMessageTitle","sendMessagePath","sendMessageImg","showMessageCard","dataName","throttleTime","hoverStartTime","hoverStayTime","iconColor","showTitle","showSubtitle","startText","endText","customList","minDate","maxDate","defaultDate","rowHeight","formatter","showLunar","showMark","confirmText","confirmDisabledText","readonly","showConfirm","maxRange","rangePrompt","showRangePrompt","allowSameDay","monthNum","label","border","clickable","isLink","arrowDirection","rightIconStyle","rightIcon","titleStyle","activeColor","inactiveColor","iconSize","labelSize","labelColor","labelDisabled","placement","iconPlacement","borderBottom","percentage","seconds","changeText","keepRunning","uniqueKey","adjustPosition","maxlength","dot","focus","bold","disabledKeyboard","borderColor","disabledDot","span","justify","align","textAlign","accordion","speed","disableTouch","time","autoStart","millisecond","startVal","endVal","autoplay","useEasing","decimal","separator","showToolbar","minHour","maxHour","minMinute","maxMinute","itemHeight","cancelColor","confirmColor","visibleItemCount","defaultIndex","dashed","textPosition","textSize","textColor","lineColor","width","height","marginTop","rules","errorType","labelPosition","labelWidth","labelAlign","labelStyle","leftIcon","leftIconStyle","marginBottom","hoverClass","customPrefix","labelPos","imgMode","radius","lazyLoad","showMenuByLongpress","errorIcon","showLoading","showError","fade","webp","customNavHeight","disabledColor","clearable","password","placeholder","placeholderClass","placeholderStyle","showWordLimit","confirmType","confirmHold","holdKeyboard","autoBlur","disableDefaultPadding","cursor","cursorSpacing","selectionStart","selectionEnd","inputAlign","prefixIcon","prefixIconStyle","suffixIcon","suffixIconStyle","dotDisabled","showTips","showCancel","autoChange","direction","margin","showText","underLine","href","mpTips","showScrollbar","lowerThreshold","upperThreshold","offsetAccuracy","enableFlex","pagingEnabled","scrollable","scrollIntoView","scrollWithAnimation","enableBackToTop","preLoadScreen","anchor","vertical","timingFunction","loadingColor","loadmoreText","nomoreText","content","showConfirmButton","showCancelButton","buttonReverse","zoom","asyncClose","negativeTop","confirmButtonShape","safeAreaInsetTop","leftText","rightText","titleWidth","leftIconSize","leftIconColor","mainColor","autoBack","primary","warning","contentColor","tipsColor","lightColor","integer","disabledInput","asyncChange","inputWidth","showMinus","showPlus","decimalLength","longPress","buttonSize","disableMinus","disablePlus","opacity","copyLink","errorImg","loadingImg","pauseVideo","previewImg","setTitle","showImgMenu","columns","immediateChange","closeable","overlayStyle","closeIconPos","overlayOpacity","count","gutter","minCount","allowHalf","activeIcon","inactiveIcon","touchable","showHeight","toggle","closeText","openText","textIndent","indicatorWidth","indicatorBarWidth","indicatorColor","indicatorActiveColor","indicatorStyle","clearabled","showAction","actionStyle","actionText","inputStyle","searchIconColor","searchIconSize","placeholderColor","searchIcon","animation","subTitle","subColor","showLine","arrow","animate","rows","rowsWidth","rowsHeight","titleHeight","avatarSize","avatarShape","blockSize","blockColor","showValue","blockStyle","desc","offsetTop","autoClose","threshold","indicatorInactiveColor","indicatorMode","currentItemId","interval","previousMargin","nextMargin","acceleration","displayMultipleItems","easingFunction","swiperIndicator","switch","activeValue","inactiveValue","badgeStyle","activeStyle","inactiveStyle","lineWidth","lineHeight","lineBgSize","itemStyle","closeColor","plainFill","block","lines","decoration","wordWrap","autoHeight","showConfirmBar","isTab","copyText","showCopy","buttons","accept","compressed","camera","maxDuration","uploadIcon","uploadIconColor","useBeforeRead","imageMode","sizeType","multiple","deletable","maxSize","MAX_VALUE","fileList","uploadText","mask","topTips","indexListSticky","api_squirrel_addNewSquirrel","baseUrl","prams","errorcode","showModal","removeStorageSync","$baseUrl","fontData","lib","Base","mixIn","$super","WordArray","words","sigBytes","clamp","enc","Hex","Latin1","Utf8","escape","unescape","BufferedBlockAlgorithm","_nDataBytes","_append","_process","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","sin","MD5","_hash","w","I","S","A","P","T","C","O","HmacMD5","_hasher","_oKey","_iKey","Base64","_map","_reverseMap","createPromise","retryRule","needRetry","appid","E","L","_globalUniCloudObj","R","U","N","D","M","q","F","K","$","B","W","H","z","J","G","V","Y","Q","X","Z","ee","ie","oe","te","errCode","errSubject","subject","cause","requestId","toJson","ne","setStorageSync","clearStorageSync","se","ae","ce","channel","ue","LOCALE","PLATFORM","OS","APPID","DEVICEID","fe","he","sign","wrappedRequest","toBase64","le","endpoint","spaceId","requestUrl","envType","accessTokenKey","_getAccessTokenPromiseHub","requestAuth","setupRequest","accessToken","setAccessToken","requestWrapped","hasAccessToken","getAccessToken","rebuildRequest","clientSecret","functionTarget","functionArgs","formData","fileType","onUploadProgress","onProgressUpdate","loaded","totalBytesSent","total","totalBytesExpectedToSend","cloudPath","cloudPathAsRealPath","getOSSUploadOptionsFromPath","filename","fileId","cdnDomain","ossPath","securityToken","accessKeyId","signature","policy","ossCallbackUrl","OSSAccessKeyId","Signature","success_action_status","callbackUrl","callbackBody","callbackBodyType","fileName","uploadFileToOSS","fileID","reportOSSUpload","tempFileURL","de","signInAnonymously","authorize","getLoginState","auth","customAuth","pe","location","local","none","session","Se","ge","me","sqrt","SHA256","HmacSHA256","ye","we","ve","Ie","be","isMatch","genAdapter","WEB","WX_MP","ke","Ae","Pe","root","tcbObject","Te","localStorage","sessionStorage","Ce","_storage","_persistence","primaryStorage","persistence","accessTokenExpireKey","refreshTokenKey","anonymousUuidKey","loginTypeKey","userInfoKey","getItem","setItem","removeItem","xe","Oe","Ee","Le","Re","Ue","_listeners","_listens","Ne","De","fire","Me","off","Be","qe","Fe","Ke","je","$e","ANONYMOUS","WECHAT","WECHAT_PUBLIC","WECHAT_OPEN","EMAIL","USERNAME","NULL","We","He","ze","headers","append","Je","seqId","Ge","_reqClass","reqClass","timeoutMsg","restrictedMethods","_cache","_localCache","post","download","_refreshAccessTokenPromise","_refreshAccessToken","_shouldRefreshAccessTokenHook","removeStore","getStore","refresh_token","send","anonymous_uuid","setRefreshToken","access_token","setStore","access_token_expire","accessTokenExpire","refreshAccessToken","action","dataVersion","FormData","inQuery","Ve","Ye","Qe","_request","setLocalUserInfo","Xe","_envId","setUserInfo","ticket","signInWithRedirect","oldPassword","newPassword","newEmail","username","users","wxOpenId","wxPublicId","hasPrimaryUid","nickName","gender","avatarUrl","province","country","city","Ze","credential","refreshToken","loginType","et","updatePersistence","_setAnonymousUUID","refresh","_clearAnonymousUUID","tt","refreshUserInfo","nt","st","_onAnonymousConverted","_onLoginTypeChanged","hasLoginState","signIn","_anonymousAuthProvider","linkAndRetrieveDataWithTicket","isRegistered","it","authorization","cosFileId","ot","at","fileid_list","delete_list","ct","fileid","max_age","maxAge","file_list","download_list","ut","download_url","encodeURI","ht","function_name","request_data","response_data","lt","dt","pt","authObj","requestClient","ft","gt","mt","yt","useAdapters","wt","vt","It","St","fileUrl","bt","kt","At","functionName","signHeaderKeys","spaceAppId","signedHeaders","body","secretKey","secretId","accessKey","Authorization","Pt","trace_id","Tt","Ct","substring","xt","Ot","file_id","upload_url","form_data","expire","Et","Lt","clientInfo","uniIdToken","Rt","__dev__","initLocalNetwork","localAddress","localPort","aliyun","tencent","alipay","_callCloudFunction","Ut","rule","Nt","Dt","Mt","qt","Ft","Kt","jt","$t","secretType","uniCloudIns","clientType","scopedGlobalCache","_systemInfo","platformEncryptData","platformDecryptResult","prepare","platformGetSignOption","_uniCloudOptions","isClientKeyNotFound","forceUpdate","encryptData","decryptResult","Bt","Wt","Ht","zt","Jt","Gt","Vt","toBytes","fromBytes","Yt","Qt","16","24","32","Xt","Zt","en","tn","nn","sn","rn","an","cn","un","hn","ln","dn","pn","gn","_prepare","_Ke","_Kd","mn","_aes","encrypt","decrypt","yn","_lastCipherblock","segmentSize","_shiftRegister","wn","_lastPrecipher","_lastPrecipherIndex","vn","_counter","setValue","setBytes","In","_remainingCounter","_remainingCounterIndex","increment","Sn","AES","Counter","ModeOfOperation","ecb","cbc","cfb","ofb","ctr","utf8","padding","pkcs7","pad","_arrayTest","coerceArray","createArray","copyArray","bn","base64ToArrayBuffer","arrayBufferToBase64","kn","An","Pn","Tn","10001","10003","10009","10010","Cn","xn","On","En","Ln","userEncryptKey","mpWeixinCode","mpWeixinOpenid","isLogin","initPromise","expireTime","getUserCryptoManager","getLatestUserKey","getAccountInfoSync","miniProgram","getUserEncryptKey","encryptKey","iv","verifyClientSign","wxAppId","getWxAppId","simulator","encryptKeyId","Rn","Un","appUtils","requireNativePlugin","systemInfo","hasClientKey","_hasClientKey","encryptGetClientKeyPayload","callFunction","clientKey","setClientKey","initStatus","getAppClientKey","ensureClientKey","Nn","Dn","Mn","accessControl","enable","function","qn","logPvd","debugLog","Fn","tcb","extraInfo","debugInfo","forceRemote","_callLocalFunction","wrapEncryptDataCallFunction","wrapVerifyClientCallFunction","UTSJSONObject","Kn","jn","_internalType","$n","Bn","Wn","Hn","$regexp","$date","zn","$method","Jn","prevStage","udb","_database","$db","$param","Gn","isAggregate","getNextStageFn","_send","isCommand","getAction","getCommand","command","Vn","$newDb","Yn","Qn","_isJQL","multiCommand","queryList","dataList","_callback","_uniClient","level","_callbackAuth","_parseResult","uniClient","isJQL","_authCallBacks","_dbCallBacks","_isDefault","$env","Geo","serverDate","Xn","Zn","es","TOKEN_INVALID_TOKEN_EXPIRED","TOKEN_INVALID_INVALID_CLIENTID","TOKEN_INVALID","TOKEN_INVALID_WRONG_TOKEN","TOKEN_INVALID_ANONYMOUS_USER","ts","ss","needLogin","needLoginPage","notNeedLoginPage","rs","as","pagePath","bs","cs","uniIdRouter","subPackages","tabBar","loginPage","resToLogin","routerNeedLogin","loginPageInTabBar","us","hs","ls","ds","ps","fs","gs","ms","ys","redirect","ws","abortLoginPageJump","autoToLoginPage","uniIdRedirectUrl","vs","Is","onResponse","Ss","offResponse","onNeedLogin","offNeedLogin","needLoginInit","onRefreshToken","offRefreshToken","ks","As","Ps","Ts","tempFiles","tempFilePaths","onChooseFile","tempFile","tempFilePath","initChooseAndUploadFile","sourceType","extension","chooseImage","chooseVideo","chooseFile","chooseMessageFile","Cs","xs","Os","localdata","spaceInfo","collection","field","orderby","where","pageData","pageCurrent","pageSize","getcount","gettree","gettreepath","startwith","limitlevel","groupby","groupField","distinct","foreignKey","loadtime","manual","mixinDatacomLoading","mixinDatacomHasMore","mixinDatacomResData","mixinDatacomErrorMessage","mixinDatacomPage","mixinDatacomError","onMixinDatacomPropsChange","mixinDatacomEasyGet","getone","mixinDatacomGet","__uniX","databaseForJQL","database","groupBy","orderBy","getCount","limitLevel","startWith","getTree","getTreePath","skip","Es","customUI","parseSystemError","loadingOptions","errorOptions","secretMethods","retry","interceptorName","getCallbackArgs","newToken","hideLoading","objectName","confirm","cancel","Ls","Rs","openid","callLoginByWeixin","login","importObject","secureNetworkHandshakeByWeixin","Us","Ns","Ds","Ms","_uniPushMessageCallback","_receivePushMessage","_currentMessageId","_payloadQueue","_appId","_pushClientId","_seqId","_initMessageListener","close","payload","_isUniCloudSSE","messageId","_consumMessage","_parseMessagePayload","_end","_appendMessage","pushClientId","_destroy","addListener","removeListener","qs","Fs","address","servePort","port","initialLaunchType","Ks","_initPromiseHub","js","private","$s","_databaseForJQL","chooseAndUploadFile","SSEChannel","initSecureNetworkByWeixin","interceptObject","uniCloud","Bs","_assertThisInitialized","_inherits","subClass","superClass","assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","isNativeFunction","_wrapNativeSuper","Class","Wrapper","_isNativeFunction","ERR_MSG_OK","ERR_MSG_FAIL","chooseMedia","mediaType","normalizeChooseAndUploadFileRes","thumbTempFilePath","chooseAll","uploadCloudFiles","files","fileItem","findIndex","uploadFiles","choosePromise","customChooseRes","chooseRes","get_file_ext","last_len","get_extname","fileExtname","extname","get_files_and_is_max","_extname","filePaths","fileFullName","get_file_info","filepath","getImageInfo","get_file_data","filedata","imageinfo","idcard","FORMAT_MAPPING","formatMessage","resources","defaultMessage","isEmptyValue","types","RuleValidator","_message","fieldKey","fieldValue","allData","hasRequired","_getValidateType","RuleValidatorHelper","validateExpr","resultExpr","_getMessage","errorMessage","validateFunction","TAG","callbackMessage","arrayType","maximum","minimum","minLength","rangeNumber","mismatch","exclusiveMinimum","exclusiveMaximum","customTypes","typeError","arrayTypeFormat","formatResult","SchemaValidator","schema","_schema","_options","_checkFieldInSchema","invokeValidate","invokeValidateUpdate","validateRule","keys2","noExistFields","Message","defaultInvalid","whitespace","invalid","deepCopy","typeFilter","getValue","isRuleNumType","isRuleBoolType","isNumber","setDataValue","formdata","getDataValue","objGet","getDataValueType","realName","base_name","_basePath","realname","isRealName","rawData","newData","name2arr","objSet","defaultVal","newPath","bool","isRequiredField","isNoField","ruleData","class2type","isEqual","classNameA","classNameB","propsA","propsB","propName","zhHans","zhHant","getClassNames","enter","leave","clickHandler","vueEnter","classNames","inited","display","transitionEnded","vueLeave","onTransitionEnd","transform","MPAnimation","createAnimation","currentStepAnimates","aniObj","styles","animateTypes1","nvueAnimation","animates","_animateRun","_nvueNextAnimate","isEnd","animationData","export","durationTime","animateTypes2","animateTypes3"],"mappings":"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AI,GAAI6R,GACtBngE,EAASkgE,EAAOl5D,KAAK2wD,MAAM3wD,KAAK4rD,IAAI6L,EAAM9M,EAAKlkB,KAASA,GAK5D,OAJIkkB,EAAM,GAAgB,IAAX3xD,IACbA,EAASy+D,EAAMz+D,GAAS,IAGnBA,EAQF,SAASogE,IAAoC,IAAbjG,IAAO,UAAH,+CACzCwE,EAAyBxE,EAC1B,MAGc,CACbsE,QACAuB,OACAC,QACAC,SACAvI,QACAyI,0BACD,a,gBCrKD,IAAIn4C,EAAiBC,EAAQ,GACzB0C,EAAkB1C,EAAQ,IAC1BE,EAA6BF,EAAQ,GACrCG,EAAkBH,EAAQ,IAC9B,SAASm4C,EAASngD,GAChB,OAAO+H,EAAe/H,IAAQ0K,EAAgB1K,IAAQkI,EAA2BlI,IAAQmI,IAE3FR,EAAOC,QAAUu4C,EAAUx4C,EAAOC,QAAQE,YAAa,EAAMH,EAAOC,QAAQ,WAAaD,EAAOC,S,+FCNhG,IAAMla,EAAU,SAIfoF,QAAQ8mC,IAAI,gBAAD,OAAiBlsC,EAAO,iCAAiC,2EACpE,MAEc,CACXnE,EAAGmE,EACHA,UAEA0H,KAAM,CACF,UACA,UACA,OACA,QACA,WAGJkqC,MAAO,CACH,YAAa,UACb,YAAa,UACb,YAAa,UACb,UAAW,UACX,SAAU,UACV,eAAgB,UAChB,kBAAmB,UACnB,eAAgB,UAChB,gBAAiB,WAGxB6a,KAAM,MACN,a,yHC5BD,WAEA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aAAmC,+kBAI/BzoC,UADA4tB,MADJ,IAEU,8QAGH8gB,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACA9Q,WACA+Q,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAtI,WACAqE,WACAD,WACAmE,WACAC,WACAC,WACAnF,WACAlD,WACAsI,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACA1yC,WACA2yC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,WACAC,YACAzsC,YACA0sC,YACAC,YACAC,YACAzkE,YACA0kE,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAC,YACAnuC,YACA1K,YACA84C,YACAnI,YACAoI,YACAC,YACAC,YACAC,YAAM,c,+FC5Lb,MASe,CAEX3E,YAAa,CACT56C,MAAM,EACNlU,MAAO,GACP0zD,YAAa,GACbC,QAAS,iBAAM,IACfviE,MAAO,GACPwiE,WAAY,GACZC,oBAAoB,EACpBC,qBAAqB,EACrBC,SAAU,GACVC,qBAAqB,EACrB7N,MAAO,IAEd,a,+FCxBD,MASe,CAEX4I,MAAO,CACHj0D,KAAM,iBAAM,IACZm5D,QAAS,GACTC,WAAY,IACZC,aAAc,GACdC,MAAO,EACPC,WAAY,cACZC,aAAc,aACdC,SAAU,EACVC,kBAAkB,EAClBC,SAAU,EACVC,UAAU,IAEjB,a,+FCxBD,MASe,CAEX1F,MAAO,CACHhvD,MAAO,GACP8D,KAAM,UACN4vD,YAAa,GACbiB,UAAU,EACVC,UAAU,EACVC,OAAQ,QACR7jD,QAAQ,EACR8jD,SAAU,KAEjB,a,+FCrBD,MASe,CAEX7F,OAAQ,CACJtnC,IAAK,GACLotC,MAAO,SACP1gD,KAAM,GACNuG,KAAM,cACNL,KAAM,GACNy6C,QAAS,UACThn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AAE,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAIC,GAAG,CAAC,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,KAAKC,GAAG,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,EAAE,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAWC,GAAG,CAAC,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,EAAE,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,SAAS,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAWC,GAAG,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,SAAS,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,SAAS,WAAW,UAAU,WAAW,UAAU,WAAW,SAAS,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,EAAE,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAWC,GAAG,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,SAAS,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,SAAS,WAAW,UAAU,WAAW,UAAU,WAAW,SAAS,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,EAAE,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW1zD,GAAG,CAAC,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,SAAS,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,EAAE,UAAU,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,YAAY2zD,GAAG,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,EAAE,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,SAAS,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,SAAS,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,YAAYC,GAAG,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,SAAS,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,EAAE,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,YAAYC,GAAG,CAAC,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,SAAS,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,SAAS,WAAW,SAAS,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,SAAS,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,EAAE,WAAW,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,YAAYC,GAAG,CAAC,EAAE,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,SAAS,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,SAAS,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,SAAS,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,SAAS,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,SAAS,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,YAAYC,GAAG,CAAC,EAAE,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,SAAS,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,SAAS,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,SAAS,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,SAAS,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,YAAYC,GAAG,CAAC,EAAE,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,UAAU,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,SAAS,UAAU,UAAU,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,SAAS,UAAU,UAAU,WAAW,UAAU,UAAU,UAAU,UAAU,SAAS,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,YAAYC,GAAG,CAAC,EAAE,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW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","file":"common/vendor.js","sourcesContent":["const objectKeys = [\r\n 'qy',\r\n 'env',\r\n 'error',\r\n 'version',\r\n 'lanDebug',\r\n 'cloud',\r\n 'serviceMarket',\r\n 'router',\r\n 'worklet',\r\n '__webpack_require_UNI_MP_PLUGIN__'\r\n]\r\nconst singlePageDisableKey = [\r\n 'lanDebug',\r\n 'router',\r\n 'worklet'\r\n]\r\nconst target = typeof globalThis !== 'undefined' ? globalThis : (function () {\r\n return this\r\n})()\r\n\r\nconst key = ['w', 'x'].join('')\r\nconst oldWx = target[key]\r\nconst launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null\r\n\r\nfunction isWxKey (key) {\r\n if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {\r\n return false\r\n }\r\n return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function'\r\n}\r\n\r\nfunction initWx () {\r\n const newWx = {}\r\n for (const key in oldWx) {\r\n if (isWxKey(key)) {\r\n // TODO wrapper function\r\n newWx[key] = oldWx[key]\r\n }\r\n }\r\n return newWx\r\n}\r\ntarget[key] = initWx()\r\nexport default target[key]\r\n","import { initVueI18n } from '@dcloudio/uni-i18n';\r\nimport Vue from 'vue';\r\n\r\nlet realAtob;\r\n\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\r\n\r\nif (typeof atob !== 'function') {\r\n realAtob = function (str) {\r\n str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\r\n if (!b64re.test(str)) { throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\") }\r\n\r\n // Adding the padding if missing, for semplicity\r\n str += '=='.slice(2 - (str.length & 3));\r\n var bitmap; var result = ''; var r1; var r2; var i = 0;\r\n for (; i < str.length;) {\r\n bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |\r\n (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));\r\n\r\n result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255)\r\n : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255)\r\n : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);\r\n }\r\n return result\r\n };\r\n} else {\r\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n realAtob = atob;\r\n}\r\n\r\nfunction b64DecodeUnicode (str) {\r\n return decodeURIComponent(realAtob(str).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\r\n }).join(''))\r\n}\r\n\r\nfunction getCurrentUserInfo () {\r\n const token = ( wx).getStorageSync('uni_id_token') || '';\r\n const tokenArr = token.split('.');\r\n if (!token || tokenArr.length !== 3) {\r\n return {\r\n uid: null,\r\n role: [],\r\n permission: [],\r\n tokenExpired: 0\r\n }\r\n }\r\n let userInfo;\r\n try {\r\n userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\r\n } catch (error) {\r\n throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message)\r\n }\r\n userInfo.tokenExpired = userInfo.exp * 1000;\r\n delete userInfo.exp;\r\n delete userInfo.iat;\r\n return userInfo\r\n}\r\n\r\nfunction uniIdMixin (Vue) {\r\n Vue.prototype.uniIDHasRole = function (roleId) {\r\n const {\r\n role\r\n } = getCurrentUserInfo();\r\n return role.indexOf(roleId) > -1\r\n };\r\n Vue.prototype.uniIDHasPermission = function (permissionId) {\r\n const {\r\n permission\r\n } = getCurrentUserInfo();\r\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1\r\n };\r\n Vue.prototype.uniIDTokenValid = function () {\r\n const {\r\n tokenExpired\r\n } = getCurrentUserInfo();\r\n return tokenExpired > Date.now()\r\n };\r\n}\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n return typeof str === 'string'\r\n}\r\n\r\nfunction isObject (obj) {\r\n return obj !== null && typeof obj === 'object'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () {}\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn (str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str))\r\n }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nfunction sortObject (obj) {\r\n const sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj).sort().forEach(key => {\r\n sortObj[key] = obj[key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj\r\n}\r\n\r\nconst HOOKS = [\r\n 'invoke',\r\n 'success',\r\n 'fail',\r\n 'complete',\r\n 'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : Array.isArray(childVal)\r\n ? childVal : [childVal]\r\n : parentVal;\r\n return res\r\n ? dedupeHooks(res)\r\n : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n const index = hooks.indexOf(hook);\r\n if (index !== -1) {\r\n hooks.splice(index, 1);\r\n }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n if (!interceptor || !option) {\r\n return\r\n }\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n removeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n if (typeof method === 'string' && isPlainObject(option)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n } else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n if (typeof method === 'string') {\r\n if (isPlainObject(option)) {\r\n removeInterceptorHook(scopedInterceptors[method], option);\r\n } else {\r\n delete scopedInterceptors[method];\r\n }\r\n } else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction wrapperHook (hook, params) {\r\n return function (data) {\r\n return hook(data, params) || data\r\n }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data, params) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.resolve(wrapperHook(hook, params));\r\n } else {\r\n const res = hook(data, params);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then () { }\r\n }\r\n }\r\n }\r\n }\r\n return promise || {\r\n then (callback) {\r\n return callback(data)\r\n }\r\n }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n ['success', 'fail', 'complete'].forEach(name => {\r\n if (Array.isArray(interceptor[name])) {\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor (res) {\r\n queue(interceptor[name], res, options).then((res) => {\r\n /* eslint-disable no-mixed-operators */\r\n return isFn(oldCallback) && oldCallback(res) || res\r\n });\r\n };\r\n }\r\n });\r\n return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n const returnValueHooks = [];\r\n if (Array.isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach(hook => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (Array.isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor\r\n return api(\r\n wrapperOptions(getApiInterceptorHooks(method), options),\r\n ...params\r\n )\r\n })\r\n } else {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n }\r\n }\r\n return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n returnValue (res) {\r\n if (!isPromise(res)) {\r\n return res\r\n }\r\n return new Promise((resolve, reject) => {\r\n res.then(res => {\r\n if (res[0]) {\r\n reject(res[0]);\r\n } else {\r\n resolve(res[1]);\r\n }\r\n });\r\n })\r\n }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n /^\\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\n\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection', 'createPushMessage'];\r\n\r\nconst CALLBACK_API_RE = /^on|^off/;\r\n\r\nfunction isContextApi (name) {\r\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\r\n}\r\nfunction isSyncApi (name) {\r\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n return promise.then(data => {\r\n return [null, data]\r\n })\r\n .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n if (\r\n isContextApi(name) ||\r\n isSyncApi(name) ||\r\n isCallbackApi(name)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (callback) {\r\n const promise = this.constructor;\r\n return this.then(\r\n value => promise.resolve(callback()).then(() => value),\r\n reason => promise.resolve(callback()).then(() => {\r\n throw reason\r\n })\r\n )\r\n };\r\n}\r\n\r\nfunction promisify (name, api) {\r\n if (!shouldPromise(name) || !isFn(api)) {\r\n return api\r\n }\r\n return function promiseApi (options = {}, ...params) {\r\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, Object.assign({}, options, {\r\n success: resolve,\r\n fail: reject\r\n }), ...params);\r\n })))\r\n }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n const {\r\n platform,\r\n pixelRatio,\r\n windowWidth\r\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0\r\n }\r\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n result = 1;\r\n } else {\r\n result = 0.5;\r\n }\r\n }\r\n return number < 0 ? -result : result\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\n\r\nconst messages = {};\r\n\r\nlet locale;\r\n\r\n{\r\n locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;\r\n}\r\n\r\nfunction initI18nMessages () {\r\n if (!isEnableLocale()) {\r\n return\r\n }\r\n const localeKeys = Object.keys(__uniConfig.locales);\r\n if (localeKeys.length) {\r\n localeKeys.forEach((locale) => {\r\n const curMessages = messages[locale];\r\n const userMessages = __uniConfig.locales[locale];\r\n if (curMessages) {\r\n Object.assign(curMessages, userMessages);\r\n } else {\r\n messages[locale] = userMessages;\r\n }\r\n });\r\n }\r\n}\r\n\r\ninitI18nMessages();\r\n\r\nconst i18n = initVueI18n(\r\n locale,\r\n {}\r\n);\r\nconst t = i18n.t;\r\nconst i18nMixin = (i18n.mixin = {\r\n beforeCreate () {\r\n const unwatch = i18n.i18n.watchLocale(() => {\r\n this.$forceUpdate();\r\n });\r\n this.$once('hook:beforeDestroy', function () {\r\n unwatch();\r\n });\r\n },\r\n methods: {\r\n $$t (key, values) {\r\n return t(key, values)\r\n }\r\n }\r\n});\r\nconst setLocale = i18n.setLocale;\r\nconst getLocale = i18n.getLocale;\r\n\r\nfunction initAppLocale (Vue, appVm, locale) {\r\n const state = Vue.observable({\r\n locale: locale || i18n.getLocale()\r\n });\r\n const localeWatchers = [];\r\n appVm.$watchLocale = fn => {\r\n localeWatchers.push(fn);\r\n };\r\n Object.defineProperty(appVm, '$locale', {\r\n get () {\r\n return state.locale\r\n },\r\n set (v) {\r\n state.locale = v;\r\n localeWatchers.forEach(watch => watch(v));\r\n }\r\n });\r\n}\r\n\r\nfunction isEnableLocale () {\r\n return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length\r\n}\r\n\r\nfunction include (str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1)\r\n}\r\n\r\nfunction startsWith (str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0)\r\n}\r\n\r\nfunction normalizeLocale (locale, messages) {\r\n if (!locale) {\r\n return\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale === 'chinese') {\r\n // 支付宝\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT\r\n }\r\n return LOCALE_ZH_HANS\r\n }\r\n const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\r\n if (lang) {\r\n return lang\r\n }\r\n}\r\n// export function initI18n() {\r\n// const localeKeys = Object.keys(__uniConfig.locales || {})\r\n// if (localeKeys.length) {\r\n// localeKeys.forEach((locale) =>\r\n// i18n.add(locale, __uniConfig.locales[locale])\r\n// )\r\n// }\r\n// }\r\n\r\nfunction getLocale$1 () {\r\n // 优先使用 $locale\r\n if (isFn(getApp)) {\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n if (app && app.$vm) {\r\n return app.$vm.$locale\r\n }\r\n }\r\n return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN\r\n}\r\n\r\nfunction setLocale$1 (locale) {\r\n const app = isFn(getApp) ? getApp() : false;\r\n if (!app) {\r\n return false\r\n }\r\n const oldLocale = app.$vm.$locale;\r\n if (oldLocale !== locale) {\r\n app.$vm.$locale = locale;\r\n onLocaleChangeCallbacks.forEach((fn) => fn({\r\n locale\r\n }));\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nconst onLocaleChangeCallbacks = [];\r\nfunction onLocaleChange (fn) {\r\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n onLocaleChangeCallbacks.push(fn);\r\n }\r\n}\r\n\r\nif (typeof global !== 'undefined') {\r\n global.getLocale = getLocale$1;\r\n}\r\n\r\nconst interceptors = {\r\n promiseInterceptor\r\n};\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n upx2px: upx2px,\r\n getLocale: getLocale$1,\r\n setLocale: setLocale$1,\r\n onLocaleChange: onLocaleChange,\r\n addInterceptor: addInterceptor,\r\n removeInterceptor: removeInterceptor,\r\n interceptors: interceptors\r\n});\r\n\r\nfunction findExistsPageIndex (url) {\r\n const pages = getCurrentPages();\r\n let len = pages.length;\r\n while (len--) {\r\n const page = pages[len];\r\n if (page.$page && page.$page.fullPath === url) {\r\n return len\r\n }\r\n }\r\n return -1\r\n}\r\n\r\nvar redirectTo = {\r\n name (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.delta) {\r\n return 'navigateBack'\r\n }\r\n return 'redirectTo'\r\n },\r\n args (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.url) {\r\n const existsPageIndex = findExistsPageIndex(fromArgs.url);\r\n if (existsPageIndex !== -1) {\r\n const delta = getCurrentPages().length - 1 - existsPageIndex;\r\n if (delta > 0) {\r\n fromArgs.delta = delta;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nvar previewImage = {\r\n args (fromArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return\r\n }\r\n const urls = fromArgs.urls;\r\n if (!Array.isArray(urls)) {\r\n return\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n } else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n fromArgs.current = urls[currentIndex];\r\n fromArgs.urls = urls.filter(\r\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n );\r\n } else {\r\n fromArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false\r\n }\r\n }\r\n};\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId (result) {\r\n deviceId = deviceId || wx.getStorageSync(UUID_KEY);\r\n if (!deviceId) {\r\n deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n wx.setStorage({\r\n key: UUID_KEY,\r\n data: deviceId\r\n });\r\n }\r\n result.deviceId = deviceId;\r\n}\r\n\r\nfunction addSafeAreaInsets (result) {\r\n if (result.safeArea) {\r\n const safeArea = result.safeArea;\r\n result.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: result.windowWidth - safeArea.right,\r\n bottom: result.screenHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\n\r\nfunction populateParameters (result) {\r\n const {\r\n brand = '', model = '', system = '',\r\n language = '', theme, version,\r\n platform, fontSizeSetting,\r\n SDKVersion, pixelRatio, deviceOrientation\r\n } = result;\r\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n\r\n const extraParam = {};\r\n\r\n // osName osVersion\r\n let osName = '';\r\n let osVersion = '';\r\n {\r\n osName = system.split(' ')[0] || '';\r\n osVersion = system.split(' ')[1] || '';\r\n }\r\n let hostVersion = version;\r\n\r\n // deviceType\r\n const deviceType = getGetDeviceType(result, model);\r\n\r\n // deviceModel\r\n const deviceBrand = getDeviceBrand(brand);\r\n\r\n // hostName\r\n const _hostName = getHostName(result);\r\n\r\n // deviceOrientation\r\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n\r\n // devicePixelRatio\r\n let _devicePixelRatio = pixelRatio;\r\n\r\n // SDKVersion\r\n let _SDKVersion = SDKVersion;\r\n\r\n // hostLanguage\r\n const hostLanguage = language.replace(/_/g, '-');\r\n\r\n // wx.getAccountInfoSync\r\n\r\n const parameters = {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n deviceBrand,\r\n deviceModel: model,\r\n deviceType,\r\n devicePixelRatio: _devicePixelRatio,\r\n deviceOrientation: _deviceOrientation,\r\n osName: osName.toLocaleLowerCase(),\r\n osVersion,\r\n hostTheme: theme,\r\n hostVersion,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: _SDKVersion,\r\n hostFontSizeSetting: fontSizeSetting,\r\n windowTop: 0,\r\n windowBottom: 0,\r\n // TODO\r\n osLanguage: undefined,\r\n osTheme: undefined,\r\n ua: undefined,\r\n hostPackageName: undefined,\r\n browserName: undefined,\r\n browserVersion: undefined\r\n };\r\n\r\n Object.assign(result, parameters, extraParam);\r\n}\r\n\r\nfunction getGetDeviceType (result, model) {\r\n let deviceType = result.deviceType || 'phone';\r\n {\r\n const deviceTypeMaps = {\r\n ipad: 'pad',\r\n windows: 'pc',\r\n mac: 'pc'\r\n };\r\n const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\r\n const _model = model.toLocaleLowerCase();\r\n for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\r\n const _m = deviceTypeMapsKeys[index];\r\n if (_model.indexOf(_m) !== -1) {\r\n deviceType = deviceTypeMaps[_m];\r\n break\r\n }\r\n }\r\n }\r\n return deviceType\r\n}\r\n\r\nfunction getDeviceBrand (brand) {\r\n let deviceBrand = brand;\r\n if (deviceBrand) {\r\n deviceBrand = brand.toLocaleLowerCase();\r\n }\r\n return deviceBrand\r\n}\r\n\r\nfunction getAppLanguage (defaultLanguage) {\r\n return getLocale$1\r\n ? getLocale$1()\r\n : defaultLanguage\r\n}\r\n\r\nfunction getHostName (result) {\r\n const _platform = 'WeChat' ;\r\n let _hostName = result.hostName || _platform; // mp-jd\r\n {\r\n if (result.environment) {\r\n _hostName = result.environment;\r\n } else if (result.host && result.host.env) {\r\n _hostName = result.host.env;\r\n }\r\n }\r\n\r\n return _hostName\r\n}\r\n\r\nvar getSystemInfo = {\r\n returnValue: function (result) {\r\n useDeviceId(result);\r\n addSafeAreaInsets(result);\r\n populateParameters(result);\r\n }\r\n};\r\n\r\nvar showActionSheet = {\r\n args (fromArgs) {\r\n if (typeof fromArgs === 'object') {\r\n fromArgs.alertText = fromArgs.title;\r\n }\r\n }\r\n};\r\n\r\nvar getAppBaseInfo = {\r\n returnValue: function (result) {\r\n const { version, language, SDKVersion, theme } = result;\r\n\r\n const _hostName = getHostName(result);\r\n\r\n const hostLanguage = language.replace('_', '-');\r\n\r\n result = sortObject(Object.assign(result, {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n hostVersion: version,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: SDKVersion,\r\n hostTheme: theme\r\n }));\r\n }\r\n};\r\n\r\nvar getDeviceInfo = {\r\n returnValue: function (result) {\r\n const { brand, model } = result;\r\n const deviceType = getGetDeviceType(result, model);\r\n const deviceBrand = getDeviceBrand(brand);\r\n useDeviceId(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n deviceType,\r\n deviceBrand,\r\n deviceModel: model\r\n }));\r\n }\r\n};\r\n\r\nvar getWindowInfo = {\r\n returnValue: function (result) {\r\n addSafeAreaInsets(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n windowTop: 0,\r\n windowBottom: 0\r\n }));\r\n }\r\n};\r\n\r\nvar getAppAuthorizeSetting = {\r\n returnValue: function (result) {\r\n const { locationReducedAccuracy } = result;\r\n\r\n result.locationAccuracy = 'unsupported';\r\n if (locationReducedAccuracy === true) {\r\n result.locationAccuracy = 'reduced';\r\n } else if (locationReducedAccuracy === false) {\r\n result.locationAccuracy = 'full';\r\n }\r\n }\r\n};\r\n\r\n// import navigateTo from 'uni-helpers/navigate-to'\r\n\r\nconst compressImage = {\r\n args (fromArgs) {\r\n // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\r\n if (fromArgs.compressedHeight && !fromArgs.compressHeight) {\r\n fromArgs.compressHeight = fromArgs.compressedHeight;\r\n }\r\n if (fromArgs.compressedWidth && !fromArgs.compressWidth) {\r\n fromArgs.compressWidth = fromArgs.compressedWidth;\r\n }\r\n }\r\n};\r\n\r\nconst protocols = {\r\n redirectTo,\r\n // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP\r\n previewImage,\r\n getSystemInfo,\r\n getSystemInfoSync: getSystemInfo,\r\n showActionSheet,\r\n getAppBaseInfo,\r\n getDeviceInfo,\r\n getWindowInfo,\r\n getAppAuthorizeSetting,\r\n compressImage\r\n};\r\nconst todos = [\r\n 'vibrate',\r\n 'preloadPage',\r\n 'unPreloadPage',\r\n 'loadSubPackage'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue))\r\n }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFn(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (const key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFn(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) { // 不支持的参数\r\n console.warn(`The '${methodName}' method of platform '微信小程序' does not support option '${key}'`);\r\n } else if (isStr(keyOption)) { // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n } else if (CALLBACKS.indexOf(key) !== -1) {\r\n if (isFn(fromArgs[key])) {\r\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n }\r\n } else {\r\n if (!keepFromArgs) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs\r\n } else if (isFn(fromArgs)) {\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n if (hasOwn(protocols, methodName)) {\r\n const protocol = protocols[methodName];\r\n if (!protocol) { // 暂不支持的 api\r\n return function () {\r\n console.error(`Platform '微信小程序' does not support '${methodName}'.`);\r\n }\r\n }\r\n return function (arg1, arg2) { // 目前 api 最多两个参数\r\n let options = protocol;\r\n if (isFn(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n if (isFn(options.name)) {\r\n methodName = options.name(arg1);\r\n } else if (isStr(options.name)) {\r\n methodName = options.name;\r\n }\r\n const returnValue = wx[methodName].apply(wx, args);\r\n if (isSyncApi(methodName)) { // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n }\r\n return returnValue\r\n }\r\n }\r\n return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n 'onTabBarMidButtonTap',\r\n 'subscribePush',\r\n 'unsubscribePush',\r\n 'onPush',\r\n 'offPush',\r\n 'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n return function todoApi ({\r\n fail,\r\n complete\r\n }) {\r\n const res = {\r\n errMsg: `${name}:fail method '${name}' not supported`\r\n };\r\n isFn(fail) && fail(res);\r\n isFn(complete) && complete(res);\r\n }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n service,\r\n success,\r\n fail,\r\n complete\r\n}) {\r\n let res = false;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service]\r\n };\r\n isFn(success) && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getProvider:fail service not found'\r\n };\r\n isFn(fail) && fail(res);\r\n }\r\n isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n let Emitter;\r\n return function getUniEmitter () {\r\n if (!Emitter) {\r\n Emitter = new Vue();\r\n }\r\n return Emitter\r\n }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n $on: $on,\r\n $off: $off,\r\n $once: $once,\r\n $emit: $emit\r\n});\r\n\r\n/**\r\n * 框架内 try-catch\r\n */\r\n/**\r\n * 开发者 try-catch\r\n */\r\nfunction tryCatch (fn) {\r\n return function () {\r\n try {\r\n return fn.apply(fn, arguments)\r\n } catch (e) {\r\n // TODO\r\n console.error(e);\r\n }\r\n }\r\n}\r\n\r\nfunction getApiCallbacks (params) {\r\n const apiCallbacks = {};\r\n for (const name in params) {\r\n const param = params[name];\r\n if (isFn(param)) {\r\n apiCallbacks[name] = tryCatch(param);\r\n delete params[name];\r\n }\r\n }\r\n return apiCallbacks\r\n}\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\n\r\nfunction normalizePushMessage (message) {\r\n try {\r\n return JSON.parse(message)\r\n } catch (e) {}\r\n return message\r\n}\r\n\r\nfunction invokePushCallback (\r\n args\r\n) {\r\n if (args.type === 'enabled') {\r\n enabled = true;\r\n } else if (args.type === 'clientId') {\r\n cid = args.cid;\r\n cidErrMsg = args.errMsg;\r\n invokeGetPushCidCallbacks(cid, args.errMsg);\r\n } else if (args.type === 'pushMsg') {\r\n const message = {\r\n type: 'receive',\r\n data: normalizePushMessage(args.message)\r\n };\r\n for (let i = 0; i < onPushMessageCallbacks.length; i++) {\r\n const callback = onPushMessageCallbacks[i];\r\n callback(message);\r\n // 该消息已被阻止\r\n if (message.stopped) {\r\n break\r\n }\r\n }\r\n } else if (args.type === 'click') {\r\n onPushMessageCallbacks.forEach((callback) => {\r\n callback({\r\n type: 'click',\r\n data: normalizePushMessage(args.message)\r\n });\r\n });\r\n }\r\n}\r\n\r\nconst getPushCidCallbacks = [];\r\n\r\nfunction invokeGetPushCidCallbacks (cid, errMsg) {\r\n getPushCidCallbacks.forEach((callback) => {\r\n callback(cid, errMsg);\r\n });\r\n getPushCidCallbacks.length = 0;\r\n}\r\n\r\nfunction getPushClientId (args) {\r\n if (!isPlainObject(args)) {\r\n args = {};\r\n }\r\n const {\r\n success,\r\n fail,\r\n complete\r\n } = getApiCallbacks(args);\r\n const hasSuccess = isFn(success);\r\n const hasFail = isFn(fail);\r\n const hasComplete = isFn(complete);\r\n\r\n Promise.resolve().then(() => {\r\n if (typeof enabled === 'undefined') {\r\n enabled = false;\r\n cid = '';\r\n cidErrMsg = 'uniPush is not enabled';\r\n }\r\n getPushCidCallbacks.push((cid, errMsg) => {\r\n let res;\r\n if (cid) {\r\n res = {\r\n errMsg: 'getPushClientId:ok',\r\n cid\r\n };\r\n hasSuccess && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')\r\n };\r\n hasFail && fail(res);\r\n }\r\n hasComplete && complete(res);\r\n });\r\n if (typeof cid !== 'undefined') {\r\n invokeGetPushCidCallbacks(cid, cidErrMsg);\r\n }\r\n });\r\n}\r\n\r\nconst onPushMessageCallbacks = [];\r\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\r\nconst onPushMessage = (fn) => {\r\n if (onPushMessageCallbacks.indexOf(fn) === -1) {\r\n onPushMessageCallbacks.push(fn);\r\n }\r\n};\r\n\r\nconst offPushMessage = (fn) => {\r\n if (!fn) {\r\n onPushMessageCallbacks.length = 0;\r\n } else {\r\n const index = onPushMessageCallbacks.indexOf(fn);\r\n if (index > -1) {\r\n onPushMessageCallbacks.splice(index, 1);\r\n }\r\n }\r\n};\r\n\r\nlet baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo();\r\nif (!baseInfo) {\r\n baseInfo = wx.getSystemInfoSync();\r\n}\r\nconst host = baseInfo ? baseInfo.host : null;\r\nconst shareVideoMessage =\r\n host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage;\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n shareVideoMessage: shareVideoMessage,\r\n getPushClientId: getPushClientId,\r\n onPushMessage: onPushMessage,\r\n offPushMessage: offPushMessage,\r\n invokePushCallback: invokePushCallback\r\n});\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n const $children = vm.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm\r\n }\r\n }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction selectAllComponents (mpInstance, selector, $refs) {\r\n const components = mpInstance.selectAllComponents(selector) || [];\r\n components.forEach(component => {\r\n const ref = component.dataset.ref;\r\n $refs[ref] = component.$vm || toSkip(component);\r\n {\r\n if (component.dataset.vueGeneric === 'scoped') {\r\n component.selectAllComponents('.scoped-ref').forEach(scopedComponent => {\r\n selectAllComponents(scopedComponent, selector, $refs);\r\n });\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction syncRefs (refs, newRefs) {\r\n const oldKeys = new Set(...Object.keys(refs));\r\n const newKeys = Object.keys(newRefs);\r\n newKeys.forEach(key => {\r\n const oldValue = refs[key];\r\n const newValue = newRefs[key];\r\n if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(value => oldValue.includes(value))) {\r\n return\r\n }\r\n refs[key] = newValue;\r\n oldKeys.delete(key);\r\n });\r\n oldKeys.forEach(key => {\r\n delete refs[key];\r\n });\r\n return refs\r\n}\r\n\r\nfunction initRefs (vm) {\r\n const mpInstance = vm.$scope;\r\n const refs = {};\r\n Object.defineProperty(vm, '$refs', {\r\n get () {\r\n const $refs = {};\r\n selectAllComponents(mpInstance, '.vue-ref', $refs);\r\n // TODO 暂不考虑 for 中的 scoped\r\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || [];\r\n forComponents.forEach(component => {\r\n const ref = component.dataset.ref;\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || toSkip(component));\r\n });\r\n return syncRefs(refs, $refs)\r\n }\r\n });\r\n}\r\n\r\nfunction handleLink (event) {\r\n const {\r\n vuePid,\r\n vueOptions\r\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n let parentVm;\r\n\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n\r\n vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction markMPComponent (component) {\r\n // 在 Vue 中标记为小程序组件\r\n const IS_MP = '__v_isMPComponent';\r\n Object.defineProperty(component, IS_MP, {\r\n configurable: true,\r\n enumerable: false,\r\n value: true\r\n });\r\n return component\r\n}\r\n\r\nfunction toSkip (obj) {\r\n const OB = '__ob__';\r\n const SKIP = '__v_skip';\r\n if (isObject(obj) && Object.isExtensible(obj)) {\r\n // 避免被 @vue/composition-api 观测\r\n Object.defineProperty(obj, OB, {\r\n configurable: true,\r\n enumerable: false,\r\n value: {\r\n [SKIP]: true\r\n }\r\n });\r\n }\r\n return obj\r\n}\r\n\r\nconst WORKLET_RE = /_(.*)_worklet_factory_/;\r\nfunction initWorkletMethods (mpMethods, vueMethods) {\r\n if (vueMethods) {\r\n Object.keys(vueMethods).forEach((name) => {\r\n const matches = name.match(WORKLET_RE);\r\n if (matches) {\r\n const workletName = matches[1];\r\n mpMethods[name] = vueMethods[name];\r\n mpMethods[workletName] = vueMethods[workletName];\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n const newTriggerEvent = function (event, ...args) {\r\n // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件\r\n if (this.$vm || (this.dataset && this.dataset.comType)) {\r\n event = customize(event);\r\n } else {\r\n // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目\r\n const newEvent = customize(event);\r\n if (newEvent !== event) {\r\n oldTriggerEvent.apply(this, [newEvent, ...args]);\r\n }\r\n }\r\n return oldTriggerEvent.apply(this, [event, ...args])\r\n };\r\n try {\r\n // 京东小程序 triggerEvent 为只读\r\n mpInstance.triggerEvent = newTriggerEvent;\r\n } catch (error) {\r\n mpInstance._triggerEvent = newTriggerEvent;\r\n }\r\n}\r\n\r\nfunction initHook (name, options, isComponent) {\r\n const oldHook = options[name];\r\n options[name] = function (...args) {\r\n markMPComponent(this);\r\n initTriggerEvent(this);\r\n if (oldHook) {\r\n return oldHook.apply(this, args)\r\n }\r\n };\r\n}\r\nif (!MPPage.__$wrappered) {\r\n MPPage.__$wrappered = true;\r\n Page = function (options = {}) {\r\n initHook('onLoad', options);\r\n return MPPage(options)\r\n };\r\n Page.after = MPPage.after;\r\n\r\n Component = function (options = {}) {\r\n initHook('created', options);\r\n return MPComponent(options)\r\n };\r\n}\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onPageScroll',\r\n 'onResize',\r\n 'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n const mpInstance = vm.$mp[vm.mpType];\r\n mocks.forEach(mock => {\r\n if (hasOwn(mpInstance, mock)) {\r\n vm[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n if (!vueOptions) {\r\n return true\r\n }\r\n\r\n if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n return true\r\n }\r\n\r\n vueOptions = vueOptions.default || vueOptions;\r\n\r\n if (isFn(vueOptions)) {\r\n if (isFn(vueOptions.extendOptions[hook])) {\r\n return true\r\n }\r\n if (vueOptions.super &&\r\n vueOptions.super.options &&\r\n Array.isArray(vueOptions.super.options[hook])) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) {\r\n return true\r\n }\r\n const mixins = vueOptions.mixins;\r\n if (Array.isArray(mixins)) {\r\n return !!mixins.find(mixin => hasHook(hook, mixin))\r\n }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n hooks.forEach(hook => {\r\n if (hasHook(hook, vueOptions)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n });\r\n}\r\n\r\nfunction initUnknownHooks (mpOptions, vueOptions, excludes = []) {\r\n findHooks(vueOptions).forEach((hook) => initHook$1(mpOptions, hook, excludes));\r\n}\r\n\r\nfunction findHooks (vueOptions, hooks = []) {\r\n if (vueOptions) {\r\n Object.keys(vueOptions).forEach((name) => {\r\n if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {\r\n hooks.push(name);\r\n }\r\n });\r\n }\r\n return hooks\r\n}\r\n\r\nfunction initHook$1 (mpOptions, hook, excludes) {\r\n if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n let VueComponent;\r\n if (isFn(vueOptions)) {\r\n VueComponent = vueOptions;\r\n } else {\r\n VueComponent = Vue.extend(vueOptions);\r\n }\r\n vueOptions = VueComponent.options;\r\n return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n if (Array.isArray(vueSlots) && vueSlots.length) {\r\n const $slots = Object.create(null);\r\n vueSlots.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n vm.$scopedSlots = vm.$slots = $slots;\r\n }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n vueIds = (vueIds || '').split(',');\r\n const len = vueIds.length;\r\n\r\n if (len === 1) {\r\n mpInstance._$vueId = vueIds[0];\r\n } else if (len === 2) {\r\n mpInstance._$vueId = vueIds[0];\r\n mpInstance._$vuePid = vueIds[1];\r\n }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n let data = vueOptions.data || {};\r\n const methods = vueOptions.methods || {};\r\n\r\n if (typeof data === 'function') {\r\n try {\r\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n }\r\n }\r\n } else {\r\n try {\r\n // 对 data 格式化\r\n data = JSON.parse(JSON.stringify(data));\r\n } catch (e) { }\r\n }\r\n\r\n if (!isPlainObject(data)) {\r\n data = {};\r\n }\r\n\r\n Object.keys(methods).forEach(methodName => {\r\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n data[methodName] = methods[methodName];\r\n }\r\n });\r\n\r\n return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n return function observer (newVal, oldVal) {\r\n if (this.$vm) {\r\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n }\r\n }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n const vueExtends = vueOptions.extends;\r\n const vueMixins = vueOptions.mixins;\r\n\r\n let vueProps = vueOptions.props;\r\n\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n\r\n const behaviors = [];\r\n if (Array.isArray(vueBehaviors)) {\r\n vueBehaviors.forEach(behavior => {\r\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n if (behavior === 'uni://form-field') {\r\n if (Array.isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('value');\r\n } else {\r\n vueProps.name = {\r\n type: String,\r\n default: ''\r\n };\r\n vueProps.value = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: ''\r\n };\r\n }\r\n }\r\n });\r\n }\r\n if (isPlainObject(vueExtends) && vueExtends.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueExtends.props, true)\r\n })\r\n );\r\n }\r\n if (Array.isArray(vueMixins)) {\r\n vueMixins.forEach(vueMixin => {\r\n if (isPlainObject(vueMixin) && vueMixin.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueMixin.props, true)\r\n })\r\n );\r\n }\r\n });\r\n }\r\n return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n // [String]=>String\r\n if (Array.isArray(type) && type.length === 1) {\r\n return type[0]\r\n }\r\n return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '', options) {\r\n const properties = {};\r\n if (!isBehavior) {\r\n properties.vueId = {\r\n type: String,\r\n value: ''\r\n };\r\n {\r\n if ( options.virtualHost) {\r\n properties.virtualHostStyle = {\r\n type: null,\r\n value: ''\r\n };\r\n properties.virtualHostClass = {\r\n type: null,\r\n value: ''\r\n };\r\n }\r\n }\r\n // scopedSlotsCompiler auto\r\n properties.scopedSlotsCompiler = {\r\n type: String,\r\n value: ''\r\n };\r\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n type: null,\r\n value: [],\r\n observer: function (newVal, oldVal) {\r\n const $slots = Object.create(null);\r\n newVal.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots\r\n });\r\n }\r\n };\r\n }\r\n if (Array.isArray(props)) { // ['title']\r\n props.forEach(key => {\r\n properties[key] = {\r\n type: null,\r\n observer: createObserver(key)\r\n };\r\n });\r\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n Object.keys(props).forEach(key => {\r\n const opts = props[key];\r\n if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFn(value)) {\r\n value = value();\r\n }\r\n\r\n opts.type = parsePropType(key, opts.type);\r\n\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n value,\r\n observer: createObserver(key)\r\n };\r\n } else { // content:String\r\n const type = parsePropType(key, opts);\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n observer: createObserver(key)\r\n };\r\n }\r\n });\r\n }\r\n return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n // TODO 又得兼容 mpvue 的 mp 对象\r\n try {\r\n event.mp = JSON.parse(JSON.stringify(event));\r\n } catch (e) { }\r\n\r\n event.stopPropagation = noop;\r\n event.preventDefault = noop;\r\n\r\n event.target = event.target || {};\r\n\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\r\n }\r\n\r\n if (hasOwn(event, 'markerId')) {\r\n event.detail = typeof event.detail === 'object' ? event.detail : {};\r\n event.detail.markerId = event.markerId;\r\n }\r\n\r\n if (isPlainObject(event.detail)) {\r\n event.target = Object.assign({}, event.target, event.detail);\r\n }\r\n\r\n return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n let context = vm;\r\n dataPathsArray.forEach(dataPathArray => {\r\n const dataPath = dataPathArray[0];\r\n const value = dataPathArray[2];\r\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n const propPath = dataPathArray[1];\r\n const valuePath = dataPathArray[3];\r\n\r\n let vFor;\r\n if (Number.isInteger(dataPath)) {\r\n vFor = dataPath;\r\n } else if (!dataPath) {\r\n vFor = context;\r\n } else if (typeof dataPath === 'string' && dataPath) {\r\n if (dataPath.indexOf('#s#') === 0) {\r\n vFor = dataPath.substr(3);\r\n } else {\r\n vFor = vm.__get_value(dataPath, context);\r\n }\r\n }\r\n\r\n if (Number.isInteger(vFor)) {\r\n context = value;\r\n } else if (!propPath) {\r\n context = vFor[value];\r\n } else {\r\n if (Array.isArray(vFor)) {\r\n context = vFor.find(vForItem => {\r\n return vm.__get_value(propPath, vForItem) === value\r\n });\r\n } else if (isPlainObject(vFor)) {\r\n context = Object.keys(vFor).find(vForKey => {\r\n return vm.__get_value(propPath, vFor[vForKey]) === value\r\n });\r\n } else {\r\n console.error('v-for 暂不支持循环数据:', vFor);\r\n }\r\n }\r\n\r\n if (valuePath) {\r\n context = vm.__get_value(valuePath, context);\r\n }\r\n }\r\n });\r\n return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event, __args__) {\r\n const extraObj = {};\r\n\r\n if (Array.isArray(extra) && extra.length) {\r\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\r\n extra.forEach((dataPath, index) => {\r\n if (typeof dataPath === 'string') {\r\n if (!dataPath) { // model,prop.sync\r\n extraObj['$' + index] = vm;\r\n } else {\r\n if (dataPath === '$event') { // $event\r\n extraObj['$' + index] = event;\r\n } else if (dataPath === 'arguments') {\r\n extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;\r\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n } else {\r\n extraObj['$' + index] = vm.__get_value(dataPath);\r\n }\r\n }\r\n } else {\r\n extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n }\r\n });\r\n }\r\n\r\n return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n const obj = {};\r\n for (let i = 1; i < arr.length; i++) {\r\n const element = arr[i];\r\n obj[element[0]] = element[1];\r\n }\r\n return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n\r\n // fixed 用户直接触发 mpInstance.triggerEvent\r\n const __args__ = isPlainObject(event.detail)\r\n ? event.detail.__args__ || [event.detail]\r\n : [event.detail];\r\n\r\n if (isCustom) { // 自定义事件\r\n isCustomMPEvent = event.currentTarget &&\r\n event.currentTarget.dataset &&\r\n event.currentTarget.dataset.comType === 'wx';\r\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n if (isCustomMPEvent) {\r\n return [event]\r\n }\r\n return __args__\r\n }\r\n }\r\n\r\n const extraObj = processEventExtra(vm, extra, event, __args__);\r\n\r\n const ret = [];\r\n args.forEach(arg => {\r\n if (arg === '$event') {\r\n if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n ret.push(event.target.value);\r\n } else {\r\n if (isCustom && !isCustomMPEvent) {\r\n ret.push(__args__[0]);\r\n } else { // wxcomponent 组件或内置组件\r\n ret.push(event);\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(arg) && arg[0] === 'o') {\r\n ret.push(getObjByArray(arg));\r\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n ret.push(extraObj[arg]);\r\n } else {\r\n ret.push(arg);\r\n }\r\n }\r\n });\r\n\r\n return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n return (eventType === optType) ||\r\n (\r\n optType === 'regionchange' &&\r\n (\r\n eventType === 'begin' ||\r\n eventType === 'end'\r\n )\r\n )\r\n}\r\n\r\nfunction getContextVm (vm) {\r\n let $parent = vm.$parent;\r\n // 父组件是 scoped slots 或者其他自定义组件时继续查找\r\n while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\r\n $parent = $parent.$parent;\r\n }\r\n return $parent && $parent.$parent\r\n}\r\n\r\nfunction handleEvent (event) {\r\n event = wrapper$1(event);\r\n\r\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n const dataset = (event.currentTarget || event.target).dataset;\r\n if (!dataset) {\r\n return console.warn('事件信息不存在')\r\n }\r\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n if (!eventOpts) {\r\n return console.warn('事件信息不存在')\r\n }\r\n\r\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n const eventType = event.type;\r\n\r\n const ret = [];\r\n\r\n eventOpts.forEach(eventOpt => {\r\n let type = eventOpt[0];\r\n const eventsArray = eventOpt[1];\r\n\r\n const isCustom = type.charAt(0) === CUSTOM;\r\n type = isCustom ? type.slice(1) : type;\r\n const isOnce = type.charAt(0) === ONCE;\r\n type = isOnce ? type.slice(1) : type;\r\n\r\n if (eventsArray && isMatchEventType(eventType, type)) {\r\n eventsArray.forEach(eventArray => {\r\n const methodName = eventArray[0];\r\n if (methodName) {\r\n let handlerCtx = this.$vm;\r\n if (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n handlerCtx = getContextVm(handlerCtx) || handlerCtx;\r\n }\r\n if (methodName === '$emit') {\r\n handlerCtx.$emit.apply(handlerCtx,\r\n processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n ));\r\n return\r\n }\r\n const handler = handlerCtx[methodName];\r\n if (!isFn(handler)) {\r\n const type = this.$vm.mpType === 'page' ? 'Page' : 'Component';\r\n const path = this.route || this.is;\r\n throw new Error(`${type} \"${path}\" does not have a method \"${methodName}\"`)\r\n }\r\n if (isOnce) {\r\n if (handler.once) {\r\n return\r\n }\r\n handler.once = true;\r\n }\r\n let params = processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n );\r\n params = Array.isArray(params) ? params : [];\r\n // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据\r\n if (/=\\s*\\S+\\.eventParams\\s*\\|\\|\\s*\\S+\\[['\"]event-params['\"]\\]/.test(handler.toString())) {\r\n // eslint-disable-next-line no-sparse-arrays\r\n params = params.concat([, , , , , , , , , , event]);\r\n }\r\n ret.push(handler.apply(handlerCtx, params));\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n eventType === 'input' &&\r\n ret.length === 1 &&\r\n typeof ret[0] !== 'undefined'\r\n ) {\r\n return ret[0]\r\n }\r\n}\r\n\r\nconst eventChannels = {};\r\n\r\nfunction getEventChannel (id) {\r\n const eventChannel = eventChannels[id];\r\n delete eventChannels[id];\r\n return eventChannel\r\n}\r\n\r\nconst hooks = [\r\n 'onShow',\r\n 'onHide',\r\n 'onError',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onUnhandledRejection'\r\n];\r\n\r\nfunction initEventChannel () {\r\n Vue.prototype.getOpenerEventChannel = function () {\r\n // 微信小程序使用自身getOpenerEventChannel\r\n {\r\n return this.$scope.getOpenerEventChannel()\r\n }\r\n };\r\n const callHook = Vue.prototype.__call_hook;\r\n Vue.prototype.__call_hook = function (hook, args) {\r\n if (hook === 'onLoad' && args && args.__id__) {\r\n this.__eventChannel__ = getEventChannel(args.__id__);\r\n delete args.__id__;\r\n }\r\n return callHook.call(this, hook, args)\r\n };\r\n}\r\n\r\nfunction initScopedSlotsParams () {\r\n const center = {};\r\n const parents = {};\r\n\r\n function currentId (fn) {\r\n const vueIds = this.$options.propsData.vueId;\r\n if (vueIds) {\r\n const vueId = vueIds.split(',')[0];\r\n fn(vueId);\r\n }\r\n }\r\n\r\n Vue.prototype.$hasSSP = function (vueId) {\r\n const slot = center[vueId];\r\n if (!slot) {\r\n parents[vueId] = this;\r\n this.$on('hook:destroyed', () => {\r\n delete parents[vueId];\r\n });\r\n }\r\n return slot\r\n };\r\n\r\n Vue.prototype.$getSSP = function (vueId, name, needAll) {\r\n const slot = center[vueId];\r\n if (slot) {\r\n const params = slot[name] || [];\r\n if (needAll) {\r\n return params\r\n }\r\n return params[0]\r\n }\r\n };\r\n\r\n Vue.prototype.$setSSP = function (name, value) {\r\n let index = 0;\r\n currentId.call(this, vueId => {\r\n const slot = center[vueId];\r\n const params = slot[name] = slot[name] || [];\r\n params.push(value);\r\n index = params.length - 1;\r\n });\r\n return index\r\n };\r\n\r\n Vue.prototype.$initSSP = function () {\r\n currentId.call(this, vueId => {\r\n center[vueId] = {};\r\n });\r\n };\r\n\r\n Vue.prototype.$callSSP = function () {\r\n currentId.call(this, vueId => {\r\n if (parents[vueId]) {\r\n parents[vueId].$forceUpdate();\r\n }\r\n });\r\n };\r\n\r\n Vue.mixin({\r\n destroyed () {\r\n const propsData = this.$options.propsData;\r\n const vueId = propsData && propsData.vueId;\r\n if (vueId) {\r\n delete center[vueId];\r\n delete parents[vueId];\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction parseBaseApp (vm, {\r\n mocks,\r\n initRefs\r\n}) {\r\n initEventChannel();\r\n {\r\n initScopedSlotsParams();\r\n }\r\n if (vm.$options.store) {\r\n Vue.prototype.$store = vm.$options.store;\r\n }\r\n uniIdMixin(Vue);\r\n\r\n Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n Vue.mixin({\r\n beforeCreate () {\r\n if (!this.$options.mpType) {\r\n return\r\n }\r\n\r\n this.mpType = this.$options.mpType;\r\n\r\n this.$mp = {\r\n data: {},\r\n [this.mpType]: this.$options.mpInstance\r\n };\r\n\r\n this.$scope = this.$options.mpInstance;\r\n\r\n delete this.$options.mpType;\r\n delete this.$options.mpInstance;\r\n if (\r\n ( this.mpType === 'page') &&\r\n typeof getApp === 'function'\r\n ) { // hack vue-i18n\r\n const app = getApp();\r\n if (app.$vm && app.$vm.$i18n) {\r\n this._i18n = app.$vm.$i18n;\r\n }\r\n }\r\n if (this.mpType !== 'app') {\r\n initRefs(this);\r\n initMocks(this, mocks);\r\n }\r\n }\r\n });\r\n\r\n const appOptions = {\r\n onLaunch (args) {\r\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n return\r\n }\r\n {\r\n if (wx.canIUse && !wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n }\r\n }\r\n\r\n this.$vm = vm;\r\n\r\n this.$vm.$mp = {\r\n app: this\r\n };\r\n\r\n this.$vm.$scope = this;\r\n // vm 上也挂载 globalData\r\n this.$vm.globalData = this.globalData;\r\n\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted', args);\r\n\r\n this.$vm.__call_hook('onLaunch', args);\r\n }\r\n };\r\n\r\n // 兼容旧版本 globalData\r\n appOptions.globalData = vm.$options.globalData || {};\r\n // 将 methods 中的方法挂在 getApp() 中\r\n const methods = vm.$options.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(name => {\r\n appOptions[name] = methods[name];\r\n });\r\n }\r\n\r\n initAppLocale(Vue, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);\r\n\r\n initHooks(appOptions, hooks);\r\n initUnknownHooks(appOptions, vm.$options);\r\n\r\n return appOptions\r\n}\r\n\r\nfunction parseApp (vm) {\r\n return parseBaseApp(vm, {\r\n mocks,\r\n initRefs\r\n })\r\n}\r\n\r\nfunction createApp (vm) {\r\n App(parseApp(vm));\r\n return vm\r\n}\r\n\r\nconst encodeReserveRE = /[!'()*]/g;\r\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);\r\nconst commaRE = /%2C/g;\r\n\r\n// fixed encodeURIComponent which is more conformant to RFC3986:\r\n// - escapes [!'()*]\r\n// - preserve commas\r\nconst encode = str => encodeURIComponent(str)\r\n .replace(encodeReserveRE, encodeReserveReplacer)\r\n .replace(commaRE, ',');\r\n\r\nfunction stringifyQuery (obj, encodeStr = encode) {\r\n const res = obj ? Object.keys(obj).map(key => {\r\n const val = obj[key];\r\n\r\n if (val === undefined) {\r\n return ''\r\n }\r\n\r\n if (val === null) {\r\n return encodeStr(key)\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n const result = [];\r\n val.forEach(val2 => {\r\n if (val2 === undefined) {\r\n return\r\n }\r\n if (val2 === null) {\r\n result.push(encodeStr(key));\r\n } else {\r\n result.push(encodeStr(key) + '=' + encodeStr(val2));\r\n }\r\n });\r\n return result.join('&')\r\n }\r\n\r\n return encodeStr(key) + '=' + encodeStr(val)\r\n }).filter(x => x.length > 0).join('&') : null;\r\n return res ? `?${res}` : ''\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n} = {}, needVueOptions) {\r\n const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n const options = {\r\n multipleSlots: true,\r\n // styleIsolation: 'apply-shared',\r\n addGlobalClass: true,\r\n ...(vueOptions.options || {})\r\n };\r\n\r\n {\r\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\r\n Object.assign(options, vueOptions['mp-weixin'].options);\r\n }\r\n }\r\n\r\n const componentOptions = {\r\n options,\r\n data: initData(vueOptions, Vue.prototype),\r\n behaviors: initBehaviors(vueOptions, initBehavior),\r\n properties: initProperties(vueOptions.props, false, vueOptions.__file, options),\r\n lifetimes: {\r\n attached () {\r\n const properties = this.properties;\r\n\r\n const options = {\r\n mpType: isPage.call(this) ? 'page' : 'component',\r\n mpInstance: this,\r\n propsData: properties\r\n };\r\n\r\n initVueIds(properties.vueId, this);\r\n\r\n // 处理父子关系\r\n initRelation.call(this, {\r\n vuePid: this._$vuePid,\r\n vueOptions: options\r\n });\r\n\r\n // 初始化 vue 实例\r\n this.$vm = new VueComponent(options);\r\n\r\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n initSlots(this.$vm, properties.vueSlots);\r\n\r\n // 触发首次 setData\r\n this.$vm.$mount();\r\n },\r\n ready () {\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted');\r\n this.$vm.__call_hook('onReady');\r\n }\r\n },\r\n detached () {\r\n this.$vm && this.$vm.$destroy();\r\n }\r\n },\r\n pageLifetimes: {\r\n show (args) {\r\n this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n },\r\n hide () {\r\n this.$vm && this.$vm.__call_hook('onPageHide');\r\n },\r\n resize (size) {\r\n this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n }\r\n },\r\n methods: {\r\n __l: handleLink,\r\n __e: handleEvent\r\n }\r\n };\r\n // externalClasses\r\n if (vueOptions.externalClasses) {\r\n componentOptions.externalClasses = vueOptions.externalClasses;\r\n }\r\n\r\n if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n vueOptions.wxsCallMethods.forEach(callMethod => {\r\n componentOptions.methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args)\r\n };\r\n });\r\n }\r\n\r\n if (needVueOptions) {\r\n return [componentOptions, vueOptions, VueComponent]\r\n }\r\n if (isPage) {\r\n return componentOptions\r\n }\r\n return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions, needVueOptions) {\r\n return parseBaseComponent(vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n }, needVueOptions)\r\n}\r\n\r\nconst hooks$1 = [\r\n 'onShow',\r\n 'onHide',\r\n 'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions) {\r\n const [pageOptions, vueOptions] = parseComponent(vuePageOptions, true);\r\n\r\n initHooks(pageOptions.methods, hooks$1, vueOptions);\r\n\r\n pageOptions.methods.onLoad = function (query) {\r\n this.options = query;\r\n const copyQuery = Object.assign({}, query);\r\n delete copyQuery.__id__;\r\n this.$page = {\r\n fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)\r\n };\r\n this.$vm.$mp.query = query; // 兼容 mpvue\r\n this.$vm.__call_hook('onLoad', query);\r\n };\r\n {\r\n initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);\r\n }\r\n {\r\n initWorkletMethods(pageOptions.methods, vueOptions.methods);\r\n }\r\n\r\n return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n return parseBasePage(vuePageOptions)\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n {\r\n return Component(parsePage(vuePageOptions))\r\n }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n {\r\n return Component(parseComponent(vueOptions))\r\n }\r\n}\r\n\r\nfunction createSubpackageApp (vm) {\r\n const appOptions = parseApp(vm);\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n vm.$scope = app;\r\n const globalData = app.globalData;\r\n if (globalData) {\r\n Object.keys(appOptions.globalData).forEach(name => {\r\n if (!hasOwn(globalData, name)) {\r\n globalData[name] = appOptions.globalData[name];\r\n }\r\n });\r\n }\r\n Object.keys(appOptions).forEach(name => {\r\n if (!hasOwn(app, name)) {\r\n app[name] = appOptions[name];\r\n }\r\n });\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\nfunction createPlugin (vm) {\r\n const appOptions = parseApp(vm);\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n : canIUseApi;\r\n if (!wx.canIUse(apiName)) {\r\n protocols[canIUseApi] = false;\r\n }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n uni = new Proxy({}, {\r\n get (target, name) {\r\n if (hasOwn(target, name)) {\r\n return target[name]\r\n }\r\n if (baseApi[name]) {\r\n return baseApi[name]\r\n }\r\n if (api[name]) {\r\n return promisify(name, api[name])\r\n }\r\n {\r\n if (extraApi[name]) {\r\n return promisify(name, extraApi[name])\r\n }\r\n if (todoApis[name]) {\r\n return promisify(name, todoApis[name])\r\n }\r\n }\r\n if (eventApi[name]) {\r\n return eventApi[name]\r\n }\r\n return promisify(name, wrapper(name, wx[name]))\r\n },\r\n set (target, name, value) {\r\n target[name] = value;\r\n return true\r\n }\r\n });\r\n} else {\r\n Object.keys(baseApi).forEach(name => {\r\n uni[name] = baseApi[name];\r\n });\r\n\r\n {\r\n Object.keys(todoApis).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n Object.keys(extraApi).forEach(name => {\r\n uni[name] = promisify(name, extraApi[name]);\r\n });\r\n }\r\n\r\n Object.keys(eventApi).forEach(name => {\r\n uni[name] = eventApi[name];\r\n });\r\n\r\n Object.keys(api).forEach(name => {\r\n uni[name] = promisify(name, api[name]);\r\n });\r\n\r\n Object.keys(wx).forEach(name => {\r\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n uni[name] = promisify(name, wrapper(name, wx[name]));\r\n }\r\n });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\nwx.createSubpackageApp = createSubpackageApp;\r\nwx.createPlugin = createPlugin;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage, createPlugin, createSubpackageApp };\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n [locale, messages] = [\n messages,\n locale,\n ];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n * Vue.js v2.6.11\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n Dep.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n Dep.target = Dep.SharedObject.target;\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue &&\n !value.__v_isMPComponent\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page\n if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){\n (slots['page'] || (slots['page'] = [])).push(child);\n }else{\n (slots.default || (slots.default = [])).push(child);\n }\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i, i, i); // fixed by xxxxxx\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length, i, i++)); // fixed by xxxxxx\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i, i); // fixed by xxxxxx\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n // fixed by xxxxxx app-plus scopedSlot\n nodes = scopedSlotFn(props, this, props._i) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n callHook(componentInstance, 'onServiceCreated');\n callHook(componentInstance, 'onServiceAttached');\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n \n // fixed by xxxxxx update properties(mp runtime)\n vm._$updateProperties && vm._$updateProperties(vm);\n \n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n {\n if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn\n return\n }\n //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警\n if(\n key === 'value' && \n Array.isArray(vm.$options.behaviors) &&\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\n ){\n return\n }\n if(vm._getFormData){\n return\n }\n var $parent = vm.$parent;\n while($parent){\n if($parent.__next_tick_pending){\n return \n }\n $parent = $parent.$parent;\n }\n }\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.SharedObject.target) {// fixed by xxxxxx\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n !vm._$fallback && initInjections(vm); // resolve injections before data/props \n initState(vm);\n !vm._$fallback && initProvide(vm); // resolve provide after data/props\n !vm._$fallback && callHook(vm, 'created'); \n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/**\n * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js\n */\nvar ARRAYTYPE = '[object Array]';\nvar OBJECTTYPE = '[object Object]';\nvar NULLTYPE = '[object Null]';\nvar UNDEFINEDTYPE = '[object Undefined]';\n// const FUNCTIONTYPE = '[object Function]'\n\nfunction diff(current, pre) {\n var result = {};\n syncKeys(current, pre);\n _diff(current, pre, '', result);\n return result\n}\n\nfunction syncKeys(current, pre) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {\n if(Object.keys(current).length >= Object.keys(pre).length){\n for (var key in pre) {\n var currentValue = current[key];\n if (currentValue === undefined) {\n current[key] = null;\n } else {\n syncKeys(currentValue, pre[key]);\n }\n }\n }\n } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {\n if (current.length >= pre.length) {\n pre.forEach(function (item, index) {\n syncKeys(current[index], item);\n });\n }\n }\n}\n\nfunction nullOrUndefined(currentType, preType) {\n if(\n (currentType === NULLTYPE || currentType === UNDEFINEDTYPE) && \n (preType === NULLTYPE || preType === UNDEFINEDTYPE)\n ) {\n return false\n }\n return true\n}\n\nfunction _diff(current, pre, path, result) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE) {\n if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {\n setResult(result, path, current);\n } else {\n var loop = function ( key ) {\n var currentValue = current[key];\n var preValue = pre[key];\n var currentType = type(currentValue);\n var preType = type(preValue);\n if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {\n if (currentValue !== pre[key] && nullOrUndefined(currentType, preType)) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n }\n } else if (currentType == ARRAYTYPE) {\n if (preType != ARRAYTYPE) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n if (currentValue.length < preValue.length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n currentValue.forEach(function (item, index) {\n _diff(item, preValue[index], (path == '' ? '' : path + \".\") + key + '[' + index + ']', result);\n });\n }\n }\n } else if (currentType == OBJECTTYPE) {\n if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n for (var subKey in currentValue) {\n _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + \".\") + key + '.' + subKey, result);\n }\n }\n }\n };\n\n for (var key in current) loop( key );\n }\n } else if (rootCurrentType == ARRAYTYPE) {\n if (rootPreType != ARRAYTYPE) {\n setResult(result, path, current);\n } else {\n if (current.length < pre.length) {\n setResult(result, path, current);\n } else {\n current.forEach(function (item, index) {\n _diff(item, pre[index], path + '[' + index + ']', result);\n });\n }\n }\n } else {\n setResult(result, path, current);\n }\n}\n\nfunction setResult(result, k, v) {\n // if (type(v) != FUNCTIONTYPE) {\n result[k] = v;\n // }\n}\n\nfunction type(obj) {\n return Object.prototype.toString.call(obj)\n}\n\n/* */\r\n\r\nfunction flushCallbacks$1(vm) {\r\n if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n var mpInstance = vm.$scope;\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\r\n ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');\r\n }\r\n var copies = vm.__next_tick_callbacks.slice(0);\r\n vm.__next_tick_callbacks.length = 0;\r\n for (var i = 0; i < copies.length; i++) {\r\n copies[i]();\r\n }\r\n }\r\n}\r\n\r\nfunction hasRenderWatcher(vm) {\r\n return queue.find(function (watcher) { return vm._watcher === watcher; })\r\n}\r\n\r\nfunction nextTick$1(vm, cb) {\r\n //1.nextTick 之前 已 setData 且 setData 还未回调完成\r\n //2.nextTick 之前存在 render watcher\r\n if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {\n if(process.env.VUE_APP_DEBUG){\n var mpInstance = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\n ']:nextVueTick');\n }\r\n return nextTick(cb, vm)\r\n }else{\n if(process.env.VUE_APP_DEBUG){\n var mpInstance$1 = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +\n ']:nextMPTick');\n }\n }\r\n var _resolve;\r\n if (!vm.__next_tick_callbacks) {\r\n vm.__next_tick_callbacks = [];\r\n }\r\n vm.__next_tick_callbacks.push(function () {\r\n if (cb) {\r\n try {\r\n cb.call(vm);\r\n } catch (e) {\r\n handleError(e, vm, 'nextTick');\r\n }\r\n } else if (_resolve) {\r\n _resolve(vm);\r\n }\r\n });\r\n // $flow-disable-line\r\n if (!cb && typeof Promise !== 'undefined') {\r\n return new Promise(function (resolve) {\r\n _resolve = resolve;\r\n })\r\n }\r\n}\n\n/* */\r\n\r\nfunction clearInstance(key, value) {\r\n // 简易去除 Vue 和小程序组件实例\r\n if (value) {\r\n if (value._isVue || value.__v_isMPComponent) {\r\n return {}\r\n }\r\n }\r\n return value\r\n}\r\n\r\nfunction cloneWithData(vm) {\r\n // 确保当前 vm 所有数据被同步\r\n var ret = Object.create(null);\r\n var dataKeys = [].concat(\r\n Object.keys(vm._data || {}),\r\n Object.keys(vm._computedWatchers || {}));\r\n\r\n dataKeys.reduce(function(ret, key) {\r\n ret[key] = vm[key];\r\n return ret\r\n }, ret);\r\n\r\n // vue-composition-api\r\n var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;\r\n var rawBindings = compositionApiState && compositionApiState.rawBindings;\r\n if (rawBindings) {\r\n Object.keys(rawBindings).forEach(function (key) {\r\n ret[key] = vm[key];\r\n });\r\n }\r\n\r\n //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据\r\n Object.assign(ret, vm.$mp.data || {});\r\n if (\r\n Array.isArray(vm.$options.behaviors) &&\r\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\r\n ) { //form-field\r\n ret['name'] = vm.name;\r\n ret['value'] = vm.value;\r\n }\r\n\r\n return JSON.parse(JSON.stringify(ret, clearInstance))\r\n}\r\n\r\nvar patch = function(oldVnode, vnode) {\n var this$1 = this;\n\r\n if (vnode === null) { //destroy\r\n return\r\n }\r\n if (this.mpType === 'page' || this.mpType === 'component') {\r\n var mpInstance = this.$scope;\r\n var data = Object.create(null);\r\n try {\r\n data = cloneWithData(this);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n data.__webviewId__ = mpInstance.data.__webviewId__;\r\n var mpData = Object.create(null);\r\n Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据\r\n mpData[key] = mpInstance.data[key];\r\n });\r\n var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);\r\n if (Object.keys(diffData).length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +\r\n ']差量更新',\r\n JSON.stringify(diffData));\r\n }\r\n this.__next_tick_pending = true;\r\n mpInstance.setData(diffData, function () {\r\n this$1.__next_tick_pending = false;\r\n flushCallbacks$1(this$1);\r\n });\r\n } else {\r\n flushCallbacks$1(this);\r\n }\r\n }\r\n};\n\n/* */\n\nfunction createEmptyRender() {\n\n}\n\nfunction mountComponent$1(\n vm,\n el,\n hydrating\n) {\n if (!vm.mpType) {//main.js 中的 new Vue\n return vm\n }\n if (vm.mpType === 'app') {\n vm.$options.render = createEmptyRender;\n }\n if (!vm.$options.render) {\n vm.$options.render = createEmptyRender;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n \n !vm._$fallback && callHook(vm, 'beforeMount');\n\n var updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before() {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n return vm\n}\n\n/* */\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/* */\r\n\r\nvar MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];\r\n\r\nfunction getTarget(obj, path) {\r\n var parts = path.split('.');\r\n var key = parts[0];\r\n if (key.indexOf('__$n') === 0) { //number index\r\n key = parseInt(key.replace('__$n', ''));\r\n }\r\n if (parts.length === 1) {\r\n return obj[key]\r\n }\r\n return getTarget(obj[key], parts.slice(1).join('.'))\r\n}\r\n\r\nfunction internalMixin(Vue) {\r\n\r\n Vue.config.errorHandler = function(err, vm, info) {\r\n Vue.util.warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\r\n console.error(err);\r\n /* eslint-disable no-undef */\r\n var app = typeof getApp === 'function' && getApp();\r\n if (app && app.onError) {\r\n app.onError(err);\r\n }\r\n };\r\n\r\n var oldEmit = Vue.prototype.$emit;\r\n\r\n Vue.prototype.$emit = function(event) {\r\n if (this.$scope && event) {\r\n var triggerEvent = this.$scope['_triggerEvent'] || this.$scope['triggerEvent'];\r\n if (triggerEvent) {\r\n try {\r\n triggerEvent.call(this.$scope, event, {\r\n __args__: toArray(arguments, 1)\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n }\r\n return oldEmit.apply(this, arguments)\r\n };\r\n\r\n Vue.prototype.$nextTick = function(fn) {\r\n return nextTick$1(this, fn)\r\n };\r\n\r\n MP_METHODS.forEach(function (method) {\r\n Vue.prototype[method] = function(args) {\r\n if (this.$scope && this.$scope[method]) {\r\n return this.$scope[method](args)\r\n }\r\n // mp-alipay\r\n if (typeof my === 'undefined') {\r\n return\r\n }\r\n if (method === 'createSelectorQuery') {\r\n /* eslint-disable no-undef */\r\n return my.createSelectorQuery(args)\r\n } else if (method === 'createIntersectionObserver') {\r\n /* eslint-disable no-undef */\r\n return my.createIntersectionObserver(args)\r\n }\r\n // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent\r\n };\r\n });\r\n\r\n Vue.prototype.__init_provide = initProvide;\r\n\r\n Vue.prototype.__init_injections = initInjections;\r\n\r\n Vue.prototype.__call_hook = function(hook, args) {\r\n var vm = this;\r\n // #7573 disable dep collection when invoking lifecycle hooks\r\n pushTarget();\r\n var handlers = vm.$options[hook];\r\n var info = hook + \" hook\";\r\n var ret;\r\n if (handlers) {\r\n for (var i = 0, j = handlers.length; i < j; i++) {\r\n ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);\r\n }\r\n }\r\n if (vm._hasHookEvent) {\r\n vm.$emit('hook:' + hook, args);\r\n }\r\n popTarget();\r\n return ret\r\n };\r\n\r\n Vue.prototype.__set_model = function(target, key, value, modifiers) {\r\n if (Array.isArray(modifiers)) {\r\n if (modifiers.indexOf('trim') !== -1) {\r\n value = value.trim();\r\n }\r\n if (modifiers.indexOf('number') !== -1) {\r\n value = this._n(value);\r\n }\r\n }\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__set_sync = function(target, key, value) {\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__get_orig = function(item) {\r\n if (isPlainObject(item)) {\r\n return item['$orig'] || item\r\n }\r\n return item\r\n };\r\n\r\n Vue.prototype.__get_value = function(dataPath, target) {\r\n return getTarget(target || this, dataPath)\r\n };\r\n\r\n\r\n Vue.prototype.__get_class = function(dynamicClass, staticClass) {\r\n return renderClass(staticClass, dynamicClass)\r\n };\r\n\r\n Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {\r\n if (!dynamicStyle && !staticStyle) {\r\n return ''\r\n }\r\n var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);\r\n var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;\r\n return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + \":\" + (styleObj[name])); }).join(';')\r\n };\r\n\r\n Vue.prototype.__map = function(val, iteratee) {\r\n //TODO 暂不考虑 string\r\n var ret, i, l, keys, key;\r\n if (Array.isArray(val)) {\r\n ret = new Array(val.length);\r\n for (i = 0, l = val.length; i < l; i++) {\r\n ret[i] = iteratee(val[i], i);\r\n }\r\n return ret\r\n } else if (isObject(val)) {\r\n keys = Object.keys(val);\r\n ret = Object.create(null);\r\n for (i = 0, l = keys.length; i < l; i++) {\r\n key = keys[i];\r\n ret[key] = iteratee(val[key], key, i);\r\n }\r\n return ret\r\n } else if (typeof val === 'number') {\r\n ret = new Array(val);\r\n for (i = 0, l = val; i < l; i++) {\r\n // 第一个参数暂时仍和小程序一致\r\n ret[i] = iteratee(i, i);\r\n }\r\n return ret\r\n }\r\n return []\r\n };\r\n\r\n}\n\n/* */\r\n\r\nvar LIFECYCLE_HOOKS$1 = [\r\n //App\r\n 'onLaunch',\r\n 'onShow',\r\n 'onHide',\r\n 'onUniNViewMessage',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onError',\r\n 'onUnhandledRejection',\r\n //Page\r\n 'onInit',\r\n 'onLoad',\r\n // 'onShow',\r\n 'onReady',\r\n // 'onHide',\r\n 'onUnload',\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onTabItemTap',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onResize',\r\n 'onPageScroll',\r\n 'onNavigationBarButtonTap',\r\n 'onBackPress',\r\n 'onNavigationBarSearchInputChanged',\r\n 'onNavigationBarSearchInputConfirmed',\r\n 'onNavigationBarSearchInputClicked',\r\n 'onUploadDouyinVideo',\r\n 'onNFCReadMessage',\r\n //Component\r\n // 'onReady', // 兼容旧版本,应该移除该事件\r\n 'onPageShow',\r\n 'onPageHide',\r\n 'onPageResize'\r\n];\r\nfunction lifecycleMixin$1(Vue) {\r\n\r\n //fixed vue-class-component\r\n var oldExtend = Vue.extend;\r\n Vue.extend = function(extendOptions) {\r\n extendOptions = extendOptions || {};\r\n\r\n var methods = extendOptions.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(function (methodName) {\r\n if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {\r\n extendOptions[methodName] = methods[methodName];\r\n delete methods[methodName];\r\n }\r\n });\r\n }\r\n\r\n return oldExtend.call(this, extendOptions)\r\n };\r\n\r\n var strategies = Vue.config.optionMergeStrategies;\r\n var mergeHook = strategies.created;\r\n LIFECYCLE_HOOKS$1.forEach(function (hook) {\r\n strategies[hook] = mergeHook;\r\n });\r\n\r\n Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;\r\n}\n\n/* */\r\n\n// install platform patch function\r\nVue.prototype.__patch__ = patch;\r\n\r\n// public mount method\r\nVue.prototype.$mount = function(\r\n el ,\r\n hydrating \r\n) {\r\n return mountComponent$1(this, el, hydrating)\r\n};\r\n\r\nlifecycleMixin$1(Vue);\r\ninternalMixin(Vue);\n\n/* */\n\nexport default Vue;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode, /* vue-cli only */\n components, // fixed by xxxxxx auto components\n renderjs // fixed by xxxxxx renderjs\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // fixed by xxxxxx auto components\n if (components) {\n if (!options.components) {\n options.components = {}\n }\n var hasOwn = Object.prototype.hasOwnProperty\n for (var name in components) {\n if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {\n options.components[name] = components[name]\n }\n }\n }\n // fixed by xxxxxx renderjs\n if (renderjs) {\n if(typeof renderjs.beforeCreate === 'function'){\n\t\t\trenderjs.beforeCreate = [renderjs.beforeCreate]\n\t\t}\n (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {\n this[renderjs.__module] = this\n });\n (options.mixins || (options.mixins = [])).push(renderjs)\n }\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","// 看到此报错,是因为没有配置vue.config.js的【transpileDependencies】,详见:https://www.uviewui.com/components/npmSetting.html#_5-cli模式额外配置\r\nconst pleaseSetTranspileDependencies = {}, babelTest = pleaseSetTranspileDependencies?.test\r\n\r\n\r\n\r\n// 引入全局mixin\r\nimport mixin from './libs/mixin/mixin.js'\r\n// 小程序特有的mixin\r\nimport mpMixin from './libs/mixin/mpMixin.js'\r\n// 全局挂载引入http相关请求拦截插件\r\nimport Request from './libs/luch-request'\r\n\r\n// 路由封装\r\nimport route from './libs/util/route.js'\r\n// 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制\r\nimport colorGradient from './libs/function/colorGradient.js'\r\n\r\n// 规则检验\r\nimport test from './libs/function/test.js'\r\n// 防抖方法\r\nimport debounce from './libs/function/debounce.js'\r\n// 节流方法\r\nimport throttle from './libs/function/throttle.js'\r\n// 公共文件写入的方法\r\nimport index from './libs/function/index.js'\r\n\r\n// 配置信息\r\nimport config from './libs/config/config.js'\r\n// props配置信息\r\nimport props from './libs/config/props.js'\r\n// 各个需要fixed的地方的z-index配置文件\r\nimport zIndex from './libs/config/zIndex.js'\r\n// 关于颜色的配置,特殊场景使用\r\nimport color from './libs/config/color.js'\r\n// 平台\r\nimport platform from './libs/function/platform'\r\n\r\nconst $u = {\r\n route,\r\n date: index.timeFormat, // 另名date\r\n colorGradient: colorGradient.colorGradient,\r\n hexToRgb: colorGradient.hexToRgb,\r\n rgbToHex: colorGradient.rgbToHex,\r\n colorToRgba: colorGradient.colorToRgba,\r\n test,\r\n type: ['primary', 'success', 'error', 'warning', 'info'],\r\n http: new Request(),\r\n config, // uView配置信息相关,比如版本号\r\n zIndex,\r\n debounce,\r\n throttle,\r\n mixin,\r\n mpMixin,\r\n props,\r\n ...index,\r\n color,\r\n platform\r\n}\r\n\r\n// $u挂载到uni对象上\r\nuni.$u = $u\r\n\r\nconst install = (Vue) => {\r\n // 时间格式化,同时两个名称,date和timeFormat\r\n Vue.filter('timeFormat', (timestamp, format) => uni.$u.timeFormat(timestamp, format))\r\n Vue.filter('date', (timestamp, format) => uni.$u.timeFormat(timestamp, format))\r\n // 将多久以前的方法,注入到全局过滤器\r\n Vue.filter('timeFrom', (timestamp, format) => uni.$u.timeFrom(timestamp, format))\r\n // 同时挂载到uni和Vue.prototype中\r\n\r\n // 只有vue,挂载到Vue.prototype才有意义,因为nvue中全局Vue.prototype和Vue.mixin是无效的\r\n Vue.prototype.$u = $u\r\n Vue.mixin(mixin)\r\n\r\n}\r\n\r\nexport default {\r\n install\r\n}\r\n","module.exports = {\r\n // 定义每个组件都可能需要用到的外部样式以及类名\r\n props: {\r\n // 每个组件都有的父组件传递的样式,可以为字符串或者对象形式\r\n customStyle: {\r\n type: [Object, String],\r\n default: () => ({})\r\n },\r\n customClass: {\r\n type: String,\r\n default: ''\r\n },\r\n // 跳转的页面路径\r\n url: {\r\n type: String,\r\n default: ''\r\n },\r\n // 页面跳转的类型\r\n linkType: {\r\n type: String,\r\n default: 'navigateTo'\r\n }\r\n },\r\n data() {\r\n return {}\r\n },\r\n onLoad() {\r\n // getRect挂载到$u上,因为这方法需要使用in(this),所以无法把它独立成一个单独的文件导出\r\n this.$u.getRect = this.$uGetRect\r\n },\r\n created() {\r\n // 组件当中,只有created声明周期,为了能在组件使用,故也在created中将方法挂载到$u\r\n this.$u.getRect = this.$uGetRect\r\n },\r\n computed: {\r\n // 在2.x版本中,将会把$u挂载到uni对象下,导致在模板中无法使用uni.$u.xxx形式\r\n // 所以这里通过computed计算属性将其附加到this.$u上,就可以在模板或者js中使用uni.$u.xxx\r\n // 只在nvue环境通过此方式引入完整的$u,其他平台会出现性能问题,非nvue则按需引入(主要原因是props过大)\r\n $u() {\r\n\r\n // 在非nvue端,移除props,http,mixin等对象,避免在小程序setData时数据过大影响性能\r\n return uni.$u.deepMerge(uni.$u, {\r\n props: undefined,\r\n http: undefined,\r\n mixin: undefined\r\n })\r\n\r\n\r\n\r\n\r\n },\r\n /**\r\n * 生成bem规则类名\r\n * 由于微信小程序,H5,nvue之间绑定class的差异,无法通过:class=\"[bem()]\"的形式进行同用\r\n * 故采用如下折中做法,最后返回的是数组(一般平台)或字符串(支付宝和字节跳动平台),类似['a', 'b', 'c']或'a b c'的形式\r\n * @param {String} name 组件名称\r\n * @param {Array} fixed 一直会存在的类名\r\n * @param {Array} change 会根据变量值为true或者false而出现或者隐藏的类名\r\n * @returns {Array|string}\r\n */\r\n bem() {\r\n return function (name, fixed, change) {\r\n // 类名前缀\r\n const prefix = `u-${name}--`\r\n const classes = {}\r\n if (fixed) {\r\n fixed.map((item) => {\r\n // 这里的类名,会一直存在\r\n classes[prefix + this[item]] = true\r\n })\r\n }\r\n if (change) {\r\n change.map((item) => {\r\n // 这里的类名,会根据this[item]的值为true或者false,而进行添加或者移除某一个类\r\n this[item] ? (classes[prefix + item] = this[item]) : (delete classes[prefix + item])\r\n })\r\n }\r\n return Object.keys(classes)\r\n // 支付宝,头条小程序无法动态绑定一个数组类名,否则解析出来的结果会带有\",\",而导致失效\r\n\r\n\r\n\r\n }\r\n }\r\n },\r\n methods: {\r\n // 跳转某一个页面\r\n openPage(urlKey = 'url') {\r\n const url = this[urlKey]\r\n if (url) {\r\n // 执行类似uni.navigateTo的方法\r\n uni[this.linkType]({\r\n url\r\n })\r\n }\r\n },\r\n // 查询节点信息\r\n // 目前此方法在支付宝小程序中无法获取组件跟接点的尺寸,为支付宝的bug(2020-07-21)\r\n // 解决办法为在组件根部再套一个没有任何作用的view元素\r\n $uGetRect(selector, all) {\r\n return new Promise((resolve) => {\r\n uni.createSelectorQuery()\r\n .in(this)[all ? 'selectAll' : 'select'](selector)\r\n .boundingClientRect((rect) => {\r\n if (all && Array.isArray(rect) && rect.length) {\r\n resolve(rect)\r\n }\r\n if (!all && rect) {\r\n resolve(rect)\r\n }\r\n })\r\n .exec()\r\n })\r\n },\r\n getParentData(parentName = '') {\r\n // 避免在created中去定义parent变量\r\n if (!this.parent) this.parent = {}\r\n // 这里的本质原理是,通过获取父组件实例(也即类似u-radio的父组件u-radio-group的this)\r\n // 将父组件this中对应的参数,赋值给本组件(u-radio的this)的parentData对象中对应的属性\r\n // 之所以需要这么做,是因为所有端中,头条小程序不支持通过this.parent.xxx去监听父组件参数的变化\r\n // 此处并不会自动更新子组件的数据,而是依赖父组件u-radio-group去监听data的变化,手动调用更新子组件的方法去重新获取\r\n this.parent = uni.$u.$parent.call(this, parentName)\r\n if (this.parent.children) {\r\n // 如果父组件的children不存在本组件的实例,才将本实例添加到父组件的children中\r\n this.parent.children.indexOf(this) === -1 && this.parent.children.push(this)\r\n }\r\n if (this.parent && this.parentData) {\r\n // 历遍parentData中的属性,将parent中的同名属性赋值给parentData\r\n Object.keys(this.parentData).map((key) => {\r\n this.parentData[key] = this.parent[key]\r\n })\r\n }\r\n },\r\n // 阻止事件冒泡\r\n preventEvent(e) {\r\n e && typeof (e.stopPropagation) === 'function' && e.stopPropagation()\r\n },\r\n // 空操作\r\n noop(e) {\r\n this.preventEvent(e)\r\n }\r\n },\r\n onReachBottom() {\r\n uni.$emit('uOnReachBottom')\r\n },\r\n beforeDestroy() {\r\n // 判断当前页面是否存在parent和chldren,一般在checkbox和checkbox-group父子联动的场景会有此情况\r\n // 组件销毁时,移除子组件在父组件children数组中的实例,释放资源,避免数据混乱\r\n if (this.parent && uni.$u.test.array(this.parent.children)) {\r\n // 组件销毁时,移除父组件中的children数组中对应的实例\r\n const childrenList = this.parent.children\r\n childrenList.map((child, index) => {\r\n // 如果相等,则移除\r\n if (child === this) {\r\n childrenList.splice(index, 1)\r\n }\r\n })\r\n }\r\n }\r\n}\r\n","export default {\r\n\r\n // 将自定义节点设置成虚拟的,更加接近Vue组件的表现,能更好的使用flex属性\r\n options: {\r\n virtualHost: true\r\n }\r\n\r\n}\r\n","import Request from './core/Request'\r\n\r\nexport default Request\r\n","/**\r\n * @Class Request\r\n * @description luch-request http请求插件\r\n * @version 3.0.7\r\n * @Author lu-ch\r\n * @Date 2021-09-04\r\n * @Email webwork.s@qq.com\r\n * 文档: https://www.quanzhan.co/luch-request/\r\n * github: https://github.com/lei-mu/luch-request\r\n * DCloud: http://ext.dcloud.net.cn/plugin?id=392\r\n * HBuilderX: beat-3.0.4 alpha-3.0.4\r\n */\r\n\r\nimport dispatchRequest from './dispatchRequest'\r\nimport InterceptorManager from './InterceptorManager'\r\nimport mergeConfig from './mergeConfig'\r\nimport defaults from './defaults'\r\nimport { isPlainObject } from '../utils'\r\nimport clone from '../utils/clone'\r\n\r\nexport default class Request {\r\n /**\r\n * @param {Object} arg - 全局配置\r\n * @param {String} arg.baseURL - 全局根路径\r\n * @param {Object} arg.header - 全局header\r\n * @param {String} arg.method = [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE] - 全局默认请求方式\r\n * @param {String} arg.dataType = [json] - 全局默认的dataType\r\n * @param {String} arg.responseType = [text|arraybuffer] - 全局默认的responseType。支付宝小程序不支持\r\n * @param {Object} arg.custom - 全局默认的自定义参数\r\n * @param {Number} arg.timeout - 全局默认的超时时间,单位 ms。默认60000。H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)、微信小程序(2.10.0)、支付宝小程序\r\n * @param {Boolean} arg.sslVerify - 全局默认的是否验证 ssl 证书。默认true.仅App安卓端支持(HBuilderX 2.3.3+)\r\n * @param {Boolean} arg.withCredentials - 全局默认的跨域请求时是否携带凭证(cookies)。默认false。仅H5支持(HBuilderX 2.6.15+)\r\n * @param {Boolean} arg.firstIpv4 - 全DNS解析时优先使用ipv4。默认false。仅 App-Android 支持 (HBuilderX 2.8.0+)\r\n * @param {Function(statusCode):Boolean} arg.validateStatus - 全局默认的自定义验证器。默认statusCode >= 200 && statusCode < 300\r\n */\r\n constructor(arg = {}) {\r\n if (!isPlainObject(arg)) {\r\n arg = {}\r\n console.warn('设置全局参数必须接收一个Object')\r\n }\r\n this.config = clone({ ...defaults, ...arg })\r\n this.interceptors = {\r\n request: new InterceptorManager(),\r\n response: new InterceptorManager()\r\n }\r\n }\r\n\r\n /**\r\n * @Function\r\n * @param {Request~setConfigCallback} f - 设置全局默认配置\r\n */\r\n setConfig(f) {\r\n this.config = f(this.config)\r\n }\r\n\r\n middleware(config) {\r\n config = mergeConfig(this.config, config)\r\n const chain = [dispatchRequest, undefined]\r\n let promise = Promise.resolve(config)\r\n\r\n this.interceptors.request.forEach((interceptor) => {\r\n chain.unshift(interceptor.fulfilled, interceptor.rejected)\r\n })\r\n\r\n this.interceptors.response.forEach((interceptor) => {\r\n chain.push(interceptor.fulfilled, interceptor.rejected)\r\n })\r\n\r\n while (chain.length) {\r\n promise = promise.then(chain.shift(), chain.shift())\r\n }\r\n\r\n return promise\r\n }\r\n\r\n /**\r\n * @Function\r\n * @param {Object} config - 请求配置项\r\n * @prop {String} options.url - 请求路径\r\n * @prop {Object} options.data - 请求参数\r\n * @prop {Object} [options.responseType = config.responseType] [text|arraybuffer] - 响应的数据类型\r\n * @prop {Object} [options.dataType = config.dataType] - 如果设为 json,会尝试对返回的数据做一次 JSON.parse\r\n * @prop {Object} [options.header = config.header] - 请求header\r\n * @prop {Object} [options.method = config.method] - 请求方法\r\n * @returns {Promise<unknown>}\r\n */\r\n request(config = {}) {\r\n return this.middleware(config)\r\n }\r\n\r\n get(url, options = {}) {\r\n return this.middleware({\r\n url,\r\n method: 'GET',\r\n ...options\r\n })\r\n }\r\n\r\n post(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'POST',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n put(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'PUT',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n delete(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'DELETE',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n connect(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'CONNECT',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n head(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'HEAD',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n options(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'OPTIONS',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n trace(url, data, options = {}) {\r\n return this.middleware({\r\n url,\r\n data,\r\n method: 'TRACE',\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n upload(url, config = {}) {\r\n config.url = url\r\n config.method = 'UPLOAD'\r\n return this.middleware(config)\r\n }\r\n\r\n download(url, config = {}) {\r\n config.url = url\r\n config.method = 'DOWNLOAD'\r\n return this.middleware(config)\r\n }\r\n}\r\n\r\n/**\r\n * setConfig回调\r\n * @return {Object} - 返回操作后的config\r\n * @callback Request~setConfigCallback\r\n * @param {Object} config - 全局默认config\r\n */\r\n","import adapter from '../adapters/index'\r\n\r\nexport default (config) => adapter(config)\r\n","import buildURL from '../helpers/buildURL'\r\nimport buildFullPath from '../core/buildFullPath'\r\nimport settle from '../core/settle'\r\nimport { isUndefined } from '../utils'\r\n\r\n/**\r\n * 返回可选值存在的配置\r\n * @param {Array} keys - 可选值数组\r\n * @param {Object} config2 - 配置\r\n * @return {{}} - 存在的配置项\r\n */\r\nconst mergeKeys = (keys, config2) => {\r\n const config = {}\r\n keys.forEach((prop) => {\r\n if (!isUndefined(config2[prop])) {\r\n config[prop] = config2[prop]\r\n }\r\n })\r\n return config\r\n}\r\nexport default (config) => new Promise((resolve, reject) => {\r\n const fullPath = buildURL(buildFullPath(config.baseURL, config.url), config.params)\r\n const _config = {\r\n url: fullPath,\r\n header: config.header,\r\n complete: (response) => {\r\n config.fullPath = fullPath\r\n response.config = config\r\n try {\r\n // 对可能字符串不是json 的情况容错\r\n if (typeof response.data === 'string') {\r\n response.data = JSON.parse(response.data)\r\n }\r\n // eslint-disable-next-line no-empty\r\n } catch (e) {\r\n }\r\n settle(resolve, reject, response)\r\n }\r\n }\r\n let requestTask\r\n if (config.method === 'UPLOAD') {\r\n delete _config.header['content-type']\r\n delete _config.header['Content-Type']\r\n const otherConfig = {\r\n\r\n\r\n\r\n filePath: config.filePath,\r\n name: config.name\r\n }\r\n const optionalKeys = [\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n 'formData'\r\n ]\r\n requestTask = uni.uploadFile({ ..._config, ...otherConfig, ...mergeKeys(optionalKeys, config) })\r\n } else if (config.method === 'DOWNLOAD') {\r\n\r\n\r\n\r\n\r\n\r\n requestTask = uni.downloadFile(_config)\r\n } else {\r\n const optionalKeys = [\r\n 'data',\r\n 'method',\r\n\r\n 'timeout',\r\n\r\n 'dataType',\r\n\r\n 'responseType',\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n ]\r\n requestTask = uni.request({ ..._config, ...mergeKeys(optionalKeys, config) })\r\n }\r\n if (config.getTask) {\r\n config.getTask(requestTask, config)\r\n }\r\n})\r\n","'use strict'\r\n\r\nimport * as utils from '../utils'\r\n\r\nfunction encode(val) {\r\n return encodeURIComponent(val)\r\n .replace(/%40/gi, '@')\r\n .replace(/%3A/gi, ':')\r\n .replace(/%24/g, '$')\r\n .replace(/%2C/gi, ',')\r\n .replace(/%20/g, '+')\r\n .replace(/%5B/gi, '[')\r\n .replace(/%5D/gi, ']')\r\n}\r\n\r\n/**\r\n * Build a URL by appending params to the end\r\n *\r\n * @param {string} url The base of the url (e.g., http://www.google.com)\r\n * @param {object} [params] The params to be appended\r\n * @returns {string} The formatted url\r\n */\r\nexport default function buildURL(url, params) {\r\n /* eslint no-param-reassign:0 */\r\n if (!params) {\r\n return url\r\n }\r\n\r\n let serializedParams\r\n if (utils.isURLSearchParams(params)) {\r\n serializedParams = params.toString()\r\n } else {\r\n const parts = []\r\n\r\n utils.forEach(params, (val, key) => {\r\n if (val === null || typeof val === 'undefined') {\r\n return\r\n }\r\n\r\n if (utils.isArray(val)) {\r\n key = `${key}[]`\r\n } else {\r\n val = [val]\r\n }\r\n\r\n utils.forEach(val, (v) => {\r\n if (utils.isDate(v)) {\r\n v = v.toISOString()\r\n } else if (utils.isObject(v)) {\r\n v = JSON.stringify(v)\r\n }\r\n parts.push(`${encode(key)}=${encode(v)}`)\r\n })\r\n })\r\n\r\n serializedParams = parts.join('&')\r\n }\r\n\r\n if (serializedParams) {\r\n const hashmarkIndex = url.indexOf('#')\r\n if (hashmarkIndex !== -1) {\r\n url = url.slice(0, hashmarkIndex)\r\n }\r\n\r\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams\r\n }\r\n\r\n return url\r\n}\r\n","'use strict'\r\n\r\n// utils is a library of generic helper functions non-specific to axios\r\n\r\nconst { toString } = Object.prototype\r\n\r\n/**\r\n * Determine if a value is an Array\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is an Array, otherwise false\r\n */\r\nexport function isArray(val) {\r\n return toString.call(val) === '[object Array]'\r\n}\r\n\r\n/**\r\n * Determine if a value is an Object\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is an Object, otherwise false\r\n */\r\nexport function isObject(val) {\r\n return val !== null && typeof val === 'object'\r\n}\r\n\r\n/**\r\n * Determine if a value is a Date\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is a Date, otherwise false\r\n */\r\nexport function isDate(val) {\r\n return toString.call(val) === '[object Date]'\r\n}\r\n\r\n/**\r\n * Determine if a value is a URLSearchParams object\r\n *\r\n * @param {Object} val The value to test\r\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\r\n */\r\nexport function isURLSearchParams(val) {\r\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams\r\n}\r\n\r\n/**\r\n * Iterate over an Array or an Object invoking a function for each item.\r\n *\r\n * If `obj` is an Array callback will be called passing\r\n * the value, index, and complete array for each item.\r\n *\r\n * If 'obj' is an Object callback will be called passing\r\n * the value, key, and complete object for each property.\r\n *\r\n * @param {Object|Array} obj The object to iterate\r\n * @param {Function} fn The callback to invoke for each item\r\n */\r\nexport function forEach(obj, fn) {\r\n // Don't bother if no value provided\r\n if (obj === null || typeof obj === 'undefined') {\r\n return\r\n }\r\n\r\n // Force an array if not already something iterable\r\n if (typeof obj !== 'object') {\r\n /* eslint no-param-reassign:0 */\r\n obj = [obj]\r\n }\r\n\r\n if (isArray(obj)) {\r\n // Iterate over array values\r\n for (let i = 0, l = obj.length; i < l; i++) {\r\n fn.call(null, obj[i], i, obj)\r\n }\r\n } else {\r\n // Iterate over object keys\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n fn.call(null, obj[key], key, obj)\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 是否为boolean 值\r\n * @param val\r\n * @returns {boolean}\r\n */\r\nexport function isBoolean(val) {\r\n return typeof val === 'boolean'\r\n}\r\n\r\n/**\r\n * 是否为真正的对象{} new Object\r\n * @param {any} obj - 检测的对象\r\n * @returns {boolean}\r\n */\r\nexport function isPlainObject(obj) {\r\n return Object.prototype.toString.call(obj) === '[object Object]'\r\n}\r\n\r\n/**\r\n * Function equal to merge with the difference being that no reference\r\n * to original objects is kept.\r\n *\r\n * @see merge\r\n * @param {Object} obj1 Object to merge\r\n * @returns {Object} Result of all merge properties\r\n */\r\nexport function deepMerge(/* obj1, obj2, obj3, ... */) {\r\n const result = {}\r\n function assignValue(val, key) {\r\n if (typeof result[key] === 'object' && typeof val === 'object') {\r\n result[key] = deepMerge(result[key], val)\r\n } else if (typeof val === 'object') {\r\n result[key] = deepMerge({}, val)\r\n } else {\r\n result[key] = val\r\n }\r\n }\r\n for (let i = 0, l = arguments.length; i < l; i++) {\r\n forEach(arguments[i], assignValue)\r\n }\r\n return result\r\n}\r\n\r\nexport function isUndefined(val) {\r\n return typeof val === 'undefined'\r\n}\r\n","'use strict'\r\n\r\nimport isAbsoluteURL from '../helpers/isAbsoluteURL'\r\nimport combineURLs from '../helpers/combineURLs'\r\n\r\n/**\r\n * Creates a new URL by combining the baseURL with the requestedURL,\r\n * only when the requestedURL is not already an absolute URL.\r\n * If the requestURL is absolute, this function returns the requestedURL untouched.\r\n *\r\n * @param {string} baseURL The base URL\r\n * @param {string} requestedURL Absolute or relative URL to combine\r\n * @returns {string} The combined full path\r\n */\r\nexport default function buildFullPath(baseURL, requestedURL) {\r\n if (baseURL && !isAbsoluteURL(requestedURL)) {\r\n return combineURLs(baseURL, requestedURL)\r\n }\r\n return requestedURL\r\n}\r\n","'use strict'\r\n\r\n/**\r\n * Determines whether the specified URL is absolute\r\n *\r\n * @param {string} url The URL to test\r\n * @returns {boolean} True if the specified URL is absolute, otherwise false\r\n */\r\nexport default function isAbsoluteURL(url) {\r\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\r\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\r\n // by any combination of letters, digits, plus, period, or hyphen.\r\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url)\r\n}\r\n","'use strict'\r\n\r\n/**\r\n * Creates a new URL by combining the specified URLs\r\n *\r\n * @param {string} baseURL The base URL\r\n * @param {string} relativeURL The relative URL\r\n * @returns {string} The combined URL\r\n */\r\nexport default function combineURLs(baseURL, relativeURL) {\r\n return relativeURL\r\n ? `${baseURL.replace(/\\/+$/, '')}/${relativeURL.replace(/^\\/+/, '')}`\r\n : baseURL\r\n}\r\n","/**\r\n * Resolve or reject a Promise based on response status.\r\n *\r\n * @param {Function} resolve A function that resolves the promise.\r\n * @param {Function} reject A function that rejects the promise.\r\n * @param {object} response The response.\r\n */\r\nexport default function settle(resolve, reject, response) {\r\n const { validateStatus } = response.config\r\n const status = response.statusCode\r\n if (status && (!validateStatus || validateStatus(status))) {\r\n resolve(response)\r\n } else {\r\n reject(response)\r\n }\r\n}\r\n","'use strict'\r\n\r\nfunction InterceptorManager() {\r\n this.handlers = []\r\n}\r\n\r\n/**\r\n * Add a new interceptor to the stack\r\n *\r\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\r\n * @param {Function} rejected The function to handle `reject` for a `Promise`\r\n *\r\n * @return {Number} An ID used to remove interceptor later\r\n */\r\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\r\n this.handlers.push({\r\n fulfilled,\r\n rejected\r\n })\r\n return this.handlers.length - 1\r\n}\r\n\r\n/**\r\n * Remove an interceptor from the stack\r\n *\r\n * @param {Number} id The ID that was returned by `use`\r\n */\r\nInterceptorManager.prototype.eject = function eject(id) {\r\n if (this.handlers[id]) {\r\n this.handlers[id] = null\r\n }\r\n}\r\n\r\n/**\r\n * Iterate over all the registered interceptors\r\n *\r\n * This method is particularly useful for skipping over any\r\n * interceptors that may have become `null` calling `eject`.\r\n *\r\n * @param {Function} fn The function to call for each interceptor\r\n */\r\nInterceptorManager.prototype.forEach = function forEach(fn) {\r\n this.handlers.forEach((h) => {\r\n if (h !== null) {\r\n fn(h)\r\n }\r\n })\r\n}\r\n\r\nexport default InterceptorManager\r\n","import { deepMerge, isUndefined } from '../utils'\r\n\r\n/**\r\n * 合并局部配置优先的配置,如果局部有该配置项则用局部,如果全局有该配置项则用全局\r\n * @param {Array} keys - 配置项\r\n * @param {Object} globalsConfig - 当前的全局配置\r\n * @param {Object} config2 - 局部配置\r\n * @return {{}}\r\n */\r\nconst mergeKeys = (keys, globalsConfig, config2) => {\r\n const config = {}\r\n keys.forEach((prop) => {\r\n if (!isUndefined(config2[prop])) {\r\n config[prop] = config2[prop]\r\n } else if (!isUndefined(globalsConfig[prop])) {\r\n config[prop] = globalsConfig[prop]\r\n }\r\n })\r\n return config\r\n}\r\n/**\r\n *\r\n * @param globalsConfig - 当前实例的全局配置\r\n * @param config2 - 当前的局部配置\r\n * @return - 合并后的配置\r\n */\r\nexport default (globalsConfig, config2 = {}) => {\r\n const method = config2.method || globalsConfig.method || 'GET'\r\n let config = {\r\n baseURL: globalsConfig.baseURL || '',\r\n method,\r\n url: config2.url || '',\r\n params: config2.params || {},\r\n custom: { ...(globalsConfig.custom || {}), ...(config2.custom || {}) },\r\n header: deepMerge(globalsConfig.header || {}, config2.header || {})\r\n }\r\n const defaultToConfig2Keys = ['getTask', 'validateStatus']\r\n config = { ...config, ...mergeKeys(defaultToConfig2Keys, globalsConfig, config2) }\r\n\r\n // eslint-disable-next-line no-empty\r\n if (method === 'DOWNLOAD') {\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n } else if (method === 'UPLOAD') {\r\n delete config.header['content-type']\r\n delete config.header['Content-Type']\r\n const uploadKeys = [\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n 'filePath',\r\n 'name',\r\n\r\n\r\n\r\n 'formData'\r\n ]\r\n uploadKeys.forEach((prop) => {\r\n if (!isUndefined(config2[prop])) {\r\n config[prop] = config2[prop]\r\n }\r\n })\r\n\r\n\r\n\r\n\r\n\r\n } else {\r\n const defaultsKeys = [\r\n 'data',\r\n\r\n 'timeout',\r\n\r\n 'dataType',\r\n\r\n 'responseType',\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n ]\r\n config = { ...config, ...mergeKeys(defaultsKeys, globalsConfig, config2) }\r\n }\r\n\r\n return config\r\n}\r\n","/**\r\n * 默认的全局配置\r\n */\r\n\r\nexport default {\r\n baseURL: '',\r\n header: {},\r\n method: 'GET',\r\n dataType: 'json',\r\n\r\n responseType: 'text',\r\n\r\n custom: {},\r\n\r\n timeout: 60000,\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n validateStatus: function validateStatus(status) {\r\n return status >= 200 && status < 300\r\n }\r\n}\r\n","/* eslint-disable */\r\nvar clone = (function() {\r\n 'use strict';\r\n\r\n function _instanceof(obj, type) {\r\n return type != null && obj instanceof type;\r\n }\r\n\r\n var nativeMap;\r\n try {\r\n nativeMap = Map;\r\n } catch(_) {\r\n // maybe a reference error because no `Map`. Give it a dummy value that no\r\n // value will ever be an instanceof.\r\n nativeMap = function() {};\r\n }\r\n\r\n var nativeSet;\r\n try {\r\n nativeSet = Set;\r\n } catch(_) {\r\n nativeSet = function() {};\r\n }\r\n\r\n var nativePromise;\r\n try {\r\n nativePromise = Promise;\r\n } catch(_) {\r\n nativePromise = function() {};\r\n }\r\n\r\n /**\r\n * Clones (copies) an Object using deep copying.\r\n *\r\n * This function supports circular references by default, but if you are certain\r\n * there are no circular references in your object, you can save some CPU time\r\n * by calling clone(obj, false).\r\n *\r\n * Caution: if `circular` is false and `parent` contains circular references,\r\n * your program may enter an infinite loop and crash.\r\n *\r\n * @param `parent` - the object to be cloned\r\n * @param `circular` - set to true if the object to be cloned may contain\r\n * circular references. (optional - true by default)\r\n * @param `depth` - set to a number if the object is only to be cloned to\r\n * a particular depth. (optional - defaults to Infinity)\r\n * @param `prototype` - sets the prototype to be used when cloning an object.\r\n * (optional - defaults to parent prototype).\r\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\r\n * should be cloned as well. Non-enumerable properties on the prototype\r\n * chain will be ignored. (optional - false by default)\r\n */\r\n function clone(parent, circular, depth, prototype, includeNonEnumerable) {\r\n if (typeof circular === 'object') {\r\n depth = circular.depth;\r\n prototype = circular.prototype;\r\n includeNonEnumerable = circular.includeNonEnumerable;\r\n circular = circular.circular;\r\n }\r\n // maintain two arrays for circular references, where corresponding parents\r\n // and children have the same index\r\n var allParents = [];\r\n var allChildren = [];\r\n\r\n var useBuffer = typeof Buffer != 'undefined';\r\n\r\n if (typeof circular == 'undefined')\r\n circular = true;\r\n\r\n if (typeof depth == 'undefined')\r\n depth = Infinity;\r\n\r\n // recurse this function so we don't reset allParents and allChildren\r\n function _clone(parent, depth) {\r\n // cloning null always returns null\r\n if (parent === null)\r\n return null;\r\n\r\n if (depth === 0)\r\n return parent;\r\n\r\n var child;\r\n var proto;\r\n if (typeof parent != 'object') {\r\n return parent;\r\n }\r\n\r\n if (_instanceof(parent, nativeMap)) {\r\n child = new nativeMap();\r\n } else if (_instanceof(parent, nativeSet)) {\r\n child = new nativeSet();\r\n } else if (_instanceof(parent, nativePromise)) {\r\n child = new nativePromise(function (resolve, reject) {\r\n parent.then(function(value) {\r\n resolve(_clone(value, depth - 1));\r\n }, function(err) {\r\n reject(_clone(err, depth - 1));\r\n });\r\n });\r\n } else if (clone.__isArray(parent)) {\r\n child = [];\r\n } else if (clone.__isRegExp(parent)) {\r\n child = new RegExp(parent.source, __getRegExpFlags(parent));\r\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\r\n } else if (clone.__isDate(parent)) {\r\n child = new Date(parent.getTime());\r\n } else if (useBuffer && Buffer.isBuffer(parent)) {\r\n if (Buffer.from) {\r\n // Node.js >= 5.10.0\r\n child = Buffer.from(parent);\r\n } else {\r\n // Older Node.js versions\r\n child = new Buffer(parent.length);\r\n parent.copy(child);\r\n }\r\n return child;\r\n } else if (_instanceof(parent, Error)) {\r\n child = Object.create(parent);\r\n } else {\r\n if (typeof prototype == 'undefined') {\r\n proto = Object.getPrototypeOf(parent);\r\n child = Object.create(proto);\r\n }\r\n else {\r\n child = Object.create(prototype);\r\n proto = prototype;\r\n }\r\n }\r\n\r\n if (circular) {\r\n var index = allParents.indexOf(parent);\r\n\r\n if (index != -1) {\r\n return allChildren[index];\r\n }\r\n allParents.push(parent);\r\n allChildren.push(child);\r\n }\r\n\r\n if (_instanceof(parent, nativeMap)) {\r\n parent.forEach(function(value, key) {\r\n var keyChild = _clone(key, depth - 1);\r\n var valueChild = _clone(value, depth - 1);\r\n child.set(keyChild, valueChild);\r\n });\r\n }\r\n if (_instanceof(parent, nativeSet)) {\r\n parent.forEach(function(value) {\r\n var entryChild = _clone(value, depth - 1);\r\n child.add(entryChild);\r\n });\r\n }\r\n\r\n for (var i in parent) {\r\n var attrs = Object.getOwnPropertyDescriptor(parent, i);\r\n if (attrs) {\r\n child[i] = _clone(parent[i], depth - 1);\r\n }\r\n\r\n try {\r\n var objProperty = Object.getOwnPropertyDescriptor(parent, i);\r\n if (objProperty.set === 'undefined') {\r\n // no setter defined. Skip cloning this property\r\n continue;\r\n }\r\n child[i] = _clone(parent[i], depth - 1);\r\n } catch(e){\r\n if (e instanceof TypeError) {\r\n // when in strict mode, TypeError will be thrown if child[i] property only has a getter\r\n // we can't do anything about this, other than inform the user that this property cannot be set.\r\n continue\r\n } else if (e instanceof ReferenceError) {\r\n //this may happen in non strict mode\r\n continue\r\n }\r\n }\r\n\r\n }\r\n\r\n if (Object.getOwnPropertySymbols) {\r\n var symbols = Object.getOwnPropertySymbols(parent);\r\n for (var i = 0; i < symbols.length; i++) {\r\n // Don't need to worry about cloning a symbol because it is a primitive,\r\n // like a number or string.\r\n var symbol = symbols[i];\r\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\r\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\r\n continue;\r\n }\r\n child[symbol] = _clone(parent[symbol], depth - 1);\r\n Object.defineProperty(child, symbol, descriptor);\r\n }\r\n }\r\n\r\n if (includeNonEnumerable) {\r\n var allPropertyNames = Object.getOwnPropertyNames(parent);\r\n for (var i = 0; i < allPropertyNames.length; i++) {\r\n var propertyName = allPropertyNames[i];\r\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\r\n if (descriptor && descriptor.enumerable) {\r\n continue;\r\n }\r\n child[propertyName] = _clone(parent[propertyName], depth - 1);\r\n Object.defineProperty(child, propertyName, descriptor);\r\n }\r\n }\r\n\r\n return child;\r\n }\r\n\r\n return _clone(parent, depth);\r\n }\r\n\r\n /**\r\n * Simple flat clone using prototype, accepts only objects, usefull for property\r\n * override on FLAT configuration object (no nested props).\r\n *\r\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\r\n * works.\r\n */\r\n clone.clonePrototype = function clonePrototype(parent) {\r\n if (parent === null)\r\n return null;\r\n\r\n var c = function () {};\r\n c.prototype = parent;\r\n return new c();\r\n };\r\n\r\n// private utility functions\r\n\r\n function __objToStr(o) {\r\n return Object.prototype.toString.call(o);\r\n }\r\n clone.__objToStr = __objToStr;\r\n\r\n function __isDate(o) {\r\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\r\n }\r\n clone.__isDate = __isDate;\r\n\r\n function __isArray(o) {\r\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\r\n }\r\n clone.__isArray = __isArray;\r\n\r\n function __isRegExp(o) {\r\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\r\n }\r\n clone.__isRegExp = __isRegExp;\r\n\r\n function __getRegExpFlags(re) {\r\n var flags = '';\r\n if (re.global) flags += 'g';\r\n if (re.ignoreCase) flags += 'i';\r\n if (re.multiline) flags += 'm';\r\n return flags;\r\n }\r\n clone.__getRegExpFlags = __getRegExpFlags;\r\n\r\n return clone;\r\n})();\r\n\r\nexport default clone\r\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\r\n * 路由跳转方法,该方法相对于直接使用uni.xxx的好处是使用更加简单快捷\r\n * 并且带有路由拦截功能\r\n */\r\n\r\nclass Router {\r\n\tconstructor() {\r\n\t\t// 原始属性定义\r\n\t\tthis.config = {\r\n\t\t\ttype: 'navigateTo',\r\n\t\t\turl: '',\r\n\t\t\tdelta: 1, // navigateBack页面后退时,回退的层数\r\n\t\t\tparams: {}, // 传递的参数\r\n\t\t\tanimationType: 'pop-in', // 窗口动画,只在APP有效\r\n\t\t\tanimationDuration: 300, // 窗口动画持续时间,单位毫秒,只在APP有效\r\n\t\t\tintercept: false // 是否需要拦截\r\n\t\t}\r\n\t\t// 因为route方法是需要对外赋值给另外的对象使用,同时route内部有使用this,会导致route失去上下文\r\n\t\t// 这里在构造函数中进行this绑定\r\n\t\tthis.route = this.route.bind(this)\r\n\t}\r\n\r\n\t// 判断url前面是否有\"/\",如果没有则加上,否则无法跳转\r\n\taddRootPath(url) {\r\n\t\treturn url[0] === '/' ? url : `/${url}`\r\n\t}\r\n\r\n\t// 整合路由参数\r\n\tmixinParam(url, params) {\r\n\t\turl = url && this.addRootPath(url)\r\n\r\n\t\t// 使用正则匹配,主要依据是判断是否有\"/\",\"?\",\"=\"等,如“/page/index/index?name=mary\"\r\n\t\t// 如果有url中有get参数,转换后无需带上\"?\"\r\n\t\tlet query = ''\r\n\t\tif (/.*\\/.*\\?.*=.*/.test(url)) {\r\n\t\t\t// object对象转为get类型的参数\r\n\t\t\tquery = uni.$u.queryParams(params, false)\r\n\t\t\t// 因为已有get参数,所以后面拼接的参数需要带上\"&\"隔开\r\n\t\t\treturn url += `&${query}`\r\n\t\t}\r\n\t\t// 直接拼接参数,因为此处url中没有后面的query参数,也就没有\"?/&\"之类的符号\r\n\t\tquery = uni.$u.queryParams(params)\r\n\t\treturn url += query\r\n\t}\r\n\r\n\t// 对外的方法名称\r\n\tasync route(options = {}, params = {}) {\r\n\t\t// 合并用户的配置和内部的默认配置\r\n\t\tlet mergeConfig = {}\r\n\r\n\t\tif (typeof options === 'string') {\r\n\t\t\t// 如果options为字符串,则为route(url, params)的形式\r\n\t\t\tmergeConfig.url = this.mixinParam(options, params)\r\n\t\t\tmergeConfig.type = 'navigateTo'\r\n\t\t} else {\r\n\t\t\tmergeConfig = uni.$u.deepMerge(this.config, options)\r\n\t\t\t// 否则正常使用mergeConfig中的url和params进行拼接\r\n\t\t\tmergeConfig.url = this.mixinParam(options.url, options.params)\r\n\t\t}\r\n\r\n\t\t// 如果本次跳转的路径和本页面路径一致,不执行跳转,防止用户快速点击跳转按钮,造成多次跳转同一个页面的问题\r\n\t\tif (mergeConfig.url === uni.$u.page()) return\r\n\r\n\t\tif (params.intercept) {\r\n\t\t\tthis.config.intercept = params.intercept\r\n\t\t}\r\n\t\t// params参数也带给拦截器\r\n\t\tmergeConfig.params = params\r\n\t\t// 合并内外部参数\r\n\t\tmergeConfig = uni.$u.deepMerge(this.config, mergeConfig)\r\n\t\t// 判断用户是否定义了拦截器\r\n\t\tif (typeof uni.$u.routeIntercept === 'function') {\r\n\t\t\t// 定一个promise,根据用户执行resolve(true)或者resolve(false)来决定是否进行路由跳转\r\n\t\t\tconst isNext = await new Promise((resolve, reject) => {\r\n\t\t\t\tuni.$u.routeIntercept(mergeConfig, resolve)\r\n\t\t\t})\r\n\t\t\t// 如果isNext为true,则执行路由跳转\r\n\t\t\tisNext && this.openPage(mergeConfig)\r\n\t\t} else {\r\n\t\t\tthis.openPage(mergeConfig)\r\n\t\t}\r\n\t}\r\n\r\n\t// 执行路由跳转\r\n\topenPage(config) {\r\n\t\t// 解构参数\r\n\t\tconst {\r\n\t\t\turl,\r\n\t\t\ttype,\r\n\t\t\tdelta,\r\n\t\t\tanimationType,\r\n\t\t\tanimationDuration\r\n\t\t} = config\r\n\t\tif (config.type == 'navigateTo' || config.type == 'to') {\r\n\t\t\tuni.navigateTo({\r\n\t\t\t\turl,\r\n\t\t\t\tanimationType,\r\n\t\t\t\tanimationDuration\r\n\t\t\t})\r\n\t\t}\r\n\t\tif (config.type == 'redirectTo' || config.type == 'redirect') {\r\n\t\t\tuni.redirectTo({\r\n\t\t\t\turl\r\n\t\t\t})\r\n\t\t}\r\n\t\tif (config.type == 'switchTab' || config.type == 'tab') {\r\n\t\t\tuni.switchTab({\r\n\t\t\t\turl\r\n\t\t\t})\r\n\t\t}\r\n\t\tif (config.type == 'reLaunch' || config.type == 'launch') {\r\n\t\t\tuni.reLaunch({\r\n\t\t\t\turl\r\n\t\t\t})\r\n\t\t}\r\n\t\tif (config.type == 'navigateBack' || config.type == 'back') {\r\n\t\t\tuni.navigateBack({\r\n\t\t\t\tdelta\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport default (new Router()).route\r\n","// TODO(Babel 8): Remove this file.\n\nvar runtime = require('@babel/runtime/helpers/regeneratorRuntime')()\nmodule.exports = runtime\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\r\n * 求两个颜色之间的渐变值\r\n * @param {string} startColor 开始的颜色\r\n * @param {string} endColor 结束的颜色\r\n * @param {number} step 颜色等分的份额\r\n * */\r\nfunction colorGradient(startColor = 'rgb(0, 0, 0)', endColor = 'rgb(255, 255, 255)', step = 10) {\r\n const startRGB = hexToRgb(startColor, false) // 转换为rgb数组模式\r\n const startR = startRGB[0]\r\n const startG = startRGB[1]\r\n const startB = startRGB[2]\r\n\r\n const endRGB = hexToRgb(endColor, false)\r\n const endR = endRGB[0]\r\n const endG = endRGB[1]\r\n const endB = endRGB[2]\r\n\r\n const sR = (endR - startR) / step // 总差值\r\n const sG = (endG - startG) / step\r\n const sB = (endB - startB) / step\r\n const colorArr = []\r\n for (let i = 0; i < step; i++) {\r\n // 计算每一步的hex值\r\n let hex = rgbToHex(`rgb(${Math.round((sR * i + startR))},${Math.round((sG * i + startG))},${Math.round((sB\r\n\t\t\t* i + startB))})`)\r\n // 确保第一个颜色值为startColor的值\r\n if (i === 0) hex = rgbToHex(startColor)\r\n // 确保最后一个颜色值为endColor的值\r\n if (i === step - 1) hex = rgbToHex(endColor)\r\n colorArr.push(hex)\r\n }\r\n return colorArr\r\n}\r\n\r\n// 将hex表示方式转换为rgb表示方式(这里返回rgb数组模式)\r\nfunction hexToRgb(sColor, str = true) {\r\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/\r\n sColor = String(sColor).toLowerCase()\r\n if (sColor && reg.test(sColor)) {\r\n if (sColor.length === 4) {\r\n let sColorNew = '#'\r\n for (let i = 1; i < 4; i += 1) {\r\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1))\r\n }\r\n sColor = sColorNew\r\n }\r\n // 处理六位的颜色值\r\n const sColorChange = []\r\n for (let i = 1; i < 7; i += 2) {\r\n sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`))\r\n }\r\n if (!str) {\r\n return sColorChange\r\n }\r\n return `rgb(${sColorChange[0]},${sColorChange[1]},${sColorChange[2]})`\r\n } if (/^(rgb|RGB)/.test(sColor)) {\r\n const arr = sColor.replace(/(?:\\(|\\)|rgb|RGB)*/g, '').split(',')\r\n return arr.map((val) => Number(val))\r\n }\r\n return sColor\r\n}\r\n\r\n// 将rgb表示方式转换为hex表示方式\r\nfunction rgbToHex(rgb) {\r\n const _this = rgb\r\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/\r\n if (/^(rgb|RGB)/.test(_this)) {\r\n const aColor = _this.replace(/(?:\\(|\\)|rgb|RGB)*/g, '').split(',')\r\n let strHex = '#'\r\n for (let i = 0; i < aColor.length; i++) {\r\n let hex = Number(aColor[i]).toString(16)\r\n hex = String(hex).length == 1 ? `${0}${hex}` : hex // 保证每个rgb的值为2位\r\n if (hex === '0') {\r\n hex += hex\r\n }\r\n strHex += hex\r\n }\r\n if (strHex.length !== 7) {\r\n strHex = _this\r\n }\r\n return strHex\r\n } if (reg.test(_this)) {\r\n const aNum = _this.replace(/#/, '').split('')\r\n if (aNum.length === 6) {\r\n return _this\r\n } if (aNum.length === 3) {\r\n let numHex = '#'\r\n for (let i = 0; i < aNum.length; i += 1) {\r\n numHex += (aNum[i] + aNum[i])\r\n }\r\n return numHex\r\n }\r\n } else {\r\n return _this\r\n }\r\n}\r\n\r\n/**\r\n* JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串\r\n* sHex为传入的十六进制的色值\r\n* alpha为rgba的透明度\r\n*/\r\nfunction colorToRgba(color, alpha) {\r\n color = rgbToHex(color)\r\n // 十六进制颜色值的正则表达式\r\n const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/\r\n /* 16进制颜色转为RGB格式 */\r\n let sColor = String(color).toLowerCase()\r\n if (sColor && reg.test(sColor)) {\r\n if (sColor.length === 4) {\r\n let sColorNew = '#'\r\n for (let i = 1; i < 4; i += 1) {\r\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1))\r\n }\r\n sColor = sColorNew\r\n }\r\n // 处理六位的颜色值\r\n const sColorChange = []\r\n for (let i = 1; i < 7; i += 2) {\r\n sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`))\r\n }\r\n // return sColorChange.join(',')\r\n return `rgba(${sColorChange.join(',')},${alpha})`\r\n }\r\n\r\n return sColor\r\n}\r\n\r\nexport default {\r\n colorGradient,\r\n hexToRgb,\r\n rgbToHex,\r\n colorToRgba\r\n}\r\n","/**\r\n * 验证电子邮箱格式\r\n */\r\nfunction email(value) {\r\n return /^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$/.test(value)\r\n}\r\n\r\n/**\r\n * 验证手机格式\r\n */\r\nfunction mobile(value) {\r\n return /^1([3589]\\d|4[5-9]|6[1-2,4-7]|7[0-8])\\d{8}$/.test(value)\r\n}\r\n\r\n/**\r\n * 验证URL格式\r\n */\r\nfunction url(value) {\r\n return /^((https|http|ftp|rtsp|mms):\\/\\/)(([0-9a-zA-Z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z].[a-zA-Z]{2,6})(:[0-9]{1,4})?((\\/?)|(\\/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+\\/?)$/\r\n .test(value)\r\n}\r\n\r\n/**\r\n * 验证日期格式\r\n */\r\nfunction date(value) {\r\n if (!value) return false\r\n // 判断是否数值或者字符串数值(意味着为时间戳),转为数值,否则new Date无法识别字符串时间戳\r\n if (number(value)) value = +value\r\n return !/Invalid|NaN/.test(new Date(value).toString())\r\n}\r\n\r\n/**\r\n * 验证ISO类型的日期格式\r\n */\r\nfunction dateISO(value) {\r\n return /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(value)\r\n}\r\n\r\n/**\r\n * 验证十进制数字\r\n */\r\nfunction number(value) {\r\n return /^[\\+-]?(\\d+\\.?\\d*|\\.\\d+|\\d\\.\\d+e\\+\\d+)$/.test(value)\r\n}\r\n\r\n/**\r\n * 验证字符串\r\n */\r\nfunction string(value) {\r\n return typeof value === 'string'\r\n}\r\n\r\n/**\r\n * 验证整数\r\n */\r\nfunction digits(value) {\r\n return /^\\d+$/.test(value)\r\n}\r\n\r\n/**\r\n * 验证身份证号码\r\n */\r\nfunction idCard(value) {\r\n return /^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/.test(\r\n value\r\n )\r\n}\r\n\r\n/**\r\n * 是否车牌号\r\n */\r\nfunction carNo(value) {\r\n // 新能源车牌\r\n const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/\r\n // 旧车牌\r\n const creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/\r\n if (value.length === 7) {\r\n return creg.test(value)\r\n } if (value.length === 8) {\r\n return xreg.test(value)\r\n }\r\n return false\r\n}\r\n\r\n/**\r\n * 金额,只允许2位小数\r\n */\r\nfunction amount(value) {\r\n // 金额,只允许保留两位小数\r\n return /^[1-9]\\d*(,\\d{3})*(\\.\\d{1,2})?$|^0\\.\\d{1,2}$/.test(value)\r\n}\r\n\r\n/**\r\n * 中文\r\n */\r\nfunction chinese(value) {\r\n const reg = /^[\\u4e00-\\u9fa5]+$/gi\r\n return reg.test(value)\r\n}\r\n\r\n/**\r\n * 只能输入字母\r\n */\r\nfunction letter(value) {\r\n return /^[a-zA-Z]*$/.test(value)\r\n}\r\n\r\n/**\r\n * 只能是字母或者数字\r\n */\r\nfunction enOrNum(value) {\r\n // 英文或者数字\r\n const reg = /^[0-9a-zA-Z]*$/g\r\n return reg.test(value)\r\n}\r\n\r\n/**\r\n * 验证是否包含某个值\r\n */\r\nfunction contains(value, param) {\r\n return value.indexOf(param) >= 0\r\n}\r\n\r\n/**\r\n * 验证一个值范围[min, max]\r\n */\r\nfunction range(value, param) {\r\n return value >= param[0] && value <= param[1]\r\n}\r\n\r\n/**\r\n * 验证一个长度范围[min, max]\r\n */\r\nfunction rangeLength(value, param) {\r\n return value.length >= param[0] && value.length <= param[1]\r\n}\r\n\r\n/**\r\n * 是否固定电话\r\n */\r\nfunction landline(value) {\r\n const reg = /^\\d{3,4}-\\d{7,8}(-\\d{3,4})?$/\r\n return reg.test(value)\r\n}\r\n\r\n/**\r\n * 判断是否为空\r\n */\r\nfunction empty(value) {\r\n switch (typeof value) {\r\n case 'undefined':\r\n return true\r\n case 'string':\r\n if (value.replace(/(^[ \\t\\n\\r]*)|([ \\t\\n\\r]*$)/g, '').length == 0) return true\r\n break\r\n case 'boolean':\r\n if (!value) return true\r\n break\r\n case 'number':\r\n if (value === 0 || isNaN(value)) return true\r\n break\r\n case 'object':\r\n if (value === null || value.length === 0) return true\r\n for (const i in value) {\r\n return false\r\n }\r\n return true\r\n }\r\n return false\r\n}\r\n\r\n/**\r\n * 是否json字符串\r\n */\r\nfunction jsonString(value) {\r\n if (typeof value === 'string') {\r\n try {\r\n const obj = JSON.parse(value)\r\n if (typeof obj === 'object' && obj) {\r\n return true\r\n }\r\n return false\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n return false\r\n}\r\n\r\n/**\r\n * 是否数组\r\n */\r\nfunction array(value) {\r\n if (typeof Array.isArray === 'function') {\r\n return Array.isArray(value)\r\n }\r\n return Object.prototype.toString.call(value) === '[object Array]'\r\n}\r\n\r\n/**\r\n * 是否对象\r\n */\r\nfunction object(value) {\r\n return Object.prototype.toString.call(value) === '[object Object]'\r\n}\r\n\r\n/**\r\n * 是否短信验证码\r\n */\r\nfunction code(value, len = 6) {\r\n return new RegExp(`^\\\\d{${len}}$`).test(value)\r\n}\r\n\r\n/**\r\n * 是否函数方法\r\n * @param {Object} value\r\n */\r\nfunction func(value) {\r\n return typeof value === 'function'\r\n}\r\n\r\n/**\r\n * 是否promise对象\r\n * @param {Object} value\r\n */\r\nfunction promise(value) {\r\n return object(value) && func(value.then) && func(value.catch)\r\n}\r\n\r\n/** 是否图片格式\r\n * @param {Object} value\r\n */\r\nfunction image(value) {\r\n const newValue = value.split('?')[0]\r\n const IMAGE_REGEXP = /\\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i\r\n return IMAGE_REGEXP.test(newValue)\r\n}\r\n\r\n/**\r\n * 是否视频格式\r\n * @param {Object} value\r\n */\r\nfunction video(value) {\r\n const VIDEO_REGEXP = /\\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv|m3u8)/i\r\n return VIDEO_REGEXP.test(value)\r\n}\r\n\r\n/**\r\n * 是否为正则对象\r\n * @param {Object}\r\n * @return {Boolean}\r\n */\r\nfunction regExp(o) {\r\n return o && Object.prototype.toString.call(o) === '[object RegExp]'\r\n}\r\n\r\nexport default {\r\n email,\r\n mobile,\r\n url,\r\n date,\r\n dateISO,\r\n number,\r\n digits,\r\n idCard,\r\n carNo,\r\n amount,\r\n chinese,\r\n letter,\r\n enOrNum,\r\n contains,\r\n range,\r\n rangeLength,\r\n empty,\r\n isEmpty: empty,\r\n jsonString,\r\n landline,\r\n object,\r\n array,\r\n code,\r\n func,\r\n promise,\r\n video,\r\n image,\r\n regExp,\r\n string\r\n}\r\n","let timeout = null\r\n\r\n/**\r\n * 防抖原理:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数\r\n *\r\n * @param {Function} func 要执行的回调函数\r\n * @param {Number} wait 延时的时间\r\n * @param {Boolean} immediate 是否立即执行\r\n * @return null\r\n */\r\nfunction debounce(func, wait = 500, immediate = false) {\r\n // 清除定时器\r\n if (timeout !== null) clearTimeout(timeout)\r\n // 立即执行,此类情况一般用不到\r\n if (immediate) {\r\n const callNow = !timeout\r\n timeout = setTimeout(() => {\r\n timeout = null\r\n }, wait)\r\n if (callNow) typeof func === 'function' && func()\r\n } else {\r\n // 设置定时器,当最后一次操作后,timeout不会再被清除,所以在延时wait毫秒后执行func回调方法\r\n timeout = setTimeout(() => {\r\n typeof func === 'function' && func()\r\n }, wait)\r\n }\r\n}\r\n\r\nexport default debounce\r\n","let timer; let\r\n flag\r\n/**\r\n * 节流原理:在一定时间内,只能触发一次\r\n *\r\n * @param {Function} func 要执行的回调函数\r\n * @param {Number} wait 延时的时间\r\n * @param {Boolean} immediate 是否立即执行\r\n * @return null\r\n */\r\nfunction throttle(func, wait = 500, immediate = true) {\r\n if (immediate) {\r\n if (!flag) {\r\n flag = true\r\n // 如果是立即执行,则在wait毫秒内开始时执行\r\n typeof func === 'function' && func()\r\n timer = setTimeout(() => {\r\n flag = false\r\n }, wait)\r\n }\r\n } else if (!flag) {\r\n flag = true\r\n // 如果是非立即执行,则在wait毫秒内的结束处执行\r\n timer = setTimeout(() => {\r\n flag = false\r\n typeof func === 'function' && func()\r\n }, wait)\r\n }\r\n}\r\nexport default throttle\r\n","import test from './test.js'\r\nimport { round } from './digit.js'\r\n/**\r\n * @description 如果value小于min,取min;如果value大于max,取max\r\n * @param {number} min\r\n * @param {number} max\r\n * @param {number} value\r\n */\r\nfunction range(min = 0, max = 0, value = 0) {\r\n\treturn Math.max(min, Math.min(max, Number(value)))\r\n}\r\n\r\n/**\r\n * @description 用于获取用户传递值的px值 如果用户传递了\"xxpx\"或者\"xxrpx\",取出其数值部分,如果是\"xxxrpx\"还需要用过uni.upx2px进行转换\r\n * @param {number|string} value 用户传递值的px值\r\n * @param {boolean} unit\r\n * @returns {number|string}\r\n */\r\nfunction getPx(value, unit = false) {\r\n\tif (test.number(value)) {\r\n\t\treturn unit ? `${value}px` : Number(value)\r\n\t}\r\n\t// 如果带有rpx,先取出其数值部分,再转为px值\r\n\tif (/(rpx|upx)$/.test(value)) {\r\n\t\treturn unit ? `${uni.upx2px(parseInt(value))}px` : Number(uni.upx2px(parseInt(value)))\r\n\t}\r\n\treturn unit ? `${parseInt(value)}px` : parseInt(value)\r\n}\r\n\r\n/**\r\n * @description 进行延时,以达到可以简写代码的目的 比如: await uni.$u.sleep(20)将会阻塞20ms\r\n * @param {number} value 堵塞时间 单位ms 毫秒\r\n * @returns {Promise} 返回promise\r\n */\r\nfunction sleep(value = 30) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tresolve()\r\n\t\t}, value)\r\n\t})\r\n}\r\n/**\r\n * @description 运行期判断平台\r\n * @returns {string} 返回所在平台(小写)\r\n * @link 运行期判断平台 https://uniapp.dcloud.io/frame?id=判断平台\r\n */\r\nfunction os() {\r\n\treturn uni.getSystemInfoSync().platform.toLowerCase()\r\n}\r\n/**\r\n * @description 获取系统信息同步接口\r\n * @link 获取系统信息同步接口 https://uniapp.dcloud.io/api/system/info?id=getsysteminfosync\r\n */\r\nfunction sys() {\r\n\treturn uni.getSystemInfoSync()\r\n}\r\n\r\n/**\r\n * @description 取一个区间数\r\n * @param {Number} min 最小值\r\n * @param {Number} max 最大值\r\n */\r\nfunction random(min, max) {\r\n\tif (min >= 0 && max > 0 && max >= min) {\r\n\t\tconst gab = max - min + 1\r\n\t\treturn Math.floor(Math.random() * gab + min)\r\n\t}\r\n\treturn 0\r\n}\r\n\r\n/**\r\n * @param {Number} len uuid的长度\r\n * @param {Boolean} firstU 将返回的首字母置为\"u\"\r\n * @param {Nubmer} radix 生成uuid的基数(意味着返回的字符串都是这个基数),2-二进制,8-八进制,10-十进制,16-十六进制\r\n */\r\nfunction guid(len = 32, firstU = true, radix = null) {\r\n\tconst chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')\r\n\tconst uuid = []\r\n\tradix = radix || chars.length\r\n\r\n\tif (len) {\r\n\t\t// 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位\r\n\t\tfor (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]\r\n\t} else {\r\n\t\tlet r\r\n\t\t// rfc4122标准要求返回的uuid中,某些位为固定的字符\r\n\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'\r\n\t\tuuid[14] = '4'\r\n\r\n\t\tfor (let i = 0; i < 36; i++) {\r\n\t\t\tif (!uuid[i]) {\r\n\t\t\t\tr = 0 | Math.random() * 16\r\n\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// 移除第一个字符,并用u替代,因为第一个字符为数值时,该guuid不能用作id或者class\r\n\tif (firstU) {\r\n\t\tuuid.shift()\r\n\t\treturn `u${uuid.join('')}`\r\n\t}\r\n\treturn uuid.join('')\r\n}\r\n\r\n/**\r\n* @description 获取父组件的参数,因为支付宝小程序不支持provide/inject的写法\r\n this.$parent在非H5中,可以准确获取到父组件,但是在H5中,需要多次this.$parent.$parent.xxx\r\n 这里默认值等于undefined有它的含义,因为最顶层元素(组件)的$parent就是undefined,意味着不传name\r\n 值(默认为undefined),就是查找最顶层的$parent\r\n* @param {string|undefined} name 父组件的参数名\r\n*/\r\nfunction $parent(name = undefined) {\r\n\tlet parent = this.$parent\r\n\t// 通过while历遍,这里主要是为了H5需要多层解析的问题\r\n\twhile (parent) {\r\n\t\t// 父组件\r\n\t\tif (parent.$options && parent.$options.name !== name) {\r\n\t\t\t// 如果组件的name不相等,继续上一级寻找\r\n\t\t\tparent = parent.$parent\r\n\t\t} else {\r\n\t\t\treturn parent\r\n\t\t}\r\n\t}\r\n\treturn false\r\n}\r\n\r\n/**\r\n * @description 样式转换\r\n * 对象转字符串,或者字符串转对象\r\n * @param {object | string} customStyle 需要转换的目标\r\n * @param {String} target 转换的目的,object-转为对象,string-转为字符串\r\n * @returns {object|string}\r\n */\r\nfunction addStyle(customStyle, target = 'object') {\r\n\t// 字符串转字符串,对象转对象情形,直接返回\r\n\tif (test.empty(customStyle) || typeof(customStyle) === 'object' && target === 'object' || target === 'string' &&\r\n\t\ttypeof(customStyle) === 'string') {\r\n\t\treturn customStyle\r\n\t}\r\n\t// 字符串转对象\r\n\tif (target === 'object') {\r\n\t\t// 去除字符串样式中的两端空格(中间的空格不能去掉,比如padding: 20px 0如果去掉了就错了),空格是无用的\r\n\t\tcustomStyle = trim(customStyle)\r\n\t\t// 根据\";\"将字符串转为数组形式\r\n\t\tconst styleArray = customStyle.split(';')\r\n\t\tconst style = {}\r\n\t\t// 历遍数组,拼接成对象\r\n\t\tfor (let i = 0; i < styleArray.length; i++) {\r\n\t\t\t// 'font-size:20px;color:red;',如此最后字符串有\";\"的话,会导致styleArray最后一个元素为空字符串,这里需要过滤\r\n\t\t\tif (styleArray[i]) {\r\n\t\t\t\tconst item = styleArray[i].split(':')\r\n\t\t\t\tstyle[trim(item[0])] = trim(item[1])\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn style\r\n\t}\r\n\t// 这里为对象转字符串形式\r\n\tlet string = ''\r\n\tfor (const i in customStyle) {\r\n\t\t// 驼峰转为中划线的形式,否则css内联样式,无法识别驼峰样式属性名\r\n\t\tconst key = i.replace(/([A-Z])/g, '-$1').toLowerCase()\r\n\t\tstring += `${key}:${customStyle[i]};`\r\n\t}\r\n\t// 去除两端空格\r\n\treturn trim(string)\r\n}\r\n\r\n/**\r\n * @description 添加单位,如果有rpx,upx,%,px等单位结尾或者值为auto,直接返回,否则加上px单位结尾\r\n * @param {string|number} value 需要添加单位的值\r\n * @param {string} unit 添加的单位名 比如px\r\n */\r\nfunction addUnit(value = 'auto', unit = uni?.$u?.config?.unit ?? 'px') {\r\n\tvalue = String(value)\r\n\t// 用uView内置验证规则中的number判断是否为数值\r\n\treturn test.number(value) ? `${value}${unit}` : value\r\n}\r\n\r\n/**\r\n * @description 深度克隆\r\n * @param {object} obj 需要深度克隆的对象\r\n * @param cache 缓存\r\n * @returns {*} 克隆后的对象或者原值(不是对象)\r\n */\r\nfunction deepClone(obj, cache = new WeakMap()) {\r\n\tif (obj === null || typeof obj !== 'object') return obj;\r\n\tif (cache.has(obj)) return cache.get(obj);\r\n\tlet clone;\r\n\tif (obj instanceof Date) {\r\n\t\tclone = new Date(obj.getTime());\r\n\t} else if (obj instanceof RegExp) {\r\n\t\tclone = new RegExp(obj);\r\n\t} else if (obj instanceof Map) {\r\n\t\tclone = new Map(Array.from(obj, ([key, value]) => [key, deepClone(value, cache)]));\r\n\t} else if (obj instanceof Set) {\r\n\t\tclone = new Set(Array.from(obj, value => deepClone(value, cache)));\r\n\t} else if (Array.isArray(obj)) {\r\n\t\tclone = obj.map(value => deepClone(value, cache));\r\n\t} else if (Object.prototype.toString.call(obj) === '[object Object]') {\r\n\t\tclone = Object.create(Object.getPrototypeOf(obj));\r\n\t\tcache.set(obj, clone);\r\n\t\tfor (const [key, value] of Object.entries(obj)) {\r\n\t\t\tclone[key] = deepClone(value, cache);\r\n\t\t}\r\n\t} else {\r\n\t\tclone = Object.assign({}, obj);\r\n\t}\r\n\tcache.set(obj, clone);\r\n\treturn clone;\r\n}\r\n\r\n/**\r\n * @description JS对象深度合并\r\n * @param {object} target 需要拷贝的对象\r\n * @param {object} source 拷贝的来源对象\r\n * @returns {object|boolean} 深度合并后的对象或者false(入参有不是对象)\r\n */\r\nfunction deepMerge(target = {}, source = {}) {\r\n\ttarget = deepClone(target)\r\n\tif (typeof target !== 'object' || target === null || typeof source !== 'object' || source === null) return target;\r\n\tconst merged = Array.isArray(target) ? target.slice() : Object.assign({}, target);\r\n\tfor (const prop in source) {\r\n\t\tif (!source.hasOwnProperty(prop)) continue;\r\n\t\tconst sourceValue = source[prop];\r\n\t\tconst targetValue = merged[prop];\r\n\t\tif (sourceValue instanceof Date) {\r\n\t\t\tmerged[prop] = new Date(sourceValue);\r\n\t\t} else if (sourceValue instanceof RegExp) {\r\n\t\t\tmerged[prop] = new RegExp(sourceValue);\r\n\t\t} else if (sourceValue instanceof Map) {\r\n\t\t\tmerged[prop] = new Map(sourceValue);\r\n\t\t} else if (sourceValue instanceof Set) {\r\n\t\t\tmerged[prop] = new Set(sourceValue);\r\n\t\t} else if (typeof sourceValue === 'object' && sourceValue !== null) {\r\n\t\t\tmerged[prop] = deepMerge(targetValue, sourceValue);\r\n\t\t} else {\r\n\t\t\tmerged[prop] = sourceValue;\r\n\t\t}\r\n\t}\r\n\treturn merged;\r\n}\r\n\r\n/**\r\n * @description error提示\r\n * @param {*} err 错误内容\r\n */\r\nfunction error(err) {\r\n\t// 开发环境才提示,生产环境不会提示\r\n\tif (process.env.NODE_ENV === 'development') {\r\n\t\tconsole.error(`uView提示:${err}`)\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 打乱数组\r\n * @param {array} array 需要打乱的数组\r\n * @returns {array} 打乱后的数组\r\n */\r\nfunction randomArray(array = []) {\r\n\t// 原理是sort排序,Math.random()产生0<= x < 1之间的数,会导致x-0.05大于或者小于0\r\n\treturn array.sort(() => Math.random() - 0.5)\r\n}\r\n\r\n// padStart 的 polyfill,因为某些机型或情况,还无法支持es7的padStart,比如电脑版的微信小程序\r\n// 所以这里做一个兼容polyfill的兼容处理\r\nif (!String.prototype.padStart) {\r\n\t// 为了方便表示这里 fillString 用了ES6 的默认参数,不影响理解\r\n\tString.prototype.padStart = function(maxLength, fillString = ' ') {\r\n\t\tif (Object.prototype.toString.call(fillString) !== '[object String]') {\r\n\t\t\tthrow new TypeError(\r\n\t\t\t\t'fillString must be String'\r\n\t\t\t)\r\n\t\t}\r\n\t\tconst str = this\r\n\t\t// 返回 String(str) 这里是为了使返回的值是字符串字面量,在控制台中更符合直觉\r\n\t\tif (str.length >= maxLength) return String(str)\r\n\r\n\t\tconst fillLength = maxLength - str.length\r\n\t\tlet times = Math.ceil(fillLength / fillString.length)\r\n\t\twhile (times >>= 1) {\r\n\t\t\tfillString += fillString\r\n\t\t\tif (times === 1) {\r\n\t\t\t\tfillString += fillString\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn fillString.slice(0, fillLength) + str\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 格式化时间\r\n * @param {String|Number} dateTime 需要格式化的时间戳\r\n * @param {String} fmt 格式化规则 yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合 默认yyyy-mm-dd\r\n * @returns {string} 返回格式化后的字符串\r\n */\r\n function timeFormat(dateTime = null, formatStr = 'yyyy-mm-dd') {\r\n let date\r\n\t// 若传入时间为假值,则取当前时间\r\n if (!dateTime) {\r\n date = new Date()\r\n }\r\n // 若为unix秒时间戳,则转为毫秒时间戳(逻辑有点奇怪,但不敢改,以保证历史兼容)\r\n else if (/^\\d{10}$/.test(dateTime?.toString().trim())) {\r\n date = new Date(dateTime * 1000)\r\n }\r\n // 若用户传入字符串格式时间戳,new Date无法解析,需做兼容\r\n else if (typeof dateTime === 'string' && /^\\d+$/.test(dateTime.trim())) {\r\n date = new Date(Number(dateTime))\r\n }\r\n\t// 处理平台性差异,在Safari/Webkit中,new Date仅支持/作为分割符的字符串时间\r\n\t// 处理 '2022-07-10 01:02:03',跳过 '2022-07-10T01:02:03'\r\n\telse if (typeof dateTime === 'string' && dateTime.includes('-') && !dateTime.includes('T')) {\r\n\t\tdate = new Date(dateTime.replace(/-/g, '/'))\r\n\t}\r\n\t// 其他都认为符合 RFC 2822 规范\r\n\telse {\r\n\t\tdate = new Date(dateTime)\r\n\t}\r\n\r\n\tconst timeSource = {\r\n\t\t'y': date.getFullYear().toString(), // 年\r\n\t\t'm': (date.getMonth() + 1).toString().padStart(2, '0'), // 月\r\n\t\t'd': date.getDate().toString().padStart(2, '0'), // 日\r\n\t\t'h': date.getHours().toString().padStart(2, '0'), // 时\r\n\t\t'M': date.getMinutes().toString().padStart(2, '0'), // 分\r\n\t\t's': date.getSeconds().toString().padStart(2, '0') // 秒\r\n\t\t// 有其他格式化字符需求可以继续添加,必须转化成字符串\r\n\t}\r\n\r\n for (const key in timeSource) {\r\n const [ret] = new RegExp(`${key}+`).exec(formatStr) || []\r\n if (ret) {\r\n // 年可能只需展示两位\r\n const beginIndex = key === 'y' && ret.length === 2 ? 2 : 0\r\n formatStr = formatStr.replace(ret, timeSource[key].slice(beginIndex))\r\n }\r\n }\r\n\r\n return formatStr\r\n}\r\n\r\n/**\r\n * @description 时间戳转为多久之前\r\n * @param {String|Number} timestamp 时间戳\r\n * @param {String|Boolean} format\r\n * 格式化规则如果为时间格式字符串,超出一定时间范围,返回固定的时间格式;\r\n * 如果为布尔值false,无论什么时间,都返回多久以前的格式\r\n * @returns {string} 转化后的内容\r\n */\r\nfunction timeFrom(timestamp = null, format = 'yyyy-mm-dd') {\r\n\tif (timestamp == null) timestamp = Number(new Date())\r\n\ttimestamp = parseInt(timestamp)\r\n\t// 判断用户输入的时间戳是秒还是毫秒,一般前端js获取的时间戳是毫秒(13位),后端传过来的为秒(10位)\r\n\tif (timestamp.toString().length == 10) timestamp *= 1000\r\n\tlet timer = (new Date()).getTime() - timestamp\r\n\ttimer = parseInt(timer / 1000)\r\n\t// 如果小于5分钟,则返回\"刚刚\",其他以此类推\r\n\tlet tips = ''\r\n\tswitch (true) {\r\n\t\tcase timer < 300:\r\n\t\t\ttips = '刚刚'\r\n\t\t\tbreak\r\n\t\tcase timer >= 300 && timer < 3600:\r\n\t\t\ttips = `${parseInt(timer / 60)}分钟前`\r\n\t\t\tbreak\r\n\t\tcase timer >= 3600 && timer < 86400:\r\n\t\t\ttips = `${parseInt(timer / 3600)}小时前`\r\n\t\t\tbreak\r\n\t\tcase timer >= 86400 && timer < 2592000:\r\n\t\t\ttips = `${parseInt(timer / 86400)}天前`\r\n\t\t\tbreak\r\n\t\tdefault:\r\n\t\t\t// 如果format为false,则无论什么时间戳,都显示xx之前\r\n\t\t\tif (format === false) {\r\n\t\t\t\tif (timer >= 2592000 && timer < 365 * 86400) {\r\n\t\t\t\t\ttips = `${parseInt(timer / (86400 * 30))}个月前`\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttips = `${parseInt(timer / (86400 * 365))}年前`\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\ttips = timeFormat(timestamp, format)\r\n\t\t\t}\r\n\t}\r\n\treturn tips\r\n}\r\n\r\n/**\r\n * @description 去除空格\r\n * @param String str 需要去除空格的字符串\r\n * @param String pos both(左右)|left|right|all 默认both\r\n */\r\nfunction trim(str, pos = 'both') {\r\n\tstr = String(str)\r\n\tif (pos == 'both') {\r\n\t\treturn str.replace(/^\\s+|\\s+$/g, '')\r\n\t}\r\n\tif (pos == 'left') {\r\n\t\treturn str.replace(/^\\s*/, '')\r\n\t}\r\n\tif (pos == 'right') {\r\n\t\treturn str.replace(/(\\s*$)/g, '')\r\n\t}\r\n\tif (pos == 'all') {\r\n\t\treturn str.replace(/\\s+/g, '')\r\n\t}\r\n\treturn str\r\n}\r\n\r\n/**\r\n * @description 对象转url参数\r\n * @param {object} data,对象\r\n * @param {Boolean} isPrefix,是否自动加上\"?\"\r\n * @param {string} arrayFormat 规则 indices|brackets|repeat|comma\r\n */\r\nfunction queryParams(data = {}, isPrefix = true, arrayFormat = 'brackets') {\r\n\tconst prefix = isPrefix ? '?' : ''\r\n\tconst _result = []\r\n\tif (['indices', 'brackets', 'repeat', 'comma'].indexOf(arrayFormat) == -1) arrayFormat = 'brackets'\r\n\tfor (const key in data) {\r\n\t\tconst value = data[key]\r\n\t\t// 去掉为空的参数\r\n\t\tif (['', undefined, null].indexOf(value) >= 0) {\r\n\t\t\tcontinue\r\n\t\t}\r\n\t\t// 如果值为数组,另行处理\r\n\t\tif (value.constructor === Array) {\r\n\t\t\t// e.g. {ids: [1, 2, 3]}\r\n\t\t\tswitch (arrayFormat) {\r\n\t\t\t\tcase 'indices':\r\n\t\t\t\t\t// 结果: ids[0]=1&ids[1]=2&ids[2]=3\r\n\t\t\t\t\tfor (let i = 0; i < value.length; i++) {\r\n\t\t\t\t\t\t_result.push(`${key}[${i}]=${value[i]}`)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'brackets':\r\n\t\t\t\t\t// 结果: ids[]=1&ids[]=2&ids[]=3\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}[]=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'repeat':\r\n\t\t\t\t\t// 结果: ids=1&ids=2&ids=3\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'comma':\r\n\t\t\t\t\t// 结果: ids=1,2,3\r\n\t\t\t\t\tlet commaStr = ''\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\tcommaStr += (commaStr ? ',' : '') + _value\r\n\t\t\t\t\t})\r\n\t\t\t\t\t_result.push(`${key}=${commaStr}`)\r\n\t\t\t\t\tbreak\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tvalue.forEach((_value) => {\r\n\t\t\t\t\t\t_result.push(`${key}[]=${_value}`)\r\n\t\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t_result.push(`${key}=${value}`)\r\n\t\t}\r\n\t}\r\n\treturn _result.length ? prefix + _result.join('&') : ''\r\n}\r\n\r\n/**\r\n * 显示消息提示框\r\n * @param {String} title 提示的内容,长度与 icon 取值有关。\r\n * @param {Number} duration 提示的延迟时间,单位毫秒,默认:2000\r\n */\r\nfunction toast(title, duration = 2000) {\r\n\tuni.showToast({\r\n\t\ttitle: String(title),\r\n\t\ticon: 'none',\r\n\t\tduration\r\n\t})\r\n}\r\n\r\n/**\r\n * @description 根据主题type值,获取对应的图标\r\n * @param {String} type 主题名称,primary|info|error|warning|success\r\n * @param {boolean} fill 是否使用fill填充实体的图标\r\n */\r\nfunction type2icon(type = 'success', fill = false) {\r\n\t// 如果非预置值,默认为success\r\n\tif (['primary', 'info', 'error', 'warning', 'success'].indexOf(type) == -1) type = 'success'\r\n\tlet iconName = ''\r\n\t// 目前(2019-12-12),info和primary使用同一个图标\r\n\tswitch (type) {\r\n\t\tcase 'primary':\r\n\t\t\ticonName = 'info-circle'\r\n\t\t\tbreak\r\n\t\tcase 'info':\r\n\t\t\ticonName = 'info-circle'\r\n\t\t\tbreak\r\n\t\tcase 'error':\r\n\t\t\ticonName = 'close-circle'\r\n\t\t\tbreak\r\n\t\tcase 'warning':\r\n\t\t\ticonName = 'error-circle'\r\n\t\t\tbreak\r\n\t\tcase 'success':\r\n\t\t\ticonName = 'checkmark-circle'\r\n\t\t\tbreak\r\n\t\tdefault:\r\n\t\t\ticonName = 'checkmark-circle'\r\n\t}\r\n\t// 是否是实体类型,加上-fill,在icon组件库中,实体的类名是后面加-fill的\r\n\tif (fill) iconName += '-fill'\r\n\treturn iconName\r\n}\r\n\r\n/**\r\n * @description 数字格式化\r\n * @param {number|string} number 要格式化的数字\r\n * @param {number} decimals 保留几位小数\r\n * @param {string} decimalPoint 小数点符号\r\n * @param {string} thousandsSeparator 千分位符号\r\n * @returns {string} 格式化后的数字\r\n */\r\nfunction priceFormat(number, decimals = 0, decimalPoint = '.', thousandsSeparator = ',') {\r\n\tnumber = (`${number}`).replace(/[^0-9+-Ee.]/g, '')\r\n\tconst n = !isFinite(+number) ? 0 : +number\r\n\tconst prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)\r\n\tconst sep = (typeof thousandsSeparator === 'undefined') ? ',' : thousandsSeparator\r\n\tconst dec = (typeof decimalPoint === 'undefined') ? '.' : decimalPoint\r\n\tlet s = ''\r\n\r\n\ts = (prec ? round(n, prec) + '' : `${Math.round(n)}`).split('.')\r\n\tconst re = /(-?\\d+)(\\d{3})/\r\n\twhile (re.test(s[0])) {\r\n\t\ts[0] = s[0].replace(re, `$1${sep}$2`)\r\n\t}\r\n\r\n\tif ((s[1] || '').length < prec) {\r\n\t\ts[1] = s[1] || ''\r\n\t\ts[1] += new Array(prec - s[1].length + 1).join('0')\r\n\t}\r\n\treturn s.join(dec)\r\n}\r\n\r\n/**\r\n * @description 获取duration值\r\n * 如果带有ms或者s直接返回,如果大于一定值,认为是ms单位,小于一定值,认为是s单位\r\n * 比如以30位阈值,那么300大于30,可以理解为用户想要的是300ms,而不是想花300s去执行一个动画\r\n * @param {String|number} value 比如: \"1s\"|\"100ms\"|1|100\r\n * @param {boolean} unit 提示: 如果是false 默认返回number\r\n * @return {string|number}\r\n */\r\nfunction getDuration(value, unit = true) {\r\n\tconst valueNum = parseInt(value)\r\n\tif (unit) {\r\n\t\tif (/s$/.test(value)) return value\r\n\t\treturn value > 30 ? `${value}ms` : `${value}s`\r\n\t}\r\n\tif (/ms$/.test(value)) return valueNum\r\n\tif (/s$/.test(value)) return valueNum > 30 ? valueNum : valueNum * 1000\r\n\treturn valueNum\r\n}\r\n\r\n/**\r\n * @description 日期的月或日补零操作\r\n * @param {String} value 需要补零的值\r\n */\r\nfunction padZero(value) {\r\n\treturn `00${value}`.slice(-2)\r\n}\r\n\r\n/**\r\n * @description 在u-form的子组件内容发生变化,或者失去焦点时,尝试通知u-form执行校验方法\r\n * @param {*} instance\r\n * @param {*} event\r\n */\r\nfunction formValidate(instance, event) {\r\n\tconst formItem = uni.$u.$parent.call(instance, 'u-form-item')\r\n\tconst form = uni.$u.$parent.call(instance, 'u-form')\r\n\t// 如果发生变化的input或者textarea等,其父组件中有u-form-item或者u-form等,就执行form的validate方法\r\n\t// 同时将form-item的pros传递给form,让其进行精确对象验证\r\n\tif (formItem && form) {\r\n\t\tform.validateField(formItem.prop, () => {}, event)\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 获取某个对象下的属性,用于通过类似'a.b.c'的形式去获取一个对象的的属性的形式\r\n * @param {object} obj 对象\r\n * @param {string} key 需要获取的属性字段\r\n * @returns {*}\r\n */\r\nfunction getProperty(obj, key) {\r\n\tif (!obj) {\r\n\t\treturn\r\n\t}\r\n\tif (typeof key !== 'string' || key === '') {\r\n\t\treturn ''\r\n\t}\r\n\tif (key.indexOf('.') !== -1) {\r\n\t\tconst keys = key.split('.')\r\n\t\tlet firstObj = obj[keys[0]] || {}\r\n\r\n\t\tfor (let i = 1; i < keys.length; i++) {\r\n\t\t\tif (firstObj) {\r\n\t\t\t\tfirstObj = firstObj[keys[i]]\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn firstObj\r\n\t}\r\n\treturn obj[key]\r\n}\r\n\r\n/**\r\n * @description 设置对象的属性值,如果'a.b.c'的形式进行设置\r\n * @param {object} obj 对象\r\n * @param {string} key 需要设置的属性\r\n * @param {string} value 设置的值\r\n */\r\nfunction setProperty(obj, key, value) {\r\n\tif (!obj) {\r\n\t\treturn\r\n\t}\r\n\t// 递归赋值\r\n\tconst inFn = function(_obj, keys, v) {\r\n\t\t// 最后一个属性key\r\n\t\tif (keys.length === 1) {\r\n\t\t\t_obj[keys[0]] = v\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// 0~length-1个key\r\n\t\twhile (keys.length > 1) {\r\n\t\t\tconst k = keys[0]\r\n\t\t\tif (!_obj[k] || (typeof _obj[k] !== 'object')) {\r\n\t\t\t\t_obj[k] = {}\r\n\t\t\t}\r\n\t\t\tconst key = keys.shift()\r\n\t\t\t// 自调用判断是否存在属性,不存在则自动创建对象\r\n\t\t\tinFn(_obj[k], keys, v)\r\n\t\t}\r\n\t}\r\n\r\n\tif (typeof key !== 'string' || key === '') {\r\n\r\n\t} else if (key.indexOf('.') !== -1) { // 支持多层级赋值操作\r\n\t\tconst keys = key.split('.')\r\n\t\tinFn(obj, keys, value)\r\n\t} else {\r\n\t\tobj[key] = value\r\n\t}\r\n}\r\n\r\n/**\r\n * @description 获取当前页面路径\r\n */\r\nfunction page() {\r\n\tconst pages = getCurrentPages()\r\n\t// 某些特殊情况下(比如页面进行redirectTo时的一些时机),pages可能为空数组\r\n\treturn `/${pages[pages.length - 1]?.route ?? ''}`\r\n}\r\n\r\n/**\r\n * @description 获取当前路由栈实例数组\r\n */\r\nfunction pages() {\r\n\tconst pages = getCurrentPages()\r\n\treturn pages\r\n}\r\n\r\n/**\r\n * 获取页面历史栈指定层实例\r\n * @param back {number} [0] - 0或者负数,表示获取历史栈的哪一层,0表示获取当前页面实例,-1 表示获取上一个页面实例。默认0。\r\n */\r\nfunction getHistoryPage(back = 0) {\r\n\tconst pages = getCurrentPages()\r\n\tconst len = pages.length\r\n\treturn pages[len - 1 + back]\r\n}\r\n\r\n/**\r\n * @description 修改uView内置属性值\r\n * @param {object} props 修改内置props属性\r\n * @param {object} config 修改内置config属性\r\n * @param {object} color 修改内置color属性\r\n * @param {object} zIndex 修改内置zIndex属性\r\n */\r\nfunction setConfig({\r\n\tprops = {},\r\n\tconfig = {},\r\n\tcolor = {},\r\n\tzIndex = {}\r\n}) {\r\n\tconst {\r\n\t\tdeepMerge,\r\n\t} = uni.$u\r\n\tuni.$u.config = deepMerge(uni.$u.config, config)\r\n\tuni.$u.props = deepMerge(uni.$u.props, props)\r\n\tuni.$u.color = deepMerge(uni.$u.color, color)\r\n\tuni.$u.zIndex = deepMerge(uni.$u.zIndex, zIndex)\r\n}\r\n\r\nexport default {\r\n\trange,\r\n\tgetPx,\r\n\tsleep,\r\n\tos,\r\n\tsys,\r\n\trandom,\r\n\tguid,\r\n\t$parent,\r\n\taddStyle,\r\n\taddUnit,\r\n\tdeepClone,\r\n\tdeepMerge,\r\n\terror,\r\n\trandomArray,\r\n\ttimeFormat,\r\n\ttimeFrom,\r\n\ttrim,\r\n\tqueryParams,\r\n\ttoast,\r\n\ttype2icon,\r\n\tpriceFormat,\r\n\tgetDuration,\r\n\tpadZero,\r\n\tformValidate,\r\n\tgetProperty,\r\n\tsetProperty,\r\n\tpage,\r\n\tpages,\r\n\tgetHistoryPage,\r\n\tsetConfig\r\n}\r\n","let _boundaryCheckingState = true; // 是否进行越界检查的全局开关\r\n\r\n/**\r\n * 把错误的数据转正\r\n * @private\r\n * @example strip(0.09999999999999998)=0.1\r\n */\r\nfunction strip(num, precision = 15) {\r\n return +parseFloat(Number(num).toPrecision(precision));\r\n}\r\n\r\n/**\r\n * Return digits length of a number\r\n * @private\r\n * @param {*number} num Input number\r\n */\r\nfunction digitLength(num) {\r\n // Get digit length of e\r\n const eSplit = num.toString().split(/[eE]/);\r\n const len = (eSplit[0].split('.')[1] || '').length - +(eSplit[1] || 0);\r\n return len > 0 ? len : 0;\r\n}\r\n\r\n/**\r\n * 把小数转成整数,如果是小数则放大成整数\r\n * @private\r\n * @param {*number} num 输入数\r\n */\r\nfunction float2Fixed(num) {\r\n if (num.toString().indexOf('e') === -1) {\r\n return Number(num.toString().replace('.', ''));\r\n }\r\n const dLen = digitLength(num);\r\n return dLen > 0 ? strip(Number(num) * Math.pow(10, dLen)) : Number(num);\r\n}\r\n\r\n/**\r\n * 检测数字是否越界,如果越界给出提示\r\n * @private\r\n * @param {*number} num 输入数\r\n */\r\nfunction checkBoundary(num) {\r\n if (_boundaryCheckingState) {\r\n if (num > Number.MAX_SAFE_INTEGER || num < Number.MIN_SAFE_INTEGER) {\r\n console.warn(`${num} 超出了精度限制,结果可能不正确`);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 把递归操作扁平迭代化\r\n * @param {number[]} arr 要操作的数字数组\r\n * @param {function} operation 迭代操作\r\n * @private\r\n */\r\nfunction iteratorOperation(arr, operation) {\r\n const [num1, num2, ...others] = arr;\r\n let res = operation(num1, num2);\r\n\r\n others.forEach((num) => {\r\n res = operation(res, num);\r\n });\r\n\r\n return res;\r\n}\r\n\r\n/**\r\n * 高精度乘法\r\n * @export\r\n */\r\nexport function times(...nums) {\r\n if (nums.length > 2) {\r\n return iteratorOperation(nums, times);\r\n }\r\n\r\n const [num1, num2] = nums;\r\n const num1Changed = float2Fixed(num1);\r\n const num2Changed = float2Fixed(num2);\r\n const baseNum = digitLength(num1) + digitLength(num2);\r\n const leftValue = num1Changed * num2Changed;\r\n\r\n checkBoundary(leftValue);\r\n\r\n return leftValue / Math.pow(10, baseNum);\r\n}\r\n\r\n/**\r\n * 高精度加法\r\n * @export\r\n */\r\nexport function plus(...nums) {\r\n if (nums.length > 2) {\r\n return iteratorOperation(nums, plus);\r\n }\r\n\r\n const [num1, num2] = nums;\r\n // 取最大的小数位\r\n const baseNum = Math.pow(10, Math.max(digitLength(num1), digitLength(num2)));\r\n // 把小数都转为整数然后再计算\r\n return (times(num1, baseNum) + times(num2, baseNum)) / baseNum;\r\n}\r\n\r\n/**\r\n * 高精度减法\r\n * @export\r\n */\r\nexport function minus(...nums) {\r\n if (nums.length > 2) {\r\n return iteratorOperation(nums, minus);\r\n }\r\n\r\n const [num1, num2] = nums;\r\n const baseNum = Math.pow(10, Math.max(digitLength(num1), digitLength(num2)));\r\n return (times(num1, baseNum) - times(num2, baseNum)) / baseNum;\r\n}\r\n\r\n/**\r\n * 高精度除法\r\n * @export\r\n */\r\nexport function divide(...nums) {\r\n if (nums.length > 2) {\r\n return iteratorOperation(nums, divide);\r\n }\r\n\r\n const [num1, num2] = nums;\r\n const num1Changed = float2Fixed(num1);\r\n const num2Changed = float2Fixed(num2);\r\n checkBoundary(num1Changed);\r\n checkBoundary(num2Changed);\r\n // 重要,这里必须用strip进行修正\r\n return times(num1Changed / num2Changed, strip(Math.pow(10, digitLength(num2) - digitLength(num1))));\r\n}\r\n\r\n/**\r\n * 四舍五入\r\n * @export\r\n */\r\nexport function round(num, ratio) {\r\n const base = Math.pow(10, ratio);\r\n let result = divide(Math.round(Math.abs(times(num, base))), base);\r\n if (num < 0 && result !== 0) {\r\n result = times(result, -1);\r\n }\r\n // 位数不足则补0\r\n return result;\r\n}\r\n\r\n/**\r\n * 是否进行边界检查,默认开启\r\n * @param flag 标记开关,true 为开启,false 为关闭,默认为 true\r\n * @export\r\n */\r\nexport function enableBoundaryChecking(flag = true) {\r\n _boundaryCheckingState = flag;\r\n}\r\n\r\n\r\nexport default {\r\n times,\r\n plus,\r\n minus,\r\n divide,\r\n round,\r\n enableBoundaryChecking,\r\n};\r\n\r\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 此版本发布于2024-03-17\r\nconst version = '2.0.37'\r\n\r\n// 开发环境才提示,生产环境不会提示\r\nif (process.env.NODE_ENV === 'development') {\r\n\tconsole.log(`\\n %c uView V${version} %c https://uviewui.com/ \\n\\n`, 'color: #ffffff; background: #3c9cff; padding:5px 0; border-radius: 5px;');\r\n}\r\n\r\nexport default {\r\n v: version,\r\n version,\r\n // 主题名称\r\n type: [\r\n 'primary',\r\n 'success',\r\n 'info',\r\n 'error',\r\n 'warning'\r\n ],\r\n // 颜色部分,本来可以通过scss的:export导出供js使用,但是奈何nvue不支持\r\n color: {\r\n 'u-primary': '#2979ff',\r\n 'u-warning': '#ff9900',\r\n 'u-success': '#19be6b',\r\n 'u-error': '#fa3534',\r\n 'u-info': '#909399',\r\n 'u-main-color': '#303133',\r\n 'u-content-color': '#606266',\r\n 'u-tips-color': '#909399',\r\n 'u-light-color': '#c0c4cc'\r\n },\r\n\t// 默认单位,可以通过配置为rpx,那么在用于传入组件大小参数为数值时,就默认为rpx\r\n\tunit: 'px'\r\n}\r\n","/**\r\n * 此文件的作用为统一配置所有组件的props参数\r\n * 借此用户可以全局覆盖组件的props默认值\r\n * 无需在每个引入组件的页面中都配置一次\r\n */\r\nimport config from './config'\r\n\r\nimport actionSheet from './props/actionSheet.js'\r\nimport album from './props/album.js'\r\nimport alert from './props/alert.js'\r\nimport avatar from './props/avatar'\r\nimport avatarGroup from './props/avatarGroup'\r\nimport backtop from './props/backtop'\r\nimport badge from './props/badge'\r\nimport button from './props/button'\r\nimport calendar from './props/calendar'\r\nimport carKeyboard from './props/carKeyboard'\r\nimport cell from './props/cell'\r\nimport cellGroup from './props/cellGroup'\r\nimport checkbox from './props/checkbox'\r\nimport checkboxGroup from './props/checkboxGroup'\r\nimport circleProgress from './props/circleProgress'\r\nimport code from './props/code'\r\nimport codeInput from './props/codeInput'\r\nimport col from './props/col'\r\nimport collapse from './props/collapse'\r\nimport collapseItem from './props/collapseItem'\r\nimport columnNotice from './props/columnNotice'\r\nimport countDown from './props/countDown'\r\nimport countTo from './props/countTo'\r\nimport datetimePicker from './props/datetimePicker'\r\nimport divider from './props/divider'\r\nimport empty from './props/empty'\r\nimport form from './props/form'\r\nimport formItem from './props/formItem'\r\nimport gap from './props/gap'\r\nimport grid from './props/grid'\r\nimport gridItem from './props/gridItem'\r\nimport icon from './props/icon'\r\nimport image from './props/image'\r\nimport indexAnchor from './props/indexAnchor'\r\nimport indexList from './props/indexList'\r\nimport input from './props/input'\r\nimport keyboard from './props/keyboard'\r\nimport line from './props/line'\r\nimport lineProgress from './props/lineProgress'\r\nimport link from './props/link'\r\nimport list from './props/list'\r\nimport listItem from './props/listItem'\r\nimport loadingIcon from './props/loadingIcon'\r\nimport loadingPage from './props/loadingPage'\r\nimport loadmore from './props/loadmore'\r\nimport modal from './props/modal'\r\nimport navbar from './props/navbar'\r\nimport noNetwork from './props/noNetwork'\r\nimport noticeBar from './props/noticeBar'\r\nimport notify from './props/notify'\r\nimport numberBox from './props/numberBox'\r\nimport numberKeyboard from './props/numberKeyboard'\r\nimport overlay from './props/overlay'\r\nimport parse from './props/parse'\r\nimport picker from './props/picker'\r\nimport popup from './props/popup'\r\nimport radio from './props/radio'\r\nimport radioGroup from './props/radioGroup'\r\nimport rate from './props/rate'\r\nimport readMore from './props/readMore'\r\nimport row from './props/row'\r\nimport rowNotice from './props/rowNotice'\r\nimport scrollList from './props/scrollList'\r\nimport search from './props/search'\r\nimport section from './props/section'\r\nimport skeleton from './props/skeleton'\r\nimport slider from './props/slider'\r\nimport statusBar from './props/statusBar'\r\nimport steps from './props/steps'\r\nimport stepsItem from './props/stepsItem'\r\nimport sticky from './props/sticky'\r\nimport subsection from './props/subsection'\r\nimport swipeAction from './props/swipeAction'\r\nimport swipeActionItem from './props/swipeActionItem'\r\nimport swiper from './props/swiper'\r\nimport swipterIndicator from './props/swipterIndicator'\r\nimport _switch from './props/switch'\r\nimport tabbar from './props/tabbar'\r\nimport tabbarItem from './props/tabbarItem'\r\nimport tabs from './props/tabs'\r\nimport tag from './props/tag'\r\nimport text from './props/text'\r\nimport textarea from './props/textarea'\r\nimport toast from './props/toast'\r\nimport toolbar from './props/toolbar'\r\nimport tooltip from './props/tooltip'\r\nimport transition from './props/transition'\r\nimport upload from './props/upload'\r\n\r\nconst {\r\n color\r\n} = config\r\n\r\nexport default {\r\n ...actionSheet,\r\n ...album,\r\n ...alert,\r\n ...avatar,\r\n ...avatarGroup,\r\n ...backtop,\r\n ...badge,\r\n ...button,\r\n ...calendar,\r\n ...carKeyboard,\r\n ...cell,\r\n ...cellGroup,\r\n ...checkbox,\r\n ...checkboxGroup,\r\n ...circleProgress,\r\n ...code,\r\n ...codeInput,\r\n ...col,\r\n ...collapse,\r\n ...collapseItem,\r\n ...columnNotice,\r\n ...countDown,\r\n ...countTo,\r\n ...datetimePicker,\r\n ...divider,\r\n ...empty,\r\n ...form,\r\n ...formItem,\r\n ...gap,\r\n ...grid,\r\n ...gridItem,\r\n ...icon,\r\n ...image,\r\n ...indexAnchor,\r\n ...indexList,\r\n ...input,\r\n ...keyboard,\r\n ...line,\r\n ...lineProgress,\r\n ...link,\r\n ...list,\r\n ...listItem,\r\n ...loadingIcon,\r\n ...loadingPage,\r\n ...loadmore,\r\n ...modal,\r\n ...navbar,\r\n ...noNetwork,\r\n ...noticeBar,\r\n ...notify,\r\n ...numberBox,\r\n ...numberKeyboard,\r\n ...overlay,\r\n ...parse,\r\n ...picker,\r\n ...popup,\r\n ...radio,\r\n ...radioGroup,\r\n ...rate,\r\n ...readMore,\r\n ...row,\r\n ...rowNotice,\r\n ...scrollList,\r\n ...search,\r\n ...section,\r\n ...skeleton,\r\n ...slider,\r\n ...statusBar,\r\n ...steps,\r\n ...stepsItem,\r\n ...sticky,\r\n ...subsection,\r\n ...swipeAction,\r\n ...swipeActionItem,\r\n ...swiper,\r\n ...swipterIndicator,\r\n ..._switch,\r\n ...tabbar,\r\n ...tabbarItem,\r\n ...tabs,\r\n ...tag,\r\n ...text,\r\n ...textarea,\r\n ...toast,\r\n ...toolbar,\r\n ...tooltip,\r\n ...transition,\r\n ...upload\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:44:35\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/actionSheet.js\r\n */\r\nexport default {\r\n // action-sheet组件\r\n actionSheet: {\r\n show: false,\r\n title: '',\r\n description: '',\r\n actions: () => [],\r\n index: '',\r\n cancelText: '',\r\n closeOnClickAction: true,\r\n safeAreaInsetBottom: true,\r\n openType: '',\r\n closeOnClickOverlay: true,\r\n round: 0\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:47:24\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/album.js\r\n */\r\nexport default {\r\n // album 组件\r\n album: {\r\n urls: () => [],\r\n keyName: '',\r\n singleSize: 180,\r\n multipleSize: 70,\r\n space: 6,\r\n singleMode: 'scaleToFill',\r\n multipleMode: 'aspectFill',\r\n maxCount: 9,\r\n previewFullImage: true,\r\n rowCount: 3,\r\n showMore: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:48:53\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/alert.js\r\n */\r\nexport default {\r\n // alert警告组件\r\n alert: {\r\n title: '',\r\n type: 'warning',\r\n description: '',\r\n closable: false,\r\n showIcon: false,\r\n effect: 'light',\r\n center: false,\r\n fontSize: 14\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:49:22\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/avatar.js\r\n */\r\nexport default {\r\n // avatar 组件\r\n avatar: {\r\n src: '',\r\n shape: 'circle',\r\n size: 40,\r\n mode: 'scaleToFill',\r\n text: '',\r\n bgColor: '#c0c4cc',\r\n color: '#ffffff',\r\n fontSize: 18,\r\n icon: '',\r\n mpAvatar: false,\r\n randomBgColor: false,\r\n defaultUrl: '',\r\n colorIndex: '',\r\n name: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:49:55\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/avatarGroup.js\r\n */\r\nexport default {\r\n // avatarGroup 组件\r\n avatarGroup: {\r\n urls: () => [],\r\n maxCount: 5,\r\n shape: 'circle',\r\n mode: 'scaleToFill',\r\n showMore: true,\r\n size: 40,\r\n keyName: '',\r\n gap: 0.5,\r\n\t\textraValue: 0\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:50:18\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/backtop.js\r\n */\r\nexport default {\r\n // backtop组件\r\n backtop: {\r\n mode: 'circle',\r\n icon: 'arrow-upward',\r\n text: '',\r\n duration: 100,\r\n scrollTop: 0,\r\n top: 400,\r\n bottom: 100,\r\n right: 20,\r\n zIndex: 9,\r\n iconStyle: () => ({\r\n color: '#909399',\r\n fontSize: '19px'\r\n })\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-23 19:51:50\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/badge.js\r\n */\r\nexport default {\r\n // 徽标数组件\r\n badge: {\r\n isDot: false,\r\n value: '',\r\n show: true,\r\n max: 999,\r\n type: 'error',\r\n showZero: false,\r\n bgColor: null,\r\n color: null,\r\n shape: 'circle',\r\n numberType: 'overflow',\r\n offset: () => [],\r\n inverted: false,\r\n absolute: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:51:27\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/button.js\r\n */\r\nexport default {\r\n // button组件\r\n button: {\r\n hairline: false,\r\n type: 'info',\r\n size: 'normal',\r\n shape: 'square',\r\n plain: false,\r\n disabled: false,\r\n loading: false,\r\n loadingText: '',\r\n loadingMode: 'spinner',\r\n loadingSize: 15,\r\n openType: '',\r\n formType: '',\r\n appParameter: '',\r\n hoverStopPropagation: true,\r\n lang: 'en',\r\n sessionFrom: '',\r\n sendMessageTitle: '',\r\n sendMessagePath: '',\r\n sendMessageImg: '',\r\n showMessageCard: false,\r\n dataName: '',\r\n throttleTime: 0,\r\n hoverStartTime: 0,\r\n hoverStayTime: 200,\r\n text: '',\r\n icon: '',\r\n iconColor: '',\r\n color: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:52:43\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/calendar.js\r\n */\r\nexport default {\r\n // calendar 组件\r\n calendar: {\r\n title: '日期选择',\r\n showTitle: true,\r\n showSubtitle: true,\r\n mode: 'single',\r\n startText: '开始',\r\n endText: '结束',\r\n customList: () => [],\r\n color: '#3c9cff',\r\n minDate: 0,\r\n maxDate: 0,\r\n defaultDate: null,\r\n maxCount: Number.MAX_SAFE_INTEGER, // Infinity\r\n rowHeight: 56,\r\n formatter: null,\r\n showLunar: false,\r\n showMark: true,\r\n confirmText: '确定',\r\n confirmDisabledText: '确定',\r\n show: false,\r\n closeOnClickOverlay: false,\r\n readonly: false,\r\n showConfirm: true,\r\n maxRange: Number.MAX_SAFE_INTEGER, // Infinity\r\n rangePrompt: '',\r\n showRangePrompt: true,\r\n allowSameDay: false,\r\n\t\tround: 0,\r\n\t\tmonthNum: 3\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:53:20\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/carKeyboard.js\r\n */\r\nexport default {\r\n // 车牌号键盘\r\n carKeyboard: {\r\n random: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-23 20:53:09\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/cell.js\r\n */\r\nexport default {\r\n\t// cell组件的props\r\n\tcell: {\r\n\t\tcustomClass: '',\r\n\t\ttitle: '',\r\n\t\tlabel: '',\r\n\t\tvalue: '',\r\n\t\ticon: '',\r\n\t\tdisabled: false,\r\n\t\tborder: true,\r\n\t\tcenter: false,\r\n\t\turl: '',\r\n\t\tlinkType: 'navigateTo',\r\n\t\tclickable: false,\r\n\t\tisLink: false,\r\n\t\trequired: false,\r\n\t\tarrowDirection: '',\r\n\t\ticonStyle: {},\r\n\t\trightIconStyle: {},\r\n\t\trightIcon: 'arrow-right',\r\n\t\ttitleStyle: {},\r\n\t\tsize: '',\r\n\t\tstop: true,\r\n\t\tname: ''\r\n\t}\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:54:16\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/cellGroup.js\r\n */\r\nexport default {\r\n // cell-group组件的props\r\n cellGroup: {\r\n title: '',\r\n border: true,\r\n customStyle: {}\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-23 21:06:59\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/checkbox.js\r\n */\r\nexport default {\r\n // checkbox组件\r\n checkbox: {\r\n name: '',\r\n shape: '',\r\n size: '',\r\n checkbox: false,\r\n disabled: '',\r\n activeColor: '',\r\n inactiveColor: '',\r\n iconSize: '',\r\n iconColor: '',\r\n label: '',\r\n labelSize: '',\r\n labelColor: '',\r\n labelDisabled: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:54:47\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/checkboxGroup.js\r\n */\r\nexport default {\r\n // checkbox-group组件\r\n checkboxGroup: {\r\n name: '',\r\n value: () => [],\r\n shape: 'square',\r\n disabled: false,\r\n activeColor: '#2979ff',\r\n inactiveColor: '#c8c9cc',\r\n size: 18,\r\n placement: 'row',\r\n labelSize: 14,\r\n labelColor: '#303133',\r\n labelDisabled: false,\r\n iconColor: '#ffffff',\r\n iconSize: 12,\r\n iconPlacement: 'left',\r\n borderBottom: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:55:02\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/circleProgress.js\r\n */\r\nexport default {\r\n // circleProgress 组件\r\n circleProgress: {\r\n percentage: 30\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:55:27\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/code.js\r\n */\r\n\r\nexport default {\r\n // code 组件\r\n code: {\r\n seconds: 60,\r\n startText: '获取验证码',\r\n changeText: 'X秒重新获取',\r\n endText: '重新获取',\r\n keepRunning: false,\r\n uniqueKey: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:55:58\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/codeInput.js\r\n */\r\nexport default {\r\n // codeInput 组件\r\n codeInput: {\r\n\t\tadjustPosition: true,\r\n maxlength: 6,\r\n dot: false,\r\n mode: 'box',\r\n hairline: false,\r\n space: 10,\r\n value: '',\r\n focus: false,\r\n bold: false,\r\n color: '#606266',\r\n fontSize: 18,\r\n size: 35,\r\n disabledKeyboard: false,\r\n borderColor: '#c9cacc',\r\n\t\tdisabledDot: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:56:12\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/col.js\r\n */\r\nexport default {\r\n // col 组件\r\n col: {\r\n span: 12,\r\n offset: 0,\r\n justify: 'start',\r\n align: 'stretch',\r\n textAlign: 'left'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:56:30\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/collapse.js\r\n */\r\nexport default {\r\n // collapse 组件\r\n collapse: {\r\n value: null,\r\n accordion: false,\r\n border: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:56:42\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/collapseItem.js\r\n */\r\nexport default {\r\n // collapseItem 组件\r\n collapseItem: {\r\n title: '',\r\n value: '',\r\n label: '',\r\n disabled: false,\r\n isLink: true,\r\n clickable: true,\r\n border: true,\r\n align: 'left',\r\n name: '',\r\n icon: '',\r\n duration: 300\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:57:16\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/columnNotice.js\r\n */\r\nexport default {\r\n // columnNotice 组件\r\n columnNotice: {\r\n text: '',\r\n icon: 'volume',\r\n mode: '',\r\n color: '#f9ae3d',\r\n bgColor: '#fdf6ec',\r\n fontSize: 14,\r\n speed: 80,\r\n step: false,\r\n duration: 1500,\r\n disableTouch: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:11:29\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/countDown.js\r\n */\r\nexport default {\r\n // u-count-down 计时器组件\r\n countDown: {\r\n time: 0,\r\n format: 'HH:mm:ss',\r\n autoStart: true,\r\n millisecond: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:57:32\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/countTo.js\r\n */\r\nexport default {\r\n // countTo 组件\r\n countTo: {\r\n startVal: 0,\r\n endVal: 0,\r\n duration: 2000,\r\n autoplay: true,\r\n decimals: 0,\r\n useEasing: true,\r\n decimal: '.',\r\n color: '#606266',\r\n fontSize: 22,\r\n bold: false,\r\n separator: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:57:48\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/datetimePicker.js\r\n */\r\nexport default {\r\n // datetimePicker 组件\r\n datetimePicker: {\r\n show: false,\r\n showToolbar: true,\r\n value: '',\r\n title: '',\r\n mode: 'datetime',\r\n maxDate: new Date(new Date().getFullYear() + 10, 0, 1).getTime(),\r\n minDate: new Date(new Date().getFullYear() - 10, 0, 1).getTime(),\r\n minHour: 0,\r\n maxHour: 23,\r\n minMinute: 0,\r\n maxMinute: 59,\r\n filter: null,\r\n formatter: null,\r\n loading: false,\r\n itemHeight: 44,\r\n cancelText: '取消',\r\n confirmText: '确认',\r\n cancelColor: '#909193',\r\n confirmColor: '#3c9cff',\r\n visibleItemCount: 5,\r\n closeOnClickOverlay: false,\r\n defaultIndex: () => []\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:58:03\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/divider.js\r\n */\r\nexport default {\r\n // divider组件\r\n divider: {\r\n dashed: false,\r\n hairline: true,\r\n dot: false,\r\n textPosition: 'center',\r\n text: '',\r\n textSize: 14,\r\n textColor: '#909399',\r\n lineColor: '#dcdfe6'\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:03:27\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/empty.js\r\n */\r\nexport default {\r\n // empty组件\r\n empty: {\r\n icon: '',\r\n text: '',\r\n textColor: '#c0c4cc',\r\n textSize: 14,\r\n iconColor: '#c0c4cc',\r\n iconSize: 90,\r\n mode: 'data',\r\n width: 160,\r\n height: 160,\r\n show: true,\r\n marginTop: 0\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:03:49\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/form.js\r\n */\r\nexport default {\r\n // form 组件\r\n form: {\r\n model: () => ({}),\r\n rules: () => ({}),\r\n errorType: 'message',\r\n borderBottom: true,\r\n labelPosition: 'left',\r\n labelWidth: 45,\r\n labelAlign: 'left',\r\n labelStyle: () => ({})\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:04:32\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/formItem.js\r\n */\r\nexport default {\r\n // formItem 组件\r\n formItem: {\r\n label: '',\r\n prop: '',\r\n borderBottom: '',\r\n labelPosition: '',\r\n labelWidth: '',\r\n rightIcon: '',\r\n leftIcon: '',\r\n required: false,\r\n leftIconStyle: '',\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:05:25\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/gap.js\r\n */\r\nexport default {\r\n // gap组件\r\n gap: {\r\n bgColor: 'transparent',\r\n height: 20,\r\n marginTop: 0,\r\n marginBottom: 0,\r\n customStyle: {}\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:05:57\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/grid.js\r\n */\r\nexport default {\r\n // grid组件\r\n grid: {\r\n col: 3,\r\n border: false,\r\n align: 'left'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:06:13\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/gridItem.js\r\n */\r\nexport default {\r\n // grid-item组件\r\n gridItem: {\r\n name: null,\r\n bgColor: 'transparent'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 18:00:14\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/icon.js\r\n */\r\nimport config from '../config'\r\n\r\nconst {\r\n color\r\n} = config\r\nexport default {\r\n // icon组件\r\n icon: {\r\n name: '',\r\n color: color['u-content-color'],\r\n size: '16px',\r\n bold: false,\r\n index: '',\r\n hoverClass: '',\r\n customPrefix: 'uicon',\r\n label: '',\r\n labelPos: 'right',\r\n labelSize: '15px',\r\n labelColor: color['u-content-color'],\r\n space: '3px',\r\n imgMode: '',\r\n width: '',\r\n height: '',\r\n top: 0,\r\n stop: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:01:51\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/image.js\r\n */\r\nexport default {\r\n // image组件\r\n image: {\r\n src: '',\r\n mode: 'aspectFill',\r\n width: '300',\r\n height: '225',\r\n shape: 'square',\r\n radius: 0,\r\n lazyLoad: true,\r\n showMenuByLongpress: true,\r\n loadingIcon: 'photo',\r\n errorIcon: 'error-circle',\r\n showLoading: true,\r\n showError: true,\r\n fade: true,\r\n webp: false,\r\n duration: 500,\r\n bgColor: '#f3f4f6'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:13:15\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/indexAnchor.js\r\n */\r\nexport default {\r\n // indexAnchor 组件\r\n indexAnchor: {\r\n text: '',\r\n color: '#606266',\r\n size: 14,\r\n bgColor: '#dedede',\r\n height: 32\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:13:35\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/indexList.js\r\n */\r\nexport default {\r\n // indexList 组件\r\n indexList: {\r\n inactiveColor: '#606266',\r\n activeColor: '#5677fc',\r\n indexList: () => [],\r\n sticky: true,\r\n customNavHeight: 0\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:13:55\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/input.js\r\n */\r\nexport default {\r\n\t// index 组件\r\n\tinput: {\r\n\t\tvalue: '',\r\n\t\ttype: 'text',\r\n\t\tfixed: false,\r\n\t\tdisabled: false,\r\n\t\tdisabledColor: '#f5f7fa',\r\n\t\tclearable: false,\r\n\t\tpassword: false,\r\n\t\tmaxlength: -1,\r\n\t\tplaceholder: null,\r\n\t\tplaceholderClass: 'input-placeholder',\r\n\t\tplaceholderStyle: 'color: #c0c4cc',\r\n\t\tshowWordLimit: false,\r\n\t\tconfirmType: 'done',\r\n\t\tconfirmHold: false,\r\n\t\tholdKeyboard: false,\r\n\t\tfocus: false,\r\n\t\tautoBlur: false,\r\n\t\tdisableDefaultPadding: false,\r\n\t\tcursor: -1,\r\n\t\tcursorSpacing: 30,\r\n\t\tselectionStart: -1,\r\n\t\tselectionEnd: -1,\r\n\t\tadjustPosition: true,\r\n\t\tinputAlign: 'left',\r\n\t\tfontSize: '15px',\r\n\t\tcolor: '#303133',\r\n\t\tprefixIcon: '',\r\n\t\tprefixIconStyle: '',\r\n\t\tsuffixIcon: '',\r\n\t\tsuffixIconStyle: '',\r\n\t\tborder: 'surround',\r\n\t\treadonly: false,\r\n\t\tshape: 'square',\r\n\t\tformatter: null\r\n\t}\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:07:49\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/keyboard.js\r\n */\r\nexport default {\r\n // 键盘组件\r\n keyboard: {\r\n mode: 'number',\r\n dotDisabled: false,\r\n tooltip: true,\r\n showTips: true,\r\n tips: '',\r\n showCancel: true,\r\n showConfirm: true,\r\n random: false,\r\n safeAreaInsetBottom: true,\r\n closeOnClickOverlay: true,\r\n show: false,\r\n overlay: true,\r\n zIndex: 10075,\r\n cancelText: '取消',\r\n confirmText: '确定',\r\n autoChange: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:04:49\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/line.js\r\n */\r\nexport default {\r\n // line组件\r\n line: {\r\n color: '#d6d7d9',\r\n length: '100%',\r\n direction: 'row',\r\n hairline: true,\r\n margin: 0,\r\n dashed: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:14:11\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/lineProgress.js\r\n */\r\nexport default {\r\n // lineProgress 组件\r\n lineProgress: {\r\n activeColor: '#19be6b',\r\n inactiveColor: '#ececec',\r\n percentage: 0,\r\n showText: true,\r\n height: 12\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:45:36\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/link.js\r\n */\r\nimport config from '../config'\r\n\r\nconst {\r\n color\r\n} = config\r\nexport default {\r\n // link超链接组件props参数\r\n link: {\r\n color: color['u-primary'],\r\n fontSize: 15,\r\n underLine: false,\r\n href: '',\r\n mpTips: '链接已复制,请在浏览器打开',\r\n lineColor: '',\r\n text: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:14:53\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/list.js\r\n */\r\nexport default {\r\n // list 组件\r\n list: {\r\n showScrollbar: false,\r\n lowerThreshold: 50,\r\n upperThreshold: 0,\r\n scrollTop: 0,\r\n offsetAccuracy: 10,\r\n enableFlex: false,\r\n pagingEnabled: false,\r\n scrollable: true,\r\n scrollIntoView: '',\r\n scrollWithAnimation: false,\r\n enableBackToTop: false,\r\n height: 0,\r\n width: 0,\r\n preLoadScreen: 1\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:15:40\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/listItem.js\r\n */\r\nexport default {\r\n // listItem 组件\r\n listItem: {\r\n anchor: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:45:47\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/loadingIcon.js\r\n */\r\nimport config from '../config'\r\n\r\nconst {\r\n color\r\n} = config\r\nexport default {\r\n // loading-icon加载中图标组件\r\n loadingIcon: {\r\n show: true,\r\n color: color['u-tips-color'],\r\n textColor: color['u-tips-color'],\r\n vertical: false,\r\n mode: 'spinner',\r\n size: 24,\r\n textSize: 15,\r\n text: '',\r\n timingFunction: 'ease-in-out',\r\n duration: 1200,\r\n inactiveColor: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:00:23\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/loadingPage.js\r\n */\r\nexport default {\r\n // loading-page组件\r\n loadingPage: {\r\n loadingText: '正在加载',\r\n image: '',\r\n loadingMode: 'circle',\r\n loading: false,\r\n bgColor: '#ffffff',\r\n color: '#C8C8C8',\r\n fontSize: 19,\r\n iconSize: 28,\r\n loadingColor: '#C8C8C8'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:15:26\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/loadmore.js\r\n */\r\nexport default {\r\n // loadmore 组件\r\n loadmore: {\r\n status: 'loadmore',\r\n bgColor: 'transparent',\r\n icon: true,\r\n fontSize: 14,\r\n\t\ticonSize: 17,\r\n color: '#606266',\r\n loadingIcon: 'spinner',\r\n loadmoreText: '加载更多',\r\n loadingText: '正在加载...',\r\n nomoreText: '没有更多了',\r\n isDot: false,\r\n iconColor: '#b7b7b7',\r\n marginTop: 10,\r\n marginBottom: 10,\r\n height: 'auto',\r\n line: false,\r\n\t\tlineColor: '#E6E8EB',\r\n\t\tdashed: false,\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:15:59\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/modal.js\r\n */\r\nexport default {\r\n // modal 组件\r\n modal: {\r\n show: false,\r\n title: '',\r\n content: '',\r\n confirmText: '确认',\r\n cancelText: '取消',\r\n showConfirmButton: true,\r\n showCancelButton: false,\r\n confirmColor: '#2979ff',\r\n cancelColor: '#606266',\r\n buttonReverse: false,\r\n zoom: true,\r\n asyncClose: false,\r\n closeOnClickOverlay: false,\r\n negativeTop: 0,\r\n width: '650rpx',\r\n confirmButtonShape: '',\r\n\t\tduration:400,\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:16:18\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/navbar.js\r\n */\r\nimport color from '../color'\r\nexport default {\r\n // navbar 组件\r\n navbar: {\r\n safeAreaInsetTop: true,\r\n placeholder: false,\r\n fixed: true,\r\n border: false,\r\n leftIcon: 'arrow-left',\r\n leftText: '',\r\n rightText: '',\r\n rightIcon: '',\r\n title: '',\r\n bgColor: '#ffffff',\r\n titleWidth: '400rpx',\r\n height: '44px',\r\n\t\tleftIconSize: 20,\r\n\t\tleftIconColor: color.mainColor,\r\n\t\tautoBack: false,\r\n\t\ttitleStyle: ''\r\n }\r\n\r\n}\r\n","// 为了让用户能够自定义主题,会逐步弃用此文件,各颜色通过css提供\r\n// 为了给某些特殊场景使用和向后兼容,无需删除此文件(2020-06-20)\r\nconst color = {\r\n primary: '#3c9cff',\r\n info: '#909399',\r\n default: '#909399',\r\n warning: '#f9ae3d',\r\n error: '#f56c6c',\r\n success: '#5ac725',\r\n mainColor: '#303133',\r\n contentColor: '#606266',\r\n tipsColor: '#909399',\r\n lightColor: '#c0c4cc',\r\n borderColor: '#e4e7ed'\r\n}\r\n\r\nexport default color\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:16:39\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/noNetwork.js\r\n */\r\nexport default {\r\n // noNetwork\r\n noNetwork: {\r\n tips: '哎呀,网络信号丢失',\r\n zIndex: '',\r\n image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABLKADAAQAAAABAAABLAAAAADYYILnAABAAElEQVR4Ae29CZhkV3kefNeq6m2W7tn3nl0aCbHIAgmQPGB+sLCNzSID9g9PYrAf57d/+4+DiW0cy8QBJ06c2In/PLFDHJ78+MGCGNsYgyxwIwktwEijAc1ohtmnZ+2Z7p5eq6vu9r/vuXWrq25VdVV1V3dXVX9Hmj73nv285963vvOd75yraeIEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQaD8E9PbrkvRopSMwMBBYRs+5O/yJS68cPnzYXel4tFP/jXbqjPRFEAiCQNe6Bw/6gdFn9Oy9Q90LLG2DgBBW2wyldIQIPPPCte2a5q3jtR+4ff/4wuBuXotrDwSEsNpjHKUXQODppy+udYJMEUEZgbd94DvnNwlA7YGAEFZ7jOOK78Xp06eTTkq7sxwQhmXuf/754VXl4iSstRAQwmqt8ZLWlkHg0UcD49qYfUjXfLtMtOZ7npExJu4iqZWLl7DWQUAIq3XGSlpaAYHD77q8xwuCOSUoXw8Sl0eMux977DGzQjES3AIICGG1wCBJEysj8PXnz230XXdr5RQFMYbRvWnv6w8UhMhliyGwYghr4Pjg3oEXL34ey9zyC9tiD2ml5h47dr1LN7S6CMjz/A3PvHh1Z6UyJby5EVgRhKUe7Kz/JU0LfvrJo5f+Y3MPibSuFgQGBgasYSd9l6GDsup0WS/T/9RTp9fXmU2SNwECdQ92E7S57iaMeJnPQLK6ixkDLfjlb7546RfrLkQyNBcC3dsP6oHWMd9G+V3JgwPHh7rnm1/yLQ8CbU9Y33zp0j+nZFUMb/DHmB7+SHGY3LUKAk8cObtD00xlHDrfNge+Z2ozU3c9dvx4Yr5lSL6lR6CtCWvg6OAPw9z538ZhhZRl6XrwhW8du1KX/iNejtwvPQIDR8+vSRqJ/obU7GupjdNdh2gW0ZDypJBFR6BtB2rg2OVtuub9JcmpHIpBoK1xfffLzx4f7C0XL2HNiYDp6bs9z23Ypn1fC1Y/9PCFDc3ZW2lVHIG2JKzTp4Ok7nv/G6Q054MIvda+bNb74pEgKGtwGAdL7pcfAa8vOKEZ2kyjWuLr7uDh+/qvN6o8KWdxEWhLwroyeek/g4zuqwU6kNrhyZcu/UktaSXN8iNwuL9/RuvVXtJ9PbPQ1vhmcP6t9+47u9ByJP/SIdB2hDVw9MJHQFYfrQdCph84evFX68kjaZcPAZJWwjMXRFpJ2zr91tfuvrh8vZCa54NA2xGWrunvmg8QWCJ/N4ir7fCYDxatkOeBB7an501agXbygVdvv9IK/ZQ2FiPQdi9osGbH+zRNf7y4m9Xu9Me7N9nv0HXdr5ZS4psHgXpJC9P/wDRTx0Vn1TxjWG9LGrbaUm/Fi5meSvcrkxf/Cg/ow9XqAUk91v3qHT97r6471dJKfHMi8Oyzgx1Z03t1YAQVT2MwgsC3u+yXHzi0faQ5eyGtqgWBtpOw2Ol9+/TM+sTOn8L08MtzgQCy+tOHXr3jA0JWc6HU/HF5Scssr4jXcYqfP6V/T8iq+ceyWgvbUsKKOn38eJAYyl56TAuCEr2WYei//9Crd/5GlFb81kdASVopSFrerKRlaoZj9HR+700H10+0fg+lB21NWBxe2lhNHsUpDZr27mi4dV379R9+za4/iO7Fbx8ECknLCPTsTDJ17O33bJpqnx6u7J60PWFxeAcCbMV56dJfQKf1bkMLfuGh1+76zMoe9vbuPUnLsb2DtmOe5HSxvXsrvWtLBEhaTx29+Ma27Jx0ShAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQaEsEVoQdVluO3BJ06ptHL34b1XRjp4Ch6Rq24+kmjG4Nwwg+9uA9u/73EjRBqhAEihAoe3xwUQq5WTYEzp0b3ZnV/Ncf6O/9AvY9wlh/6dy3X7ncN512Zw9BVLXjuAP4np44vnQtkZoEgVkEhLBmsWiKqwsXpjbPBOn3gRfenwnc+7GBe+zsjclvonFDS9nA9Iy/u3x9+vAP3735VPk4CRUEFhcBIazFxbfm0k9fHD7k+v4nQFaPQIrx8Gmyx/GJ0J/t7ez7mw0b9MmaC2pQQgh0/ZSm4g5TwueWWtqLt0HuVy4CQljLPPYnB0depTn+b3t+8B4t0AdBUv93h2H9xc6da0aXs2m+r1WQsLRnl7NdUvfKRkAIa5nG//r1oGtsZvjTgev/kqYHF/TA+AXoqv4npJemOEiQU1Eo2l+G0movBK1UBBPU7s9E1+ILAkuNgKwSLjXiqO/khVtvARH8dxDBRkMzPrF/V+9/BlG5y9CUqlXinHv9mRPXtvuus88L9H3JPv2zD2yXExCqAicJBIFWRwAvv3Xqwq0/Pnn+lv/K+ZvfPH3p9p5W75O0fxaBp793ce3AwIDMWmYhafiVgNtwSMsXeHp4eNXJC8Nf0PAdRCiuf/XgrnWUqsqotcvnl9DmRkCdweX4b9N7+m/ih+mbMraLM14yJVwcXItKpT1VRve+ArC3Qqn+3gM7132jKEGZm6tXg86J7OhDfuA/iHwPUpfUZSfu2L59tXxEoQxeyxkEgjKeOnLxHb4RqC+NY5H3+2953d4XlrNN7Vq3ENYij+yZwbG9jpt9GkBPQ5H9zgP9607OVeWp87cOQtn9zwJf+xDMNFfj+jryPqXpxj8c2Nn7P+SXey70lidu4IXzb0DNB4tr9751+HV7zxSHyd1CERDCWiiCc+QPjUCnsaqmZ62O5IN7N/VUNP48ee7mAZDTf4Tt049iUG4Guv4ZfNLos9UIbo7qJWoJEHjy+bP7fNsoOcnW0A0/aacef8PdG28sQTNWTBVCWIs01OfPj66BpfqTmq732UnjgT1bei+Vq4pTv7HM8Ceg2/o1qLQug7T+FaaM3IqTLZdewpoHgYEjV9fphvOj+OShWa5V+CxvZtpzv/LwG/aNl4uXsPoRwI+4uEYjAJ2GmdG8L0FK2mYa+tsrkdXZy+P7x2ZuHdW14P+BLdank9q6Qwd3rf+ckFWjR6Tx5Q2cP58K9Jm3VCIr1ogt48lO237r3//96YofeG18y9q7RFklXITxPXV+5DchKb3ZDMy37Nu5tuxG4R9cHH6b42QfAzlds+3EPXu2rfrBIjRFilwkBIIR7SHoJDurFU89ZOd680Gke6JaWomvjoBIWNUxqivFD87fej0e0n8Fwvr0/t1rnyqX+QfnRz7g+8FX8Rv8vL3auF/IqhxKzR2WCPxXqKeq3krDTdj2ierpJEUtCIgOqxaUakwzNBR0D09yiqePHOjveyOkpxLr9VMXb73V97S/h3nDXx7Y2fdPkAYbncW1IgIDxy5vM7LZt/hgrnLtxyaBrJNxv/72N+6tuNhSLp+EVUZACKsyNnXHvHL+1qcgNf2KbSXu2bt9dcmS9qlzo/fARgcmCtpzB3b1/Vg5QiuslLowENyDWDn8cSjl98PgdBviu03N+rl9/WufLEwr18uDwLdevLTF1YK3xnVZ2HI1bUxrT7z5zTuXdRP78qCyeLUKYTUI25OXbm4JPO00TBj+6I7+db8ZL3ZwMOiYdG4dA1lN9HWte2iuI2NAVPapC8O/CGPR34Ip/AZIbIMo7yX8G9QMbcS09P+2b1vf5XgdrXaPfiYns9oeLLEd8D1/B7Dp0E1jGP042pXQj7RKf546cmGzp+tv1TRf6YQD35/QO3seP3xow5IfC9QqmM23naJ0ny9ysXwgq98BWc0kVhv/Nhalbqe8kd/Fr8MOSEr3zEVWrwyO3I29hl+E9LUHGf+nAXI6sGPdd8uV2YphIKnE5IyL6bLxk7cn3bdkHHefrpvJAExMZ1uBZmqeNzXtfzUzk/m/ens7LjV7Px+8d9e1579/44l0duZtge+Np5zEEw8c2pBu9na3YvtEwmrAqNE8IZvNHsep5//yjl3r/0O8yFOXbv0QCO05gP0JGIL+fjw+uj91YeRh/Dp/PtCDM7Zpfmjvjt6Xo7hW9ycmJjaYduf7Hdf/8HTGfa3rG9rYxLSWnsloPg7fijZV8oFM2Ja2a9t6EJd7bCztvHP7us4rrdD/r3/7ct9I99jEI4cOiQ3dIg2YEFYDgOUJDFj1e8TqX7cT4kImXuQr5279A4DeBEX8ayvprU4N3rovcALot/TH13T0fXDTJn0qXk4r3k9OTm4y7a6PzjjORzOOvn1kbEqbnEprPhRzwAKzwFLHk05hv6Yd6N+o3R6beG50aPSdr3qV6IJKkVp5ITIlXOCYn4Yexr0w/DO6YXymHFlR0e5r7tsM3fxgJbI6fW1ivTeT+SsYmr54cFff+5Cu5X+hb94Merp6/J/PusGvTE6724eGJ7RpSFOkKPCUZvBPBccoHBet3Rwe13rX9tw/PjXzZ5hKvr8SfhWKkeA2REAIa4GD6p0feRdWBnvxjv2PckVhVfBf4A29uG/X2i+Ui2eYn8n8NryuDr3jPfWSFV5k44UT137eshIP2K7/64cObbheqZ6lCp+Ydt8TBO7vTM5od1+/NR4SFVhoLpKKt410lnE8LTMzo3V2dLznxLkhYgQ9obiVjEDln7mVjEodfYcpw+MAsftg/7qSDbAnb97sCSb0Yei2fqOcbovVqKNnNO8HmAE9Cv3Wp+uoWjt27HpXNqH9WTKR+kBHKqEFbvo5y3N/avfu4g23R45f3WGa1k9ZicTd0zPTf/f6O7f8dT311Jp2fHzmgJlI/N70jPPe4bEZ6Kg4qw0lqlrLiNKBiLWerpTW25PUbkPXZViW62ecHz+4d8PXojTirzwEyhq8rTwYFtRjvpX/rlwJ+iSXugPbMuyKBOHo3geRJtuT7PujcmVUCuPJlhnL/9NUqvMD2eyM5sxMaIlE4n7XML907tyNjcxHQjty4sZv66Z1xEok/xNW5n4uZSf+8sT5m++vVO58wkEu5sR09pd9w/rWyET2vReujiqygrSopn/zKZN5qMeirotKeTyolm7p/+X06Wvr51ue5Gt9BISwFjiGsLl6N6SrvylXDNTK70D4mX071pwtF88w6Jd/DG/1E1u26NOV0pQL71y3/8PJVOcHMzPTWkcCH2YGOaTTaS2RTN6f1fQvvvDK1bdnbO2JZCr1SeRfn05Pa1PTU0gXJBKW+ecnzlxvCGndhFQ1NRP8bcY1/vjS9bF1V26MwHwsVKiXa3etYVw1TNhYJ3TDjQCO42jJVMcez7J+t9YyJF37ISCEtahjGjxkGDr2DJZ31D8h5vUQJL5RPkXlUMM07u3qSGidICvkzzuSlmlZb0olrK9hD9v9JCrPC196JoPMAolFg6CV+PPj54YeyWecx8Vk2v1Q0rSfhFT18LnBmzBRyNalp5qrSuq7kiAsh4SFa7oZ9M0wzI+cPHOjZPo9V1kS1z4ICGEt4lhiCvZrSa2jol7qzPXJPk6nIGbVbWfUvcr7hO9MP97ZVXpggOu6ajplYStj7l1XvbRMXbPAbp6HzSSBlkraNknrvfVCcPt2sHYi7f3pTDb47KUbYxuvKqkKpYBXKBnV869c3WgbDEixAck0FGFFfEzJzbIsO9C1TyrcymWWsLZGIHoW2rqTzdo5dXyykz0NC8l779i5vu4zwM+eHVntGP5jqVTq/6AkVc5NZ3wNH2lVxNWZNIukMSjiNd9z0+CHp5DXAdX4SAg203w8GB5IATtODHzdK8C15kEjhXvNS9rWA11dnfcMDY9prscss48RySakrOLWqODCoIKAgkuVgsS0urtD60haeV1YYVbbtjUn6/74HXvW/11huFy3PwKzT1r797Upe3jq4sib9u9Y+wxe+vh7W1N7jx49v6ZzbffnQD4/Cj1Pfjx54XiBls6GVuTUc9mQsOIO9mPQFdkIRlz4fy5JLm2ZMOqTcJaXIqpcqnixVe+rdbZ3dbc2OT0D0wZIibHSksmklslknvx+//q3PiKnXcTQae/b+LPQ3r1t0969cOL6G7o6E09qgZegdMJBpVQ1DbKCpyUt6oPKz/4NEJalCAuZFIuEVBJd+jgLh4rvAiFqUVGkhJZMWFp3Z0obGSu/d5gSnWmavuO6h+/cvYHSobgVgoAYjrb4QPMUiGtj1/79jBMkLBwiTlMASlYzTkhWCJyTrGAyMOFkst/BoYMmuIIyGJYcMXMMdNwHPhYN1qWS1t6ZLGaKZL8yzFXTr15BooLLMugHMBRNKgW+It8y9TEcJGt4rvcRFCCEVQbFdg0Swmrxkb0+cf2XOzq73kgdFieEXF2jdEUJKQH6SVWQrNjtZDKlpTPp38U58iUbthk/Ph7sN6zg/xudSGvD4xkq6otcnnjyF0XRRTflkyC0IIJE1JG0QbqGNpMNp5xFhRTcZDNoj66988SFm5vv3LX+WkGUXLYxAuXnCW3c4XbqGs9hwjv+a9lsuN+ahOJSCoLjNDAFvVUll0p1aNPp6adTweSflEszPO48oFn+4yOTmR+6enOshKyYhzWpf/jDuuf6x2aV/qNRaPG/1d0gUXWCA0uu7GhMmkqmerEc8KOVU0lMuyFQ+Ylut562YX9Sncmf7Ojo3BDZWbGLtMkiUVXSWTFNuMqWuYG530f7+/tnGFboxsfdd9mm8XdDo9O7rg6NFq0CFqZr5DWlK9qV0fZqGvZchSuPlevB2VmG/hOV4yWm3RAQwmrhEcW64qu4ykfJho52Vp3J8quBYQooqWDKADftBd6HD+5efyoKj/zR8ew/hWXY56/cnFh7a3RCTTGjuMX0SVB9qzu1qfQM+jO3dBW1g6uVSHv/qVNX10Vh4rc3AkJYLTy+WA/8ou9kJjo7bOh+DLVFZ64TEbCyBktxI5PJZj56R//Gx+NdH5vM4vuI+p8NXh9LjU1iw3EZhXc8TyPuuV9wDaaCfBjTM06N0hVWQmHBDzvSDZ5tvqYR7ZAymh8BIazmH6OKLbzv0KZvJEz3ZzEFnEolaEtV2XEaCLKadrIz//TQnk1/EU85NuH8th8Yf4j9gMZUOrNkZEVZCnsbtTU9KW18GqcKFyjh420sd2+j33pg3F8uTsLaDwEhrBYf04O7N/2t7/o/C2FoGnsIy/YGlvAwSfCvZzLOe+8oR1ZT3u/5uvHJC9dGtJlMrfqjslXVHwjpat2aLi2rjFFLjUSrFUjlO0juddXSSXx7ICCE1QbjiHO0/hofbPgwpnDTOR2V6hWNQqGUx34890noet5yaO+Gko3Y45PO7/uB/lvnrwxrWdha1absbgxo1FWtwplXqYSJY5Nn5lU3bLHQmGA/yko0plVSSjMjIITVzKNTR9sO7dv8RSeb/T9BWmMkKv4D+YzBXuljV7yxd+zfte6VeHGKrHTz4+cv38JWmyUmKzSGG5z7VndoE7kz3uPtq+Welvhwm39weVjOyaoFsBZPI4TV4gNY2Pw79mz8KyebeRIH+VEZTaX0sf27+v794TKmCxNTzr/2NOPj5wZBVjjdYSklq6jN69dyKuhqmWztivYob+RTSkPbe/xMdlMUJn77IiCE1W5jq+s4dYEO6mzsYAmvi/+CrH7LDYxPcBq4HGTFVcG1ULLT5orS1ULIkoSFI2cMHKG8obiXcteOCAhhtdmo6gaOh4EWWlkyYU9gvHswXfgV19d/7+LVkSWfBrItJJhObL/p7elQR8fUZnEV70XxPc01sM+xrzhU7toRgZIHuh07uZL6xA3LBaYB+Ar8rBsfz34YX1j+D5eu317QNGy2xPquSE4mDuXb2IujY2AgytNE67RiKFshzuwCR5s9ZSMlsK0QEMJqq+GkBKOF5yFzRoidK5BoFCeMjM/8mG+a//Xy0Li55KYLBRiTrGjwOQ1br4VMBQuKVJeQKVPxMLlvPwSEsNpsTEECmBLSgbHUpwD1YGwse59l2p+9fmuig4fiNZIowrqq/6Xeqm9Vh9JbjcOKvqFtACX7gV8kTVZvkaRoRQSEsFpx1OZoM2iKxxuHLtDcsZlgLzYZfv7m7XSv+r7fIm234XSP/8o5ktWqzqSyZr89PoXPYDTYkZvziw0NLluKayoEyq4iNVULpTF1IaDjHHZmoAW4aep9geN8fiLt998cGYdtVp7K6iqzXGJFUCAi7jdkuapsBJKcPBwgyP8YRyV7B04Q3dDbpY3jg6gupoMNla5U41BbUN9n0sr1ScKaHwEhrOYfo7paCAW0WiWknihhW/0Tabf/6tDtxpIVSIhGnz1dSXUkDL8fSHKi4/lWPId9Kp3Vxqegp8J/m9f14D6DQ/nmb281FwgkZ1Dj7bnSSFx7ICCE1R7jmO8FJJr8jCvjeNrIxFjDJBpKVaSlXhwDw384MyucBoLAGEfHI5ptO6n1YAq4FjorH9IWjUOnFlF3pj62aui3whbI33ZGQAir/UY3XCVEvzgdw/8NcSyGUhSlpVWQrFg2p39xp0JYLyIohaXxdZ2FGofG6yi85/QS32F0Asu8URgu1+2JgCjd22xcsVElPC85169Gaa1YTkRWJKpSqooBiQQzONvq9sRULKKxtzzAEJw1api2EFZjoW3K0oSwmnJY5tcoSD09HanEDztubnfO/IopyUWC6sUmZUpW5aSqkgwgK04DxxaZrFivacCaIdAuH9zaM1rSDgloOwSEsNpoSMenvU93dXb+EE5taFivKElRqd67qrNmsqIF+yjMF/i56MV2JqadYKxXMDXM6+4Wu04pf/kQEMJaPuwbWvPticwj4Il/NnTrdl7JrqaDC5wTUle1GmdWWVCw1+JotjA6PgnThsIdQrXknF8arkJi/+R355dbcrUaArU9ha3WqxXW3tHR9C5dN//T9eEJ3aGdUwP7T0V7F86Mr0VW4mF6o2NTS/ilaB2HDmb8wA2+08AuS1FNjIAQVhMPTi1NgwRkGKbxRxMz3uaJSRzVUkumOtLwo6Zc7aOkVdEhynN9NQ1cyuNqeEqD67mX9TXGyxXbJhFthYAQVosP58S0909czfqJqzdGODVqaG/IUbCWr2p0yukfp4FUtDfeir1yl8IPUGjPHFy/fqJyKolpJwSEsFp4NEfT6Z3YBvOp8MvMc0hAi9hHNQ1cBrJil5TUZxhfXsTuSdFNhoAQVpMNSD3NMTzzU1PZYAM/ProYkg3UV5rHT8lXmA7SwnwEq4FLLVkRI04HM+n0LdvzvlEPZpK2tREQwmrR8ZucCd7hePr7rw2N5PfxLUZXON1zHKz4kb0KnIttP6Njk8tyaimbwXPrsW/yq3v3bhoqaJZctjkCQlgtOMCYCnU4GedTI+NpQ32XbxH7QOmKG5nzdIWZJz8HNkKygqI9TmSL2JSiovGVn0A39c8WBcpN2yMghNWCQ4zPc0HRbr6GEs6chJFnmfl3knZO4/hmII1B6fiFG9br0s6qAeXPp2WUrhzHeXH/jr6n5pNf8rQuAkJYLTZ2kK7Wul7w6zeGx9DyUsZovOodOizosTg1TM9k1Wogpa7lIisOF+w48E/7E5B1Y/cgtdizsBKbK6c1tNioT6X9n3MDcyePOo7OoJqrC6S0+ZIYV+GSOHxvc18PJCxXG4ed13I727axqTp9yk9rX1jutkj9S4+ASFhLj/m8axwdDdbgELxfGsLpoZyqVXPVU1QugVJUV0dC27p+FaaBWWxknq6ceAljTNMiAf/BoUMbJpewWqmqSRAQCatJBqKWZpgJ731Zx9pJM4aK0hXe5vlKVFEbKFlxs3PvqpSSqpbzKztRm+gnEkktnU6/2GFMfa4wXK5XDgJCWC0y1iAR6/Z49iOjY7C5qkG6mk+3SFQGlEP8FFdnygrNFqBsn1OxP5+K5pGHbcBhqhT8fqu/v39mHkVIljZAQAirRQYx7Wj3Zj3tddQjVVJ4l50CMjHe8mqOTJCCvmoTyIrENXx7Uinbm4Gs2PZUqkObnp76i0N7N36tWl8kvn0RaGnCGhgILKPn3B3+xKVXDh8+nPseX3sOlpt13+P4uonv71WeDqLr1ampFB8S1JrulNaHc9rTMxltcpofOeWns0rTLkeIZUHRnpm5YibMf7kc9UudzYNAyyrd8ZLpWvfgQT8w+oyevXeo++bBtaEtQd9s1/ffRsV3I6eDJCp+nourgH04UZQnhIYfWm1o8xdUGCU8/E/bil89sH3dlQUVJplbHoGWJaxnXri2HTvd1nEEcCBS3z++MLi75UejQgcmJjL92ax/gNJPo6QekhVXAbdvXI3D+XQ1Bcxiu02zTAEjKFIdHTQS/S8Hd2/4YhQm/spFoCUJ6+mnL651gkwRQRmBt33gO+c3teNQYin/oG6aKX5rcKEukqqoWN+Ij5vy81v8UATDG0WGC21jlJ96K6wKPpWd8H8jChN/ZSPQcoR1+vTppJPS7iw3bIZl7n/++eFV5eJaOczX9Z2YvM1LPxWpocBHKv8qHHdMqSphGUqqahaThfj40ITBcbLnsDj6oXvu2bS4n96JVy73TYtASxHWo48GxrUx+5Cu+XY5RH3PMzLGxF0ktXLxrRoGNVPPfNtOolIrgElLGYH2wbZqcipdIFVFlDbfGhqfj9bskCaHHS/7gTt3r73Y+BqkxFZFoKUI6/C7Lu/Bl1jmlKB8PUhcHjHufuyxx/g5lbZw+BL7bX4EoiZqyS0T0uM0j1+82QSl+ua+bhxj7GjD2LicwWkLzaarigbKsmDJ7gcTmezMBw/t3ixntUfAiK8QaBmzhq8/f26j77pbaxo3w+jetPf1B5D2RE3pmzyR4/nH+Mti4Wx1dUrCHO0lSVGqskFUnakkpn6mhu086jgYHkWTW3Wbo4Tli6L5gqYHE47vfeDufVv+YflaIjU3KwItIWEdO3a9Szc0ElDNDqcLbHjmxas7a87QxAnX9ljfxcr+Mzs29ykpi1O8iJjoR/cm5o7dnUl89LRLW93dyWmVIip+Kp7pmlWqIvQ8Mga9Gslm3Efu3LX+K008HNK0ZUSgplnGMrZPGxgYsIKeXa/TA61jPu0w0+7xBx/cd3M+eZspD0wbDgWm+RXP13cODY/jWGKuGAb48jG+agNpilbqlKZoWDqDY2AyjtNUlupzYZlKpXgaxIVMNv0zd+/d+uxcaSVuZSPQ/IT13TN34QRvZW81n6HSDdMLUqmjh9tgd//Fi8OHEl3JL3Z2dh3MzGA7XU664llVWRz/QhLjNYmsmaWp/DjCjqIDdlaZTOZZ1/A+fGj7hjP5OLkQBMog0NSE9cSRszuswNhdpt31BRnazM3U9IuPHDrUuG+419eChqU+cvzqjp7u5P9KJpMPpqc51Zv9QntLkFQBEqZluVCw/7nhaP9i376+8YIouRQEyiLQtIQ1cPT8GjOw7vE8tyFtxBrb2MBXdh579FF99g0vC0nzB548ebNHT2l/aFmJj1BPBYyav9EFLaQ+jdPAVNL8/pZ13a8qiJLLOhAAjvrTRy/d0enbF+69d0tzHFhWR/vnk7Rple6mp+9uFFkRGF8LVj/08IUN8wGp2fIcPLh+4sCu9R+F3ucj0MLf4vaVVnChqYWmdaQS2jpY2vd0djh86Vqh7c3Yxm8dudTPxaW0lrn7yJEjZW0Tm7HdC2lT0xKW1xecgHE3FDWNcb7uDh6+r/96Y0prjlIO7ur7TOD5b3ayzt9ylY0Gl83qKFXZsCXrXdOlrV3djf2LBr556JOshLDmMWhPPXV6vav5O5jVxYLUhNl3iIbV8yiqpbI0bQcP85C2Xu0l3dczC0XUN4Pzb71339mFltOM+Q/0rzu5f2fvu1zH+QDOt3uZ0pbVRMRFouJK5qqeTkhVqyBdtdUmhGV5JI4cudrpd5kHiyp3tTU/8s6r+4rC2vCmaQmLWJO0Ep65INJK2tbpt75298U2HLuiLh3oX/95L+0/kHUyvwTieiUJHVEimVzy1UKeWMqv2pCoKEVFRNXT1aHawnBx80eAZj7TwcxdAc5Gi5fiaNnNT37nCk4xaV/X1IRF2B94YHt63qQVaCcfePX2K+07fMU9U7qtHev+xE/7r3cc70O+6w1gxuV0dHZiusgvJS/O7IskRXLs6KCxqj+B26t9a3uUREWi4plbQlTFYzXvu+7tB3EIUGel/L6e3TNw5NS8zYAqldss4YvzBC9C7559drAja3qvDoyg6pwCP+KBZaVOPPjazS1vMLpQKE9fuPnawDB+EqehPwzWuAuSl8LPg90WVxhJJPWQCUmPBAWTBEz1TFUGpqO3wYYvIPgr2az35a2b1/50V6f1e1NTlVcvEzB0xRekj67usu5FmS2/crvQcaol/zeeObfTSOj91dIq28PxiaOHDx9quy8LtQxhcZBqIS0Dhkl2l/3yA4e2j1Qb2JUUD1Iyz1waOQib0vsxKXsAFvH3wMB0JySwtZC+DBPTN5BOCEnhrI1BuKe9l6tIzsVCiD6E0DOabrwI2elZ09aP7N3aNxjheXvK+a1OENa0EFYEyYL9rz072Ju03ZpNQKj7Xd899cKhNrA9LASvZTY/s9GcHoK0XsrakLS8UklLxyl+/rj+/Qfu2367sJNyTS7SuZfneO7ffweBGScu3NwAqWgrTvTc5jjBZmw87tMCfRXYKQWOgula4OiBOQUZ7DZuhrAGdQXxV0zPuCaGnkv3VPGHOpPw7+QPR62OM5HhdNddGOeX2kmCbSnC4mDlSStVTFr4eLljdHV+702vWz9R66Cu5HS5h5hmHvz3QiOxwJTRo2BGgY06dm7OVhewYGAY6s75oD+ZDs4JPY9JyqSCQ7ABqftd5VFM3/j2Ja4mtsWpJQSq6ZXu5UZTKeJnsHpohiYPRqBn04nkS2+CQWW59BK2dAjwS0Y4IHDz2ERWG8Gnwm7iK9W3sFmbvrqGPzw6gW8eTmvTM07XmTPX28KYd7EQ3rjnvv1QFHbPt3zT9DcMPHd+13zzN1s+/hC2rKOo7NjeQdsxT5LEWrYjbdLw05eHtwWe9jl0542u62HZHZIVpalY/yIlP5X3MHYddLLZfy4fmYiBhNuB509vw+rG3tKY+kOwGHLi7W/cS91jS7v4s9TSnZHGLx8CICH9lXNDX+zpWfXuycnaBV2e3e567nAm4973qv0bzy1fD5qr5oEB7KXt0u7B3Loh7yhWVfypbOalh9+wr6U3mbfklLC5Hi1pDRE4ef7Wj+EEiZ+amqpvJT2bzWjJRLIPR3n9riA5i4DZg720DSIrlsrvHXSZ9p7ZGlrzSgirNcetqVp9/vz5FJTqj6JRejTdq6eBMzNpHP9s//QrF4bvrydfO6f1JrCX1mvcXlo98Kembjotr3wXwmrnp36J+pYNeh5JdqRem83O77gxkpxtW3bgOZ/g1HKJmt3U1Rw+3D+zrc89aunagnWzpq6PdxujLz388L4F78tdbtCEsJZ7BFq8/sHBoMPX/I9hyrGgnuDUUZzrnnz7yQu3HlxQQW2Ued++fZmJ1e5LoPB5k5ZpWCPXz+08du+99zrtAI0QVjuM4jL2YcIZeh+2+9wF49MFtYJSlgmHE0g/JlLWLJQPg7RmhtyXsJ18eja0tivsXhj6xy9ve/mRR5TRcG2ZmjyViN9NPkDN3Dz1FW5z9XM4i+s1ME1YcFNpUIrVLHzJzHnwjl0bn1twgW1UwPHjxxPXpztejR0HFTc+F3YXRwxdfdM9W08D0zrs4wtLaM5rkbCac1xaolWOvurhZIPIih0OdVm2haNTfqUlAFjCRnJP4HBn+iUqz6tVa2nGpTe/etsP2o2s2G8hrGqjL/FlEQC5GHghfplSUSMdvwaEA/9+4vjpa3c2stx2KIsfUek2dr+EuXNF2xEjSJx98w/tbFt7NiGsdniSl6EPp84O3W/Z1oPzXRms1GRKWdCJdeCIlJ+vlGYlh997r+70+EPH8NHJEtLCauCph+7bmj81ox1xEsJqx1Fdij4Zxi9AT2KSYBrtslgxhOD2gWOyz7AstFzx6zFHj1mGobYUYAgC9cHge3ddK5uhjQKFsNpoMJeqK6+8cm0X6noXiWUxHA8WxAdWNyQM45HFKL8dyiRpueM7jllmMGpnjO+1w9fNaxmXxiogaqlR0jQdAkeOBPjczrnOiQ6jw88ESSOA6KT7iQzOHEvavu1pZsLQg4QPP/DdZG9Xx/vWrOr+mfR03SvtNffdxleAQIgvTzjBT0w409Mpu2faufZy+vDhw5WPMa25dEnYqggIYbXqyNXY7i/jCyvdfmaVb5hdVsLp9LJGp43j1/1A7/RdvdMwPRzEboRnLVHe9vEvL3eXBOB4ZMta22H+TiqV2LJQ26u5u6Bju44Z3J7O/Lvp6cwPmBanOwQ4uNHRTWMK21bSvh1Mm642nTWCtKkH07rnTE72aOO0XZq7bIltVQSEsFp15HLthg5J/+aJE12m3tVjOPYq1/dW4cTjHnwMYhXOce8xDd3y/PJW6OpMdsTRVy4iK/rKMR/jwvz825VIHFzT3fkx13UW/dnhRy3GJyeeHEs7n1XNibUPFvY6vtGDw5vV9w0Vofn81qGhZfDhi3HX8SfQ/3HPMse9CWcCX0gel2OIFJIt+2fRH7qWRaYJG85NxldGzV4tGayFSLQ24+q9ULyu9gJfMU5ELTn6wUISTl03NHz1KzyiJLqmX657OLLdSJgoXTO7cBxyN172blier4YCvBsFdSNXV2dC35tKJrbzfPfFdjwvC/qs9MSMxxNRsSqmT6LhUDQHE+jUBE7UnATXTuLsrRn01K2l/x6+qItiR3TNG8V59KNB0DGSfNXGUXwJY2Gm+osNhpSvEBDCasIHgVLTt75/aQ0MnXpBNb2QgNYEntfr4wu/nBYpKQLtxtdwAh0SBX3VDe7nM/Ha5vf1Fb/CURS2bCTAWWuxR229qRsbQQQbUed61LfW14JVKKsTJ5sk8WUcHbtlNANyTOhgcmAGKH7p3m1FWpqtuZCu+LByVdKHVMjpKEQrBwIW9tnpXOIH+QTDSH/D9f0bmCLewDn1I4HmwtAypPDZ/oe9oXKf/aMPsWxSs/RR13FHrURiZE1gDR86tKHEdCDMKX+XCwEhrOVCvqBeHNaW6ui11/mWDtLQ1kEiWodXE4rwYgepAPssTPCMOjIdAk94TZ8pMZjch8HjDorGFUTUAwlkh64be0A9/ZCatiDZWtOyE7ClQmIdJICJFYhA+TRV4Fo5/QIHiUvrTEbkVRCxiJfsSBbfYk87OTExXxdazY5yUgiRKfpHQ1YSkONmAZY+gV4NIeVFfCXoLNA5h/Plb5LzWAyzF+IVXdNnvO/6GcsyhjC1vmWZ7s2pO3fdOqzriy9asnJxZREoerDLppDAhiIAEtCfO3F5rW0a6z1PX4/nf53nG5RqqrpieSnULEVh8cx4E7ugH78H8tG9eP/24oVezY+pkpA8b/abhPF8le75BqdsXUtaFeaTlTI2IByEoU1l8oq1mkokcZHElIRoWmpejMMCMyCvQXyy7JjjuUcgOl4tLCzCMpTHgFpcgkViX/dH/ax2Szf8m2Yqc/MN+1r7BM/C/rfCtRDWEozSkbMjq7NTY5t13dqE6dhG3wsSqlp+C9DDi0ifLrqmT1f6BgUaPjiHN0lJAGAfvpWcI4XjiHIMF6ocO/EjmMa9HeelQ1LT1PRpoce/sJwOTCQtc+kfGQp6Uxl+9JWtmL+jNEaJ0gKBgbsygR58B4sHfwV5aliVWg3vCHv6ymHcdG868IzrVsK6pnd71+/dsmXxbD3m3/W2ybn0T1/bQFe5I8euX+9ybuqbXMPbDA7ZCKV4uMOecyz+9OfmWvj9x9zEw6JW+JuOX298WhE6qtwLEV3TL1tb/AWj7sqwfqaro/sdmcyM+vBp2XzzDEzaBiQsNH+e+eeTjQ+ohwqnG0BYhfVzNYKrkOmpyauYYH8KvD8G6RPBszrC6Jq+ystl0ghzXEZjR5+O4+iZwTh+eG7Yqa5rq/3hGzzTSkXKn4YgIITVABjBP+ZzP7i8ydasrZCetuCHvIvFRs92SEdlpnCYE2LOQi12OA7RNf1yjrphHIyE9yOXPnfNMDg70DpdTf8DWDKs5rRvMVwChAWrUgh21HzllD0NrigqlxKVC7bKQuOOWeGiuI7OTkhb6T8C/Xw3xkel9cXxj6eIxiY3Hhx3X9dHsWJwDaa3l1+zd9Mt/F4tUk/ijWnP+/DBb8++LWqvnh0c7NDGta0pO7kl6zpb8AJzEUr91kYEFdeBRCt69Nm4+AsSl6jwjVGckY6VwPwUpLhLURx9xliWvxFHi/w+zB0SWCnLsVpxnoXesSI2ngp4zmRJXPgf/0IleGH51R6uwjeX5MR76qtITh7+8N9Cp4GF7Sm8Zl1s35pVXVomm/5c1vG+Wm284njHJeJq44/FjixUAld8w7uijW6+xo3MhW2S6+oIVHumqpewglJ87+LFtcFUcqur+1vxwPcZJqYPMOyhXw6GKI4+4/GwQpjCBhe+6XDIpFb06PM+np5hhS5eXzw9bLJ2pBLGv4Fe36BU4kA6IQGw8MUY6MJywVeqDs54Z69zrWdY7jI3G1ZtUiSV6zzDI3IqLLew/wu9jspl+yywrA1pEed5QceXPT3jBb/DLrA5ua5UHZ/4eMTbFx+fwvE3DJO8fANrjlctL7giJhRx9MrfR89R+VgJ1Y6currONuwd0FNsxwtV02mPlWGLy1TxlPHf6Hh8PH9xesvw9yRM+5PIRT2ZIgVKKZxWUY/PT8aTFPji0i3m4Ed1hDWV/7uY9bNGtiGqAyorJRWSqCgdkrQiR5KddrwPlsq8xfhG6efvx8dvtiQczDdmmPaldDBxSVYeZ3GJXxUMWzxq5d4fPz7Ym7X1HTAL2A7NqtJHEQ3qtCPjw3LoxB/v+OMZ5VVzR5aHWRuErYA+y4uu6fM+Xl9J/lh7bFvbY+vmv0bWos9tsXAWSLIiaSnyApHxJz6SbFSFuXTw8i86r5vVRW1m+6IHmUREAuI0lcREP5q2ztWPrO9/YK54xsXHI56+cePvj3qBfimZNS+J5FWMcrjptThsRd4dPX9+DcwEd5iQphwozfkCwJKaLv9ewHYKeicfSudwShcnJDBBOD3MTwGRO0cqLIj73jQTaejDBYaPHTBgJ/i5+HyYijd95sFhRzkzB7yL2IrCtGwezj9nOQVTUlfPwiicifnu5J0qHHd8mXHIG6ZD7JQqIk9kJK6QwAokMWRUhMaSeJ0vcfaiXNhs7PyuwpYV51Vh+EM/Pu2M9GckpyiOuZm2Wvtom+Y4me8xPbvIIujzPu6Wbvyt1ejL3U7Sv/v754ZHsORwaX3KGdwiJhO5pzY+Mivk/urVq52jTnIXlEc78LKu8qAMx/G8kHhyOicosz0ovM3IrIDKb15HSvDoOoqv+hMLYCOWI8ash0vmufryZVcqLz4u8fym3ov1xT/EVp4UDUTn4/iS0xW+sZTMojASmLqGp64iH4FRXJQ2TKj+lv7JVRTVxwQkm9APyaboGnGMzSVR6VR87ipsVT645ovOzi5tamb6zzB1/nqzjz+s9YetwLioZW5C8jq08K9+1IxS8yQsfF6ap1WL2BK8VOaJc6NbPcPrx7wJ++hmHQUPvOaQgMJ3ETtVlERDP0wVsQ19uPgcLQyt/Dc+p4jlL6k/1xa2qVyh5ApEzEoErm/DsPOTXV3de6anq36roFyRdYWVbVSshHJEMt98saIXfIu9koplYZL6m/hUz7kS/Jt0/PE8+Jj6X/Y6k+fv2tA1BKIvB/OC8WnGAmp5dpqx3XW36fjgYK/upXbhFd+BrRlqn16MfkrspkoC4hnirYjbUVWzs4rHx8uL3cerjwt0TA4RcBcsuX8Rn97q54okVsCKJJ9YkSvy1gJR4aOtnAr6OJP+L13d+BKBKMEzHhAfgDh6yzD+vqHjTDDvYpAxLqwEfVdbE9bpIEi6V27tdLP+LnzPrWS/XrRTnz5d4e79+LNY7r4kP+Z7Jv7z1LyPL0B4Tb+ci9cXLy+eJ54e8Rw//rqqcUR+HOrgYVprJbBl5E2w63oI64J7k8mUDZLGhmAXs19ucVkxP8gKQu4ptCxbMy2TW3KAGI4u1P207ztH3CDx/7bL+Cdse8h1Zy5ev7Dp8uHD7blJuy0J69TV8XW6l92Dl3cbLG6g98idbhDgdANcY1ZY9o2N4mpNr96GRf1Da3Wui0RW69F1bWslvp81LD2xDTOGu9DhQzBc7AcYfYlkAqo6A6ozqHNBYJTESGitTGShsp0qQSxT4AcoPJQw0LBlEPhBFakHDjoLvY+XgVIyg7WK77tG8n9pvpHXBbXL+OMBd7FN6KLu+uf27esbX9RHdIkLbxvCGhgYsDb3v2a7obt7YHakpKmYiqgE2ioqJbzIOszXcSov/DAzRRNehyJKvPx4+igv/ZLKEaCkoZxUFMYXE1I8f7Xyq/UHp9CkAlfbCF3NdlhS7IQguA0N2wiJYy1ktC5IISb1Okr5jSYruy2SGlYkIkKLSC3yy/WrUWGzSnjaTUX/QEhYQuNewLCdwBFKRkpOuAfr4sBnwwfDg6B0MHagORhBHNqHw5WxTwYav6lAt/42MBLfrYZXHO9w3Ftr/B0Hp0pY+tkD29ddAz5ln8NGjddSlNPyhHV8aKjbzAS7Dd3egRcvgRHJWyrHASw9Pyp+vlSxEluH0jWAGQF9VVZMpxHVRZ/xSKQU4PR5Xy0+/sLQZCFS9DN/XKtSeh5WrL2x+sMyZv+W67+vwz5eC7oDx12rm9pakNg639B68XL3Qh+2Bm94DySxHhg0daBHSQhiCbyyyMS9SDi8RhEHyYP1qD9qak0S4VGn5VYrSTRKEkKHWYYiHuQmCYb/YKYLqS+3H5LYckxJmz6qhSYJ5yNgzgtuclESpncBfN8Fj3lgJdCSGpHcGECoxrouMoHjzO+4evLLMB1VKxJV8Wyj8Q80Ix043jnTu32hlTdkh08Yn7UWcnio9Qs3pzZm0lN7LCOxIdIZxbuQ1+lAVFFxJB7aMeUIiPkiPRPjo2v6dPF4FVjHnxi/oQK0Az/bymf5uI7ayGLj6eM63nrbF5VNXzV7nv3HViQL3JAEaSV1z0iBNJIgJBCYkSKJYbdjEiSHw7a0BI5s6QBBbINUswMUsQ6E11UojZGccA9dcZDBdQY+TgyFTgkiEKYyIBvstAQzIRk8cBJ+A2j4gZFDFWAqjAp3V5IhQYYwwUJ57ByS0QINzMYK8FyrRxt3KNbXb2qG/UVNT5wDyCt6/A0boGbdqzPA4tD21SPquWihPy1FWHjQzYs3xnZkM95ePIZd8RccBx1xez/UPowp46I4+uVcLD9/8Plq0Gfy6Jp+uez5uqPyY+UtNN5DuVQc06drpv4bIDXsjtsMpdkOSC79QK4Xog3PzwF4IBNCBiIhpBSpoE8jioqWaM2KCRuOqwLXgIQItKIe0lCYD/lZjoqgGIo0+J++SsmMKA8eqQ21qHuUh2PfzQHN6vgG6vVK8GfmQhcbr3Yff+AEi3rtdCtNF8u/eIWD2ATXx4Mg0XH1Vr/hm7sDQw8PvyvTrriKWocEE0C6oM/kJRJHrAykgj6WGlq+JUifu6YfS6pu4/UVa6AgQcXKi78ApekhcWFBwMstEkTX9MvVHw+Lt2ex+4+Pg62CxgsHEwZbAdgWIJfA+ICkfDRYtyAwWWB7Ay8F8VT/KB0bOJ4Gx/CQfUKSwZGrJJs8iZHYgB0zMB+zk8hopQ8hEcEog2ERASIBAOL5fIrVIKLxXKtzKPZLgZUckvGf+/nH5HsK0+Uz3316zeAjj3D23Lwu90w0ZwNpiZ72UnvwfO/AXIFnXfLBxLOsHn6yiLqmr3oQ04LHX9hq6TFHI6txrlYWkHj98UT1lh8vryR/rIKq6aO204drdP8hRWF3itmLUw42QnW1CSTSA2IAIXkWOBYKLWw8wjVqNkEaFqjFwLQNJhWI4ZiFoiq6QX0SbsEo6HMoWVFCYprwjw6FP65BXCSoXJwiOwpnFK9A6yiWkQhRDwA9XAfpwLS/AqnqSKP7jwapquiznXFXMn6x8Yg/X/HySvLHKqiaPlZfvf0H6BloAM/v3tpzHkJwUx59Uxb4GE5Lfnt2ZGS16SX3+F5mq4llfegtwnaSR6J5EC8hPUV6IDaS6aDnoZ5DpYe6AtdgOr4pyhXLNPH0KKCo/DDP7N+S+mI6qHzbQr7AbdgW+iylWn0l5cf6E29ftfSN6L9lGl04x30tOtMHklmLhxpClW9BL4S1T+i2uNPRp+0FflD0AN9A9LHnmHGBBfJCE3QL9ALiguoJqiu+64gDzWGIIAlhzhaSDsMV/yjJi3BxyY9khP9BXBSzEMY/AFORGMmM1yyKZfmm+ZKuJf4uMHV1THEj+o+S864E7zYd/8Dliqp2MamvPbt9uw4dY/M4DnXTuMuXx/scK9iHLcbryzfKwvOJBSGNPl10Tb8WV0xYyMFymDdXXv46Kq+ueChJQI4WlSUqf8StOf5CNdXqr9afxe8/Gm6AoLAqGKyCGLSG350ACFzKM2FvaeOseEhFOsjItdQ2S6wYYmkOdl2+CfLBvmpIV55vYY2Qn6uAxAWC40zbhxSmWArcQj0TSIiSU37mx0kgVesgLereOSz8E5EWJa6Qzyh1hZEcO7xY4Ct9WLfNvwa+5xA2h6uGP6vMPxMsZ8WNf0Gf+cOCw9usq51a5+kNG9Sn1IjJsjoO0LI7EpVra/vxhPdFs7JyjYriohlbTAKGxO1C6oJEljseOLqmTxfPX66OucJK66OUNzuDjK7p05UIbGwX25I/vrj4BYrnD0uZ/Rtvfzz9fPsPIkgkbL0DZNMFRVEHFEY2ZCBTcwMLdfCsCCVN4SwpE9YG+ARNgD24IDHYSYB1yNCYDkLRFoC8oOUG40AKQx5IYyAmlQ6SF7dDoSof0hbJiApzqLs43aPc5UG+AvVQ/4T7nGQFQiJ5kdbAkmgH2Sz0FaWB4gLrad22v4nmuvPt/yzCc1+V4t0e4z93r8PYwDCvNANxLSthkai0jmCf5+jq6y6Y4SkjTfoKprgWufj9Dg3AozBmiK7pl3H8WDH3u0YfLY6u6c/HVS2vSvsxoygyTF2q/qNenEyjJ5NJPYGPRidME1M1/JYqwyoNq32Ihu4J0z5M+WA2DoqwEI9wfmEaEhQJzPNsKNOh0jJwrfRVJqbnNOrC6IGwQFzgHiKrpCuq2kE+FizrMXWE7IWCEKemg7hSiimOQchNIC3EchqpHlBO95TshQThkwF5TL9k+Mm/MZLGzVo3AlQdLzagDle1vCYd/wU9/5Z5ZcyZPnNow/J8ZHZZCGtsbKw3rdn7nIzTx42o0WfP1cPKuYJ6XPFs5q7p8zmKx5v8cdcxDeMPOR1fj+gh4X10TV/dukiC+nJPeLy8eH1hrtm/UVvpKxcrP2oL/dlcs1eQ9PCeo73wGcp+R2Xyvlp74vH19B9EkoA2CYKUlcQqJCQj6vkoyBjh/IurcJiy4Zxy2FMptRBO7sK3kClR0UYUZAX+wMqfC1ICiYHMYBsKSQsSFKaAUEqZLoiK00ASFsgpN0UEUWE6yOkiiArE6NmUb91OWwAAEuNJREFUszCNxA0c/uBoF04W86YOarWQAYjGmHBBEIkUiXEqib025hNmInWknv6zKo77Sh3/RvcfSx5Xl4O4yr5Y7NxiuEEQFT4uvs8yrF5VvosX28LLS185vsiRHkc9YPiJtrCbJIzHyx3gJdfpl80flZWPR6qIxJghus7xjSqj4E9UNn2VvN76Csqq6XIR+48OYEeGlcAaXhLfQwxNQcgQEI9IErOOxBUuCuDLz9Arm5iyOTaYy7Jty8hAb2VCm43ZmwnwQTbgFpAWyA4SGEKhaMdgYNpngKAcpeMCAfFjYGE4yAqco3RZ0LorUqOkxVkf6AgzvFBPFbISSsOUD+WRrWijpcwbmI4Gomj4yxAIv4bPVU+q9sfxk/EP36UlfP49N3vNWr/m9CZdX/zzjDDofAoW3XHVr9NPHdB8p2+uORl/mjFLUktMbBTtkSJbpLCRxYyD5OpJps/4+DJuvq5IIgoLqfi3pLzcRuloM7QSzKImsBSWG80LVKkxkSvOkFHaCjL5QvrPN9rwvaSVtEg2ICmQCNRQkGjwnlOpNktMxdds+GxcRFrIyCmhTQMEUJjl4qwtzPbAOVC8o0DUZroGiMmBpEUfRBZ4DvRUJC4/1GOpij1ML9XU0PJdFxIZGsOpJkkOQ0YdFh5CPodKl0WfRqQkVUhTIEf1iN4GkdJU4Rx/xsJfHkpfMv4cd+IAUJb1+YdkfSU7NXp6+/bti7qquKiEdfVq0Gl2TO2DonYzAcUTCv0slCB8FuGia/q8j7iAPl30aNIPHVKq55w+00MvjFLo05WmV8H5P9XLzydVF/H0xbGl9UGfjm226B98po2u6fO+0f3H9M7SbT1h+FoS00ybSmm+5/RZHxzbwWvVHtSvNuLRR4BKl0vPtHRhWh1SESUsNBkH0qjvNiAx4MA1JDBc4yBmTPmwJArJCFM+dA1SE5XsmFIqRTzKUrZYkMio78IUkauFoW6Mcbin1GWrOR8nqOEUEUQFmuK3ZdEw6NFg92s9j3XLp0CIsAuS8VdPkcKhCZ9/KAc81x/c3NdzFjy6KHZc0YPNh7VhDg9jYnh4co9n2dvx1nLalys7Rimx2xLGigfEJBQ0Xr149FkBVb04BQiTlPAFbTiDxRGKM1pJf5AgarPKG0sQu413N07hkCANO5m0fSebtCwziW5DqMISHTRMJCDF23inYbmsauNCHq+Vn1ta5dErzKN8psP/RiIXVpAegKJQ30Y06AQSEXdAIpdL0wbTNsLpoSIeCwRJHZYBpTusIFAIlPC0iqL5AxoCcmLPQkkLdITRCc0dSFqQD1A51g4pLOXmhZCwDMO2BpH9q6ZtDoU4oKQIy5yEynFnv+mzw+0+/q3Sf5yT4aYs89zq1alLIK7wYeQANcCpgW5AOaqIARzxcudrXrMTz+cuFAxBI1Rw06eLKz3xsnDikt+Mmr9mWBlXrbySeJAlTt8MXJImXHRNv0zx2GpWZ3r0KKqzXHlRHH26+fQf+mkbg56ADjppUuihMJl7BEhGtmnj+4Phj1lEUAzjaQcgJkzcqPPmlI/yjdJV8Trf/+hbeYyP0uMS0zSVF8SEaSELxkhR6a7IC1IVHkNMBWEkCljxYQ7YXgWKrDCHw2ohJDDKSkr5Tst3TANBp7DdgkTFKSOpxYMtV2i3hXQoJjwbBo3L4oibAajdXmSbCl01PEvi6x3PetMvwfi3cv+xHpPRk8GZvo6Oq5y5FvZlvtfqQZ5v5igfH7iRdHqrn/H24McyEb6ejCUxkCwqEATi8JDNKtWRIxI6wrLj+aOyQgIqLT/KTZ+OLYnCFGHE60PdSgzIgVmcfrbt5evjYkB97VeNyv8plx/UYoChElhYgB7KtD3PAUWRpejIVNzNAjNzyDuYRqnrMF5dIx4CkTrlAJQRps2FhZIX5lqYwfFLOygTBeSmkUhDEgNvIC7MR5ML6JhozoCpn+858G1utbH4j7BRT0Z9VlZzbTyOKJCKeCjkqYbkFBJh+DXCPVcKuXKIFURlm8WBoZSFOBCYmk6i33ioT+Kw1CegEMspcFfe+M8+rRySNum/YUwm9I7TPT04NWOBDg/nwtz16xMbEp3mPswIOuI6G7wBSlynz1pQWZEIP0smIcEEWN3QsfJDn+nj9FFSPh73wilgdE2f+eOumo4pPqWI2kI/LKu4RVXLq7H/kJopRUFhnkj4joNT9KC/BlZgAIVD1I+cwASVUBgCIsF1KEQxJLpGPKHGP5LYrAs5ikREnmJ61KF4K5cG1+REVS6HC1JauGroYYcOrLWUEp6MSF0UpoZgK5hV2dgEzeNLYbMBnRQZEUPnOwGMT6GOp57Kg/0WTCMYjnsQHpDmlJFTR5IcNt/alvV1PdF5NsKcLSpGG03L6QcjnWDpeIXqgFYb//A9wGi1+fMPDeqY7nae6uvT530KKp+JebkhHJyX6Fqz33X83tCgRr1d6gXBH+XnFtEwDmEVMBfAtbK7UvHxVTb1gGLQokbFVBZMDtUJHmT+dsPxmqSRU2nkrxkWxhfbOfEVwLov4sIaonSRr1qZy6vy8xliPbn+qPjYHxSm6mJwdB357DfaVtJ/BMLeW0/ayVQSR6TA5AB7h8kwmFeRrFBUSFYkJk7GsM+F5SuiCQmFBEriCskHYcxfEM9ozBjBS/yaKD//rBzndjD3BHswAcmqwFdhOWGugCw5owwpEt9sxMlVGWQEK4GlcAOi1XAcL6eLICfdcMFmNDnH7xdO/YTCHTkxM2B6EiSPbuXmHrZO5eJy4Iu6lfo2Gu8orFfA+PM9UMjnHpBIx9v+/Q9Wm8nMfcMTE1d7u7vP4Ec6fzy1wqOGP3xI63JHjgT2/rsy/boTbMP0pe78dVUWS5wjK0VUjIqNN3kA62ZYeIcfxofXDFNFUZBTT4W6m71mWBlXrb4yWSoEYWh0jVIUdJEmzA6o18mRDN7dCplCEkK8IiP4WRAU9OO8j5wimZB3SAhKYlJEphLkJCaSEP7PEdxsfVG5UWFxP6qPPngTlvBED6IWLN8dTPmg8ocFPPRXWBdlFWqqCEmLlhAgLRtKdLaAkpQNfRUM6DUQGOUiTimNEaT7FvRVw/F6K91XG4/mHf9KPaovvJ36jzfSS1mpc6mUdhnvhZL4a0GjZsKBKK+n0+kt0AHvztCAsIzjeeAeUKVPF1l101cBWCICxcGmcPalUeHRnyguIsJYej79fFnpKxdjrKhu+spVK69Ke+OW6SXlh7Xk/8b7D5umJKY6nUiQAEmp5ZKoD5Ay8kTFzcAsJIrL+ZREYCWAaU4ubXRNP8wfpuSuGubHMwCJhSuGPCiYJIMw5GV6xkfY0Wd+WoPiBAlEhvnzNluw3SKZYTkQHIQ5J1RQDg7Lw/QQGUIdFp4wcC9KgQ/7KkxjucEHROVmc3ZaCFfEjMxUvlPvBZ0WhT1Q1zG06hQKyGPA9qEh4bPRJuO/0p//WvoPyXpa77BPr9L1mn64QiJRT0vlP3jg1oyn0/th1dnN6VOkQyh8wVRuPpLUH9GHi+sckD4vLaj43NSHLwfv8cKjbGxdgc97JUpFpIRbpovKYHTUltkpHYkyEqNYf1gWfZU+Vn+JiMZERS4qKyTAMv1hmwoItLT/aL6OL9cn8A4mknhDkR5CUuh43ExhAXjnIQVxRQ9UwnU1JM73meHISINzlY/1Ir3jwNQBtui5IpU3K2mFZbEUEhgJiHlZhkqI8rws7hPFxBHlZ5romu1CGRSv2HyQEQiLPkwefJcSk2o0mU+F8Z46KswbKd8qvRUWiq7BsuoYlF/q+Jd839p4/KNnFHhw+Fbc819r/y3dHO7qsk9D2lLPBvEq59SLXC6CYSCq1OTk5F48g+FxLyQSvvyzhFK8taaYL1ACiYdkkSOg/HVO4irmAySLlR8+yHy5wnaWysTF7YmnRxdyecMXFDcxx3KjNCUEGUtb2r4Iixwh5qebxEG58v2Hkh0ERqlLp5kClNLkngLSyF8XExrZi089SYbFm9DRg1FCbEKyoxQE8sqFkTOgTwrDVIPCP/k8qpRcGrxMEXmxnpwjUeXbhjpgA2bBNsp0HPQWOiwNOnddw5YcNIdSFyzTlUKehEbrLDxDNn7osjCXPw5FO22qgPfKHn/pf8XxxxetvSvYlX8BxBVKCdGDmPPDhz0W+Oijjxof//jHt+Hh2oko/qKqFx4l0BJQmQIwS3RNn/fxZXqGFbq4nQzimI9tKFs+S1S1KJ9XoQkEfUQwtKg98fSzefMMwmx5F28/IqK2RLjM2b54/gX0H0v6+IiDZSVgHJogfYWNzDMUpCtsUkKg4pKIUJAsnNTlkjNWzfBCPMOhi8JAiCSqPBmyMFVQ1OdctQwLywNZ5cPCpDl80D6IhjzBASQF0sUeREpSJCyE4ceSpJXbEO2612AHepaTSRn/YrtEAD3n8xV/ntv4+S96nyGRO9gccQZmEPiBK3bRi5kPHcG+v2T32n2+53bxNY8oQyWIB0SR9OmqxMeTh5lm/8azx8srEbCQNSqTpUTX+eagwCiPqiWeQAXO/olHV2tPaYUFjWCxsQJjt7MV564K6iOB2Xj1adNGa3PqDMFl4XwSSnAQCUIibqFPlwtTwbiOkoSR+JvLx3KYv9BXaSrlLyifSegQBNMFTAWhiIeFArRZnoX+8Y2EzKhbnuNlYO9wFpZXkwoH5Kmj/6qOFTz+0n8+Y4Y/2pVIcJqY35+YJ6wjEN33ZzL9kPY3hWjx6Sv+RcByLIQAZZYQJSn2C944FRF/QkvjQ31XZDcV04GVPOGl+WdJEhVGbaNPV3d7Va7ZP83U/1ACgzTjkg4gjUFvHhGWkrPAPnnBLNeFSEKKfAbzOu9yBAUdVj6cZURpZuU3XOUILioD93x2IEnxxFGc9c6M+M93cHSNZVzHquBQDeMn4x898wQ2us7pgGvAbyU8/z5e5EupVEqtJirCgp4KHxVI7sbrQIYKHyKF3+yvIvEEX8FsQNk9qXwgBpgQwNo7p9OKrukzfdzF08+WTmYrV35YF+tU8bEpYImInGtLVH+8PkzZ8iQcVpjrawXCLOHH5uo/9JmWjbXHJMQcNhVW8bOklbsumnJw7Q+cgtVK2mJxAUNNKKncp54KHuzAwnjCE01B1UIHA1A80ik/IkdIfTj6mE8MXh2sSKZhdHUd+IcDykwFLj4eMv7Fv+il75c8/xEmeHaojD+jZ4LgbsPVVvO5iutg4oSAFCCiAqVp/jrUKRU8mzVexsube05ff3tiD0Q1wkP/ojrYgeiaftiheHsjLKL4GrudTxYvb0H9h94bpzeAwCD4cAqJf5SmlBjFH5D8ChVC1Q8KyIkrjtgbE64y4lqtINJHel5Hq4q4ZdsYzsWBWaU+rkFWtFzQbiNNnWciNbT/qD4+Hitq/FdE/3mWzmvQU+W4hZZPenQuRHRNfylcvfVjpUqz0Tj6dNE1/fm4euufTx1z5am3/hr6z6lj9A9ElneKwPJ3IYEVEpqKys0YFeUhoDBP4TV/+bjVIkfqKuu8/ixC/+tqR73111V4DYnrrb+G8a+h1tkk9dY/m7MxV7XUzwdP3ApBgCYG6Co+L6/+kcB4X0g0ERFFzwXjojBc5q8ZhqOKtWEoROmLEwSWBIHowVySyqSS5kIABEYhisRFEov8SgRWGD6K9OMgq8IwBIkTBBYXASGsxcW3pUoHgfF5iIiLPv9x+03kuLxMqaqsUj1KJL4gsFgICGEtFrJtUG6OwDhtJHHhqLOl+dBAG0AnXRAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBIGVhMD/D0fV/fpMMM+gAAAAAElFTkSuQmCC'\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:17:13\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/noticeBar.js\r\n */\r\nexport default {\r\n // noticeBar\r\n noticeBar: {\r\n text: () => [],\r\n direction: 'row',\r\n step: false,\r\n icon: 'volume',\r\n mode: '',\r\n color: '#f9ae3d',\r\n bgColor: '#fdf6ec',\r\n speed: 80,\r\n fontSize: 14,\r\n duration: 2000,\r\n disableTouch: true,\r\n url: '',\r\n linkType: 'navigateTo'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:10:21\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/notify.js\r\n */\r\nexport default {\r\n // notify组件\r\n notify: {\r\n top: 0,\r\n type: 'primary',\r\n color: '#ffffff',\r\n bgColor: '',\r\n message: '',\r\n duration: 3000,\r\n fontSize: 15,\r\n safeAreaInsetTop: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:11:46\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/numberBox.js\r\n */\r\nexport default {\r\n // 步进器组件\r\n numberBox: {\r\n name: '',\r\n value: 0,\r\n min: 1,\r\n max: Number.MAX_SAFE_INTEGER,\r\n step: 1,\r\n integer: false,\r\n disabled: false,\r\n disabledInput: false,\r\n asyncChange: false,\r\n inputWidth: 35,\r\n showMinus: true,\r\n showPlus: true,\r\n decimalLength: null,\r\n longPress: true,\r\n color: '#323233',\r\n buttonSize: 30,\r\n bgColor: '#EBECEE',\r\n cursorSpacing: 100,\r\n disableMinus: false,\r\n disablePlus: false,\r\n iconStyle: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:08:05\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/numberKeyboard.js\r\n */\r\nexport default {\r\n // 数字键盘\r\n numberKeyboard: {\r\n mode: 'number',\r\n dotDisabled: false,\r\n random: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:06:50\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/overlay.js\r\n */\r\nexport default {\r\n // overlay组件\r\n overlay: {\r\n show: false,\r\n zIndex: 10070,\r\n duration: 300,\r\n opacity: 0.5\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:17:33\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/parse.js\r\n */\r\nexport default {\r\n // parse\r\n parse: {\r\n copyLink: true,\r\n errorImg: '',\r\n lazyLoad: false,\r\n loadingImg: '',\r\n pauseVideo: true,\r\n previewImg: true,\r\n setTitle: true,\r\n showImgMenu: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:18:20\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/picker.js\r\n */\r\nexport default {\r\n // picker\r\n picker: {\r\n show: false,\r\n showToolbar: true,\r\n title: '',\r\n columns: () => [],\r\n loading: false,\r\n itemHeight: 44,\r\n cancelText: '取消',\r\n confirmText: '确定',\r\n cancelColor: '#909193',\r\n confirmColor: '#3c9cff',\r\n visibleItemCount: 5,\r\n keyName: 'text',\r\n closeOnClickOverlay: false,\r\n defaultIndex: () => [],\r\n\t\timmediateChange: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:06:33\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/popup.js\r\n */\r\nexport default {\r\n // popup组件\r\n popup: {\r\n show: false,\r\n overlay: true,\r\n mode: 'bottom',\r\n duration: 300,\r\n closeable: false,\r\n overlayStyle: () => {},\r\n closeOnClickOverlay: true,\r\n zIndex: 10075,\r\n safeAreaInsetBottom: true,\r\n safeAreaInsetTop: false,\r\n closeIconPos: 'top-right',\r\n round: 0,\r\n zoom: true,\r\n bgColor: '',\r\n overlayOpacity: 0.5\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:02:34\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/radio.js\r\n */\r\nexport default {\r\n // radio组件\r\n radio: {\r\n name: '',\r\n shape: '',\r\n disabled: '',\r\n labelDisabled: '',\r\n activeColor: '',\r\n inactiveColor: '',\r\n iconSize: '',\r\n labelSize: '',\r\n label: '',\r\n labelColor: '',\r\n size: '',\r\n iconColor: '',\r\n placement: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:03:12\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/radioGroup.js\r\n */\r\nexport default {\r\n // radio-group组件\r\n radioGroup: {\r\n value: '',\r\n disabled: false,\r\n shape: 'circle',\r\n activeColor: '#2979ff',\r\n inactiveColor: '#c8c9cc',\r\n name: '',\r\n size: 18,\r\n placement: 'row',\r\n label: '',\r\n labelColor: '#303133',\r\n labelSize: 14,\r\n labelDisabled: false,\r\n iconColor: '#ffffff',\r\n iconSize: 12,\r\n borderBottom: false,\r\n iconPlacement: 'left'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:05:09\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/rate.js\r\n */\r\nexport default {\r\n // rate组件\r\n rate: {\r\n value: 1,\r\n count: 5,\r\n disabled: false,\r\n size: 18,\r\n inactiveColor: '#b2b2b2',\r\n activeColor: '#FA3534',\r\n gutter: 4,\r\n minCount: 1,\r\n allowHalf: false,\r\n activeIcon: 'star-fill',\r\n inactiveIcon: 'star',\r\n touchable: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:18:41\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/readMore.js\r\n */\r\nexport default {\r\n // readMore\r\n readMore: {\r\n showHeight: 400,\r\n toggle: false,\r\n closeText: '展开阅读全文',\r\n openText: '收起',\r\n color: '#2979ff',\r\n fontSize: 14,\r\n textIndent: '2em',\r\n name: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:18:58\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/row.js\r\n */\r\nexport default {\r\n // row\r\n row: {\r\n gutter: 0,\r\n justify: 'start',\r\n align: 'center'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:19:13\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/rowNotice.js\r\n */\r\nexport default {\r\n // rowNotice\r\n rowNotice: {\r\n text: '',\r\n icon: 'volume',\r\n mode: '',\r\n color: '#f9ae3d',\r\n bgColor: '#fdf6ec',\r\n fontSize: 14,\r\n speed: 80\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:19:28\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/scrollList.js\r\n */\r\nexport default {\r\n // scrollList\r\n scrollList: {\r\n indicatorWidth: 50,\r\n indicatorBarWidth: 20,\r\n indicator: true,\r\n indicatorColor: '#f2f2f2',\r\n indicatorActiveColor: '#3c9cff',\r\n indicatorStyle: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:19:45\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/search.js\r\n */\r\nexport default {\r\n // search\r\n search: {\r\n shape: 'round',\r\n bgColor: '#f2f2f2',\r\n placeholder: '请输入关键字',\r\n clearabled: true,\r\n focus: false,\r\n showAction: true,\r\n actionStyle: () => ({}),\r\n actionText: '搜索',\r\n inputAlign: 'left',\r\n inputStyle: () => ({}),\r\n disabled: false,\r\n borderColor: 'transparent',\r\n searchIconColor: '#909399',\r\n searchIconSize: 22,\r\n color: '#606266',\r\n placeholderColor: '#909399',\r\n searchIcon: 'search',\r\n margin: '0',\r\n animation: false,\r\n value: '',\r\n maxlength: '-1',\r\n height: 32,\r\n label: null\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:07:33\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/section.js\r\n */\r\nexport default {\r\n // u-section组件\r\n section: {\r\n title: '',\r\n subTitle: '更多',\r\n right: true,\r\n fontSize: 15,\r\n bold: true,\r\n color: '#303133',\r\n subColor: '#909399',\r\n showLine: true,\r\n lineColor: '',\r\n arrow: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:20:14\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/skeleton.js\r\n */\r\nexport default {\r\n // skeleton\r\n skeleton: {\r\n loading: true,\r\n animate: true,\r\n rows: 0,\r\n rowsWidth: '100%',\r\n rowsHeight: 18,\r\n title: true,\r\n titleWidth: '50%',\r\n titleHeight: 18,\r\n avatar: false,\r\n avatarSize: 32,\r\n avatarShape: 'circle'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:08:25\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/slider.js\r\n */\r\nexport default {\r\n // slider组件\r\n slider: {\r\n value: 0,\r\n blockSize: 18,\r\n min: 0,\r\n max: 100,\r\n step: 1,\r\n activeColor: '#2979ff',\r\n inactiveColor: '#c0c4cc',\r\n blockColor: '#ffffff',\r\n showValue: false,\r\n\t\tdisabled:false,\r\n blockStyle: () => {}\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:20:39\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/statusBar.js\r\n */\r\nexport default {\r\n // statusBar\r\n statusBar: {\r\n bgColor: 'transparent'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:12:37\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/steps.js\r\n */\r\nexport default {\r\n // steps组件\r\n steps: {\r\n direction: 'row',\r\n current: 0,\r\n activeColor: '#3c9cff',\r\n inactiveColor: '#969799',\r\n activeIcon: '',\r\n inactiveIcon: '',\r\n dot: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:12:55\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/stepsItem.js\r\n */\r\nexport default {\r\n // steps-item组件\r\n stepsItem: {\r\n title: '',\r\n desc: '',\r\n iconSize: 17,\r\n error: false\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:01:30\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/sticky.js\r\n */\r\nexport default {\r\n // sticky组件\r\n sticky: {\r\n offsetTop: 0,\r\n customNavHeight: 0,\r\n disabled: false,\r\n bgColor: 'transparent',\r\n zIndex: '',\r\n index: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:12:20\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/subsection.js\r\n */\r\nexport default {\r\n // subsection组件\r\n subsection: {\r\n list: [],\r\n current: 0,\r\n activeColor: '#3c9cff',\r\n inactiveColor: '#303133',\r\n mode: 'button',\r\n fontSize: 12,\r\n bold: true,\r\n bgColor: '#eeeeef',\r\n\t\tkeyName: 'name'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:00:42\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/swipeAction.js\r\n */\r\nexport default {\r\n // swipe-action组件\r\n swipeAction: {\r\n autoClose: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:01:13\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/swipeActionItem.js\r\n */\r\nexport default {\r\n // swipeActionItem 组件\r\n swipeActionItem: {\r\n show: false,\r\n name: '',\r\n disabled: false,\r\n threshold: 20,\r\n autoClose: true,\r\n options: [],\r\n duration: 300\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:21:38\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/swiper.js\r\n */\r\nexport default {\r\n // swiper 组件\r\n swiper: {\r\n list: () => [],\r\n indicator: false,\r\n indicatorActiveColor: '#FFFFFF',\r\n indicatorInactiveColor: 'rgba(255, 255, 255, 0.35)',\r\n indicatorStyle: '',\r\n indicatorMode: 'line',\r\n autoplay: true,\r\n current: 0,\r\n currentItemId: '',\r\n interval: 3000,\r\n duration: 300,\r\n circular: false,\r\n previousMargin: 0,\r\n nextMargin: 0,\r\n acceleration: false,\r\n displayMultipleItems: 1,\r\n easingFunction: 'default',\r\n keyName: 'url',\r\n imgMode: 'aspectFill',\r\n height: 130,\r\n bgColor: '#f3f4f6',\r\n radius: 4,\r\n loading: false,\r\n showTitle: false\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:22:07\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/swiperIndicator.js\r\n */\r\nexport default {\r\n // swiperIndicator 组件\r\n swiperIndicator: {\r\n length: 0,\r\n current: 0,\r\n indicatorActiveColor: '',\r\n indicatorInactiveColor: '',\r\n\t\tindicatorMode: 'line'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:22:24\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/switch.js\r\n */\r\nexport default {\r\n // switch\r\n switch: {\r\n loading: false,\r\n disabled: false,\r\n size: 25,\r\n activeColor: '#2979ff',\r\n inactiveColor: '#ffffff',\r\n value: false,\r\n activeValue: true,\r\n inactiveValue: false,\r\n asyncChange: false,\r\n space: 0\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:22:40\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/tabbar.js\r\n */\r\nexport default {\r\n // tabbar\r\n tabbar: {\r\n value: null,\r\n safeAreaInsetBottom: true,\r\n border: true,\r\n zIndex: 1,\r\n activeColor: '#1989fa',\r\n inactiveColor: '#7d7e80',\r\n fixed: true,\r\n placeholder: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:22:55\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/tabbarItem.js\r\n */\r\nexport default {\r\n //\r\n tabbarItem: {\r\n name: null,\r\n icon: '',\r\n badge: null,\r\n dot: false,\r\n text: '',\r\n badgeStyle: 'top: 6px;right:2px;'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:23:14\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/tabs.js\r\n */\r\nexport default {\r\n //\r\n tabs: {\r\n duration: 300,\r\n list: () => [],\r\n lineColor: '#3c9cff',\r\n activeStyle: () => ({\r\n color: '#303133'\r\n }),\r\n inactiveStyle: () => ({\r\n color: '#606266'\r\n }),\r\n lineWidth: 20,\r\n lineHeight: 3,\r\n lineBgSize: 'cover',\r\n itemStyle: () => ({\r\n height: '44px'\r\n }),\r\n scrollable: true,\r\n\t\tcurrent: 0,\r\n\t\tkeyName: 'name'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:23:37\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/tag.js\r\n */\r\nexport default {\r\n // tag 组件\r\n tag: {\r\n type: 'primary',\r\n disabled: false,\r\n size: 'medium',\r\n shape: 'square',\r\n text: '',\r\n bgColor: '',\r\n color: '',\r\n borderColor: '',\r\n closeColor: '#C6C7CB',\r\n name: '',\r\n plainFill: false,\r\n plain: false,\r\n closable: false,\r\n show: true,\r\n icon: ''\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:23:58\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/text.js\r\n */\r\nexport default {\r\n // text 组件\r\n text: {\r\n type: '',\r\n show: true,\r\n text: '',\r\n prefixIcon: '',\r\n suffixIcon: '',\r\n mode: '',\r\n href: '',\r\n format: '',\r\n call: false,\r\n openType: '',\r\n bold: false,\r\n block: false,\r\n lines: '',\r\n color: '#303133',\r\n size: 15,\r\n iconStyle: () => ({\r\n fontSize: '15px'\r\n }),\r\n decoration: 'none',\r\n margin: 0,\r\n lineHeight: '',\r\n align: 'left',\r\n wordWrap: 'normal'\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:24:32\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/textarea.js\r\n */\r\nexport default {\r\n\t// textarea 组件\r\n\ttextarea: {\r\n\t\tvalue: '',\r\n\t\tplaceholder: '',\r\n\t\tplaceholderClass: 'textarea-placeholder',\r\n\t\tplaceholderStyle: 'color: #c0c4cc',\r\n\t\theight: 70,\r\n\t\tconfirmType: 'done',\r\n\t\tdisabled: false,\r\n\t\tcount: false,\r\n\t\tfocus: false,\r\n\t\tautoHeight: false,\r\n\t\tfixed: false,\r\n\t\tcursorSpacing: 0,\r\n\t\tcursor: '',\r\n\t\tshowConfirmBar: true,\r\n\t\tselectionStart: -1,\r\n\t\tselectionEnd: -1,\r\n\t\tadjustPosition: true,\r\n\t\tdisableDefaultPadding: false,\r\n\t\tholdKeyboard: false,\r\n\t\tmaxlength: 140,\r\n\t\tborder: 'surround',\r\n\t\tformatter: null\r\n\t}\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:07:07\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/toast.js\r\n */\r\nexport default {\r\n // toast组件\r\n toast: {\r\n zIndex: 10090,\r\n loading: false,\r\n text: '',\r\n icon: '',\r\n type: '',\r\n loadingMode: '',\r\n show: '',\r\n overlay: false,\r\n position: 'center',\r\n params: () => {},\r\n duration: 2000,\r\n isTab: false,\r\n url: '',\r\n callback: null,\r\n back: false\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:24:55\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/toolbar.js\r\n */\r\nexport default {\r\n // toolbar 组件\r\n toolbar: {\r\n show: true,\r\n cancelText: '取消',\r\n confirmText: '确认',\r\n cancelColor: '#909193',\r\n confirmColor: '#3c9cff',\r\n title: ''\r\n }\r\n\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:25:14\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/tooltip.js\r\n */\r\nexport default {\r\n // tooltip 组件\r\n tooltip: {\r\n text: '',\r\n copyText: '',\r\n size: 14,\r\n color: '#606266',\r\n bgColor: 'transparent',\r\n direction: 'top',\r\n zIndex: 10071,\r\n showCopy: true,\r\n buttons: () => [],\r\n overlay: true,\r\n showToast: true\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 16:59:00\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/transition.js\r\n */\r\nexport default {\r\n // transition动画组件的props\r\n transition: {\r\n show: false,\r\n mode: 'fade',\r\n duration: '300',\r\n timingFunction: 'ease-out'\r\n }\r\n}\r\n","/*\r\n * @Author : LQ\r\n * @Description :\r\n * @version : 1.0\r\n * @Date : 2021-08-20 16:44:21\r\n * @LastAuthor : LQ\r\n * @lastTime : 2021-08-20 17:09:50\r\n * @FilePath : /u-view2.0/uview-ui/libs/config/props/upload.js\r\n */\r\nexport default {\r\n\t// upload组件\r\n\tupload: {\r\n\t\taccept: 'image',\r\n\t\tcapture: () => ['album', 'camera'],\r\n\t\tcompressed: true,\r\n\t\tcamera: 'back',\r\n\t\tmaxDuration: 60,\r\n\t\tuploadIcon: 'camera-fill',\r\n\t\tuploadIconColor: '#D3D4D6',\r\n\t\tuseBeforeRead: false,\r\n\t\tpreviewFullImage: true,\r\n\t\tmaxCount: 52,\r\n\t\tdisabled: false,\r\n\t\timageMode: 'aspectFill',\r\n\t\tname: '',\r\n\t\tsizeType: () => ['original', 'compressed'],\r\n\t\tmultiple: false,\r\n\t\tdeletable: true,\r\n\t\tmaxSize: Number.MAX_VALUE,\r\n\t\tfileList: () => [],\r\n\t\tuploadText: '',\r\n\t\twidth: 80,\r\n\t\theight: 80,\r\n\t\tpreviewImage: true\r\n\t}\r\n}\r\n","// uniapp在H5中各API的z-index值如下:\r\n/**\r\n * actionsheet: 999\r\n * modal: 999\r\n * navigate: 998\r\n * tabbar: 998\r\n * toast: 999\r\n */\r\n\r\nexport default {\r\n toast: 10090,\r\n noNetwork: 10080,\r\n // popup包含popup,actionsheet,keyboard,picker的值\r\n popup: 10075,\r\n mask: 10070,\r\n navbar: 980,\r\n topTips: 975,\r\n sticky: 970,\r\n indexListSticky: 965\r\n}\r\n","/**\r\n * 注意:\r\n * 此部分内容,在vue-cli模式下,需要在vue.config.js加入如下内容才有效:\r\n * module.exports = {\r\n * transpileDependencies: ['uview-v2']\r\n * }\r\n */\r\n\r\nlet platform = 'none'\r\n\r\n\r\n\r\n\r\n\r\n\r\nplatform = 'vue2'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nplatform = 'weixin'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nplatform = 'mp'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport default platform\r\n","import { request } from './request'\r\nconst api = {\r\n\t//新增幼崽接口\r\n\tapi_squirrel_addNewSquirrel(data) {\r\n\t\treturn request({\r\n\t\t\turl: 'api_squirrel/addNewSquirrel',\r\n\t\t\tmethod: 'post',\r\n\t\t\tdata\r\n\t\t})\r\n\t},\r\n}\r\nexport default api","import Vue from 'vue'\r\nlet baseUrl = 'http://cage.njrenzhou.com/';\r\n//https://console-docs.apipost.cn/preview/077df998e6b8e954/a3d90a650bdbe292\r\nVue.prototype.$baseUrl = baseUrl;\r\n\r\nexport function request(prams) {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tlet url;\r\n\t\turl = baseUrl + prams.url;\r\n\t\tuni.request({\r\n\t\t\turl: url,\r\n\t\t\tdata: prams.data,\r\n\t\t\tmethod: prams.method,\r\n\t\t\theader: { \r\n\t\t\t\t\"userToken\": uni.getStorageSync('token')\r\n\t\t\t},\r\n\t\t\tsuccess: (res) => {\r\n\t\t\t\tif (res.data.errorcode == 200 || res.data.errorcode == 500){\r\n\t\t\t\t\tresolve(res.data);\r\n\t\t\t\t}else if(res.data.errorcode == 402){\r\n\t\t\t\t\tuni.showModal({\r\n\t\t\t\t\t\ttitle: \"温馨提示\",\r\n\t\t\t\t\t\tcontent: \"当前账号已过期,是否重新登录\",\r\n\t\t\t\t\t\tconfirmColor: \"#05754D\",\r\n\t\t\t\t\t\tsuccess(res) {\r\n\t\t\t\t\t\t\tuni.removeStorageSync(\"userInfo\")\r\n\t\t\t\t\t\t\tuni.removeStorageSync(\"token\")\r\n\t\t\t\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\t\t\t\turl: \"/pages/login/index\"\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\treject(res.data);\r\n\t\t\t\t\tuni.showToast({\r\n\t\t\t\t\t\ticon: \"none\",\r\n\t\t\t\t\t\ttitle: res.data.msg,\r\n\t\t\t\t\t\tduration: 3000\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t},\r\n\t\t\tfail: (err) => {\r\n\t\t\t\treject(err);\r\n\t\t\t},\r\n\t\t\tcomplete: () => {\r\n\t\t\t\t//console.log('请求完成')\r\n\t\t\t}\r\n\t\t});\r\n\t})\r\n}","\r\nexport const fontData = [\r\n {\r\n \"font_class\": \"arrow-down\",\r\n \"unicode\": \"\\ue6be\"\r\n },\r\n {\r\n \"font_class\": \"arrow-left\",\r\n \"unicode\": \"\\ue6bc\"\r\n },\r\n {\r\n \"font_class\": \"arrow-right\",\r\n \"unicode\": \"\\ue6bb\"\r\n },\r\n {\r\n \"font_class\": \"arrow-up\",\r\n \"unicode\": \"\\ue6bd\"\r\n },\r\n {\r\n \"font_class\": \"auth\",\r\n \"unicode\": \"\\ue6ab\"\r\n },\r\n {\r\n \"font_class\": \"auth-filled\",\r\n \"unicode\": \"\\ue6cc\"\r\n },\r\n {\r\n \"font_class\": \"back\",\r\n \"unicode\": \"\\ue6b9\"\r\n },\r\n {\r\n \"font_class\": \"bars\",\r\n \"unicode\": \"\\ue627\"\r\n },\r\n {\r\n \"font_class\": \"calendar\",\r\n \"unicode\": \"\\ue6a0\"\r\n },\r\n {\r\n \"font_class\": \"calendar-filled\",\r\n \"unicode\": \"\\ue6c0\"\r\n },\r\n {\r\n \"font_class\": \"camera\",\r\n \"unicode\": \"\\ue65a\"\r\n },\r\n {\r\n \"font_class\": \"camera-filled\",\r\n \"unicode\": \"\\ue658\"\r\n },\r\n {\r\n \"font_class\": \"cart\",\r\n \"unicode\": \"\\ue631\"\r\n },\r\n {\r\n \"font_class\": \"cart-filled\",\r\n \"unicode\": \"\\ue6d0\"\r\n },\r\n {\r\n \"font_class\": \"chat\",\r\n \"unicode\": \"\\ue65d\"\r\n },\r\n {\r\n \"font_class\": \"chat-filled\",\r\n \"unicode\": \"\\ue659\"\r\n },\r\n {\r\n \"font_class\": \"chatboxes\",\r\n \"unicode\": \"\\ue696\"\r\n },\r\n {\r\n \"font_class\": \"chatboxes-filled\",\r\n \"unicode\": \"\\ue692\"\r\n },\r\n {\r\n \"font_class\": \"chatbubble\",\r\n \"unicode\": \"\\ue697\"\r\n },\r\n {\r\n \"font_class\": \"chatbubble-filled\",\r\n \"unicode\": \"\\ue694\"\r\n },\r\n {\r\n \"font_class\": \"checkbox\",\r\n \"unicode\": \"\\ue62b\"\r\n },\r\n {\r\n \"font_class\": \"checkbox-filled\",\r\n \"unicode\": \"\\ue62c\"\r\n },\r\n {\r\n \"font_class\": \"checkmarkempty\",\r\n \"unicode\": \"\\ue65c\"\r\n },\r\n {\r\n \"font_class\": \"circle\",\r\n \"unicode\": \"\\ue65b\"\r\n },\r\n {\r\n \"font_class\": \"circle-filled\",\r\n \"unicode\": \"\\ue65e\"\r\n },\r\n {\r\n \"font_class\": \"clear\",\r\n \"unicode\": \"\\ue66d\"\r\n },\r\n {\r\n \"font_class\": \"close\",\r\n \"unicode\": \"\\ue673\"\r\n },\r\n {\r\n \"font_class\": \"closeempty\",\r\n \"unicode\": \"\\ue66c\"\r\n },\r\n {\r\n \"font_class\": \"cloud-download\",\r\n \"unicode\": \"\\ue647\"\r\n },\r\n {\r\n \"font_class\": \"cloud-download-filled\",\r\n \"unicode\": \"\\ue646\"\r\n },\r\n {\r\n \"font_class\": \"cloud-upload\",\r\n \"unicode\": \"\\ue645\"\r\n },\r\n {\r\n \"font_class\": \"cloud-upload-filled\",\r\n \"unicode\": \"\\ue648\"\r\n },\r\n {\r\n \"font_class\": \"color\",\r\n \"unicode\": \"\\ue6cf\"\r\n },\r\n {\r\n \"font_class\": \"color-filled\",\r\n \"unicode\": \"\\ue6c9\"\r\n },\r\n {\r\n \"font_class\": \"compose\",\r\n \"unicode\": \"\\ue67f\"\r\n },\r\n {\r\n \"font_class\": \"contact\",\r\n \"unicode\": \"\\ue693\"\r\n },\r\n {\r\n \"font_class\": \"contact-filled\",\r\n \"unicode\": \"\\ue695\"\r\n },\r\n {\r\n \"font_class\": \"down\",\r\n \"unicode\": \"\\ue6b8\"\r\n },\r\n\t{\r\n\t \"font_class\": \"bottom\",\r\n\t \"unicode\": \"\\ue6b8\"\r\n\t},\r\n {\r\n \"font_class\": \"download\",\r\n \"unicode\": \"\\ue68d\"\r\n },\r\n {\r\n \"font_class\": \"download-filled\",\r\n \"unicode\": \"\\ue681\"\r\n },\r\n {\r\n \"font_class\": \"email\",\r\n \"unicode\": \"\\ue69e\"\r\n },\r\n {\r\n \"font_class\": \"email-filled\",\r\n \"unicode\": \"\\ue69a\"\r\n },\r\n {\r\n \"font_class\": \"eye\",\r\n \"unicode\": \"\\ue651\"\r\n },\r\n {\r\n \"font_class\": \"eye-filled\",\r\n \"unicode\": \"\\ue66a\"\r\n },\r\n {\r\n \"font_class\": \"eye-slash\",\r\n \"unicode\": \"\\ue6b3\"\r\n },\r\n {\r\n \"font_class\": \"eye-slash-filled\",\r\n \"unicode\": \"\\ue6b4\"\r\n },\r\n {\r\n \"font_class\": \"fire\",\r\n \"unicode\": \"\\ue6a1\"\r\n },\r\n {\r\n \"font_class\": \"fire-filled\",\r\n \"unicode\": \"\\ue6c5\"\r\n },\r\n {\r\n \"font_class\": \"flag\",\r\n \"unicode\": \"\\ue65f\"\r\n },\r\n {\r\n \"font_class\": \"flag-filled\",\r\n \"unicode\": \"\\ue660\"\r\n },\r\n {\r\n \"font_class\": \"folder-add\",\r\n \"unicode\": \"\\ue6a9\"\r\n },\r\n {\r\n \"font_class\": \"folder-add-filled\",\r\n \"unicode\": \"\\ue6c8\"\r\n },\r\n {\r\n \"font_class\": \"font\",\r\n \"unicode\": \"\\ue6a3\"\r\n },\r\n {\r\n \"font_class\": \"forward\",\r\n \"unicode\": \"\\ue6ba\"\r\n },\r\n {\r\n \"font_class\": \"gear\",\r\n \"unicode\": \"\\ue664\"\r\n },\r\n {\r\n \"font_class\": \"gear-filled\",\r\n \"unicode\": \"\\ue661\"\r\n },\r\n {\r\n \"font_class\": \"gift\",\r\n \"unicode\": \"\\ue6a4\"\r\n },\r\n {\r\n \"font_class\": \"gift-filled\",\r\n \"unicode\": \"\\ue6c4\"\r\n },\r\n {\r\n \"font_class\": \"hand-down\",\r\n \"unicode\": \"\\ue63d\"\r\n },\r\n {\r\n \"font_class\": \"hand-down-filled\",\r\n \"unicode\": \"\\ue63c\"\r\n },\r\n {\r\n \"font_class\": \"hand-up\",\r\n \"unicode\": \"\\ue63f\"\r\n },\r\n {\r\n \"font_class\": \"hand-up-filled\",\r\n \"unicode\": \"\\ue63e\"\r\n },\r\n {\r\n \"font_class\": \"headphones\",\r\n \"unicode\": \"\\ue630\"\r\n },\r\n {\r\n \"font_class\": \"heart\",\r\n \"unicode\": \"\\ue639\"\r\n },\r\n {\r\n \"font_class\": \"heart-filled\",\r\n \"unicode\": \"\\ue641\"\r\n },\r\n {\r\n \"font_class\": \"help\",\r\n \"unicode\": \"\\ue679\"\r\n },\r\n {\r\n \"font_class\": \"help-filled\",\r\n \"unicode\": \"\\ue674\"\r\n },\r\n {\r\n \"font_class\": \"home\",\r\n \"unicode\": \"\\ue662\"\r\n },\r\n {\r\n \"font_class\": \"home-filled\",\r\n \"unicode\": \"\\ue663\"\r\n },\r\n {\r\n \"font_class\": \"image\",\r\n \"unicode\": \"\\ue670\"\r\n },\r\n {\r\n \"font_class\": \"image-filled\",\r\n \"unicode\": \"\\ue678\"\r\n },\r\n {\r\n \"font_class\": \"images\",\r\n \"unicode\": \"\\ue650\"\r\n },\r\n {\r\n \"font_class\": \"images-filled\",\r\n \"unicode\": \"\\ue64b\"\r\n },\r\n {\r\n \"font_class\": \"info\",\r\n \"unicode\": \"\\ue669\"\r\n },\r\n {\r\n \"font_class\": \"info-filled\",\r\n \"unicode\": \"\\ue649\"\r\n },\r\n {\r\n \"font_class\": \"left\",\r\n \"unicode\": \"\\ue6b7\"\r\n },\r\n {\r\n \"font_class\": \"link\",\r\n \"unicode\": \"\\ue6a5\"\r\n },\r\n {\r\n \"font_class\": \"list\",\r\n \"unicode\": \"\\ue644\"\r\n },\r\n {\r\n \"font_class\": \"location\",\r\n \"unicode\": \"\\ue6ae\"\r\n },\r\n {\r\n \"font_class\": \"location-filled\",\r\n \"unicode\": \"\\ue6af\"\r\n },\r\n {\r\n \"font_class\": \"locked\",\r\n \"unicode\": \"\\ue66b\"\r\n },\r\n {\r\n \"font_class\": \"locked-filled\",\r\n \"unicode\": \"\\ue668\"\r\n },\r\n {\r\n \"font_class\": \"loop\",\r\n \"unicode\": \"\\ue633\"\r\n },\r\n {\r\n \"font_class\": \"mail-open\",\r\n \"unicode\": \"\\ue643\"\r\n },\r\n {\r\n \"font_class\": \"mail-open-filled\",\r\n \"unicode\": \"\\ue63a\"\r\n },\r\n {\r\n \"font_class\": \"map\",\r\n \"unicode\": \"\\ue667\"\r\n },\r\n {\r\n \"font_class\": \"map-filled\",\r\n \"unicode\": \"\\ue666\"\r\n },\r\n {\r\n \"font_class\": \"map-pin\",\r\n \"unicode\": \"\\ue6ad\"\r\n },\r\n {\r\n \"font_class\": \"map-pin-ellipse\",\r\n \"unicode\": \"\\ue6ac\"\r\n },\r\n {\r\n \"font_class\": \"medal\",\r\n \"unicode\": \"\\ue6a2\"\r\n },\r\n {\r\n \"font_class\": \"medal-filled\",\r\n \"unicode\": \"\\ue6c3\"\r\n },\r\n {\r\n \"font_class\": \"mic\",\r\n \"unicode\": \"\\ue671\"\r\n },\r\n {\r\n \"font_class\": \"mic-filled\",\r\n \"unicode\": \"\\ue677\"\r\n },\r\n {\r\n \"font_class\": \"micoff\",\r\n \"unicode\": \"\\ue67e\"\r\n },\r\n {\r\n \"font_class\": \"micoff-filled\",\r\n \"unicode\": \"\\ue6b0\"\r\n },\r\n {\r\n \"font_class\": \"minus\",\r\n \"unicode\": \"\\ue66f\"\r\n },\r\n {\r\n \"font_class\": \"minus-filled\",\r\n \"unicode\": \"\\ue67d\"\r\n },\r\n {\r\n \"font_class\": \"more\",\r\n \"unicode\": \"\\ue64d\"\r\n },\r\n {\r\n \"font_class\": \"more-filled\",\r\n \"unicode\": \"\\ue64e\"\r\n },\r\n {\r\n \"font_class\": \"navigate\",\r\n \"unicode\": \"\\ue66e\"\r\n },\r\n {\r\n \"font_class\": \"navigate-filled\",\r\n \"unicode\": \"\\ue67a\"\r\n },\r\n {\r\n \"font_class\": \"notification\",\r\n \"unicode\": \"\\ue6a6\"\r\n },\r\n {\r\n \"font_class\": \"notification-filled\",\r\n \"unicode\": \"\\ue6c1\"\r\n },\r\n {\r\n \"font_class\": \"paperclip\",\r\n \"unicode\": \"\\ue652\"\r\n },\r\n {\r\n \"font_class\": \"paperplane\",\r\n \"unicode\": \"\\ue672\"\r\n },\r\n {\r\n \"font_class\": \"paperplane-filled\",\r\n \"unicode\": \"\\ue675\"\r\n },\r\n {\r\n \"font_class\": \"person\",\r\n \"unicode\": \"\\ue699\"\r\n },\r\n {\r\n \"font_class\": \"person-filled\",\r\n \"unicode\": \"\\ue69d\"\r\n },\r\n {\r\n \"font_class\": \"personadd\",\r\n \"unicode\": \"\\ue69f\"\r\n },\r\n {\r\n \"font_class\": \"personadd-filled\",\r\n \"unicode\": \"\\ue698\"\r\n },\r\n {\r\n \"font_class\": \"personadd-filled-copy\",\r\n \"unicode\": \"\\ue6d1\"\r\n },\r\n {\r\n \"font_class\": \"phone\",\r\n \"unicode\": \"\\ue69c\"\r\n },\r\n {\r\n \"font_class\": \"phone-filled\",\r\n \"unicode\": \"\\ue69b\"\r\n },\r\n {\r\n \"font_class\": \"plus\",\r\n \"unicode\": \"\\ue676\"\r\n },\r\n {\r\n \"font_class\": \"plus-filled\",\r\n \"unicode\": \"\\ue6c7\"\r\n },\r\n {\r\n \"font_class\": \"plusempty\",\r\n \"unicode\": \"\\ue67b\"\r\n },\r\n {\r\n \"font_class\": \"pulldown\",\r\n \"unicode\": \"\\ue632\"\r\n },\r\n {\r\n \"font_class\": \"pyq\",\r\n \"unicode\": \"\\ue682\"\r\n },\r\n {\r\n \"font_class\": \"qq\",\r\n \"unicode\": \"\\ue680\"\r\n },\r\n {\r\n \"font_class\": \"redo\",\r\n \"unicode\": \"\\ue64a\"\r\n },\r\n {\r\n \"font_class\": \"redo-filled\",\r\n \"unicode\": \"\\ue655\"\r\n },\r\n {\r\n \"font_class\": \"refresh\",\r\n \"unicode\": \"\\ue657\"\r\n },\r\n {\r\n \"font_class\": \"refresh-filled\",\r\n \"unicode\": \"\\ue656\"\r\n },\r\n {\r\n \"font_class\": \"refreshempty\",\r\n \"unicode\": \"\\ue6bf\"\r\n },\r\n {\r\n \"font_class\": \"reload\",\r\n \"unicode\": \"\\ue6b2\"\r\n },\r\n {\r\n \"font_class\": \"right\",\r\n \"unicode\": \"\\ue6b5\"\r\n },\r\n {\r\n \"font_class\": \"scan\",\r\n \"unicode\": \"\\ue62a\"\r\n },\r\n {\r\n \"font_class\": \"search\",\r\n \"unicode\": \"\\ue654\"\r\n },\r\n {\r\n \"font_class\": \"settings\",\r\n \"unicode\": \"\\ue653\"\r\n },\r\n {\r\n \"font_class\": \"settings-filled\",\r\n \"unicode\": \"\\ue6ce\"\r\n },\r\n {\r\n \"font_class\": \"shop\",\r\n \"unicode\": \"\\ue62f\"\r\n },\r\n {\r\n \"font_class\": \"shop-filled\",\r\n \"unicode\": \"\\ue6cd\"\r\n },\r\n {\r\n \"font_class\": \"smallcircle\",\r\n \"unicode\": \"\\ue67c\"\r\n },\r\n {\r\n \"font_class\": \"smallcircle-filled\",\r\n \"unicode\": \"\\ue665\"\r\n },\r\n {\r\n \"font_class\": \"sound\",\r\n \"unicode\": \"\\ue684\"\r\n },\r\n {\r\n \"font_class\": \"sound-filled\",\r\n \"unicode\": \"\\ue686\"\r\n },\r\n {\r\n \"font_class\": \"spinner-cycle\",\r\n \"unicode\": \"\\ue68a\"\r\n },\r\n {\r\n \"font_class\": \"staff\",\r\n \"unicode\": \"\\ue6a7\"\r\n },\r\n {\r\n \"font_class\": \"staff-filled\",\r\n \"unicode\": \"\\ue6cb\"\r\n },\r\n {\r\n \"font_class\": \"star\",\r\n \"unicode\": \"\\ue688\"\r\n },\r\n {\r\n \"font_class\": \"star-filled\",\r\n \"unicode\": \"\\ue68f\"\r\n },\r\n {\r\n \"font_class\": \"starhalf\",\r\n \"unicode\": \"\\ue683\"\r\n },\r\n {\r\n \"font_class\": \"trash\",\r\n \"unicode\": \"\\ue687\"\r\n },\r\n {\r\n \"font_class\": \"trash-filled\",\r\n \"unicode\": \"\\ue685\"\r\n },\r\n {\r\n \"font_class\": \"tune\",\r\n \"unicode\": \"\\ue6aa\"\r\n },\r\n {\r\n \"font_class\": \"tune-filled\",\r\n \"unicode\": \"\\ue6ca\"\r\n },\r\n {\r\n \"font_class\": \"undo\",\r\n \"unicode\": \"\\ue64f\"\r\n },\r\n {\r\n \"font_class\": \"undo-filled\",\r\n \"unicode\": \"\\ue64c\"\r\n },\r\n {\r\n \"font_class\": \"up\",\r\n \"unicode\": \"\\ue6b6\"\r\n },\r\n\t{\r\n\t \"font_class\": \"top\",\r\n\t \"unicode\": \"\\ue6b6\"\r\n\t},\r\n {\r\n \"font_class\": \"upload\",\r\n \"unicode\": \"\\ue690\"\r\n },\r\n {\r\n \"font_class\": \"upload-filled\",\r\n \"unicode\": \"\\ue68e\"\r\n },\r\n {\r\n \"font_class\": \"videocam\",\r\n \"unicode\": \"\\ue68c\"\r\n },\r\n {\r\n \"font_class\": \"videocam-filled\",\r\n \"unicode\": \"\\ue689\"\r\n },\r\n {\r\n \"font_class\": \"vip\",\r\n \"unicode\": \"\\ue6a8\"\r\n },\r\n {\r\n \"font_class\": \"vip-filled\",\r\n \"unicode\": \"\\ue6c6\"\r\n },\r\n {\r\n \"font_class\": \"wallet\",\r\n \"unicode\": \"\\ue6b1\"\r\n },\r\n {\r\n \"font_class\": \"wallet-filled\",\r\n \"unicode\": \"\\ue6c2\"\r\n },\r\n {\r\n \"font_class\": \"weibo\",\r\n \"unicode\": \"\\ue68b\"\r\n },\r\n {\r\n \"font_class\": \"weixin\",\r\n \"unicode\": \"\\ue691\"\r\n }\r\n]\r\n\r\n// export const fontData = JSON.parse<IconsDataItem>(fontDataJson)\r\n","export default {\r\n props: {\r\n // 是否展示弹窗\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.show\r\n },\r\n // 是否显示遮罩\r\n overlay: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.overlay\r\n },\r\n // 弹出的方向,可选值为 top bottom right left center\r\n mode: {\r\n type: String,\r\n default: uni.$u.props.popup.mode\r\n },\r\n // 动画时长,单位ms\r\n duration: {\r\n type: [String, Number],\r\n default: uni.$u.props.popup.duration\r\n },\r\n // 是否显示关闭图标\r\n closeable: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.closeable\r\n },\r\n // 自定义遮罩的样式\r\n overlayStyle: {\r\n type: [Object, String],\r\n default: uni.$u.props.popup.overlayStyle\r\n },\r\n // 点击遮罩是否关闭弹窗\r\n closeOnClickOverlay: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.closeOnClickOverlay\r\n },\r\n // 层级\r\n zIndex: {\r\n type: [String, Number],\r\n default: uni.$u.props.popup.zIndex\r\n },\r\n // 是否为iPhoneX留出底部安全距离\r\n safeAreaInsetBottom: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.safeAreaInsetBottom\r\n },\r\n // 是否留出顶部安全距离(状态栏高度)\r\n safeAreaInsetTop: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.safeAreaInsetTop\r\n },\r\n // 自定义关闭图标位置,top-left为左上角,top-right为右上角,bottom-left为左下角,bottom-right为右下角\r\n closeIconPos: {\r\n type: String,\r\n default: uni.$u.props.popup.closeIconPos\r\n },\r\n // 是否显示圆角\r\n round: {\r\n type: [Boolean, String, Number],\r\n default: uni.$u.props.popup.round\r\n },\r\n // mode=center,也即中部弹出时,是否使用缩放模式\r\n zoom: {\r\n type: Boolean,\r\n default: uni.$u.props.popup.zoom\r\n },\r\n // 弹窗背景色,设置为transparent可去除白色背景\r\n bgColor: {\r\n type: String,\r\n default: uni.$u.props.popup.bgColor\r\n },\r\n // 遮罩的透明度,0-1之间\r\n overlayOpacity: {\r\n type: [Number, String],\r\n default: uni.$u.props.popup.overlayOpacity\r\n }\r\n }\r\n}\r\n","import e from\"@/pages.json\";\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function n(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&n.path)}},n.exports),n.exports}var s=n((function(e,t){var n;e.exports=(n=n||function(e,t){var n=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),s={},r=s.lib={},i=r.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty(\"init\")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=r.WordArray=i.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,s=this.sigBytes,r=e.sigBytes;if(this.clamp(),s%4)for(var i=0;i<r;i++){var o=n[i>>>2]>>>24-i%4*8&255;t[s+i>>>2]|=o<<24-(s+i)%4*8}else for(i=0;i<r;i+=4)t[s+i>>>2]=n[i>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,s=[],r=function(t){t=t;var n=987654321,s=4294967295;return function(){var r=((n=36969*(65535&n)+(n>>16)&s)<<16)+(t=18e3*(65535&t)+(t>>16)&s)&s;return r/=4294967296,(r+=.5)*(e.random()>.5?1:-1)}},i=0;i<t;i+=4){var a=r(4294967296*(n||e.random()));n=987654071*a(),s.push(4294967296*a()|0)}return new o.init(s,t)}}),a=s.enc={},c=a.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var i=t[r>>>2]>>>24-r%4*8&255;s.push((i>>>4).toString(16)),s.push((15&i).toString(16))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s<t;s+=2)n[s>>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new o.init(n,t/2)}},u=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var i=t[r>>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(i))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s<t;s++)n[s>>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new o.init(n,t)}},h=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error(\"Malformed UTF-8 data\")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},l=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,s=n.words,r=n.sigBytes,i=this.blockSize,a=r/(4*i),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*i,u=e.min(4*c,r);if(c){for(var h=0;h<c;h+=i)this._doProcessBlock(s,h);var l=s.splice(0,c);n.sigBytes-=u}return new o.init(l,u)},clone:function(){var e=i.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});r.Hasher=l.extend({cfg:i.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new d.HMAC.init(e,n).finalize(t)}}});var d=s.algo={};return s}(Math),n)})),r=s,i=(n((function(e,t){var n;e.exports=(n=r,function(e){var t=n,s=t.lib,r=s.WordArray,i=s.Hasher,o=t.algo,a=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();var c=o.MD5=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var s=t+n,r=e[s];e[s]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var i=this._hash.words,o=e[t+0],c=e[t+1],p=e[t+2],f=e[t+3],g=e[t+4],m=e[t+5],y=e[t+6],_=e[t+7],w=e[t+8],v=e[t+9],I=e[t+10],S=e[t+11],b=e[t+12],k=e[t+13],A=e[t+14],P=e[t+15],T=i[0],C=i[1],x=i[2],O=i[3];T=u(T,C,x,O,o,7,a[0]),O=u(O,T,C,x,c,12,a[1]),x=u(x,O,T,C,p,17,a[2]),C=u(C,x,O,T,f,22,a[3]),T=u(T,C,x,O,g,7,a[4]),O=u(O,T,C,x,m,12,a[5]),x=u(x,O,T,C,y,17,a[6]),C=u(C,x,O,T,_,22,a[7]),T=u(T,C,x,O,w,7,a[8]),O=u(O,T,C,x,v,12,a[9]),x=u(x,O,T,C,I,17,a[10]),C=u(C,x,O,T,S,22,a[11]),T=u(T,C,x,O,b,7,a[12]),O=u(O,T,C,x,k,12,a[13]),x=u(x,O,T,C,A,17,a[14]),T=h(T,C=u(C,x,O,T,P,22,a[15]),x,O,c,5,a[16]),O=h(O,T,C,x,y,9,a[17]),x=h(x,O,T,C,S,14,a[18]),C=h(C,x,O,T,o,20,a[19]),T=h(T,C,x,O,m,5,a[20]),O=h(O,T,C,x,I,9,a[21]),x=h(x,O,T,C,P,14,a[22]),C=h(C,x,O,T,g,20,a[23]),T=h(T,C,x,O,v,5,a[24]),O=h(O,T,C,x,A,9,a[25]),x=h(x,O,T,C,f,14,a[26]),C=h(C,x,O,T,w,20,a[27]),T=h(T,C,x,O,k,5,a[28]),O=h(O,T,C,x,p,9,a[29]),x=h(x,O,T,C,_,14,a[30]),T=l(T,C=h(C,x,O,T,b,20,a[31]),x,O,m,4,a[32]),O=l(O,T,C,x,w,11,a[33]),x=l(x,O,T,C,S,16,a[34]),C=l(C,x,O,T,A,23,a[35]),T=l(T,C,x,O,c,4,a[36]),O=l(O,T,C,x,g,11,a[37]),x=l(x,O,T,C,_,16,a[38]),C=l(C,x,O,T,I,23,a[39]),T=l(T,C,x,O,k,4,a[40]),O=l(O,T,C,x,o,11,a[41]),x=l(x,O,T,C,f,16,a[42]),C=l(C,x,O,T,y,23,a[43]),T=l(T,C,x,O,v,4,a[44]),O=l(O,T,C,x,b,11,a[45]),x=l(x,O,T,C,P,16,a[46]),T=d(T,C=l(C,x,O,T,p,23,a[47]),x,O,o,6,a[48]),O=d(O,T,C,x,_,10,a[49]),x=d(x,O,T,C,A,15,a[50]),C=d(C,x,O,T,m,21,a[51]),T=d(T,C,x,O,b,6,a[52]),O=d(O,T,C,x,f,10,a[53]),x=d(x,O,T,C,I,15,a[54]),C=d(C,x,O,T,c,21,a[55]),T=d(T,C,x,O,w,6,a[56]),O=d(O,T,C,x,P,10,a[57]),x=d(x,O,T,C,y,15,a[58]),C=d(C,x,O,T,k,21,a[59]),T=d(T,C,x,O,g,6,a[60]),O=d(O,T,C,x,S,10,a[61]),x=d(x,O,T,C,p,15,a[62]),C=d(C,x,O,T,v,21,a[63]),i[0]=i[0]+T|0,i[1]=i[1]+C|0,i[2]=i[2]+x|0,i[3]=i[3]+O|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;var i=e.floor(s/4294967296),o=s;n[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),n[14+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(n.length+1),this._process();for(var a=this._hash,c=a.words,u=0;u<4;u++){var h=c[u];c[u]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return a},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});function u(e,t,n,s,r,i,o){var a=e+(t&n|~t&s)+r+o;return(a<<i|a>>>32-i)+t}function h(e,t,n,s,r,i,o){var a=e+(t&s|n&~s)+r+o;return(a<<i|a>>>32-i)+t}function l(e,t,n,s,r,i,o){var a=e+(t^n^s)+r+o;return(a<<i|a>>>32-i)+t}function d(e,t,n,s,r,i,o){var a=e+(n^(t|~s))+r+o;return(a<<i|a>>>32-i)+t}t.MD5=i._createHelper(c),t.HmacMD5=i._createHmacHelper(c)}(Math),n.MD5)})),n((function(e,t){var n;e.exports=(n=r,void function(){var e=n,t=e.lib.Base,s=e.enc.Utf8;e.algo.HMAC=t.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),a=i.words,c=o.words,u=0;u<n;u++)a[u]^=1549556828,c[u]^=909522486;i.sigBytes=o.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,n=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(n))}})}())})),n((function(e,t){e.exports=r.HmacMD5}))),o=n((function(e,t){e.exports=r.enc.Utf8})),a=n((function(e,t){var n;e.exports=(n=r,function(){var e=n,t=e.lib.WordArray;function s(e,n,s){for(var r=[],i=0,o=0;o<n;o++)if(o%4){var a=s[e.charCodeAt(o-1)]<<o%4*2,c=s[e.charCodeAt(o)]>>>6-o%4*2;r[i>>>2]|=(a|c)<<24-i%4*8,i++}return t.create(r,i)}e.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,s=this._map;e.clamp();for(var r=[],i=0;i<n;i+=3)for(var o=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;a<4&&i+.75*a<n;a++)r.push(s.charAt(o>>>6*(3-a)&63));var c=s.charAt(64);if(c)for(;r.length%4;)r.push(c);return r.join(\"\")},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var i=0;i<n.length;i++)r[n.charCodeAt(i)]=i}var o=n.charAt(64);if(o){var a=e.indexOf(o);-1!==a&&(t=a)}return s(e,t,r)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}}(),n.enc.Base64)}));const c=\"FUNCTION\",u=\"OBJECT\",h=\"CLIENT_DB\",l=\"pending\",d=\"fulfilled\",p=\"rejected\";function f(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function g(e){return\"object\"===f(e)}function m(e){return\"function\"==typeof e}function y(e){return function(){try{return e.apply(e,arguments)}catch(e){console.error(e)}}}const _=\"REJECTED\",w=\"NOT_PENDING\";class v{constructor({createPromise:e,retryRule:t=_}={}){this.createPromise=e,this.status=null,this.promise=null,this.retryRule=t}get needRetry(){if(!this.status)return!0;switch(this.retryRule){case _:return this.status===p;case w:return this.status!==l}}exec(){return this.needRetry?(this.status=l,this.promise=this.createPromise().then((e=>(this.status=d,Promise.resolve(e))),(e=>(this.status=p,Promise.reject(e)))),this.promise):this.promise}}function I(e){return e&&\"string\"==typeof e?JSON.parse(e):e}const S=\"development\"===process.env.NODE_ENV,b=process.env.VUE_APP_PLATFORM,k=\"true\"===process.env.UNI_SECURE_NETWORK_ENABLE||!0===process.env.UNI_SECURE_NETWORK_ENABLE,A=I(process.env.UNI_SECURE_NETWORK_CONFIG),P=\"h5\"===b?\"web\":\"app-plus\"===b?\"app\":b,T=I(process.env.UNICLOUD_DEBUG),C=I(process.env.UNI_CLOUD_PROVIDER)||[],x=process.env.RUN_BY_HBUILDERX;let O=\"\";try{O=(require(\"uni-stat-config\").default||require(\"uni-stat-config\")).appid}catch(e){}let E={};function L(e,t={}){var n,s;return n=E,s=e,Object.prototype.hasOwnProperty.call(n,s)||(E[e]=t),E[e]}\"app\"===P&&(E=uni._globalUniCloudObj?uni._globalUniCloudObj:uni._globalUniCloudObj={});const R=[\"invoke\",\"success\",\"fail\",\"complete\"],U=L(\"_globalUniCloudInterceptor\");function N(e,t){U[e]||(U[e]={}),g(t)&&Object.keys(t).forEach((n=>{R.indexOf(n)>-1&&function(e,t,n){let s=U[e][t];s||(s=U[e][t]=[]),-1===s.indexOf(n)&&m(n)&&s.push(n)}(e,n,t[n])}))}function D(e,t){U[e]||(U[e]={}),g(t)?Object.keys(t).forEach((n=>{R.indexOf(n)>-1&&function(e,t,n){const s=U[e][t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete U[e]}function M(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function q(e,t){return U[e]&&U[e][t]||[]}function F(e){N(\"callObject\",e)}const K=L(\"_globalUniCloudListener\"),j=\"response\",$=\"needLogin\",B=\"refreshToken\",W=\"clientdb\",H=\"cloudfunction\",z=\"cloudobject\";function J(e){return K[e]||(K[e]=[]),K[e]}function G(e,t){const n=J(e);n.includes(t)||n.push(t)}function V(e,t){const n=J(e),s=n.indexOf(t);-1!==s&&n.splice(s,1)}function Y(e,t){const n=J(e);for(let e=0;e<n.length;e++){(0,n[e])(t)}}let Q,X=!1;function Z(){return Q||(Q=new Promise((e=>{X&&e(),function t(){if(\"function\"==typeof getCurrentPages){const t=getCurrentPages();t&&t[0]&&(X=!0,e())}X||setTimeout((()=>{t()}),30)}()})),Q)}function ee(e){const t={};for(const n in e){const s=e[n];m(s)&&(t[n]=y(s))}return t}class te extends Error{constructor(e){super(e.message),this.errMsg=e.message||e.errMsg||\"unknown system error\",this.code=this.errCode=e.code||e.errCode||\"SYSTEM_ERROR\",this.errSubject=this.subject=e.subject||e.errSubject,this.cause=e.cause,this.requestId=e.requestId}toJson(e=0){if(!(e>=10))return e++,{errCode:this.errCode,errMsg:this.errMsg,errSubject:this.errSubject,cause:this.cause&&this.cause.toJson?this.cause.toJson(e):this.cause}}}var ne={request:e=>uni.request(e),uploadFile:e=>uni.uploadFile(e),setStorageSync:(e,t)=>uni.setStorageSync(e,t),getStorageSync:e=>uni.getStorageSync(e),removeStorageSync:e=>uni.removeStorageSync(e),clearStorageSync:()=>uni.clearStorageSync()};function se(){return{token:ne.getStorageSync(\"uni_id_token\")||ne.getStorageSync(\"uniIdToken\"),tokenExpired:ne.getStorageSync(\"uni_id_token_expired\")}}function re({token:e,tokenExpired:t}={}){e&&ne.setStorageSync(\"uni_id_token\",e),t&&ne.setStorageSync(\"uni_id_token_expired\",t)}let ie,oe;function ae(){return ie||(ie=uni.getSystemInfoSync()),ie}function ce(){let e,t;try{if(uni.getLaunchOptionsSync){if(uni.getLaunchOptionsSync.toString().indexOf(\"not yet implemented\")>-1)return;const{scene:n,channel:s}=uni.getLaunchOptionsSync();e=s,t=n}}catch(e){}return{channel:e,scene:t}}function ue(){const e=uni.getLocale&&uni.getLocale()||\"en\";if(oe)return{...oe,locale:e,LOCALE:e};const t=ae(),{deviceId:n,osName:s,uniPlatform:r,appId:i}=t,o=[\"pixelRatio\",\"brand\",\"model\",\"system\",\"language\",\"version\",\"platform\",\"host\",\"SDKVersion\",\"swanNativeVersion\",\"app\",\"AppPlatform\",\"fontSizeSetting\"];for(let e=0;e<o.length;e++){delete t[o[e]]}return oe={PLATFORM:r,OS:s,APPID:i,DEVICEID:n,...ce(),...t},{...oe,locale:e,LOCALE:e}}var he={sign:function(e,t){let n=\"\";return Object.keys(e).sort().forEach((function(t){e[t]&&(n=n+\"&\"+t+\"=\"+e[t])})),n=n.slice(1),i(n,t).toString()},wrappedRequest:function(e,t){return new Promise(((n,s)=>{t(Object.assign(e,{complete(e){e||(e={}),S&&\"web\"===P&&e.errMsg&&0===e.errMsg.indexOf(\"request:fail\")&&console.warn(\"发布H5,需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5\");const t=e.data&&e.data.header&&e.data.header[\"x-serverless-request-id\"]||e.header&&e.header[\"request-id\"];if(!e.statusCode||e.statusCode>=400)return s(new te({code:\"SYS_ERR\",message:e.errMsg||\"request:fail\",requestId:t}));const r=e.data;if(r.error)return s(new te({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,delete r.data,n(r)}}))}))},toBase64:function(e){return a.stringify(o.parse(e))}};var le=class{constructor(e){[\"spaceId\",\"clientSecret\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),this.config=Object.assign({},{endpoint:0===e.spaceId.indexOf(\"mp-\")?\"https://api.next.bspapp.com\":\"https://api.bspapp.com\"},e),this.config.provider=\"aliyun\",this.config.requestUrl=this.config.endpoint+\"/client\",this.config.envType=this.config.envType||\"public\",this.config.accessTokenKey=\"access_token_\"+this.config.spaceId,this.adapter=ne,this._getAccessTokenPromiseHub=new v({createPromise:()=>this.requestAuth(this.setupRequest({method:\"serverless.auth.user.anonymousAuthorize\",params:\"{}\"},\"auth\")).then((e=>{if(!e.result||!e.result.accessToken)throw new te({code:\"AUTH_FAILED\",message:\"获取accessToken失败\"});this.setAccessToken(e.result.accessToken)})),retryRule:w})}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return he.wrappedRequest(e,this.adapter.request)}requestAuth(e){return this.requestWrapped(e)}request(e,t){return Promise.resolve().then((()=>this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch((t=>new Promise(((e,n)=>{!t||\"GATEWAY_INVALID_TOKEN\"!==t.code&&\"InvalidParameter.InvalidToken\"!==t.code?n(t):e()})).then((()=>this.getAccessToken())).then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})))):this.getAccessToken().then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)}))))}rebuildRequest(e){const t=Object.assign({},e);return t.data.token=this.accessToken,t.header[\"x-basement-token\"]=this.accessToken,t.header[\"x-serverless-sign\"]=he.sign(t.data,this.config.clientSecret),t}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};return\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=he.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:s}}getAccessToken(){return this._getAccessTokenPromiseHub.exec()}async authorize(){await this.getAccessToken()}callFunction(e){const t={method:\"serverless.function.runtime.invoke\",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(this.setupRequest(t))}getOSSUploadOptionsFromPath(e){const t={method:\"serverless.file.resource.generateProximalSign\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:i}){return new Promise(((o,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,header:{\"X-OSS-server-side-encrpytion\":\"AES256\"},success(e){e&&e.statusCode<400?o(e):a(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof i&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{i({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}reportOSSUpload(e){const t={method:\"serverless.file.resource.report\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}async uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",cloudPathAsRealPath:s=!1,onUploadProgress:r,config:i}){if(\"string\"!==f(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const o=i&&i.envType||this.config.envType;if(s&&(\"/\"!==t[0]&&(t=\"/\"+t),t.indexOf(\"\\\\\")>-1))throw new te({code:\"INVALID_PARAM\",message:\"使用cloudPath作为路径时,cloudPath不可包含“\\\\”\"});const a=(await this.getOSSUploadOptionsFromPath({env:o,filename:s?t.split(\"/\").pop():t,fileId:s?t:void 0})).result,c=\"https://\"+a.cdnDomain+\"/\"+a.ossPath,{securityToken:u,accessKeyId:h,signature:l,host:d,ossPath:p,id:g,policy:m,ossCallbackUrl:y}=a,_={\"Cache-Control\":\"max-age=2592000\",\"Content-Disposition\":\"attachment\",OSSAccessKeyId:h,Signature:l,host:d,id:g,key:p,policy:m,success_action_status:200};if(u&&(_[\"x-oss-security-token\"]=u),y){const e=JSON.stringify({callbackUrl:y,callbackBody:JSON.stringify({fileId:g,spaceId:this.config.spaceId}),callbackBodyType:\"application/json\"});_.callback=he.toBase64(e)}const w={url:\"https://\"+a.host,formData:_,fileName:\"file\",name:\"file\",filePath:e,fileType:n};if(await this.uploadFileToOSS(Object.assign({},w,{onUploadProgress:r})),y)return{success:!0,filePath:e,fileID:c};if((await this.reportOSSUpload({id:g})).success)return{success:!0,filePath:e,fileID:c};throw new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"})}getTempFileURL({fileList:e}={}){return new Promise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"})),t({fileList:e.map((e=>({fileID:e,tempFileURL:e})))})}))}async getFileInfo({fileList:e}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const t={method:\"serverless.file.resource.info\",params:JSON.stringify({id:e.map((e=>e.split(\"?\")[0])).join(\",\")})};return{fileList:(await this.request(this.setupRequest(t))).result}}};var de={init(e){const t=new le(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};const pe=\"undefined\"!=typeof location&&\"http:\"===location.protocol?\"http:\":\"https:\";var fe;!function(e){e.local=\"local\",e.none=\"none\",e.session=\"session\"}(fe||(fe={}));var ge=function(){},me=n((function(e,t){var n;e.exports=(n=r,function(e){var t=n,s=t.lib,r=s.WordArray,i=s.Hasher,o=t.algo,a=[],c=[];!function(){function t(t){for(var n=e.sqrt(t),s=2;s<=n;s++)if(!(t%s))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var s=2,r=0;r<64;)t(s)&&(r<8&&(a[r]=n(e.pow(s,.5))),c[r]=n(e.pow(s,1/3)),r++),s++}();var u=[],h=o.SHA256=i.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,s=n[0],r=n[1],i=n[2],o=n[3],a=n[4],h=n[5],l=n[6],d=n[7],p=0;p<64;p++){if(p<16)u[p]=0|e[t+p];else{var f=u[p-15],g=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,m=u[p-2],y=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;u[p]=g+u[p-7]+y+u[p-16]}var _=s&r^s&i^r&i,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),v=d+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&h^~a&l)+c[p]+u[p];d=l,l=h,h=a,a=o+v|0,o=i,i=r,r=s,s=v+(w+_)|0}n[0]=n[0]+s|0,n[1]=n[1]+r|0,n[2]=n[2]+i|0,n[3]=n[3]+o|0,n[4]=n[4]+a|0,n[5]=n[5]+h|0,n[6]=n[6]+l|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(s/4294967296),n[15+(r+64>>>9<<4)]=s,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(h),t.HmacSHA256=i._createHmacHelper(h)}(Math),n.SHA256)})),ye=me,_e=n((function(e,t){e.exports=r.HmacSHA256}));const we=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new te({message:'Your Node runtime does support ES6 Promises. Set \"global.Promise\" to your preferred implementation of promises.'})};return Object.defineProperty(e.promise,\"then\",{get:t}),Object.defineProperty(e.promise,\"catch\",{get:t}),e}const t=new Promise(((t,n)=>{e=(e,s)=>e?n(e):t(s)}));return e.promise=t,e};function ve(e){return void 0===e}function Ie(e){return\"[object Null]\"===Object.prototype.toString.call(e)}var Se;function be(e){const t=(n=e,\"[object Array]\"===Object.prototype.toString.call(n)?e:[e]);var n;for(const e of t){const{isMatch:t,genAdapter:n,runtime:s}=e;if(t())return{adapter:n(),runtime:s}}}!function(e){e.WEB=\"web\",e.WX_MP=\"wx_mp\"}(Se||(Se={}));const ke={adapter:null,runtime:void 0},Ae=[\"anonymousUuidKey\"];class Pe extends ge{constructor(){super(),ke.adapter.root.tcbObject||(ke.adapter.root.tcbObject={})}setItem(e,t){ke.adapter.root.tcbObject[e]=t}getItem(e){return ke.adapter.root.tcbObject[e]}removeItem(e){delete ke.adapter.root.tcbObject[e]}clear(){delete ke.adapter.root.tcbObject}}function Te(e,t){switch(e){case\"local\":return t.localStorage||new Pe;case\"none\":return new Pe;default:return t.sessionStorage||new Pe}}class Ce{constructor(e){if(!this._storage){this._persistence=ke.adapter.primaryStorage||e.persistence,this._storage=Te(this._persistence,ke.adapter);const t=`access_token_${e.env}`,n=`access_token_expire_${e.env}`,s=`refresh_token_${e.env}`,r=`anonymous_uuid_${e.env}`,i=`login_type_${e.env}`,o=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s,anonymousUuidKey:r,loginTypeKey:i,userInfoKey:o}}}updatePersistence(e){if(e===this._persistence)return;const t=\"local\"===this._persistence;this._persistence=e;const n=Te(e,ke.adapter);for(const e in this.keys){const s=this.keys[e];if(t&&Ae.includes(e))continue;const r=this._storage.getItem(s);ve(r)||Ie(r)||(n.setItem(s,r),this._storage.removeItem(s))}this._storage=n}setStore(e,t,n){if(!this._storage)return;const s={version:n||\"localCachev1\",content:t},r=JSON.stringify(s);try{this._storage.setItem(e,r)}catch(e){throw e}}getStore(e,t){try{if(!this._storage)return}catch(e){return\"\"}t=t||\"localCachev1\";const n=this._storage.getItem(e);if(!n)return\"\";if(n.indexOf(t)>=0){return JSON.parse(n).content}return\"\"}removeStore(e){this._storage.removeItem(e)}}const xe={},Oe={};function Ee(e){return xe[e]}class Le{constructor(e,t){this.data=t||null,this.name=e}}class Re extends Le{constructor(e,t){super(\"error\",{error:e,data:t}),this.error=e}}const Ue=new class{constructor(){this._listeners={}}on(e,t){return function(e,t,n){n[e]=n[e]||[],n[e].push(t)}(e,t,this._listeners),this}off(e,t){return function(e,t,n){if(n&&n[e]){const s=n[e].indexOf(t);-1!==s&&n[e].splice(s,1)}}(e,t,this._listeners),this}fire(e,t){if(e instanceof Re)return console.error(e.error),this;const n=\"string\"==typeof e?new Le(e,t||{}):e;const s=n.name;if(this._listens(s)){n.target=this;const e=this._listeners[s]?[...this._listeners[s]]:[];for(const t of e)t.call(this,n)}return this}_listens(e){return this._listeners[e]&&this._listeners[e].length>0}};function Ne(e,t){Ue.on(e,t)}function De(e,t={}){Ue.fire(e,t)}function Me(e,t){Ue.off(e,t)}const qe=\"loginStateChanged\",Fe=\"loginStateExpire\",Ke=\"loginTypeChanged\",je=\"anonymousConverted\",$e=\"refreshAccessToken\";var Be;!function(e){e.ANONYMOUS=\"ANONYMOUS\",e.WECHAT=\"WECHAT\",e.WECHAT_PUBLIC=\"WECHAT-PUBLIC\",e.WECHAT_OPEN=\"WECHAT-OPEN\",e.CUSTOM=\"CUSTOM\",e.EMAIL=\"EMAIL\",e.USERNAME=\"USERNAME\",e.NULL=\"NULL\"}(Be||(Be={}));const We=[\"auth.getJwt\",\"auth.logout\",\"auth.signInWithTicket\",\"auth.signInAnonymously\",\"auth.signIn\",\"auth.fetchAccessTokenWithRefreshToken\",\"auth.signUpWithEmailAndPassword\",\"auth.activateEndUserMail\",\"auth.sendPasswordResetEmail\",\"auth.resetPasswordWithToken\",\"auth.isUsernameRegistered\"],He={\"X-SDK-Version\":\"1.3.5\"};function ze(e,t,n){const s=e[t];e[t]=function(t){const r={},i={};n.forEach((n=>{const{data:s,headers:o}=n.call(e,t);Object.assign(r,s),Object.assign(i,o)}));const o=t.data;return o&&(()=>{var e;if(e=o,\"[object FormData]\"!==Object.prototype.toString.call(e))t.data={...o,...r};else for(const e in r)o.append(e,r[e])})(),t.headers={...t.headers||{},...i},s.call(e,t)}}function Je(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...He,\"x-seqid\":e}}}class Ge{constructor(e={}){var t;this.config=e,this._reqClass=new ke.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成,已中断`,restrictedMethods:[\"post\"]}),this._cache=Ee(this.config.env),this._localCache=(t=this.config.env,Oe[t]),ze(this._reqClass,\"post\",[Je]),ze(this._reqClass,\"upload\",[Je]),ze(this._reqClass,\"download\",[Je])}async post(e){return await this._reqClass.post(e)}async upload(e){return await this._reqClass.upload(e)}async download(e){return await this._reqClass.download(e)}async refreshAccessToken(){let e,t;this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken());try{e=await this._refreshAccessTokenPromise}catch(e){t=e}if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,t)throw t;return e}async _refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n,loginTypeKey:s,anonymousUuidKey:r}=this._cache.keys;this._cache.removeStore(e),this._cache.removeStore(t);let i=this._cache.getStore(n);if(!i)throw new te({message:\"未登录CloudBase\"});const o={refresh_token:i},a=await this.request(\"auth.fetchAccessTokenWithRefreshToken\",o);if(a.data.code){const{code:e}=a.data;if(\"SIGN_PARAM_INVALID\"===e||\"REFRESH_TOKEN_EXPIRED\"===e||\"INVALID_REFRESH_TOKEN\"===e){if(this._cache.getStore(s)===Be.ANONYMOUS&&\"INVALID_REFRESH_TOKEN\"===e){const e=this._cache.getStore(r),t=this._cache.getStore(n),s=await this.send(\"auth.signInAnonymously\",{anonymous_uuid:e,refresh_token:t});return this.setRefreshToken(s.refresh_token),this._refreshAccessToken()}De(Fe),this._cache.removeStore(n)}throw new te({code:a.data.code,message:`刷新access token失败:${a.data.code}`})}if(a.data.access_token)return De($e),this._cache.setStore(e,a.data.access_token),this._cache.setStore(t,a.data.access_token_expire+Date.now()),{accessToken:a.data.access_token,accessTokenExpire:a.data.access_token_expire};a.data.refresh_token&&(this._cache.removeStore(n),this._cache.setStore(n,a.data.refresh_token),this._refreshAccessToken())}async getAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n}=this._cache.keys;if(!this._cache.getStore(n))throw new te({message:\"refresh token不存在,登录状态异常\"});let s=this._cache.getStore(e),r=this._cache.getStore(t),i=!0;return this._shouldRefreshAccessTokenHook&&!await this._shouldRefreshAccessTokenHook(s,r)&&(i=!1),(!s||!r||r<Date.now())&&i?this.refreshAccessToken():{accessToken:s,accessTokenExpire:r}}async request(e,t,n){const s=`x-tcb-trace_${this.config.env}`;let r=\"application/x-www-form-urlencoded\";const i={action:e,env:this.config.env,dataVersion:\"2019-08-16\",...t};if(-1===We.indexOf(e)){const{refreshTokenKey:e}=this._cache.keys;this._cache.getStore(e)&&(i.access_token=(await this.getAccessToken()).accessToken)}let o;if(\"storage.uploadFile\"===e){o=new FormData;for(let e in o)o.hasOwnProperty(e)&&void 0!==o[e]&&o.append(e,i[e]);r=\"multipart/form-data\"}else{r=\"application/json\",o={};for(let e in i)void 0!==i[e]&&(o[e]=i[e])}let a={headers:{\"content-type\":r}};n&&n.onUploadProgress&&(a.onUploadProgress=n.onUploadProgress);const c=this._localCache.getStore(s);c&&(a.headers[\"X-TCB-Trace\"]=c);const{parse:u,inQuery:h,search:l}=t;let d={env:this.config.env};u&&(d.parse=!0),h&&(d={...h,...d});let p=function(e,t,n={}){const s=/\\?/.test(t);let r=\"\";for(let e in n)\"\"===r?!s&&(t+=\"?\"):r+=\"&\",r+=`${e}=${encodeURIComponent(n[e])}`;return/^http(s)?\\:\\/\\//.test(t+=r)?t:`${e}${t}`}(pe,\"//tcb-api.tencentcloudapi.com/web\",d);l&&(p+=l);const f=await this.post({url:p,data:o,...a}),g=f.header&&f.header[\"x-tcb-trace\"];if(g&&this._localCache.setStore(s,g),200!==Number(f.status)&&200!==Number(f.statusCode)||!f.data)throw new te({code:\"NETWORK_ERROR\",message:\"network request error\"});return f}async send(e,t={}){const n=await this.request(e,t,{onUploadProgress:t.onUploadProgress});if(\"ACCESS_TOKEN_EXPIRED\"===n.data.code&&-1===We.indexOf(e)){await this.refreshAccessToken();const n=await this.request(e,t,{onUploadProgress:t.onUploadProgress});if(n.data.code)throw new te({code:n.data.code,message:n.data.message});return n.data}if(n.data.code)throw new te({code:n.data.code,message:n.data.message});return n.data}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(n),this._cache.setStore(s,e)}}const Ve={};function Ye(e){return Ve[e]}class Qe{constructor(e){this.config=e,this._cache=Ee(e.env),this._request=Ye(e.env)}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(n),this._cache.setStore(s,e)}setAccessToken(e,t){const{accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys;this._cache.setStore(n,e),this._cache.setStore(s,t)}async refreshUserInfo(){const{data:e}=await this._request.send(\"auth.getUserInfo\",{});return this.setLocalUserInfo(e),e}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e)}}class Xe{constructor(e){if(!e)throw new te({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._envId=e,this._cache=Ee(this._envId),this._request=Ye(this._envId),this.setUserInfo()}linkWithTicket(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"ticket must be string\"});return this._request.send(\"auth.linkWithTicket\",{ticket:e})}linkWithRedirect(e){e.signInWithRedirect()}updatePassword(e,t){return this._request.send(\"auth.updatePassword\",{oldPassword:t,newPassword:e})}updateEmail(e){return this._request.send(\"auth.updateEmail\",{newEmail:e})}updateUsername(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});return this._request.send(\"auth.updateUsername\",{username:e})}async getLinkedUidList(){const{data:e}=await this._request.send(\"auth.getLinkedUidList\",{});let t=!1;const{users:n}=e;return n.forEach((e=>{e.wxOpenId&&e.wxPublicId&&(t=!0)})),{users:n,hasPrimaryUid:t}}setPrimaryUid(e){return this._request.send(\"auth.setPrimaryUid\",{uid:e})}unlink(e){return this._request.send(\"auth.unlink\",{platform:e})}async update(e){const{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:o}=e,{data:a}=await this._request.send(\"auth.updateUserInfo\",{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:o});this.setLocalUserInfo(a)}async refresh(){const{data:e}=await this._request.send(\"auth.getUserInfo\",{});return this.setLocalUserInfo(e),e}setUserInfo(){const{userInfoKey:e}=this._cache.keys,t=this._cache.getStore(e);[\"uid\",\"loginType\",\"openid\",\"wxOpenId\",\"wxPublicId\",\"unionId\",\"qqMiniOpenId\",\"email\",\"hasPassword\",\"customUserId\",\"nickName\",\"gender\",\"avatarUrl\"].forEach((e=>{this[e]=t[e]})),this.location={country:t.country,province:t.province,city:t.city}}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e),this.setUserInfo()}}class Ze{constructor(e){if(!e)throw new te({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._cache=Ee(e);const{refreshTokenKey:t,accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys,r=this._cache.getStore(t),i=this._cache.getStore(n),o=this._cache.getStore(s);this.credential={refreshToken:r,accessToken:i,accessTokenExpire:o},this.user=new Xe(e)}get isAnonymousAuth(){return this.loginType===Be.ANONYMOUS}get isCustomAuth(){return this.loginType===Be.CUSTOM}get isWeixinAuth(){return this.loginType===Be.WECHAT||this.loginType===Be.WECHAT_OPEN||this.loginType===Be.WECHAT_PUBLIC}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}class et extends Qe{async signIn(){this._cache.updatePersistence(\"local\");const{anonymousUuidKey:e,refreshTokenKey:t}=this._cache.keys,n=this._cache.getStore(e)||void 0,s=this._cache.getStore(t)||void 0,r=await this._request.send(\"auth.signInAnonymously\",{anonymous_uuid:n,refresh_token:s});if(r.uuid&&r.refresh_token){this._setAnonymousUUID(r.uuid),this.setRefreshToken(r.refresh_token),await this._request.refreshAccessToken(),De(qe),De(Ke,{env:this.config.env,loginType:Be.ANONYMOUS,persistence:\"local\"});const e=new Ze(this.config.env);return await e.user.refresh(),e}throw new te({message:\"匿名登录失败\"})}async linkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:n}=this._cache.keys,s=this._cache.getStore(t),r=this._cache.getStore(n),i=await this._request.send(\"auth.linkAndRetrieveDataWithTicket\",{anonymous_uuid:s,refresh_token:r,ticket:e});if(i.refresh_token)return this._clearAnonymousUUID(),this.setRefreshToken(i.refresh_token),await this._request.refreshAccessToken(),De(je,{env:this.config.env}),De(Ke,{loginType:Be.CUSTOM,persistence:\"local\"}),{credential:{refreshToken:i.refresh_token}};throw new te({message:\"匿名转化失败\"})}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,Be.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}class tt extends Qe{async signIn(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"ticket must be a string\"});const{refreshTokenKey:t}=this._cache.keys,n=await this._request.send(\"auth.signInWithTicket\",{ticket:e,refresh_token:this._cache.getStore(t)||\"\"});if(n.refresh_token)return this.setRefreshToken(n.refresh_token),await this._request.refreshAccessToken(),De(qe),De(Ke,{env:this.config.env,loginType:Be.CUSTOM,persistence:this.config.persistence}),await this.refreshUserInfo(),new Ze(this.config.env);throw new te({message:\"自定义登录失败\"})}}class nt extends Qe{async signIn(e,t){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"email must be a string\"});const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:\"EMAIL\",email:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token:i,access_token_expire:o}=s;if(r)return this.setRefreshToken(r),i&&o?this.setAccessToken(i,o):await this._request.refreshAccessToken(),await this.refreshUserInfo(),De(qe),De(Ke,{env:this.config.env,loginType:Be.EMAIL,persistence:this.config.persistence}),new Ze(this.config.env);throw s.code?new te({code:s.code,message:`邮箱登录失败: ${s.message}`}):new te({message:\"邮箱登录失败\"})}async activate(e){return this._request.send(\"auth.activateEndUserMail\",{token:e})}async resetPasswordWithToken(e,t){return this._request.send(\"auth.resetPasswordWithToken\",{token:e,newPassword:t})}}class st extends Qe{async signIn(e,t){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});\"string\"!=typeof t&&(t=\"\",console.warn(\"password is empty\"));const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:Be.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token_expire:i,access_token:o}=s;if(r)return this.setRefreshToken(r),o&&i?this.setAccessToken(o,i):await this._request.refreshAccessToken(),await this.refreshUserInfo(),De(qe),De(Ke,{env:this.config.env,loginType:Be.USERNAME,persistence:this.config.persistence}),new Ze(this.config.env);throw s.code?new te({code:s.code,message:`用户名密码登录失败: ${s.message}`}):new te({message:\"用户名密码登录失败\"})}}class rt{constructor(e){this.config=e,this._cache=Ee(e.env),this._request=Ye(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),Ne(Ke,this._onLoginTypeChanged)}get currentUser(){const e=this.hasLoginState();return e&&e.user||null}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}anonymousAuthProvider(){return new et(this.config)}customAuthProvider(){return new tt(this.config)}emailAuthProvider(){return new nt(this.config)}usernameAuthProvider(){return new st(this.config)}async signInAnonymously(){return new et(this.config).signIn()}async signInWithEmailAndPassword(e,t){return new nt(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){return new st(this.config).signIn(e,t)}async linkAndRetrieveDataWithTicket(e){this._anonymousAuthProvider||(this._anonymousAuthProvider=new et(this.config)),Ne(je,this._onAnonymousConverted);return await this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}async signOut(){if(this.loginType===Be.ANONYMOUS)throw new te({message:\"匿名用户不支持登出操作\"});const{refreshTokenKey:e,accessTokenKey:t,accessTokenExpireKey:n}=this._cache.keys,s=this._cache.getStore(e);if(!s)return;const r=await this._request.send(\"auth.logout\",{refresh_token:s});return this._cache.removeStore(e),this._cache.removeStore(t),this._cache.removeStore(n),De(qe),De(Ke,{env:this.config.env,loginType:Be.NULL,persistence:this.config.persistence}),r}async signUpWithEmailAndPassword(e,t){return this._request.send(\"auth.signUpWithEmailAndPassword\",{email:e,password:t})}async sendPasswordResetEmail(e){return this._request.send(\"auth.sendPasswordResetEmail\",{email:e})}onLoginStateChanged(e){Ne(qe,(()=>{const t=this.hasLoginState();e.call(this,t)}));const t=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){Ne(Fe,e.bind(this))}onAccessTokenRefreshed(e){Ne($e,e.bind(this))}onAnonymousConverted(e){Ne(je,e.bind(this))}onLoginTypeChanged(e){Ne(Ke,(()=>{const t=this.hasLoginState();e.call(this,t)}))}async getAccessToken(){return{accessToken:(await this._request.getAccessToken()).accessToken,env:this.config.env}}hasLoginState(){const{refreshTokenKey:e}=this._cache.keys;return this._cache.getStore(e)?new Ze(this.config.env):null}async isUsernameRegistered(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});const{data:t}=await this._request.send(\"auth.isUsernameRegistered\",{username:e});return t&&t.isRegistered}getLoginState(){return Promise.resolve(this.hasLoginState())}async signInWithTicket(e){return new tt(this.config).signIn(e)}shouldRefreshAccessToken(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}getUserInfo(){return this._request.send(\"auth.getUserInfo\",{}).then((e=>e.code?e:{...e.data,requestId:e.seqId}))}getAuthHeader(){const{refreshTokenKey:e,accessTokenKey:t}=this._cache.keys,n=this._cache.getStore(e);return{\"x-cloudbase-credentials\":this._cache.getStore(t)+\"/@@/\"+n}}_onAnonymousConverted(e){const{env:t}=e.data;t===this.config.env&&this._cache.updatePersistence(this.config.persistence)}_onLoginTypeChanged(e){const{loginType:t,persistence:n,env:s}=e.data;s===this.config.env&&(this._cache.updatePersistence(n),this._cache.setStore(this._cache.keys.loginTypeKey,t))}}const it=function(e,t){t=t||we();const n=Ye(this.config.env),{cloudPath:s,filePath:r,onUploadProgress:i,fileType:o=\"image\"}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{const{data:{url:a,authorization:c,token:u,fileId:h,cosFileId:l},requestId:d}=e,p={key:s,signature:c,\"x-cos-meta-fileid\":l,success_action_status:\"201\",\"x-cos-security-token\":u};n.upload({url:a,data:p,file:r,name:s,fileType:o,onUploadProgress:i}).then((e=>{201===e.statusCode?t(null,{fileID:h,requestId:d}):t(new te({code:\"STORAGE_REQUEST_FAIL\",message:`STORAGE_REQUEST_FAIL: ${e.data}`}))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},ot=function(e,t){t=t||we();const n=Ye(this.config.env),{cloudPath:s}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},at=function({fileList:e},t){if(t=t||we(),!e||!Array.isArray(e))return{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"};for(let t of e)if(!t||\"string\"!=typeof t)return{code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"};const n={fileid_list:e};return Ye(this.config.env).send(\"storage.batchDeleteFile\",n).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.delete_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},ct=function({fileList:e},t){t=t||we(),e&&Array.isArray(e)||t(null,{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"});let n=[];for(let s of e)\"object\"==typeof s?(s.hasOwnProperty(\"fileID\")&&s.hasOwnProperty(\"maxAge\")||t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是包含fileID和maxAge的对象\"}),n.push({fileid:s.fileID,max_age:s.maxAge})):\"string\"==typeof s?n.push({fileid:s}):t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是字符串\"});const s={file_list:n};return Ye(this.config.env).send(\"storage.batchGetDownloadUrl\",s).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.download_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},ut=async function({fileID:e},t){const n=(await ct.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if(\"SUCCESS\"!==n.code)return t?t(n):new Promise((e=>{e(n)}));const s=Ye(this.config.env);let r=n.download_url;if(r=encodeURI(r),!t)return s.download({url:r});t(await s.download({url:r}))},ht=function({name:e,data:t,query:n,parse:s,search:r},i){const o=i||we();let a;try{a=t?JSON.stringify(t):\"\"}catch(e){return Promise.reject(e)}if(!e)return Promise.reject(new te({code:\"PARAM_ERROR\",message:\"函数名不能为空\"}));const c={inQuery:n,parse:s,search:r,function_name:e,request_data:a};return Ye(this.config.env).send(\"functions.invokeFunction\",c).then((e=>{if(e.code)o(null,e);else{let t=e.data.response_data;if(s)o(null,{result:t,requestId:e.requestId});else try{t=JSON.parse(e.data.response_data),o(null,{result:t,requestId:e.requestId})}catch(e){o(new te({message:\"response data must be json\"}))}}return o.promise})).catch((e=>{o(e)})),o.promise},lt={timeout:15e3,persistence:\"session\"},dt={};class pt{constructor(e){this.config=e||this.config,this.authObj=void 0}init(e){switch(ke.adapter||(this.requestClient=new ke.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成,已中断`})),this.config={...lt,...e},!0){case this.config.timeout>6e5:console.warn(\"timeout大于可配置上限[10分钟],已重置为上限数值\"),this.config.timeout=6e5;break;case this.config.timeout<100:console.warn(\"timeout小于可配置下限[100ms],已重置为下限数值\"),this.config.timeout=100}return new pt(this.config)}auth({persistence:e}={}){if(this.authObj)return this.authObj;const t=e||ke.adapter.primaryStorage||lt.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;xe[t]=new Ce(e),Oe[t]=new Ce({...e,persistence:\"local\"})}(this.config),n=this.config,Ve[n.env]=new Ge(n),this.authObj=new rt(this.config),this.authObj}on(e,t){return Ne.apply(this,[e,t])}off(e,t){return Me.apply(this,[e,t])}callFunction(e,t){return ht.apply(this,[e,t])}deleteFile(e,t){return at.apply(this,[e,t])}getTempFileURL(e,t){return ct.apply(this,[e,t])}downloadFile(e,t){return ut.apply(this,[e,t])}uploadFile(e,t){return it.apply(this,[e,t])}getUploadMetadata(e,t){return ot.apply(this,[e,t])}registerExtension(e){dt[e.name]=e}async invokeExtension(e,t){const n=dt[e];if(!n)throw new te({message:`扩展${e} 必须先注册`});return await n.invoke(t,this)}useAdapters(e){const{adapter:t,runtime:n}=be(e)||{};t&&(ke.adapter=t),n&&(ke.runtime=n)}}var ft=new pt;function gt(e,t,n){void 0===n&&(n={});var s=/\\?/.test(t),r=\"\";for(var i in n)\"\"===r?!s&&(t+=\"?\"):r+=\"&\",r+=i+\"=\"+encodeURIComponent(n[i]);return/^http(s)?:\\/\\//.test(t+=r)?t:\"\"+e+t}class mt{post(e){const{url:t,data:n,headers:s}=e;return new Promise(((e,r)=>{ne.request({url:gt(\"https:\",t),data:n,method:\"POST\",header:s,success(t){e(t)},fail(e){r(e)}})}))}upload(e){return new Promise(((t,n)=>{const{url:s,file:r,data:i,headers:o,fileType:a}=e,c=ne.uploadFile({url:gt(\"https:\",s),name:\"file\",formData:Object.assign({},i),filePath:r,fileType:a,header:o,success(e){const n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&i.success_action_status&&(n.statusCode=parseInt(i.success_action_status,10)),t(n)},fail(e){n(new Error(e.errMsg||\"uploadFile:fail\"))}});\"function\"==typeof e.onUploadProgress&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}const yt={setItem(e,t){ne.setStorageSync(e,t)},getItem:e=>ne.getStorageSync(e),removeItem(e){ne.removeStorageSync(e)},clear(){ne.clearStorageSync()}};var _t={genAdapter:function(){return{root:{},reqClass:mt,localStorage:yt,primaryStorage:\"local\"}},isMatch:function(){return!0},runtime:\"uni_app\"};ft.useAdapters(_t);const wt=ft,vt=wt.init;wt.init=function(e){e.env=e.spaceId;const t=vt.call(this,e);t.config.provider=\"tencent\",t.config.spaceId=e.spaceId;const n=t.auth;return t.auth=function(e){const t=n.call(this,e);return[\"linkAndRetrieveDataWithTicket\",\"signInAnonymously\",\"signOut\",\"getAccessToken\",\"getLoginState\",\"signInWithTicket\",\"getUserInfo\"].forEach((e=>{var n;t[e]=(n=t[e],function(e){e=e||{};const{success:t,fail:s,complete:r}=ee(e);if(!(t||s||r))return n.call(this,e);n.call(this,e).then((e=>{t&&t(e),r&&r(e)}),(e=>{s&&s(e),r&&r(e)}))}).bind(t)})),t},t.customAuth=t.auth,t};var It=wt;var St=class extends le{getAccessToken(){return new Promise(((e,t)=>{const n=\"Anonymous_Access_token\";this.setAccessToken(n),e(n)}))}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=he.sign(n,this.config.clientSecret);const r=ue();s[\"x-client-info\"]=encodeURIComponent(JSON.stringify(r));const{token:i}=se();return s[\"x-client-token\"]=i,{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:JSON.parse(JSON.stringify(s))}}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:i}){return new Promise(((o,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,success(e){e&&e.statusCode<400?o(e):a(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof i&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{i({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",onUploadProgress:s}){if(!t)throw new te({code:\"CLOUDPATH_REQUIRED\",message:\"cloudPath不可为空\"});let r;return this.getOSSUploadOptionsFromPath({cloudPath:t}).then((t=>{const{url:i,formData:o,name:a}=t.result;r=t.result.fileUrl;const c={url:i,formData:o,name:a,filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},c,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({cloudPath:t}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:r}):s(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))}))))}deleteFile({fileList:e}){const t={method:\"serverless.file.resource.delete\",params:JSON.stringify({fileList:e})};return this.request(this.setupRequest(t)).then((e=>{if(e.success)return e.result;throw new te({code:\"DELETE_FILE_FAILED\",message:\"删除文件失败\"})}))}getTempFileURL({fileList:e,maxAge:t}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const n={method:\"serverless.file.resource.getTempFileURL\",params:JSON.stringify({fileList:e,maxAge:t})};return this.request(this.setupRequest(n)).then((e=>{if(e.success)return{fileList:e.result.fileList.map((e=>({fileID:e.fileID,tempFileURL:e.tempFileURL})))};throw new te({code:\"GET_TEMP_FILE_URL_FAILED\",message:\"获取临时文件链接失败\"})}))}};var bt={init(e){const t=new St(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}},kt=n((function(e,t){e.exports=r.enc.Hex}));function At(e=\"\",t={}){const{data:n,functionName:s,method:r,headers:i,signHeaderKeys:o=[],config:a}=t,c=Date.now(),u=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)})),h=Object.assign({},i,{\"x-from-app-id\":a.spaceAppId,\"x-from-env-id\":a.spaceId,\"x-to-env-id\":a.spaceId,\"x-from-instance-id\":c,\"x-from-function-name\":s,\"x-client-timestamp\":c,\"x-alipay-source\":\"client\",\"x-request-id\":u,\"x-alipay-callid\":u,\"x-trace-id\":u}),l=[\"x-from-app-id\",\"x-from-env-id\",\"x-to-env-id\",\"x-from-instance-id\",\"x-from-function-name\",\"x-client-timestamp\"].concat(o),[d=\"\",p=\"\"]=e.split(\"?\")||[],f=function(e){const t=e.signedHeaders.join(\";\"),n=e.signedHeaders.map((t=>`${t.toLowerCase()}:${e.headers[t]}\\n`)).join(\"\"),s=ye(e.body).toString(kt),r=`${e.method.toUpperCase()}\\n${e.path}\\n${e.query}\\n${n}\\n${t}\\n${s}\\n`,i=ye(r).toString(kt),o=`HMAC-SHA256\\n${e.timestamp}\\n${i}\\n`,a=_e(o,e.secretKey).toString(kt);return`HMAC-SHA256 Credential=${e.secretId}, SignedHeaders=${t}, Signature=${a}`}({path:d,query:p,method:r,headers:h,timestamp:c,body:JSON.stringify(n),secretId:a.accessKey,secretKey:a.secretKey,signedHeaders:l.sort()});return{url:`${a.endpoint}${e}`,headers:Object.assign({},h,{Authorization:f})}}function Pt({url:e,data:t,method:n=\"POST\",headers:s={}}){return new Promise(((r,i)=>{ne.request({url:e,method:n,data:t,header:s,dataType:\"json\",complete:(e={})=>{const t=s[\"x-trace-id\"]||\"\";if(!e.statusCode||e.statusCode>=400){const{message:n,errMsg:s,trace_id:r}=e.data||{};return i(new te({code:\"SYS_ERR\",message:n||s||\"request:fail\",requestId:r||t}))}r({status:e.statusCode,data:e.data,headers:e.header,requestId:t})}})}))}function Tt(e,t){const{path:n,data:s,method:r=\"GET\"}=e,{url:i,headers:o}=At(n,{functionName:\"\",data:s,method:r,headers:{\"x-alipay-cloud-mode\":\"oss\",\"x-data-api-type\":\"oss\",\"x-expire-timestamp\":Date.now()+6e4},signHeaderKeys:[\"x-data-api-type\",\"x-expire-timestamp\"],config:t});return Pt({url:i,data:s,method:r,headers:o}).then((e=>{const t=e.data||{};if(!t.success)throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId});return t.data||{}})).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}function Ct(e=\"\"){const t=e.trim().replace(/^cloud:\\/\\//,\"\"),n=t.indexOf(\"/\");if(n<=0)throw new te({code:\"INVALID_PARAM\",message:\"fileID不合法\"});const s=t.substring(0,n),r=t.substring(n+1);return s!==this.config.spaceId&&console.warn(\"file \".concat(e,\" does not belong to env \").concat(this.config.spaceId)),r}function xt(e=\"\"){return\"cloud://\".concat(this.config.spaceId,\"/\").concat(e.replace(/^\\/+/,\"\"))}var Ot=class{constructor(e){if([\"spaceId\",\"spaceAppId\",\"accessKey\",\"secretKey\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),e.endpoint){if(\"string\"!=typeof e.endpoint)throw new Error(\"endpoint must be string\");if(!/^https:\\/\\//.test(e.endpoint))throw new Error(\"endpoint must start with https://\");e.endpoint=e.endpoint.replace(/\\/$/,\"\")}this.config=Object.assign({},e,{endpoint:e.endpoint||`https://${e.spaceId}.api-hz.cloudbasefunction.cn`})}callFunction(e){return function(e,t){const{name:n,data:s}=e,r=\"POST\",{url:i,headers:o}=At(\"/functions/invokeFunction\",{functionName:n,data:s,method:r,headers:{\"x-to-function-name\":n},signHeaderKeys:[\"x-to-function-name\"],config:t});return Pt({url:i,data:s,method:r,headers:o}).then((e=>({errCode:0,success:!0,requestId:e.requestId,result:e.data}))).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}(e,this.config)}uploadFileToOSS({url:e,filePath:t,fileType:n,formData:s,onUploadProgress:r}){return new Promise(((i,o)=>{const a=ne.uploadFile({url:e,filePath:t,fileType:n,formData:s,name:\"file\",success(e){e&&e.statusCode<400?i(e):o(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){o(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof r&&a&&\"function\"==typeof a.onProgressUpdate&&a.onProgressUpdate((e=>{r({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}async uploadFile({filePath:e,cloudPath:t=\"\",fileType:n=\"image\",onUploadProgress:s}){if(\"string\"!==f(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const r=await Tt({path:\"/\".concat(t.replace(/^\\//,\"\"),\"?post_url\")},this.config),{file_id:i,upload_url:o,form_data:a}=r,c=a&&a.reduce(((e,t)=>(e[t.key]=t.value,e)),{});return this.uploadFileToOSS({url:o,filePath:e,fileType:n,formData:c,onUploadProgress:s}).then((()=>({fileID:i})))}async getTempFileURL({fileList:e}){return new Promise(((t,n)=>{(!e||e.length<0)&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList不能为空数组\"})),e.length>50&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList数组长度不能超过50\"}));const s=[];for(const t of e){\"string\"!==f(t)&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList的元素必须是非空的字符串\"}));const e=Ct.call(this,t);s.push({file_id:e,expire:600})}Tt({path:\"/?download_url\",data:{file_list:s},method:\"POST\"},this.config).then((e=>{const{file_list:n=[]}=e;t({fileList:n.map((e=>({fileID:xt.call(this,e.file_id),tempFileURL:e.download_url})))})})).catch((e=>n(e)))}))}};var Et={init:e=>{e.provider=\"alipay\";const t=new Ot(e);return t.auth=function(){return{signInAnonymously:function(){return Promise.resolve()},getLoginState:function(){return Promise.resolve(!0)}}},t}};function Lt({data:e}){let t;t=ue();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=se();e&&(n.uniIdToken=e)}return n}async function Rt({name:e,data:t}={}){await this.__dev__.initLocalNetwork();const{localAddress:n,localPort:s}=this.__dev__,r={aliyun:\"aliyun\",tencent:\"tcb\",alipay:\"alipay\"}[this.config.provider],i=this.config.spaceId,o=`http://${n}:${s}/system/check-function`,a=`http://${n}:${s}/cloudfunctions/${e}`;return new Promise(((t,n)=>{ne.request({method:\"POST\",url:o,data:{name:e,platform:P,provider:r,spaceId:i},timeout:3e3,success(e){t(e)},fail(){t({data:{code:\"NETWORK_ERROR\",message:\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下,自动切换为已部署的云函数。\"}})}})})).then((({data:e}={})=>{const{code:t,message:n}=e||{};return{code:0===t?0:t||\"SYS_ERR\",message:n||\"SYS_ERR\"}})).then((({code:n,message:s})=>{if(0!==n){switch(n){case\"MODULE_ENCRYPTED\":console.error(`此云函数(${e})依赖加密公共模块不可本地调试,自动切换为云端已部署的云函数`);break;case\"FUNCTION_ENCRYPTED\":console.error(`此云函数(${e})已加密不可本地调试,自动切换为云端已部署的云函数`);break;case\"ACTION_ENCRYPTED\":console.error(s||\"需要访问加密的uni-clientDB-action,自动切换为云端环境\");break;case\"NETWORK_ERROR\":{const e=\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下\";throw console.error(e),new Error(e)}case\"SWITCH_TO_CLOUD\":break;default:{const e=`检测本地调试服务出现错误:${s},请检查网络环境或重启客户端再试`;throw console.error(e),new Error(e)}}return this._callCloudFunction({name:e,data:t})}return new Promise(((e,n)=>{const s=Lt.call(this,{data:t});ne.request({method:\"POST\",url:a,data:{provider:r,platform:P,param:s},success:({statusCode:t,data:s}={})=>!t||t>=400?n(new te({code:s.code||\"SYS_ERR\",message:s.message||\"request:fail\"})):e({result:s}),fail(e){n(new te({code:e.code||e.errCode||\"SYS_ERR\",message:e.message||e.errMsg||\"request:fail\"}))}})}))}))}const Ut=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:\",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间\",mode:\"append\"}];var Nt=/[\\\\^$.*+?()[\\]{}|]/g,Dt=RegExp(Nt.source);function Mt(e,t,n){return e.replace(new RegExp((s=t)&&Dt.test(s)?s.replace(Nt,\"\\\\$&\"):s,\"g\"),n);var s}const qt=\"none\",Ft=\"request\",Kt=\"response\",jt=\"both\";class $t{constructor({secretType:e,uniCloudIns:t}={}){this.clientType=\"\",this.secretType=e||qt,this.uniCloudIns=t;const{provider:n,spaceId:s}=this.uniCloudIns.config;var r;this.provider=n,this.spaceId=s,this.scopedGlobalCache=(r=this.uniCloudIns,L(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",r.config.spaceId)))}getSystemInfo(){return this._systemInfo||(this._systemInfo=ae()),this._systemInfo}get appId(){return this.getSystemInfo().appId}get deviceId(){return this.getSystemInfo().deviceId}async encryptData(e){return this.secretType===qt?e:this.platformEncryptData(e)}async decryptResult(e){if(this.secretType===qt)return e;const{errCode:t,content:n}=e||{};return t||!n?e:this.secretType===Ft?n:this.platformDecryptResult(e)}wrapVerifyClientCallFunction(e){const t=this;return async function({name:n,data:s={}}={}){await t.prepare(),(s=JSON.parse(JSON.stringify(s)))._uniCloudOptions=await t.platformGetSignOption();let r=await e({name:n,data:s});return t.isClientKeyNotFound(r)&&(await t.prepare({forceUpdate:!0}),s._uniCloudOptions=await t.platformGetSignOption(),r=await e({name:n,data:s})),r}}wrapEncryptDataCallFunction(e){const t=this;return async function({name:n,data:s={}}={}){await t.prepare();const r=await t.encryptData(s);let i=await e({name:n,data:r});if(t.isClientKeyNotFound(i)){await t.prepare({forceUpdate:!0});const r=await t.encryptData(s);s._uniCloudOptions=await t.platformGetSignOption(),i=await e({name:n,data:r})}return i.result=await t.decryptResult(i.result),i}}}\n/*! MIT License. Copyright 2015-2018 Richard Moore <me@ricmoo.com>. See LICENSE.txt. */function Bt(e){return parseInt(e)===e}function Wt(e){if(!Bt(e.length))return!1;for(var t=0;t<e.length;t++)if(!Bt(e[t])||e[t]<0||e[t]>255)return!1;return!0}function Ht(e,t){if(e.buffer&&\"Uint8Array\"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!Wt(e))throw new Error(\"Array contains invalid value: \"+e);return new Uint8Array(e)}if(Bt(e.length)&&Wt(e))return new Uint8Array(e);throw new Error(\"unsupported array-like object\")}function zt(e){return new Uint8Array(e)}function Jt(e,t,n,s,r){null==s&&null==r||(e=e.slice?e.slice(s,r):Array.prototype.slice.call(e,s,r)),t.set(e,n)}var Gt,Vt={toBytes:function(e){var t=[],n=0;for(e=encodeURI(e);n<e.length;){var s=e.charCodeAt(n++);37===s?(t.push(parseInt(e.substr(n,2),16)),n+=2):t.push(s)}return Ht(t)},fromBytes:function(e){for(var t=[],n=0;n<e.length;){var s=e[n];s<128?(t.push(String.fromCharCode(s)),n++):s>191&&s<224?(t.push(String.fromCharCode((31&s)<<6|63&e[n+1])),n+=2):(t.push(String.fromCharCode((15&s)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return t.join(\"\")}},Yt=(Gt=\"0123456789abcdef\",{toBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},fromBytes:function(e){for(var t=[],n=0;n<e.length;n++){var s=e[n];t.push(Gt[(240&s)>>4]+Gt[15&s])}return t.join(\"\")}}),Qt={16:10,24:12,32:14},Xt=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Zt=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],en=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],tn=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],nn=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],sn=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],rn=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],on=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],an=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],cn=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],un=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],hn=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],ln=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],dn=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],pn=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function fn(e){for(var t=[],n=0;n<e.length;n+=4)t.push(e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]);return t}class gn{constructor(e){if(!(this instanceof gn))throw Error(\"AES must be instanitated with `new`\");Object.defineProperty(this,\"key\",{value:Ht(e,!0)}),this._prepare()}_prepare(){var e=Qt[this.key.length];if(null==e)throw new Error(\"invalid key size (must be 16, 24 or 32 bytes)\");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var n,s=4*(e+1),r=this.key.length/4,i=fn(this.key);for(t=0;t<r;t++)n=t>>2,this._Ke[n][t%4]=i[t],this._Kd[e-n][t%4]=i[t];for(var o,a=0,c=r;c<s;){if(o=i[r-1],i[0]^=Zt[o>>16&255]<<24^Zt[o>>8&255]<<16^Zt[255&o]<<8^Zt[o>>24&255]^Xt[a]<<24,a+=1,8!=r)for(t=1;t<r;t++)i[t]^=i[t-1];else{for(t=1;t<r/2;t++)i[t]^=i[t-1];o=i[r/2-1],i[r/2]^=Zt[255&o]^Zt[o>>8&255]<<8^Zt[o>>16&255]<<16^Zt[o>>24&255]<<24;for(t=r/2+1;t<r;t++)i[t]^=i[t-1]}for(t=0;t<r&&c<s;)u=c>>2,h=c%4,this._Ke[u][h]=i[t],this._Kd[e-u][h]=i[t++],c++}for(var u=1;u<e;u++)for(var h=0;h<4;h++)o=this._Kd[u][h],this._Kd[u][h]=hn[o>>24&255]^ln[o>>16&255]^dn[o>>8&255]^pn[255&o]}encrypt(e){if(16!=e.length)throw new Error(\"invalid plaintext size (must be 16 bytes)\");for(var t=this._Ke.length-1,n=[0,0,0,0],s=fn(e),r=0;r<4;r++)s[r]^=this._Ke[0][r];for(var i=1;i<t;i++){for(r=0;r<4;r++)n[r]=tn[s[r]>>24&255]^nn[s[(r+1)%4]>>16&255]^sn[s[(r+2)%4]>>8&255]^rn[255&s[(r+3)%4]]^this._Ke[i][r];s=n.slice()}var o,a=zt(16);for(r=0;r<4;r++)o=this._Ke[t][r],a[4*r]=255&(Zt[s[r]>>24&255]^o>>24),a[4*r+1]=255&(Zt[s[(r+1)%4]>>16&255]^o>>16),a[4*r+2]=255&(Zt[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(Zt[255&s[(r+3)%4]]^o);return a}decrypt(e){if(16!=e.length)throw new Error(\"invalid ciphertext size (must be 16 bytes)\");for(var t=this._Kd.length-1,n=[0,0,0,0],s=fn(e),r=0;r<4;r++)s[r]^=this._Kd[0][r];for(var i=1;i<t;i++){for(r=0;r<4;r++)n[r]=on[s[r]>>24&255]^an[s[(r+3)%4]>>16&255]^cn[s[(r+2)%4]>>8&255]^un[255&s[(r+1)%4]]^this._Kd[i][r];s=n.slice()}var o,a=zt(16);for(r=0;r<4;r++)o=this._Kd[t][r],a[4*r]=255&(en[s[r]>>24&255]^o>>24),a[4*r+1]=255&(en[s[(r+3)%4]>>16&255]^o>>16),a[4*r+2]=255&(en[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(en[255&s[(r+1)%4]]^o);return a}}class mn{constructor(e){if(!(this instanceof mn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Electronic Code Block\",this.name=\"ecb\",this._aes=new gn(e)}encrypt(e){if((e=Ht(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=zt(e.length),n=zt(16),s=0;s<e.length;s+=16)Jt(e,n,0,s,s+16),Jt(n=this._aes.encrypt(n),t,s);return t}decrypt(e){if((e=Ht(e)).length%16!=0)throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");for(var t=zt(e.length),n=zt(16),s=0;s<e.length;s+=16)Jt(e,n,0,s,s+16),Jt(n=this._aes.decrypt(n),t,s);return t}}class yn{constructor(e,t){if(!(this instanceof yn))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Cipher Block Chaining\",this.name=\"cbc\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 bytes)\")}else t=zt(16);this._lastCipherblock=Ht(t,!0),this._aes=new gn(e)}encrypt(e){if((e=Ht(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=zt(e.length),n=zt(16),s=0;s<e.length;s+=16){Jt(e,n,0,s,s+16);for(var r=0;r<16;r++)n[r]^=this._lastCipherblock[r];this._lastCipherblock=this._aes.encrypt(n),Jt(this._lastCipherblock,t,s)}return t}decrypt(e){if((e=Ht(e)).length%16!=0)throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");for(var t=zt(e.length),n=zt(16),s=0;s<e.length;s+=16){Jt(e,n,0,s,s+16),n=this._aes.decrypt(n);for(var r=0;r<16;r++)t[s+r]=n[r]^this._lastCipherblock[r];Jt(e,this._lastCipherblock,0,s,s+16)}return t}}class _n{constructor(e,t,n){if(!(this instanceof _n))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Cipher Feedback\",this.name=\"cfb\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 size)\")}else t=zt(16);n||(n=1),this.segmentSize=n,this._shiftRegister=Ht(t,!0),this._aes=new gn(e)}encrypt(e){if(e.length%this.segmentSize!=0)throw new Error(\"invalid plaintext size (must be segmentSize bytes)\");for(var t,n=Ht(e,!0),s=0;s<n.length;s+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var r=0;r<this.segmentSize;r++)n[s+r]^=t[r];Jt(this._shiftRegister,this._shiftRegister,0,this.segmentSize),Jt(n,this._shiftRegister,16-this.segmentSize,s,s+this.segmentSize)}return n}decrypt(e){if(e.length%this.segmentSize!=0)throw new Error(\"invalid ciphertext size (must be segmentSize bytes)\");for(var t,n=Ht(e,!0),s=0;s<n.length;s+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var r=0;r<this.segmentSize;r++)n[s+r]^=t[r];Jt(this._shiftRegister,this._shiftRegister,0,this.segmentSize),Jt(e,this._shiftRegister,16-this.segmentSize,s,s+this.segmentSize)}return n}}class wn{constructor(e,t){if(!(this instanceof wn))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Output Feedback\",this.name=\"ofb\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 bytes)\")}else t=zt(16);this._lastPrecipher=Ht(t,!0),this._lastPrecipherIndex=16,this._aes=new gn(e)}encrypt(e){for(var t=Ht(e,!0),n=0;n<t.length;n++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[n]^=this._lastPrecipher[this._lastPrecipherIndex++];return t}decrypt(e){return this.encrypt(e)}}class vn{constructor(e){if(!(this instanceof vn))throw Error(\"Counter must be instanitated with `new`\");0===e||e||(e=1),\"number\"==typeof e?(this._counter=zt(16),this.setValue(e)):this.setBytes(e)}setValue(e){if(\"number\"!=typeof e||parseInt(e)!=e)throw new Error(\"invalid counter value (must be an integer)\");if(e>Number.MAX_SAFE_INTEGER)throw new Error(\"integer value out of safe range\");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)}setBytes(e){if(16!=(e=Ht(e,!0)).length)throw new Error(\"invalid counter bytes size (must be 16 bytes)\");this._counter=e}increment(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}}}class In{constructor(e,t){if(!(this instanceof In))throw Error(\"AES must be instanitated with `new`\");this.description=\"Counter\",this.name=\"ctr\",t instanceof vn||(t=new vn(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new gn(e)}encrypt(e){for(var t=Ht(e,!0),n=0;n<t.length;n++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[n]^=this._remainingCounter[this._remainingCounterIndex++];return t}decrypt(e){return this.encrypt(e)}}var Sn={AES:gn,Counter:vn,ModeOfOperation:{ecb:mn,cbc:yn,cfb:_n,ofb:wn,ctr:In},utils:{hex:Yt,utf8:Vt},padding:{pkcs7:{pad:function(e){var t=16-(e=Ht(e,!0)).length%16,n=zt(e.length+t);Jt(e,n);for(var s=e.length;s<n.length;s++)n[s]=t;return n},strip:function(e){if((e=Ht(e,!0)).length<16)throw new Error(\"PKCS#7 invalid length\");var t=e[e.length-1];if(t>16)throw new Error(\"PKCS#7 padding byte out of range\");for(var n=e.length-t,s=0;s<t;s++)if(e[n+s]!==t)throw new Error(\"PKCS#7 invalid padding byte\");var r=zt(n);return Jt(e,r,0,0,n),r}}},_arrayTest:{coerceArray:Ht,createArray:zt,copyArray:Jt}};function bn(e,t,n){const s=new Uint8Array(uni.base64ToArrayBuffer(t)),r=Sn.utils.utf8.toBytes(n),i=Sn.utils.utf8.toBytes(e),o=new Sn.ModeOfOperation.cbc(s,r),a=Sn.padding.pkcs7.pad(i),c=o.encrypt(a);return uni.arrayBufferToBase64(c)}const kn={code:2e4,message:\"System error\"},An={code:20101,message:\"Invalid client\"},Pn={code:20102,message:\"Get encrypt key failed\"},Tn={10001:\"Secure network is not supported on current playground or unimpsdk\",10003:\"Config missing in current app. If the problem pesist, please contact DCloud.\",10009:\"Encrypt payload failed\",10010:\"Decrypt response failed\"};function Cn(e){const{errSubject:t,subject:n,errCode:s,errMsg:r,code:i,message:o,cause:a}=e||{};return new te({subject:t||n||\"uni-secure-network\",code:s||i||kn.code,message:r||o,cause:a})}let xn,On,En=null;class Ln extends $t{constructor(e){super(e),this.clientType=\"mp-weixin\",this.userEncryptKey=null}isLogin(){return!!this.scopedGlobalCache.mpWeixinCode||!!this.scopedGlobalCache.mpWeixinOpenid}async prepare(){if(!this.isLogin()){if(!this.scopedGlobalCache.initPromise)throw new Error(\"`uniCloud.initSecureNetworkByWeixin` has not yet been called\");if(await this.scopedGlobalCache.initPromise,!this.isLogin())throw new Error(\"uniCloud.initSecureNetworkByWeixin` has not yet been called or successfully excuted\")}}async getUserEncryptKey(){if(this.userEncryptKey)return this.userEncryptKey;if(En&&En.expireTime){const e=Date.now();if(En.expireTime-e>0)return this.userEncryptKey=En,this.userEncryptKey}return new Promise(((e,t)=>{uni.getUserCryptoManager().getLatestUserKey({success:t=>{En=t,this.userEncryptKey=t,e(this.userEncryptKey)},fail:e=>{t(Cn({...Pn,cause:e}))}})}))}getWxAppId(){return wx.getAccountInfoSync().miniProgram.appId}async platformGetSignOption(){const{encryptKey:e,iv:t,version:n}=await this.getUserEncryptKey();return{verifyClientSign:bn(JSON.stringify({data:JSON.stringify({}),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ae().platform,timestamp:Date.now()}),e,t),encryptKeyId:n,mpWeixinCode:this.scopedGlobalCache.mpWeixinCode,mpWeixinOpenid:this.scopedGlobalCache.mpWeixinOpenid}}async platformEncryptData(e){const{encryptKey:t,iv:n,version:s}=await this.getUserEncryptKey(),r={secretType:this.secretType,encryptKeyId:s,mpWeixinCode:this.scopedGlobalCache.mpWeixinCode,mpWeixinOpenid:this.scopedGlobalCache.mpWeixinOpenid};return this.secretType===Kt?{content:e,_uniCloudOptions:r}:{content:bn(JSON.stringify({data:JSON.stringify(e),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ae().platform,timestamp:Date.now()}),t,n),_uniCloudOptions:r}}async platformDecryptResult(e){const{content:t}=e,{encryptKey:n,iv:s}=await this.getUserEncryptKey();return JSON.parse(function(e,t,n){const s=new Uint8Array(uni.base64ToArrayBuffer(e)),r=new Uint8Array(uni.base64ToArrayBuffer(t)),i=Sn.utils.utf8.toBytes(n),o=new Sn.ModeOfOperation.cbc(r,i),a=Sn.padding.pkcs7.strip(o.decrypt(s));return Sn.utils.utf8.fromBytes(a)}(t,n,s))}isClientKeyNotFound(){return!1}}function Rn(e){const t=[\"hasClientKey\",\"encryptGetClientKeyPayload\",\"setClientKey\",\"encrypt\",\"decrypt\"],n={};for(let s=0;s<t.length;s++){const r=t[s];n[r]=function(...t){return new Promise(((n,s)=>{\"function\"==typeof e[r]?e[r](...t,(function({type:e,data:t,errCode:r,errMsg:i,errSubject:o,message:a}={}){\"success\"===e?n(t):s(Cn({errCode:r,errMsg:Tn[r]||i||a,errSubject:o}))})):s(Cn({message:\"请检查manifest.json内是否开启安全网络模块,另外注意标准基座不支持安全网络模块\"}))}))}}return n}class Un extends $t{constructor(e){super(e),this.clientType=\"app\",this.appUtils={...Rn(uni.requireNativePlugin(\"plus\"))},this.systemInfo=xn||(xn=ae())}async hasClientKey(){return this._hasClientKey=await this.appUtils.hasClientKey({provider:this.provider,spaceId:this.spaceId}),this._hasClientKey}async getAppClientKey(){const{data:e,key:t}=await this.appUtils.encryptGetClientKeyPayload({data:JSON.stringify({})}),n=(await this.uniCloudIns.callFunction({name:\"DCloud-clientDB\",data:{redirectTo:\"encryption\",action:\"getAppClientKey\",data:e,key:t}})).result||{};if(0!==n.errCode)throw function(e){return new te({subject:e.errSubject||\"uni-secure-network\",code:e.errCode||e.code||kn.code,message:e.errMsg||e.message})}(n);const{clientKey:s,key:r}=n;await this.appUtils.setClientKey({provider:this.provider,spaceId:this.spaceId,clientKey:s,key:r})}async ensureClientKey({forceUpdate:e=!1}={}){if(!0!==await this.hasClientKey()||e)return e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus===l||!e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus!==p||(this.scopedGlobalCache.initPromise=this.getAppClientKey(),this.scopedGlobalCache.initPromise.then((e=>{this.scopedGlobalCache.initStatus=d})).catch((e=>{throw this.scopedGlobalCache.initStatus=p,e})),this.scopedGlobalCache.initStatus=l),this.scopedGlobalCache.initPromise}async prepare({forceUpdate:e=!1}={}){await this.ensureClientKey({forceUpdate:e})}async platformGetSignOption(){const{data:e,key:t}=await this.appUtils.encrypt({provider:this.provider,spaceId:this.spaceId,data:JSON.stringify({})});return{verifyClientSign:e,encryptKeyId:t}}async platformEncryptData(e){const{data:t,key:n}=await this.appUtils.encrypt({provider:this.provider,spaceId:this.spaceId,data:JSON.stringify(e)}),s={secretType:this.secretType,encryptKeyId:n};return this.secretType===Kt?{content:e,_uniCloudOptions:s}:{content:t,_uniCloudOptions:s}}async platformDecryptResult(e){const{content:t,_uniCloudOptions:n={}}=e,s=n.encryptKeyId,r=await this.appUtils.decrypt({provider:this.provider,spaceId:this.spaceId,data:t,key:s});return JSON.parse(r.data)}isClientKeyNotFound(e={}){const t=e.result||{};return 70009===t.errCode&&\"uni-secure-network\"===t.errSubject}}function Nn({secretType:e}={}){return e===Ft||e===Kt||e===jt}function Dn({name:e,data:t={}}={}){return\"app\"===P&&\"DCloud-clientDB\"===e&&\"encryption\"===t.redirectTo&&\"getAppClientKey\"===t.action}function Mn({provider:e,spaceId:t,functionName:n}={}){const{appId:s,uniPlatform:r,osName:i}=ae();let o=r;\"app\"===r&&(o=i);const a=function({provider:e,spaceId:t}={}){const n=A;if(!n)return{};e=function(e){return\"tencent\"===e?\"tcb\":e}(e);const s=n.find((n=>n.provider===e&&n.spaceId===t));return s&&s.config}({provider:e,spaceId:t});if(!a||!a.accessControl||!a.accessControl.enable)return!1;const c=a.accessControl.function||{},u=Object.keys(c);if(0===u.length)return!0;const h=function(e,t){let n,s,r;for(let i=0;i<e.length;i++){const o=e[i];o!==t?\"*\"!==o?o.split(\",\").map((e=>e.trim())).indexOf(t)>-1&&(s=o):r=o:n=o}return n||s||r}(u,n);if(!h)return!1;if((c[h]||[]).find(((e={})=>e.appId===s&&(e.platform||\"\").toLowerCase()===o.toLowerCase())))return!0;throw console.error(`此应用[appId: ${s}, platform: ${o}]不在云端配置的允许访问的应用列表内,参考:https://uniapp.dcloud.net.cn/uniCloud/secure-network.html#verify-client`),Cn(An)}function qn({functionName:e,result:t,logPvd:n}){if(S&&this.__dev__.debugLog&&t&&t.requestId){const s=JSON.stringify({spaceId:this.config.spaceId,functionName:e,requestId:t.requestId});console.log(`[${n}-request]${s}[/${n}-request]`)}}function Fn(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=Lt.call(e,{data:n.data});const r={aliyun:\"aliyun\",tencent:\"tcb\",tcb:\"tcb\",alipay:\"alipay\"}[this.config.provider],i=Nn(n),o=Dn(n),a=i||o;return t.call(this,n).then((e=>(e.errCode=0,!a&&qn.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(!a&&qn.call(this,{functionName:s,result:e,logPvd:r}),e&&e.message&&(e.message=function({message:e=\"\",extraInfo:t={},formatter:n=[]}={}){for(let s=0;s<n.length;s++){const{rule:r,content:i,mode:o}=n[s],a=e.match(r);if(!a)continue;let c=i;for(let e=1;e<a.length;e++)c=Mt(c,`{$${e}}`,a[e]);for(const e in t)c=Mt(c,`{${e}}`,t[e]);return\"replace\"===o?c:e+c}return e}({message:`[${n.name}]: ${e.message}`,formatter:Ut,extraInfo:{functionName:s}})),Promise.reject(e))))};e.callFunction=function(t){const{provider:s,spaceId:r}=e.config,i=t.name;let o,a;if(t.data=t.data||{},S&&e.__dev__.debugInfo&&!e.__dev__.debugInfo.forceRemote&&C?(e._callCloudFunction||(e._callCloudFunction=n,e._callLocalFunction=Rt),o=Rt):o=n,o=o.bind(e),Dn(t))a=n.call(e,t);else if(function({name:e,data:t={}}){return\"mp-weixin\"===P&&\"uni-id-co\"===e&&\"secureNetworkHandshakeByWeixin\"===t.method}(t))a=o.call(e,t);else if(Nn(t)){a=new On({secretType:t.secretType,uniCloudIns:e}).wrapEncryptDataCallFunction(n.bind(e))(t)}else if(Mn({provider:s,spaceId:r,functionName:i})){a=new On({secretType:t.secretType,uniCloudIns:e}).wrapVerifyClientCallFunction(n.bind(e))(t)}else a=o(t);return Object.defineProperty(a,\"result\",{get:()=>(console.warn(\"当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise\"),{})}),a.then((e=>(\"undefined\"!=typeof UTSJSONObject&&(e.result=new UTSJSONObject(e.result)),e)))}}On=\"mp-weixin\"!==P&&\"app\"!==P?class{constructor(){throw Cn({message:`Platform ${P} is not supported by secure network`})}}:k?\"mp-weixin\"===P?Ln:Un:class{constructor(){throw Cn({message:`Platform ${P} is not enabled, please check whether secure network module is enabled in your manifest.json`})}};const Kn=Symbol(\"CLIENT_DB_INTERNAL\");function jn(e,t){return e.then=\"DoNotReturnProxyWithAFunctionNamedThen\",e._internalType=Kn,e.inspect=null,e.__ob__=void 0,new Proxy(e,{get(e,n,s){if(\"_uniClient\"===n)return null;if(\"symbol\"==typeof n)return e[n];if(n in e||\"string\"!=typeof n){const t=e[n];return\"function\"==typeof t?t.bind(e):t}return t.get(e,n,s)}})}function $n(e){return{on:(t,n)=>{e[t]=e[t]||[],e[t].indexOf(n)>-1||e[t].push(n)},off:(t,n)=>{e[t]=e[t]||[];const s=e[t].indexOf(n);-1!==s&&e[t].splice(s,1)}}}const Bn=[\"db.Geo\",\"db.command\",\"command.aggregate\"];function Wn(e,t){return Bn.indexOf(`${e}.${t}`)>-1}function Hn(e){switch(f(e)){case\"array\":return e.map((e=>Hn(e)));case\"object\":return e._internalType===Kn||Object.keys(e).forEach((t=>{e[t]=Hn(e[t])})),e;case\"regexp\":return{$regexp:{source:e.source,flags:e.flags}};case\"date\":return{$date:e.toISOString()};default:return e}}function zn(e){return e&&e.content&&e.content.$method}class Jn{constructor(e,t,n){this.content=e,this.prevStage=t||null,this.udb=null,this._database=n}toJSON(){let e=this;const t=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((e=>({$method:e.$method,$param:Hn(e.$param)})))}}toString(){return JSON.stringify(this.toJSON())}getAction(){const e=this.toJSON().$db.find((e=>\"action\"===e.$method));return e&&e.$param&&e.$param[0]}getCommand(){return{$db:this.toJSON().$db.filter((e=>\"action\"!==e.$method))}}get isAggregate(){let e=this;for(;e;){const t=zn(e),n=zn(e.prevStage);if(\"aggregate\"===t&&\"collection\"===n||\"pipeline\"===t)return!0;e=e.prevStage}return!1}get isCommand(){let e=this;for(;e;){if(\"command\"===zn(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=zn(e),n=zn(e.prevStage);if(\"aggregate\"===t&&\"command\"===n)return!0;e=e.prevStage}return!1}getNextStageFn(e){const t=this;return function(){return Gn({$method:e,$param:Hn(Array.from(arguments))},t,t._database)}}get count(){return this.isAggregate?this.getNextStageFn(\"count\"):function(){return this._send(\"count\",Array.from(arguments))}}get remove(){return this.isCommand?this.getNextStageFn(\"remove\"):function(){return this._send(\"remove\",Array.from(arguments))}}get(){return this._send(\"get\",Array.from(arguments))}get add(){return this.isCommand?this.getNextStageFn(\"add\"):function(){return this._send(\"add\",Array.from(arguments))}}update(){return this._send(\"update\",Array.from(arguments))}end(){return this._send(\"end\",Array.from(arguments))}get set(){return this.isCommand?this.getNextStageFn(\"set\"):function(){throw new Error(\"JQL禁止使用set方法\")}}_send(e,t){const n=this.getAction(),s=this.getCommand();if(s.$db.push({$method:e,$param:Hn(t)}),S){const e=s.$db.find((e=>\"collection\"===e.$method)),t=e&&e.$param;t&&1===t.length&&\"string\"==typeof e.$param[0]&&e.$param[0].indexOf(\",\")>-1&&console.warn(\"检测到使用JQL语法联表查询时,未使用getTemp先过滤主表数据,在主表数据量大的情况下可能会查询缓慢。\\n- 如何优化请参考此文档:https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup-with-temp \\n- 如果主表数据量很小请忽略此信息,项目发行时不会出现此提示。\")}return this._database._callCloudFunction({action:n,command:s})}}function Gn(e,t,n){return jn(new Jn(e,t,n),{get(e,t){let s=\"db\";return e&&e.content&&(s=e.content.$method),Wn(s,t)?Gn({$method:t},e,n):function(){return Gn({$method:t,$param:Hn(Array.from(arguments))},e,n)}}})}function Vn({path:e,method:t}){return class{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map((e=>({$method:e}))),{$method:t,$param:this.param}]}}toString(){return JSON.stringify(this.toJSON())}}}function Yn(e,t={}){return jn(new e(t),{get:(e,t)=>Wn(\"db\",t)?Gn({$method:t},null,e):function(){return Gn({$method:t,$param:Hn(Array.from(arguments))},null,e)}})}class Qn extends class{constructor({uniClient:e={},isJQL:t=!1}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e._isDefault&&(this._dbCallBacks=L(\"_globalUniCloudDatabaseCallback\")),t||(this.auth=$n(this._authCallBacks)),this._isJQL=t,Object.assign(this,$n(this._dbCallBacks)),this.env=jn({},{get:(e,t)=>({$env:t})}),this.Geo=jn({},{get:(e,t)=>Vn({path:[\"Geo\"],method:t})}),this.serverDate=Vn({path:[],method:\"serverDate\"}),this.RegExp=Vn({path:[],method:\"RegExp\"})}getCloudEnv(e){if(\"string\"!=typeof e||!e.trim())throw new Error(\"getCloudEnv参数错误\");return{$env:e.replace(\"$cloudEnv_\",\"\")}}_callback(e,t){const n=this._dbCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}_callbackAuth(e,t){const n=this._authCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}multiSend(){const e=Array.from(arguments),t=e.map((e=>{const t=e.getAction(),n=e.getCommand();if(\"getTemp\"!==n.$db[n.$db.length-1].$method)throw new Error(\"multiSend只支持子命令内使用getTemp\");return{action:t,command:n}}));return this._callCloudFunction({multiCommand:t,queryList:e})}}{_parseResult(e){return this._isJQL?e.result:e}_callCloudFunction({action:e,command:t,multiCommand:n,queryList:s}){function r(e,t){if(n&&s)for(let n=0;n<s.length;n++){const r=s[n];r.udb&&\"function\"==typeof r.udb.setResult&&(t?r.udb.setResult(t):r.udb.setResult(e.result.dataList[n]))}}const i=this,o=this._isJQL?\"databaseForJQL\":\"database\";function a(e){return i._callback(\"error\",[e]),M(q(o,\"fail\"),e).then((()=>M(q(o,\"complete\"),e))).then((()=>(r(null,e),Y(j,{type:W,content:e}),Promise.reject(e))))}const c=M(q(o,\"invoke\")),u=this._uniClient;return c.then((()=>u.callFunction({name:\"DCloud-clientDB\",type:h,data:{action:e,command:t,multiCommand:n}}))).then((e=>{const{code:t,message:n,token:s,tokenExpired:c,systemInfo:u=[]}=e.result;if(u)for(let e=0;e<u.length;e++){const{level:t,message:n,detail:s}=u[e],r=console[\"app\"===P&&\"warn\"===t?\"error\":t]||console.log;let i=\"[System Info]\"+n;s&&(i=`${i}\\n详细信息:${s}`),r(i)}if(t){return a(new te({code:t,message:n,requestId:e.requestId}))}e.result.errCode=e.result.errCode||e.result.code,e.result.errMsg=e.result.errMsg||e.result.message,s&&c&&(re({token:s,tokenExpired:c}),this._callbackAuth(\"refreshToken\",[{token:s,tokenExpired:c}]),this._callback(\"refreshToken\",[{token:s,tokenExpired:c}]),Y(B,{token:s,tokenExpired:c}));const h=[{prop:\"affectedDocs\",tips:\"affectedDocs不再推荐使用,请使用inserted/deleted/updated/data.length替代\"},{prop:\"code\",tips:\"code不再推荐使用,请使用errCode替代\"},{prop:\"message\",tips:\"message不再推荐使用,请使用errMsg替代\"}];for(let t=0;t<h.length;t++){const{prop:n,tips:s}=h[t];if(n in e.result){const t=e.result[n];Object.defineProperty(e.result,n,{get:()=>(console.warn(s),t)})}}return function(e){return M(q(o,\"success\"),e).then((()=>M(q(o,\"complete\"),e))).then((()=>{r(e,null);const t=i._parseResult(e);return Y(j,{type:W,content:t}),Promise.resolve(t)}))}(e)}),(e=>{/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn(\"clientDB未初始化,请在web控制台保存一次schema以开启clientDB\");return a(new te({code:e.code||\"SYSTEM_ERROR\",message:e.message,requestId:e.requestId}))}))}}const Xn=\"token无效,跳转登录页面\",Zn=\"token过期,跳转登录页面\",es={TOKEN_INVALID_TOKEN_EXPIRED:Zn,TOKEN_INVALID_INVALID_CLIENTID:Xn,TOKEN_INVALID:Xn,TOKEN_INVALID_WRONG_TOKEN:Xn,TOKEN_INVALID_ANONYMOUS_USER:Xn},ts={\"uni-id-token-expired\":Zn,\"uni-id-check-token-failed\":Xn,\"uni-id-token-not-exist\":Xn,\"uni-id-check-device-feature-failed\":Xn};function ns(e,t){let n=\"\";return n=e?`${e}/${t}`:t,n.replace(/^\\//,\"\")}function ss(e=[],t=\"\"){const n=[],s=[];return e.forEach((e=>{!0===e.needLogin?n.push(ns(t,e.path)):!1===e.needLogin&&s.push(ns(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function rs(e){return e.split(\"?\")[0].replace(/^\\//,\"\")}function is(){return function(e){let t=e&&e.$page&&e.$page.fullPath||\"\";return t?(\"/\"!==t.charAt(0)&&(t=\"/\"+t),t):t}(function(){const e=getCurrentPages();return e[e.length-1]}())}function os(){return rs(is())}function as(e=\"\",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=rs(e);return n.some((e=>e.pagePath===s))}const cs=!!e.uniIdRouter;const{loginPage:us,routerNeedLogin:hs,resToLogin:ls,needLoginPage:ds,notNeedLoginPage:ps,loginPageInTabBar:fs}=function({pages:t=[],subPackages:n=[],uniIdRouter:s={},tabBar:r={}}=e){const{loginPage:i,needLogin:o=[],resToLogin:a=!0}=s,{needLoginPage:c,notNeedLoginPage:u}=ss(t),{needLoginPage:h,notNeedLoginPage:l}=function(e=[]){const t=[],n=[];return e.forEach((e=>{const{root:s,pages:r=[]}=e,{needLoginPage:i,notNeedLoginPage:o}=ss(r,s);t.push(...i),n.push(...o)})),{needLoginPage:t,notNeedLoginPage:n}}(n);return{loginPage:i,routerNeedLogin:o,resToLogin:a,needLoginPage:[...c,...h],notNeedLoginPage:[...u,...l],loginPageInTabBar:as(i,r)}}();if(ds.indexOf(us)>-1)throw new Error(`Login page [${us}] should not be \"needLogin\", please check your pages.json`);function gs(e){const t=os();if(\"/\"===e.charAt(0))return e;const[n,s]=e.split(\"?\"),r=n.replace(/^\\//,\"\").split(\"/\"),i=t.split(\"/\");i.pop();for(let e=0;e<r.length;e++){const t=r[e];\"..\"===t?i.pop():\".\"!==t&&i.push(t)}return\"\"===i[0]&&i.shift(),\"/\"+i.join(\"/\")+(s?\"?\"+s:\"\")}function ms(e){const t=rs(gs(e));return!(ps.indexOf(t)>-1)&&(ds.indexOf(t)>-1||hs.some((t=>function(e,t){return new RegExp(t).test(e)}(e,t))))}function ys({redirect:e}){const t=rs(e),n=rs(us);return os()!==n&&t!==n}function _s({api:e,redirect:t}={}){if(!t||!ys({redirect:t}))return;const n=function(e,t){return\"/\"!==e.charAt(0)&&(e=\"/\"+e),t?e.indexOf(\"?\")>-1?e+`&uniIdRedirectUrl=${encodeURIComponent(t)}`:e+`?uniIdRedirectUrl=${encodeURIComponent(t)}`:e}(us,t);fs?\"navigateTo\"!==e&&\"redirectTo\"!==e||(e=\"switchTab\"):\"switchTab\"===e&&(e=\"navigateTo\");const s={navigateTo:uni.navigateTo,redirectTo:uni.redirectTo,switchTab:uni.switchTab,reLaunch:uni.reLaunch};setTimeout((()=>{s[e]({url:n})}))}function ws({url:e}={}){const t={abortLoginPageJump:!1,autoToLoginPage:!1},n=function(){const{token:e,tokenExpired:t}=se();let n;if(e){if(t<Date.now()){const e=\"uni-id-token-expired\";n={errCode:e,errMsg:ts[e]}}}else{const e=\"uni-id-check-token-failed\";n={errCode:e,errMsg:ts[e]}}return n}();if(ms(e)&&n){n.uniIdRedirectUrl=e;if(J($).length>0)return setTimeout((()=>{Y($,n)}),0),t.abortLoginPageJump=!0,t;t.autoToLoginPage=!0}return t}function vs(){!function(){const e=is(),{abortLoginPageJump:t,autoToLoginPage:n}=ws({url:e});t||n&&_s({api:\"redirectTo\",redirect:e})}();const e=[\"navigateTo\",\"redirectTo\",\"reLaunch\",\"switchTab\"];for(let t=0;t<e.length;t++){const n=e[t];uni.addInterceptor(n,{invoke(e){const{abortLoginPageJump:t,autoToLoginPage:s}=ws({url:e.url});return t?e:s?(_s({api:n,redirect:gs(e.url)}),!1):e}})}}function Is(){this.onResponse((e=>{const{type:t,content:n}=e;let s=!1;switch(t){case\"cloudobject\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in ts}(n);break;case\"clientdb\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in es}(n)}s&&function(e={}){const t=J($);Z().then((()=>{const n=is();if(n&&ys({redirect:n}))return t.length>0?Y($,Object.assign({uniIdRedirectUrl:n},e)):void(us&&_s({api:\"navigateTo\",redirect:n}))}))}(n)}))}function Ss(e){!function(e){e.onResponse=function(e){G(j,e)},e.offResponse=function(e){V(j,e)}}(e),function(e){e.onNeedLogin=function(e){G($,e)},e.offNeedLogin=function(e){V($,e)},cs&&(L(\"_globalUniCloudStatus\").needLoginInit||(L(\"_globalUniCloudStatus\").needLoginInit=!0,Z().then((()=>{vs.call(e)})),ls&&Is.call(e)))}(e),function(e){e.onRefreshToken=function(e){G(B,e)},e.offRefreshToken=function(e){V(B,e)}}(e)}let bs;const ks=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",As=/^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;function Ps(){const e=se().token||\"\",t=e.split(\".\");if(!e||3!==t.length)return{uid:null,role:[],permission:[],tokenExpired:0};let n;try{n=JSON.parse((s=t[1],decodeURIComponent(bs(s).split(\"\").map((function(e){return\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))))}catch(e){throw new Error(\"获取当前用户信息出错,详细错误信息为:\"+e.message)}var s;return n.tokenExpired=1e3*n.exp,delete n.exp,delete n.iat,n}bs=\"function\"!=typeof atob?function(e){if(e=String(e).replace(/[\\t\\n\\f\\r ]+/g,\"\"),!As.test(e))throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\");var t;e+=\"==\".slice(2-(3&e.length));for(var n,s,r=\"\",i=0;i<e.length;)t=ks.indexOf(e.charAt(i++))<<18|ks.indexOf(e.charAt(i++))<<12|(n=ks.indexOf(e.charAt(i++)))<<6|(s=ks.indexOf(e.charAt(i++))),r+=64===n?String.fromCharCode(t>>16&255):64===s?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}:atob;var Ts=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=\"chooseAndUploadFile:ok\",s=\"chooseAndUploadFile:fail\";function r(e,t){return e.tempFiles.forEach(((e,n)=>{e.name||(e.name=e.path.substring(e.path.lastIndexOf(\"/\")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+\"_\"+n+e.name.substring(e.name.lastIndexOf(\".\"))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((e=>e.path))),e}function i(e,t,{onChooseFile:s,onUploadProgress:r}){return t.then((e=>{if(s){const t=s(e);if(void 0!==t)return Promise.resolve(t).then((t=>void 0===t?e:t))}return e})).then((t=>!1===t?{errMsg:n,tempFilePaths:[],tempFiles:[]}:function(e,t,s=5,r){(t=Object.assign({},t)).errMsg=n;const i=t.tempFiles,o=i.length;let a=0;return new Promise((n=>{for(;a<s;)c();function c(){const s=a++;if(s>=o)return void(!i.find((e=>!e.url&&!e.errMsg))&&n(t));const u=i[s];e.uploadFile({provider:u.provider,filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,cloudPathAsRealPath:u.cloudPathAsRealPath,onUploadProgress(e){e.index=s,e.tempFile=u,e.tempFilePath=u.path,r&&r(e)}}).then((e=>{u.url=e.fileID,s<o&&c()})).catch((e=>{u.errMsg=e.errMsg||e.message,s<o&&c()}))}}))}(e,t,5,r)))}t.initChooseAndUploadFile=function(e){return function(t={type:\"all\"}){return\"image\"===t.type?i(e,function(e){const{count:t,sizeType:n,sourceType:i=[\"album\",\"camera\"],extension:o}=e;return new Promise(((e,a)=>{uni.chooseImage({count:t,sizeType:n,sourceType:i,extension:o,success(t){e(r(t,\"image\"))},fail(e){a({errMsg:e.errMsg.replace(\"chooseImage:fail\",s)})}})}))}(t),t):\"video\"===t.type?i(e,function(e){const{camera:t,compressed:n,maxDuration:i,sourceType:o=[\"album\",\"camera\"],extension:a}=e;return new Promise(((e,c)=>{uni.chooseVideo({camera:t,compressed:n,maxDuration:i,sourceType:o,extension:a,success(t){const{tempFilePath:n,duration:s,size:i,height:o,width:a}=t;e(r({errMsg:\"chooseVideo:ok\",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||\"\",path:n,size:i,type:t.tempFile&&t.tempFile.type||\"\",width:a,height:o,duration:s,fileType:\"video\",cloudPath:\"\"}]},\"video\"))},fail(e){c({errMsg:e.errMsg.replace(\"chooseVideo:fail\",s)})}})}))}(t),t):i(e,function(e){const{count:t,extension:n}=e;return new Promise(((e,i)=>{let o=uni.chooseFile;if(\"undefined\"!=typeof wx&&\"function\"==typeof wx.chooseMessageFile&&(o=wx.chooseMessageFile),\"function\"!=typeof o)return i({errMsg:s+\" 请指定 type 类型,该平台仅支持选择 image 或 video。\"});o({type:\"all\",count:t,extension:n,success(t){e(r(t))},fail(e){i({errMsg:e.errMsg.replace(\"chooseFile:fail\",s)})}})}))}(t),t)}}})),Cs=t(Ts);const xs=\"manual\";function Os(e){return{props:{localdata:{type:Array,default:()=>[]},options:{type:[Object,Array],default:()=>({})},spaceInfo:{type:Object,default:()=>({})},collection:{type:[String,Array],default:\"\"},action:{type:String,default:\"\"},field:{type:String,default:\"\"},orderby:{type:String,default:\"\"},where:{type:[String,Object],default:\"\"},pageData:{type:String,default:\"add\"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},gettreepath:{type:[Boolean,String],default:!1},startwith:{type:String,default:\"\"},limitlevel:{type:Number,default:10},groupby:{type:String,default:\"\"},groupField:{type:String,default:\"\"},distinct:{type:[Boolean,String],default:!1},foreignKey:{type:String,default:\"\"},loadtime:{type:String,default:\"auto\"},manual:{type:Boolean,default:!1}},data:()=>({mixinDatacomLoading:!1,mixinDatacomHasMore:!1,mixinDatacomResData:[],mixinDatacomErrorMessage:\"\",mixinDatacomPage:{},mixinDatacomError:null}),created(){this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((()=>{var e=[];return[\"pageCurrent\",\"pageSize\",\"localdata\",\"collection\",\"action\",\"field\",\"orderby\",\"where\",\"getont\",\"getcount\",\"gettree\",\"groupby\",\"groupField\",\"distinct\"].forEach((t=>{e.push(this[t])})),e}),((e,t)=>{if(this.loadtime===xs)return;let n=!1;const s=[];for(let r=2;r<e.length;r++)e[r]!==t[r]&&(s.push(e[r]),n=!0);e[0]!==t[0]&&(this.mixinDatacomPage.current=this.pageCurrent),this.mixinDatacomPage.size=this.pageSize,this.onMixinDatacomPropsChange(n,s)}))},methods:{onMixinDatacomPropsChange(e,t){},mixinDatacomEasyGet({getone:e=!1,success:t,fail:n}={}){this.mixinDatacomLoading||(this.mixinDatacomLoading=!0,this.mixinDatacomErrorMessage=\"\",this.mixinDatacomError=null,this.mixinDatacomGet().then((n=>{this.mixinDatacomLoading=!1;const{data:s,count:r}=n.result;this.getcount&&(this.mixinDatacomPage.count=r),this.mixinDatacomHasMore=s.length<this.pageSize;const i=e?s.length?s[0]:void 0:s;this.mixinDatacomResData=i,t&&t(i)})).catch((e=>{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,this.mixinDatacomError=e,n&&n(e)})))},mixinDatacomGet(t={}){let n;t=t||{},n=\"undefined\"!=typeof __uniX&&__uniX?e.databaseForJQL(this.spaceInfo):e.database(this.spaceInfo);const s=t.action||this.action;s&&(n=n.action(s));const r=t.collection||this.collection;n=Array.isArray(r)?n.collection(...r):n.collection(r);const i=t.where||this.where;i&&Object.keys(i).length&&(n=n.where(i));const o=t.field||this.field;o&&(n=n.field(o));const a=t.foreignKey||this.foreignKey;a&&(n=n.foreignKey(a));const c=t.groupby||this.groupby;c&&(n=n.groupBy(c));const u=t.groupField||this.groupField;u&&(n=n.groupField(u));!0===(void 0!==t.distinct?t.distinct:this.distinct)&&(n=n.distinct());const h=t.orderby||this.orderby;h&&(n=n.orderBy(h));const l=void 0!==t.pageCurrent?t.pageCurrent:this.mixinDatacomPage.current,d=void 0!==t.pageSize?t.pageSize:this.mixinDatacomPage.size,p=void 0!==t.getcount?t.getcount:this.getcount,f=void 0!==t.gettree?t.gettree:this.gettree,g=void 0!==t.gettreepath?t.gettreepath:this.gettreepath,m={getCount:p},y={limitLevel:void 0!==t.limitlevel?t.limitlevel:this.limitlevel,startWith:void 0!==t.startwith?t.startwith:this.startwith};return f&&(m.getTree=y),g&&(m.getTreePath=y),n=n.skip(d*(l-1)).limit(d).get(m),n}}}}function Es(e){return function(t,n={}){n=function(e,t={}){return e.customUI=t.customUI||e.customUI,e.parseSystemError=t.parseSystemError||e.parseSystemError,Object.assign(e.loadingOptions,t.loadingOptions),Object.assign(e.errorOptions,t.errorOptions),\"object\"==typeof t.secretMethods&&(e.secretMethods=t.secretMethods),e}({customUI:!1,loadingOptions:{title:\"加载中...\",mask:!0},errorOptions:{type:\"modal\",retry:!1}},n);const{customUI:s,loadingOptions:r,errorOptions:i,parseSystemError:o}=n,a=!s;return new Proxy({},{get(s,c){switch(c){case\"toString\":return\"[object UniCloudObject]\";case\"toJSON\":return{}}return function({fn:e,interceptorName:t,getCallbackArgs:n}={}){return async function(...s){const r=n?n({params:s}):{};let i,o;try{return await M(q(t,\"invoke\"),{...r}),i=await e(...s),await M(q(t,\"success\"),{...r,result:i}),i}catch(e){throw o=e,await M(q(t,\"fail\"),{...r,error:o}),o}finally{await M(q(t,\"complete\"),o?{...r,error:o}:{...r,result:i})}}}({fn:async function s(...h){let l;a&&uni.showLoading({title:r.title,mask:r.mask});const d={name:t,type:u,data:{method:c,params:h}};\"object\"==typeof n.secretMethods&&function(e,t){const n=t.data.method,s=e.secretMethods||{},r=s[n]||s[\"*\"];r&&(t.secretType=r)}(n,d);let p=!1;try{l=await e.callFunction(d)}catch(e){p=!0,l={result:new te(e)}}const{errSubject:f,errCode:g,errMsg:m,newToken:y}=l.result||{};if(a&&uni.hideLoading(),y&&y.token&&y.tokenExpired&&(re(y),Y(B,{...y})),g){let e=m;if(p&&o){e=(await o({objectName:t,methodName:c,params:h,errSubject:f,errCode:g,errMsg:m})).errMsg||m}if(a)if(\"toast\"===i.type)uni.showToast({title:e,icon:\"none\"});else{if(\"modal\"!==i.type)throw new Error(`Invalid errorOptions.type: ${i.type}`);{const{confirm:t}=await async function({title:e,content:t,showCancel:n,cancelText:s,confirmText:r}={}){return new Promise(((i,o)=>{uni.showModal({title:e,content:t,showCancel:n,cancelText:s,confirmText:r,success(e){i(e)},fail(){i({confirm:!1,cancel:!0})}})}))}({title:\"提示\",content:e,showCancel:i.retry,cancelText:\"取消\",confirmText:i.retry?\"重试\":\"确定\"});if(i.retry&&t)return s(...h)}}const n=new te({subject:f,code:g,message:m,requestId:l.requestId});throw n.detail=l.result,Y(j,{type:z,content:n}),n}return Y(j,{type:z,content:l.result}),l.result},interceptorName:\"callObject\",getCallbackArgs:function({params:e}={}){return{objectName:t,methodName:c,params:e}}})}})}}function Ls(e){return L(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",e.config.spaceId))}async function Rs({openid:e,callLoginByWeixin:t=!1}={}){const n=Ls(this);if(\"mp-weixin\"!==P)throw new Error(`[SecureNetwork] API \\`initSecureNetworkByWeixin\\` is not supported on platform \\`${P}\\``);if(e&&t)throw new Error(\"[SecureNetwork] openid and callLoginByWeixin cannot be passed at the same time\");if(e)return n.mpWeixinOpenid=e,{};const s=await new Promise(((e,t)=>{uni.login({success(t){e(t.code)},fail(e){t(new Error(e.errMsg))}})})),r=this.importObject(\"uni-id-co\",{customUI:!0});return await r.secureNetworkHandshakeByWeixin({code:s,callLoginByWeixin:t}),n.mpWeixinCode=s,{code:s}}async function Us(e){const t=Ls(this);return t.initPromise||(t.initPromise=Rs.call(this,e).then((e=>e)).catch((e=>{throw delete t.initPromise,e}))),t.initPromise}function Ns(e){return function({openid:t,callLoginByWeixin:n=!1}={}){return Us.call(e,{openid:t,callLoginByWeixin:n})}}function Ds(e){const t={getSystemInfo:uni.getSystemInfo,getPushClientId:uni.getPushClientId};return function(n){return new Promise(((s,r)=>{t[e]({...n,success(e){s(e)},fail(e){r(e)}})}))}}class Ms extends class{constructor(){this._callback={}}addListener(e,t){this._callback[e]||(this._callback[e]=[]),this._callback[e].push(t)}on(e,t){return this.addListener(e,t)}removeListener(e,t){if(!t)throw new Error('The \"listener\" argument must be of type function. Received undefined');const n=this._callback[e];if(!n)return;const s=function(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]===t)return n;return-1}(n,t);n.splice(s,1)}off(e,t){return this.removeListener(e,t)}removeAllListener(e){delete this._callback[e]}emit(e,...t){const n=this._callback[e];if(n)for(let e=0;e<n.length;e++)n[e](...t)}}{constructor(){super(),this._uniPushMessageCallback=this._receivePushMessage.bind(this),this._currentMessageId=-1,this._payloadQueue=[]}init(){return Promise.all([Ds(\"getSystemInfo\")(),Ds(\"getPushClientId\")()]).then((([{appId:e}={},{cid:t}={}]=[])=>{if(!e)throw new Error(\"Invalid appId, please check the manifest.json file\");if(!t)throw new Error(\"Invalid push client id\");this._appId=e,this._pushClientId=t,this._seqId=Date.now()+\"-\"+Math.floor(9e5*Math.random()+1e5),this.emit(\"open\"),this._initMessageListener()}),(e=>{throw this.emit(\"error\",e),this.close(),e}))}async open(){return this.init()}_isUniCloudSSE(e){if(\"receive\"!==e.type)return!1;const t=e&&e.data&&e.data.payload;return!(!t||\"UNI_CLOUD_SSE\"!==t.channel||t.seqId!==this._seqId)}_receivePushMessage(e){if(!this._isUniCloudSSE(e))return;const t=e&&e.data&&e.data.payload,{action:n,messageId:s,message:r}=t;this._payloadQueue.push({action:n,messageId:s,message:r}),this._consumMessage()}_consumMessage(){for(;;){const e=this._payloadQueue.find((e=>e.messageId===this._currentMessageId+1));if(!e)break;this._currentMessageId++,this._parseMessagePayload(e)}}_parseMessagePayload(e){const{action:t,messageId:n,message:s}=e;\"end\"===t?this._end({messageId:n,message:s}):\"message\"===t&&this._appendMessage({messageId:n,message:s})}_appendMessage({messageId:e,message:t}={}){this.emit(\"message\",t)}_end({messageId:e,message:t}={}){this.emit(\"end\",t),this.close()}_initMessageListener(){uni.onPushMessage(this._uniPushMessageCallback)}_destroy(){uni.offPushMessage(this._uniPushMessageCallback)}toJSON(){return{appId:this._appId,pushClientId:this._pushClientId,seqId:this._seqId}}close(){this._destroy(),this.emit(\"close\")}}async function qs(e,t){const n=`http://${e}:${t}/system/ping`;try{const e=await(s={url:n,timeout:500},new Promise(((e,t)=>{ne.request({...s,success(t){e(t)},fail(e){t(e)}})})));return!(!e.data||0!==e.data.code)}catch(e){return!1}var s}async function Fs(e){if(!S)return Promise.resolve();if(\"app\"===P){const{osName:e,osVersion:t}=ae();\"ios\"===e&&function(e){if(!e||\"string\"!=typeof e)return 0;const t=e.match(/^(\\d+)./);return t&&t[1]?parseInt(t[1]):0}(t)>=14&&console.warn(\"iOS 14及以上版本连接uniCloud本地调试服务需要允许客户端查找并连接到本地网络上的设备(仅开发模式生效,发行模式会连接uniCloud云端服务)\")}const t=e.__dev__;if(!t.debugInfo)return;const{address:n,servePort:s}=t.debugInfo,{address:r}=await async function(e,t){let n;for(let s=0;s<e.length;s++){const r=e[s];if(await qs(r,t)){n=r;break}}return{address:n,port:t}}(n,s);if(r)return t.localAddress=r,void(t.localPort=s);const i=console[\"app\"===P?\"error\":\"warn\"];let o=\"\";if(\"remote\"===t.debugInfo.initialLaunchType?(t.debugInfo.forceRemote=!0,o=\"当前客户端和HBuilderX不在同一局域网下(或其他网络原因无法连接HBuilderX),uniCloud本地调试服务不对当前客户端生效。\\n- 如果不使用uniCloud本地调试服务,请直接忽略此信息。\\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\"):o=\"无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。\\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\",o+=\"\\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs\\n- 检查是否错误的使用拦截器修改uni.request方法的参数\",\"web\"===P&&(o+=\"\\n- 部分浏览器开启节流模式之后访问本地地址受限,请检查是否启用了节流模式\"),0===P.indexOf(\"mp-\")&&(o+=\"\\n- 小程序中如何使用uniCloud,请参考:https://uniapp.dcloud.net.cn/uniCloud/publish.html#useinmp\"),!t.debugInfo.forceRemote)throw new Error(o);i(o)}function Ks(e){e._initPromiseHub||(e._initPromiseHub=new v({createPromise:function(){let t=Promise.resolve();var n;n=1,t=new Promise((e=>{setTimeout((()=>{e()}),n)}));const s=e.auth();return t.then((()=>s.getLoginState())).then((e=>e?Promise.resolve():s.signInAnonymously()))}}))}const js={tcb:It,tencent:It,aliyun:de,private:bt,alipay:Et};let $s=new class{init(e){let t={};const n=js[e.provider];if(!n)throw new Error(\"未提供正确的provider参数\");t=n.init(e),S&&function(e){if(!S)return;const t={};e.__dev__=t,t.debugLog=S&&(\"web\"===P&&navigator.userAgent.indexOf(\"HBuilderX\")>0||\"app\"===P);const n=T;n&&!n.code&&(t.debugInfo=n);const s=new v({createPromise:function(){return Fs(e)}});t.initLocalNetwork=function(){return s.exec()}}(t),Ks(t),Fn(t),function(e){const t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(t),function(e){e.database=function(t){if(t&&Object.keys(t).length>0)return e.init(t).database();if(this._database)return this._database;const n=Yn(Qn,{uniClient:e});return this._database=n,n},e.databaseForJQL=function(t){if(t&&Object.keys(t).length>0)return e.init(t).databaseForJQL();if(this._databaseForJQL)return this._databaseForJQL;const n=Yn(Qn,{uniClient:e,isJQL:!0});return this._databaseForJQL=n,n}}(t),function(e){e.getCurrentUserInfo=Ps,e.chooseAndUploadFile=Cs.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return Os(e)}}),e.SSEChannel=Ms,e.initSecureNetworkByWeixin=Ns(e),e.importObject=Es(e)}(t);return[\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"chooseAndUploadFile\"].forEach((e=>{if(!t[e])return;const n=t[e];t[e]=function(){return n.apply(t,Array.from(arguments))},t[e]=function(e,t){return function(n){let s=!1;if(\"callFunction\"===t){const e=n&&n.type||c;s=e!==c}const r=\"callFunction\"===t&&!s,i=this._initPromiseHub.exec();n=n||{};const{success:o,fail:a,complete:u}=ee(n),h=i.then((()=>s?Promise.resolve():M(q(t,\"invoke\"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):M(q(t,\"success\"),e).then((()=>M(q(t,\"complete\"),e))).then((()=>(r&&Y(j,{type:H,content:e}),Promise.resolve(e))))),(e=>s?Promise.reject(e):M(q(t,\"fail\"),e).then((()=>M(q(t,\"complete\"),e))).then((()=>(Y(j,{type:H,content:e}),Promise.reject(e))))));if(!(o||a||u))return h;h.then((e=>{o&&o(e),u&&u(e),r&&Y(j,{type:H,content:e})}),(e=>{a&&a(e),u&&u(e),r&&Y(j,{type:H,content:e})}))}}(t[e],e).bind(t)})),t.init=this.init,t}};(()=>{const e=C;let t={};if(e&&1===e.length)t=e[0],$s=$s.init(t),$s._isDefault=!0;else{const t=[\"auth\",\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"database\",\"getCurrentUSerInfo\",\"importObject\"];let n;n=e&&e.length>0?\"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间\":x?\"应用未关联服务空间,请在uniCloud目录右键关联服务空间\":\"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间\",t.forEach((e=>{$s[e]=function(){return console.error(n),Promise.reject(new te({code:\"SYS_ERR\",message:n}))}}))}Object.assign($s,{get mixinDatacom(){return Os($s)}}),Ss($s),$s.addInterceptor=N,$s.removeInterceptor=D,$s.interceptObject=F,S&&\"web\"===P&&(window.uniCloud=$s)})();var Bs=$s;export{Bs as default};\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _wrapNativeSuper(Class);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default {\"appid\":\"__UNI__BAD00EF\"}","'use strict';\r\n\r\nconst ERR_MSG_OK = 'chooseAndUploadFile:ok';\r\nconst ERR_MSG_FAIL = 'chooseAndUploadFile:fail';\r\n\r\nfunction chooseImage(opts) {\r\n\tconst {\r\n\t\tcount,\r\n\t\tsizeType = ['original', 'compressed'],\r\n\t\tsourceType,\r\n\t\textension\r\n\t} = opts\r\n\treturn new Promise((resolve, reject) => {\r\n\t\t// 微信由于旧接口不再维护,针对微信小程序平台改用chooseMedia接口\r\n\r\n\t\tuni.chooseMedia({\r\n\t\t\tcount,\r\n\t\t\tsizeType,\r\n\t\t\tsourceType,\r\n\t\t\tmediaType: ['image'],\r\n\t\t\textension,\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tres.tempFiles.forEach(item => {\r\n\t\t\t\t\titem.path = item.tempFilePath;\r\n\t\t\t\t})\r\n\t\t\t\tresolve(normalizeChooseAndUploadFileRes(res, 'image'));\r\n\t\t\t},\r\n\t\t\tfail(res) {\r\n\t\t\t\treject({\r\n\t\t\t\t\terrMsg: res.errMsg.replace('chooseImage:fail', ERR_MSG_FAIL),\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t})\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t});\r\n}\r\n\r\nfunction chooseVideo(opts) {\r\n\tconst {\r\n\t\tcount,\r\n\t\tcamera,\r\n\t\tcompressed,\r\n\t\tmaxDuration,\r\n\t\tsourceType,\r\n\t\textension\r\n\t} = opts;\r\n\treturn new Promise((resolve, reject) => {\r\n\t\t// 微信由于旧接口不再维护,针对微信小程序平台改用chooseMedia接口\r\n\r\n\t\tuni.chooseMedia({\r\n\t\t\tcount,\r\n\t\t\tcompressed,\r\n\t\t\tmaxDuration,\r\n\t\t\tsourceType,\r\n\t\t\textension,\r\n\t\t\tmediaType: ['video'],\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tconst {\r\n\t\t\t\t\ttempFiles,\r\n\t\t\t\t} = res;\r\n\t\t\t\tresolve(normalizeChooseAndUploadFileRes({\r\n\t\t\t\t\terrMsg: 'chooseVideo:ok',\r\n\t\t\t\t\ttempFiles: tempFiles.map(item => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tname: item.name || '',\r\n\t\t\t\t\t\t\tpath: item.tempFilePath,\r\n\t\t\t\t\t\t\tthumbTempFilePath: item.thumbTempFilePath,\r\n\t\t\t\t\t\t\tsize:item.size,\r\n\t\t\t\t\t\t\ttype: (res.tempFile && res.tempFile.type) || '',\r\n\t\t\t\t\t\t\twidth:item.width,\r\n\t\t\t\t\t\t\theight:item.height,\r\n\t\t\t\t\t\t\tduration:item.duration,\r\n\t\t\t\t\t\t\tfileType: 'video',\r\n\t\t\t\t\t\t\tcloudPath: '',\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}),\r\n\t\t\t\t}, 'video'));\r\n\t\t\t},\r\n\t\t\tfail(res) {\r\n\t\t\t\treject({\r\n\t\t\t\t\terrMsg: res.errMsg.replace('chooseVideo:fail', ERR_MSG_FAIL),\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t})\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t});\r\n}\r\n\r\nfunction chooseAll(opts) {\r\n\tconst {\r\n\t\tcount,\r\n\t\textension\r\n\t} = opts;\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tlet chooseFile = uni.chooseFile;\r\n\t\tif (typeof wx !== 'undefined' &&\r\n\t\t\ttypeof wx.chooseMessageFile === 'function') {\r\n\t\t\tchooseFile = wx.chooseMessageFile;\r\n\t\t}\r\n\t\tif (typeof chooseFile !== 'function') {\r\n\t\t\treturn reject({\r\n\t\t\t\terrMsg: ERR_MSG_FAIL + ' 请指定 type 类型,该平台仅支持选择 image 或 video。',\r\n\t\t\t});\r\n\t\t}\r\n\t\tchooseFile({\r\n\t\t\ttype: 'all',\r\n\t\t\tcount,\r\n\t\t\textension,\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tresolve(normalizeChooseAndUploadFileRes(res));\r\n\t\t\t},\r\n\t\t\tfail(res) {\r\n\t\t\t\treject({\r\n\t\t\t\t\terrMsg: res.errMsg.replace('chooseFile:fail', ERR_MSG_FAIL),\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction normalizeChooseAndUploadFileRes(res, fileType) {\r\n\tres.tempFiles.forEach((item, index) => {\r\n\t\tif (!item.name) {\r\n\t\t\titem.name = item.path.substring(item.path.lastIndexOf('/') + 1);\r\n\t\t}\r\n\t\tif (fileType) {\r\n\t\t\titem.fileType = fileType;\r\n\t\t}\r\n\t\titem.cloudPath =\r\n\t\t\tDate.now() + '_' + index + item.name.substring(item.name.lastIndexOf('.'));\r\n\t});\r\n\tif (!res.tempFilePaths) {\r\n\t\tres.tempFilePaths = res.tempFiles.map((file) => file.path);\r\n\t}\r\n\treturn res;\r\n}\r\n\r\nfunction uploadCloudFiles(files, max = 5, onUploadProgress) {\r\n\tfiles = JSON.parse(JSON.stringify(files))\r\n\tconst len = files.length\r\n\tlet count = 0\r\n\tlet self = this\r\n\treturn new Promise(resolve => {\r\n\t\twhile (count < max) {\r\n\t\t\tnext()\r\n\t\t}\r\n\r\n\t\tfunction next() {\r\n\t\t\tlet cur = count++\r\n\t\t\tif (cur >= len) {\r\n\t\t\t\t!files.find(item => !item.url && !item.errMsg) && resolve(files)\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tconst fileItem = files[cur]\r\n\t\t\tconst index = self.files.findIndex(v => v.uuid === fileItem.uuid)\r\n\t\t\tfileItem.url = ''\r\n\t\t\tdelete fileItem.errMsg\r\n\r\n\t\t\tuniCloud\r\n\t\t\t\t.uploadFile({\r\n\t\t\t\t\tfilePath: fileItem.path,\r\n\t\t\t\t\tcloudPath: fileItem.cloudPath,\r\n\t\t\t\t\tfileType: fileItem.fileType,\r\n\t\t\t\t\tonUploadProgress: res => {\r\n\t\t\t\t\t\tres.index = index\r\n\t\t\t\t\t\tonUploadProgress && onUploadProgress(res)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tfileItem.url = res.fileID\r\n\t\t\t\t\tfileItem.index = index\r\n\t\t\t\t\tif (cur < len) {\r\n\t\t\t\t\t\tnext()\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(res => {\r\n\t\t\t\t\tfileItem.errMsg = res.errMsg || res.message\r\n\t\t\t\t\tfileItem.index = index\r\n\t\t\t\t\tif (cur < len) {\r\n\t\t\t\t\t\tnext()\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t}\r\n\t})\r\n}\r\n\r\n\r\n\r\n\r\n\r\nfunction uploadFiles(choosePromise, {\r\n\tonChooseFile,\r\n\tonUploadProgress\r\n}) {\r\n\treturn choosePromise\r\n\t\t.then((res) => {\r\n\t\t\tif (onChooseFile) {\r\n\t\t\t\tconst customChooseRes = onChooseFile(res);\r\n\t\t\t\tif (typeof customChooseRes !== 'undefined') {\r\n\t\t\t\t\treturn Promise.resolve(customChooseRes).then((chooseRes) => typeof chooseRes === 'undefined' ?\r\n\t\t\t\t\t\tres : chooseRes);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn res;\r\n\t\t})\r\n\t\t.then((res) => {\r\n\t\t\tif (res === false) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\terrMsg: ERR_MSG_OK,\r\n\t\t\t\t\ttempFilePaths: [],\r\n\t\t\t\t\ttempFiles: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn res\r\n\t\t})\r\n}\r\n\r\nfunction chooseAndUploadFile(opts = {\r\n\ttype: 'all'\r\n}) {\r\n\tif (opts.type === 'image') {\r\n\t\treturn uploadFiles(chooseImage(opts), opts);\r\n\t} else if (opts.type === 'video') {\r\n\t\treturn uploadFiles(chooseVideo(opts), opts);\r\n\t}\r\n\treturn uploadFiles(chooseAll(opts), opts);\r\n}\r\n\r\nexport {\r\n\tchooseAndUploadFile,\r\n\tuploadCloudFiles\r\n};\r\n","/**\r\n * 获取文件名和后缀\r\n * @param {String} name\r\n */\r\nexport const get_file_ext = (name) => {\r\n\tconst last_len = name.lastIndexOf('.')\r\n\tconst len = name.length\r\n\treturn {\r\n\t\tname: name.substring(0, last_len),\r\n\t\text: name.substring(last_len + 1, len)\r\n\t}\r\n}\r\n\r\n/**\r\n * 获取扩展名\r\n * @param {Array} fileExtname\r\n */\r\nexport const get_extname = (fileExtname) => {\r\n\tif (!Array.isArray(fileExtname)) {\r\n\t\tlet extname = fileExtname.replace(/(\\[|\\])/g, '')\r\n\t\treturn extname.split(',')\r\n\t} else {\r\n\t\treturn fileExtname\r\n\t}\r\n\treturn []\r\n}\r\n\r\n/**\r\n * 获取文件和检测是否可选\r\n */\r\nexport const get_files_and_is_max = (res, _extname) => {\r\n\tlet filePaths = []\r\n\tlet files = []\r\n\tif(!_extname || _extname.length === 0){\r\n\t\treturn {\r\n\t\t\tfilePaths,\r\n\t\t\tfiles\r\n\t\t}\r\n\t}\r\n\tres.tempFiles.forEach(v => {\r\n\t\tlet fileFullName = get_file_ext(v.name)\r\n\t\tconst extname = fileFullName.ext.toLowerCase()\r\n\t\tif (_extname.indexOf(extname) !== -1) {\r\n\t\t\tfiles.push(v)\r\n\t\t\tfilePaths.push(v.path)\r\n\t\t}\r\n\t})\r\n\tif (files.length !== res.tempFiles.length) {\r\n\t\tuni.showToast({\r\n\t\t\ttitle: `当前选择了${res.tempFiles.length}个文件 ,${res.tempFiles.length - files.length} 个文件格式不正确`,\r\n\t\t\ticon: 'none',\r\n\t\t\tduration: 5000\r\n\t\t})\r\n\t}\r\n\r\n\treturn {\r\n\t\tfilePaths,\r\n\t\tfiles\r\n\t}\r\n}\r\n\r\n\r\n/**\r\n * 获取图片信息\r\n * @param {Object} filepath\r\n */\r\nexport const get_file_info = (filepath) => {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tuni.getImageInfo({\r\n\t\t\tsrc: filepath,\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tresolve(res)\r\n\t\t\t},\r\n\t\t\tfail(err) {\r\n\t\t\t\treject(err)\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n}\r\n/**\r\n * 获取封装数据\r\n */\r\nexport const get_file_data = async (files, type = 'image') => {\r\n\t// 最终需要上传数据库的数据\r\n\tlet fileFullName = get_file_ext(files.name)\r\n\tconst extname = fileFullName.ext.toLowerCase()\r\n\tlet filedata = {\r\n\t\tname: files.name,\r\n\t\tuuid: files.uuid,\r\n\t\textname: extname || '',\r\n\t\tcloudPath: files.cloudPath,\r\n\t\tfileType: files.fileType,\r\n\t\tthumbTempFilePath: files.thumbTempFilePath,\r\n\t\turl: files.path || files.path,\r\n\t\tsize: files.size, //单位是字节\r\n\t\timage: {},\r\n\t\tpath: files.path,\r\n\t\tvideo: {}\r\n\t}\r\n\tif (type === 'image') {\r\n\t\tconst imageinfo = await get_file_info(files.path)\r\n\t\tdelete filedata.video\r\n\t\tfiledata.image.width = imageinfo.width\r\n\t\tfiledata.image.height = imageinfo.height\r\n\t\tfiledata.image.location = imageinfo.path\r\n\t} else {\r\n\t\tdelete filedata.image\r\n\t}\r\n\treturn filedata\r\n}\r\n","var pattern = {\r\n\temail: /^\\S+?@\\S+?\\.\\S+?$/,\r\n\tidcard: /^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$/,\r\n\turl: new RegExp(\r\n\t\t\"^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$\",\r\n\t\t'i')\r\n};\r\n\r\nconst FORMAT_MAPPING = {\r\n\t\"int\": 'integer',\r\n\t\"bool\": 'boolean',\r\n\t\"double\": 'number',\r\n\t\"long\": 'number',\r\n\t\"password\": 'string'\r\n\t// \"fileurls\": 'array'\r\n}\r\n\r\nfunction formatMessage(args, resources = '') {\r\n\tvar defaultMessage = ['label']\r\n\tdefaultMessage.forEach((item) => {\r\n\t\tif (args[item] === undefined) {\r\n\t\t\targs[item] = ''\r\n\t\t}\r\n\t})\r\n\r\n\tlet str = resources\r\n\tfor (let key in args) {\r\n\t\tlet reg = new RegExp('{' + key + '}')\r\n\t\tstr = str.replace(reg, args[key])\r\n\t}\r\n\treturn str\r\n}\r\n\r\nfunction isEmptyValue(value, type) {\r\n\tif (value === undefined || value === null) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tif (typeof value === 'string' && !value) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tif (Array.isArray(value) && !value.length) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tif (type === 'object' && !Object.keys(value).length) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\nconst types = {\r\n\tinteger(value) {\r\n\t\treturn types.number(value) && parseInt(value, 10) === value;\r\n\t},\r\n\tstring(value) {\r\n\t\treturn typeof value === 'string';\r\n\t},\r\n\tnumber(value) {\r\n\t\tif (isNaN(value)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn typeof value === 'number';\r\n\t},\r\n\t\"boolean\": function(value) {\r\n\t\treturn typeof value === 'boolean';\r\n\t},\r\n\t\"float\": function(value) {\r\n\t\treturn types.number(value) && !types.integer(value);\r\n\t},\r\n\tarray(value) {\r\n\t\treturn Array.isArray(value);\r\n\t},\r\n\tobject(value) {\r\n\t\treturn typeof value === 'object' && !types.array(value);\r\n\t},\r\n\tdate(value) {\r\n\t\treturn value instanceof Date;\r\n\t},\r\n\ttimestamp(value) {\r\n\t\tif (!this.integer(value) || Math.abs(value).toString().length > 16) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\tfile(value) {\r\n\t\treturn typeof value.url === 'string';\r\n\t},\r\n\temail(value) {\r\n\t\treturn typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\r\n\t},\r\n\turl(value) {\r\n\t\treturn typeof value === 'string' && !!value.match(pattern.url);\r\n\t},\r\n\tpattern(reg, value) {\r\n\t\ttry {\r\n\t\t\treturn new RegExp(reg).test(value);\r\n\t\t} catch (e) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t},\r\n\tmethod(value) {\r\n\t\treturn typeof value === 'function';\r\n\t},\r\n\tidcard(value) {\r\n\t\treturn typeof value === 'string' && !!value.match(pattern.idcard);\r\n\t},\r\n\t'url-https'(value) {\r\n\t\treturn this.url(value) && value.startsWith('https://');\r\n\t},\r\n\t'url-scheme'(value) {\r\n\t\treturn value.startsWith('://');\r\n\t},\r\n\t'url-web'(value) {\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nclass RuleValidator {\r\n\r\n\tconstructor(message) {\r\n\t\tthis._message = message\r\n\t}\r\n\r\n\tasync validateRule(fieldKey, fieldValue, value, data, allData) {\r\n\t\tvar result = null\r\n\r\n\t\tlet rules = fieldValue.rules\r\n\r\n\t\tlet hasRequired = rules.findIndex((item) => {\r\n\t\t\treturn item.required\r\n\t\t})\r\n\t\tif (hasRequired < 0) {\r\n\t\t\tif (value === null || value === undefined) {\r\n\t\t\t\treturn result\r\n\t\t\t}\r\n\t\t\tif (typeof value === 'string' && !value.length) {\r\n\t\t\t\treturn result\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar message = this._message\r\n\r\n\t\tif (rules === undefined) {\r\n\t\t\treturn message['default']\r\n\t\t}\r\n\r\n\t\tfor (var i = 0; i < rules.length; i++) {\r\n\t\t\tlet rule = rules[i]\r\n\t\t\tlet vt = this._getValidateType(rule)\r\n\r\n\t\t\tObject.assign(rule, {\r\n\t\t\t\tlabel: fieldValue.label || `[\"${fieldKey}\"]`\r\n\t\t\t})\r\n\r\n\t\t\tif (RuleValidatorHelper[vt]) {\r\n\t\t\t\tresult = RuleValidatorHelper[vt](rule, value, message)\r\n\t\t\t\tif (result != null) {\r\n\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rule.validateExpr) {\r\n\t\t\t\tlet now = Date.now()\r\n\t\t\t\tlet resultExpr = rule.validateExpr(value, allData, now)\r\n\t\t\t\tif (resultExpr === false) {\r\n\t\t\t\t\tresult = this._getMessage(rule, rule.errorMessage || this._message['default'])\r\n\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rule.validateFunction) {\r\n\t\t\t\tresult = await this.validateFunction(rule, value, data, allData, vt)\r\n\t\t\t\tif (result !== null) {\r\n\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (result !== null) {\r\n\t\t\tresult = message.TAG + result\r\n\t\t}\r\n\r\n\t\treturn result\r\n\t}\r\n\r\n\tasync validateFunction(rule, value, data, allData, vt) {\r\n\t\tlet result = null\r\n\t\ttry {\r\n\t\t\tlet callbackMessage = null\r\n\t\t\tconst res = await rule.validateFunction(rule, value, allData || data, (message) => {\r\n\t\t\t\tcallbackMessage = message\r\n\t\t\t})\r\n\t\t\tif (callbackMessage || (typeof res === 'string' && res) || res === false) {\r\n\t\t\t\tresult = this._getMessage(rule, callbackMessage || res, vt)\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tresult = this._getMessage(rule, e.message, vt)\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\r\n\t_getMessage(rule, message, vt) {\r\n\t\treturn formatMessage(rule, message || rule.errorMessage || this._message[vt] || message['default'])\r\n\t}\r\n\r\n\t_getValidateType(rule) {\r\n\t\tvar result = ''\r\n\t\tif (rule.required) {\r\n\t\t\tresult = 'required'\r\n\t\t} else if (rule.format) {\r\n\t\t\tresult = 'format'\r\n\t\t} else if (rule.arrayType) {\r\n\t\t\tresult = 'arrayTypeFormat'\r\n\t\t} else if (rule.range) {\r\n\t\t\tresult = 'range'\r\n\t\t} else if (rule.maximum !== undefined || rule.minimum !== undefined) {\r\n\t\t\tresult = 'rangeNumber'\r\n\t\t} else if (rule.maxLength !== undefined || rule.minLength !== undefined) {\r\n\t\t\tresult = 'rangeLength'\r\n\t\t} else if (rule.pattern) {\r\n\t\t\tresult = 'pattern'\r\n\t\t} else if (rule.validateFunction) {\r\n\t\t\tresult = 'validateFunction'\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n}\r\n\r\nconst RuleValidatorHelper = {\r\n\trequired(rule, value, message) {\r\n\t\tif (rule.required && isEmptyValue(value, rule.format || typeof value)) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message.required);\r\n\t\t}\r\n\r\n\t\treturn null\r\n\t},\r\n\r\n\trange(rule, value, message) {\r\n\t\tconst {\r\n\t\t\trange,\r\n\t\t\terrorMessage\r\n\t\t} = rule;\r\n\r\n\t\tlet list = new Array(range.length);\r\n\t\tfor (let i = 0; i < range.length; i++) {\r\n\t\t\tconst item = range[i];\r\n\t\t\tif (types.object(item) && item.value !== undefined) {\r\n\t\t\t\tlist[i] = item.value;\r\n\t\t\t} else {\r\n\t\t\t\tlist[i] = item;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet result = false\r\n\t\tif (Array.isArray(value)) {\r\n\t\t\tresult = (new Set(value.concat(list)).size === list.length);\r\n\t\t} else {\r\n\t\t\tif (list.indexOf(value) > -1) {\r\n\t\t\t\tresult = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!result) {\r\n\t\t\treturn formatMessage(rule, errorMessage || message['enum']);\r\n\t\t}\r\n\r\n\t\treturn null\r\n\t},\r\n\r\n\trangeNumber(rule, value, message) {\r\n\t\tif (!types.number(value)) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message.pattern.mismatch);\r\n\t\t}\r\n\r\n\t\tlet {\r\n\t\t\tminimum,\r\n\t\t\tmaximum,\r\n\t\t\texclusiveMinimum,\r\n\t\t\texclusiveMaximum\r\n\t\t} = rule;\r\n\t\tlet min = exclusiveMinimum ? value <= minimum : value < minimum;\r\n\t\tlet max = exclusiveMaximum ? value >= maximum : value > maximum;\r\n\r\n\t\tif (minimum !== undefined && min) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message['number'][exclusiveMinimum ?\r\n\t\t\t\t'exclusiveMinimum' : 'minimum'\r\n\t\t\t])\r\n\t\t} else if (maximum !== undefined && max) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message['number'][exclusiveMaximum ?\r\n\t\t\t\t'exclusiveMaximum' : 'maximum'\r\n\t\t\t])\r\n\t\t} else if (minimum !== undefined && maximum !== undefined && (min || max)) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message['number'].range)\r\n\t\t}\r\n\r\n\t\treturn null\r\n\t},\r\n\r\n\trangeLength(rule, value, message) {\r\n\t\tif (!types.string(value) && !types.array(value)) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message.pattern.mismatch);\r\n\t\t}\r\n\r\n\t\tlet min = rule.minLength;\r\n\t\tlet max = rule.maxLength;\r\n\t\tlet val = value.length;\r\n\r\n\t\tif (min !== undefined && val < min) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message['length'].minLength)\r\n\t\t} else if (max !== undefined && val > max) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message['length'].maxLength)\r\n\t\t} else if (min !== undefined && max !== undefined && (val < min || val > max)) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message['length'].range)\r\n\t\t}\r\n\r\n\t\treturn null\r\n\t},\r\n\r\n\tpattern(rule, value, message) {\r\n\t\tif (!types['pattern'](rule.pattern, value)) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message.pattern.mismatch);\r\n\t\t}\r\n\r\n\t\treturn null\r\n\t},\r\n\r\n\tformat(rule, value, message) {\r\n\t\tvar customTypes = Object.keys(types);\r\n\t\tvar format = FORMAT_MAPPING[rule.format] ? FORMAT_MAPPING[rule.format] : (rule.format || rule.arrayType);\r\n\r\n\t\tif (customTypes.indexOf(format) > -1) {\r\n\t\t\tif (!types[format](value)) {\r\n\t\t\t\treturn formatMessage(rule, rule.errorMessage || message.typeError);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null\r\n\t},\r\n\r\n\tarrayTypeFormat(rule, value, message) {\r\n\t\tif (!Array.isArray(value)) {\r\n\t\t\treturn formatMessage(rule, rule.errorMessage || message.typeError);\r\n\t\t}\r\n\r\n\t\tfor (let i = 0; i < value.length; i++) {\r\n\t\t\tconst element = value[i];\r\n\t\t\tlet formatResult = this.format(rule, element, message)\r\n\t\t\tif (formatResult !== null) {\r\n\t\t\t\treturn formatResult\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null\r\n\t}\r\n}\r\n\r\nclass SchemaValidator extends RuleValidator {\r\n\r\n\tconstructor(schema, options) {\r\n\t\tsuper(SchemaValidator.message);\r\n\r\n\t\tthis._schema = schema\r\n\t\tthis._options = options || null\r\n\t}\r\n\r\n\tupdateSchema(schema) {\r\n\t\tthis._schema = schema\r\n\t}\r\n\r\n\tasync validate(data, allData) {\r\n\t\tlet result = this._checkFieldInSchema(data)\r\n\t\tif (!result) {\r\n\t\t\tresult = await this.invokeValidate(data, false, allData)\r\n\t\t}\r\n\t\treturn result.length ? result[0] : null\r\n\t}\r\n\r\n\tasync validateAll(data, allData) {\r\n\t\tlet result = this._checkFieldInSchema(data)\r\n\t\tif (!result) {\r\n\t\t\tresult = await this.invokeValidate(data, true, allData)\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\r\n\tasync validateUpdate(data, allData) {\r\n\t\tlet result = this._checkFieldInSchema(data)\r\n\t\tif (!result) {\r\n\t\t\tresult = await this.invokeValidateUpdate(data, false, allData)\r\n\t\t}\r\n\t\treturn result.length ? result[0] : null\r\n\t}\r\n\r\n\tasync invokeValidate(data, all, allData) {\r\n\t\tlet result = []\r\n\t\tlet schema = this._schema\r\n\t\tfor (let key in schema) {\r\n\t\t\tlet value = schema[key]\r\n\t\t\tlet errorMessage = await this.validateRule(key, value, data[key], data, allData)\r\n\t\t\tif (errorMessage != null) {\r\n\t\t\t\tresult.push({\r\n\t\t\t\t\tkey,\r\n\t\t\t\t\terrorMessage\r\n\t\t\t\t})\r\n\t\t\t\tif (!all) break\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\r\n\tasync invokeValidateUpdate(data, all, allData) {\r\n\t\tlet result = []\r\n\t\tfor (let key in data) {\r\n\t\t\tlet errorMessage = await this.validateRule(key, this._schema[key], data[key], data, allData)\r\n\t\t\tif (errorMessage != null) {\r\n\t\t\t\tresult.push({\r\n\t\t\t\t\tkey,\r\n\t\t\t\t\terrorMessage\r\n\t\t\t\t})\r\n\t\t\t\tif (!all) break\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n\r\n\t_checkFieldInSchema(data) {\r\n\t\tvar keys = Object.keys(data)\r\n\t\tvar keys2 = Object.keys(this._schema)\r\n\t\tif (new Set(keys.concat(keys2)).size === keys2.length) {\r\n\t\t\treturn ''\r\n\t\t}\r\n\r\n\t\tvar noExistFields = keys.filter((key) => {\r\n\t\t\treturn keys2.indexOf(key) < 0;\r\n\t\t})\r\n\t\tvar errorMessage = formatMessage({\r\n\t\t\tfield: JSON.stringify(noExistFields)\r\n\t\t}, SchemaValidator.message.TAG + SchemaValidator.message['defaultInvalid'])\r\n\t\treturn [{\r\n\t\t\tkey: 'invalid',\r\n\t\t\terrorMessage\r\n\t\t}]\r\n\t}\r\n}\r\n\r\nfunction Message() {\r\n\treturn {\r\n\t\tTAG: \"\",\r\n\t\tdefault: '验证错误',\r\n\t\tdefaultInvalid: '提交的字段{field}在数据库中并不存在',\r\n\t\tvalidateFunction: '验证无效',\r\n\t\trequired: '{label}必填',\r\n\t\t'enum': '{label}超出范围',\r\n\t\ttimestamp: '{label}格式无效',\r\n\t\twhitespace: '{label}不能为空',\r\n\t\ttypeError: '{label}类型无效',\r\n\t\tdate: {\r\n\t\t\tformat: '{label}日期{value}格式无效',\r\n\t\t\tparse: '{label}日期无法解析,{value}无效',\r\n\t\t\tinvalid: '{label}日期{value}无效'\r\n\t\t},\r\n\t\tlength: {\r\n\t\t\tminLength: '{label}长度不能少于{minLength}',\r\n\t\t\tmaxLength: '{label}长度不能超过{maxLength}',\r\n\t\t\trange: '{label}必须介于{minLength}和{maxLength}之间'\r\n\t\t},\r\n\t\tnumber: {\r\n\t\t\tminimum: '{label}不能小于{minimum}',\r\n\t\t\tmaximum: '{label}不能大于{maximum}',\r\n\t\t\texclusiveMinimum: '{label}不能小于等于{minimum}',\r\n\t\t\texclusiveMaximum: '{label}不能大于等于{maximum}',\r\n\t\t\trange: '{label}必须介于{minimum}and{maximum}之间'\r\n\t\t},\r\n\t\tpattern: {\r\n\t\t\tmismatch: '{label}格式不匹配'\r\n\t\t}\r\n\t};\r\n}\r\n\r\n\r\nSchemaValidator.message = new Message();\r\n\r\nexport default SchemaValidator\r\n","/**\r\n * 简单处理对象拷贝\r\n * @param {Obejct} 被拷贝对象\r\n * @@return {Object} 拷贝对象\r\n */\r\nexport const deepCopy = (val) => {\r\n\treturn JSON.parse(JSON.stringify(val))\r\n}\r\n/**\r\n * 过滤数字类型\r\n * @param {String} format 数字类型\r\n * @@return {Boolean} 返回是否为数字类型\r\n */\r\nexport const typeFilter = (format) => {\r\n\treturn format === 'int' || format === 'double' || format === 'number' || format === 'timestamp';\r\n}\r\n\r\n/**\r\n * 把 value 转换成指定的类型,用于处理初始值,原因是初始值需要入库不能为 undefined\r\n * @param {String} key 字段名\r\n * @param {any} value 字段值\r\n * @param {Object} rules 表单校验规则\r\n */\r\nexport const getValue = (key, value, rules) => {\r\n\tconst isRuleNumType = rules.find(val => val.format && typeFilter(val.format));\r\n\tconst isRuleBoolType = rules.find(val => (val.format && val.format === 'boolean') || val.format === 'bool');\r\n\t// 输入类型为 number\r\n\tif (!!isRuleNumType) {\r\n\t\tif (!value && value !== 0) {\r\n\t\t\tvalue = null\r\n\t\t} else {\r\n\t\t\tvalue = isNumber(Number(value)) ? Number(value) : value\r\n\t\t}\r\n\t}\r\n\r\n\t// 输入类型为 boolean\r\n\tif (!!isRuleBoolType) {\r\n\t\tvalue = isBoolean(value) ? value : false\r\n\t}\r\n\r\n\treturn value;\r\n}\r\n\r\n/**\r\n * 获取表单数据\r\n * @param {String|Array} name 真实名称,需要使用 realName 获取\r\n * @param {Object} data 原始数据\r\n * @param {any} value 需要设置的值\r\n */\r\nexport const setDataValue = (field, formdata, value) => {\r\n\tformdata[field] = value\r\n\treturn value || ''\r\n}\r\n\r\n/**\r\n * 获取表单数据\r\n * @param {String|Array} field 真实名称,需要使用 realName 获取\r\n * @param {Object} data 原始数据\r\n */\r\nexport const getDataValue = (field, data) => {\r\n\treturn objGet(data, field)\r\n}\r\n\r\n/**\r\n * 获取表单类型\r\n * @param {String|Array} field 真实名称,需要使用 realName 获取\r\n */\r\nexport const getDataValueType = (field, data) => {\r\n\tconst value = getDataValue(field, data)\r\n\treturn {\r\n\t\ttype: type(value),\r\n\t\tvalue\r\n\t}\r\n}\r\n\r\n/**\r\n * 获取表单可用的真实name\r\n * @param {String|Array} name 表单name\r\n * @@return {String} 表单可用的真实name\r\n */\r\nexport const realName = (name, data = {}) => {\r\n\tconst base_name = _basePath(name)\r\n\tif (typeof base_name === 'object' && Array.isArray(base_name) && base_name.length > 1) {\r\n\t\tconst realname = base_name.reduce((a, b) => a += `#${b}`, '_formdata_')\r\n\t\treturn realname\r\n\t}\r\n\treturn base_name[0] || name\r\n}\r\n\r\n/**\r\n * 判断是否表单可用的真实name\r\n * @param {String|Array} name 表单name\r\n * @@return {String} 表单可用的真实name\r\n */\r\nexport const isRealName = (name) => {\r\n\tconst reg = /^_formdata_#*/\r\n\treturn reg.test(name)\r\n}\r\n\r\n/**\r\n * 获取表单数据的原始格式\r\n * @@return {Object|Array} object 需要解析的数据\r\n */\r\nexport const rawData = (object = {}, name) => {\r\n\tlet newData = JSON.parse(JSON.stringify(object))\r\n\tlet formData = {}\r\n\tfor(let i in newData){\r\n\t\tlet path = name2arr(i)\r\n\t\tobjSet(formData,path,newData[i])\r\n\t}\r\n\treturn formData\r\n}\r\n\r\n/**\r\n * 真实name还原为 array\r\n * @param {*} name \r\n */\r\nexport const name2arr = (name) => {\r\n\tlet field = name.replace('_formdata_#', '')\r\n\tfield = field.split('#').map(v => (isNumber(v) ? Number(v) : v))\r\n\treturn field\r\n}\r\n\r\n/**\r\n * 对象中设置值\r\n * @param {Object|Array} object 源数据\r\n * @param {String| Array} path 'a.b.c' 或 ['a',0,'b','c']\r\n * @param {String} value 需要设置的值\r\n */\r\nexport const objSet = (object, path, value) => {\r\n\tif (typeof object !== 'object') return object;\r\n\t_basePath(path).reduce((o, k, i, _) => {\r\n\t\tif (i === _.length - 1) { \r\n\t\t\t// 若遍历结束直接赋值\r\n\t\t\to[k] = value\r\n\t\t\treturn null\r\n\t\t} else if (k in o) { \r\n\t\t\t// 若存在对应路径,则返回找到的对象,进行下一次遍历\r\n\t\t\treturn o[k]\r\n\t\t} else { \r\n\t\t\t// 若不存在对应路径,则创建对应对象,若下一路径是数字,新对象赋值为空数组,否则赋值为空对象\r\n\t\t\to[k] = /^[0-9]{1,}$/.test(_[i + 1]) ? [] : {}\r\n\t\t\treturn o[k]\r\n\t\t}\r\n\t}, object)\r\n\t// 返回object\r\n\treturn object;\r\n}\r\n\r\n// 处理 path, path有三种形式:'a[0].b.c'、'a.0.b.c' 和 ['a','0','b','c'],需要统一处理成数组,便于后续使用\r\nfunction _basePath(path) {\r\n\t// 若是数组,则直接返回\r\n\tif (Array.isArray(path)) return path\r\n\t// 若有 '[',']',则替换成将 '[' 替换成 '.',去掉 ']'\r\n\treturn path.replace(/\\[/g, '.').replace(/\\]/g, '').split('.')\r\n}\r\n\r\n/**\r\n * 从对象中获取值\r\n * @param {Object|Array} object 源数据\r\n * @param {String| Array} path 'a.b.c' 或 ['a',0,'b','c']\r\n * @param {String} defaultVal 如果无法从调用链中获取值的默认值\r\n */\r\nexport const objGet = (object, path, defaultVal = 'undefined') => {\r\n\t// 先将path处理成统一格式\r\n\tlet newPath = _basePath(path)\r\n\t// 递归处理,返回最后结果\r\n\tlet val = newPath.reduce((o, k) => {\r\n\t\treturn (o || {})[k]\r\n\t}, object);\r\n\treturn !val || val !== undefined ? val : defaultVal\r\n}\r\n\r\n\r\n/**\r\n * 是否为 number 类型 \r\n * @param {any} num 需要判断的值\r\n * @return {Boolean} 是否为 number\r\n */\r\nexport const isNumber = (num) => {\r\n\treturn !isNaN(Number(num))\r\n}\r\n\r\n/**\r\n * 是否为 boolean 类型 \r\n * @param {any} bool 需要判断的值\r\n * @return {Boolean} 是否为 boolean\r\n */\r\nexport const isBoolean = (bool) => {\r\n\treturn (typeof bool === 'boolean')\r\n}\r\n/**\r\n * 是否有必填字段\r\n * @param {Object} rules 规则\r\n * @return {Boolean} 是否有必填字段\r\n */\r\nexport const isRequiredField = (rules) => {\r\n\tlet isNoField = false;\r\n\tfor (let i = 0; i < rules.length; i++) {\r\n\t\tconst ruleData = rules[i];\r\n\t\tif (ruleData.required) {\r\n\t\t\tisNoField = true;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\treturn isNoField;\r\n}\r\n\r\n\r\n/**\r\n * 获取数据类型\r\n * @param {Any} obj 需要获取数据类型的值\r\n */\r\nexport const type = (obj) => {\r\n\tvar class2type = {};\r\n\r\n\t// 生成class2type映射\r\n\t\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \").map(function(item, index) {\r\n\t\tclass2type[\"[object \" + item + \"]\"] = item.toLowerCase();\r\n\t})\r\n\tif (obj == null) {\r\n\t\treturn obj + \"\";\r\n\t}\r\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\r\n\t\tclass2type[Object.prototype.toString.call(obj)] || \"object\" :\r\n\t\ttypeof obj;\r\n}\r\n\r\n/**\r\n * 判断两个值是否相等\r\n * @param {any} a 值 \r\n * @param {any} b 值 \r\n * @return {Boolean} 是否相等\r\n */\r\nexport const isEqual = (a, b) => {\r\n\t//如果a和b本来就全等\r\n\tif (a === b) {\r\n\t\t//判断是否为0和-0\r\n\t\treturn a !== 0 || 1 / a === 1 / b;\r\n\t}\r\n\t//判断是否为null和undefined\r\n\tif (a == null || b == null) {\r\n\t\treturn a === b;\r\n\t}\r\n\t//接下来判断a和b的数据类型\r\n\tvar classNameA = toString.call(a),\r\n\t\tclassNameB = toString.call(b);\r\n\t//如果数据类型不相等,则返回false\r\n\tif (classNameA !== classNameB) {\r\n\t\treturn false;\r\n\t}\r\n\t//如果数据类型相等,再根据不同数据类型分别判断\r\n\tswitch (classNameA) {\r\n\t\tcase '[object RegExp]':\r\n\t\tcase '[object String]':\r\n\t\t\t//进行字符串转换比较\r\n\t\t\treturn '' + a === '' + b;\r\n\t\tcase '[object Number]':\r\n\t\t\t//进行数字转换比较,判断是否为NaN\r\n\t\t\tif (+a !== +a) {\r\n\t\t\t\treturn +b !== +b;\r\n\t\t\t}\r\n\t\t\t//判断是否为0或-0\r\n\t\t\treturn +a === 0 ? 1 / +a === 1 / b : +a === +b;\r\n\t\tcase '[object Date]':\r\n\t\tcase '[object Boolean]':\r\n\t\t\treturn +a === +b;\r\n\t}\r\n\t//如果是对象类型\r\n\tif (classNameA == '[object Object]') {\r\n\t\t//获取a和b的属性长度\r\n\t\tvar propsA = Object.getOwnPropertyNames(a),\r\n\t\t\tpropsB = Object.getOwnPropertyNames(b);\r\n\t\tif (propsA.length != propsB.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tfor (var i = 0; i < propsA.length; i++) {\r\n\t\t\tvar propName = propsA[i];\r\n\t\t\t//如果对应属性对应值不相等,则返回false\r\n\t\t\tif (a[propName] !== b[propName]) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\t//如果是数组类型\r\n\tif (classNameA == '[object Array]') {\r\n\t\tif (a.toString() == b.toString()) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n}\r\n","import en from './en.json'\r\nimport zhHans from './zh-Hans.json'\r\nimport zhHant from './zh-Hant.json'\r\nexport default {\r\n\ten,\r\n\t'zh-Hans': zhHans,\r\n\t'zh-Hant': zhHant\r\n}\r\n","export default {\r\n props: {\r\n // 是否显示遮罩\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.overlay.show\r\n },\r\n // 层级z-index\r\n zIndex: {\r\n type: [String, Number],\r\n default: uni.$u.props.overlay.zIndex\r\n },\r\n // 遮罩的过渡时间,单位为ms\r\n duration: {\r\n type: [String, Number],\r\n default: uni.$u.props.overlay.duration\r\n },\r\n // 不透明度值,当做rgba的第四个参数\r\n opacity: {\r\n type: [String, Number],\r\n default: uni.$u.props.overlay.opacity\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n // 是否展示组件\r\n show: {\r\n type: Boolean,\r\n default: uni.$u.props.transition.show\r\n },\r\n // 使用的动画模式\r\n mode: {\r\n type: String,\r\n default: uni.$u.props.transition.mode\r\n },\r\n // 动画的执行时间,单位ms\r\n duration: {\r\n type: [String, Number],\r\n default: uni.$u.props.transition.duration\r\n },\r\n // 使用的动画过渡函数\r\n timingFunction: {\r\n type: String,\r\n default: uni.$u.props.transition.timingFunction\r\n }\r\n }\r\n}\r\n","// 定义一个一定时间后自动成功的promise,让调用nextTick方法处,进入下一个then方法\r\nconst nextTick = () => new Promise(resolve => setTimeout(resolve, 1000 / 50))\r\n// nvue动画模块实现细节抽离在外部文件\r\nimport animationMap from './nvue.ani-map.js'\r\n\r\n\r\n// 定义类名,通过给元素动态切换类名,赋予元素一定的css动画样式\r\nconst getClassNames = (name) => ({\r\n enter: `u-${name}-enter u-${name}-enter-active`,\r\n 'enter-to': `u-${name}-enter-to u-${name}-enter-active`,\r\n leave: `u-${name}-leave u-${name}-leave-active`,\r\n 'leave-to': `u-${name}-leave-to u-${name}-leave-active`\r\n})\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport default {\r\n methods: {\r\n // 组件被点击发出事件\r\n clickHandler() {\r\n this.$emit('click')\r\n },\r\n\r\n // vue版本的组件进场处理\r\n vueEnter() {\r\n // 动画进入时的类名\r\n const classNames = getClassNames(this.mode)\r\n // 定义状态和发出动画进入前事件\r\n this.status = 'enter'\r\n this.$emit('beforeEnter')\r\n this.inited = true\r\n this.display = true\r\n this.classes = classNames.enter\r\n this.$nextTick(async () => {\r\n\r\n\r\n\r\n // 标识动画尚未结束\r\n this.$emit('enter')\r\n this.transitionEnded = false\r\n\t\t\t\t// 组件动画进入后触发的事件\r\n this.$emit('afterEnter')\r\n // 赋予组件enter-to类名\r\n this.classes = classNames['enter-to']\r\n })\r\n },\r\n // 动画离场处理\r\n vueLeave() {\r\n // 如果不是展示状态,无需执行逻辑\r\n if (!this.display) return\r\n const classNames = getClassNames(this.mode)\r\n // 标记离开状态和发出事件\r\n this.status = 'leave'\r\n this.$emit('beforeLeave')\r\n // 获得类名\r\n this.classes = classNames.leave\r\n\r\n this.$nextTick(() => {\r\n // 动画正在离场的状态\r\n this.transitionEnded = false\r\n this.$emit('leave')\r\n // 组件执行动画,到了执行的执行时间后,执行一些额外处理\r\n setTimeout(this.onTransitionEnd, this.duration)\r\n this.classes = classNames['leave-to']\r\n })\r\n },\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n // 完成过渡后触发\r\n onTransitionEnd() {\r\n // 如果已经是结束的状态,无需再处理\r\n if (this.transitionEnded) return\r\n this.transitionEnded = true\r\n // 发出组件动画执行后的事件\r\n this.$emit(this.status === 'leave' ? 'afterLeave' : 'afterEnter')\r\n if (!this.show && this.display) {\r\n this.display = false\r\n this.inited = false\r\n }\r\n }\r\n }\r\n}\r\n","export default {\r\n fade: {\r\n enter: { opacity: 0 },\r\n 'enter-to': { opacity: 1 },\r\n leave: { opacity: 1 },\r\n 'leave-to': { opacity: 0 }\r\n },\r\n 'fade-up': {\r\n enter: { opacity: 0, transform: 'translateY(100%)' },\r\n 'enter-to': { opacity: 1, transform: 'translateY(0)' },\r\n leave: { opacity: 1, transform: 'translateY(0)' },\r\n 'leave-to': { opacity: 0, transform: 'translateY(100%)' }\r\n },\r\n 'fade-down': {\r\n enter: { opacity: 0, transform: 'translateY(-100%)' },\r\n 'enter-to': { opacity: 1, transform: 'translateY(0)' },\r\n leave: { opacity: 1, transform: 'translateY(0)' },\r\n 'leave-to': { opacity: 0, transform: 'translateY(-100%)' }\r\n },\r\n 'fade-left': {\r\n enter: { opacity: 0, transform: 'translateX(-100%)' },\r\n 'enter-to': { opacity: 1, transform: 'translateY(0)' },\r\n leave: { opacity: 1, transform: 'translateY(0)' },\r\n 'leave-to': { opacity: 0, transform: 'translateX(-100%)' }\r\n },\r\n 'fade-right': {\r\n enter: { opacity: 0, transform: 'translateX(100%)' },\r\n 'enter-to': { opacity: 1, transform: 'translateY(0)' },\r\n leave: { opacity: 1, transform: 'translateY(0)' },\r\n 'leave-to': { opacity: 0, transform: 'translateX(100%)' }\r\n },\r\n 'slide-up': {\r\n enter: { transform: 'translateY(100%)' },\r\n 'enter-to': { transform: 'translateY(0)' },\r\n leave: { transform: 'translateY(0)' },\r\n 'leave-to': { transform: 'translateY(100%)' }\r\n },\r\n 'slide-down': {\r\n enter: { transform: 'translateY(-100%)' },\r\n 'enter-to': { transform: 'translateY(0)' },\r\n leave: { transform: 'translateY(0)' },\r\n 'leave-to': { transform: 'translateY(-100%)' }\r\n },\r\n 'slide-left': {\r\n enter: { transform: 'translateX(-100%)' },\r\n 'enter-to': { transform: 'translateY(0)' },\r\n leave: { transform: 'translateY(0)' },\r\n 'leave-to': { transform: 'translateX(-100%)' }\r\n },\r\n 'slide-right': {\r\n enter: { transform: 'translateX(100%)' },\r\n 'enter-to': { transform: 'translateY(0)' },\r\n leave: { transform: 'translateY(0)' },\r\n 'leave-to': { transform: 'translateX(100%)' }\r\n },\r\n zoom: {\r\n enter: { transform: 'scale(0.95)' },\r\n 'enter-to': { transform: 'scale(1)' },\r\n leave: { transform: 'scale(1)' },\r\n 'leave-to': { transform: 'scale(0.95)' }\r\n },\r\n 'fade-zoom': {\r\n enter: { opacity: 0, transform: 'scale(0.95)' },\r\n 'enter-to': { opacity: 1, transform: 'scale(1)' },\r\n leave: { opacity: 1, transform: 'scale(1)' },\r\n 'leave-to': { opacity: 0, transform: 'scale(0.95)' }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n bgColor: {\r\n type: String,\r\n default: uni.$u.props.statusBar.bgColor\r\n }\r\n }\r\n}\r\n","export default {\r\n 'uicon-level': '\\ue693',\r\n 'uicon-column-line': '\\ue68e',\r\n 'uicon-checkbox-mark': '\\ue807',\r\n 'uicon-folder': '\\ue7f5',\r\n 'uicon-movie': '\\ue7f6',\r\n 'uicon-star-fill': '\\ue669',\r\n 'uicon-star': '\\ue65f',\r\n 'uicon-phone-fill': '\\ue64f',\r\n 'uicon-phone': '\\ue622',\r\n 'uicon-apple-fill': '\\ue881',\r\n 'uicon-chrome-circle-fill': '\\ue885',\r\n 'uicon-backspace': '\\ue67b',\r\n 'uicon-attach': '\\ue632',\r\n 'uicon-cut': '\\ue948',\r\n 'uicon-empty-car': '\\ue602',\r\n 'uicon-empty-coupon': '\\ue682',\r\n 'uicon-empty-address': '\\ue646',\r\n 'uicon-empty-favor': '\\ue67c',\r\n 'uicon-empty-permission': '\\ue686',\r\n 'uicon-empty-news': '\\ue687',\r\n 'uicon-empty-search': '\\ue664',\r\n 'uicon-github-circle-fill': '\\ue887',\r\n 'uicon-rmb': '\\ue608',\r\n 'uicon-person-delete-fill': '\\ue66a',\r\n 'uicon-reload': '\\ue788',\r\n 'uicon-order': '\\ue68f',\r\n 'uicon-server-man': '\\ue6bc',\r\n 'uicon-search': '\\ue62a',\r\n 'uicon-fingerprint': '\\ue955',\r\n 'uicon-more-dot-fill': '\\ue630',\r\n 'uicon-scan': '\\ue662',\r\n 'uicon-share-square': '\\ue60b',\r\n 'uicon-map': '\\ue61d',\r\n 'uicon-map-fill': '\\ue64e',\r\n 'uicon-tags': '\\ue629',\r\n 'uicon-tags-fill': '\\ue651',\r\n 'uicon-bookmark-fill': '\\ue63b',\r\n 'uicon-bookmark': '\\ue60a',\r\n 'uicon-eye': '\\ue613',\r\n 'uicon-eye-fill': '\\ue641',\r\n 'uicon-mic': '\\ue64a',\r\n 'uicon-mic-off': '\\ue649',\r\n 'uicon-calendar': '\\ue66e',\r\n 'uicon-calendar-fill': '\\ue634',\r\n 'uicon-trash': '\\ue623',\r\n 'uicon-trash-fill': '\\ue658',\r\n 'uicon-play-left': '\\ue66d',\r\n 'uicon-play-right': '\\ue610',\r\n 'uicon-minus': '\\ue618',\r\n 'uicon-plus': '\\ue62d',\r\n 'uicon-info': '\\ue653',\r\n 'uicon-info-circle': '\\ue7d2',\r\n 'uicon-info-circle-fill': '\\ue64b',\r\n 'uicon-question': '\\ue715',\r\n 'uicon-error': '\\ue6d3',\r\n 'uicon-close': '\\ue685',\r\n 'uicon-checkmark': '\\ue6a8',\r\n 'uicon-android-circle-fill': '\\ue67e',\r\n 'uicon-android-fill': '\\ue67d',\r\n 'uicon-ie': '\\ue87b',\r\n 'uicon-IE-circle-fill': '\\ue889',\r\n 'uicon-google': '\\ue87a',\r\n 'uicon-google-circle-fill': '\\ue88a',\r\n 'uicon-setting-fill': '\\ue872',\r\n 'uicon-setting': '\\ue61f',\r\n 'uicon-minus-square-fill': '\\ue855',\r\n 'uicon-plus-square-fill': '\\ue856',\r\n 'uicon-heart': '\\ue7df',\r\n 'uicon-heart-fill': '\\ue851',\r\n 'uicon-camera': '\\ue7d7',\r\n 'uicon-camera-fill': '\\ue870',\r\n 'uicon-more-circle': '\\ue63e',\r\n 'uicon-more-circle-fill': '\\ue645',\r\n 'uicon-chat': '\\ue620',\r\n 'uicon-chat-fill': '\\ue61e',\r\n 'uicon-bag-fill': '\\ue617',\r\n 'uicon-bag': '\\ue619',\r\n 'uicon-error-circle-fill': '\\ue62c',\r\n 'uicon-error-circle': '\\ue624',\r\n 'uicon-close-circle': '\\ue63f',\r\n 'uicon-close-circle-fill': '\\ue637',\r\n 'uicon-checkmark-circle': '\\ue63d',\r\n 'uicon-checkmark-circle-fill': '\\ue635',\r\n 'uicon-question-circle-fill': '\\ue666',\r\n 'uicon-question-circle': '\\ue625',\r\n 'uicon-share': '\\ue631',\r\n 'uicon-share-fill': '\\ue65e',\r\n 'uicon-shopping-cart': '\\ue621',\r\n 'uicon-shopping-cart-fill': '\\ue65d',\r\n 'uicon-bell': '\\ue609',\r\n 'uicon-bell-fill': '\\ue640',\r\n 'uicon-list': '\\ue650',\r\n 'uicon-list-dot': '\\ue616',\r\n 'uicon-zhihu': '\\ue6ba',\r\n 'uicon-zhihu-circle-fill': '\\ue709',\r\n 'uicon-zhifubao': '\\ue6b9',\r\n 'uicon-zhifubao-circle-fill': '\\ue6b8',\r\n 'uicon-weixin-circle-fill': '\\ue6b1',\r\n 'uicon-weixin-fill': '\\ue6b2',\r\n 'uicon-twitter-circle-fill': '\\ue6ab',\r\n 'uicon-twitter': '\\ue6aa',\r\n 'uicon-taobao-circle-fill': '\\ue6a7',\r\n 'uicon-taobao': '\\ue6a6',\r\n 'uicon-weibo-circle-fill': '\\ue6a5',\r\n 'uicon-weibo': '\\ue6a4',\r\n 'uicon-qq-fill': '\\ue6a1',\r\n 'uicon-qq-circle-fill': '\\ue6a0',\r\n 'uicon-moments-circel-fill': '\\ue69a',\r\n 'uicon-moments': '\\ue69b',\r\n 'uicon-qzone': '\\ue695',\r\n 'uicon-qzone-circle-fill': '\\ue696',\r\n 'uicon-baidu-circle-fill': '\\ue680',\r\n 'uicon-baidu': '\\ue681',\r\n 'uicon-facebook-circle-fill': '\\ue68a',\r\n 'uicon-facebook': '\\ue689',\r\n 'uicon-car': '\\ue60c',\r\n 'uicon-car-fill': '\\ue636',\r\n 'uicon-warning-fill': '\\ue64d',\r\n 'uicon-warning': '\\ue694',\r\n 'uicon-clock-fill': '\\ue638',\r\n 'uicon-clock': '\\ue60f',\r\n 'uicon-edit-pen': '\\ue612',\r\n 'uicon-edit-pen-fill': '\\ue66b',\r\n 'uicon-email': '\\ue611',\r\n 'uicon-email-fill': '\\ue642',\r\n 'uicon-minus-circle': '\\ue61b',\r\n 'uicon-minus-circle-fill': '\\ue652',\r\n 'uicon-plus-circle': '\\ue62e',\r\n 'uicon-plus-circle-fill': '\\ue661',\r\n 'uicon-file-text': '\\ue663',\r\n 'uicon-file-text-fill': '\\ue665',\r\n 'uicon-pushpin': '\\ue7e3',\r\n 'uicon-pushpin-fill': '\\ue86e',\r\n 'uicon-grid': '\\ue673',\r\n 'uicon-grid-fill': '\\ue678',\r\n 'uicon-play-circle': '\\ue647',\r\n 'uicon-play-circle-fill': '\\ue655',\r\n 'uicon-pause-circle-fill': '\\ue654',\r\n 'uicon-pause': '\\ue8fa',\r\n 'uicon-pause-circle': '\\ue643',\r\n 'uicon-eye-off': '\\ue648',\r\n 'uicon-eye-off-outline': '\\ue62b',\r\n 'uicon-gift-fill': '\\ue65c',\r\n 'uicon-gift': '\\ue65b',\r\n 'uicon-rmb-circle-fill': '\\ue657',\r\n 'uicon-rmb-circle': '\\ue677',\r\n 'uicon-kefu-ermai': '\\ue656',\r\n 'uicon-server-fill': '\\ue751',\r\n 'uicon-coupon-fill': '\\ue8c4',\r\n 'uicon-coupon': '\\ue8ae',\r\n 'uicon-integral': '\\ue704',\r\n 'uicon-integral-fill': '\\ue703',\r\n 'uicon-home-fill': '\\ue964',\r\n 'uicon-home': '\\ue965',\r\n 'uicon-hourglass-half-fill': '\\ue966',\r\n 'uicon-hourglass': '\\ue967',\r\n 'uicon-account': '\\ue628',\r\n 'uicon-plus-people-fill': '\\ue626',\r\n 'uicon-minus-people-fill': '\\ue615',\r\n 'uicon-account-fill': '\\ue614',\r\n 'uicon-thumb-down-fill': '\\ue726',\r\n 'uicon-thumb-down': '\\ue727',\r\n 'uicon-thumb-up': '\\ue733',\r\n 'uicon-thumb-up-fill': '\\ue72f',\r\n 'uicon-lock-fill': '\\ue979',\r\n 'uicon-lock-open': '\\ue973',\r\n 'uicon-lock-opened-fill': '\\ue974',\r\n 'uicon-lock': '\\ue97a',\r\n 'uicon-red-packet-fill': '\\ue690',\r\n 'uicon-photo-fill': '\\ue98b',\r\n 'uicon-photo': '\\ue98d',\r\n 'uicon-volume-off-fill': '\\ue659',\r\n 'uicon-volume-off': '\\ue644',\r\n 'uicon-volume-fill': '\\ue670',\r\n 'uicon-volume': '\\ue633',\r\n 'uicon-red-packet': '\\ue691',\r\n 'uicon-download': '\\ue63c',\r\n 'uicon-arrow-up-fill': '\\ue6b0',\r\n 'uicon-arrow-down-fill': '\\ue600',\r\n 'uicon-play-left-fill': '\\ue675',\r\n 'uicon-play-right-fill': '\\ue676',\r\n 'uicon-rewind-left-fill': '\\ue679',\r\n 'uicon-rewind-right-fill': '\\ue67a',\r\n 'uicon-arrow-downward': '\\ue604',\r\n 'uicon-arrow-leftward': '\\ue601',\r\n 'uicon-arrow-rightward': '\\ue603',\r\n 'uicon-arrow-upward': '\\ue607',\r\n 'uicon-arrow-down': '\\ue60d',\r\n 'uicon-arrow-right': '\\ue605',\r\n 'uicon-arrow-left': '\\ue60e',\r\n 'uicon-arrow-up': '\\ue606',\r\n 'uicon-skip-back-left': '\\ue674',\r\n 'uicon-skip-forward-right': '\\ue672',\r\n 'uicon-rewind-right': '\\ue66f',\r\n 'uicon-rewind-left': '\\ue671',\r\n 'uicon-arrow-right-double': '\\ue68d',\r\n 'uicon-arrow-left-double': '\\ue68c',\r\n 'uicon-wifi-off': '\\ue668',\r\n 'uicon-wifi': '\\ue667',\r\n 'uicon-empty-data': '\\ue62f',\r\n 'uicon-empty-history': '\\ue684',\r\n 'uicon-empty-list': '\\ue68b',\r\n 'uicon-empty-page': '\\ue627',\r\n 'uicon-empty-order': '\\ue639',\r\n 'uicon-man': '\\ue697',\r\n 'uicon-woman': '\\ue69c',\r\n 'uicon-man-add': '\\ue61c',\r\n 'uicon-man-add-fill': '\\ue64c',\r\n 'uicon-man-delete': '\\ue61a',\r\n 'uicon-man-delete-fill': '\\ue66a',\r\n 'uicon-zh': '\\ue70a',\r\n 'uicon-en': '\\ue692'\r\n}\r\n","export default {\r\n props: {\r\n // 图标类名\r\n name: {\r\n type: String,\r\n default: uni.$u.props.icon.name\r\n },\r\n // 图标颜色,可接受主题色\r\n color: {\r\n type: String,\r\n default: uni.$u.props.icon.color\r\n },\r\n // 字体大小,单位px\r\n size: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.size\r\n },\r\n // 是否显示粗体\r\n bold: {\r\n type: Boolean,\r\n default: uni.$u.props.icon.bold\r\n },\r\n // 点击图标的时候传递事件出去的index(用于区分点击了哪一个)\r\n index: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.index\r\n },\r\n // 触摸图标时的类名\r\n hoverClass: {\r\n type: String,\r\n default: uni.$u.props.icon.hoverClass\r\n },\r\n // 自定义扩展前缀,方便用户扩展自己的图标库\r\n customPrefix: {\r\n type: String,\r\n default: uni.$u.props.icon.customPrefix\r\n },\r\n // 图标右边或者下面的文字\r\n label: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.label\r\n },\r\n // label的位置,只能右边或者下边\r\n labelPos: {\r\n type: String,\r\n default: uni.$u.props.icon.labelPos\r\n },\r\n // label的大小\r\n labelSize: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.labelSize\r\n },\r\n // label的颜色\r\n labelColor: {\r\n type: String,\r\n default: uni.$u.props.icon.labelColor\r\n },\r\n // label与图标的距离\r\n space: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.space\r\n },\r\n // 图片的mode\r\n imgMode: {\r\n type: String,\r\n default: uni.$u.props.icon.imgMode\r\n },\r\n // 用于显示图片小图标时,图片的宽度\r\n width: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.width\r\n },\r\n // 用于显示图片小图标时,图片的高度\r\n height: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.height\r\n },\r\n // 用于解决某些情况下,让图标垂直居中的用途\r\n top: {\r\n type: [String, Number],\r\n default: uni.$u.props.icon.top\r\n },\r\n // 是否阻止事件传播\r\n stop: {\r\n type: Boolean,\r\n default: uni.$u.props.icon.stop\r\n }\r\n }\r\n}\r\n","export default {\r\n props: {\r\n\r\n }\r\n}\r\n","// const defaultOption = {\n// \tduration: 300,\n// \ttimingFunction: 'linear',\n// \tdelay: 0,\n// \ttransformOrigin: '50% 50% 0'\n// }\n\n\n\nclass MPAnimation {\n\tconstructor(options, _this) {\n\t\tthis.options = options\n\t\t// 在iOS10+QQ小程序平台下,传给原生的对象一定是个普通对象而不是Proxy对象,否则会报parameter should be Object instead of ProxyObject的错误\n\t\tthis.animation = uni.createAnimation({\n\t\t\t...options\n\t\t})\n\t\tthis.currentStepAnimates = {}\n\t\tthis.next = 0\n\t\tthis.$ = _this\n\n\t}\n\n\t_nvuePushAnimates(type, args) {\n\t\tlet aniObj = this.currentStepAnimates[this.next]\n\t\tlet styles = {}\n\t\tif (!aniObj) {\n\t\t\tstyles = {\n\t\t\t\tstyles: {},\n\t\t\t\tconfig: {}\n\t\t\t}\n\t\t} else {\n\t\t\tstyles = aniObj\n\t\t}\n\t\tif (animateTypes1.includes(type)) {\n\t\t\tif (!styles.styles.transform) {\n\t\t\t\tstyles.styles.transform = ''\n\t\t\t}\n\t\t\tlet unit = ''\n\t\t\tif(type === 'rotate'){\n\t\t\t\tunit = 'deg'\n\t\t\t}\n\t\t\tstyles.styles.transform += `${type}(${args+unit}) `\n\t\t} else {\n\t\t\tstyles.styles[type] = `${args}`\n\t\t}\n\t\tthis.currentStepAnimates[this.next] = styles\n\t}\n\t_animateRun(styles = {}, config = {}) {\n\t\tlet ref = this.$.$refs['ani'].ref\n\t\tif (!ref) return\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tnvueAnimation.transition(ref, {\n\t\t\t\tstyles,\n\t\t\t\t...config\n\t\t\t}, res => {\n\t\t\t\tresolve()\n\t\t\t})\n\t\t})\n\t}\n\n\t_nvueNextAnimate(animates, step = 0, fn) {\n\t\tlet obj = animates[step]\n\t\tif (obj) {\n\t\t\tlet {\n\t\t\t\tstyles,\n\t\t\t\tconfig\n\t\t\t} = obj\n\t\t\tthis._animateRun(styles, config).then(() => {\n\t\t\t\tstep += 1\n\t\t\t\tthis._nvueNextAnimate(animates, step, fn)\n\t\t\t})\n\t\t} else {\n\t\t\tthis.currentStepAnimates = {}\n\t\t\ttypeof fn === 'function' && fn()\n\t\t\tthis.isEnd = true\n\t\t}\n\t}\n\n\tstep(config = {}) {\n\n\t\tthis.animation.step(config)\n\n\n\n\n\n\n\t\treturn this\n\t}\n\n\trun(fn) {\n\n\t\tthis.$.animationData = this.animation.export()\n\t\tthis.$.timer = setTimeout(() => {\n\t\t\ttypeof fn === 'function' && fn()\n\t\t}, this.$.durationTime)\n\n\n\n\n\n\n\n\n\t}\n}\n\n\nconst animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d',\n\t'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY',\n\t'translateZ'\n]\nconst animateTypes2 = ['opacity', 'backgroundColor']\nconst animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom']\nanimateTypes1.concat(animateTypes2, animateTypes3).forEach(type => {\n\tMPAnimation.prototype[type] = function(...args) {\n\n\t\tthis.animation[type](...args)\n\n\n\n\n\t\treturn this\n\t}\n})\n\nexport function createAnimation(option, _this) {\n\tif(!_this) return\n\tclearTimeout(_this.timer)\n\treturn new MPAnimation(option, _this)\n}\n"],"sourceRoot":""}