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
652 KiB
1 lines
652 KiB
{"version":3,"sources":["webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/index.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/store/index.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/utils/store/cookie.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/utils/index.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/api/user.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/utils/request.js","webpack:///./node_modules/flyio/dist/npm/wx.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/libs/login.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/config/index.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/node_modules/dayjs/dayjs.min.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/utils/querystring.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/utils/dialog.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/node_modules/animate.css/animate.css","webpack:///../../src/util.js","webpack:///../../src/rule/required.js","webpack:///../../src/rule/whitespace.js","webpack:///../../src/rule/type.js","webpack:///../../src/rule/range.js","webpack:///../../src/rule/enum.js","webpack:///../../src/rule/pattern.js","webpack:///../../src/rule/index.js","webpack:///../../src/validator/string.js","webpack:///../../src/validator/method.js","webpack:///../../src/validator/number.js","webpack:///../../src/validator/boolean.js","webpack:///../../src/validator/regexp.js","webpack:///../../src/validator/integer.js","webpack:///../../src/validator/float.js","webpack:///../../src/validator/array.js","webpack:///../../src/validator/object.js","webpack:///../../src/validator/enum.js","webpack:///../../src/validator/pattern.js","webpack:///../../src/validator/date.js","webpack:///../../src/validator/required.js","webpack:///../../src/validator/type.js","webpack:///../../src/validator/any.js","webpack:///../../src/validator/index.js","webpack:///../../src/messages.js","webpack:///../../src/index.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/path-browserify/index.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/libs/wechat.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/api/order.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/libs/order.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/api/admin.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/api/activity.js","webpack:///./node_modules/@dcloudio/uni-stat/dist/index.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/mixins/SendVerifyCode.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/utils/validate.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/pages.json","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/api/public.js","webpack:///./node_modules/lodash.debounce/index.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/api/store.js","webpack:////Users/gaoxs/Documents/project/yshopmall_uni/utils/bc.js"],"names":["_toString","Object","prototype","toString","hasOwnProperty","isFn","fn","isStr","str","isPlainObject","obj","call","hasOwn","key","noop","cached","cache","create","cachedFn","hit","camelizeRE","camelize","replace","_","c","toUpperCase","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","i","length","indexOf","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","keys","forEach","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","callbackInterceptor","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","slice","scopedInterceptor","invokeApi","api","params","invoke","promiseInterceptor","catch","SYNC_API_RE","CONTEXT_API_RE","CALLBACK_API_RE","isContextApi","test","isSyncApi","isCallbackApi","handlePromise","err","shouldPromise","promisify","promiseApi","success","fail","complete","reject","assign","finally","constructor","value","reason","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","wx","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","result","Math","floor","interceptors","baseApi","freeze","__proto__","previewImage","args","fromArgs","currentIndex","parseInt","current","isNaN","urls","len","filter","item","indicator","loop","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","windowHeight","protocols","getSystemInfo","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","error","arg1","arg2","apply","todoApis","TODOS","createTodoApi","todoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","getUniEmitter","Emitter","Vue","ctx","$on","arguments","$off","$once","$emit","eventApi","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","mpInstance","canIUse","oldTriggerEvent","triggerEvent","event","initHook","oldHook","PAGE_EVENT_HOOKS","initMocks","vm","mocks","$mp","mpType","mock","hasHook","vueOptions","default","extendOptions","super","mixins","find","mixin","initHooks","mpOptions","$vm","__call_hook","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","split","_$vueId","_$vuePid","initData","context","methods","e","process","VUE_APP_DEBUG","JSON","parse","stringify","__lifecycle_hooks__","PROP_TYPES","String","Boolean","createObserver","observer","newVal","oldVal","initBehaviors","initBehavior","vueBehaviors","vueExtends","vueMixins","vueProps","behaviors","behavior","type","Date","props","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","target","detail","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","__get_value","isInteger","vForItem","vForKey","processEventExtra","extra","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","dataset","comType","__args__","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","handleEvent","eventOpts","eventOpt","eventsArray","charAt","isOnce","eventArray","handlerCtx","$options","generic","$parent","handler","Error","once","parseBaseApp","initRefs","store","$store","mpHost","beforeCreate","$scope","appOptions","onLaunch","app","globalData","_isMounted","findVmByVueId","vuePid","$children","childVm","parentVm","Behavior","isPage","route","initRelation","defineProperty","get","$refs","components","selectAllComponents","component","ref","forComponents","handleLink","parent","parseApp","createApp","App","parseBaseComponent","vueComponentOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","propsData","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","parsePage","createPage","createComponent","canIUseApi","apiName","uni","Proxy","set","uni$1","use","Vuex","debug","LOGIN_KEY","vuexStore","Store","state","wxCode","isAuthorizationPage","isAuthorization","footer","home","tabtarIndex","homeActive","token","backgroundColor","userInfo","mutations","SHOW_FOOTER","HIDE_FOOTER","SHOW_HOME","HIDE_HOME","OPEN_HOME","CLOSE_HOME","CHANGE_TABTAR","LOGIN","expires_time","LOGOUT","undefined","remove","BACKGROUND_COLOR","color","UPDATE_USERINFO","UPDATE_AUTHORIZATIONPAGE","UPDATE_AUTHORIZATION","UPDATE_WXCODE","log","actions","USERINFO","force","commit","reslove","dialog","changeUserInfo","user","changeTabtar","changeAuthorization","changeWxCode","getters","isLogin","strict","doc","_has","getStorageSync","all","getStorageInfoSync","time","setStorageSync","removeStorageSync","clearAll","clearStorage","has","dataFormat","d","now","getTime","diff","ceil","timeStr","getFullYear","getMonth","getDate","getHours","getMinutes","dataFormatT","trim","isType","isWeixin","parseQuery","pages","getCurrentPages","currentPage","url","getCurrentPageUrl","getCurrentPageUrlWithArgs","urlWithArgs","substring","copyClipboard","setClipboardData","showToast","title","icon","duration","toAuthorization","msg","hideLoading","path","redirect","login","loginRes","code","authorize","scope","getUserInfo","nickName","$deviceType","encryptedData","iv","spread","cookie","dispatch","querys","switchTab","parseUrl","location","queryStr","parseRoute","_$mp","page","hash","fullPath","$0","$1","uid","isTab","reLaunch","navigateTo","redirectTo","go","delta","navigateBack","back","_router","mode","handleQrCode","urlSpread","map","join","getImageInfo","images","imageAry","src","PosterCanvas","successCallBack","showLoading","mask","image","contentHh","createCanvasContext","clearRect","WIDTH","HEIGHT","fillStyle","fillRect","drawImage","save","r","cx","cy","arc","PI","clip","restore","setTextAlign","setFontSize","setFillStyle","fillText","price","draw","oi","canvasToTempFilePath","canvasId","fileType","destWidth","destHeight","tempFilePath","district","request","post","loginMobile","registerVerify","register","registerReset","getCoupon","q","getCouponReceive","id","couponId","couponReceiveBatch","getCouponsUser","getUser","wxappAuth","getMenuUser","getAddressList","getAddressRemove","getAddressDefaultSet","getAddressDefault","getAddress","postAddress","getCollectUser","limit","getCollectDel","category","postCollectAll","getCollectAdd","getSignConfig","getSignList","getSignMonth","postSignUser","sign","postSignIntegral","getSpreadInfo","getSpreadUser","screen","getSpreadOrder","where","getCommissionInfo","types","getIntegralList","getBank","postCashInfo","cash","getVipInfo","getVipTask","getBalance","getActivityStatus","getSpreadImg","postUserEdit","getChatRecord","to_uid","serviceList","rechargeWechat","getLogout","bindingPhone","switchH5Login","from","getRankList","getBrokerageRank","setDetection","fly","Fly","config","baseURL","VUE_APP_API_URL","response","toLogin","status","defaultOpt","baseRequest","headers","reduce","backUrl","bargainId","partake","VUE_APP_RESOURCES_URL","t","n","module","exports","s","u","o","a","h","f","z","utcOffset","abs","m","year","month","clone","add","p","M","y","w","D","ms","Q","toLowerCase","$","weekdays","months","l","v","g","format","pl","date","locale","$L","utc","$u","$offset","$d","NaN","match","UTC","init","$y","$M","$D","$W","getDay","$H","$m","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","day","hour","minute","second","millisecond","unix","valueOf","toDate","$locale","weekStart","$set","min","daysInMonth","round","subtract","substr","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","toJSON","toISOString","toUTCString","isDayjs","en","Ls","stringifyPrimitive","isFinite","sep","eq","k","ks","confirm","showModal","content","mes","cancel","alert","notify","loading","open","close","message","toast","validateError","validatorDefaultCatch","errors","formatRegExp","warning","fields","field","x","isNativeStringType","results","total","arrLength","func","original","next","objArr","pending","convertFieldsError","flattenArr","flattenObjArr","asyncSerialArray","firstFields","objArrKeys","objArrLength","asyncParallelArray","oe","rule","fullField","source","util","pattern","email","hex","integer","array","regexp","object","required","custom","ruleType","max","spRegexp","val","num","ENUM","_pattern","whitespace","range","validate","isEmptyValue","rules","dateObject","string","any","invalid","mismatch","cloned","messages","newMessages","Schema","deepMerge","define","oc","series","validator","errorFields","asyncMap","deep","complementError","doIt","fieldsSchema","fieldSchema","addFullfield","schema","finalErrors","errs","cb","getType","validators","getValidationMethod","messageIndex","weappPay","requestPayment","timeStamp","postOrderConfirm","cartId","postOrderComputed","getOrderCoupon","parseFloat","createOrder","getOrderData","getOrderList","cancelOrder","orderDetail","getRefundReason","postOrderRefund","takeOrder","delOrder","express","payOrder","paytype","orderVerific","verify_code","is_confirm","cancelOrderHandle","orderId","takeOrderHandle","delOrderHandle","payOrderHandle","jsConfig","mweb_url","getStatisticsInfo","getStatisticsMonth","getAdminOrderList","setAdminOrderPrice","setAdminOrderRemark","getAdminOrderDetail","getAdminOrderDelivery","setAdminOrderDelivery","getStatisticsTime","setOfflinePay","setOrderRefund","getCombinationList","getCombinationDetail","getCombinationPink","getCombinationRemove","getCombinationPoster","getSeckillConfig","getSeckillList","getSeckillDetail","getBargainList","getBargainDetail","getBargainShare","getBargainStart","getBargainHelp","getBargainHelpPrice","getBargainHelpCount","getBargainStartUser","getBargainHelpList","getBargainPoster","getBargainUserList","getBargainUserCancel","STAT_VERSION","version","STAT_URL","STAT_H5_URL","PAGE_PVER_TIME","APP_PVER_TIME","OPERATING_TIME","UUID_KEY","UUID_VALUE","getUuid","uuid","getPlatformName","plus","runtime","getDCloudId","random","getSgin","statData","sortArr","sort","sgin","sginStr","getSplicing","platformList","getPackName","packName","getAccountInfoSync","miniProgram","appId","getVersion","getChannel","platformName","channel","getScene","scene","getLaunchOptionsSync","First__Visit__Time__KEY","Last__Visit__Time__KEY","getFirstVisitTime","timeStorge","getLastVisitTime","PAGE_RESIDENCE_TIME","First_Page_residence_time","Last_Page_residence_time","setPageResidenceTime","getPageResidenceTime","TOTAL__VISIT__COUNT","getTotalVisitCount","count","GetEncodeURIComponentOptions","prop","encodeURIComponent","Set__First__Time","Set__Last__Time","getFirstTime","getLastTime","getResidenceTime","residenceTime","overtime","getRoute","_self","is","getPageRoute","self","_query","getPageTypes","calibration","eventName","PagesJson","require","statConfig","resultOptions","Util","_retry","_platform","_navigationBarTitle","report","lt","_operatingTime","_reportingRequestData","__prevent_triggering","__licationHide","__licationShow","_lastPageRoute","ut","mpn","ak","appid","usv","ch","cn","pn","ct","tt","brand","md","model","sv","system","mpsdk","SDKVersion","mpv","lang","language","pr","ww","wh","sw","screenWidth","sh","screenHeight","sc","_sendReportRequest","_sendHideRequest","urlref","urlref_ts","routepath","titleNView","titleText","navigationBarTitleText","_sendPageRequest","_sendEventRequest","fvts","lvts","tvc","getProperty","getNetworkInfo","opt","e_n","e_v","getNetworkType","net","networkType","getLocation","wgtinfo","geocode","address","country","province","city","lat","latitude","lng","longitude","ttn","ttpj","ttc","requestData","uniStatData","firstArr","contentArr","lastArr","rd","elm","newData","optionsData","requests","imageRequest","setTimeout","_sendRequest","Image","Stat","instance","addInterceptorInit","interceptLogin","interceptShare","interceptRequestPayment","_login","_share","_payment","_pageShow","_applicationShow","_pageHide","_applicationHide","em","info","emVal","stack","stat","getInstance","isHide","lifecycle","onReady","load","onShareAppMessage","oldShareAppMessage","onShow","onHide","onUnload","onError","main","disabled","text","sendCode","run","setInterval","clearInterval","bindMessage","alpha","attrs","alpha_dash","alpha_num","chs","chs_alpha","chs_alpha_num","chs_dash","chs_phone","baseAttr","attr","_attr","getHomeData","getArticleBanner","getArticleCategory","getArticleHotList","getArticleList","getShare","getArticleDetails","getWechatConfig","wechatAuth","login_type","getLogistics","imageBase64","getCategory","getProductDetail","getProductCode","getProducts","getCartNum","toCollect","getHostProducts","getGroomList","postCartAdd","getCartList","postCartDel","ids","getCartCount","changeCartNum","getSearchKeyword","getReplyList","getReplyConfig","postOrderProduct","unique","postOrderComment","div","t1","t2","r1","r2","mul","pow","s1","s2","toFixed","sub","Compute"],"mappings":"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Hf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,yBAAyB;AACxC,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB;;AAErB;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,cAAc;AACzB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA,2CAA2C,0BAA0B,EAAE;AACvE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,cAAc,qBAAqB;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,sCAAsC;;AAEtC;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,IAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,oCAAoC,EAAE;AAClE;AACA;;AAEA;AACA,4BAA4B;AAC5B,uEAAuE,EAAE;AACzE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;;AAER;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA,gCAAgC;AAChC,8BAA8B;;AAE9B,4BAA4B;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,uBAAuB,EAAE;;AAE9D;AACA;AACA;AACA;;AAEA,0BAA0B,SAAS,qBAAqB;;AAExD;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,4CAA4C,oCAAoC,EAAE;;AAElF;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA,kDAAkD,kCAAkC,EAAE;;AAEtF;AACA,gDAAgD,yBAAyB,EAAE;AAC3E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA,6CAA6C,6CAA6C,EAAE;AAC5F;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,kBAAkB;AACnD;AACA,wBAAwB,uBAAuB,EAAE;AACjD;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B,yBAAyB,EAAE;AACzD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C,uBAAuB,2CAA2C;AAClE,KAAK;AACL;AACA,wBAAwB,0CAA0C;AAClE;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B,EAAE;AACtD;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,4BAA4B;AAC5D,QAAQ,IAAqC;AAC7C;AACA;AACA,GAAG,GAAG,yBAAyB;AAC/B;;AAEA;AACA;AACA,yCAAyC,mBAAmB,EAAE;AAC9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AAC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ACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,sBAAsB,+BAA+B;AACrD,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC,EAAE;AACrF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;;AAE3C;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;;AAEvC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,aAAoB;;AAErC;AACA;AACA;AACA,YAAY,aAAoB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA,iCAAiC;AACjC,uCAAuC,wBAAwB,EAAE;AACjE,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,wCAAwC,EAAE;AAC1C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,+BAA+B,oBAAoB,EAAE;AACrD;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;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;;AAEA,0BAA0B,SAAS,qBAAqB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB;AACzD,iCAAiC,sBAAsB;AACvD;AACA,kBAAkB;AAClB,MAAM,IAAqC;AAC3C;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,aAAoB;AACtC;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,OAAO,UAAU,IAAqC;AACtD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,mBAAmB;AACtC,+BAA+B;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,oCAAoC;AACpC;AACA,qCAAqC;AACrC;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAEQ;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,qCAAqC,EAAE;AACpF;;AAEA;AACA;AACA;;AAEA,oCAAoC,yCAAyC,EAAE;AAC/E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA,4BAA4B;AAC5B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sDAAsD,EAAE;AACtF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,yBAAyB;AAC1C,GAAG;AACH;AACA;AACA,iBAAiB,+BAA+B;AAChD;AACA;;AAEA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,MAAM,EAEN;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,IAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,uCAAuC;AACvC;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,4CAA4C,eAAe;AAC3D,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,kDAAkD;AAClD,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,KAAK,UAAU,KAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,qCAAqC,gEAAgE;AACrG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,4BAA4B,+BAA+B;AAC3D,4BAA4B,+BAA+B;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C,kDAAkD;AAClD;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,uFAAuF;AAC5F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,+BAA+B;AAClC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oBAAoB;AACxC,sBAAsB,4BAA4B;AAClD;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB;AACnB,yBAAyB;AACzB;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6CAA6C;AAC9E;AACA;AACA,6CAA6C,4CAA4C;;AAEzF;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG,MAAM,EAGN;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK,2CAA2C,8BAA8B,EAAE;;AAEhF;AACA,wCAAwC,OAAO;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAqC;AACrD;AACA,oBAAoB,SAAI;AACxB;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,EAAE;;AAEpD;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,oBAAoB,KAAqC;AACzD;AACA,MAAM,SAAE;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C,qBAAqB,+BAA+B;AACpD;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA,sBAAsB,iCAAiC;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;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,OAAO;AACP,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,UAAU,IAAqC;AACpD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,8BAA8B;AAC9B,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD;AAClD,0D;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,0CAA0C,2BAA2B,EAAE;AACvE,KAAK;AACL;AACA,0CAA0C,4BAA4B,EAAE;AACxE,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,gFAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,gCAAgC,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA,WAAW,gFAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,gFAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0CAA0C;;AAE1C;AACA;AACA;AACA,GAAG;AACH;AACA,sCAAsC;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,KAAK;AACL;AACA;AACA,UAAU,gFAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qDAAqD,EAAE,SAAS;AACtH;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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ACA;AACA,mDAAmD,cAAc;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA,8DAA8D,+DAA+D;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;;AAGA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,oBAAoB;AACpB;;AAEA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,qBAAqB;AACxE,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA,oBAAoB;AACpB;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;;AAGA;;AAEA;AACA;AACA,oDAAoD,YAAY;AAChE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA,CAAC,E;;;;;;;;;;;;;ACxxBD;AACA;AACA,oD;;AAEe,SAASoE,OAAT,CAAiB1lB,IAAjB,EAAuBgmB,OAAvB,EAAgC;AAC7CjU,iBAAM8G,MAAN,CAAa,QAAb;AACA,MAAI9G,eAAMsH,OAAN,CAAcvC,eAAlB,EAAmC;AACjC;AACA;AACD;AACD,MAAI/E,eAAMsH,OAAN,CAAcxC,mBAAd,IAAqC,mCAAuB,yBAAhE,EAA2F;AACzF;AACD;;AAED;AACA,MAAI,mCAAuB,qCAAvB,IAAgE,0BAApE,EAAoF;AAClF,QAAI0E,GAAG,GAAG,0BAAV;AACA,QAAIA,GAAJ,EAAS;AACPlU,aAAO,CAACoR,GAAR,CAAY,SAAZ;AACA,0BAAQ,EAAE4D,IAAI,EAAE,yBAAR,EAAmC1G,KAAK,EAAE,EAAE2G,QAAQ,aAAM,+BAAN,CAAV,EAAuCyF,EAAE,EAAExG,GAAG,CAAC0K,SAA/C,EAA0DC,OAAO,EAAE3K,GAAG,CAACyC,GAAvE,EAA1C,EAAR;AACD,KAHD,MAGO;AACL,0BAAQ,EAAE3B,IAAI,EAAE,yBAAR,EAAmC1G,KAAK,kBAAI2G,QAAQ,aAAM,+BAAN,CAAZ,IAA4C,wBAA5C,CAAxC,EAAR;AACD;AACF,GARD,MAQO;AACLjV,WAAO,CAACoR,GAAR,CAAY,SAAZ;AACA,wBAAQ,EAAE4D,IAAI,EAAE,yBAAR,EAAmC1G,KAAK,kBAAI2G,QAAQ,aAAM,+BAAN,CAAZ,IAA4C,wBAA5C,CAAxC,EAAR;AACD;AACDvK,iBAAM8G,MAAN,CAAa,sBAAb,EAAqC,KAArC;AACA9G,iBAAM8G,MAAN,CAAa,0BAAb,EAAyC,IAAzC;AACD,C;;;;;;;;;;;;;AC7BM,IAAM2M,eAAe,GAAG,kCAAxB,C;AACA,IAAMW,qBAAqB,GAAG,kCAA9B,C;;;;;;;;;;;;ACFP,CAAC,UAASC,CAAT,EAAWC,CAAX,EAAa,CAAC,QAAqDC,MAAM,CAACC,OAAP,GAAeF,CAAC,EAArE,GAAwE,SAAxE,CAAoI,CAAlJ,SAAwJ,YAAU,CAAC,aAAa,IAAID,CAAC,GAAC,aAAN,CAAoBC,CAAC,GAAC,QAAtB,CAA+B9Z,CAAC,GAAC,QAAjC,CAA0C0T,CAAC,GAAC,MAA5C,CAAmDpgB,CAAC,GAAC,KAArD,CAA2D2mB,CAAC,GAAC,MAA7D,CAAoEC,CAAC,GAAC,OAAtE,CAA8EC,CAAC,GAAC,SAAhF,CAA0FC,CAAC,GAAC,MAA5F,CAAmGC,CAAC,GAAC,sFAArG,CAA4LC,CAAC,GAAC,qFAA9L,CAAoR9nB,CAAC,GAAC,SAAFA,CAAE,CAASqnB,CAAT,EAAWC,CAAX,EAAa9Z,CAAb,EAAe,CAAC,IAAI0T,CAAC,GAAClT,MAAM,CAACqZ,CAAD,CAAZ,CAAgB,OAAM,CAACnG,CAAD,IAAIA,CAAC,CAACngB,MAAF,IAAUumB,CAAd,GAAgBD,CAAhB,GAAkB,KAAG3mB,KAAK,CAAC4mB,CAAC,GAAC,CAAF,GAAIpG,CAAC,CAACngB,MAAP,CAAL,CAAoBgf,IAApB,CAAyBvS,CAAzB,CAAH,GAA+B6Z,CAAvD,CAAyD,CAA/W,CAAgXhM,CAAC,GAAC,EAACoM,CAAC,EAACznB,CAAH,EAAK+nB,CAAC,EAAC,WAASV,CAAT,EAAW,CAAC,IAAIC,CAAC,GAAC,CAACD,CAAC,CAACW,SAAF,EAAP,CAAqBxa,CAAC,GAAC1H,IAAI,CAACmiB,GAAL,CAASX,CAAT,CAAvB,CAAmCpG,CAAC,GAACpb,IAAI,CAACC,KAAL,CAAWyH,CAAC,GAAC,EAAb,CAArC,CAAsD1M,CAAC,GAAC0M,CAAC,GAAC,EAA1D,CAA6D,OAAM,CAAC8Z,CAAC,IAAE,CAAH,GAAK,GAAL,GAAS,GAAV,IAAetnB,CAAC,CAACkhB,CAAD,EAAG,CAAH,EAAK,GAAL,CAAhB,GAA0B,GAA1B,GAA8BlhB,CAAC,CAACc,CAAD,EAAG,CAAH,EAAK,GAAL,CAArC,CAA+C,CAA/H,EAAgIonB,CAAC,EAAC,WAASb,CAAT,EAAWC,CAAX,EAAa,CAAC,IAAI9Z,CAAC,GAAC,MAAI8Z,CAAC,CAACa,IAAF,KAASd,CAAC,CAACc,IAAF,EAAb,KAAwBb,CAAC,CAACc,KAAF,KAAUf,CAAC,CAACe,KAAF,EAAlC,CAAN,CAAmDlH,CAAC,GAACmG,CAAC,CAACgB,KAAF,GAAUC,GAAV,CAAc9a,CAAd,EAAgBka,CAAhB,CAArD,CAAwE5mB,CAAC,GAACwmB,CAAC,GAACpG,CAAF,GAAI,CAA9E,CAAgFuG,CAAC,GAACJ,CAAC,CAACgB,KAAF,GAAUC,GAAV,CAAc9a,CAAC,IAAE1M,CAAC,GAAC,CAAC,CAAF,GAAI,CAAP,CAAf,EAAyB4mB,CAAzB,CAAlF,CAA8G,OAAO9hB,MAAM,CAAC,EAAE4H,CAAC,GAAC,CAAC8Z,CAAC,GAACpG,CAAH,KAAOpgB,CAAC,GAACogB,CAAC,GAACuG,CAAH,GAAKA,CAAC,GAACvG,CAAf,CAAJ,KAAwB,CAAzB,CAAb,CAAyC,CAAvS,EAAwS0G,CAAC,EAAC,WAASP,CAAT,EAAW,CAAC,OAAOA,CAAC,GAAC,CAAF,GAAIvhB,IAAI,CAAC2V,IAAL,CAAU4L,CAAV,KAAc,CAAlB,GAAoBvhB,IAAI,CAACC,KAAL,CAAWshB,CAAX,CAA3B,CAAyC,CAA/V,EAAgWkB,CAAC,EAAC,WAASV,CAAT,EAAW,CAAC,OAAM,EAACW,CAAC,EAACd,CAAH,EAAKe,CAAC,EAACb,CAAP,EAASc,CAAC,EAACjB,CAAX,EAAapM,CAAC,EAACva,CAAf,EAAiB6nB,CAAC,EAAC,MAAnB,EAA0Bd,CAAC,EAAC3G,CAA5B,EAA8BgH,CAAC,EAAC1a,CAAhC,EAAkCia,CAAC,EAACH,CAApC,EAAsCsB,EAAE,EAACvB,CAAzC,EAA2CwB,CAAC,EAAClB,CAA7C,GAAgDE,CAAhD,KAAoD7Z,MAAM,CAAC6Z,CAAC,IAAE,EAAJ,CAAN,CAAciB,WAAd,GAA4BhpB,OAA5B,CAAoC,IAApC,EAAyC,EAAzC,CAA1D,CAAuG,CAArd,EAAsd4nB,CAAC,EAAC,WAASL,CAAT,EAAW,CAAC,OAAO,KAAK,CAAL,KAASA,CAAhB,CAAkB,CAAtf,EAAlX,CAA02B0B,CAAC,GAAC,EAACrmB,IAAI,EAAC,IAAN,EAAWsmB,QAAQ,EAAC,2DAA2D9b,KAA3D,CAAiE,GAAjE,CAApB,EAA0F+b,MAAM,EAAC,wFAAwF/b,KAAxF,CAA8F,GAA9F,CAAjG,EAA52B,CAAijCgc,CAAC,GAAC,IAAnjC,CAAwjChB,CAAC,GAAC,EAA1jC,CAA6jCA,CAAC,CAACgB,CAAD,CAAD,GAAKH,CAAL,CAAO,IAAIN,CAAC,GAAC,SAAFA,CAAE,CAASpB,CAAT,EAAW,CAAC,OAAOA,CAAC,YAAY8B,CAApB,CAAsB,CAAxC,CAAyCX,CAAC,GAAC,SAAFA,CAAE,CAASnB,CAAT,EAAWC,CAAX,EAAa9Z,CAAb,EAAe,CAAC,IAAI0T,CAAJ,CAAM,IAAG,CAACmG,CAAJ,EAAM,OAAO6B,CAAP,CAAS,IAAG,YAAU,OAAO7B,CAApB,EAAsBa,CAAC,CAACb,CAAD,CAAD,KAAOnG,CAAC,GAACmG,CAAT,GAAYC,CAAC,KAAGY,CAAC,CAACb,CAAD,CAAD,GAAKC,CAAL,EAAOpG,CAAC,GAACmG,CAAZ,CAAb,CAAtB,KAAsD,CAAC,IAAIvmB,CAAC,GAACumB,CAAC,CAAC3kB,IAAR,CAAawlB,CAAC,CAACpnB,CAAD,CAAD,GAAKumB,CAAL,EAAOnG,CAAC,GAACpgB,CAAT,CAAW,QAAM,CAAC0M,CAAD,IAAI0T,CAAJ,KAAQgI,CAAC,GAAChI,CAAV,GAAaA,CAAC,IAAE,CAAC1T,CAAD,IAAI0b,CAA1B,CAA4B,CAA3L,CAA4LE,CAAC,GAAC,SAAFA,CAAE,CAAS/B,CAAT,EAAWC,CAAX,EAAa9Z,CAAb,EAAe,CAAC,IAAGib,CAAC,CAACpB,CAAD,CAAJ,EAAQ,OAAOA,CAAC,CAACgB,KAAF,EAAP,CAAiB,IAAInH,CAAC,GAACoG,CAAC,GAAC,YAAU,OAAOA,CAAjB,GAAmB,EAAC+B,MAAM,EAAC/B,CAAR,EAAUgC,EAAE,EAAC9b,CAAb,EAAnB,GAAmC8Z,CAApC,GAAsC,EAA7C,CAAgD,OAAOpG,CAAC,CAACqI,IAAF,GAAOlC,CAAP,EAAS,IAAI8B,CAAJ,CAAMjI,CAAN,CAAhB,CAAyB,CAAhT,CAAiTyH,CAAC,GAACtN,CAAnT,CAAqTsN,CAAC,CAACO,CAAF,GAAIV,CAAJ,EAAMG,CAAC,CAAC7nB,CAAF,GAAI2nB,CAAV,EAAYE,CAAC,CAACD,CAAF,GAAI,UAASrB,CAAT,EAAWC,CAAX,EAAa,CAAC,OAAO8B,CAAC,CAAC/B,CAAD,EAAG,EAACmC,MAAM,EAAClC,CAAC,CAACmC,EAAV,EAAaC,GAAG,EAACpC,CAAC,CAACqC,EAAnB,EAAsBC,OAAO,EAACtC,CAAC,CAACsC,OAAhC,EAAH,CAAR,CAAqD,CAAnF,CAAoF,IAAIT,CAAC,GAAC,YAAU,CAAC,SAASnpB,CAAT,CAAWqnB,CAAX,EAAa,CAAC,KAAKoC,EAAL,GAAQ,KAAKA,EAAL,IAASjB,CAAC,CAACnB,CAAC,CAACmC,MAAH,EAAU,IAAV,EAAe,CAAC,CAAhB,CAAlB,EAAqC,KAAK5b,KAAL,CAAWyZ,CAAX,CAArC,CAAmD,KAAIhM,CAAC,GAACrb,CAAC,CAACtB,SAAR,CAAkB,OAAO2c,CAAC,CAACzN,KAAF,GAAQ,UAASyZ,CAAT,EAAW,CAAC,KAAKwC,EAAL,GAAQ,UAASxC,CAAT,EAAW,CAAC,IAAIC,CAAC,GAACD,CAAC,CAACkC,IAAR,CAAa/b,CAAC,GAAC6Z,CAAC,CAACqC,GAAjB,CAAqB,IAAG,SAAOpC,CAAV,EAAY,OAAO,IAAIvY,IAAJ,CAAS+a,GAAT,CAAP,CAAqB,IAAGnB,CAAC,CAACjB,CAAF,CAAIJ,CAAJ,CAAH,EAAU,OAAO,IAAIvY,IAAJ,EAAP,CAAgB,IAAGuY,CAAC,YAAYvY,IAAhB,EAAqB,OAAO,IAAIA,IAAJ,CAASuY,CAAT,CAAP,CAAmB,IAAG,YAAU,OAAOA,CAAjB,IAAoB,CAAC,MAAMzjB,IAAN,CAAWyjB,CAAX,CAAxB,EAAsC,CAAC,IAAIpG,CAAC,GAACoG,CAAC,CAACyC,KAAF,CAAQlC,CAAR,CAAN,CAAiB,IAAG3G,CAAH,EAAK,OAAO1T,CAAC,GAAC,IAAIuB,IAAJ,CAASA,IAAI,CAACib,GAAL,CAAS9I,CAAC,CAAC,CAAD,CAAV,EAAcA,CAAC,CAAC,CAAD,CAAD,GAAK,CAAnB,EAAqBA,CAAC,CAAC,CAAD,CAAD,IAAM,CAA3B,EAA6BA,CAAC,CAAC,CAAD,CAAD,IAAM,CAAnC,EAAqCA,CAAC,CAAC,CAAD,CAAD,IAAM,CAA3C,EAA6CA,CAAC,CAAC,CAAD,CAAD,IAAM,CAAnD,EAAqDA,CAAC,CAAC,CAAD,CAAD,IAAM,CAA3D,CAAT,CAAD,GAAyE,IAAInS,IAAJ,CAASmS,CAAC,CAAC,CAAD,CAAV,EAAcA,CAAC,CAAC,CAAD,CAAD,GAAK,CAAnB,EAAqBA,CAAC,CAAC,CAAD,CAAD,IAAM,CAA3B,EAA6BA,CAAC,CAAC,CAAD,CAAD,IAAM,CAAnC,EAAqCA,CAAC,CAAC,CAAD,CAAD,IAAM,CAA3C,EAA6CA,CAAC,CAAC,CAAD,CAAD,IAAM,CAAnD,EAAqDA,CAAC,CAAC,CAAD,CAAD,IAAM,CAA3D,CAAjF,CAA+I,QAAO,IAAInS,IAAJ,CAASuY,CAAT,CAAP,CAAmB,CAAnW,CAAoWD,CAApW,CAAR,EAA+W,KAAK4C,IAAL,EAA/W,CAA2X,CAA/Y,EAAgZ5O,CAAC,CAAC4O,IAAF,GAAO,YAAU,CAAC,IAAI5C,CAAC,GAAC,KAAKwC,EAAX,CAAc,KAAKK,EAAL,GAAQ7C,CAAC,CAAC1L,WAAF,EAAR,EAAwB,KAAKwO,EAAL,GAAQ9C,CAAC,CAACzL,QAAF,EAAhC,EAA6C,KAAKwO,EAAL,GAAQ/C,CAAC,CAACxL,OAAF,EAArD,EAAiE,KAAKwO,EAAL,GAAQhD,CAAC,CAACiD,MAAF,EAAzE,EAAoF,KAAKC,EAAL,GAAQlD,CAAC,CAACvL,QAAF,EAA5F,EAAyG,KAAK0O,EAAL,GAAQnD,CAAC,CAACtL,UAAF,EAAjH,EAAgI,KAAK0O,EAAL,GAAQpD,CAAC,CAACqD,UAAF,EAAxI,EAAuJ,KAAKC,GAAL,GAAStD,CAAC,CAACuD,eAAF,EAAhK,CAAoL,CAApmB,EAAqmBvP,CAAC,CAACwP,MAAF,GAAS,YAAU,CAAC,OAAOlC,CAAP,CAAS,CAAloB,EAAmoBtN,CAAC,CAACyP,OAAF,GAAU,YAAU,CAAC,OAAM,EAAE,mBAAiB,KAAKjB,EAAL,CAAQlrB,QAAR,EAAnB,CAAN,CAA6C,CAArsB,EAAssB0c,CAAC,CAAC0P,MAAF,GAAS,UAAS1D,CAAT,EAAWC,CAAX,EAAa,CAAC,IAAI9Z,CAAC,GAAC4b,CAAC,CAAC/B,CAAD,CAAP,CAAW,OAAO,KAAK2D,OAAL,CAAa1D,CAAb,KAAiB9Z,CAAjB,IAAoBA,CAAC,IAAE,KAAKyd,KAAL,CAAW3D,CAAX,CAA9B,CAA4C,CAApxB,EAAqxBjM,CAAC,CAAC6P,OAAF,GAAU,UAAS7D,CAAT,EAAWC,CAAX,EAAa,CAAC,OAAO8B,CAAC,CAAC/B,CAAD,CAAD,GAAK,KAAK2D,OAAL,CAAa1D,CAAb,CAAZ,CAA4B,CAAz0B,EAA00BjM,CAAC,CAAC8P,QAAF,GAAW,UAAS9D,CAAT,EAAWC,CAAX,EAAa,CAAC,OAAO,KAAK2D,KAAL,CAAW3D,CAAX,IAAc8B,CAAC,CAAC/B,CAAD,CAAtB,CAA0B,CAA73B,EAA83BhM,CAAC,CAAC+P,EAAF,GAAK,UAAS/D,CAAT,EAAWC,CAAX,EAAa9Z,CAAb,EAAe,CAAC,OAAOmb,CAAC,CAACjB,CAAF,CAAIL,CAAJ,IAAO,KAAKC,CAAL,CAAP,GAAe,KAAKlQ,GAAL,CAAS5J,CAAT,EAAW6Z,CAAX,CAAtB,CAAoC,CAAv7B,EAAw7BhM,CAAC,CAAC8M,IAAF,GAAO,UAASd,CAAT,EAAW,CAAC,OAAO,KAAK+D,EAAL,CAAQ/D,CAAR,EAAU,IAAV,EAAeO,CAAf,CAAP,CAAyB,CAAp+B,EAAq+BvM,CAAC,CAAC+M,KAAF,GAAQ,UAASf,CAAT,EAAW,CAAC,OAAO,KAAK+D,EAAL,CAAQ/D,CAAR,EAAU,IAAV,EAAeK,CAAf,CAAP,CAAyB,CAAlhC,EAAmhCrM,CAAC,CAACgQ,GAAF,GAAM,UAAShE,CAAT,EAAW,CAAC,OAAO,KAAK+D,EAAL,CAAQ/D,CAAR,EAAU,IAAV,EAAevmB,CAAf,CAAP,CAAyB,CAA9jC,EAA+jCua,CAAC,CAACkO,IAAF,GAAO,UAASlC,CAAT,EAAW,CAAC,OAAO,KAAK+D,EAAL,CAAQ/D,CAAR,EAAU,IAAV,EAAe,MAAf,CAAP,CAA8B,CAAhnC,EAAinChM,CAAC,CAACiQ,IAAF,GAAO,UAASjE,CAAT,EAAW,CAAC,OAAO,KAAK+D,EAAL,CAAQ/D,CAAR,EAAU,IAAV,EAAenG,CAAf,CAAP,CAAyB,CAA7pC,EAA8pC7F,CAAC,CAACkQ,MAAF,GAAS,UAASlE,CAAT,EAAW,CAAC,OAAO,KAAK+D,EAAL,CAAQ/D,CAAR,EAAU,IAAV,EAAe7Z,CAAf,CAAP,CAAyB,CAA5sC,EAA6sC6N,CAAC,CAACmQ,MAAF,GAAS,UAASnE,CAAT,EAAW,CAAC,OAAO,KAAK+D,EAAL,CAAQ/D,CAAR,EAAU,IAAV,EAAeC,CAAf,CAAP,CAAyB,CAA3vC,EAA4vCjM,CAAC,CAACoQ,WAAF,GAAc,UAASnE,CAAT,EAAW,CAAC,OAAO,KAAK8D,EAAL,CAAQ9D,CAAR,EAAU,KAAV,EAAgBD,CAAhB,CAAP,CAA0B,CAAhzC,EAAizChM,CAAC,CAACqQ,IAAF,GAAO,YAAU,CAAC,OAAO5lB,IAAI,CAACC,KAAL,CAAW,KAAK4lB,OAAL,KAAe,GAA1B,CAAP,CAAsC,CAAz2C,EAA02CtQ,CAAC,CAACsQ,OAAF,GAAU,YAAU,CAAC,OAAO,KAAK9B,EAAL,CAAQtO,OAAR,EAAP,CAAyB,CAAx5C,EAAy5CF,CAAC,CAAC2P,OAAF,GAAU,UAAS3D,CAAT,EAAWM,CAAX,EAAa,CAAC,IAAIE,CAAC,GAAC,IAAN,CAAWC,CAAC,GAAC,CAAC,CAACa,CAAC,CAACjB,CAAF,CAAIC,CAAJ,CAAF,IAAUA,CAAvB,CAAyB3nB,CAAC,GAAC2oB,CAAC,CAACJ,CAAF,CAAIlB,CAAJ,CAA3B,CAAkChM,CAAC,GAAC,SAAFA,CAAE,CAASgM,CAAT,EAAWC,CAAX,EAAa,CAAC,IAAI9Z,CAAC,GAACmb,CAAC,CAACD,CAAF,CAAIb,CAAC,CAAC8B,EAAF,GAAK5a,IAAI,CAACib,GAAL,CAASnC,CAAC,CAACqC,EAAX,EAAc5C,CAAd,EAAgBD,CAAhB,CAAL,GAAwB,IAAItY,IAAJ,CAAS8Y,CAAC,CAACqC,EAAX,EAAc5C,CAAd,EAAgBD,CAAhB,CAA5B,EAA+CQ,CAA/C,CAAN,CAAwD,OAAOC,CAAC,GAACta,CAAD,GAAGA,CAAC,CAACyd,KAAF,CAAQnqB,CAAR,CAAX,CAAsB,CAAhI,CAAiIioB,CAAC,GAAC,SAAFA,CAAE,CAAS1B,CAAT,EAAWC,CAAX,EAAa,CAAC,OAAOqB,CAAC,CAACD,CAAF,CAAIb,CAAC,CAAC+D,MAAF,GAAWvE,CAAX,EAAcve,KAAd,CAAoB+e,CAAC,CAAC+D,MAAF,EAApB,EAA+B,CAAC9D,CAAC,GAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,CAAD,GAAW,CAAC,EAAD,EAAI,EAAJ,EAAO,EAAP,EAAU,GAAV,CAAb,EAA6B7kB,KAA7B,CAAmCqkB,CAAnC,CAA/B,CAAJ,EAA0EO,CAA1E,CAAP,CAAoF,CAArO,CAAsOqB,CAAC,GAAC,KAAKmB,EAA7O,CAAgPnC,CAAC,GAAC,KAAKiC,EAAvP,CAA0P1B,CAAC,GAAC,KAAK2B,EAAjQ,CAAoQ5B,CAAC,GAAC,SAAO,KAAKmB,EAAL,GAAQ,KAAR,GAAc,EAArB,CAAtQ,CAA+R,QAAO3pB,CAAP,GAAU,KAAK4nB,CAAL,CAAO,OAAOE,CAAC,GAACzM,CAAC,CAAC,CAAD,EAAG,CAAH,CAAF,GAAQA,CAAC,CAAC,EAAD,EAAI,EAAJ,CAAjB,CAAyB,KAAKqM,CAAL,CAAO,OAAOI,CAAC,GAACzM,CAAC,CAAC,CAAD,EAAG6M,CAAH,CAAF,GAAQ7M,CAAC,CAAC,CAAD,EAAG6M,CAAC,GAAC,CAAL,CAAjB,CAAyB,KAAKT,CAAL,CAAO,IAAI2B,CAAC,GAAC,KAAKyC,OAAL,GAAeC,SAAf,IAA0B,CAAhC,CAAkC3C,CAAC,GAAC,CAACD,CAAC,GAACE,CAAF,GAAIF,CAAC,GAAC,CAAN,GAAQA,CAAT,IAAYE,CAAhD,CAAkD,OAAO/N,CAAC,CAACyM,CAAC,GAACW,CAAC,GAACU,CAAH,GAAKV,CAAC,IAAE,IAAEU,CAAJ,CAAR,EAAejB,CAAf,CAAR,CAA0B,KAAKpnB,CAAL,CAAO,KAAI,MAAJ,CAAW,OAAOioB,CAAC,CAACP,CAAC,GAAC,OAAH,EAAW,CAAX,CAAR,CAAsB,KAAKtH,CAAL,CAAO,OAAO6H,CAAC,CAACP,CAAC,GAAC,SAAH,EAAa,CAAb,CAAR,CAAwB,KAAKhb,CAAL,CAAO,OAAOub,CAAC,CAACP,CAAC,GAAC,SAAH,EAAa,CAAb,CAAR,CAAwB,KAAKlB,CAAL,CAAO,OAAOyB,CAAC,CAACP,CAAC,GAAC,cAAH,EAAkB,CAAlB,CAAR,CAA6B,QAAQ,OAAO,KAAKH,KAAL,EAAP,CAA/S,CAAoU,CAAphE,EAAqhEhN,CAAC,CAAC4P,KAAF,GAAQ,UAAS5D,CAAT,EAAW,CAAC,OAAO,KAAK2D,OAAL,CAAa3D,CAAb,EAAe,CAAC,CAAhB,CAAP,CAA0B,CAAnkE,EAAokEhM,CAAC,CAAC0Q,IAAF,GAAO,UAAStE,CAAT,EAAWE,CAAX,EAAa,CAAC,IAAIE,CAAJ,CAAMC,CAAC,GAACa,CAAC,CAACJ,CAAF,CAAId,CAAJ,CAAR,CAAeznB,CAAC,GAAC,SAAO,KAAK2pB,EAAL,GAAQ,KAAR,GAAc,EAArB,CAAjB,CAA0CtO,CAAC,GAAC,CAACwM,CAAC,GAAC,EAAF,EAAKA,CAAC,CAAC/mB,CAAD,CAAD,GAAKd,CAAC,GAAC,MAAZ,EAAmB6nB,CAAC,CAAC0B,IAAF,GAAOvpB,CAAC,GAAC,MAA5B,EAAmC6nB,CAAC,CAACH,CAAD,CAAD,GAAK1nB,CAAC,GAAC,OAA1C,EAAkD6nB,CAAC,CAACD,CAAD,CAAD,GAAK5nB,CAAC,GAAC,UAAzD,EAAoE6nB,CAAC,CAAC3G,CAAD,CAAD,GAAKlhB,CAAC,GAAC,OAA3E,EAAmF6nB,CAAC,CAACra,CAAD,CAAD,GAAKxN,CAAC,GAAC,SAA1F,EAAoG6nB,CAAC,CAACP,CAAD,CAAD,GAAKtnB,CAAC,GAAC,SAA3G,EAAqH6nB,CAAC,CAACR,CAAD,CAAD,GAAKrnB,CAAC,GAAC,cAA5H,EAA2I6nB,CAA5I,EAA+IC,CAA/I,CAA5C,CAA8LiB,CAAC,GAACjB,CAAC,KAAGhnB,CAAJ,GAAM,KAAKspB,EAAL,IAASzC,CAAC,GAAC,KAAK0C,EAAhB,CAAN,GAA0B1C,CAA1N,CAA4N,IAAGG,CAAC,KAAGJ,CAAJ,IAAOI,CAAC,KAAGF,CAAd,EAAgB,CAAC,IAAIsB,CAAC,GAAC,KAAKb,KAAL,GAAajR,GAAb,CAAiB,MAAjB,EAAwB,CAAxB,CAAN,CAAiC8R,CAAC,CAACW,EAAF,CAAKxO,CAAL,EAAQ0N,CAAR,GAAWG,CAAC,CAACe,IAAF,EAAX,EAAoB,KAAKJ,EAAL,GAAQX,CAAC,CAAC9R,GAAF,CAAM,MAAN,EAAatR,IAAI,CAACkmB,GAAL,CAAS,KAAK5B,EAAd,EAAiBlB,CAAC,CAAC+C,WAAF,EAAjB,CAAb,EAAgDL,MAAhD,EAA5B,CAAqF,CAAvI,MAA4IvQ,CAAC,IAAE,KAAKwO,EAAL,CAAQxO,CAAR,EAAW0N,CAAX,CAAH,CAAiB,OAAO,KAAKkB,IAAL,IAAY,IAAnB,CAAwB,CAA1+E,EAA2+E5O,CAAC,CAACjE,GAAF,GAAM,UAASiQ,CAAT,EAAWC,CAAX,EAAa,CAAC,OAAO,KAAKe,KAAL,GAAa0D,IAAb,CAAkB1E,CAAlB,EAAoBC,CAApB,CAAP,CAA8B,CAA7hF,EAA8hFjM,CAAC,CAACjH,GAAF,GAAM,UAASiT,CAAT,EAAW,CAAC,OAAO,KAAKsB,CAAC,CAACJ,CAAF,CAAIlB,CAAJ,CAAL,GAAP,CAAsB,CAAtkF,EAAukFhM,CAAC,CAACiN,GAAF,GAAM,UAASjB,CAAT,EAAWM,CAAX,EAAa,CAAC,IAAIE,CAAJ,CAAMC,CAAC,GAAC,IAAR,CAAaT,CAAC,GAACzhB,MAAM,CAACyhB,CAAD,CAAR,CAAY,IAAIrnB,CAAC,GAAC2oB,CAAC,CAACJ,CAAF,CAAIZ,CAAJ,CAAN,CAAatM,CAAC,GAAC,SAAFA,CAAE,CAASiM,CAAT,EAAW,CAAC,IAAI9Z,CAAC,GAAC4b,CAAC,CAACtB,CAAD,CAAP,CAAW,OAAOa,CAAC,CAACD,CAAF,CAAIlb,CAAC,CAAC+b,IAAF,CAAO/b,CAAC,CAAC+b,IAAF,KAASzjB,IAAI,CAAComB,KAAL,CAAW5E,CAAC,GAACD,CAAb,CAAhB,CAAJ,EAAqCS,CAArC,CAAP,CAA+C,CAArF,CAAsF,IAAG9nB,CAAC,KAAG0nB,CAAP,EAAS,OAAO,KAAKtQ,GAAL,CAASsQ,CAAT,EAAW,KAAKyC,EAAL,GAAQ9C,CAAnB,CAAP,CAA6B,IAAGrnB,CAAC,KAAG4nB,CAAP,EAAS,OAAO,KAAKxQ,GAAL,CAASwQ,CAAT,EAAW,KAAKsC,EAAL,GAAQ7C,CAAnB,CAAP,CAA6B,IAAGrnB,CAAC,KAAGc,CAAP,EAAS,OAAOua,CAAC,CAAC,CAAD,CAAR,CAAY,IAAGrb,CAAC,KAAGynB,CAAP,EAAS,OAAOpM,CAAC,CAAC,CAAD,CAAR,CAAY,IAAI0N,CAAC,GAAC,CAAClB,CAAC,GAAC,EAAF,EAAKA,CAAC,CAACra,CAAD,CAAD,GAAK,GAAV,EAAcqa,CAAC,CAAC3G,CAAD,CAAD,GAAK,IAAnB,EAAwB2G,CAAC,CAACP,CAAD,CAAD,GAAK,GAA7B,EAAiCO,CAAlC,EAAqC7nB,CAArC,KAAyC,CAA/C,CAAiDkpB,CAAC,GAAC,KAAKW,EAAL,CAAQtO,OAAR,KAAkB8L,CAAC,GAAC0B,CAAvE,CAAyE,OAAOJ,CAAC,CAACD,CAAF,CAAIQ,CAAJ,EAAM,IAAN,CAAP,CAAmB,CAA55F,EAA65F7N,CAAC,CAAC8Q,QAAF,GAAW,UAAS9E,CAAT,EAAWC,CAAX,EAAa,CAAC,OAAO,KAAKgB,GAAL,CAAS,CAAC,CAAD,GAAGjB,CAAZ,EAAcC,CAAd,CAAP,CAAwB,CAA98F,EAA+8FjM,CAAC,CAACgO,MAAF,GAAS,UAAShC,CAAT,EAAW,CAAC,IAAIC,CAAC,GAAC,IAAN,CAAW,IAAG,CAAC,KAAKwD,OAAL,EAAJ,EAAmB,OAAM,cAAN,CAAqB,IAAItd,CAAC,GAAC6Z,CAAC,IAAE,sBAAT,CAAgCnG,CAAC,GAACyH,CAAC,CAACZ,CAAF,CAAI,IAAJ,CAAlC,CAA4CjnB,CAAC,GAAC,KAAK+qB,OAAL,EAA9C,CAA6DpE,CAAC,GAAC,KAAK8C,EAApE,CAAuE7C,CAAC,GAAC,KAAK8C,EAA9E,CAAiF7C,CAAC,GAAC,KAAKwC,EAAxF,CAA2FvC,CAAC,GAAC9mB,CAAC,CAACkoB,QAA/F,CAAwGnB,CAAC,GAAC/mB,CAAC,CAACmoB,MAA5G,CAAmHjpB,CAAC,GAAC,SAAFA,CAAE,CAASqnB,CAAT,EAAWnG,CAAX,EAAapgB,CAAb,EAAe2mB,CAAf,EAAiB,CAAC,OAAOJ,CAAC,KAAGA,CAAC,CAACnG,CAAD,CAAD,IAAMmG,CAAC,CAACC,CAAD,EAAG9Z,CAAH,CAAV,CAAD,IAAmB1M,CAAC,CAACogB,CAAD,CAAD,CAAKkL,MAAL,CAAY,CAAZ,EAAc3E,CAAd,CAA1B,CAA2C,CAAlL,CAAmLpM,CAAC,GAAC,SAAFA,CAAE,CAASgM,CAAT,EAAW,CAAC,OAAOsB,CAAC,CAAClB,CAAF,CAAIA,CAAC,GAAC,EAAF,IAAM,EAAV,EAAaJ,CAAb,EAAe,GAAf,CAAP,CAA2B,CAA5N,CAA6N0B,CAAC,GAACjoB,CAAC,CAACurB,QAAF,IAAY,UAAShF,CAAT,EAAWC,CAAX,EAAa9Z,CAAb,EAAe,CAAC,IAAI0T,CAAC,GAACmG,CAAC,GAAC,EAAF,GAAK,IAAL,GAAU,IAAhB,CAAqB,OAAO7Z,CAAC,GAAC0T,CAAC,CAAC4H,WAAF,EAAD,GAAiB5H,CAAzB,CAA2B,CAA3S,CAA4SgI,CAAC,GAAC,EAACoD,EAAE,EAACte,MAAM,CAAC,KAAKkc,EAAN,CAAN,CAAgBjnB,KAAhB,CAAsB,CAAC,CAAvB,CAAJ,EAA8BspB,IAAI,EAAC,KAAKrC,EAAxC,EAA2C1B,CAAC,EAACb,CAAC,GAAC,CAA/C,EAAiD6E,EAAE,EAAC7D,CAAC,CAAClB,CAAF,CAAIE,CAAC,GAAC,CAAN,EAAQ,CAAR,EAAU,GAAV,CAApD,EAAmE8E,GAAG,EAACzsB,CAAC,CAACc,CAAC,CAAC4rB,WAAH,EAAe/E,CAAf,EAAiBE,CAAjB,EAAmB,CAAnB,CAAxE,EAA8F8E,IAAI,EAAC9E,CAAC,CAACF,CAAD,CAAD,IAAME,CAAC,CAAC,IAAD,EAAMra,CAAN,CAA1G,EAAmHmb,CAAC,EAAC,KAAKyB,EAA1H,EAA6HwC,EAAE,EAACjE,CAAC,CAAClB,CAAF,CAAI,KAAK2C,EAAT,EAAY,CAAZ,EAAc,GAAd,CAAhI,EAAmJ/O,CAAC,EAACrN,MAAM,CAAC,KAAKqc,EAAN,CAA3J,EAAqKwC,EAAE,EAAC7sB,CAAC,CAACc,CAAC,CAACgsB,WAAH,EAAe,KAAKzC,EAApB,EAAuBzC,CAAvB,EAAyB,CAAzB,CAAzK,EAAqMmF,GAAG,EAAC/sB,CAAC,CAACc,CAAC,CAACksB,aAAH,EAAiB,KAAK3C,EAAtB,EAAyBzC,CAAzB,EAA2B,CAA3B,CAA1M,EAAwOqF,IAAI,EAACrF,CAAC,CAAC,KAAKyC,EAAN,CAA9O,EAAwP6C,CAAC,EAAClf,MAAM,CAACyZ,CAAD,CAAhQ,EAAoQ0F,EAAE,EAACxE,CAAC,CAAClB,CAAF,CAAIA,CAAJ,EAAM,CAAN,EAAQ,GAAR,CAAvQ,EAAoRI,CAAC,EAACxM,CAAC,CAAC,CAAD,CAAvR,EAA2R+R,EAAE,EAAC/R,CAAC,CAAC,CAAD,CAA/R,EAAmSuM,CAAC,EAACmB,CAAC,CAACtB,CAAD,EAAGC,CAAH,EAAK,CAAC,CAAN,CAAtS,EAA+S2F,CAAC,EAACtE,CAAC,CAACtB,CAAD,EAAGC,CAAH,EAAK,CAAC,CAAN,CAAlT,EAA2TQ,CAAC,EAACla,MAAM,CAAC0Z,CAAD,CAAnU,EAAuU4F,EAAE,EAAC3E,CAAC,CAAClB,CAAF,CAAIC,CAAJ,EAAM,CAAN,EAAQ,GAAR,CAA1U,EAAuVD,CAAC,EAACzZ,MAAM,CAAC,KAAKyc,EAAN,CAA/V,EAAyW8C,EAAE,EAAC5E,CAAC,CAAClB,CAAF,CAAI,KAAKgD,EAAT,EAAY,CAAZ,EAAc,GAAd,CAA5W,EAA+X+C,GAAG,EAAC7E,CAAC,CAAClB,CAAF,CAAI,KAAKkD,GAAT,EAAa,CAAb,EAAe,GAAf,CAAnY,EAAuZ8C,CAAC,EAACvM,CAAzZ,EAA9S,CAA0sB,OAAO1T,CAAC,CAAC1N,OAAF,CAAUgoB,CAAV,EAAY,UAAST,CAAT,EAAWC,CAAX,EAAa,CAAC,OAAOA,CAAC,IAAE4B,CAAC,CAAC7B,CAAD,CAAJ,IAASnG,CAAC,CAACphB,OAAF,CAAU,GAAV,EAAc,EAAd,CAAhB,CAAkC,CAA5D,CAAP,CAAqE,CAAtyH,EAAuyHub,CAAC,CAAC2M,SAAF,GAAY,YAAU,CAAC,OAAO,KAAG,CAACliB,IAAI,CAAComB,KAAL,CAAW,KAAKrC,EAAL,CAAQ6D,iBAAR,KAA4B,EAAvC,CAAX,CAAsD,CAAp3H,EAAq3HrS,CAAC,CAACG,IAAF,GAAO,UAAS6L,CAAT,EAAWQ,CAAX,EAAaC,CAAb,EAAe,CAAC,IAAI9nB,CAAJ,CAAMqb,CAAC,GAACsN,CAAC,CAACJ,CAAF,CAAIV,CAAJ,CAAR,CAAekB,CAAC,GAACK,CAAC,CAAC/B,CAAD,CAAlB,CAAsB6B,CAAC,GAAC,OAAKH,CAAC,CAACf,SAAF,KAAc,KAAKA,SAAL,EAAnB,CAAxB,CAA6DE,CAAC,GAAC,OAAKa,CAApE,CAAsEN,CAAC,GAACE,CAAC,CAACT,CAAF,CAAI,IAAJ,EAASa,CAAT,CAAxE,CAAoF,OAAON,CAAC,GAAC,CAACzoB,CAAC,GAAC,EAAF,EAAKA,CAAC,CAAC4nB,CAAD,CAAD,GAAKa,CAAC,GAAC,EAAZ,EAAezoB,CAAC,CAAC0nB,CAAD,CAAD,GAAKe,CAApB,EAAsBzoB,CAAC,CAAC2nB,CAAD,CAAD,GAAKc,CAAC,GAAC,CAA7B,EAA+BzoB,CAAC,CAACynB,CAAD,CAAD,GAAK,CAACS,CAAC,GAACgB,CAAH,IAAM,MAA1C,EAAiDlpB,CAAC,CAACc,CAAD,CAAD,GAAK,CAAConB,CAAC,GAACgB,CAAH,IAAM,KAA5D,EAAkElpB,CAAC,CAACkhB,CAAD,CAAD,GAAKgH,CAAC,GAAC,IAAzE,EAA8EloB,CAAC,CAACwN,CAAD,CAAD,GAAK0a,CAAC,GAAC,GAArF,EAAyFloB,CAAC,CAACsnB,CAAD,CAAD,GAAKY,CAAC,GAAC,GAAhG,EAAoGloB,CAArG,EAAwGqb,CAAxG,KAA4G6M,CAA9G,EAAgHJ,CAAC,GAACW,CAAD,GAAGE,CAAC,CAACf,CAAF,CAAIa,CAAJ,CAA3H,CAAkI,CAAlmI,EAAmmIpN,CAAC,CAAC4Q,WAAF,GAAc,YAAU,CAAC,OAAO,KAAKhB,KAAL,CAAWvD,CAAX,EAAc0C,EAArB,CAAwB,CAAppI,EAAqpI/O,CAAC,CAACwQ,OAAF,GAAU,YAAU,CAAC,OAAO3D,CAAC,CAAC,KAAKuB,EAAN,CAAR,CAAkB,CAA5rI,EAA6rIpO,CAAC,CAACmO,MAAF,GAAS,UAASnC,CAAT,EAAWC,CAAX,EAAa,CAAC,IAAG,CAACD,CAAJ,EAAM,OAAO,KAAKoC,EAAZ,CAAe,IAAIjc,CAAC,GAAC,KAAK6a,KAAL,EAAN,CAAmBnH,CAAC,GAACsH,CAAC,CAACnB,CAAD,EAAGC,CAAH,EAAK,CAAC,CAAN,CAAtB,CAA+B,OAAOpG,CAAC,KAAG1T,CAAC,CAACic,EAAF,GAAKvI,CAAR,CAAD,EAAY1T,CAAnB,CAAqB,CAA7xI,EAA8xI6N,CAAC,CAACgN,KAAF,GAAQ,YAAU,CAAC,OAAOM,CAAC,CAACD,CAAF,CAAI,KAAKmB,EAAT,EAAY,IAAZ,CAAP,CAAyB,CAA10I,EAA20IxO,CAAC,CAACuQ,MAAF,GAAS,YAAU,CAAC,OAAO,IAAI7c,IAAJ,CAAS,KAAK4c,OAAL,EAAT,CAAP,CAAgC,CAA/3I,EAAg4ItQ,CAAC,CAACsS,MAAF,GAAS,YAAU,CAAC,OAAO,KAAK7C,OAAL,KAAe,KAAK8C,WAAL,EAAf,GAAkC,IAAzC,CAA8C,CAAl8I,EAAm8IvS,CAAC,CAACuS,WAAF,GAAc,YAAU,CAAC,OAAO,KAAK/D,EAAL,CAAQ+D,WAAR,EAAP,CAA6B,CAAz/I,EAA0/IvS,CAAC,CAAC1c,QAAF,GAAW,YAAU,CAAC,OAAO,KAAKkrB,EAAL,CAAQgE,WAAR,EAAP,CAA6B,CAA7iJ,EAA8iJ7tB,CAArjJ,CAAujJ,CAArpJ,EAAN,CAA8pJ,OAAOopB,CAAC,CAAC1qB,SAAF,GAAYyqB,CAAC,CAACzqB,SAAd,EAAwB0qB,CAAC,CAAC1c,MAAF,GAAS,UAAS2a,CAAT,EAAWC,CAAX,EAAa,CAAC,OAAOD,CAAC,CAACC,CAAD,EAAG6B,CAAH,EAAKC,CAAL,CAAD,EAASA,CAAhB,CAAkB,CAAjE,EAAkEA,CAAC,CAACI,MAAF,GAAShB,CAA3E,EAA6EY,CAAC,CAAC0E,OAAF,GAAUrF,CAAvF,EAAyFW,CAAC,CAACsC,IAAF,GAAO,UAASrE,CAAT,EAAW,CAAC,OAAO+B,CAAC,CAAC,MAAI/B,CAAL,CAAR,CAAgB,CAA5H,EAA6H+B,CAAC,CAAC2E,EAAF,GAAK7F,CAAC,CAACgB,CAAD,CAAnI,EAAuIE,CAAC,CAAC4E,EAAF,GAAK9F,CAA5I,EAA8IkB,CAArJ,CAAuJ,CAAl7M,CAAD,C;;;;;;;;;;;;wFCAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI6E,kBAAkB,GAAG,SAArBA,kBAAqB,CAAU9E,CAAV,EAAa;AACpC,UAAQ,OAAOA,CAAf;AACE,SAAK,QAAL;AACE,aAAOA,CAAP;;AAEF,SAAK,SAAL;AACE,aAAOA,CAAC,GAAG,MAAH,GAAY,OAApB;;AAEF,SAAK,QAAL;AACE,aAAO+E,QAAQ,CAAC/E,CAAD,CAAR,GAAcA,CAAd,GAAkB,EAAzB;;AAEF;AACE,aAAO,EAAP,CAXJ;;AAaD,CAdD;;AAgBA,SAAStb,SAAT,CAAmB3O,GAAnB,EAAwBivB,GAAxB,EAA6BC,EAA7B,EAAiC1rB,IAAjC,EAAuC;AACrCyrB,KAAG,GAAGA,GAAG,IAAI,GAAb;AACAC,IAAE,GAAGA,EAAE,IAAI,GAAX;AACA,MAAIlvB,GAAG,KAAK,IAAZ,EAAkB;AAChBA,OAAG,GAAGga,SAAN;AACD;;AAED,MAAI,OAAOha,GAAP,KAAe,QAAnB,EAA6B;AAC3B,WAAOT,MAAM,CAACgD,IAAP,CAAYvC,GAAZ,EAAiB4gB,GAAjB,CAAqB,UAAUuO,CAAV,EAAa;AACvC,UAAIC,EAAE,GAAGL,kBAAkB,CAACI,CAAD,CAAlB,GAAwBD,EAAjC;AACA,UAAI1tB,KAAK,CAACC,OAAN,CAAczB,GAAG,CAACmvB,CAAD,CAAjB,CAAJ,EAA2B;AACzB,eAAOnvB,GAAG,CAACmvB,CAAD,CAAH,CAAOvO,GAAP,CAAW,UAAUqJ,CAAV,EAAa;AAC7B,iBAAOmF,EAAE,GAAGL,kBAAkB,CAAC9E,CAAD,CAA9B;AACD,SAFM,EAEJpJ,IAFI,CAECoO,GAFD,CAAP;AAGD,OAJD,MAIO;AACL,eAAOG,EAAE,GAAGL,kBAAkB,CAAC/uB,GAAG,CAACmvB,CAAD,CAAJ,CAA9B;AACD;AACF,KATM,EASJxnB,MATI,CASGoH,OATH,EASY8R,IATZ,CASiBoO,GATjB,CAAP;;AAWD;;AAED,MAAI,CAACzrB,IAAL,EAAW,OAAO,EAAP;AACX,SAAOurB,kBAAkB,CAACvrB,IAAD,CAAlB,GAA2B0rB,EAA3B,GAAgCH,kBAAkB,CAAC/uB,GAAD,CAAzD;AACD,C;;AAEc2O,S;;;;;;;;;;;;yLC9Df;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,IAAMmM,MAAM,GAAG;AACduU,SAAO,EAAE,iBAAC9rB,OAAD,EAAa;AACrByU,OAAG,CAACsX,SAAJ,CAAc;AACbxR,WAAK,EAAE,IADM;AAEbyR,aAAO,EAAEhsB,OAAO,CAACisB,GAFJ;AAGbrqB,aAHa,qBAGH;AACT,YAAI7D,GAAG,CAAC+tB,OAAR,EAAiB;AAChB7e,cAAI;AACJ,SAFD,MAEO,IAAIlP,GAAG,CAACmuB,MAAR,EAAgB,CAAE;AACzB,OAPY,EAAd;;AASA,GAXa;AAYdC,OAAK,EAAE,IAZO;AAad;AACAC,QAAM,EAAE,IAdM;AAed;AACAC,SAAO,EAAE;AACRC,QAAI,EAAE,gBAAM;AACX7X,SAAG,CAACoJ,WAAJ,CAAgB;AACftD,aAAK,EAAE,KADQ,EAAhB;;AAGA,KALO;AAMRgS,SAAK,EAAE,iBAAM;AACZ9X,SAAG,CAACmG,WAAJ;AACA,KARO,EAhBK,EAAf;;;;AA4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEArD,MAAM,CAACiV,OAAP,GAAiB,YAA4B,KAA3BP,GAA2B,uEAArB,MAAqB,KAAbxvB,GAAa,uEAAP,EAAO;AAC5C,SAAO,IAAImD,OAAJ,CAAY,UAASC,OAAT,EAAkB;AACpC4U,OAAG,CAAC6F,SAAJ,CAAc;AACbC,WAAK,EAAE0R,GADM;AAEbzR,UAAI,EAAE,MAFO;AAGbC,cAAQ,EAAE,IAHG;AAIb3Y,cAAQ,EAAE,oBAAM;AACfjC,eAAO;AACP,OANY,EAAd;;AAQA,GATM,CAAP;AAUA,CAXD;;AAaA0X,MAAM,CAACkV,KAAP,GAAe,UAACzsB,OAAD,EAAa;AAC3ByU,KAAG,CAAC6F,SAAJ,CAAc;AACbC,SAAK,EAAEva,OAAO,CAACisB,GADF;AAEbzR,QAAI,EAAE,MAFO;AAGbC,YAAQ,EAAE,IAHG;AAIb3Y,YAAQ,EAAE,oBAAM;AACf9B,aAAO,CAACF,QAAR,GAAmBE,OAAO,CAACF,QAAR,EAAnB,GAAwC,IAAxC;AACA,KANY,EAAd;;AAQA,CATD;;AAWAyX,MAAM,CAACrR,KAAP,GAAe,UAAC+lB,GAAD,EAAS;AACvBxX,KAAG,CAAC6F,SAAJ,CAAc;AACbC,SAAK,EAAE0R,GADM;AAEbzR,QAAI,EAAE,MAFO;AAGbC,YAAQ,EAAE,IAHG,EAAd;;AAKA,CAND;;AAQAlD,MAAM,CAACmV,aAAP,GAAuB,YAAa;AACnCC,uBAAqB,MAArB;AACA,CAFD;;AAIO,SAASA,qBAAT,CAA+BnrB,GAA/B,EAAsD,KAAlB6K,IAAkB,uEAAX,SAAW;AAC5DoI,KAAG,CAAC6F,SAAJ,CAAc;AACbC,SAAK,EAAE/Y,GAAG,CAACorB,MAAJ,CAAW,CAAX,EAAcJ,OADR;AAEbhS,QAAI,EAAE,MAFO;AAGbC,YAAQ,EAAE,IAHG,EAAd;;AAKA,SAAO,KAAP;AACA,C;;AAEclD,M;;;;;;;;;;;;ACtGf,uC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AAEA,IAAMsV,YAAY,GAAlB;AAEO,IAAIC,OAAO,GAAG,mBAAM,CAApB,E,CAAA;;AAIP,IACE,kCACA9hB,gFADA,IAEAA,kBAFA,gBAGA,kBAHA,eAIA,oBALF,aAME;AACA8hB,SAAO,GAAG,+BAAkB;AAC1B,QAAI,kCAAkCjnB,OAAO,CAA7C,MAAoD;AAClD,UAAI,MAAM,CAAN,MAAa,aAAC;AAAA,eAAI,aAAJ;AAAlB,OAAI,CAAJ,EAA8C;AAC5CA,eAAO,CAAPA;AACD;AACF;AALHinB;AAOD;;AAEM,oCAAoC;AACzC,MAAI,WAAW,CAACF,MAAM,CAAtB,QAA+B;AAC/B,MAAMG,MAAM,GAAZ;AACAH,QAAM,CAANA,QAAe,iBAAS;AACtB,QAAMI,KAAK,GAAG9mB,KAAK,CAAnB;AACA6mB,UAAM,CAANA,KAAM,CAANA,GAAgBA,MAAM,CAANA,KAAM,CAANA,IAAhBA;AACAA,UAAM,CAANA,KAAM,CAANA;AAHFH;AAKA;AACD;AAEM,kBAAyB;AAAA,oCAANhpB,IAAM;AAANA,QAAM,MAANA,GAAM,eAANA;AAAM;;AAC9B,MAAIvF,CAAC,GAAL;AACA,MAAMgnB,CAAC,GAAGzhB,IAAI,CAAd,CAAc,CAAd;AACA,MAAMO,GAAG,GAAGP,IAAI,CAAhB;;AACA,MAAI,aAAJ,YAA6B;AAC3B,WAAOyhB,CAAC,CAADA,YAAczhB,IAAI,CAAJA,MAArB,CAAqBA,CAAdyhB,CAAP;AACD;;AACD,MAAI,aAAJ,UAA2B;AACzB,QAAI9oB,GAAG,GAAG,MAAM,CAAN,CAAM,CAAN,uBAAgC,aAAK;AAC7C,UAAI0wB,CAAC,KAAL,MAAgB;AACd;AACD;;AACD,UAAI5uB,CAAC,IAAL,KAAc;AACZ;AACD;;AACD;AACE;AACE,iBAAOkN,MAAM,CAAC3H,IAAI,CAACvF,CAAnB,EAAkB,CAAL,CAAb;;AACF;AACE,iBAAO8E,MAAM,CAACS,IAAI,CAACvF,CAAnB,EAAkB,CAAL,CAAb;;AACF;AACE,cAAI;AACF,mBAAO6M,IAAI,CAAJA,UAAetH,IAAI,CAACvF,CAA3B,EAA0B,CAAnB6M,CAAP;AADF,YAEE,UAAU;AACV;AACD;;AACD;;AACF;AACE,mBAbJ;;AAPF,KAAU,CAAV;;AAuBA,SAAK,IAAI+D,GAAG,GAAGrL,IAAI,CAAnB,CAAmB,CAAnB,EAAwBvF,CAAC,GAAzB,KAAiC4Q,GAAG,GAAGrL,IAAI,CAAC,EAA5C,CAA2C,CAA3C,EAAkD;AAChDrH,SAAG,UAAHA;AACD;;AACD;AACD;;AACD;AACD;;AAED,kCAAkC;AAChC,SACE8P,IAAI,KAAJA,YACAA,IAAI,KADJA,SAEAA,IAAI,KAFJA,SAGAA,IAAI,KAHJA,WAIAA,IAAI,KALN;AAOD;;AAEM,mCAAmC;AACxC,MAAIlK,KAAK,KAALA,aAAuBA,KAAK,KAAhC,MAA2C;AACzC;AACD;;AACD,MAAIkK,IAAI,KAAJA,WAAoBpO,KAAK,CAALA,QAApBoO,KAAoBpO,CAApBoO,IAA4C,CAAClK,KAAK,CAAtD,QAA+D;AAC7D;AACD;;AACD,MAAI+qB,kBAAkB,CAAlBA,IAAkB,CAAlBA,IAA4B,iBAA5BA,YAAyD,CAA7D,OAAqE;AACnE;AACD;;AACD;AACD;;AAMD,iDAAiD;AAC/C,MAAMC,OAAO,GAAb;AACA,MAAIC,KAAK,GAAT;AACA,MAAMC,SAAS,GAAG9e,GAAG,CAArB;;AAEA,yBAAuB;AACrB4e,WAAO,CAAPA;AACAC,SAAK;;AACL,QAAIA,KAAK,KAAT,WAAyB;AACvBttB,cAAQ,CAARA,OAAQ,CAARA;AACD;AACF;;AAEDyO,KAAG,CAAHA,QAAY,aAAK;AACf+e,QAAI,IAAJA,KAAI,CAAJA;AADF/e;AAGD;;AAED,+CAA+C;AAC7C,MAAI5P,KAAK,GAAT;AACA,MAAM0uB,SAAS,GAAG9e,GAAG,CAArB;;AAEA,wBAAsB;AACpB,QAAIqe,MAAM,IAAIA,MAAM,CAApB,QAA6B;AAC3B9sB,cAAQ,CAARA,MAAQ,CAARA;AACA;AACD;;AACD,QAAMytB,QAAQ,GAAd;AACA5uB,SAAK,GAAGA,KAAK,GAAbA;;AACA,QAAI4uB,QAAQ,GAAZ,WAA0B;AACxBD,UAAI,CAAC/e,GAAG,CAAJ,QAAI,CAAJ,EAAJ+e,IAAI,CAAJA;AADF,WAEO;AACLxtB,cAAQ,CAARA,EAAQ,CAARA;AACD;AACF;;AAED0tB,MAAI,CAAJA,EAAI,CAAJA;AACD;;AAED,+BAA+B;AAC7B,MAAMxe,GAAG,GAAT;AACAhT,QAAM,CAANA,qBAA4B,aAAK;AAC/BgT,OAAG,CAAHA,gBAAoBye,MAAM,CAA1Bze,CAA0B,CAA1BA;AADFhT;AAGA;AACD;;AAEM,kDAAkD;AACvD,MAAI+C,MAAM,CAAV,OAAkB;AAChB,QAAM2uB,QAAO,GAAG,YAAY,2BAAqB;AAC/C,UAAMF,IAAI,GAAG,SAAPA,IAAO,SAAU;AACrB1tB,gBAAQ,CAARA,MAAQ,CAARA;AACA,eAAO,MAAM,CAAN,SACHiC,MAAM,CAAC;AAAE6qB,gBAAM,EAAR;AAAUG,gBAAM,EAAEY,kBAAkB,QAApC,EAAD,CADH;AAEH9tB,eAFJ;AAFF;;AAMA,UAAM+tB,UAAU,GAAGC,aAAa,CAAhC,MAAgC,CAAhC;AACAC,sBAAgB,mBAAhBA,IAAgB,CAAhBA;AARF,KAAgB,CAAhB;;AAUAJ,YAAO,CAAPA,OAAO,CAAPA,CAAc,aAAC;AAAA;AAAfA;;AACA;AACD;;AACD,MAAIK,WAAW,GAAGhvB,MAAM,CAANA,eAAlB;;AACA,MAAIgvB,WAAW,KAAf,MAA0B;AACxBA,eAAW,GAAG/xB,MAAM,CAANA,KAAd+xB,MAAc/xB,CAAd+xB;AACD;;AACD,MAAMC,UAAU,GAAGhyB,MAAM,CAANA,KAAnB,MAAmBA,CAAnB;AACA,MAAMiyB,YAAY,GAAGD,UAAU,CAA/B;AACA,MAAIZ,KAAK,GAAT;AACA,MAAMD,OAAO,GAAb;AACA,MAAMO,OAAO,GAAG,YAAY,2BAAqB;AAC/C,QAAMF,IAAI,GAAG,SAAPA,IAAO,SAAU;AACrBL,aAAO,CAAPA;AACAC,WAAK;;AACL,UAAIA,KAAK,KAAT,cAA4B;AAC1BttB,gBAAQ,CAARA,OAAQ,CAARA;AACA,eAAO,OAAO,CAAP,SACHiC,MAAM,CAAC;AAAE6qB,gBAAM,EAAR;AAAmBG,gBAAM,EAAEY,kBAAkB,SAA7C,EAAD,CADH;AAEH9tB,eAFJ;AAGD;AARH;;AAUA,QAAI,CAACmuB,UAAU,CAAf,QAAwB;AACtBluB,cAAQ,CAARA,OAAQ,CAARA;AACAD,aAAO;AACR;;AACDmuB,cAAU,CAAVA,QAAmB,eAAO;AACxB,UAAMzf,GAAG,GAAGkf,MAAM,CAAlB,GAAkB,CAAlB;;AACA,UAAIM,WAAW,CAAXA,iBAA6B,CAAjC,GAAqC;AACnCD,wBAAgB,YAAhBA,IAAgB,CAAhBA;AADF,aAEO;AACLI,0BAAkB,YAAlBA,IAAkB,CAAlBA;AACD;AANHF;AAfF,GAAgB,CAAhB;AAwBAN,SAAO,CAAPA,OAAO,CAAPA,CAAc,aAAC;AAAA;AAAfA;AACA;AACD;AAEM,+BAA+B;AACpC,SAAO,cAAM;AACX,QAAIS,EAAE,IAAIA,EAAE,CAAZ,SAAsB;AACpBA,QAAE,CAAFA,QAAWA,EAAE,CAAFA,SAAYC,IAAI,CAA3BD;AACA;AACD;;AACD,WAAO;AACL3B,aAAO,EAAE,2BAA2B2B,EAA3B,KADJ;AAELnB,WAAK,EAAEmB,EAAE,CAAFA,SAAYC,IAAI,CAACC,SAFnB,EAAP;;AALF;AAUD;AAEM,mCAAmC;AACxC,cAAY;AACV,SAAK,IAAL,aAAwB;AACtB,UAAIC,MAAM,CAANA,eAAJ,CAAIA,CAAJ,EAA8B;AAC5B,YAAMnsB,KAAK,GAAGmsB,MAAM,CAApB,CAAoB,CAApB;;AACA,YAAI,6BAA6B,OAAOhhB,MAAM,CAAb,CAAa,CAAb,KAAjC,UAAgE;AAC9DA,gBAAM,CAANA,CAAM,CAANA,gBACKA,MAAM,CADXA,CACW,CADXA;AADF,eAKO;AACLA,gBAAM,CAANA,CAAM,CAANA;AACD;AACF;AACF;AACF;;AACD;AACD;;ACnOD;;;;;;;;;;;;AAWA,8DAA8D;AAC5D,MACE8gB,IAAI,CAAJA,aACC,CAACE,MAAM,CAANA,eAAsBF,IAAI,CAA3B,KAACE,CAAD,IACCC,oBAAyBliB,IAAI,IAAI+hB,IAAI,CAHzC,IAGIG,CAFFH,CADF,EAIE;AACAxB,UAAM,CAANA,KAAY2B,OAAYvuB,OAAO,CAAPA,SAAZuuB,UAAuCH,IAAI,CAAvDxB,SAAY2B,CAAZ3B;AACD;AACF;;ACnBD;;;;;;;;;;;;AAWA,0DAA0D;AACxD,MAAI,uBAAuBzqB,KAAK,KAAhC,IAAyC;AACvCyqB,UAAM,CAANA,KAAY2B,OAAYvuB,OAAO,CAAPA,SAAZuuB,YAAyCH,IAAI,CAAzDxB,SAAY2B,CAAZ3B;AACD;AACF;;ACdD;;AAEA,IAAM4B,OAAO,GAAG;AACd;AACAC,OAAK,EAFS;AAGd1U,KAAG,EAAE,6ZAHS,GAGT,CAHS;AAOd2U,KAAG,EAAE,gCAPS,EAAhB;;AAUA,IAAMpM,KAAK,GAAG;AACZqM,SADY,0BACG;AACb,WAAOrM,KAAK,CAALA,iBAAuBve,QAAQ,QAARA,EAAQ,CAARA,KAA9B;AAFU;AAAA,iCAIC;AACX,WAAOue,KAAK,CAALA,iBAAuB,CAACA,KAAK,CAALA,QAA/B,KAA+BA,CAA/B;AALU;AAOZsM,OAPY,wBAOC;AACX,WAAO3wB,KAAK,CAALA,QAAP,KAAOA,CAAP;AARU;AAUZ4wB,QAVY,yBAUE;AACZ,QAAI1sB,KAAK,YAAT,QAA6B;AAC3B;AACD;;AACD,QAAI;AACF,aAAO,CAAC,CAAC,WAAT,KAAS,CAAT;AADF,MAEE,UAAU;AACV;AACD;AAlBS;AAoBZ2kB,MApBY,uBAoBA;AACV,WACE,OAAO3kB,KAAK,CAAZ,0BACA,OAAOA,KAAK,CAAZ,aADA,cAEA,OAAOA,KAAK,CAAZ,YAHF;AArBU;AA2BZc,QA3BY,yBA2BE;AACZ,QAAIgB,KAAK,CAAT,KAAS,CAAT,EAAkB;AAChB;AACD;;AACD,WAAO,iBAAP;AA/BU;AAiCZ6qB,QAjCY,yBAiCE;AACZ,WAAO,6BAA6B,CAACxM,KAAK,CAALA,MAArC,KAAqCA,CAArC;AAlCU;AAoCZljB,QApCY,yBAoCE;AACZ,WAAO,iBAAP;AArCU;AAuCZqvB,OAvCY,wBAuCC;AACX,WACE,6BACA,CAAC,CAACtsB,KAAK,CAALA,MAAYqsB,OAAO,CADrB,KACErsB,CADF,IAEAA,KAAK,CAALA,SAHF;AAxCU;AA8CZ4X,KA9CY,sBA8CD;AACT,WAAO,6BAA6B,CAAC,CAAC5X,KAAK,CAALA,MAAYqsB,OAAO,CAAzD,GAAsCrsB,CAAtC;AA/CU;AAiDZusB,KAjDY,sBAiDD;AACT,WAAO,6BAA6B,CAAC,CAACvsB,KAAK,CAALA,MAAYqsB,OAAO,CAAzD,GAAsCrsB,CAAtC;AACD,GAnDW,EAAd;;AAsDA;;;;;;;;;;;;AAWA,oDAAoD;AAClD,MAAIisB,IAAI,CAAJA,YAAiBjsB,KAAK,KAA1B,WAA0C;AACxC4sB,YAAQ,8BAARA,OAAQ,CAARA;AACA;AACD;;AACD,MAAMC,MAAM,GAAG,8FAAf,KAAe,CAAf;AAaA,MAAMC,QAAQ,GAAGb,IAAI,CAArB;;AACA,MAAIY,MAAM,CAANA,oBAA2B,CAA/B,GAAmC;AACjC,QAAI,CAAC1M,KAAK,CAALA,QAAK,CAALA,CAAL,KAAKA,CAAL,EAA6B;AAC3BsK,YAAM,CAANA,KACE2B,OACEvuB,OAAO,CAAPA,eADFuuB,QACEvuB,CADFuuB,EAEEH,IAAI,CAFNG,WAGEH,IAAI,CAJRxB,IACE2B,CADF3B;AAF+B;;AAAnC,SAWO,IAAIqC,QAAQ,IAAI,iBAAiBb,IAAI,CAArC,MAA4C;AACjDxB,UAAM,CAANA,KACE2B,OAAYvuB,OAAO,CAAPA,eAAZuuB,QAAYvuB,CAAZuuB,EAA8CH,IAAI,CAAlDG,WAA8DH,IAAI,CADpExB,IACE2B,CADF3B;AAGD;AACF;;ACjHD;;;;;;;;;;;;AAWA,qDAAqD;AACnD,MAAMzoB,GAAG,GAAG,OAAOiqB,IAAI,CAAX,QAAZ;AACA,MAAM7E,GAAG,GAAG,OAAO6E,IAAI,CAAX,QAAZ;AACA,MAAMc,GAAG,GAAG,OAAOd,IAAI,CAAX,QAHuC,QAGnD,CAHmD;;AAKnD,MAAMe,QAAQ,GAAd;AACA,MAAIC,GAAG,GAAP;AACA,MAAIxyB,GAAG,GAAP;AACA,MAAMyyB,GAAG,GAAG,iBAAZ;AACA,MAAM9yB,GAAG,GAAG,iBAAZ;AACA,MAAMgS,GAAG,GAAGtQ,KAAK,CAALA,QAAZ,KAAYA,CAAZ;;AACA,WAAS;AACPrB,OAAG,GAAHA;AADF,SAEO,SAAS;AACdA,OAAG,GAAHA;AADK,SAEA,SAAS;AACdA,OAAG,GAAHA;AAhBiD;AAmBnD;AACA;;;AACA,MAAI,CAAJ,KAAU;AACR;AACD;;AACD,WAAS;AACPwyB,OAAG,GAAGjtB,KAAK,CAAXitB;AACD;;AACD,WAAS;AACP;AACAA,OAAG,GAAGjtB,KAAK,CAALA,uBAANitB;AACD;;AACD,WAAS;AACP,QAAIA,GAAG,KAAKhB,IAAI,CAAhB,KAAsB;AACpBxB,YAAM,CAANA,KACE2B,OAAYvuB,OAAO,CAAPA,cAAZuuB,KAAuCH,IAAI,CAA3CG,WAAuDH,IAAI,CAD7DxB,GACE2B,CADF3B;AAGD;AALH,SAMO,IAAIrD,GAAG,IAAI,CAAPA,OAAe6F,GAAG,GAAGhB,IAAI,CAA7B,KAAmC;AACxCxB,UAAM,CAANA,KACE2B,OAAYvuB,OAAO,CAAPA,cAAZuuB,KAAuCH,IAAI,CAA3CG,WAAuDH,IAAI,CAD7DxB,GACE2B,CADF3B;AADK,SAIA,IAAIsC,GAAG,IAAI,CAAPA,OAAeE,GAAG,GAAGhB,IAAI,CAA7B,KAAmC;AACxCxB,UAAM,CAANA,KACE2B,OAAYvuB,OAAO,CAAPA,cAAZuuB,KAAuCH,IAAI,CAA3CG,WAAuDH,IAAI,CAD7DxB,GACE2B,CADF3B;AADK,SAIA,IAAIrD,GAAG,IAAHA,QAAe6F,GAAG,GAAGhB,IAAI,CAAVgB,OAAkBA,GAAG,GAAGhB,IAAI,CAA/C,GAAI7E,CAAJ,EAAsD;AAC3DqD,UAAM,CAANA,KACE2B,OACEvuB,OAAO,CAAPA,cADFuuB,OAEEH,IAAI,CAFNG,WAGEH,IAAI,CAHNG,KAIEH,IAAI,CALRxB,GACE2B,CADF3B;AAQD;AACF;;AClED,IAAM0C,IAAI,GAAV;AAEA;;;;;;;;;;;;AAWA,0DAA0D;AACxDlB,MAAI,CAAJA,IAAI,CAAJA,GAAanwB,KAAK,CAALA,QAAcmwB,IAAI,CAAlBnwB,IAAkB,CAAlBA,IAA4BmwB,IAAI,CAAhCnwB,IAAgC,CAAhCA,GAAbmwB;;AACA,MAAIA,IAAI,CAAJA,IAAI,CAAJA,oBAA8B,CAAlC,GAAsC;AACpCxB,UAAM,CAANA,KACE2B,OACEvuB,OAAO,CAAPA,SADFuuB,IACEvuB,CADFuuB,EAEEH,IAAI,CAFNG,WAGEH,IAAI,CAAJA,IAAI,CAAJA,MAJJxB,IAIIwB,CAHFG,CADF3B;AAOD;AACF;;ACxBD;;;;;;;;;;;;AAWA,yDAAuD;AACrD,MAAIwB,IAAI,CAAR,SAAkB;AAChB,QAAIA,IAAI,CAAJA,mBAAJ,QAAoC;AAClC;AACA;AACA;AACAA,UAAI,CAAJA;;AACA,UAAI,CAACA,IAAI,CAAJA,aAAL,KAAKA,CAAL,EAA+B;AAC7BxB,cAAM,CAANA,KACE2B,OACEvuB,OAAO,CAAPA,iBADFuuB,UAEEH,IAAI,CAFNG,kBAIEH,IAAI,CALRxB,OACE2B,CADF3B;AAQD;AAdH,WAeO,IAAI,OAAOwB,IAAI,CAAX,YAAJ,UAAsC;AAC3C,UAAMmB,QAAQ,GAAG,WAAWnB,IAAI,CAAhC,OAAiB,CAAjB;;AACA,UAAI,CAACmB,QAAQ,CAARA,KAAL,KAAKA,CAAL,EAA2B;AACzB3C,cAAM,CAANA,KACE2B,OACEvuB,OAAO,CAAPA,iBADFuuB,UAEEH,IAAI,CAFNG,kBAIEH,IAAI,CALRxB,OACE2B,CADF3B;AAQD;AACF;AACF;AACF;;ACrCD,YAAe;AACbmC,UAAQ,EADK;AAEbS,YAAU,EAFG;AAGbnjB,MAAI,EAHS;AAIbojB,OAAK,EAJQ;AAKb,UALa;AAMbjB,SAAO,EAAPA,SANa,EAAf;;;ACJA;;;;;;;;;;;AAUA,wDAAwD;AACtD,MAAM5B,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,QAAZA,QAAY,CAAZA,IAAiC,CAACvB,IAAI,CAA1C,UAAqD;AACnD,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAI,CAACD,YAAY,QAAjB,QAAiB,CAAjB,EAAoC;AAClCC,WAAK,CAALA;AACAA,WAAK,CAALA;AACAA,WAAK,CAALA;;AACA,UAAIxB,IAAI,CAAJA,eAAJ,MAA8B;AAC5BwB,aAAK,CAALA;AACD;AACF;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;AC7BD;;;;;;;;;;;AAUA,wDAAwD;AACtD,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,CAAZA,KAAY,CAAZA,IAAuB,CAACvB,IAAI,CAAhC,UAA2C;AACzC,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAIztB,KAAK,KAAT,WAAyB;AACvBytB,WAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;ACxBD;;;;;;;;;;;AAUA,wDAAwD;AACtD,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAInsB,KAAK,KAAT,IAAkB;AAChBA,WAAK,GAALA;AACD;;AACD,QAAIwtB,YAAY,CAAZA,KAAY,CAAZA,IAAuB,CAACvB,IAAI,CAAhC,UAA2C;AACzC,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAIztB,KAAK,KAAT,WAAyB;AACvBytB,WAAK,CAALA;AACAA,WAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;AC5BD;;;;;;;;;;;AAUA,0DAAyD;AACvD,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,CAAZA,KAAY,CAAZA,IAAuB,CAACvB,IAAI,CAAhC,UAA2C;AACzC,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAIztB,KAAK,KAAT,WAAyB;AACvBytB,WAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;ACxBD;;;;;;;;;;;AAUA,wDAAwD;AACtD,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,CAAZA,KAAY,CAAZA,IAAuB,CAACvB,IAAI,CAAhC,UAA2C;AACzC,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAI,CAACD,YAAY,CAAjB,KAAiB,CAAjB,EAA0B;AACxBC,WAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;ACxBD;;;;;;;;;;;AAUA,yDAAyD;AACvD,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,CAAZA,KAAY,CAAZA,IAAuB,CAACvB,IAAI,CAAhC,UAA2C;AACzC,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAIztB,KAAK,KAAT,WAAyB;AACvBytB,WAAK,CAALA;AACAA,WAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;ACzBD;;;;;;;;;;;AAUA,yDAAyD;AACvD,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,CAAZA,KAAY,CAAZA,IAAuB,CAACvB,IAAI,CAAhC,UAA2C;AACzC,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAIztB,KAAK,KAAT,WAAyB;AACvBytB,WAAK,CAALA;AACAA,WAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;AC1BD;;;;;;;;;;;AAUA,uDAAuD;AACrD,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,QAAZA,OAAY,CAAZA,IAAgC,CAACvB,IAAI,CAAzC,UAAoD;AAClD,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAI,CAACD,YAAY,QAAjB,OAAiB,CAAjB,EAAmC;AACjCC,WAAK,CAALA;AACAA,WAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;ACxBD;;;;;;;;;;;AAUA,wDAAwD;AACtD,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,CAAZA,KAAY,CAAZA,IAAuB,CAACvB,IAAI,CAAhC,UAA2C;AACzC,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAIztB,KAAK,KAAT,WAAyB;AACvBytB,WAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;ACxBD,IAAMwvB,MAAI,GAAV;AAEA;;;;;;;;;;;AAUA,8DAA4D;AAC1D,MAAM1C,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,CAAZA,KAAY,CAAZA,IAAuB,CAACvB,IAAI,CAAhC,UAA2C;AACzC,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAIztB,KAAK,KAAT,WAAyB;AACvBytB,WAAK,CAALA,MAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;AC1BD;;;;;;;;;;;;;;AAaA,2DAAyD;AACvD,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,QAAZA,QAAY,CAAZA,IAAiC,CAACvB,IAAI,CAA1C,UAAqD;AACnD,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAI,CAACD,YAAY,QAAjB,QAAiB,CAAjB,EAAoC;AAClCC,WAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;AC3BD,sDAAsD;AACpD;AACA,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CAJZ,KAIdE,CADtC,CAHoD;;AAMpD,gBAAc;AACZ,QAAIqB,YAAY,CAAZA,KAAY,CAAZA,IAAuB,CAACvB,IAAI,CAAhC,UAA2C;AACzC,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAI,CAACD,YAAY,CAAjB,KAAiB,CAAjB,EAA0B;AACxB;;AAEA,UAAI,iBAAJ,UAA+B;AAC7BE,kBAAU,GAAG,SAAbA,KAAa,CAAbA;AADF,aAEO;AACLA,kBAAU,GAAVA;AACD;;AAEDD,WAAK,CAALA;;AACA,sBAAgB;AACdA,aAAK,CAALA,YAAkBC,UAAU,CAA5BD,OAAkBC,EAAlBD;AACD;AACF;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;AC5BD,4DAA0D;AACxD,MAAM8sB,MAAM,GAAZ;AACA,MAAMvgB,IAAI,GAAGpO,KAAK,CAALA,2BAAiC,OAA9C;AACA2xB,OAAK,CAALA;AACA9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;ACJD,wDAAsD;AACpD,MAAMmvB,QAAQ,GAAGb,IAAI,CAArB;AACA,MAAMxB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,QAAZA,QAAY,CAAZA,IAAiC,CAACvB,IAAI,CAA1C,UAAqD;AACnD,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;;AACA,QAAI,CAACD,YAAY,QAAjB,QAAiB,CAAjB,EAAoC;AAClCC,WAAK,CAALA;AACD;AACF;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;ACfD;;;;;;;;;;;AAUA,qDAAqD;AACnD,MAAM8sB,MAAM,GAAZ;AACA,MAAM8C,QAAQ,GACZtB,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkBE,MAAM,CAANA,eAAsBF,IAAI,CADhE,KACsCE,CADtC;;AAEA,gBAAc;AACZ,QAAIqB,YAAY,CAAZA,KAAY,CAAZA,IAAuB,CAACvB,IAAI,CAAhC,UAA2C;AACzC,aAAOtuB,QAAP;AACD;;AACD8vB,SAAK,CAALA;AACD;;AACD9vB,UAAQ,CAARA,MAAQ,CAARA;AACD;;ACRD,iBAAe;AACbgwB,QAAM,EADO;AAEb1wB,QAAM,EAFO;AAGb6D,QAAM,EAHO;AAIb,aAJa;AAKb4rB,QAAM,EALO;AAMbF,SAAO,EANM;AAOb,WAPa;AAQbC,OAAK,EARQ;AASbE,QAAM,EATO;AAUb,UAVa;AAWbN,SAAO,EAXM;AAYb1H,MAAI,EAZS;AAab/M,KAAG,EAbU;AAcb2U,KAAG,EAdU;AAebD,OAAK,EAfQ;AAgBbM,UAAQ,EAhBK;AAiBbgB,KAAG,EAAHA,GAjBa,EAAf;;;AChBO,uBAAuB;AAC5B,SAAO;AACL,eADK;AAELhB,YAAQ,EAFH;AAGL,YAHK;AAILS,cAAU,EAJL;AAKL1I,QAAI,EAAE;AACJF,YAAM,EADF;AAEJzb,WAAK,EAFD;AAGJ6kB,aAAO,EAAE,uBAHL,EALD;;AAUL1N,SAAK,EAAE;AACLwN,YAAM,EADD;AAEL1wB,YAAM,EAFD;AAGLwvB,WAAK,EAHA;AAILE,YAAM,EAJD;AAKL7rB,YAAM,EALD;AAML6jB,UAAI,EANC;AAOL,iBAPK;AAQL6H,aAAO,EARF;AASL,eATK;AAULE,YAAM,EAVD;AAWLJ,WAAK,EAXA;AAYL1U,SAAG,EAZE;AAaL2U,SAAG,EAAE,sBAbA,EAVF;;AAyBLoB,UAAM,EAAE;AACN3rB,SAAG,EADG;AAENolB,SAAG,EAFG;AAGN2F,SAAG,EAHG;AAINO,WAAK,EAAE,yCAJD,EAzBH;;AA+BLxsB,UAAM,EAAE;AACNkB,SAAG,EADG;AAENolB,SAAG,EAFG;AAGN2F,SAAG,EAHG;AAINO,WAAK,EAAE,8BAJD,EA/BH;;AAqCLb,SAAK,EAAE;AACLzqB,SAAG,EADE;AAELolB,SAAG,EAFE;AAGL2F,SAAG,EAHE;AAILO,WAAK,EAAE,wCAJF,EArCF;;AA2CLjB,WAAO,EAAE;AACPyB,cAAQ,EAAE,uCADH,EA3CJ;;AA8CLrK,SA9CK,mBA8CG;AACN,UAAMsK,MAAM,GAAGhlB,IAAI,CAAJA,MAAWA,IAAI,CAAJA,UAA1B,IAA0BA,CAAXA,CAAf;AACAglB,YAAM,CAANA,QAAe,KAAfA;AACA;AACD,KAlDI,EAAP;;AAoDD;AAEM,IAAMC,QAAQ,GAAGC,WAAjB;;AC5CP;;;;;;;AAMA,4BAA4B;AAC1B;AACA;AACA;AACD;;AAEDC,MAAM,CAANA,YAAmB;AACjBF,UADiB,+BACE;AACjB,mBAAc;AACZ,uBAAiBG,SAAS,CAACF,WAAD,IAA1B,SAA0B,CAA1B;AACD;;AACD,WAAO,KAAP;AALe;AAOjBG,QAPiB,yBAOH;AACZ,QAAI,CAAJ,OAAY;AACV,YAAM,UAAN,yCAAM,CAAN;AACD;;AACD,QAAI,6BAA6BtyB,KAAK,CAALA,QAAjC,KAAiCA,CAAjC,EAAuD;AACrD,YAAM,UAAN,yBAAM,CAAN;AACD;;AACD;AACA;AACA;;AACA,qBAAiB;AACf,UAAI2xB,KAAK,CAALA,eAAJ,CAAIA,CAAJ,EAA6B;AAC3BvrB,YAAI,GAAGurB,KAAK,CAAZvrB,CAAY,CAAZA;AACA,wBAAgBpG,KAAK,CAALA,uBAA6B,CAA7C,IAA6C,CAA7C;AACD;AACF;AAtBc;AAwBjByxB,UAxBiB,oCAwBwB;AAAA;;AAAA,QAAvBxK,CAAuB;AAAvBA,OAAuB,GAAnB,EAAJA;AAAuB;;AAAA,QAAfsL,EAAe;AAAfA,QAAe,GAAV,cAAM,CAAI,CAAfA;AAAe;;AACvC,QAAIlC,MAAM,GAAV;AACA,QAAItuB,OAAO,GAAX;AACA,QAAIF,QAAQ,GAAZ;;AACA,QAAI,mBAAJ,YAAmC;AACjCA,cAAQ,GAARA;AACAE,aAAO,GAAPA;AACD;;AACD,QAAI,CAAC,KAAD,SAAehE,MAAM,CAANA,KAAY,KAAZA,kBAAnB,GAAyD;AACvD,oBAAc;AACZ8D,gBAAQ;AACT;;AACD,aAAOF,OAAO,CAAd,OAAOA,EAAP;AACD;;AAED,+BAA2B;AACzB;AACA,UAAIgtB,MAAM,GAAV;AACA,UAAIG,MAAM,GAAV;;AAEA,sBAAgB;AACd,YAAI9uB,KAAK,CAALA,QAAJ,CAAIA,CAAJ,EAAsB;AAAA;;AACpB2uB,gBAAM,GAAG,yCAATA,CAAS,CAATA;AADF,eAEO;AACLA,gBAAM,CAANA;AACD;AACF;;AAED,WAAKvuB,CAAC,GAAN,GAAYA,CAAC,GAAG8uB,OAAO,CAAvB,QAAgC9uB,CAAhC,IAAqC;AACnCwnB,WAAG,CAACsH,OAAO,CAAXtH,CAAW,CAAR,CAAHA;AACD;;AACD,UAAI,CAAC+G,MAAM,CAAX,QAAoB;AAClBA,cAAM,GAANA;AACAG,cAAM,GAANA;AAFF,aAGO;AACLA,cAAM,GAAGY,kBAAkB,CAA3BZ,MAA2B,CAA3BA;AACD;;AACDjtB,cAAQ,SAARA,MAAQ,CAARA;AACD;;AAED,QAAIE,OAAO,CAAX,UAAsB;AACpB,UAAImwB,UAAQ,GAAG,KAAf,QAAe,EAAf;;AACA,UAAIA,UAAQ,KAAZ,UAAkC;AAChCA,kBAAQ,GAAGC,WAAXD;AACD;;AACDG,eAAS,aAAWtwB,OAAO,CAA3BswB,QAAS,CAATA;AACAtwB,aAAO,CAAPA;AANF,WAOO;AACLA,aAAO,CAAPA,WAAmB,KAAnBA,QAAmB,EAAnBA;AACD;;AACD;AACA;AACA,QAAMywB,MAAM,GAAZ;AACA,QAAMzxB,IAAI,GAAGgB,OAAO,CAAPA,QAAgBhE,MAAM,CAANA,KAAY,KAAzC,KAA6BA,CAA7B;AACAgD,QAAI,CAAJA,QAAa,aAAK;AAChBuP,SAAG,GAAG,KAAI,CAAJ,MAANA,CAAM,CAANA;AACApM,WAAK,GAAGmsB,MAAM,CAAdnsB,CAAc,CAAdA;AACAoM,SAAG,CAAHA,QAAY,aAAK;AACf,YAAI6f,IAAI,GAAR;;AACA,YAAI,OAAOA,IAAI,CAAX,cAAJ,YAA0C;AACxC,cAAIE,MAAM,KAAV,SAAwB;AACtBA,kBAAM,gBAANA,MAAM,CAANA;AACD;;AACDnsB,eAAK,GAAGmsB,MAAM,CAANA,CAAM,CAANA,GAAYF,IAAI,CAAJA,UAApBjsB,KAAoBisB,CAApBjsB;AACD;;AACD,YAAI,gBAAJ,YAAgC;AAC9BisB,cAAI,GAAG;AACLsC,qBAAS,EAAEtC,IADN,EAAPA;;AADF,eAIO;AACLA,cAAI,gBAAJA,IAAI,CAAJA;AACD;;AACDA,YAAI,CAAJA,YAAiB,KAAI,CAAJ,oBAAjBA,IAAiB,CAAjBA;AACAA,YAAI,CAAJA;AACAA,YAAI,CAAJA,YAAiBA,IAAI,CAAJA,aAAjBA;AACAA,YAAI,CAAJA,OAAY,KAAI,CAAJ,QAAZA,IAAY,CAAZA;;AACA,YAAI,CAACA,IAAI,CAAT,WAAqB;AACnB;AACD;;AACDqC,cAAM,CAANA,CAAM,CAANA,GAAYA,MAAM,CAANA,CAAM,CAANA,IAAZA;AACAA,cAAM,CAANA,CAAM,CAANA,MAAe;AACbrC,cAAI,EADS;AAEbjsB,eAAK,EAFQ;AAGbmsB,gBAAM,EAHO;AAIbtB,eAAK,EAAE1H,CAJM,EAAfmL;;AAvBFliB;AAHFvP;AAkCA,QAAM2xB,WAAW,GAAjB;AACA,WAAOC,QAAQ,kBAGb,sBAAgB;AACd,UAAMxC,IAAI,GAAG7uB,IAAI,CAAjB;AACA,UAAIsxB,IAAI,GACN,CAACzC,IAAI,CAAJA,qBAA0BA,IAAI,CAAJA,SAA3B,aACC,OAAOA,IAAI,CAAX,uBACC,OAAOA,IAAI,CAAX,iBAHJ,QACE,CADF;AAIAyC,UAAI,GAAGA,IAAI,KAAKzC,IAAI,CAAJA,YAAkB,CAACA,IAAI,CAAL,YAAkB7uB,IAAI,CAAxDsxB,KAAW,CAAXA;AACAzC,UAAI,CAAJA,QAAa7uB,IAAI,CAAjB6uB;;AAEA,yCAAmC;AACjC;AAEEC,mBAAS,EAAKD,IAAI,CAAT,SAAKA,GAAL,GAAKA,GAAkBxxB,GAFlC;;AAID;;AAED,qBAAoB;AAAA,YAARmO,CAAQ;AAARA,WAAQ,GAAJ,EAAJA;AAAQ;;AAClB,YAAI6hB,MAAM,GAAV;;AACA,YAAI,CAAC3uB,KAAK,CAALA,QAAL,MAAKA,CAAL,EAA4B;AAC1B2uB,gBAAM,GAAG,CAATA,MAAS,CAATA;AACD;;AACD,YAAI,CAAC5sB,OAAO,CAAR,mBAA4B4sB,MAAM,CAAtC,QAA+C;AAC7CyD,gBAAM,CAANA;AACD;;AACD,YAAIzD,MAAM,CAANA,UAAiBwB,IAAI,CAAzB,SAAmC;AACjCxB,gBAAM,GAAG,UAAUwB,IAAI,CAAvBxB,OAAS,CAATA;AACD;;AAEDA,cAAM,GAAGA,MAAM,CAANA,IAAWkE,eAAe,CAAnClE,IAAmC,CAA1BA,CAATA;;AAEA,YAAI5sB,OAAO,CAAPA,SAAiB4sB,MAAM,CAA3B,QAAoC;AAClC+D,qBAAW,CAACvC,IAAI,CAAhBuC,KAAW,CAAXA;AACA,iBAAOI,IAAI,CAAX,MAAW,CAAX;AACD;;AACD,YAAI,CAAJ,MAAW;AACTA,cAAI,CAAJA,MAAI,CAAJA;AADF,eAEO;AACL;AACA;AACA;AACA,cAAI3C,IAAI,CAAJA,YAAiB,CAAC7uB,IAAI,CAA1B,OAAkC;AAChC,gBAAI6uB,IAAI,CAAR,SAAkB;AAChBxB,oBAAM,GAAG,UAAUwB,IAAI,CAAd,aAA4B0C,eAAe,CAApDlE,IAAoD,CAA3C,CAATA;AADF,mBAEO,IAAI5sB,OAAO,CAAX,OAAmB;AACxB4sB,oBAAM,GAAG,CACP5sB,OAAO,CAAPA,YAEE4mB,MAAM,CAAC5mB,OAAO,CAAPA,SAAD,UAA4BouB,IAAI,CAH1CxB,KAGU,CAFR5sB,CADO,CAAT4sB;AADK,mBAOA;AACLA,oBAAM,GAANA;AACD;;AACD,mBAAOmE,IAAI,CAAX,MAAW,CAAX;AACD;;AAED,cAAIC,YAAY,GAAhB;;AACA,cAAI5C,IAAI,CAAR,cAAuB;AACrB,iBAAK,IAAL,KAAgB7uB,IAAI,CAApB,OAA4B;AAC1B,kBAAIA,IAAI,CAAJA,qBAAJ,CAAIA,CAAJ,EAAkC;AAChCyxB,4BAAY,CAAZA,CAAY,CAAZA,GAAkB5C,IAAI,CAAtB4C;AACD;AACF;AACF;;AACDA,sBAAY,kCAEPzxB,IAAI,CAAJA,KAFLyxB,MAAY,CAAZA;;AAIA,eAAK,IAAL,mBAA8B;AAC5B,gBAAIA,YAAY,CAAZA,eAAJ,CAAIA,CAAJ,EAAoC;AAClC,kBAAMC,WAAW,GAAGhzB,KAAK,CAALA,QAAc+yB,YAAY,CAA1B/yB,CAA0B,CAA1BA,IAChB+yB,YAAY,CADI/yB,CACJ,CADIA,GAEhB,CAAC+yB,YAAY,CAFjB,CAEiB,CAAb,CAFJ;AAGAA,0BAAY,CAAZA,CAAY,CAAZA,GAAkBC,WAAW,CAAXA,IAAgBC,YAAY,CAAZA,WAAlCF,CAAkCE,CAAhBD,CAAlBD;AACD;AACF;;AACD,cAAMG,MAAM,GAAG,WAAf,YAAe,CAAf;AACAA,gBAAM,CAANA,SAAgBnxB,OAAO,CAAvBmxB;;AACA,cAAI5xB,IAAI,CAAJA,KAAJ,SAAuB;AACrBA,gBAAI,CAAJA,wBAA6BS,OAAO,CAApCT;AACAA,gBAAI,CAAJA,qBAA0BS,OAAO,CAAjCT;AACD;;AACD4xB,gBAAM,CAANA,SAAgB5xB,IAAI,CAApB4xB,OAA4B5xB,IAAI,CAAJA,gBAA5B4xB,SAA0D,gBAAQ;AAChE,gBAAMC,WAAW,GAAjB;;AACA,gBAAIxE,MAAM,IAAIA,MAAM,CAApB,QAA6B;AAC3BwE,yBAAW,CAAXA;AACD;;AACD,gBAAIC,IAAI,IAAIA,IAAI,CAAhB,QAAyB;AACvBD,yBAAW,CAAXA;AACD;;AACDL,gBAAI,CAACK,WAAW,CAAXA,uBAALL,IAAI,CAAJA;AARFI;AAUD;AACF;;AAED;;AACA,UAAI/C,IAAI,CAAR,gBAAyB;AACvBrwB,WAAG,GAAGqwB,IAAI,CAAJA,qBAA0B7uB,IAAI,CAA9B6uB,WAA0C7uB,IAAI,CAA9C6uB,QAANrwB,OAAMqwB,CAANrwB;AADF,aAEO,IAAIqwB,IAAI,CAAR,WAAoB;AACzBrwB,WAAG,GAAGqwB,IAAI,CAAJA,gBAAqB7uB,IAAI,CAAzB6uB,WAAqC7uB,IAAI,CAAzC6uB,QAANrwB,OAAMqwB,CAANrwB;;AACA,YAAIA,GAAG,KAAP,MAAkB;AAChBuzB,YAAE;AADJ,eAEO,IAAIvzB,GAAG,KAAP,OAAmB;AACxBuzB,YAAE,CAAClD,IAAI,CAAJA,WAAmBA,IAAI,CAAvBA,KAAmBA,GAAtBkD,QAAE,CAAFA;AADK,eAEA,IAAIvzB,GAAG,YAAP,OAA0B;AAC/BuzB,YAAE,CAAFA,GAAE,CAAFA;AADK,eAEA,IAAIvzB,GAAG,YAAP,OAA0B;AAC/BuzB,YAAE,CAACvzB,GAAG,CAANuzB,OAAE,CAAFA;AACD;AACF;;AACD,UAAIvzB,GAAG,IAAIA,GAAG,CAAd,MAAqB;AACnBA,WAAG,CAAHA,KAAS;AAAA,iBAAMuzB,EAAN;AAATvzB,WAAqB,aAAC;AAAA,iBAAIuzB,EAAE,CAAN,CAAM,CAAN;AAAtBvzB;AACD;AAnHU,OAqHb,mBAAW;AACT+D,cAAQ,CAARA,OAAQ,CAARA;AAtHJ,KAAe,CAAf;AAjHe;AA2OjByvB,SA3OiB,yBA2OH;AACZ,QAAInD,IAAI,CAAJA,sBAA2BA,IAAI,CAAJA,mBAA/B,QAA+D;AAC7DA,UAAI,CAAJA;AACD;;AACD,QACE,OAAOA,IAAI,CAAX,4BACCA,IAAI,CAAJA,IADD,IACc,CAACoD,UAAU,CAAVA,eAA0BpD,IAAI,CAF/C,IAEiBoD,CAFjB,EAGE;AACA,YAAM,UAAU5K,MAAM,yBAAyBwH,IAAI,CAAnD,IAAsB,CAAhB,CAAN;AACD;;AACD,WAAOA,IAAI,CAAJA,QAAP;AArPe;AAuPjBqD,qBAvPiB,qCAuPS;AACxB,QAAI,OAAOrD,IAAI,CAAX,cAAJ,YAA0C;AACxC,aAAOA,IAAI,CAAX;AACD;;AACD,QAAMpvB,IAAI,GAAGhD,MAAM,CAANA,KAAb,IAAaA,CAAb;AACA,QAAM01B,YAAY,GAAG1yB,IAAI,CAAJA,QAArB,SAAqBA,CAArB;;AACA,QAAI0yB,YAAY,KAAK,CAArB,GAAyB;AACvB1yB,UAAI,CAAJA;AACD;;AACD,QAAIA,IAAI,CAAJA,gBAAqBA,IAAI,CAAJA,CAAI,CAAJA,KAAzB,YAAiD;AAC/C,aAAOwyB,UAAU,CAAjB;AACD;;AACD,WAAOA,UAAU,CAAC,aAAXA,IAAW,CAAD,CAAVA,IAAP;AACD,GApQgB,EAAnBnB;;;AAuQAA,MAAM,CAANA,WAAkB,mCAAmC;AACnD,MAAI,qBAAJ,YAAqC;AACnC,UAAM,UAAN,kEAAM,CAAN;AAGD;;AACDmB,YAAU,CAAVA,IAAU,CAAVA;AANFnB;;AASAA,MAAM,CAANA;AAEAA,MAAM,CAANA,oB;;;;;;;;;;;;;;ACzSA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,0BAA0B,mBAAO,CAAC,cAAM;AACxC;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC7BA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,IAAI;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KA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CgB,mBAiCRt2B,CAjCQ,EAiCL;AACT21B,QAAI,CAACx6B,KAAL,CAAW6E,CAAX;AACD,GAnCe,EAAlB;;;AAsCA,SAASu2B,IAAT,GAAgB;AACd,MAAIt2B,IAAJ,EAA4C;AAC1CyJ,OAAG,CAAC2lB,MAAJ,GAAa,UAAS/tB,IAAT,EAAerM,OAAf,EAAwB,CAAE,CAAvC;AACD,GAFD,MAEK,YAMJ;AACF;;AAEDshC,IAAI,G;;;;;;;;;;;;ACh3BJ,iBAAiB,mBAAO,CAAC,6BAAqB;;;;;;;;;;;;ACA9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,mBAAW;;AAEpC;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;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ACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;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,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;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;;AAEA;;;;;;;;;;;;;;kuBCxXA,sF;;AAEA;;;AAGO,SAASuoB,WAAT,GAAuB;AAC5B,SAAOxjB,iBAAQnO,GAAR,CAAY,WAAZ,EAAyB,EAAzB,EAA6B,EAAEoJ,KAAK,EAAE,KAAT,EAA7B,CAAP;AACD;;AAED;;;AAGO,SAASwoB,gBAAT,CAA0BhjB,EAA1B,EAA8B;AACnC,SAAOT,iBAAQnO,GAAR,CAAY,qBAAqB4O,EAAjC,EAAqC,EAArC,EAAyC,EAAExF,KAAK,EAAE,IAAT,EAAzC,CAAP;AACD;;AAED;;;AAGO,SAASyoB,cAAT,CAAwBjjB,EAAxB,EAA4B;AACjC,SAAOT,iBAAQnO,GAAR,CAAY,mBAAmB4O,EAA/B,EAAmC,EAAnC,EAAuC,EAAExF,KAAK,EAAE,IAAT,EAAvC,CAAP;AACD;;AAED;;;AAGO,SAAS0oB,WAAT,CAAqBpjB,CAArB,EAAwB;AAC7B,SAAOP,iBAAQnO,GAAR,CAAY,WAAZ,EAAyB0O,CAAzB,EAA4B,EAAEtF,KAAK,EAAE,KAAT,EAA5B,CAAP;AACD;;AAED;;;AAGO,SAAS2oB,UAAT,GAAsB;AAC3B,SAAO5jB,iBAAQnO,GAAR,CAAY,aAAZ,CAAP;AACD;;AAED;;;AAGO,SAASgyB,SAAT,CAAmBpjB,EAAnB,EAAuBgB,QAAvB,EAAiC;AACtC,SAAOzB,iBAAQnO,GAAR,CAAY,kBAAkB4O,EAAlB,GAAuB,GAAvB,GAA6BgB,QAAzC,CAAP;AACD;;AAED;;;AAGO,SAASqiB,eAAT,CAAyBznB,IAAzB,EAA+BkF,KAA/B,EAAsC;AAC3C,SAAOvB,iBAAQnO,GAAR;AACL,gBADK;AAEL,IAAEwK,IAAI,EAAEA,IAAR,EAAckF,KAAK,EAAEA,KAArB,EAFK;AAGL,IAAEtG,KAAK,EAAE,KAAT,EAHK,CAAP;;AAKD;;AAED;;;AAGO,SAAS8oB,YAAT,CAAsBx3B,IAAtB,EAA4B;AACjC,SAAOyT,iBAAQnO,GAAR,CAAY,iBAAiBtF,IAA7B,EAAmC,EAAnC,EAAuC,EAAE0O,KAAK,EAAE,KAAT,EAAvC,CAAP;AACD;;AAED;;;AAGO,SAAS+oB,WAAT,CAAqBvkC,IAArB,EAA2B;AAChC,SAAOugB,iBAAQC,IAAR,CAAa,WAAb,EAA0BxgB,IAA1B,CAAP;AACD;;AAED;;;AAGO,SAASwkC,WAAT,GAAuB;AAC5B,SAAOjkB,iBAAQnO,GAAR,CAAY,YAAZ,CAAP;AACD;;AAED;;;AAGO,SAASqyB,WAAT,CAAqBC,GAArB,EAA0B;AAC/B,SAAOnkB,iBAAQC,IAAR,CAAa,WAAb,EAA0B,EAAEkkB,GAAG,EAAHA,GAAF,EAA1B,CAAP;AACD;;AAED;;;AAGO,SAASC,YAAT,CAAsB3kC,IAAtB,EAA4B;AACjC,SAAOugB,iBAAQnO,GAAR,CAAY,aAAZ,EAA2BpS,IAA3B,CAAP;AACD;;AAED;;;AAGO,SAAS4kC,aAAT,CAAuB5jB,EAAvB,EAA2Btd,MAA3B,EAAmC;AACxC,SAAO6c,iBAAQC,IAAR,CAAa,WAAb,EAA0B,EAAEQ,EAAE,EAAFA,EAAF,EAAMtd,MAAM,EAANA,MAAN,EAA1B,CAAP;AACD;;AAED;;;AAGO,SAASmhC,gBAAT,GAA4B;AACjC,SAAOtkB,iBAAQnO,GAAR,CAAY,iBAAZ,EAA+B,EAA/B,EAAmC,EAAEoJ,KAAK,EAAE,KAAT,EAAnC,CAAP;AACD;;AAED;;;AAGO,SAASspB,YAAT,CAAsB9jB,EAAtB,EAA0BF,CAA1B,EAA6B;AAClC,SAAOP,iBAAQnO,GAAR,CAAY,iBAAiB4O,EAA7B,EAAiCF,CAAjC,EAAoC,EAAEtF,KAAK,EAAE,IAAT,EAApC,CAAP;AACD;;AAED;;;AAGO,SAASupB,cAAT,CAAwB/jB,EAAxB,EAA4B;AACjC,SAAOT,iBAAQnO,GAAR,CAAY,mBAAmB4O,EAA/B,EAAmC,EAAnC,EAAuC,EAAExF,KAAK,EAAE,IAAT,EAAvC,CAAP;AACD;;AAED;;;AAGO,SAASwpB,gBAAT,CAA0BC,MAA1B,EAAkC;AACvC,SAAO1kB,iBAAQC,IAAR,CAAa,gBAAb,EAA+B,EAAEykB,MAAM,EAANA,MAAF,EAA/B,EAA2C,EAAEzpB,KAAK,EAAE,IAAT,EAA3C,CAAP;AACD;;AAED;;;AAGO,SAAS0pB,gBAAT,CAA0BllC,IAA1B,EAAgC;AACrC,SAAOugB,iBAAQC,IAAR,CAAa,gBAAb,EAA+BxgB,IAA/B,EAAqC,EAAEwb,KAAK,EAAE,IAAT,EAArC,CAAP;AACD,C;;;;;;;;;;;;sKClID;AACA;AACA;AACA;AACO,SAAS2pB,IAAT,CAAav+B,IAAb,EAAmBC,IAAnB,EAAyB;AAC9B,MAAIu+B,EAAE,GAAG,CAAT;AACEC,IAAE,GAAG,CADP;AAEEC,IAFF;AAGEC,IAHF;AAIA,MAAI;AACFH,MAAE,GAAGx+B,IAAI,CAACjK,QAAL,GAAgBuO,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,EAA8BnM,MAAnC;AACD,GAFD,CAEE,OAAOyM,CAAP,EAAU;AACV45B,MAAE,GAAG,CAAL;AACD;AACD,MAAI;AACFC,MAAE,GAAGx+B,IAAI,CAAClK,QAAL,GAAgBuO,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,EAA8BnM,MAAnC;AACD,GAFD,CAEE,OAAOyM,CAAP,EAAU;AACV65B,MAAE,GAAG,CAAL;AACD;AACDC,IAAE,GAAG1hC,MAAM,CAACgD,IAAI,CAACjK,QAAL,GAAgBmB,OAAhB,CAAwB,GAAxB,EAA6B,EAA7B,CAAD,CAAX;AACAynC,IAAE,GAAG3hC,MAAM,CAACiD,IAAI,CAAClK,QAAL,GAAgBmB,OAAhB,CAAwB,GAAxB,EAA6B,EAA7B,CAAD,CAAX;AACA,SAAO0nC,IAAG,CAACF,EAAE,GAAGC,EAAN,EAAUzhC,IAAI,CAAC2hC,GAAL,CAAS,EAAT,EAAaJ,EAAE,GAAGD,EAAlB,CAAV,CAAV;AACD;AACD;AACA;AACA;AACA;AACO,SAASI,IAAT,CAAa5+B,IAAb,EAAmBC,IAAnB,EAAyB;AAC9B,MAAIqf,CAAC,GAAG,CAAR;AACEwf,IAAE,GAAG9+B,IAAI,CAACjK,QAAL,EADP;AAEEgpC,IAAE,GAAG9+B,IAAI,CAAClK,QAAL,EAFP;AAGA,MAAI;AACFupB,KAAC,IAAIwf,EAAE,CAACx6B,KAAH,CAAS,GAAT,EAAc,CAAd,EAAiBnM,MAAtB;AACD,GAFD,CAEE,OAAOyM,CAAP,EAAU;AACV0a,KAAC,GAAG,CAAJ;AACD;AACD,MAAI;AACFA,KAAC,IAAIyf,EAAE,CAACz6B,KAAH,CAAS,GAAT,EAAc,CAAd,EAAiBnM,MAAtB;AACD,GAFD,CAEE,OAAOyM,CAAP,EAAU;AACV0a,KAAC,GAAGA,CAAC,IAAI,CAAT;AACD;AACD;AACGtiB,UAAM,CAAC8hC,EAAE,CAAC5nC,OAAH,CAAW,GAAX,EAAgB,EAAhB,CAAD,CAAN,GAA8B8F,MAAM,CAAC+hC,EAAE,CAAC7nC,OAAH,CAAW,GAAX,EAAgB,EAAhB,CAAD,CAArC;AACAgG,QAAI,CAAC2hC,GAAL,CAAS,EAAT,EAAavf,CAAb,CAFF;;AAID;;AAED;AACA;AACA;AACA;AACO,SAASI,IAAT,CAAa1f,IAAb,EAAmBC,IAAnB,EAAyB;AAC9B,MAAIy+B,EAAJ,EAAQC,EAAR,EAAYrf,CAAZ,EAAeZ,CAAf;AACA,MAAI;AACFggB,MAAE,GAAG1+B,IAAI,CAACjK,QAAL,GAAgBuO,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,EAA8BnM,MAAnC;AACD,GAFD,CAEE,OAAOyM,CAAP,EAAU;AACV85B,MAAE,GAAG,CAAL;AACD;AACD,MAAI;AACFC,MAAE,GAAG1+B,IAAI,CAAClK,QAAL,GAAgBuO,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,EAA8BnM,MAAnC;AACD,GAFD,CAEE,OAAOyM,CAAP,EAAU;AACV+5B,MAAE,GAAG,CAAL;AACD;AACDrf,GAAC,GAAGpiB,IAAI,CAAC2hC,GAAL,CAAS,EAAT,EAAa3hC,IAAI,CAAC6rB,GAAL,CAAS2V,EAAT,EAAaC,EAAb,CAAb,CAAJ;AACAjgB,GAAC,GAAGggB,EAAE,IAAIC,EAAN,GAAWD,EAAX,GAAgBC,EAApB;AACA,SAAO,CAAC,CAAC3+B,IAAI,GAAGsf,CAAP,GAAWrf,IAAI,GAAGqf,CAAnB,IAAwBA,CAAzB,EAA4B0f,OAA5B,CAAoCtgB,CAApC,CAAP;AACD;;AAED;AACA;AACA;AACA;AACO,SAASugB,IAAT,CAAaj/B,IAAb,EAAmBC,IAAnB,EAAyB;AAC9B,MAAIy+B,EAAJ,EAAQC,EAAR,EAAYrf,CAAZ,EAAeZ,CAAf;AACA,MAAI;AACFggB,MAAE,GAAG1+B,IAAI,CAACjK,QAAL,GAAgBuO,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,EAA8BnM,MAAnC;AACD,GAFD,CAEE,OAAOyM,CAAP,EAAU;AACV85B,MAAE,GAAG,CAAL;AACD;AACD,MAAI;AACFC,MAAE,GAAG1+B,IAAI,CAAClK,QAAL,GAAgBuO,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,EAA8BnM,MAAnC;AACD,GAFD,CAEE,OAAOyM,CAAP,EAAU;AACV+5B,MAAE,GAAG,CAAL;AACD;AACDrf,GAAC,GAAGpiB,IAAI,CAAC2hC,GAAL,CAAS,EAAT,EAAa3hC,IAAI,CAAC6rB,GAAL,CAAS2V,EAAT,EAAaC,EAAb,CAAb,CAAJ;AACA;AACAjgB,GAAC,GAAGggB,EAAE,IAAIC,EAAN,GAAWD,EAAX,GAAgBC,EAApB;AACA,SAAO,CAAC,CAAC3+B,IAAI,GAAGsf,CAAP,GAAWrf,IAAI,GAAGqf,CAAnB,IAAwBA,CAAzB,EAA4B0f,OAA5B,CAAoCtgB,CAApC,CAAP;AACD;;AAED,SAASwgB,OAAT,CAAiBljC,KAAjB,EAAwB;AACtB,OAAKA,KAAL,GAAaA,KAAb;AACD;AACDnG,MAAM,CAACgG,MAAP,CAAcqjC,OAAO,CAACppC,SAAtB,EAAiC;AAC/B4pB,KAD+B,eAC3Ba,CAD2B,EACxB;AACL,SAAKvkB,KAAL,GAAa0jB,IAAG,CAAC,KAAK1jB,KAAN,EAAaukB,CAAb,CAAhB;AACA,WAAO,IAAP;AACD,GAJ8B;AAK/B0e,KAL+B,eAK3B1e,CAL2B,EAKxB;AACL,SAAKvkB,KAAL,GAAaijC,IAAG,CAAC,KAAKjjC,KAAN,EAAaukB,CAAb,CAAhB;AACA,WAAO,IAAP;AACD,GAR8B;AAS/Bge,KAT+B,eAS3Bhe,CAT2B,EASxB;AACL,SAAKvkB,KAAL,GAAauiC,IAAG,CAAC,KAAKviC,KAAN,EAAaukB,CAAb,CAAhB;AACA,WAAO,IAAP;AACD,GAZ8B;AAa/Bqe,KAb+B,eAa3Bre,CAb2B,EAaxB;AACL,SAAKvkB,KAAL,GAAa4iC,IAAG,CAAC,KAAK5iC,KAAN,EAAaukB,CAAb,CAAhB;AACA,WAAO,IAAP;AACD,GAhB8B,EAAjC;;;AAmBe,kBAASvkB,KAAT,EAAgB;AAC7B,SAAO,IAAIkjC,OAAJ,CAAYljC,KAAZ,CAAP;AACD,C","file":"common/vendor.js","sourcesContent":["import Vue from 'vue';\n\nconst _toString = Object.prototype.toString;\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isFn (fn) {\n return typeof fn === 'function'\n}\n\nfunction isStr (str) {\n return typeof str === 'string'\n}\n\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\nfunction noop () {}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n const cache = Object.create(null);\n return function cachedFn (str) {\n const hit = cache[str];\n return hit || (cache[str] = fn(str))\n }\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cached((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n});\n\nconst HOOKS = [\n 'invoke',\n 'success',\n 'fail',\n 'complete',\n 'returnValue'\n];\n\nconst globalInterceptors = {};\nconst scopedInterceptors = {};\n\nfunction mergeHook (parentVal, childVal) {\n const res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n const res = [];\n for (let 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\nfunction removeHook (hooks, hook) {\n const index = hooks.indexOf(hook);\n if (index !== -1) {\n hooks.splice(index, 1);\n }\n}\n\nfunction mergeInterceptorHook (interceptor, option) {\n Object.keys(option).forEach(hook => {\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\n }\n });\n}\n\nfunction removeInterceptorHook (interceptor, option) {\n if (!interceptor || !option) {\n return\n }\n Object.keys(option).forEach(hook => {\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\n removeHook(interceptor[hook], option[hook]);\n }\n });\n}\n\nfunction addInterceptor (method, option) {\n if (typeof method === 'string' && isPlainObject(option)) {\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\n } else if (isPlainObject(method)) {\n mergeInterceptorHook(globalInterceptors, method);\n }\n}\n\nfunction removeInterceptor (method, option) {\n if (typeof method === 'string') {\n if (isPlainObject(option)) {\n removeInterceptorHook(scopedInterceptors[method], option);\n } else {\n delete scopedInterceptors[method];\n }\n } else if (isPlainObject(method)) {\n removeInterceptorHook(globalInterceptors, method);\n }\n}\n\nfunction wrapperHook (hook) {\n return function (data) {\n return hook(data) || data\n }\n}\n\nfunction isPromise (obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\n}\n\nfunction queue (hooks, data) {\n let promise = false;\n for (let i = 0; i < hooks.length; i++) {\n const hook = hooks[i];\n if (promise) {\n promise = Promise.then(wrapperHook(hook));\n } else {\n const res = hook(data);\n if (isPromise(res)) {\n promise = Promise.resolve(res);\n }\n if (res === false) {\n return {\n then () {}\n }\n }\n }\n }\n return promise || {\n then (callback) {\n return callback(data)\n }\n }\n}\n\nfunction wrapperOptions (interceptor, options = {}) {\n ['success', 'fail', 'complete'].forEach(name => {\n if (Array.isArray(interceptor[name])) {\n const oldCallback = options[name];\n options[name] = function callbackInterceptor (res) {\n queue(interceptor[name], res).then((res) => {\n /* eslint-disable no-mixed-operators */\n return isFn(oldCallback) && oldCallback(res) || res\n });\n };\n }\n });\n return options\n}\n\nfunction wrapperReturnValue (method, returnValue) {\n const returnValueHooks = [];\n if (Array.isArray(globalInterceptors.returnValue)) {\n returnValueHooks.push(...globalInterceptors.returnValue);\n }\n const interceptor = scopedInterceptors[method];\n if (interceptor && Array.isArray(interceptor.returnValue)) {\n returnValueHooks.push(...interceptor.returnValue);\n }\n returnValueHooks.forEach(hook => {\n returnValue = hook(returnValue) || returnValue;\n });\n return returnValue\n}\n\nfunction getApiInterceptorHooks (method) {\n const interceptor = Object.create(null);\n Object.keys(globalInterceptors).forEach(hook => {\n if (hook !== 'returnValue') {\n interceptor[hook] = globalInterceptors[hook].slice();\n }\n });\n const scopedInterceptor = scopedInterceptors[method];\n if (scopedInterceptor) {\n Object.keys(scopedInterceptor).forEach(hook => {\n if (hook !== 'returnValue') {\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\n }\n });\n }\n return interceptor\n}\n\nfunction invokeApi (method, api, options, ...params) {\n const interceptor = getApiInterceptorHooks(method);\n if (interceptor && Object.keys(interceptor).length) {\n if (Array.isArray(interceptor.invoke)) {\n const res = queue(interceptor.invoke, options);\n return res.then((options) => {\n return api(wrapperOptions(interceptor, options), ...params)\n })\n } else {\n return api(wrapperOptions(interceptor, options), ...params)\n }\n }\n return api(options, ...params)\n}\n\nconst promiseInterceptor = {\n returnValue (res) {\n if (!isPromise(res)) {\n return res\n }\n return res.then(res => {\n return res[1]\n }).catch(res => {\n return res[0]\n })\n }\n};\n\nconst SYNC_API_RE =\n /^\\$|restoreGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64/;\n\nconst CONTEXT_API_RE = /^create|Manager$/;\n\nconst CALLBACK_API_RE = /^on/;\n\nfunction isContextApi (name) {\n return CONTEXT_API_RE.test(name)\n}\nfunction isSyncApi (name) {\n return SYNC_API_RE.test(name)\n}\n\nfunction isCallbackApi (name) {\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\n}\n\nfunction handlePromise (promise) {\n return promise.then(data => {\n return [null, data]\n })\n .catch(err => [err])\n}\n\nfunction shouldPromise (name) {\n if (\n isContextApi(name) ||\n isSyncApi(name) ||\n isCallbackApi(name)\n ) {\n return false\n }\n return true\n}\n\nfunction promisify (name, api) {\n if (!shouldPromise(name)) {\n return api\n }\n return function promiseApi (options = {}, ...params) {\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\n }\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\n invokeApi(name, api, Object.assign({}, options, {\n success: resolve,\n fail: reject\n }), ...params);\n /* eslint-disable no-extend-native */\n if (!Promise.prototype.finally) {\n Promise.prototype.finally = function (callback) {\n const promise = this.constructor;\n return this.then(\n value => promise.resolve(callback()).then(() => value),\n reason => promise.resolve(callback()).then(() => {\n throw reason\n })\n )\n };\n }\n })))\n }\n}\n\nconst EPS = 1e-4;\nconst BASE_DEVICE_WIDTH = 750;\nlet isIOS = false;\nlet deviceWidth = 0;\nlet deviceDPR = 0;\n\nfunction checkDeviceWidth () {\n const {\n platform,\n pixelRatio,\n windowWidth\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\n\n deviceWidth = windowWidth;\n deviceDPR = pixelRatio;\n isIOS = platform === 'ios';\n}\n\nfunction upx2px (number, newDeviceWidth) {\n if (deviceWidth === 0) {\n checkDeviceWidth();\n }\n\n number = Number(number);\n if (number === 0) {\n return 0\n }\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\n if (result < 0) {\n result = -result;\n }\n result = Math.floor(result + EPS);\n if (result === 0) {\n if (deviceDPR === 1 || !isIOS) {\n return 1\n } else {\n return 0.5\n }\n }\n return number < 0 ? -result : result\n}\n\nconst interceptors = {\n promiseInterceptor\n};\n\n\n\nvar baseApi = /*#__PURE__*/Object.freeze({\n __proto__: null,\n upx2px: upx2px,\n interceptors: interceptors,\n addInterceptor: addInterceptor,\n removeInterceptor: removeInterceptor\n});\n\nvar previewImage = {\n args (fromArgs) {\n let currentIndex = parseInt(fromArgs.current);\n if (isNaN(currentIndex)) {\n return\n }\n const urls = fromArgs.urls;\n if (!Array.isArray(urls)) {\n return\n }\n const len = urls.length;\n if (!len) {\n return\n }\n if (currentIndex < 0) {\n currentIndex = 0;\n } else if (currentIndex >= len) {\n currentIndex = len - 1;\n }\n if (currentIndex > 0) {\n fromArgs.current = urls[currentIndex];\n fromArgs.urls = urls.filter(\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\n );\n } else {\n fromArgs.current = urls[0];\n }\n return {\n indicator: false,\n loop: false\n }\n }\n};\n\nfunction addSafeAreaInsets (result) {\n if (result.safeArea) {\n const safeArea = result.safeArea;\n result.safeAreaInsets = {\n top: safeArea.top,\n left: safeArea.left,\n right: result.windowWidth - safeArea.right,\n bottom: result.windowHeight - safeArea.bottom\n };\n }\n}\nconst protocols = {\n previewImage,\n getSystemInfo: {\n returnValue: addSafeAreaInsets\n },\n getSystemInfoSync: {\n returnValue: addSafeAreaInsets\n }\n};\nconst todos = [\n 'vibrate'\n];\nconst canIUses = [];\n\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\n\nfunction processCallback (methodName, method, returnValue) {\n return function (res) {\n return method(processReturnValue(methodName, res, returnValue))\n }\n}\n\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\n if (isFn(argsOption)) {\n argsOption = argsOption(fromArgs, toArgs) || {};\n }\n for (let key in fromArgs) {\n if (hasOwn(argsOption, key)) {\n let keyOption = argsOption[key];\n if (isFn(keyOption)) {\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\n }\n if (!keyOption) { // 不支持的参数\n console.warn(`微信小程序 ${methodName}暂不支持${key}`);\n } else if (isStr(keyOption)) { // 重写参数 key\n toArgs[keyOption] = fromArgs[key];\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\n }\n } else if (CALLBACKS.indexOf(key) !== -1) {\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\n } else {\n if (!keepFromArgs) {\n toArgs[key] = fromArgs[key];\n }\n }\n }\n return toArgs\n } else if (isFn(fromArgs)) {\n fromArgs = processCallback(methodName, fromArgs, returnValue);\n }\n return fromArgs\n}\n\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\n res = protocols.returnValue(methodName, res);\n }\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\n}\n\nfunction wrapper (methodName, method) {\n if (hasOwn(protocols, methodName)) {\n const protocol = protocols[methodName];\n if (!protocol) { // 暂不支持的 api\n return function () {\n console.error(`微信小程序 暂不支持${methodName}`);\n }\n }\n return function (arg1, arg2) { // 目前 api 最多两个参数\n let options = protocol;\n if (isFn(protocol)) {\n options = protocol(arg1);\n }\n\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\n\n const args = [arg1];\n if (typeof arg2 !== 'undefined') {\n args.push(arg2);\n }\n const returnValue = wx[options.name || methodName].apply(wx, args);\n if (isSyncApi(methodName)) { // 同步 api\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\n }\n return returnValue\n }\n }\n return method\n}\n\nconst todoApis = Object.create(null);\n\nconst TODOS = [\n 'onTabBarMidButtonTap',\n 'subscribePush',\n 'unsubscribePush',\n 'onPush',\n 'offPush',\n 'share'\n];\n\nfunction createTodoApi (name) {\n return function todoApi ({\n fail,\n complete\n }) {\n const res = {\n errMsg: `${name}:fail:暂不支持 ${name} 方法`\n };\n isFn(fail) && fail(res);\n isFn(complete) && complete(res);\n }\n}\n\nTODOS.forEach(function (name) {\n todoApis[name] = createTodoApi(name);\n});\n\nvar providers = {\n oauth: ['weixin'],\n share: ['weixin'],\n payment: ['wxpay'],\n push: ['weixin']\n};\n\nfunction getProvider ({\n service,\n success,\n fail,\n complete\n}) {\n let res = false;\n if (providers[service]) {\n res = {\n errMsg: 'getProvider:ok',\n service,\n provider: providers[service]\n };\n isFn(success) && success(res);\n } else {\n res = {\n errMsg: 'getProvider:fail:服务[' + service + ']不存在'\n };\n isFn(fail) && fail(res);\n }\n isFn(complete) && complete(res);\n}\n\nvar extraApi = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getProvider: getProvider\n});\n\nconst getEmitter = (function () {\n if (typeof getUniEmitter === 'function') {\n /* eslint-disable no-undef */\n return getUniEmitter\n }\n let Emitter;\n return function getUniEmitter () {\n if (!Emitter) {\n Emitter = new Vue();\n }\n return Emitter\n }\n})();\n\nfunction apply (ctx, method, args) {\n return ctx[method].apply(ctx, args)\n}\n\nfunction $on () {\n return apply(getEmitter(), '$on', [...arguments])\n}\nfunction $off () {\n return apply(getEmitter(), '$off', [...arguments])\n}\nfunction $once () {\n return apply(getEmitter(), '$once', [...arguments])\n}\nfunction $emit () {\n return apply(getEmitter(), '$emit', [...arguments])\n}\n\nvar eventApi = /*#__PURE__*/Object.freeze({\n __proto__: null,\n $on: $on,\n $off: $off,\n $once: $once,\n $emit: $emit\n});\n\n\n\nvar api = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nconst MPPage = Page;\nconst MPComponent = Component;\n\nconst customizeRE = /:/g;\n\nconst customize = cached((str) => {\n return camelize(str.replace(customizeRE, '-'))\n});\n\nfunction initTriggerEvent (mpInstance) {\n {\n if (!wx.canIUse('nextTick')) {\n return\n }\n }\n const oldTriggerEvent = mpInstance.triggerEvent;\n mpInstance.triggerEvent = function (event, ...args) {\n return oldTriggerEvent.apply(mpInstance, [customize(event), ...args])\n };\n}\n\nfunction initHook (name, options) {\n const oldHook = options[name];\n if (!oldHook) {\n options[name] = function () {\n initTriggerEvent(this);\n };\n } else {\n options[name] = function (...args) {\n initTriggerEvent(this);\n return oldHook.apply(this, args)\n };\n }\n}\n\nPage = function (options = {}) {\n initHook('onLoad', options);\n return MPPage(options)\n};\n\nComponent = function (options = {}) {\n initHook('created', options);\n return MPComponent(options)\n};\n\nconst PAGE_EVENT_HOOKS = [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onShareAppMessage',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap'\n];\n\nfunction initMocks (vm, mocks) {\n const mpInstance = vm.$mp[vm.mpType];\n mocks.forEach(mock => {\n if (hasOwn(mpInstance, mock)) {\n vm[mock] = mpInstance[mock];\n }\n });\n}\n\nfunction hasHook (hook, vueOptions) {\n if (!vueOptions) {\n return true\n }\n\n if (Vue.options && Array.isArray(Vue.options[hook])) {\n return true\n }\n\n vueOptions = vueOptions.default || vueOptions;\n\n if (isFn(vueOptions)) {\n if (isFn(vueOptions.extendOptions[hook])) {\n return true\n }\n if (vueOptions.super &&\n vueOptions.super.options &&\n Array.isArray(vueOptions.super.options[hook])) {\n return true\n }\n return false\n }\n\n if (isFn(vueOptions[hook])) {\n return true\n }\n const mixins = vueOptions.mixins;\n if (Array.isArray(mixins)) {\n return !!mixins.find(mixin => hasHook(hook, mixin))\n }\n}\n\nfunction initHooks (mpOptions, hooks, vueOptions) {\n hooks.forEach(hook => {\n if (hasHook(hook, vueOptions)) {\n mpOptions[hook] = function (args) {\n return this.$vm && this.$vm.__call_hook(hook, args)\n };\n }\n });\n}\n\nfunction initVueComponent (Vue, vueOptions) {\n vueOptions = vueOptions.default || vueOptions;\n let VueComponent;\n if (isFn(vueOptions)) {\n VueComponent = vueOptions;\n vueOptions = VueComponent.extendOptions;\n } else {\n VueComponent = Vue.extend(vueOptions);\n }\n return [VueComponent, vueOptions]\n}\n\nfunction initSlots (vm, vueSlots) {\n if (Array.isArray(vueSlots) && vueSlots.length) {\n const $slots = Object.create(null);\n vueSlots.forEach(slotName => {\n $slots[slotName] = true;\n });\n vm.$scopedSlots = vm.$slots = $slots;\n }\n}\n\nfunction initVueIds (vueIds, mpInstance) {\n vueIds = (vueIds || '').split(',');\n const len = vueIds.length;\n\n if (len === 1) {\n mpInstance._$vueId = vueIds[0];\n } else if (len === 2) {\n mpInstance._$vueId = vueIds[0];\n mpInstance._$vuePid = vueIds[1];\n }\n}\n\nfunction initData (vueOptions, context) {\n let data = vueOptions.data || {};\n const methods = vueOptions.methods || {};\n\n if (typeof data === 'function') {\n try {\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\n } catch (e) {\n if (process.env.VUE_APP_DEBUG) {\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\n }\n }\n } else {\n try {\n // 对 data 格式化\n data = JSON.parse(JSON.stringify(data));\n } catch (e) {}\n }\n\n if (!isPlainObject(data)) {\n data = {};\n }\n\n Object.keys(methods).forEach(methodName => {\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\n data[methodName] = methods[methodName];\n }\n });\n\n return data\n}\n\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\n\nfunction createObserver (name) {\n return function observer (newVal, oldVal) {\n if (this.$vm) {\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\n }\n }\n}\n\nfunction initBehaviors (vueOptions, initBehavior) {\n const vueBehaviors = vueOptions['behaviors'];\n const vueExtends = vueOptions['extends'];\n const vueMixins = vueOptions['mixins'];\n\n let vueProps = vueOptions['props'];\n\n if (!vueProps) {\n vueOptions['props'] = vueProps = [];\n }\n\n const behaviors = [];\n if (Array.isArray(vueBehaviors)) {\n vueBehaviors.forEach(behavior => {\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\n if (behavior === 'uni://form-field') {\n if (Array.isArray(vueProps)) {\n vueProps.push('name');\n vueProps.push('value');\n } else {\n vueProps['name'] = {\n type: String,\n default: ''\n };\n vueProps['value'] = {\n type: [String, Number, Boolean, Array, Object, Date],\n default: ''\n };\n }\n }\n });\n }\n if (isPlainObject(vueExtends) && vueExtends.props) {\n behaviors.push(\n initBehavior({\n properties: initProperties(vueExtends.props, true)\n })\n );\n }\n if (Array.isArray(vueMixins)) {\n vueMixins.forEach(vueMixin => {\n if (isPlainObject(vueMixin) && vueMixin.props) {\n behaviors.push(\n initBehavior({\n properties: initProperties(vueMixin.props, true)\n })\n );\n }\n });\n }\n return behaviors\n}\n\nfunction parsePropType (key, type, defaultValue, file) {\n // [String]=>String\n if (Array.isArray(type) && type.length === 1) {\n return type[0]\n }\n return type\n}\n\nfunction initProperties (props, isBehavior = false, file = '') {\n const properties = {};\n if (!isBehavior) {\n properties.vueId = {\n type: String,\n value: ''\n };\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\n type: null,\n value: [],\n observer: function (newVal, oldVal) {\n const $slots = Object.create(null);\n newVal.forEach(slotName => {\n $slots[slotName] = true;\n });\n this.setData({\n $slots\n });\n }\n };\n }\n if (Array.isArray(props)) { // ['title']\n props.forEach(key => {\n properties[key] = {\n type: null,\n observer: createObserver(key)\n };\n });\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\n Object.keys(props).forEach(key => {\n const opts = props[key];\n if (isPlainObject(opts)) { // title:{type:String,default:''}\n let value = opts['default'];\n if (isFn(value)) {\n value = value();\n }\n\n opts.type = parsePropType(key, opts.type);\n\n properties[key] = {\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\n value,\n observer: createObserver(key)\n };\n } else { // content:String\n const type = parsePropType(key, opts);\n properties[key] = {\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\n observer: createObserver(key)\n };\n }\n });\n }\n return properties\n}\n\nfunction wrapper$1 (event) {\n // TODO 又得兼容 mpvue 的 mp 对象\n try {\n event.mp = JSON.parse(JSON.stringify(event));\n } catch (e) {}\n\n event.stopPropagation = noop;\n event.preventDefault = noop;\n\n event.target = event.target || {};\n\n if (!hasOwn(event, 'detail')) {\n event.detail = {};\n }\n\n if (isPlainObject(event.detail)) {\n event.target = Object.assign({}, event.target, event.detail);\n }\n\n return event\n}\n\nfunction getExtraValue (vm, dataPathsArray) {\n let context = vm;\n dataPathsArray.forEach(dataPathArray => {\n const dataPath = dataPathArray[0];\n const value = dataPathArray[2];\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\n const propPath = dataPathArray[1];\n const valuePath = dataPathArray[3];\n\n const vFor = dataPath ? vm.__get_value(dataPath, context) : context;\n\n if (Number.isInteger(vFor)) {\n context = value;\n } else if (!propPath) {\n context = vFor[value];\n } else {\n if (Array.isArray(vFor)) {\n context = vFor.find(vForItem => {\n return vm.__get_value(propPath, vForItem) === value\n });\n } else if (isPlainObject(vFor)) {\n context = Object.keys(vFor).find(vForKey => {\n return vm.__get_value(propPath, vFor[vForKey]) === value\n });\n } else {\n console.error('v-for 暂不支持循环数据:', vFor);\n }\n }\n\n if (valuePath) {\n context = vm.__get_value(valuePath, context);\n }\n }\n });\n return context\n}\n\nfunction processEventExtra (vm, extra, event) {\n const extraObj = {};\n\n if (Array.isArray(extra) && extra.length) {\n /**\n *[\n * ['data.items', 'data.id', item.data.id],\n * ['metas', 'id', meta.id]\n *],\n *[\n * ['data.items', 'data.id', item.data.id],\n * ['metas', 'id', meta.id]\n *],\n *'test'\n */\n extra.forEach((dataPath, index) => {\n if (typeof dataPath === 'string') {\n if (!dataPath) { // model,prop.sync\n extraObj['$' + index] = vm;\n } else {\n if (dataPath === '$event') { // $event\n extraObj['$' + index] = event;\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\n } else {\n extraObj['$' + index] = vm.__get_value(dataPath);\n }\n }\n } else {\n extraObj['$' + index] = getExtraValue(vm, dataPath);\n }\n });\n }\n\n return extraObj\n}\n\nfunction getObjByArray (arr) {\n const obj = {};\n for (let i = 1; i < arr.length; i++) {\n const element = arr[i];\n obj[element[0]] = element[1];\n }\n return obj\n}\n\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\n if (isCustom) { // 自定义事件\n isCustomMPEvent = event.currentTarget &&\n event.currentTarget.dataset &&\n event.currentTarget.dataset.comType === 'wx';\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\n if (isCustomMPEvent) {\n return [event]\n }\n return event.detail.__args__ || event.detail\n }\n }\n\n const extraObj = processEventExtra(vm, extra, event);\n\n const ret = [];\n args.forEach(arg => {\n if (arg === '$event') {\n if (methodName === '__set_model' && !isCustom) { // input v-model value\n ret.push(event.target.value);\n } else {\n if (isCustom && !isCustomMPEvent) {\n ret.push(event.detail.__args__[0]);\n } else { // wxcomponent 组件或内置组件\n ret.push(event);\n }\n }\n } else {\n if (Array.isArray(arg) && arg[0] === 'o') {\n ret.push(getObjByArray(arg));\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\n ret.push(extraObj[arg]);\n } else {\n ret.push(arg);\n }\n }\n });\n\n return ret\n}\n\nconst ONCE = '~';\nconst CUSTOM = '^';\n\nfunction isMatchEventType (eventType, optType) {\n return (eventType === optType) ||\n (\n optType === 'regionchange' &&\n (\n eventType === 'begin' ||\n eventType === 'end'\n )\n )\n}\n\nfunction handleEvent (event) {\n event = wrapper$1(event);\n\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\n const dataset = (event.currentTarget || event.target).dataset;\n if (!dataset) {\n return console.warn(`事件信息不存在`)\n }\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\n if (!eventOpts) {\n return console.warn(`事件信息不存在`)\n }\n\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\n const eventType = event.type;\n\n const ret = [];\n\n eventOpts.forEach(eventOpt => {\n let type = eventOpt[0];\n const eventsArray = eventOpt[1];\n\n const isCustom = type.charAt(0) === CUSTOM;\n type = isCustom ? type.slice(1) : type;\n const isOnce = type.charAt(0) === ONCE;\n type = isOnce ? type.slice(1) : type;\n\n if (eventsArray && isMatchEventType(eventType, type)) {\n eventsArray.forEach(eventArray => {\n const methodName = eventArray[0];\n if (methodName) {\n let handlerCtx = this.$vm;\n if (\n handlerCtx.$options.generic &&\n handlerCtx.$parent &&\n handlerCtx.$parent.$parent\n ) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\n handlerCtx = handlerCtx.$parent.$parent;\n }\n if (methodName === '$emit') {\n handlerCtx.$emit.apply(handlerCtx,\n processEventArgs(\n this.$vm,\n event,\n eventArray[1],\n eventArray[2],\n isCustom,\n methodName\n ));\n return\n }\n const handler = handlerCtx[methodName];\n if (!isFn(handler)) {\n throw new Error(` _vm.${methodName} is not a function`)\n }\n if (isOnce) {\n if (handler.once) {\n return\n }\n handler.once = true;\n }\n ret.push(handler.apply(handlerCtx, processEventArgs(\n this.$vm,\n event,\n eventArray[1],\n eventArray[2],\n isCustom,\n methodName\n )));\n }\n });\n }\n });\n\n if (\n eventType === 'input' &&\n ret.length === 1 &&\n typeof ret[0] !== 'undefined'\n ) {\n return ret[0]\n }\n}\n\nconst hooks = [\n 'onShow',\n 'onHide',\n 'onError',\n 'onPageNotFound'\n];\n\nfunction parseBaseApp (vm, {\n mocks,\n initRefs\n}) {\n if (vm.$options.store) {\n Vue.prototype.$store = vm.$options.store;\n }\n\n Vue.prototype.mpHost = \"mp-weixin\";\n\n Vue.mixin({\n beforeCreate () {\n if (!this.$options.mpType) {\n return\n }\n\n this.mpType = this.$options.mpType;\n\n this.$mp = {\n data: {},\n [this.mpType]: this.$options.mpInstance\n };\n\n this.$scope = this.$options.mpInstance;\n\n delete this.$options.mpType;\n delete this.$options.mpInstance;\n\n if (this.mpType !== 'app') {\n initRefs(this);\n initMocks(this, mocks);\n }\n }\n });\n\n const appOptions = {\n onLaunch (args) {\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\n return\n }\n {\n if (!wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\n }\n }\n\n this.$vm = vm;\n\n this.$vm.$mp = {\n app: this\n };\n\n this.$vm.$scope = this;\n // vm 上也挂载 globalData\n this.$vm.globalData = this.globalData;\n\n this.$vm._isMounted = true;\n this.$vm.__call_hook('mounted', args);\n\n this.$vm.__call_hook('onLaunch', args);\n }\n };\n\n // 兼容旧版本 globalData\n appOptions.globalData = vm.$options.globalData || {};\n // 将 methods 中的方法挂在 getApp() 中\n const methods = vm.$options.methods;\n if (methods) {\n Object.keys(methods).forEach(name => {\n appOptions[name] = methods[name];\n });\n }\n\n initHooks(appOptions, hooks);\n\n return appOptions\n}\n\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\n\nfunction findVmByVueId (vm, vuePid) {\n const $children = vm.$children;\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\n for (let i = $children.length - 1; i >= 0; i--) {\n const childVm = $children[i];\n if (childVm.$scope._$vueId === vuePid) {\n return childVm\n }\n }\n // 反向递归查找\n let parentVm;\n for (let i = $children.length - 1; i >= 0; i--) {\n parentVm = findVmByVueId($children[i], vuePid);\n if (parentVm) {\n return parentVm\n }\n }\n}\n\nfunction initBehavior (options) {\n return Behavior(options)\n}\n\nfunction isPage () {\n return !!this.route\n}\n\nfunction initRelation (detail) {\n this.triggerEvent('__l', detail);\n}\n\nfunction initRefs (vm) {\n const mpInstance = vm.$scope;\n Object.defineProperty(vm, '$refs', {\n get () {\n const $refs = {};\n const components = mpInstance.selectAllComponents('.vue-ref');\n components.forEach(component => {\n const ref = component.dataset.ref;\n $refs[ref] = component.$vm || component;\n });\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for');\n forComponents.forEach(component => {\n const ref = component.dataset.ref;\n if (!$refs[ref]) {\n $refs[ref] = [];\n }\n $refs[ref].push(component.$vm || component);\n });\n return $refs\n }\n });\n}\n\nfunction handleLink (event) {\n const {\n vuePid,\n vueOptions\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\n\n let parentVm;\n\n if (vuePid) {\n parentVm = findVmByVueId(this.$vm, vuePid);\n }\n\n if (!parentVm) {\n parentVm = this.$vm;\n }\n\n vueOptions.parent = parentVm;\n}\n\nfunction parseApp (vm) {\n return parseBaseApp(vm, {\n mocks,\n initRefs\n })\n}\n\nfunction createApp (vm) {\n App(parseApp(vm));\n return vm\n}\n\nfunction parseBaseComponent (vueComponentOptions, {\n isPage,\n initRelation\n} = {}) {\n let [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\n\n const options = {\n multipleSlots: true,\n addGlobalClass: true\n };\n\n {\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin']['options']) {\n Object.assign(options, vueOptions['mp-weixin']['options']);\n }\n }\n\n const componentOptions = {\n options,\n data: initData(vueOptions, Vue.prototype),\n behaviors: initBehaviors(vueOptions, initBehavior),\n properties: initProperties(vueOptions.props, false, vueOptions.__file),\n lifetimes: {\n attached () {\n const properties = this.properties;\n\n const options = {\n mpType: isPage.call(this) ? 'page' : 'component',\n mpInstance: this,\n propsData: properties\n };\n\n initVueIds(properties.vueId, this);\n\n // 处理父子关系\n initRelation.call(this, {\n vuePid: this._$vuePid,\n vueOptions: options\n });\n\n // 初始化 vue 实例\n this.$vm = new VueComponent(options);\n\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\n initSlots(this.$vm, properties.vueSlots);\n\n // 触发首次 setData\n this.$vm.$mount();\n },\n ready () {\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\n if (this.$vm) {\n this.$vm._isMounted = true;\n this.$vm.__call_hook('mounted');\n this.$vm.__call_hook('onReady');\n }\n },\n detached () {\n this.$vm && this.$vm.$destroy();\n }\n },\n pageLifetimes: {\n show (args) {\n this.$vm && this.$vm.__call_hook('onPageShow', args);\n },\n hide () {\n this.$vm && this.$vm.__call_hook('onPageHide');\n },\n resize (size) {\n this.$vm && this.$vm.__call_hook('onPageResize', size);\n }\n },\n methods: {\n __l: handleLink,\n __e: handleEvent\n }\n };\n\n if (Array.isArray(vueOptions.wxsCallMethods)) {\n vueOptions.wxsCallMethods.forEach(callMethod => {\n componentOptions.methods[callMethod] = function (args) {\n return this.$vm[callMethod](args)\n };\n });\n }\n\n if (isPage) {\n return componentOptions\n }\n return [componentOptions, VueComponent]\n}\n\nfunction parseComponent (vueComponentOptions) {\n return parseBaseComponent(vueComponentOptions, {\n isPage,\n initRelation\n })\n}\n\nconst hooks$1 = [\n 'onShow',\n 'onHide',\n 'onUnload'\n];\n\nhooks$1.push(...PAGE_EVENT_HOOKS);\n\nfunction parseBasePage (vuePageOptions, {\n isPage,\n initRelation\n}) {\n const pageOptions = parseComponent(vuePageOptions);\n\n initHooks(pageOptions.methods, hooks$1, vuePageOptions);\n\n pageOptions.methods.onLoad = function (args) {\n this.$vm.$mp.query = args; // 兼容 mpvue\n this.$vm.__call_hook('onLoad', args);\n };\n\n return pageOptions\n}\n\nfunction parsePage (vuePageOptions) {\n return parseBasePage(vuePageOptions, {\n isPage,\n initRelation\n })\n}\n\nfunction createPage (vuePageOptions) {\n {\n return Component(parsePage(vuePageOptions))\n }\n}\n\nfunction createComponent (vueOptions) {\n {\n return Component(parseComponent(vueOptions))\n }\n}\n\ntodos.forEach(todoApi => {\n protocols[todoApi] = false;\n});\n\ncanIUses.forEach(canIUseApi => {\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\n : canIUseApi;\n if (!wx.canIUse(apiName)) {\n protocols[canIUseApi] = false;\n }\n});\n\nlet uni = {};\n\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\n uni = new Proxy({}, {\n get (target, name) {\n if (target[name]) {\n return target[name]\n }\n if (baseApi[name]) {\n return baseApi[name]\n }\n if (api[name]) {\n return promisify(name, api[name])\n }\n {\n if (extraApi[name]) {\n return promisify(name, extraApi[name])\n }\n if (todoApis[name]) {\n return promisify(name, todoApis[name])\n }\n }\n if (eventApi[name]) {\n return eventApi[name]\n }\n if (!hasOwn(wx, name) && !hasOwn(protocols, name)) {\n return\n }\n return promisify(name, wrapper(name, wx[name]))\n },\n set (target, name, value) {\n target[name] = value;\n return true\n }\n });\n} else {\n Object.keys(baseApi).forEach(name => {\n uni[name] = baseApi[name];\n });\n\n {\n Object.keys(todoApis).forEach(name => {\n uni[name] = promisify(name, todoApis[name]);\n });\n Object.keys(extraApi).forEach(name => {\n uni[name] = promisify(name, todoApis[name]);\n });\n }\n\n Object.keys(eventApi).forEach(name => {\n uni[name] = eventApi[name];\n });\n\n Object.keys(api).forEach(name => {\n uni[name] = promisify(name, api[name]);\n });\n\n Object.keys(wx).forEach(name => {\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\n uni[name] = promisify(name, wrapper(name, wx[name]));\n }\n });\n}\n\nwx.createApp = createApp;\nwx.createPage = createPage;\nwx.createComponent = createComponent;\n\nvar uni$1 = uni;\n\nexport default uni$1;\nexport { createApp, createComponent, createPage };\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 options.components = Object.assign(components, options.components || {})\n }\n // fixed by xxxxxx renderjs\n if (renderjs) {\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","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\n\r\nVue.use(Vuex);\r\nconst debug = process.env.NODE_ENV !== \"production\";\r\n\r\nimport store from \"@/utils/store/cookie\";\r\nimport { getUserInfo } from \"@/api/user\";\r\nimport dialog from \"@/utils/dialog\";\r\n\r\nconst LOGIN_KEY = \"login_status\";\r\n\r\nconst vuexStore = new Vuex.Store({\r\n state: {\r\n wxCode: null,\r\n isAuthorizationPage: false,\r\n isAuthorization: false,\r\n footer: true,\r\n home: true,\r\n tabtarIndex: 0,\r\n homeActive: false,\r\n token: store.get(LOGIN_KEY) || null,\r\n backgroundColor: \"#fff\",\r\n userInfo: null\r\n },\r\n mutations: {\r\n SHOW_FOOTER(state) {\r\n state.footer = true;\r\n },\r\n HIDE_FOOTER(state) {\r\n state.footer = false;\r\n },\r\n SHOW_HOME(state) {\r\n state.home = true;\r\n },\r\n HIDE_HOME(state) {\r\n state.home = false;\r\n },\r\n OPEN_HOME(state) {\r\n state.homeActive = true;\r\n },\r\n CLOSE_HOME(state) {\r\n state.homeActive = false;\r\n },\r\n CHANGE_TABTAR(state, index) {\r\n state.tabtarIndex = index;\r\n },\r\n LOGIN(state, token, expires_time) {\r\n state.token = token;\r\n store.set(LOGIN_KEY, token, expires_time);\r\n },\r\n LOGOUT(state) {\r\n state.token = undefined;\r\n store.remove(LOGIN_KEY);\r\n },\r\n BACKGROUND_COLOR(state, color) {\r\n state.color = color;\r\n // document.body.style.backgroundColor = color;\r\n },\r\n UPDATE_USERINFO(state, userInfo) {\r\n state.userInfo = userInfo;\r\n },\r\n UPDATE_AUTHORIZATIONPAGE(state, isAuthorizationPage) {\r\n state.isAuthorizationPage = isAuthorizationPage;\r\n },\r\n UPDATE_AUTHORIZATION(state, isAuthorization) {\r\n state.isAuthorization = isAuthorization;\r\n },\r\n UPDATE_WXCODE(state, wxCode) {\r\n console.log(wxCode, 'wxCode')\r\n state.wxCode = wxCode;\r\n }\r\n },\r\n actions: {\r\n USERINFO({ state, commit }, force) {\r\n if (state.userInfo !== null && !force)\r\n return Promise.resolve(state.userInfo);\r\n else\r\n return new Promise(reslove => {\r\n getUserInfo().then(res => {\r\n commit(\"UPDATE_USERINFO\", res.data);\r\n reslove(res.data);\r\n });\r\n }).catch(() => {\r\n dialog.error(\"获取信息失败!\");\r\n });\r\n },\r\n changeUserInfo({ state, commit }, user) {\r\n commit(\"UPDATE_USERINFO\", user.user);\r\n },\r\n changeTabtar({ state, commit }, index) {\r\n commit(\"CHANGE_TABTAR\", index);\r\n },\r\n changeAuthorization({ state, commit }, index) {\r\n commit(\"UPDATE_AUTHORIZATION\", index);\r\n },\r\n changeWxCode({ state, commit }, index) {\r\n commit(\"UPDATE_WXCODE\", index);\r\n },\r\n },\r\n getters: {\r\n wxCode: state => state.wxCode,\r\n isAuthorizationPage: state => state.isAuthorizationPage,\r\n isAuthorization: state => state.isAuthorization,\r\n footer: state => state.footer,\r\n homeActive: state => state.homeActive,\r\n home: state => state.home,\r\n token: state => state.token,\r\n isLogin: state => !!state.token,\r\n backgroundColor: state => state.backgroundColor,\r\n userInfo: state => state.userInfo || {},\r\n tabtarIndex: state => state.tabtarIndex\r\n },\r\n strict: debug\r\n});\r\n\r\nexport default vuexStore\r\n","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n","import { trim, isType } from \"@/utils\";\r\n\r\nconst doc = null;\r\n// const doc = window.document;\r\n\r\nfunction get(key) {\r\n if (!key || !_has(key)) {\r\n return null;\r\n }\r\n return wx.getStorageSync(key)\r\n // let regexpStr =\r\n // \"(?:^|.*;\\\\s*)\" +\r\n // escape(key).replace(/[-.+*]/g, \"\\\\$&\") +\r\n // \"\\\\s*\\\\=\\\\s*((?:[^;](?!;))*[^;]?).*\";\r\n // return JSON.parse(unescape(doc.cookie.replace(new RegExp(regexpStr), \"$1\")));\r\n\r\n}\r\n\r\nfunction all() {\r\n return wx.getStorageInfoSync()\r\n // let cookies = doc.cookie.split(/; ?/g),\r\n // data = {};\r\n // for (let i = cookies.length - 1; i >= 0; i--) {\r\n // if (!trim(cookies[i])) {\r\n // continue;\r\n // }\r\n // let kvp = cookies[i].split(\"=\");\r\n // let key = unescape(kvp[0]);\r\n // data[key] = unescape(kvp[1]);\r\n // }\r\n // return data;\r\n}\r\n\r\nfunction set(key, data, time) {\r\n if (!key) {\r\n return;\r\n }\r\n // let expires = \"Tue, 19 Jan 2038 03:14:07 GMT\";\r\n // if (time) {\r\n // let date;\r\n // if (isType(time, \"Date\")) {\r\n // date = time;\r\n // } else {\r\n // date = new Date();\r\n // date.setTime(date.getTime() + time * 60000);\r\n // }\r\n // expires = date.toGMTString();\r\n // }\r\n\r\n // data = JSON.stringify(data);\r\n // doc.cookie =\r\n // escape(key) + \"=\" + escape(data) + \"; expires=\" + expires + \"; path=/\";\r\n\r\n wx.setStorageSync(key, data)\r\n}\r\n\r\nfunction remove(key) {\r\n if (!key || !_has(key)) {\r\n return;\r\n }\r\n wx.removeStorageSync(key)\r\n}\r\n\r\nfunction clearAll() {\r\n wx.clearStorage()\r\n}\r\n\r\nfunction _has(key) {\r\n if (!key) {\r\n return\r\n }\r\n let value = wx.getStorageSync(key)\r\n if (value) {\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nexport default {\r\n get,\r\n all,\r\n set,\r\n remove,\r\n clearAll,\r\n has: _has\r\n};\r\n","import Vue from 'vue'\n// import MpvueRouterPatch from 'mpvue-router-patch'\n// Vue.use(MpvueRouterPatch)\nimport {\n\twxappAuth,\n\tgetUser\n} from \"@/api/user\";\nimport store from \"../store\";\nimport dayjs from \"dayjs\";\nimport cookie from \"@/utils/store/cookie\";\nimport stringify from \"@/utils/querystring\";\n\nexport function dataFormat(time, option) {\n\ttime = +time * 1000;\n\tconst d = new Date(time);\n\tconst now = new Date().getTime();\n\n\tconst diff = (now - d) / 1000;\n\tif (diff < 30) {\n\t\treturn \"刚刚\";\n\t} else if (diff < 3600) {\n\t\t// less 1 hour\n\t\treturn Math.ceil(diff / 60) + \"分钟前\";\n\t} else if (diff < 3600 * 24) {\n\t\treturn Math.ceil(diff / 3600) + \"小时前\";\n\t} else if (diff < 3600 * 24 * 2) {\n\t\treturn \"1天前\";\n\t}\n\tif (option) {\n\t\t// return parseTime(time, option);\n\t} else {\n\t\tlet timeStr = d.getFullYear() + \"年\" + (d.getMonth() + 1) + \"月\" + d.getDate() + \"日\" + d.getHours() + \"时\" + d.getMinutes() +\n\t\t\t\"分\"\n\t\treturn timeStr\n\t}\n}\n\nexport function dataFormatT(time) {\n\ttime = +time * 1000;\n\tconst d = new Date(time);\n\n\treturn (\n\t\td.getFullYear() +\n\t\t\"/\" +\n\t\t(d.getMonth() + parseInt(1)) +\n\t\t\"/\" +\n\t\td.getDate()\n\t);\n\n}\n\nexport function trim(str) {\n\treturn String.prototype.trim.call(str);\n}\n\nexport function isType(arg, type) {\n\treturn Object.prototype.toString.call(arg) === \"[object \" + type + \"]\";\n}\n\nexport function isWeixin() {\n\treturn false\n}\n\nexport function parseQuery() {\n\tvar pages = getCurrentPages() //获取加载的页面\n\tvar currentPage = pages[pages.length - 1] //获取当前页面的对象\n\tvar url = currentPage.route //当前页面url\n\tvar options = currentPage.options //如果要获取url中所带的参数可以查看options\n\treturn options\n}\n\n/*获取当前页url*/\nexport function getCurrentPageUrl() {\n\tvar pages = getCurrentPages() //获取加载的页面\n\tvar currentPage = pages[pages.length - 1] //获取当前页面的对象\n\tvar url = currentPage.route //当前页面url\n\treturn url\n}\n\n/*获取当前页带参数的url*/\nexport function getCurrentPageUrlWithArgs() {\n\tvar pages = getCurrentPages() //获取加载的页面\n\tvar currentPage = pages[pages.length - 1] //获取当前页面的对象\n\tvar url = currentPage.route //当前页面url\n\tvar options = currentPage.options //如果要获取url中所带的参数可以查看options\n\n\t//拼接url的参数\n\tvar urlWithArgs = url + '?'\n\tfor (var key in options) {\n\t\tvar value = options[key]\n\t\turlWithArgs += key + '=' + value + '&'\n\t}\n\turlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1)\n\n\treturn urlWithArgs\n}\n\n// 复制到剪切板\nexport const copyClipboard = (data) => {\n\twx.setClipboardData({\n\t\tdata: data,\n\t\tsuccess: (res) => {\n\t\t\tuni.showToast({\n\t\t\t\ttitle: '复制成功',\n\t\t\t\ticon: 'success',\n\t\t\t\tduration: 2000\n\t\t\t})\n\t\t}\n\t})\n}\n\n\nexport const toAuthorization = (msg) => {\n\tuni.hideLoading();\n\tuni.showToast({\n\t\ttitle: msg,\n\t\ticon: 'none',\n\t\tduration: 2000\n\t});\n\tconsole.log(222222222)\n\treplace({\n\t\tpath: '/pages/user/Login/index',\n\t\tquery: {\n\t\t\tredirect: `/${getCurrentPageUrl()}`,\n\t\t\t...parseQuery()\n\t\t}\n\t})\n}\n\nexport const login = (option) => {\n\tconsole.log('调用登录')\n\treturn new Promise((resolve, reject) => {\n\t\t// 获取当前环境的服务商\n\t\tuni.getProvider({\n\t\t\tservice: 'oauth',\n\t\t\tsuccess: function(res) {\n\t\t\t\tconsole.log(res.provider)\n\t\t\t\t// 此处可以排除h5\n\t\t\t\tif (res.provider) {\n\t\t\t\t\t// 调用登录接口\n\t\t\t\t\tuni.login({\n\t\t\t\t\t\tprovider: res.provider[0],\n\t\t\t\t\t\tsuccess: function(loginRes) {\n\t\t\t\t\t\t\t// 微信登录\n\t\t\t\t\t\t\tconsole.log('获取code')\n\t\t\t\t\t\t\tlet code = loginRes.code;\n\t\t\t\t\t\t\tstore.commit(\"UPDATE_WXCODE\", loginRes.code);\n\n\t\t\t\t\t\t\tconsole.log(JSON.stringify(loginRes));\n\t\t\t\t\t\t\t// 检查授权, 检查用户信息授权\n\t\t\t\t\t\t\tuni.authorize({\n\t\t\t\t\t\t\t\tscope: 'scope.userInfo',\n\t\t\t\t\t\t\t\tsuccess() {\n\t\t\t\t\t\t\t\t\tuni.getUserInfo({\n\t\t\t\t\t\t\t\t\t\tprovider: res.provider[0],\n\t\t\t\t\t\t\t\t\t\tsuccess: function(user) {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(user)\n\t\t\t\t\t\t\t\t\t\t\tconsole.log('用户昵称为:' + user.userInfo.nickName);\n\t\t\t\t\t\t\t\t\t\t\tif (Vue.prototype.$deviceType == 'Weixin') {\n\t\t\t\t\t\t\t\t\t\t\t\twxappAuth({\n\t\t\t\t\t\t\t\t\t\t\t\t\tencryptedData: user.encryptedData,\n\t\t\t\t\t\t\t\t\t\t\t\t\tiv: user.iv,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcode: code,\n\t\t\t\t\t\t\t\t\t\t\t\t\tspread: cookie.get(\"spread\")\n\t\t\t\t\t\t\t\t\t\t\t\t}).then(({\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t\t\t\t\t\t\t}) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tresolve(res.data)\n\t\t\t\t\t\t\t\t\t\t\t\t\tuni.hideLoading();\n\t\t\t\t\t\t\t\t\t\t\t\t\tstore.commit(\"LOGIN\", data.token, dayjs(data.expires_time));\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetUser().then(res => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.dispatch('changeUserInfo', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser: res.data\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\tvar pages = getCurrentPages() //获取加载的页面\n\t\t\t\t\t\t\t\t\t\t\t\t\tvar currentPage = pages[pages.length - 1] //获取当前页面的对象\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet url = \"/pages/home/index\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet query = {}\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (currentPage) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (currentPage.route != 'pages/Loading/index' && currentPage.route !=\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'pages/user/Login/index') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\turl = currentPage.route\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (currentPage.route == 'pages/user/Login/index') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tredirect,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...querys\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} = currentPage.options\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\turl = redirect\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tquery = { ...querys\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tswitchTab({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpath: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tquery\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\t\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t\t\t\t\t\t\t\toption && option.fail ? option.fail() : toAuthorization('获取用户信息失败,请重试')\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tfail() {\n\t\t\t\t\t\t\t\t\t\t\t// 获取用户信息失败\n\t\t\t\t\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t\t\t\t\t\toption && option.fail ? option.fail() : toAuthorization('获取用户信息失败,请重试')\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tfail() {\n\t\t\t\t\t\t\t\t\t// 获取用户信息失败\n\t\t\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t\t\t\toption && option.fail ? option.fail() : toAuthorization('获取用户信息失败,请重试')\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfail() {\n\t\t\t\t\t\t\t// 调用登录接口失败\n\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t\toption && option.fail ? option.fail() : toAuthorization('获取用户信息失败,请重试')\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tfail() {\n\t\t\t\treject()\n\t\t\t\toption && option.fail ? option.fail() : toAuthorization('获取用户信息失败,请重试')\n\t\t\t}\n\t\t});\n\n\t})\n}\n\n\n\n\n\n\nexport function parseUrl(location) {\n\tif (typeof location === 'string') return location\n\n\tconst {\n\t\tpath,\n\t\tquery\n\t} = location\n\tconst queryStr = stringify(query)\n\n\tif (!queryStr) {\n\t\treturn path\n\t}\n\n\treturn `${path}?${queryStr}`\n}\n\nexport function parseRoute($mp) {\n\tconst _$mp = $mp || {}\n\tconst path = _$mp.page && _$mp.page.route\n\treturn {\n\t\tpath: `/${path}`,\n\t\tparams: {},\n\t\tquery: _$mp.query,\n\t\thash: '',\n\t\tfullPath: parseUrl({\n\t\t\tpath: `/${path}`,\n\t\t\tquery: _$mp.query\n\t\t}),\n\t\tname: path && path.replace(/\\/(\\w)/g, ($0, $1) => $1.toUpperCase())\n\t}\n}\n\nexport function push(location, complete, fail, success) {\n\tlet path = ''\n\tif (typeof location === 'string') {\n\t\tpath = location\n\t} else {\n\t\tpath = location.path\n\t}\n\tconsole.log(path)\n\tif (path != '/pages/launch/index' || path != '/pages/loading/index' || path != '/pages/home/index' || path !=\n\t\t'/pages/loading/index') {\n\t\tif (!store.getters.userInfo.uid) {\n\t\t\treplace({\n\t\t\t\tpath: '/pages/user/Login/index',\n\t\t\t\tquery: {\n\t\t\t\t\tredirect: `/${getCurrentPageUrl()}`,\n\t\t\t\t\t...parseQuery()\n\t\t\t\t}\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n\tconst url = parseUrl(location)\n\tconst params = {\n\t\turl,\n\t\tcomplete,\n\t\tfail,\n\t\tsuccess\n\t}\n\n\tif (location.isTab) {\n\t\tuni.switchTab(params)\n\t\treturn\n\t}\n\tif (location.reLaunch) {\n\t\tuni.reLaunch(params)\n\t\treturn\n\t}\n\tuni.navigateTo(params)\n}\n\nexport function replace(location, complete, fail, success) {\n\tconst url = parseUrl(location)\n\tuni.redirectTo({\n\t\turl,\n\t\tcomplete,\n\t\tfail,\n\t\tsuccess\n\t})\n}\n\nexport function go(delta) {\n\tuni.navigateBack({\n\t\tdelta\n\t})\n}\n\nexport function back() {\n\tuni.navigateBack({\n\t\tdelta: 1,\n\t\tsuccess: function(e) {},\n\t\tfail: function(e) {}\n\t})\n}\n\nexport function switchTab(location, complete, fail, success) {\n\tconst url = parseUrl(location)\n\tuni.switchTab({\n\t\turl,\n\t\tcomplete,\n\t\tfail,\n\t\tsuccess\n\t})\n}\n\n\nexport const _router = {\n\tmode: 'history',\n\tswitchTab,\n\tpush,\n\treplace,\n\tgo,\n\tback\n}\n\n\nexport function handleQrCode() {\n\ttry {\n\t\tvar urlSpread = parseQuery()[\"q\"];\n\t\tif (urlSpread) {\n\t\t\t// 通过海报二维码进来\n\t\t\turlSpread = urlSpread\n\t\t\t\t.split(\"%3F\")[1]\n\t\t\t\t.replace(/%3D/g, \":\")\n\t\t\t\t.replace(/%26/g, \",\")\n\t\t\t\t.split(\",\")\n\t\t\t\t.map((item, index) => {\n\t\t\t\t\titem = item.split(\":\");\n\t\t\t\t\treturn `\"${item[0]}\":\"${item[1]}\"`;\n\t\t\t\t})\n\t\t\t\t.join(\",\");\n\t\t\turlSpread = JSON.parse(\"{\" + urlSpread + \"}\");\n\t\t\treturn urlSpread\n\t\t}\n\t\treturn null\n\t} catch {\n\t\treturn null\n\t}\n\n}\n\nconst getImageInfo = (images) => {\n\tconsole.log(images)\n\treturn new Promise((resolve, reject) => {\n\t\tlet imageAry = {}\n\t\timages.map((item, index) => {\n\t\t\twx.getImageInfo({\n\t\t\t\tsrc: item,\n\t\t\t\tfail: function(res) {\n\t\t\t\t\timageAry[index] = null\n\t\t\t\t\tconsole.log(res)\n\t\t\t\t\tif (imageAry.length == images.length) {\n\t\t\t\t\t\tresolve(imageAry)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tsuccess: function(res) {\n\t\t\t\t\timageAry[index] = res\n\t\t\t\t\tconsole.log(res)\n\t\t\t\t\tif (Object.keys(imageAry).length == images.length) {\n\t\t\t\t\t\tresolve(imageAry)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t})\n}\n\n\n/**\n * 获取分享海报\n * @param array store 海报素材\n * @param string store_name 素材文字\n * @param string price 价格\n * @param function successFn 回调函数\n * \n * \n */\nexport const PosterCanvas = (store, successCallBack) => {\n\tuni.showLoading({\n\t\ttitle: '海报生成中',\n\t\tmask: true\n\t});\n\tgetImageInfo([store.image, store.code]).then(res => {\n\t\tlet contentHh = 48 * 1.3\n\t\tconst ctx = wx.createCanvasContext('myCanvas');\n\t\tctx.clearRect(0, 0, 0, 0);\n\t\tconst WIDTH = 747\n\t\tconst HEIGHT = 1326;\n\t\tctx.fillStyle = \"#FFFFFF\";\n\t\tctx.fillRect(0, 0, WIDTH, HEIGHT);\n\t\tctx.drawImage(res[1].path, 40, 1064, 200, 200);\n\t\tctx.drawImage(res[0].path, 0, 0, WIDTH, WIDTH);\n\t\tctx.save();\n\t\tlet r = 90;\n\t\tlet d = r * 2;\n\t\tlet cx = 40;\n\t\tlet cy = 990;\n\t\tctx.arc(cx + r, cy + r, r, 0, 2 * Math.PI);\n\t\tctx.clip();\n\t\tctx.restore();\n\t\tctx.setTextAlign('center');\n\t\tctx.setFontSize(48);\n\t\tctx.setFillStyle('#000');\n\t\tctx.fillText(store.title, WIDTH / 2, 810 + contentHh);\n\t\tctx.setTextAlign('center')\n\t\tctx.setFontSize(32);\n\t\tctx.setFillStyle('red');\n\t\tctx.fillText('¥' + store.price, WIDTH / 2, 985);\n\t\tctx.setTextAlign('center')\n\t\tctx.setFontSize(22);\n\t\tctx.setFillStyle('#333333');\n\t\tctx.fillText('长按识别二维码立即购买', WIDTH / 2, 1167);\n\t\t// ctx.drawImage(store.code, 199, 1064, 200, 200);\n\t\tctx.save();\n\t\tctx.draw(true, function(oi) {\n\t\t\twx.canvasToTempFilePath({\n\t\t\t\tcanvasId: 'myCanvas',\n\t\t\t\tfileType: 'png',\n\t\t\t\tdestWidth: WIDTH,\n\t\t\t\tdestHeight: HEIGHT,\n\t\t\t\tsuccess: function(res) {\n\t\t\t\t\tuni.hideLoading();\n\t\t\t\t\tsuccessCallBack && successCallBack(res.tempFilePath);\n\t\t\t\t},\n\t\t\t\tfail: function(error) {\n\t\t\t\t\tconsole.log(error)\n\t\t\t\t},\n\n\t\t\t})\n\t\t});\n\t})\n\n\t// wx.getImageInfo({\n\t// src: store.image,\n\t// fail: function (res) {\n\t// uni.showToast({\n\t// title: '海报生成失败',\n\t// icon: \"none\",\n\t// duration: 2000\n\t// });\n\t// },\n\t// success: function (res) {\n\n\t// }\n\t// })\n}\n","import request from \"@/utils/request\";\r\n\r\n/**\r\n * 省市区\r\n */\r\nexport function district(data) {\r\n return request.get(\"/citys\", data, { login: false });\r\n}\r\n\r\n/**\r\n * 用户登录\r\n * @param data object 用户账号密码\r\n */\r\nexport function login(data) {\r\n return request.post(\"/login\", data, { login: false });\r\n}\r\n\r\n/**\r\n * 用户手机号登录\r\n * @param data object 用户手机号 也只能\r\n */\r\nexport function loginMobile(data) {\r\n return request.post(\"/login/mobile\", data, { login: false });\r\n}\r\n\r\n/**\r\n * 用户发送验证码\r\n * @param data object 用户手机号\r\n */\r\nexport function registerVerify(data) {\r\n return request.post(\"/register/verify\", data, { login: false });\r\n}\r\n\r\n/**\r\n * 用户手机号注册\r\n * @param data object 用户手机号 验证码 密码\r\n */\r\nexport function register(data) {\r\n return request.post(\"/register\", data, { login: false });\r\n}\r\n\r\n/**\r\n * 用户手机号修改密码\r\n * @param data object 用户手机号 验证码 密码\r\n */\r\nexport function registerReset(data) {\r\n return request.post(\"/register/reset\", data, { login: false });\r\n}\r\n\r\n/*\r\n * 领取优惠券列表\r\n * */\r\nexport function getCoupon(q) {\r\n return request.get(\"/coupons\", q, { login: true });\r\n}\r\n\r\n/*\r\n * 点击领取优惠券\r\n * */\r\nexport function getCouponReceive(id) {\r\n return request.post(\"/coupon/receive\", { couponId: id }, { login: true });\r\n}\r\n\r\n/*\r\n * 批量领取优惠券\r\n * */\r\nexport function couponReceiveBatch(couponId) {\r\n return request.post(\"/coupon/receive/batch\", { couponId });\r\n}\r\n\r\n/*\r\n * 我的优惠券\r\n * */\r\nexport function getCouponsUser(type) {\r\n return request.get(\"/coupons/user/\" + type);\r\n}\r\n\r\n/*\r\n * 个人中心\r\n * */\r\nexport function getUser() {\r\n return request.get(\"/user\");\r\n}\r\n\r\n/*\r\n * 用户信息\r\n * */\r\nexport function getUserInfo() {\r\n\r\n return request.get(\"/userinfo\", { login: true });\r\n}\r\n\r\n/*\r\n * 小程序登陆\r\n * */\r\nexport function wxappAuth(data) {\r\n\r\n return request.post(\"/wxapp/auth\", data, { login: false });\r\n}\r\n\r\n/*\r\n * 个人中心(功能列表)\r\n * */\r\nexport function getMenuUser() {\r\n return request.get(\"/menu/user\");\r\n}\r\n\r\n/*\r\n * 地址列表\r\n * */\r\nexport function getAddressList(data) {\r\n return request.get(\"/address/list\", data || {});\r\n}\r\n\r\n/*\r\n * 删除地址\r\n * */\r\nexport function getAddressRemove(id) {\r\n return request.post(\"/address/del\", { id: id });\r\n}\r\n\r\n/*\r\n * 设置默认地址\r\n * */\r\nexport function getAddressDefaultSet(id) {\r\n return request.post(\"/address/default/set\", { id: id });\r\n}\r\n\r\n/*\r\n * 获取默认地址\r\n * */\r\nexport function getAddressDefault() {\r\n return request.get(\"/address/default\");\r\n}\r\n\r\n/*\r\n * 获取单个地址\r\n * */\r\nexport function getAddress(id) {\r\n return request.get(\"/address/detail/\" + id);\r\n}\r\n\r\n/*\r\n * 修改 添加地址\r\n * */\r\nexport function postAddress(data) {\r\n return request.post(\"/address/edit\", data);\r\n}\r\n\r\n/*\r\n * 获取收藏产品\r\n * */\r\nexport function getCollectUser(page, limit) {\r\n return request.get(\"/collect/user\", { page: page, limit: limit });\r\n}\r\n\r\n/*\r\n * 删除收藏产品\r\n * */\r\nexport function getCollectDel(id, category) {\r\n return request.post(\"/collect/del\", { id: id, category: category });\r\n}\r\n\r\n/*\r\n * 批量收藏产品\r\n * */\r\nexport function postCollectAll(data) {\r\n return request.post(\"/collect/all\", data);\r\n}\r\n\r\n/*\r\n * 添加收藏产品\r\n * */\r\nexport function getCollectAdd(id, category) {\r\n return request.post(\"collect/add\", { id: id, category: category });\r\n}\r\n\r\n/*\r\n * 签到配置\r\n * */\r\nexport function getSignConfig() {\r\n return request.get(\"/sign/config\");\r\n}\r\n\r\n/*\r\n * 签到里的签到列表\r\n * */\r\nexport function getSignList(page, limit) {\r\n return request.get(\"/sign/list\", { page: page, limit: limit });\r\n}\r\n\r\n/*\r\n * 签到列表\r\n * */\r\nexport function getSignMonth(page, limit) {\r\n return request.get(\"/sign/month\", { page: page, limit: limit });\r\n}\r\n\r\n/*\r\n * 签到用户信息\r\n * */\r\nexport function postSignUser(sign) {\r\n return request.post(\"/sign/user\", sign);\r\n}\r\n\r\n/*\r\n * 签到\r\n * */\r\nexport function postSignIntegral(sign) {\r\n return request.post(\"/sign/integral\", sign);\r\n}\r\n\r\n/*\r\n * 推广数据\r\n * */\r\nexport function getSpreadInfo() {\r\n return request.get(\"/commission\");\r\n}\r\n\r\n/*\r\n * 推广人列表\r\n * */\r\nexport function getSpreadUser(screen) {\r\n return request.post(\"/spread/people\", screen);\r\n}\r\n\r\n/*\r\n * 推广人订单\r\n * */\r\nexport function getSpreadOrder(where) {\r\n return request.post(\"/spread/order\", where);\r\n}\r\n\r\n/*\r\n * 资金明细(types|0=全部,1=消费,2=充值,3=返佣,4=提现)\r\n * */\r\nexport function getCommissionInfo(q, types) {\r\n return request.get(\"/spread/commission/\" + types, q);\r\n}\r\n\r\n/*\r\n * 积分记录\r\n * */\r\nexport function getIntegralList(q) {\r\n return request.get(\"/integral/list\", q);\r\n}\r\n\r\n/*\r\n * 提现银行\r\n * */\r\nexport function getBank() {\r\n return request.get(\"/extract/bank\");\r\n}\r\n\r\n/*\r\n * 提现申请\r\n * */\r\nexport function postCashInfo(cash) {\r\n return request.post(\"/extract/cash\", cash);\r\n}\r\n\r\n/*\r\n * 会员中心\r\n * */\r\nexport function getVipInfo() {\r\n return request.get(\"/user/level/grade\");\r\n}\r\n\r\n/*\r\n * 会员等级任务\r\n * */\r\nexport function getVipTask(id) {\r\n return request.get(\"/user/level/task/\" + id);\r\n}\r\n\r\n/*\r\n * 资金统计\r\n * */\r\nexport function getBalance() {\r\n return request.get(\"/user/balance\");\r\n}\r\n\r\n/*\r\n * 活动状态\r\n * */\r\nexport function getActivityStatus() {\r\n return request.get(\"/user/activity\", {}, { login: false });\r\n}\r\n\r\n/*\r\n * 活动状态\r\n * */\r\nexport function getSpreadImg() {\r\n return request.get(\"/spread/banner\");\r\n}\r\n\r\n/*\r\n * 用户修改信息\r\n * */\r\nexport function postUserEdit(data) {\r\n return request.post(\"/user/edit\", data);\r\n}\r\n\r\n/*\r\n * 用户修改信息\r\n * */\r\nexport function getChatRecord(to_uid, data) {\r\n return request.get(\"user/service/record/\" + to_uid, data);\r\n}\r\n\r\n/*\r\n * 用户修改信息\r\n * */\r\nexport function serviceList() {\r\n return request.get(\"user/service/list\");\r\n}\r\n\r\n/*\r\n * 公众号充值\r\n * */\r\nexport function rechargeWechat(data) {\r\n return request.post(\"/recharge/wechat\", data);\r\n}\r\n\r\n/*\r\n * 退出登录\r\n * */\r\nexport function getLogout() {\r\n return request.post(\"/auth/logout\");\r\n}\r\n\r\n/*\r\n * 绑定手机号\r\n * */\r\nexport function bindingPhone(data) {\r\n return request.post(\"wxapp/binding\", data);\r\n}\r\n\r\n/*\r\n * h5切换公众号登陆\r\n * */\r\nexport function switchH5Login() {\r\n return request.post(\"switch_h5\", { from: \"wechat\" });\r\n}\r\n/*\r\n * 获取推广人排行\r\n * */\r\nexport function getRankList(q) {\r\n return request.get(\"rank\", q);\r\n}\r\n/*\r\n * 获取佣金排名\r\n * */\r\nexport function getBrokerageRank(q) {\r\n return request.get(\"brokerage_rank\", q);\r\n}\r\n\r\n/**\r\n * 检测会员等级\r\n */\r\nexport function setDetection() {\r\n return request.get(\"user/level/detection\");\r\n}\r\n","/*!\n * Vue.js v2.6.11\n * (c) 2014-2019 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 {\n if(vm.$scope && vm.$scope.is){\n return vm.$scope.is\n }\n }\n if (vm.$root === vm) {\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) {\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 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 // fixed by xxxxxx (nvue vuex)\n /* eslint-disable no-undef */\n if(typeof SharedObject !== 'undefined'){\n this.id = SharedObject.uid++;\n } else {\n this.id = uid++;\n }\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 = typeof SharedObject !== 'undefined' ? SharedObject : {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\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 ) {\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'){//百度 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.mpHost !== 'mp-toutiao' && initInjections(vm); // resolve injections before data/props \n initState(vm);\n vm.mpHost !== 'mp-toutiao' && initProvide(vm); // resolve provide after data/props\n vm.mpHost !== 'mp-toutiao' && 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]';\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 _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]) {\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 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 //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))\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 = 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.mpHost !== 'mp-toutiao' && 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) {\n /* eslint-disable no-undef */\r\n var app = getApp();\r\n if (app && app.onError) {\r\n app.onError(err);\r\n } else {\r\n console.error(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 this.$scope['triggerEvent'](event, {\r\n __args__: toArray(arguments, 1)\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 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 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,number\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 }\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',\n 'onError',\r\n //Page\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 'onShareAppMessage',\n 'onResize',\r\n 'onPageScroll',\r\n 'onNavigationBarButtonTap',\r\n 'onBackPress',\r\n 'onNavigationBarSearchInputChanged',\r\n 'onNavigationBarSearchInputConfirmed',\r\n 'onNavigationBarSearchInputClicked',\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","import Fly from \"flyio/dist/npm/wx\";\r\nimport $store from \"../store\";\r\nimport toLogin from \"@/libs/login\";\r\nimport { VUE_APP_API_URL } from \"@/config\";\r\n\r\n\r\nconst fly = new Fly()\r\nfly.config.baseURL = VUE_APP_API_URL\r\n\r\nfly.interceptors.response.use(\r\n response => {\r\n // 定时刷新access-token\r\n return response;\r\n },\r\n error => {\r\n if (error.toString() == 'Error: Network Error') {\r\n toLogin();\r\n return Promise.reject({ msg: \"未登录\", toLogin: true });\r\n }\r\n if (error.status == 401) {\r\n toLogin();\r\n return Promise.reject({ msg: \"未登录\", toLogin: true });\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nconst defaultOpt = { login: true };\r\n\r\nfunction baseRequest(options) {\r\n const token = $store.state.token;\r\n const headers = options.headers || {};\r\n if (options.login) {\r\n headers[\"Authorization\"] = \"Bearer \" + token;\r\n }\r\n\r\n options.headers = headers;\r\n if (options.login && !token) {\r\n toLogin();\r\n return Promise.reject({ msg: \"未登录\", toLogin: true });\r\n }\r\n\r\n const { url, params, data, login, ...option } = options\r\n return fly.request(url, params || data, {\r\n ...option\r\n }).then(res => {\r\n const data = res.data || {};\r\n if (res.status !== 200)\r\n return Promise.reject({ msg: \"请求失败\", res, data });\r\n\r\n if ([410000, 410001, 410002].indexOf(data.status) !== -1) {\r\n toLogin();\r\n return Promise.reject({ msg: res.data.msg, res, data, toLogin: true });\r\n } else if (data.status === 200) {\r\n return Promise.resolve(data, res);\r\n } else {\r\n return Promise.reject({ msg: res.data.msg, res, data });\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * http 请求基础类\r\n * 参考文档 https://www.kancloud.cn/yunye/axios/234845\r\n *\r\n */\r\nconst request = [\"post\", \"put\", \"patch\"].reduce((request, method) => {\r\n /**\r\n *\r\n * @param url string 接口地址\r\n * @param data object get参数\r\n * @param options object axios 配置项\r\n * @returns {AxiosPromise}\r\n */\r\n request[method] = (url, data = {}, options = {}) => {\r\n return baseRequest(\r\n Object.assign({ url, data, method }, defaultOpt, options)\r\n );\r\n };\r\n return request;\r\n}, {});\r\n\r\n[\"get\", \"delete\", \"head\"].forEach(method => {\r\n /**\r\n *\r\n * @param url string 接口地址\r\n * @param params object get参数\r\n * @param options object axios 配置项\r\n * @returns {AxiosPromise}\r\n */\r\n request[method] = (url, params = {}, options = {}) => {\r\n return baseRequest(\r\n Object.assign({ url, params, method }, defaultOpt, options)\r\n );\r\n };\r\n});\r\n\r\nexport default request;\r\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nmodule.exports = {\n type: function type(ob) {\n return Object.prototype.toString.call(ob).slice(8, -1).toLowerCase();\n },\n isObject: function isObject(ob, real) {\n if (real) {\n return this.type(ob) === \"object\";\n } else {\n return ob && (typeof ob === 'undefined' ? 'undefined' : _typeof(ob)) === 'object';\n }\n },\n isFormData: function isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n },\n trim: function trim(str) {\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n encode: function encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n },\n formatParams: function formatParams(data) {\n var str = \"\";\n var first = true;\n var that = this;\n if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) != \"object\") {\n return data;\n }\n function _encode(sub, path) {\n var encode = that.encode;\n var type = that.type(sub);\n if (type == \"array\") {\n sub.forEach(function (e, i) {\n _encode(e, path + \"%5B%5D\");\n });\n } else if (type == \"object\") {\n for (var key in sub) {\n if (path) {\n _encode(sub[key], path + \"%5B\" + encode(key) + \"%5D\");\n } else {\n _encode(sub[key], encode(key));\n }\n }\n } else {\n if (!first) {\n str += \"&\";\n }\n first = false;\n str += path + \"=\" + encode(sub);\n }\n }\n\n _encode(data, \"\");\n return str;\n },\n\n // Do not overwrite existing attributes\n merge: function merge(a, b) {\n for (var key in b) {\n if (!a.hasOwnProperty(key)) {\n a[key] = b[key];\n } else if (this.isObject(b[key], 1) && this.isObject(a[key], 1)) {\n this.merge(a[key], b[key]);\n }\n }\n return a;\n }\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction KEEP(_,cb){cb();}\n\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/*\n * author: wendu\n * email: 824783146@qq.com\n **/\n\nvar util = __webpack_require__(0);\nvar isBrowser = typeof document !== \"undefined\";\n\n//EngineWrapper can help generating a http engine quickly through a adapter\nfunction EngineWrapper(adapter) {\n var AjaxEngine = function () {\n function AjaxEngine() {\n _classCallCheck(this, AjaxEngine);\n\n this.requestHeaders = {};\n this.readyState = 0;\n this.timeout = 0; // 0 stands for no timeout\n this.responseURL = \"\";\n this.responseHeaders = {};\n }\n\n _createClass(AjaxEngine, [{\n key: \"_call\",\n value: function _call(name) {\n this[name] && this[name].apply(this, [].splice.call(arguments, 1));\n }\n }, {\n key: \"_changeReadyState\",\n value: function _changeReadyState(state) {\n this.readyState = state;\n this._call(\"onreadystatechange\");\n }\n }, {\n key: \"open\",\n value: function open(method, url) {\n this.method = method;\n if (!url) {\n url = location.href;\n } else {\n url = util.trim(url);\n if (url.indexOf(\"http\") !== 0) {\n // Normalize the request url\n if (isBrowser) {\n var t = document.createElement(\"a\");\n t.href = url;\n url = t.href;\n }\n }\n }\n this.responseURL = url;\n this._changeReadyState(1);\n }\n }, {\n key: \"send\",\n value: function send(arg) {\n var _this = this;\n\n arg = arg || null;\n var self = this;\n if (adapter) {\n var request = {\n method: self.method,\n url: self.responseURL,\n headers: self.requestHeaders || {},\n body: arg\n };\n util.merge(request, self._options || {});\n if (request.method === \"GET\") {\n request.body = null;\n }\n self._changeReadyState(3);\n var timer;\n self.timeout = self.timeout || 0;\n if (self.timeout > 0) {\n timer = setTimeout(function () {\n if (self.readyState === 3) {\n _this._call(\"onloadend\");\n self._changeReadyState(0);\n self._call(\"ontimeout\");\n }\n }, self.timeout);\n }\n request.timeout = self.timeout;\n adapter(request, function (response) {\n\n function getAndDelete(key) {\n var t = response[key];\n delete response[key];\n return t;\n }\n\n // If the request has already timeout, return\n if (self.readyState !== 3) return;\n clearTimeout(timer);\n\n // Make sure the type of status is integer\n self.status = getAndDelete(\"statusCode\") - 0;\n\n var responseText = getAndDelete(\"responseText\");\n var statusMessage = getAndDelete(\"statusMessage\");\n\n // Network error, set the status code 0\n if (!self.status) {\n self.statusText = responseText;\n self._call(\"onerror\", { msg: statusMessage });\n } else {\n // Parsing the response headers to array in a object, because\n // there may be multiple values with the same header name\n var responseHeaders = getAndDelete(\"headers\");\n var headers = {};\n for (var field in responseHeaders) {\n var value = responseHeaders[field];\n var key = field.toLowerCase();\n // Is array\n if ((typeof value === \"undefined\" ? \"undefined\" : _typeof(value)) === \"object\") {\n headers[key] = value;\n } else {\n headers[key] = headers[key] || [];\n headers[key].push(value);\n }\n }\n var cookies = headers[\"set-cookie\"];\n if (isBrowser && cookies) {\n cookies.forEach(function (e) {\n // Remove the http-Only property of the cookie\n // so that JavaScript can operate it.\n document.cookie = e.replace(/;\\s*httpOnly/ig, \"\");\n });\n }\n self.responseHeaders = headers;\n // Set the fields of engine from response\n self.statusText = statusMessage || \"\";\n self.response = self.responseText = responseText;\n self._response = response;\n self._changeReadyState(4);\n self._call(\"onload\");\n }\n self._call(\"onloadend\");\n });\n } else {\n console.error(\"Ajax require adapter\");\n }\n }\n }, {\n key: \"setRequestHeader\",\n value: function setRequestHeader(key, value) {\n this.requestHeaders[util.trim(key)] = value;\n }\n }, {\n key: \"getResponseHeader\",\n value: function getResponseHeader(key) {\n return (this.responseHeaders[key.toLowerCase()] || \"\").toString() || null;\n }\n }, {\n key: \"getAllResponseHeaders\",\n value: function getAllResponseHeaders() {\n var str = \"\";\n for (var key in this.responseHeaders) {\n str += key + \":\" + this.getResponseHeader(key) + \"\\r\\n\";\n }\n return str || null;\n }\n }, {\n key: \"abort\",\n value: function abort(msg) {\n this._changeReadyState(0);\n this._call(\"onerror\", { msg: msg });\n this._call(\"onloadend\");\n }\n }], [{\n key: \"setAdapter\",\n value: function setAdapter(requestAdapter) {\n adapter = requestAdapter;\n }\n }]);\n\n return AjaxEngine;\n }();\n\n return AjaxEngine;\n}\n\n// learn more about keep-loader: https://github.com/wendux/keep-loader\n;\nmodule.exports = EngineWrapper;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nfunction KEEP(_,cb){cb();}\n\"use strict\";\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar utils = __webpack_require__(0);\nvar isBrowser = typeof document !== \"undefined\";\n\nvar Fly = function () {\n function Fly(engine) {\n _classCallCheck(this, Fly);\n\n this.engine = engine || XMLHttpRequest;\n\n this.default = this; //For typeScript\n\n /**\n * Add lock/unlock API for interceptor.\n *\n * Once an request/response interceptor is locked, the incoming request/response\n * will be added to a queue before they enter the interceptor, they will not be\n * continued until the interceptor is unlocked.\n *\n * @param [interceptor] either is interceptors.request or interceptors.response\n */\n function wrap(interceptor) {\n var resolve;\n var reject;\n\n function _clear() {\n interceptor.p = resolve = reject = null;\n }\n\n utils.merge(interceptor, {\n lock: function lock() {\n if (!resolve) {\n interceptor.p = new Promise(function (_resolve, _reject) {\n resolve = _resolve;\n reject = _reject;\n });\n }\n },\n unlock: function unlock() {\n if (resolve) {\n resolve();\n _clear();\n }\n },\n clear: function clear() {\n if (reject) {\n reject(\"cancel\");\n _clear();\n }\n }\n });\n }\n\n var interceptors = this.interceptors = {\n response: {\n use: function use(handler, onerror) {\n this.handler = handler;\n this.onerror = onerror;\n }\n },\n request: {\n use: function use(handler) {\n this.handler = handler;\n }\n }\n };\n\n var irq = interceptors.request;\n var irp = interceptors.response;\n wrap(irp);\n wrap(irq);\n\n this.config = {\n method: \"GET\",\n baseURL: \"\",\n headers: {},\n timeout: 0,\n params: {}, // Default Url params\n parseJson: true, // Convert response data to JSON object automatically.\n withCredentials: false\n };\n }\n\n _createClass(Fly, [{\n key: \"request\",\n value: function request(url, data, options) {\n var _this = this;\n\n var engine = new this.engine();\n var contentType = \"Content-Type\";\n var contentTypeLowerCase = contentType.toLowerCase();\n var interceptors = this.interceptors;\n var requestInterceptor = interceptors.request;\n var responseInterceptor = interceptors.response;\n var requestInterceptorHandler = requestInterceptor.handler;\n var promise = new Promise(function (resolve, reject) {\n if (utils.isObject(url)) {\n options = url;\n url = options.url;\n }\n options = options || {};\n options.headers = options.headers || {};\n\n function isPromise(p) {\n // some polyfill implementation of Promise may be not standard,\n // so, we test by duck-typing\n return p && p.then && p.catch;\n }\n\n /**\n * If the request/response interceptor has been locked,\n * the new request/response will enter a queue. otherwise, it will be performed directly.\n * @param [promise] if the promise exist, means the interceptor is locked.\n * @param [callback]\n */\n function enqueueIfLocked(promise, callback) {\n if (promise) {\n promise.then(function () {\n callback();\n });\n } else {\n callback();\n }\n }\n\n // make the http request\n function makeRequest(options) {\n data = options.body;\n // Normalize the request url\n url = utils.trim(options.url);\n var baseUrl = utils.trim(options.baseURL || \"\");\n if (!url && isBrowser && !baseUrl) url = location.href;\n if (url.indexOf(\"http\") !== 0) {\n var isAbsolute = url[0] === \"/\";\n if (!baseUrl && isBrowser) {\n var arr = location.pathname.split(\"/\");\n arr.pop();\n baseUrl = location.protocol + \"//\" + location.host + (isAbsolute ? \"\" : arr.join(\"/\"));\n }\n if (baseUrl[baseUrl.length - 1] !== \"/\") {\n baseUrl += \"/\";\n }\n url = baseUrl + (isAbsolute ? url.substr(1) : url);\n if (isBrowser) {\n\n // Normalize the url which contains the \"..\" or \".\", such as\n // \"http://xx.com/aa/bb/../../xx\" to \"http://xx.com/xx\" .\n var t = document.createElement(\"a\");\n t.href = url;\n url = t.href;\n }\n }\n\n var responseType = utils.trim(options.responseType || \"\");\n var isGet = options.method === \"GET\";\n var dataType = utils.type(data);\n var params = options.params || {};\n\n // merge url params when the method is \"GET\" (data is object)\n if (isGet && dataType === \"object\") {\n params = utils.merge(data, params);\n }\n // encode params to String\n params = utils.formatParams(params);\n\n // save url params\n var _params = [];\n if (params) {\n _params.push(params);\n }\n // Add data to url params when the method is \"GET\" (data is String)\n if (isGet && data && dataType === \"string\") {\n _params.push(data);\n }\n\n // make the final url\n if (_params.length > 0) {\n url += (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + _params.join(\"&\");\n }\n\n engine.open(options.method, url);\n\n // try catch for ie >=9\n try {\n engine.withCredentials = !!options.withCredentials;\n engine.timeout = options.timeout || 0;\n if (responseType !== \"stream\") {\n engine.responseType = responseType;\n }\n } catch (e) {}\n\n var customContentType = options.headers[contentType] || options.headers[contentTypeLowerCase];\n\n // default content type\n var _contentType = \"application/x-www-form-urlencoded\";\n // If the request data is json object, transforming it to json string,\n // and set request content-type to \"json\". In browser, the data will\n // be sent as RequestBody instead of FormData\n if (utils.trim((customContentType || \"\").toLowerCase()) === _contentType) {\n data = utils.formatParams(data);\n } else if (!utils.isFormData(data) && [\"object\", \"array\"].indexOf(utils.type(data)) !== -1) {\n _contentType = 'application/json;charset=utf-8';\n data = JSON.stringify(data);\n }\n //If user doesn't set content-type, set default.\n if (!(customContentType || isGet)) {\n options.headers[contentType] = _contentType;\n }\n\n for (var k in options.headers) {\n if (k === contentType && utils.isFormData(data)) {\n // Delete the content-type, Let the browser set it\n delete options.headers[k];\n } else {\n try {\n // In browser environment, some header fields are readonly,\n // write will cause the exception .\n engine.setRequestHeader(k, options.headers[k]);\n } catch (e) {}\n }\n }\n\n function onresult(handler, data, type) {\n enqueueIfLocked(responseInterceptor.p, function () {\n if (handler) {\n //如果失败,添加请求信息\n if (type) {\n data.request = options;\n }\n var ret = handler.call(responseInterceptor, data, Promise);\n data = ret === undefined ? data : ret;\n }\n if (!isPromise(data)) {\n data = Promise[type === 0 ? \"resolve\" : \"reject\"](data);\n }\n data.then(function (d) {\n resolve(d);\n }).catch(function (e) {\n reject(e);\n });\n });\n }\n\n function onerror(e) {\n e.engine = engine;\n onresult(responseInterceptor.onerror, e, -1);\n }\n\n function Err(msg, status) {\n this.message = msg;\n this.status = status;\n }\n\n engine.onload = function () {\n // The xhr of IE9 has not response field\n var response = engine.response || engine.responseText;\n if (response && options.parseJson && (engine.getResponseHeader(contentType) || \"\").indexOf(\"json\") !== -1\n // Some third engine implementation may transform the response text to json object automatically,\n // so we should test the type of response before transforming it\n && !utils.isObject(response)) {\n response = JSON.parse(response);\n }\n\n var headers = engine.responseHeaders;\n // In browser\n if (!headers) {\n headers = {};\n var items = (engine.getAllResponseHeaders() || \"\").split(\"\\r\\n\");\n items.pop();\n items.forEach(function (e) {\n if (!e) return;\n var key = e.split(\":\")[0];\n headers[key] = engine.getResponseHeader(key);\n });\n }\n var status = engine.status;\n var statusText = engine.statusText;\n var data = { data: response, headers: headers, status: status, statusText: statusText };\n // The _response filed of engine is set in adapter which be called in engine-wrapper.js\n utils.merge(data, engine._response);\n if (status >= 200 && status < 300 || status === 304) {\n data.engine = engine;\n data.request = options;\n onresult(responseInterceptor.handler, data, 0);\n } else {\n var e = new Err(statusText, status);\n e.response = data;\n onerror(e);\n }\n };\n\n engine.onerror = function (e) {\n onerror(new Err(e.msg || \"Network Error\", 0));\n };\n\n engine.ontimeout = function () {\n onerror(new Err(\"timeout [ \" + engine.timeout + \"ms ]\", 1));\n };\n engine._options = options;\n setTimeout(function () {\n engine.send(isGet ? null : data);\n }, 0);\n }\n\n enqueueIfLocked(requestInterceptor.p, function () {\n utils.merge(options, _this.config);\n var headers = options.headers;\n headers[contentType] = headers[contentType] || headers[contentTypeLowerCase] || \"\";\n delete headers[contentTypeLowerCase];\n options.body = data || options.body;\n url = utils.trim(url || \"\");\n options.method = options.method.toUpperCase();\n options.url = url;\n var ret = options;\n if (requestInterceptorHandler) {\n ret = requestInterceptorHandler.call(requestInterceptor, options, Promise) || options;\n }\n if (!isPromise(ret)) {\n ret = Promise.resolve(ret);\n }\n ret.then(function (d) {\n //if options continue\n if (d === options) {\n makeRequest(d);\n } else {\n resolve(d);\n }\n }, function (err) {\n reject(err);\n });\n });\n });\n promise.engine = engine;\n return promise;\n }\n }, {\n key: \"all\",\n value: function all(promises) {\n return Promise.all(promises);\n }\n }, {\n key: \"spread\",\n value: function spread(callback) {\n return function (arr) {\n return callback.apply(null, arr);\n };\n }\n }]);\n\n return Fly;\n}();\n\n//For typeScript\n\n\nFly.default = Fly;\n\n[\"get\", \"post\", \"put\", \"patch\", \"head\", \"delete\"].forEach(function (e) {\n Fly.prototype[e] = function (url, data, option) {\n return this.request(url, data, utils.merge({ method: e }, option));\n };\n});\n [\"lock\", \"unlock\", \"clear\"].forEach(function (e) {\n Fly.prototype[e] = function () {\n this.interceptors.request[e]();\n };\n });\n// Learn more about keep-loader: https://github.com/wendux/keep-loader\n;\nmodule.exports = Fly;\n\n/***/ }),\n/* 3 */,\n/* 4 */,\n/* 5 */,\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//微信小程序适配器\nmodule.exports = function (request, responseCallback) {\n var con = {\n method: request.method,\n url: request.url,\n dataType: request.dataType || undefined,\n header: request.headers,\n data: request.body || {},\n success: function success(res) {\n responseCallback({\n statusCode: res.statusCode,\n responseText: res.data,\n headers: res.header,\n statusMessage: res.errMsg\n });\n },\n fail: function fail(res) {\n responseCallback({\n statusCode: res.statusCode || 0,\n statusMessage: res.errMsg\n });\n }\n };\n wx.request(con);\n};\n\n/***/ }),\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */,\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//微信小程序入口\nvar Fly = __webpack_require__(2);\nvar EngineWrapper = __webpack_require__(1);\nvar adapter = __webpack_require__(6);\nvar wxEngine = EngineWrapper(adapter);\nmodule.exports = function (engine) {\n return new Fly(engine || wxEngine);\n};\n\n/***/ })\n/******/ ]);\n});","// import router from \"../router\";\r\nimport store from \"../store\";\r\nimport cookie from \"@/utils/store/cookie\";\r\nimport { isWeixin, login, getCurrentPageUrl, getCurrentPageUrlWithArgs, parseQuery, replace, handleQrCode } from \"@/utils\";\r\n\r\nexport default function toLogin(push, backUrl) {\r\n store.commit(\"LOGOUT\");\r\n if (store.getters.isAuthorization) {\r\n login()\r\n return\r\n }\r\n if (store.getters.isAuthorizationPage || getCurrentPageUrl() == '/pages/user/Login/index') {\r\n return\r\n }\r\n\r\n // 判断是不是扫描的砍价海报进来的\r\n if (getCurrentPageUrl() == 'pages/activity/DargainDetails/index' && handleQrCode()) {\r\n let url = handleQrCode();\r\n if (url) {\r\n console.log(222222222)\r\n replace({ path: '/pages/user/Login/index', query: { redirect: `/${getCurrentPageUrl()}`, id: url.bargainId, partake: url.uid } })\r\n } else {\r\n replace({ path: '/pages/user/Login/index', query: { redirect: `/${getCurrentPageUrl()}`, ...parseQuery() } })\r\n }\r\n } else {\r\n console.log(222222222)\r\n replace({ path: '/pages/user/Login/index', query: { redirect: `/${getCurrentPageUrl()}`, ...parseQuery() } })\r\n }\r\n store.commit(\"UPDATE_AUTHORIZATION\", false);\r\n store.commit(\"UPDATE_AUTHORIZATIONPAGE\", true);\r\n}\r\n\r\n","\nexport const VUE_APP_API_URL = 'https://h5api.dayouqiantu.cn/api';\nexport const VUE_APP_RESOURCES_URL = 'https://h5.dayouqiantu.cn/static';\n","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):t.dayjs=n()}(this,function(){\"use strict\";var t=\"millisecond\",n=\"second\",e=\"minute\",r=\"hour\",i=\"day\",s=\"week\",u=\"month\",o=\"quarter\",a=\"year\",h=/^(\\d{4})-?(\\d{1,2})-?(\\d{0,2})[^0-9]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?.?(\\d{1,3})?$/,f=/\\[([^\\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,c=function(t,n,e){var r=String(t);return!r||r.length>=n?t:\"\"+Array(n+1-r.length).join(e)+t},d={s:c,z:function(t){var n=-t.utcOffset(),e=Math.abs(n),r=Math.floor(e/60),i=e%60;return(n<=0?\"+\":\"-\")+c(r,2,\"0\")+\":\"+c(i,2,\"0\")},m:function(t,n){var e=12*(n.year()-t.year())+(n.month()-t.month()),r=t.clone().add(e,u),i=n-r<0,s=t.clone().add(e+(i?-1:1),u);return Number(-(e+(n-r)/(i?r-s:s-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(h){return{M:u,y:a,w:s,d:i,D:\"date\",h:r,m:e,s:n,ms:t,Q:o}[h]||String(h||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},$={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},l=\"en\",m={};m[l]=$;var y=function(t){return t instanceof v},M=function(t,n,e){var r;if(!t)return l;if(\"string\"==typeof t)m[t]&&(r=t),n&&(m[t]=n,r=t);else{var i=t.name;m[i]=t,r=i}return!e&&r&&(l=r),r||!e&&l},g=function(t,n,e){if(y(t))return t.clone();var r=n?\"string\"==typeof n?{format:n,pl:e}:n:{};return r.date=t,new v(r)},D=d;D.l=M,D.i=y,D.w=function(t,n){return g(t,{locale:n.$L,utc:n.$u,$offset:n.$offset})};var v=function(){function c(t){this.$L=this.$L||M(t.locale,null,!0),this.parse(t)}var d=c.prototype;return d.parse=function(t){this.$d=function(t){var n=t.date,e=t.utc;if(null===n)return new Date(NaN);if(D.u(n))return new Date;if(n instanceof Date)return new Date(n);if(\"string\"==typeof n&&!/Z$/i.test(n)){var r=n.match(h);if(r)return e?new Date(Date.UTC(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)):new Date(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)}return new Date(n)}(t),this.init()},d.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},d.$utils=function(){return D},d.isValid=function(){return!(\"Invalid Date\"===this.$d.toString())},d.isSame=function(t,n){var e=g(t);return this.startOf(n)<=e&&e<=this.endOf(n)},d.isAfter=function(t,n){return g(t)<this.startOf(n)},d.isBefore=function(t,n){return this.endOf(n)<g(t)},d.$g=function(t,n,e){return D.u(t)?this[n]:this.set(e,t)},d.year=function(t){return this.$g(t,\"$y\",a)},d.month=function(t){return this.$g(t,\"$M\",u)},d.day=function(t){return this.$g(t,\"$W\",i)},d.date=function(t){return this.$g(t,\"$D\",\"date\")},d.hour=function(t){return this.$g(t,\"$H\",r)},d.minute=function(t){return this.$g(t,\"$m\",e)},d.second=function(t){return this.$g(t,\"$s\",n)},d.millisecond=function(n){return this.$g(n,\"$ms\",t)},d.unix=function(){return Math.floor(this.valueOf()/1e3)},d.valueOf=function(){return this.$d.getTime()},d.startOf=function(t,o){var h=this,f=!!D.u(o)||o,c=D.p(t),d=function(t,n){var e=D.w(h.$u?Date.UTC(h.$y,n,t):new Date(h.$y,n,t),h);return f?e:e.endOf(i)},$=function(t,n){return D.w(h.toDate()[t].apply(h.toDate(),(f?[0,0,0,0]:[23,59,59,999]).slice(n)),h)},l=this.$W,m=this.$M,y=this.$D,M=\"set\"+(this.$u?\"UTC\":\"\");switch(c){case a:return f?d(1,0):d(31,11);case u:return f?d(1,m):d(0,m+1);case s:var g=this.$locale().weekStart||0,v=(l<g?l+7:l)-g;return d(f?y-v:y+(6-v),m);case i:case\"date\":return $(M+\"Hours\",0);case r:return $(M+\"Minutes\",1);case e:return $(M+\"Seconds\",2);case n:return $(M+\"Milliseconds\",3);default:return this.clone()}},d.endOf=function(t){return this.startOf(t,!1)},d.$set=function(s,o){var h,f=D.p(s),c=\"set\"+(this.$u?\"UTC\":\"\"),d=(h={},h[i]=c+\"Date\",h.date=c+\"Date\",h[u]=c+\"Month\",h[a]=c+\"FullYear\",h[r]=c+\"Hours\",h[e]=c+\"Minutes\",h[n]=c+\"Seconds\",h[t]=c+\"Milliseconds\",h)[f],$=f===i?this.$D+(o-this.$W):o;if(f===u||f===a){var l=this.clone().set(\"date\",1);l.$d[d]($),l.init(),this.$d=l.set(\"date\",Math.min(this.$D,l.daysInMonth())).toDate()}else d&&this.$d[d]($);return this.init(),this},d.set=function(t,n){return this.clone().$set(t,n)},d.get=function(t){return this[D.p(t)]()},d.add=function(t,o){var h,f=this;t=Number(t);var c=D.p(o),d=function(n){var e=g(f);return D.w(e.date(e.date()+Math.round(n*t)),f)};if(c===u)return this.set(u,this.$M+t);if(c===a)return this.set(a,this.$y+t);if(c===i)return d(1);if(c===s)return d(7);var $=(h={},h[e]=6e4,h[r]=36e5,h[n]=1e3,h)[c]||1,l=this.$d.getTime()+t*$;return D.w(l,this)},d.subtract=function(t,n){return this.add(-1*t,n)},d.format=function(t){var n=this;if(!this.isValid())return\"Invalid Date\";var e=t||\"YYYY-MM-DDTHH:mm:ssZ\",r=D.z(this),i=this.$locale(),s=this.$H,u=this.$m,o=this.$M,a=i.weekdays,h=i.months,c=function(t,r,i,s){return t&&(t[r]||t(n,e))||i[r].substr(0,s)},d=function(t){return D.s(s%12||12,t,\"0\")},$=i.meridiem||function(t,n,e){var r=t<12?\"AM\":\"PM\";return e?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:o+1,MM:D.s(o+1,2,\"0\"),MMM:c(i.monthsShort,o,h,3),MMMM:h[o]||h(this,e),D:this.$D,DD:D.s(this.$D,2,\"0\"),d:String(this.$W),dd:c(i.weekdaysMin,this.$W,a,2),ddd:c(i.weekdaysShort,this.$W,a,3),dddd:a[this.$W],H:String(s),HH:D.s(s,2,\"0\"),h:d(1),hh:d(2),a:$(s,u,!0),A:$(s,u,!1),m:String(u),mm:D.s(u,2,\"0\"),s:String(this.$s),ss:D.s(this.$s,2,\"0\"),SSS:D.s(this.$ms,3,\"0\"),Z:r};return e.replace(f,function(t,n){return n||l[t]||r.replace(\":\",\"\")})},d.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},d.diff=function(t,h,f){var c,d=D.p(h),$=g(t),l=6e4*($.utcOffset()-this.utcOffset()),m=this-$,y=D.m(this,$);return y=(c={},c[a]=y/12,c[u]=y,c[o]=y/3,c[s]=(m-l)/6048e5,c[i]=(m-l)/864e5,c[r]=m/36e5,c[e]=m/6e4,c[n]=m/1e3,c)[d]||m,f?y:D.a(y)},d.daysInMonth=function(){return this.endOf(u).$D},d.$locale=function(){return m[this.$L]},d.locale=function(t,n){if(!t)return this.$L;var e=this.clone(),r=M(t,n,!0);return r&&(e.$L=r),e},d.clone=function(){return D.w(this.$d,this)},d.toDate=function(){return new Date(this.valueOf())},d.toJSON=function(){return this.isValid()?this.toISOString():null},d.toISOString=function(){return this.$d.toISOString()},d.toString=function(){return this.$d.toUTCString()},c}();return g.prototype=v.prototype,g.extend=function(t,n){return t(n,v,g),g},g.locale=M,g.isDayjs=y,g.unix=function(t){return g(1e3*t)},g.en=m[l],g.Ls=m,g});\n","// Copyright Joyent, Inc. and other Node contributors.\r\n//\r\n// Permission is hereby granted, free of charge, to any person obtaining a\r\n// copy of this software and associated documentation files (the\r\n// \"Software\"), to deal in the Software without restriction, including\r\n// without limitation the rights to use, copy, modify, merge, publish,\r\n// distribute, sublicense, and/or sell copies of the Software, and to permit\r\n// persons to whom the Software is furnished to do so, subject to the\r\n// following conditions:\r\n//\r\n// The above copyright notice and this permission notice shall be included\r\n// in all copies or substantial portions of the Software.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\r\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\r\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\r\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\r\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\nvar stringifyPrimitive = function (v) {\r\n switch (typeof v) {\r\n case 'string':\r\n return v\r\n\r\n case 'boolean':\r\n return v ? 'true' : 'false'\r\n\r\n case 'number':\r\n return isFinite(v) ? v : ''\r\n\r\n default:\r\n return ''\r\n }\r\n}\r\n\r\nfunction stringify(obj, sep, eq, name) {\r\n sep = sep || '&'\r\n eq = eq || '='\r\n if (obj === null) {\r\n obj = undefined\r\n }\r\n\r\n if (typeof obj === 'object') {\r\n return Object.keys(obj).map(function (k) {\r\n var ks = stringifyPrimitive(k) + eq\r\n if (Array.isArray(obj[k])) {\r\n return obj[k].map(function (v) {\r\n return ks + stringifyPrimitive(v)\r\n }).join(sep)\r\n } else {\r\n return ks + stringifyPrimitive(obj[k])\r\n }\r\n }).filter(Boolean).join(sep)\r\n\r\n }\r\n\r\n if (!name) return ''\r\n return stringifyPrimitive(name) + eq + stringifyPrimitive(obj)\r\n}\r\n\r\nexport default stringify\r\n","// import {\r\n// Confirm as confirm,\r\n// Alert as alert,\r\n// Toast as toast,\r\n// Notify as notify,\r\n// Loading as loading\r\n// } from \"vue-ydui/dist/lib.rem/dialog\";\r\n\r\n// import Dialog from \"../../static/vant-weapp/dialog/dialog\";\r\n// import notify from \"../../static/vant-weapp/notify/notify\";\r\n\r\nconst dialog = {\r\n\tconfirm: (options) => {\r\n\t\tuni.showModal({\r\n\t\t\ttitle: '提示',\r\n\t\t\tcontent: options.mes,\r\n\t\t\tsuccess() {\r\n\t\t\t\tif (res.confirm) {\r\n\t\t\t\t\topts()\r\n\t\t\t\t} else if (res.cancel) {}\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\talert: null,\r\n\t// alert: Dialog.alert,\r\n\tnotify: null,\r\n\t// notify,\r\n\tloading: {\r\n\t\topen: () => {\r\n\t\t\tuni.showLoading({\r\n\t\t\t\ttitle: '加载中'\r\n\t\t\t})\r\n\t\t},\r\n\t\tclose: () => {\r\n\t\t\tuni.hideLoading()\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// const icons = { error: \"操作失败\", success: \"操作成功\" };\r\n// Object.keys(icons).reduce((dialog, key) => {\r\n// dialog[key] = (mes, obj = {}) => {\r\n// return new Promise(function (resolve) {\r\n// toast({\r\n// mes: mes || icons[key],\r\n// timeout: 1000,\r\n// icon: key,\r\n// callback: () => {\r\n// resolve();\r\n// },\r\n// ...obj\r\n// });\r\n// });\r\n// };\r\n// return dialog;\r\n// }, dialog);\r\n\r\ndialog.message = (mes = \"操作失败\", obj = {}) => {\r\n\treturn new Promise(function(resolve) {\r\n\t\tuni.showToast({\r\n\t\t\ttitle: mes,\r\n\t\t\ticon: \"none\",\r\n\t\t\tduration: 2000,\r\n\t\t\tcomplete: () => {\r\n\t\t\t\tresolve();\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n};\r\n\r\ndialog.toast = (options) => {\r\n\tuni.showToast({\r\n\t\ttitle: options.mes,\r\n\t\ticon: \"none\",\r\n\t\tduration: 2000,\r\n\t\tcomplete: () => {\r\n\t\t\toptions.callback ? options.callback() : null\r\n\t\t}\r\n\t});\r\n};\r\n\r\ndialog.error = (mes) => {\r\n\tuni.showToast({\r\n\t\ttitle: mes,\r\n\t\ticon: \"none\",\r\n\t\tduration: 2000\r\n\t});\r\n};\r\n\r\ndialog.validateError = (...args) => {\r\n\tvalidatorDefaultCatch(...args);\r\n};\r\n\r\nexport function validatorDefaultCatch(err, type = \"message\") {\r\n\tuni.showToast({\r\n\t\ttitle: err.errors[0].message,\r\n\t\ticon: 'none',\r\n\t\tduration: 2000\r\n\t})\r\n\treturn false\r\n}\r\n\r\nexport default dialog;\r\n","// extracted by mini-css-extract-plugin","/* eslint no-console:0 */\n\nconst formatRegExp = /%[sdj%]/g;\n\nexport let warning = () => {\n};\n\n// don't print warning message when in production env or node runtime\nif (\n typeof process !== 'undefined' &&\n process.env &&\n process.env.NODE_ENV !== 'production' &&\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n) {\n warning = (type, errors) => {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(e => typeof e === 'string')) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nexport function convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n const fields = {};\n errors.forEach(error => {\n const field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\n\nexport function format(...args) {\n let i = 1;\n const f = args[0];\n const len = args.length;\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n if (typeof f === 'string') {\n let str = String(f).replace(formatRegExp, x => {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n for (let arg = args[i]; i < len; arg = args[++i]) {\n str += ` ${arg}`;\n }\n return str;\n }\n return f;\n}\n\nfunction isNativeStringType(type) {\n return (\n type === 'string' ||\n type === 'url' ||\n type === 'hex' ||\n type === 'email' ||\n type === 'pattern'\n );\n}\n\nexport function isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n const results = [];\n let total = 0;\n const arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(a => {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n let index = 0;\n const arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n const original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n const ret = [];\n Object.keys(objArr).forEach(k => {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nexport function asyncMap(objArr, option, func, callback) {\n if (option.first) {\n const pending = new Promise((resolve, reject) => {\n const next = errors => {\n callback(errors);\n return errors.length\n ? reject({ errors, fields: convertFieldsError(errors) })\n : resolve();\n };\n const flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n pending.catch(e => e);\n return pending;\n }\n let firstFields = option.firstFields || [];\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n const objArrKeys = Object.keys(objArr);\n const objArrLength = objArrKeys.length;\n let total = 0;\n const results = [];\n const pending = new Promise((resolve, reject) => {\n const next = errors => {\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n return results.length\n ? reject({ errors: results, fields: convertFieldsError(results) })\n : resolve();\n }\n };\n if (!objArrKeys.length) {\n callback(results)\n resolve()\n }\n objArrKeys.forEach(key => {\n const arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending.catch(e => e);\n return pending;\n}\n\nexport function complementError(rule) {\n return oe => {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField,\n };\n };\n}\n\nexport function deepMerge(target, source) {\n if (source) {\n for (const s in source) {\n if (source.hasOwnProperty(s)) {\n const value = source[s];\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = {\n ...target[s],\n ...value,\n };\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}\n","import * as util from '../util';\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction required(rule, value, source, errors, options, type) {\n if (\n rule.required &&\n (!source.hasOwnProperty(rule.field) ||\n util.isEmptyValue(value, type || rule.type))\n ) {\n errors.push(util.format(options.messages.required, rule.fullField));\n }\n}\n\nexport default required;\n","import * as util from '../util';\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(util.format(options.messages.whitespace, rule.fullField));\n }\n}\n\nexport default whitespace;\n","import * as util from '../util';\nimport required from './required';\n\n/* eslint max-len:0 */\n\nconst pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp(\n '^(?!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]*)?$',\n 'i',\n ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,\n};\n\nconst types = {\n integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float(value) {\n return types.number(value) && !types.integer(value);\n },\n array(value) {\n return Array.isArray(value);\n },\n regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date(value) {\n return (\n typeof value.getTime === 'function' &&\n typeof value.getMonth === 'function' &&\n typeof value.getYear === 'function'\n );\n },\n number(value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method(value) {\n return typeof value === 'function';\n },\n email(value) {\n return (\n typeof value === 'string' &&\n !!value.match(pattern.email) &&\n value.length < 255\n );\n },\n url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n },\n};\n\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n const custom = [\n 'integer',\n 'float',\n 'array',\n 'regexp',\n 'object',\n 'method',\n 'email',\n 'number',\n 'date',\n 'url',\n 'hex',\n ];\n const ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(\n util.format(\n options.messages.types[ruleType],\n rule.fullField,\n rule.type,\n ),\n );\n }\n // straight typeof check\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(\n util.format(options.messages.types[ruleType], rule.fullField, rule.type),\n );\n }\n}\n\nexport default type;\n","import * as util from '../util';\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction range(rule, value, source, errors, options) {\n const len = typeof rule.len === 'number';\n const min = typeof rule.min === 'number';\n const max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n const spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n let val = value;\n let key = null;\n const num = typeof value === 'number';\n const str = typeof value === 'string';\n const arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(\n util.format(options.messages[key].len, rule.fullField, rule.len),\n );\n }\n } else if (min && !max && val < rule.min) {\n errors.push(\n util.format(options.messages[key].min, rule.fullField, rule.min),\n );\n } else if (max && !min && val > rule.max) {\n errors.push(\n util.format(options.messages[key].max, rule.fullField, rule.max),\n );\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(\n util.format(\n options.messages[key].range,\n rule.fullField,\n rule.min,\n rule.max,\n ),\n );\n }\n}\n\nexport default range;\n","import * as util from '../util';\n\nconst ENUM = 'enum';\n\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(\n util.format(\n options.messages[ENUM],\n rule.fullField,\n rule[ENUM].join(', '),\n ),\n );\n }\n}\n\nexport default enumerable;\n","import * as util from '../util';\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(\n util.format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n } else if (typeof rule.pattern === 'string') {\n const _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(\n util.format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n }\n }\n}\n\nexport default pattern;\n","import required from './required';\nimport whitespace from './whitespace';\nimport type from './type';\nimport range from './range';\nimport enumRule from './enum';\nimport pattern from './pattern';\n\nexport default {\n required,\n whitespace,\n type,\n range,\n enum: enumRule,\n pattern,\n};\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction string(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'string');\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexport default string;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction method(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default method;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction number(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default number;\n","import { isEmptyValue } from '../util';\nimport rules from '../rule/index.js';\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction boolean(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default boolean;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction regexp(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default regexp;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction integer(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default integer;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction floatFn(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default floatFn;\n","import rules from '../rule/index';\nimport { isEmptyValue } from '../util';\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction array(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'array') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'array');\n if (!isEmptyValue(value, 'array')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default array;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction object(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default object;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nconst ENUM = 'enum';\n\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default enumerable;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default pattern;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n // console.log('validate on %s value', value);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n let dateObject;\n\n if (typeof value === 'number') {\n dateObject = new Date(value);\n } else {\n dateObject = value;\n }\n\n rules.type(rule, dateObject, source, errors, options);\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexport default date;\n","import rules from '../rule/index.js';\n\nfunction required(rule, value, callback, source, options) {\n const errors = [];\n const type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nexport default required;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nfunction type(rule, value, callback, source, options) {\n const ruleType = rule.type;\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, ruleType);\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default type;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Performs validation for any type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction any(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n }\n callback(errors);\n}\n\nexport default any;\n","import string from './string';\nimport method from './method';\nimport number from './number';\nimport boolean from './boolean';\nimport regexp from './regexp';\nimport integer from './integer';\nimport float from './float';\nimport array from './array';\nimport object from './object';\nimport enumValidator from './enum';\nimport pattern from './pattern';\nimport date from './date';\nimport required from './required';\nimport type from './type';\nimport any from './any';\n\nexport default {\n string,\n method,\n number,\n boolean,\n regexp,\n integer,\n float,\n array,\n object,\n enum: enumValidator,\n pattern,\n date,\n url: type,\n hex: type,\n email: type,\n required,\n any,\n};\n","export function newMessages() {\n return {\n default: 'Validation error on field %s',\n required: '%s is required',\n enum: '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid',\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s',\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters',\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s',\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length',\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s',\n },\n clone() {\n const cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n },\n };\n}\n\nexport const messages = newMessages();\n","import {\n format,\n complementError,\n asyncMap,\n warning,\n deepMerge,\n convertFieldsError,\n} from './util';\nimport validators from './validator/index';\nimport { messages as defaultMessages, newMessages } from './messages';\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = defaultMessages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages(messages) {\n if (messages) {\n this._messages = deepMerge(newMessages(), messages);\n }\n return this._messages;\n },\n define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n let z;\n let item;\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate(source_, o = {}, oc = () => {}) {\n let source = source_;\n let options = o;\n let callback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n return Promise.resolve();\n }\n\n function complete(results) {\n let i;\n let errors = [];\n let fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n errors = errors.concat(...e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = convertFieldsError(errors);\n }\n callback(errors, fields);\n }\n\n if (options.messages) {\n let messages = this.messages();\n if (messages === defaultMessages) {\n messages = newMessages();\n }\n deepMerge(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n let arr;\n let value;\n const series = {};\n const keys = options.keys || Object.keys(this.rules);\n keys.forEach(z => {\n arr = this.rules[z];\n value = source[z];\n arr.forEach(r => {\n let rule = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = { ...source };\n }\n value = source[z] = rule.transform(value);\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule,\n };\n } else {\n rule = { ...rule };\n }\n rule.validator = this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = this.getType(rule);\n if (!rule.validator) {\n return;\n }\n series[z] = series[z] || [];\n series[z].push({\n rule,\n value,\n source,\n field: z,\n });\n });\n });\n const errorFields = {};\n return asyncMap(\n series,\n options,\n (data, doIt) => {\n const rule = data.rule;\n let deep =\n (rule.type === 'object' || rule.type === 'array') &&\n (typeof rule.fields === 'object' ||\n typeof rule.defaultField === 'object');\n deep = deep && (rule.required || (!rule.required && data.value));\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return {\n ...schema,\n fullField: `${rule.fullField}.${key}`,\n };\n }\n\n function cb(e = []) {\n let errors = e;\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n if (errors.length && rule.message) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(complementError(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message) {\n errors = [].concat(rule.message).map(complementError(rule));\n } else if (options.error) {\n errors = [\n options.error(\n rule,\n format(options.messages.required, rule.field),\n ),\n ];\n } else {\n errors = [];\n }\n return doIt(errors);\n }\n\n let fieldsSchema = {};\n if (rule.defaultField) {\n for (const k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n fieldsSchema = {\n ...fieldsSchema,\n ...data.rule.fields,\n };\n for (const f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n const fieldSchema = Array.isArray(fieldsSchema[f])\n ? fieldsSchema[f]\n : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n const schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, errs => {\n const finalErrors = [];\n if (errors && errors.length) {\n finalErrors.push(...errors);\n }\n if (errs && errs.length) {\n finalErrors.push(...errs);\n }\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n let res;\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || `${rule.field} fails`);\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n if (res && res.then) {\n res.then(() => cb(), e => cb(e));\n }\n },\n results => {\n complete(results);\n },\n );\n },\n getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (\n typeof rule.validator !== 'function' &&\n (rule.type && !validators.hasOwnProperty(rule.type))\n ) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n },\n getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n const keys = Object.keys(rule);\n const messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n return validators[this.getType(rule)] || false;\n },\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error(\n 'Cannot register a validator by type, validator is not a function',\n );\n }\n validators[type] = validator;\n};\n\nSchema.warning = warning;\n\nSchema.messages = defaultMessages;\n\nexport default Schema;\n","exports.nextTick = function nextTick(fn) {\n\tsetTimeout(fn, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\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","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar splitPath = function(filename) {\n return splitPathRe.exec(filename).slice(1);\n};\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function(path) {\n var result = splitPath(path),\n root = result[0],\n dir = result[1];\n\n if (!root && !dir) {\n // No dirname whatsoever\n return '.';\n }\n\n if (dir) {\n // It has a dirname, strip trailing slash\n dir = dir.substr(0, dir.length - 1);\n }\n\n return root + dir;\n};\n\n\nexports.basename = function(path, ext) {\n var f = splitPath(path)[2];\n // TODO: make this comparison case-insensitive on windows?\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\n\nexports.extname = function(path) {\n return splitPath(path)[3];\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","// 支付模块\r\nexport const weappPay = (option) => {\r\n return new Promise((resolve, reject) => {\r\n // 吊起微信支付\r\n wx.requestPayment({\r\n ...option,\r\n timeStamp: option.timeStamp + '',\r\n success: (success) => {\r\n uni.showToast({\r\n title: '支付成功', icon: 'success', duration: 2000\r\n });\r\n resolve(success)\r\n },\r\n fail: (error) => {\r\n uni.showToast({ title: '支付失败', icon: 'none', duration: 2000 });\r\n reject(error)\r\n }\r\n })\r\n })\r\n}\r\n","/*\r\n * 订单确认\r\n * */\r\nimport request from \"@/utils/request\";\r\n\r\n/**\r\n * 通过购物车 id 获取订单信息\r\n * @param cartId\r\n * @returns {*}\r\n */\r\nexport function postOrderConfirm(cartId) {\r\n return request.post(\"/order/confirm\", { cartId });\r\n}\r\n\r\n/**\r\n * 计算订单金额\r\n * @param key\r\n * @param data\r\n * @returns {*}\r\n */\r\nexport function postOrderComputed(key, data) {\r\n return request.post(\"/order/computed/\" + key, data);\r\n}\r\n\r\n/**\r\n * 获取指定金额可用优惠券\r\n * @param price\r\n * @returns {*}\r\n */\r\nexport function getOrderCoupon(price) {\r\n return request.get(\"/coupons/order/\" + (parseFloat(price) || 0));\r\n}\r\n\r\n/**\r\n * 生成订单\r\n * @param key\r\n * @param data\r\n * @returns {*}\r\n */\r\nexport function createOrder(key, data) {\r\n return request.post(\"/order/create/\" + key, data || {});\r\n}\r\n\r\n/**\r\n * 订单统计数据\r\n * @returns {*}\r\n */\r\nexport function getOrderData() {\r\n return request.get(\"/order/data\");\r\n}\r\n\r\n/**\r\n * 订单列表\r\n * @returns {*}\r\n */\r\nexport function getOrderList(data) {\r\n return request.get(\"/order/list\", data);\r\n}\r\n\r\n/**\r\n * 取消订单\r\n * @returns {*}\r\n */\r\nexport function cancelOrder(id) {\r\n return request.post(\"/order/cancel\", { id });\r\n}\r\n\r\n/**\r\n * 订单详情\r\n * @returns {*}\r\n */\r\nexport function orderDetail(id) {\r\n return request.get(\"/order/detail/\" + id);\r\n}\r\n\r\n/**\r\n * 退款理由\r\n * @returns {*}\r\n */\r\nexport function getRefundReason() {\r\n return request.get(\"/order/refund/reason\");\r\n}\r\n\r\n/**\r\n * 提交退款\r\n * @returns {*}\r\n */\r\nexport function postOrderRefund(data) {\r\n return request.post(\"/order/refund/verify\", data);\r\n}\r\n\r\n/**\r\n * 确认收货\r\n * @returns {*}\r\n */\r\nexport function takeOrder(uni) {\r\n return request.post(\"/order/take\", { uni });\r\n}\r\n\r\n/**\r\n * 删除订单\r\n * @returns {*}\r\n */\r\nexport function delOrder(uni) {\r\n return request.post(\"/order/del\", { uni });\r\n}\r\n\r\n/**\r\n * 订单查询物流信息\r\n * @returns {*}\r\n */\r\nexport function express(params) {\r\n return request.post(\"order/express\",params);\r\n}\r\n\r\n/**\r\n * 订单查询物流信息\r\n * @returns {*}\r\n */\r\nexport function payOrder(uni, paytype, from) {\r\n return request.post(\"order/pay\", { uni, paytype, from });\r\n}\r\n/**\r\n * 订单核销\r\n * @returns {*}\r\n */\r\nexport function orderVerific(verify_code, is_confirm) {\r\n return request.post(\"order/order_verific\", { verify_code, is_confirm });\r\n}\r\n","import { cancelOrder, takeOrder, delOrder, payOrder } from \"@/api/order\";\nimport dialog from \"@/utils/dialog\";\nimport { weappPay } from \"@/libs/wechat\";\n\nexport function cancelOrderHandle(orderId) {\n return new Promise((resolve, reject) => {\n uni.showModal({\n title: '提示',\n content: '确认取消该订单?',\n success(res) {\n if (res.confirm) {\n cancelOrder(orderId)\n .then(res => {\n uni.showToast({\n title: '取消成功', icon: 'success', duration: 2000\n });\n resolve(res);\n })\n .catch(err => {\n uni.showToast({\n title: '取消失败', icon: 'none', duration: 2000\n });\n reject(err);\n });\n } else if (res.cancel) {\n }\n }\n })\n });\n}\n\nexport function takeOrderHandle(orderId) {\n return new Promise((resolve, reject) => {\n takeOrder(orderId)\n .then(res => {\n uni.showToast({\n title: '收货成功', icon: 'success', duration: 2000\n });\n resolve(res);\n })\n .catch(err => {\n uni.showToast({\n title: '收货失败', icon: 'none', duration: 2000\n });\n reject(err);\n });\n });\n}\n\nexport function delOrderHandle(orderId) {\n return new Promise((resolve, reject) => {\n dialog.confirm({\n mes: \"确认删除该订单?\",\n opts() {\n delOrder(orderId)\n .then(res => {\n uni.showToast({\n title: '删除成功', icon: 'success', duration: 2000\n });\n resolve(res);\n })\n .catch(err => {\n uni.showToast({\n title: '删除失败', icon: 'none', duration: 2000\n });\n reject(err);\n });\n }\n });\n });\n}\n\nexport function payOrderHandle(orderId, type, from) {\n return new Promise((resolve, reject) => {\n uni.showLoading({ title: '加载中' })\n payOrder(orderId, type, from)\n .then(res => {\n const data = res.data;\n uni.hideLoading()\n switch (data.status) {\n case \"WECHAT_H5_PAY\":\n location.replace(data.result.jsConfig.mweb_url);\n reject(data);\n break;\n case \"ORDER_EXIST\":\n case \"EXTEND_ORDER\":\n case \"PAY_ERROR\":\n case \"PAY_DEFICIENCY\":\n dialog.toast({ mes: res.msg });\n reject(data);\n break;\n case \"SUCCESS\":\n uni.showToast({ title: res.msg, icon: 'none', duration: 2000 });\n resolve(data);\n break;\n case \"WECHAT_PAY\":\n weappPay(data.result.jsConfig).then(res => {\n resolve(data);\n });\n }\n })\n .catch(err => {\n uni.hideLoading()\n dialog.toast({ mes: \"订单支付失败\" });\n });\n });\n}\n","import request from \"@/utils/request\";\r\n\r\n/**\r\n * 统计数据\r\n */\r\nexport function getStatisticsInfo() {\r\n return request.get(\"/admin/order/statistics\", {}, { login: true });\r\n}\r\n/**\r\n * 订单月统计\r\n */\r\nexport function getStatisticsMonth(where) {\r\n return request.get(\"/admin/order/data\", where, { login: true });\r\n}\r\n/**\r\n * 订单月统计\r\n */\r\nexport function getAdminOrderList(where) {\r\n return request.get(\"/admin/order/list\", where, { login: true });\r\n}\r\n/**\r\n * 订单改价\r\n */\r\nexport function setAdminOrderPrice(data) {\r\n return request.post(\"/admin/order/price\", data, { login: true });\r\n}\r\n/**\r\n * 订单备注\r\n */\r\nexport function setAdminOrderRemark(data) {\r\n return request.post(\"/admin/order/remark\", data, { login: true });\r\n}\r\n/**\r\n * 订单详情\r\n */\r\nexport function getAdminOrderDetail(orderId) {\r\n return request.get(\"/admin/order/detail/\" + orderId, {}, { login: true });\r\n}\r\n/**\r\n * 订单发货信息获取\r\n */\r\nexport function getAdminOrderDelivery(orderId) {\r\n return request.get(\r\n \"/admin/order/detail/\" + orderId,\r\n {},\r\n { login: true }\r\n );\r\n}\r\n\r\n/**\r\n * 订单发货保存\r\n */\r\nexport function setAdminOrderDelivery(data) {\r\n return request.post(\"/admin/order/delivery/keep\", data, { login: true });\r\n}\r\n/**\r\n * 订单统计图\r\n */\r\nexport function getStatisticsTime(data) {\r\n return request.get(\"/admin/order/time\", data, { login: true });\r\n}\r\n/**\r\n * 线下付款订单确认付款\r\n */\r\nexport function setOfflinePay(data) {\r\n return request.post(\"/admin/order/offline\", data, { login: true });\r\n}\r\n/**\r\n * 订单确认退款\r\n */\r\nexport function setOrderRefund(data) {\r\n return request.post(\"/admin/order/refund\", data, { login: true });\r\n}\r\n","import request from \"@/utils/request\";\r\n\r\n/**\r\n * 拼团列表\r\n */\r\nexport function getCombinationList(data) {\r\n return request.get(\"/combination/list\", data, { login: false });\r\n}\r\n\r\n/**\r\n * 拼团产品详情\r\n * @param {*} id\r\n */\r\nexport function getCombinationDetail(id) {\r\n return request.get(\"/combination/detail/\" + id, {}, { login: true });\r\n}\r\n\r\n/**\r\n * 拼团 开团\r\n * @param {*} id\r\n */\r\nexport function getCombinationPink(id) {\r\n return request.get(\"/combination/pink/\" + id);\r\n}\r\n\r\n/**\r\n * 拼团 取消开团\r\n */\r\nexport function getCombinationRemove(data) {\r\n return request.post(\"/combination/remove\", data);\r\n}\r\n\r\n/**\r\n * 拼团海报\r\n * @param {*} id\r\n */\r\nexport function getCombinationPoster(data) {\r\n return request.post(\"/combination/poster\", data);\r\n}\r\n\r\n/**\r\n * 秒杀列表配置\r\n */\r\nexport function getSeckillConfig() {\r\n return request.get(\"/seckill/index\", {}, { login: false });\r\n}\r\n\r\n/**\r\n * 秒杀列表\r\n */\r\nexport function getSeckillList(time, data) {\r\n return request.get(\"/seckill/list/\" + time, data, { login: false });\r\n}\r\n\r\n/**\r\n * 秒杀产品详情\r\n */\r\nexport function getSeckillDetail(id) {\r\n return request.get(\"/seckill/detail/\" + id, {}, { login: false });\r\n}\r\n\r\n/**\r\n * 砍价列表\r\n * @param {*} data\r\n */\r\nexport function getBargainList(data) {\r\n return request.get(\"/bargain/list\", data, { login: false });\r\n}\r\n\r\n/**\r\n * 砍价产品详情\r\n */\r\nexport function getBargainDetail(id) {\r\n return request.get(\"/bargain/detail/\" + id);\r\n}\r\n\r\n/**\r\n * 砍价 观看/分享/参与次数\r\n */\r\nexport function getBargainShare(data) {\r\n return request.post(\"/bargain/share\", data);\r\n}\r\n\r\n/**\r\n * 砍价开启\r\n * @param {*} data\r\n */\r\nexport function getBargainStart(data) {\r\n return request.post(\"/bargain/start\", data);\r\n}\r\n\r\n/**\r\n * 砍价 帮助好友砍价\r\n * @param {*} data\r\n */\r\nexport function getBargainHelp(data) {\r\n return request.post(\"/bargain/help\", data);\r\n}\r\n\r\n/**\r\n * 砍价 砍掉金额\r\n * @param {*} data\r\n */\r\nexport function getBargainHelpPrice(data) {\r\n return request.post(\"/bargain/help/price\", data);\r\n}\r\n\r\n/**\r\n * 砍价 砍价帮总人数、剩余金额、进度条、已经砍掉的价格\r\n * @param {*} data\r\n */\r\nexport function getBargainHelpCount(data) {\r\n return request.post(\"/bargain/help/count\", data);\r\n}\r\n\r\n/**\r\n * 砍价 开启砍价用户信息\r\n * @param {*} data\r\n */\r\nexport function getBargainStartUser(data) {\r\n return request.post(\"/bargain/start/user\", data);\r\n}\r\n\r\n/**\r\n * 砍价 砍价帮\r\n * @param {*} data\r\n */\r\nexport function getBargainHelpList(data) {\r\n return request.post(\"/bargain/help/list\", data);\r\n}\r\n\r\n/**\r\n * 砍价海报\r\n * @param {*} data\r\n */\r\nexport function getBargainPoster(data) {\r\n return request.post(\"/bargain/poster\", data);\r\n}\r\n\r\n/**\r\n * 砍价列表(已参与)\r\n * @param {*} data\r\n */\r\nexport function getBargainUserList(data) {\r\n return request.get(\"/bargain/user/list\", data);\r\n}\r\n\r\n/**\r\n * 砍价取消\r\n */\r\nexport function getBargainUserCancel(data) {\r\n return request.post(\"/bargain/user/cancel\", data);\r\n}\r\n","import { version } from '../package.json';\n\nconst STAT_VERSION = version;\nconst STAT_URL = 'https://tongji.dcloud.io/uni/stat';\nconst STAT_H5_URL = 'https://tongji.dcloud.io/uni/stat.gif'; \nconst PAGE_PVER_TIME = 1800;\nconst APP_PVER_TIME = 300;\nconst OPERATING_TIME = 10;\n\nconst UUID_KEY = '__DC_STAT_UUID';\nconst UUID_VALUE = '__DC_UUID_VALUE';\n\nfunction getUuid() {\n let uuid = '';\n if (getPlatformName() === 'n') {\n try {\n uuid = plus.runtime.getDCloudId();\n } catch (e) {\n uuid = '';\n }\n return uuid\n }\n\n try {\n uuid = uni.getStorageSync(UUID_KEY);\n } catch (e) {\n uuid = UUID_VALUE;\n }\n\n if (!uuid) {\n uuid = Date.now() + '' + Math.floor(Math.random() * 1e7);\n try {\n uni.setStorageSync(UUID_KEY, uuid);\n } catch (e) {\n uni.setStorageSync(UUID_KEY, UUID_VALUE);\n }\n }\n return uuid;\n}\n\nconst getSgin = (statData) => {\n let arr = Object.keys(statData);\n let sortArr = arr.sort();\n let sgin = {};\n let sginStr = '';\n for (var i in sortArr) {\n sgin[sortArr[i]] = statData[sortArr[i]];\n sginStr += sortArr[i] + '=' + statData[sortArr[i]] + '&';\n }\n // const options = sginStr.substr(0, sginStr.length - 1)\n // sginStr = sginStr.substr(0, sginStr.length - 1) + '&key=' + STAT_KEY;\n // const si = crypto.createHash('md5').update(sginStr).digest('hex');\n return {\n sign: '',\n options: sginStr.substr(0, sginStr.length - 1)\n };\n};\n\nconst getSplicing = (data) => {\n let str = '';\n for (var i in data) {\n str += i + '=' + data[i] + '&';\n }\n return str.substr(0, str.length - 1)\n};\n\nconst getTime = () => {\n return parseInt(new Date().getTime() / 1000);\n};\n\nconst getPlatformName = () => {\n const platformList = {\n 'app-plus': 'n',\n 'h5': 'h5',\n 'mp-weixin': 'wx',\n 'mp-alipay': 'ali',\n 'mp-baidu': 'bd',\n 'mp-toutiao': 'tt',\n 'mp-qq': 'qq'\n };\n return platformList[process.env.VUE_APP_PLATFORM];\n};\n\nconst getPackName = () => {\n let packName = '';\n if (getPlatformName() === 'wx' || getPlatformName() === 'qq') {\n // 兼容微信小程序低版本基础库\n if(uni.canIUse('getAccountInfoSync')){\n packName = uni.getAccountInfoSync().miniProgram.appId || '';\n }\n }\n return packName\n};\n\nconst getVersion = () => {\n return getPlatformName() === 'n' ? plus.runtime.version : '';\n};\n\nconst getChannel = () => {\n const platformName = getPlatformName();\n let channel = '';\n if (platformName === 'n') {\n channel = plus.runtime.channel;\n }\n return channel;\n};\n\nconst getScene = (options) => {\n const platformName = getPlatformName();\n let scene = '';\n if (options) {\n return options;\n }\n if (platformName === 'wx') {\n scene = uni.getLaunchOptionsSync().scene;\n }\n return scene;\n};\nconst First__Visit__Time__KEY = 'First__Visit__Time';\nconst Last__Visit__Time__KEY = 'Last__Visit__Time';\n\nconst getFirstVisitTime = () => {\n const timeStorge = uni.getStorageSync(First__Visit__Time__KEY);\n let time = 0;\n if (timeStorge) {\n time = timeStorge;\n } else {\n time = getTime();\n uni.setStorageSync(First__Visit__Time__KEY, time);\n uni.removeStorageSync(Last__Visit__Time__KEY);\n }\n return time;\n};\n\nconst getLastVisitTime = () => {\n const timeStorge = uni.getStorageSync(Last__Visit__Time__KEY);\n let time = 0;\n if (timeStorge) {\n time = timeStorge;\n } else {\n time = '';\n }\n uni.setStorageSync(Last__Visit__Time__KEY, getTime());\n return time;\n};\n\n\nconst PAGE_RESIDENCE_TIME = '__page__residence__time';\nlet First_Page_residence_time = 0;\nlet Last_Page_residence_time = 0;\n\n\nconst setPageResidenceTime = () => {\n First_Page_residence_time = getTime();\n if (getPlatformName() === 'n') {\n uni.setStorageSync(PAGE_RESIDENCE_TIME, getTime());\n }\n return First_Page_residence_time\n};\n\nconst getPageResidenceTime = () => {\n Last_Page_residence_time = getTime();\n if (getPlatformName() === 'n') {\n First_Page_residence_time = uni.getStorageSync(PAGE_RESIDENCE_TIME);\n }\n return Last_Page_residence_time - First_Page_residence_time\n};\nconst TOTAL__VISIT__COUNT = 'Total__Visit__Count';\nconst getTotalVisitCount = () => {\n const timeStorge = uni.getStorageSync(TOTAL__VISIT__COUNT);\n let count = 1;\n if (timeStorge) {\n count = timeStorge;\n count++;\n }\n uni.setStorageSync(TOTAL__VISIT__COUNT, count);\n return count;\n};\n\nconst GetEncodeURIComponentOptions = (statData) => {\n let data = {};\n for (let prop in statData) {\n data[prop] = encodeURIComponent(statData[prop]);\n }\n return data;\n};\n\nlet Set__First__Time = 0;\nlet Set__Last__Time = 0;\n\nconst getFirstTime = () => {\n let time = new Date().getTime();\n Set__First__Time = time;\n Set__Last__Time = 0;\n return time;\n};\n\n\nconst getLastTime = () => {\n let time = new Date().getTime();\n Set__Last__Time = time;\n return time;\n};\n\n\nconst getResidenceTime = (type) => {\n let residenceTime = 0;\n if (Set__First__Time !== 0) {\n residenceTime = Set__Last__Time - Set__First__Time;\n }\n\n residenceTime = parseInt(residenceTime / 1000);\n residenceTime = residenceTime < 1 ? 1 : residenceTime;\n if (type === 'app') {\n let overtime = residenceTime > APP_PVER_TIME ? true : false;\n return {\n residenceTime,\n overtime\n };\n }\n if (type === 'page') {\n let overtime = residenceTime > PAGE_PVER_TIME ? true : false;\n return {\n residenceTime,\n overtime\n };\n }\n\n return {\n residenceTime\n };\n\n};\n\nconst getRoute = () => {\n var pages = getCurrentPages();\n var page = pages[pages.length - 1];\n let _self = page.$vm;\n\n if (getPlatformName() === 'bd') {\n return _self.$mp && _self.$mp.page.is;\n } else {\n return (_self.$scope && _self.$scope.route) || (_self.$mp && _self.$mp.page.route);\n }\n};\n\nconst getPageRoute = (self) => {\n var pages = getCurrentPages();\n var page = pages[pages.length - 1];\n let _self = page.$vm;\n let query = self._query;\n let str = query && JSON.stringify(query) !== '{}' ? '?' + JSON.stringify(query) : '';\n // clear\n self._query = '';\n if (getPlatformName() === 'bd') {\n return _self.$mp && _self.$mp.page.is + str;\n } else {\n return (_self.$scope && _self.$scope.route + str )|| (_self.$mp && _self.$mp.page.route + str);\n }\n};\n\nconst getPageTypes = (self) => {\n if (self.mpType === 'page' || (self.$mp && self.$mp.mpType === 'page') || self.$options.mpType === 'page') {\n return true;\n }\n return false;\n};\n\nconst calibration = (eventName, options) => {\n // login 、 share 、pay_success 、pay_fail 、register 、title\n if(!eventName){\n console.error(`uni.report 缺少 [eventName] 参数`);\n return true\n }\n if (typeof eventName !== 'string') {\n console.error(`uni.report [eventName] 参数类型错误,只能为 String 类型`);\n return true\n }\n if (eventName.length > 255) {\n console.error(`uni.report [eventName] 参数长度不能大于 255`);\n return true\n }\n\n if (typeof options !== 'string' && typeof options !== 'object') {\n console.error(`uni.report [options] 参数类型错误,只能为 String 或 Object 类型`);\n return true\n }\n\n if (typeof options === 'string' && options.length > 255) {\n console.error(`uni.report [options] 参数长度不能大于 255`);\n return true\n }\n\n if (eventName === 'title' && typeof options !== 'string') {\n console.error('uni.report [eventName] 参数为 title 时,[options] 参数只能为 String 类型');\n return true\n }\n};\n\nconst PagesJson = require('uni-pages?{\"type\":\"style\"}').default;\nconst statConfig = require('uni-stat-config').default || require('uni-stat-config');\n\nconst resultOptions = uni.getSystemInfoSync();\n\nclass Util {\n constructor() {\n this.self = '';\n this._retry = 0;\n this._platform = '';\n this._query = {};\n this._navigationBarTitle = {\n config: '',\n page: '',\n report: '',\n lt: ''\n };\n this._operatingTime = 0;\n this._reportingRequestData = {\n '1': [],\n '11': []\n };\n this.__prevent_triggering = false;\n\n this.__licationHide = false;\n this.__licationShow = false;\n this._lastPageRoute = '';\n this.statData = {\n uuid: getUuid(),\n ut: getPlatformName(),\n mpn: getPackName(),\n ak: statConfig.appid,\n usv: STAT_VERSION,\n v: getVersion(),\n ch: getChannel(),\n cn: '',\n pn: '',\n ct: '',\n t: getTime(),\n tt: '',\n p: resultOptions.platform === 'android' ? 'a' : 'i',\n brand: resultOptions.brand || '',\n md: resultOptions.model,\n sv: resultOptions.system.replace(/(Android|iOS)\\s/, ''),\n mpsdk: resultOptions.SDKVersion || '',\n mpv: resultOptions.version || '',\n lang: resultOptions.language,\n pr: resultOptions.pixelRatio,\n ww: resultOptions.windowWidth,\n wh: resultOptions.windowHeight,\n sw: resultOptions.screenWidth,\n sh: resultOptions.screenHeight\n };\n\n }\n\n _applicationShow() {\n if (this.__licationHide) {\n getLastTime();\n const time = getResidenceTime('app');\n if (time.overtime) {\n let options = {\n path: this._lastPageRoute,\n scene: this.statData.sc\n };\n this._sendReportRequest(options);\n }\n this.__licationHide = false;\n }\n }\n\n _applicationHide(self, type) {\n\n this.__licationHide = true;\n getLastTime();\n const time = getResidenceTime();\n getFirstTime();\n const route = getPageRoute(this);\n this._sendHideRequest({\n urlref: route,\n urlref_ts: time.residenceTime\n }, type);\n }\n\n _pageShow() {\n const route = getPageRoute(this);\n const routepath = getRoute();\n this._navigationBarTitle.config = PagesJson &&\n PagesJson.pages[routepath] &&\n PagesJson.pages[routepath].titleNView &&\n PagesJson.pages[routepath].titleNView.titleText ||\n PagesJson &&\n PagesJson.pages[routepath] &&\n PagesJson.pages[routepath].navigationBarTitleText || '';\n\n if (this.__licationShow) {\n getFirstTime();\n this.__licationShow = false;\n // console.log('这是 onLauch 之后执行的第一次 pageShow ,为下次记录时间做准备');\n this._lastPageRoute = route;\n return;\n }\n\n getLastTime();\n this._lastPageRoute = route;\n const time = getResidenceTime('page');\n if (time.overtime) {\n let options = {\n path: this._lastPageRoute,\n scene: this.statData.sc\n };\n this._sendReportRequest(options);\n }\n getFirstTime();\n }\n\n _pageHide() {\n if (!this.__licationHide) {\n getLastTime();\n const time = getResidenceTime('page');\n this._sendPageRequest({\n url: this._lastPageRoute,\n urlref: this._lastPageRoute,\n urlref_ts: time.residenceTime\n });\n this._navigationBarTitle = {\n config: '',\n page: '',\n report: '',\n lt: ''\n };\n return;\n }\n }\n\n _login() {\n this._sendEventRequest({\n key: 'login'\n }, 0);\n }\n\n _share() {\n this._sendEventRequest({\n key: 'share'\n }, 0);\n }\n _payment(key) {\n this._sendEventRequest({\n key\n }, 0);\n }\n _sendReportRequest(options) {\n\n this._navigationBarTitle.lt = '1';\n let query = options.query && JSON.stringify(options.query) !== '{}' ? '?' + JSON.stringify(options.query) : '';\n this.statData.lt = '1';\n this.statData.url = (options.path + query) || '';\n this.statData.t = getTime();\n this.statData.sc = getScene(options.scene);\n this.statData.fvts = getFirstVisitTime();\n this.statData.lvts = getLastVisitTime();\n this.statData.tvc = getTotalVisitCount();\n if (getPlatformName() === 'n') {\n this.getProperty();\n } else {\n this.getNetworkInfo();\n }\n }\n\n _sendPageRequest(opt) {\n let {\n url,\n urlref,\n urlref_ts\n } = opt;\n this._navigationBarTitle.lt = '11';\n let options = {\n ak: this.statData.ak,\n uuid: this.statData.uuid,\n lt: '11',\n ut: this.statData.ut,\n url,\n tt: this.statData.tt,\n urlref,\n urlref_ts,\n ch: this.statData.ch,\n usv: this.statData.usv,\n t: getTime(),\n p: this.statData.p\n };\n this.request(options);\n }\n\n _sendHideRequest(opt, type) {\n let {\n urlref,\n urlref_ts\n } = opt;\n let options = {\n ak: this.statData.ak,\n uuid: this.statData.uuid,\n lt: '3',\n ut: this.statData.ut,\n urlref,\n urlref_ts,\n ch: this.statData.ch,\n usv: this.statData.usv,\n t: getTime(),\n p: this.statData.p\n };\n this.request(options, type);\n }\n _sendEventRequest({\n key = '',\n value = \"\"\n } = {}) {\n const route = this._lastPageRoute;\n let options = {\n ak: this.statData.ak,\n uuid: this.statData.uuid,\n lt: '21',\n ut: this.statData.ut,\n url: route,\n ch: this.statData.ch,\n e_n: key,\n e_v: typeof(value) === 'object' ? JSON.stringify(value) : value.toString(),\n usv: this.statData.usv,\n t: getTime(),\n p: this.statData.p\n };\n this.request(options);\n }\n\n getNetworkInfo() {\n uni.getNetworkType({\n success: (result) => {\n this.statData.net = result.networkType;\n this.getLocation();\n }\n });\n }\n\n getProperty() {\n plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {\n this.statData.v = wgtinfo.version || '';\n this.getNetworkInfo();\n });\n }\n\n getLocation() {\n if (statConfig.getLocation) {\n uni.getLocation({\n type: 'wgs84',\n geocode: true,\n success: (result) => {\n if (result.address) {\n this.statData.cn = result.address.country;\n this.statData.pn = result.address.province;\n this.statData.ct = result.address.city;\n }\n\n this.statData.lat = result.latitude;\n this.statData.lng = result.longitude;\n this.request(this.statData);\n }\n });\n } else {\n this.statData.lat = 0;\n this.statData.lng = 0;\n this.request(this.statData);\n }\n }\n\n request(data, type) {\n let time = getTime();\n const title = this._navigationBarTitle;\n data.ttn = title.page;\n data.ttpj = title.config;\n data.ttc = title.report;\n\n let requestData = this._reportingRequestData;\n if (getPlatformName() === 'n') {\n requestData = uni.getStorageSync('__UNI__STAT__DATA') || {};\n }\n if (!requestData[data.lt]) {\n requestData[data.lt] = [];\n }\n requestData[data.lt].push(data);\n\n if (getPlatformName() === 'n') {\n uni.setStorageSync('__UNI__STAT__DATA', requestData);\n }\n if (getPageResidenceTime() < OPERATING_TIME && !type) {\n return\n }\n let uniStatData = this._reportingRequestData;\n if (getPlatformName() === 'n') {\n uniStatData = uni.getStorageSync('__UNI__STAT__DATA');\n }\n // 时间超过,重新获取时间戳\n setPageResidenceTime();\n let firstArr = [];\n let contentArr = [];\n let lastArr = [];\n\n for (let i in uniStatData) {\n const rd = uniStatData[i];\n rd.forEach((elm) => {\n const newData = getSplicing(elm);\n if (i === 0) {\n firstArr.push(newData);\n } else if (i === 3) {\n lastArr.push(newData);\n } else {\n contentArr.push(newData);\n }\n });\n }\n\n firstArr.push(...contentArr, ...lastArr);\n let optionsData = {\n usv: STAT_VERSION, //统计 SDK 版本号\n t: time, //发送请求时的时间戮\n requests: JSON.stringify(firstArr),\n };\n\n this._reportingRequestData = {};\n if (getPlatformName() === 'n') {\n uni.removeStorageSync('__UNI__STAT__DATA');\n }\n\n if (data.ut === 'h5') {\n this.imageRequest(optionsData);\n return\n }\n\n if (getPlatformName() === 'n' && this.statData.p === 'a') {\n setTimeout(() => {\n this._sendRequest(optionsData);\n }, 200);\n return\n }\n this._sendRequest(optionsData);\n }\n _sendRequest(optionsData) {\n uni.request({\n url: STAT_URL,\n method: 'POST',\n // header: {\n // 'content-type': 'application/json' // 默认值\n // },\n data: optionsData,\n success: () => {\n // if (process.env.NODE_ENV === 'development') {\n // console.log('stat request success');\n // }\n },\n fail: (e) => {\n if (++this._retry < 3) {\n setTimeout(() => {\n this._sendRequest(optionsData);\n }, 1000);\n }\n }\n });\n }\n /**\n * h5 请求\n */\n imageRequest(data) {\n let image = new Image();\n let options = getSgin(GetEncodeURIComponentOptions(data)).options;\n image.src = STAT_H5_URL + '?' + options;\n }\n\n sendEvent(key, value) {\n // 校验 type 参数\n if (calibration(key, value)) return\n\n if (key === 'title') {\n this._navigationBarTitle.report = value;\n return\n }\n this._sendEventRequest({\n key,\n value: typeof(value) === 'object' ? JSON.stringify(value) : value\n }, 1);\n }\n}\n\n\nclass Stat extends Util {\n static getInstance() {\n if (!this.instance) {\n this.instance = new Stat();\n }\n return this.instance;\n }\n constructor() {\n super();\n this.instance = null;\n // 注册拦截器\n if (typeof uni.addInterceptor === 'function' && process.env.NODE_ENV !== 'development') {\n this.addInterceptorInit();\n this.interceptLogin();\n this.interceptShare(true);\n this.interceptRequestPayment();\n }\n }\n\n addInterceptorInit() {\n let self = this;\n uni.addInterceptor('setNavigationBarTitle', {\n invoke(args) {\n self._navigationBarTitle.page = args.title;\n }\n });\n }\n\n interceptLogin() {\n let self = this;\n uni.addInterceptor('login', {\n complete() {\n self._login();\n }\n });\n }\n\n interceptShare(type) {\n let self = this;\n if (!type) {\n self._share();\n return\n }\n uni.addInterceptor('share', {\n success() {\n self._share();\n },\n fail() {\n self._share();\n }\n });\n }\n\n interceptRequestPayment() {\n let self = this;\n uni.addInterceptor('requestPayment', {\n success() {\n self._payment('pay_success');\n },\n fail() {\n self._payment('pay_fail');\n }\n });\n }\n\n report(options, self) {\n this.self = self;\n // if (process.env.NODE_ENV === 'development') {\n // console.log('report init');\n // }\n setPageResidenceTime();\n this.__licationShow = true;\n this._sendReportRequest(options, true);\n }\n\n load(options, self) {\n if (!self.$scope && !self.$mp) {\n const page = getCurrentPages();\n self.$scope = page[page.length - 1];\n }\n this.self = self;\n this._query = options;\n }\n\n show(self) {\n this.self = self;\n if (getPageTypes(self)) {\n this._pageShow(self);\n } else {\n this._applicationShow(self);\n }\n }\n\n ready(self) {\n // this.self = self;\n // if (getPageTypes(self)) {\n // this._pageShow(self);\n // }\n }\n hide(self) {\n this.self = self;\n if (getPageTypes(self)) {\n this._pageHide(self);\n } else {\n this._applicationHide(self, true);\n }\n }\n error(em) {\n if (this._platform === 'devtools') {\n if (process.env.NODE_ENV === 'development') {\n console.info('当前运行环境为开发者工具,不上报数据。');\n }\n // return;\n }\n let emVal = '';\n if (!em.message) {\n emVal = JSON.stringify(em);\n } else {\n emVal = em.stack;\n }\n let options = {\n ak: this.statData.ak,\n uuid: this.statData.uuid,\n lt: '31',\n ut: this.statData.ut,\n ch: this.statData.ch,\n mpsdk: this.statData.mpsdk,\n mpv: this.statData.mpv,\n v: this.statData.v,\n em: emVal,\n usv: this.statData.usv,\n t: getTime(),\n p: this.statData.p\n };\n this.request(options);\n }\n}\n\nconst stat = Stat.getInstance();\nlet isHide = false;\nconst lifecycle = {\n onLaunch(options) {\n stat.report(options, this);\n },\n onReady() {\n stat.ready(this);\n },\n onLoad(options) {\n stat.load(options, this);\n // 重写分享,获取分享上报事件\n if (this.$scope && this.$scope.onShareAppMessage) {\n let oldShareAppMessage = this.$scope.onShareAppMessage;\n this.$scope.onShareAppMessage = function(options) {\n stat.interceptShare(false);\n return oldShareAppMessage.call(this, options)\n };\n }\n },\n onShow() {\n isHide = false;\n stat.show(this);\n },\n onHide() {\n isHide = true;\n stat.hide(this);\n },\n onUnload() {\n if (isHide) {\n isHide = false;\n return\n }\n stat.hide(this);\n },\n onError(e) {\n stat.error(e);\n }\n};\n\nfunction main() {\n if (process.env.NODE_ENV === 'development') {\n uni.report = function(type, options) {};\n }else{\n const Vue = require('vue');\n (Vue.default || Vue).mixin(lifecycle);\n uni.report = function(type, options) {\n stat.sendEvent(type, options);\n };\n }\n}\n\nmain();\n","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() {\n return this || (typeof self === \"object\" && self);\n})() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() {\n return this || (typeof self === \"object\" && self);\n })() || Function(\"return this\")()\n);\n","export default {\r\n data() {\r\n return {\r\n disabled: false,\r\n text: \"获取验证码\"\r\n };\r\n },\r\n methods: {\r\n sendCode() {\r\n if (this.disabled) return;\r\n this.disabled = true;\r\n let n = 60;\r\n this.text = \"剩余 \" + n + \"s\";\r\n const run = setInterval(() => {\r\n n = n - 1;\r\n if (n < 0) {\r\n clearInterval(run);\r\n }\r\n this.text = \"剩余 \" + n + \"s\";\r\n if (this.text < \"剩余 \" + 0 + \"s\") {\r\n this.disabled = false;\r\n this.text = \"重新获取\";\r\n }\r\n }, 1000);\r\n }\r\n }\r\n};\r\n","const bindMessage = (fn, message) => {\r\n fn.message = field => message.replace(\"%s\", field || \"\");\r\n};\r\n\r\nexport function required(message, opt = {}) {\r\n return {\r\n required: true,\r\n message,\r\n type: \"string\",\r\n ...opt\r\n };\r\n}\r\n\r\nbindMessage(required, \"请输入%s\");\r\n\r\nexport function url(message, opt = {}) {\r\n return {\r\n type: \"url\",\r\n message,\r\n ...opt\r\n };\r\n}\r\n\r\nbindMessage(url, \"请输入正确的链接\");\r\n\r\nexport function email(message, opt = {}) {\r\n return {\r\n type: \"email\",\r\n message,\r\n ...opt\r\n };\r\n}\r\n\r\nbindMessage(email, \"请输入正确的邮箱地址\");\r\n\r\n/**\r\n * 验证字段必须完全由字母构成。\r\n *\r\n * @param message\r\n * @returns {*}\r\n */\r\nexport function alpha(message) {\r\n return attrs.pattern(/^[\\w]+$/, message);\r\n}\r\n\r\nbindMessage(alpha, \"%s必须是字母\");\r\n\r\n/**\r\n * 只能包含由字母、数字,以及 - 和 _\r\n *\r\n * @param message\r\n * @returns {*}\r\n */\r\nexport function alpha_dash(message) {\r\n return attrs.pattern(/^[\\w\\d_-]+$/, message);\r\n}\r\n\r\nbindMessage(alpha_dash, \"%s只能包含由字母、数字,以及 - 和 _\");\r\n\r\n/**\r\n * 必须是完全是字母、数字\r\n *\r\n * @param message\r\n * @returns {*}\r\n */\r\nexport function alpha_num(message) {\r\n return attrs.pattern(/^[\\w\\d]+$/, message);\r\n}\r\n\r\nbindMessage(alpha_num, \"%s只能包含字母、数字\");\r\n/**\r\n * 正确的金额\r\n *\r\n * @param message\r\n * @returns {*}\r\n */\r\nexport function num(message) {\r\n return attrs.pattern(\r\n /(^[1-9]([0-9]+)?(\\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\\.[0-9]([0-9])?$)/,\r\n message\r\n );\r\n}\r\n\r\nbindMessage(num, \"%s格式不正确\");\r\n\r\n/**\r\n * 只能是汉字\r\n * @param message\r\n * @returns {*}\r\n */\r\nexport function chs(message) {\r\n return attrs.pattern(/^[\\u4e00-\\u9fa5]+$/, message);\r\n}\r\n\r\nbindMessage(chs, \"%s只能是汉字\");\r\n\r\n/**\r\n * 只能包含汉字、字母\r\n * @param message\r\n * @returns {*}\r\n */\r\nexport function chs_alpha(message) {\r\n return attrs.pattern(/^[\\u4e00-\\u9fa5\\w]+$/, message);\r\n}\r\n\r\nbindMessage(chs_alpha, \"%s只能包含汉字、字母\");\r\n\r\n/**\r\n * 只能包含汉字、字母和数字\r\n * @param message\r\n * @returns {*}\r\n */\r\nexport function chs_alpha_num(message) {\r\n return attrs.pattern(/^[\\u4e00-\\u9fa5\\w\\d]+$/, message);\r\n}\r\n\r\nbindMessage(chs_alpha_num, \"%s只能包含汉字、字母和数字\");\r\n\r\n/**\r\n * 只能包含由汉字、字母、数字,以及 - 和 _\r\n * @param message\r\n * @returns {*}\r\n */\r\nexport function chs_dash(message) {\r\n return attrs.pattern(/^[\\u4e00-\\u9fa5\\w\\d-_]+$/, message);\r\n}\r\n\r\nbindMessage(chs_dash, \"%s只能包含由汉字、字母、数字,以及 - 和 _\");\r\n\r\n/**\r\n * 手机号验证\r\n * @param message\r\n * @returns {*}\r\n */\r\nexport function chs_phone(message) {\r\n return attrs.pattern(/^1(3|4|5|7|8|9|6)\\d{9}$/i, message);\r\n}\r\nbindMessage(chs_phone, \"请输入正确的手机号码\");\r\n\r\nconst baseAttr = {\r\n min: \"%s最小长度为:min\",\r\n max: \"%s最大长度为:max\",\r\n length: \"%s长度必须为:length\",\r\n range: \"%s长度为:range\",\r\n pattern: \"$s格式错误\"\r\n};\r\n\r\nconst attrs = Object.keys(baseAttr).reduce((attrs, key) => {\r\n attrs[key] = (attr, message = \"\", opt = {}) => {\r\n const _attr =\r\n key === \"range\" ? { min: attr[0], max: attr[1] } : { [key]: attr };\r\n\r\n return {\r\n message: message.replace(\r\n `:${key}`,\r\n key === \"range\" ? `${attr[0]}-${attr[1]}` : attr\r\n ),\r\n type: \"string\",\r\n ..._attr,\r\n ...opt\r\n };\r\n };\r\n bindMessage(attrs[key], baseAttr[key]);\r\n return attrs;\r\n}, {});\r\n\r\nexport default attrs;\r\n","export default {\"appid\":\"\"}","import request from \"@/utils/request\";\r\n\r\n/**\r\n * 首页\r\n * @returns {*}\r\n */\r\nexport function getHomeData() {\r\n return request.get(\"index\", {}, { login: false });\r\n}\r\n\r\n/**\r\n * 文章 轮播列表\r\n * @returns {*}\r\n */\r\nexport function getArticleBanner() {\r\n return request.get(\"/article/banner/list\", {}, { login: false });\r\n}\r\n\r\n/**\r\n * 文章分类列表\r\n * @returns {*}\r\n */\r\nexport function getArticleCategory() {\r\n return request.get(\"/article/category/list\", {}, { login: false });\r\n}\r\n\r\n/**\r\n * 文章 热门列表\r\n * @returns {*}\r\n */\r\nexport function getArticleHotList() {\r\n return request.get(\"/article/hot/list\", {}, { login: false });\r\n}\r\n\r\n/**\r\n * 文章列表\r\n * @returns {*}\r\n */\r\nexport function getArticleList(q) {\r\n return request.get(\"/article/list/\", q, { login: false });\r\n}\r\n\r\n/**\r\n * 分享\r\n * @returns {*}\r\n */\r\nexport function getShare() {\r\n return request.get(\"/share\", {}, { login: false });\r\n}\r\n\r\n/**\r\n * 文章详情\r\n * @returns {*}\r\n */\r\nexport function getArticleDetails(id) {\r\n return request.get(\"/article/details/\" + id, {}, { login: false });\r\n}\r\n\r\n/**\r\n * 获取微信sdk配置\r\n * @returns {*}\r\n */\r\nexport function getWechatConfig() {\r\n // return request.get(\r\n // \"/wechat/config\",\r\n // { url: document.location.href },\r\n // { login: false }\r\n // );\r\n}\r\n\r\n/**\r\n * 获取微信sdk配置\r\n * @returns {*}\r\n */\r\nexport function wechatAuth(code, spread, login_type) {\r\n return request.get(\r\n \"/wechat/auth\",\r\n { code, spread, login_type },\r\n { login: false }\r\n );\r\n}\r\n/**\r\n * 获取快递公司\r\n * @returns {*}\r\n */\r\nexport function getLogistics() {\r\n return request.get(\"/logistics\", {}, { login: false });\r\n}\r\n\r\n/**\r\n * 获取图片base64\r\n * @retins {*}\r\n * */\r\nexport function imageBase64(image, code) {\r\n return request.post(\r\n \"/image_base64\",\r\n { image: image, code: code },\r\n { login: false }\r\n );\r\n}\r\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","import request from \"@/utils/request\";\r\n\r\n/*\r\n * 商品分类\r\n * */\r\nexport function getCategory() {\r\n return request.get(\"/category\", {}, { login: false });\r\n}\r\n\r\n/*\r\n * 商品详情\r\n * */\r\nexport function getProductDetail(id) {\r\n return request.get(\"/product/detail/\" + id, {}, { login: true });\r\n}\r\n\r\n/*\r\n * 商品分销二维码\r\n * */\r\nexport function getProductCode(id) {\r\n return request.get(\"/product/code/\" + id, {}, { login: true });\r\n}\r\n\r\n/*\r\n * 商品列表\r\n * */\r\nexport function getProducts(q) {\r\n return request.get(\"/products\", q, { login: false });\r\n}\r\n\r\n/*\r\n * 购物车数量\r\n * */\r\nexport function getCartNum() {\r\n return request.get(\"/cart/count\");\r\n}\r\n\r\n/*\r\n * 添加收藏\r\n * */\r\nexport function toCollect(id, category) {\r\n return request.get(\"/collect/add/\" + id + \"/\" + category);\r\n}\r\n\r\n/*\r\n * 为你推荐\r\n * */\r\nexport function getHostProducts(page, limit) {\r\n return request.get(\r\n \"/product/hot\",\r\n { page: page, limit: limit },\r\n { login: false }\r\n );\r\n}\r\n\r\n/*\r\n * 精品、热门、首发列表\r\n * */\r\nexport function getGroomList(type) {\r\n return request.get(\"/groom/list/\" + type, {}, { login: false });\r\n}\r\n\r\n/*\r\n * 购物车 添加\r\n * */\r\nexport function postCartAdd(data) {\r\n return request.post(\"/cart/add\", data);\r\n}\r\n\r\n/*\r\n * 购物车列表\r\n * */\r\nexport function getCartList() {\r\n return request.get(\"/cart/list\");\r\n}\r\n\r\n/*\r\n * 购物车 删除\r\n * */\r\nexport function postCartDel(ids) {\r\n return request.post(\"/cart/del\", { ids });\r\n}\r\n\r\n/*\r\n * 购物车 获取数量\r\n * */\r\nexport function getCartCount(data) {\r\n return request.get(\"/cart/count\", data);\r\n}\r\n\r\n/*\r\n * 购物车 修改商品数量\r\n * */\r\nexport function changeCartNum(id, number) {\r\n return request.post(\"/cart/num\", { id, number });\r\n}\r\n\r\n/**\r\n * 搜索推荐关键字\r\n */\r\nexport function getSearchKeyword() {\r\n return request.get(\"/search/keyword\", {}, { login: false });\r\n}\r\n\r\n/**\r\n * 产品评论列表\r\n */\r\nexport function getReplyList(id, q) {\r\n return request.get(\"/reply/list/\" + id, q, { login: true });\r\n}\r\n\r\n/**\r\n * 产品评价数量和好评度\r\n */\r\nexport function getReplyConfig(id) {\r\n return request.get(\"/reply/config/\" + id, {}, { login: true });\r\n}\r\n\r\n/**\r\n * 评价页面获取单个产品详情\r\n */\r\nexport function postOrderProduct(unique) {\r\n return request.post(\"/order/product\", { unique }, { login: true });\r\n}\r\n\r\n/**\r\n * 提交评价页面;\r\n */\r\nexport function postOrderComment(data) {\r\n return request.post(\"/order/comment\", data, { login: true });\r\n}\r\n","//除法函数,用来得到精确的除法结果\r\n//说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。\r\n//调用:div(arg1,arg2)\r\n//返回值:arg1除以arg2的精确结果\r\nexport function div(arg1, arg2) {\r\n var t1 = 0,\r\n t2 = 0,\r\n r1,\r\n r2;\r\n try {\r\n t1 = arg1.toString().split(\".\")[1].length;\r\n } catch (e) {\r\n t1 = 0;\r\n }\r\n try {\r\n t2 = arg2.toString().split(\".\")[1].length;\r\n } catch (e) {\r\n t2 = 0;\r\n }\r\n r1 = Number(arg1.toString().replace(\".\", \"\"));\r\n r2 = Number(arg2.toString().replace(\".\", \"\"));\r\n return mul(r1 / r2, Math.pow(10, t2 - t1));\r\n}\r\n//乘法函数,用来得到精确的乘法结果\r\n//说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。\r\n//调用:mul(arg1,arg2)\r\n//返回值:arg1乘以arg2的精确结果\r\nexport function mul(arg1, arg2) {\r\n var m = 0,\r\n s1 = arg1.toString(),\r\n s2 = arg2.toString();\r\n try {\r\n m += s1.split(\".\")[1].length;\r\n } catch (e) {\r\n m = 0;\r\n }\r\n try {\r\n m += s2.split(\".\")[1].length;\r\n } catch (e) {\r\n m = m || 0;\r\n }\r\n return (\r\n (Number(s1.replace(\".\", \"\")) * Number(s2.replace(\".\", \"\"))) /\r\n Math.pow(10, m)\r\n );\r\n}\r\n\r\n//加法函数,用来得到精确的加法结果\r\n//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。\r\n//调用:add(arg1,arg2)\r\n//返回值:arg1加上arg2的精确结果\r\nexport function add(arg1, arg2) {\r\n var r1, r2, m, n;\r\n try {\r\n r1 = arg1.toString().split(\".\")[1].length;\r\n } catch (e) {\r\n r1 = 0;\r\n }\r\n try {\r\n r2 = arg2.toString().split(\".\")[1].length;\r\n } catch (e) {\r\n r2 = 0;\r\n }\r\n m = Math.pow(10, Math.max(r1, r2));\r\n n = r1 >= r2 ? r1 : r2;\r\n return ((arg1 * m + arg2 * m) / m).toFixed(n);\r\n}\r\n\r\n//减法函数,用来得到精确的减法结果\r\n//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的减法结果。\r\n//调用:sub(arg1,arg2)\r\n//返回值:arg1减去arg2的精确结果\r\nexport function sub(arg1, arg2) {\r\n var r1, r2, m, n;\r\n try {\r\n r1 = arg1.toString().split(\".\")[1].length;\r\n } catch (e) {\r\n r1 = 0;\r\n }\r\n try {\r\n r2 = arg2.toString().split(\".\")[1].length;\r\n } catch (e) {\r\n r2 = 0;\r\n }\r\n m = Math.pow(10, Math.max(r1, r2));\r\n //动态控制精度长度\r\n n = r1 >= r2 ? r1 : r2;\r\n return ((arg1 * m - arg2 * m) / m).toFixed(n);\r\n}\r\n\r\nfunction Compute(value) {\r\n this.value = value;\r\n}\r\nObject.assign(Compute.prototype, {\r\n add(v) {\r\n this.value = add(this.value, v);\r\n return this;\r\n },\r\n sub(v) {\r\n this.value = sub(this.value, v);\r\n return this;\r\n },\r\n div(v) {\r\n this.value = div(this.value, v);\r\n return this;\r\n },\r\n mul(v) {\r\n this.value = mul(this.value, v);\r\n return this;\r\n }\r\n});\r\n\r\nexport default function(value) {\r\n return new Compute(value);\r\n}\r\n"],"sourceRoot":""} |