1 |
- {"version":3,"sources":["webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/index.js?543d","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js?f0c5","uni-app:///api/info.js","uni-app:///api/login.js","uni-app:///api/wx.js","uni-app:///utils/wxMinProgram.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js?66fd","uni-app:///api/index.js","uni-app:///components/uni-popup/popup.js","uni-app:///components/uni-popup/message.js","uni-app:///utils/request.js","uni-app:///utils/newRequest.js","uni-app:///components/wangding-pickerAddress/data.js","uni-app:///components/jyf-parser/libs/MpHtmlParser.js","uni-app:///components/jyf-parser/libs/config.js","webpack:///./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/regenerator/index.js?4795","uni-app:///components/jyf-parser/libs/CssHandler.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js?bbdd","webpack:///./node_modules/regenerator-runtime/runtime.js?96cf","uni-app:///utils/loginUtils.js","uni-app:///api/user.js","webpack:///(webpack)/buildin/global.js?cd00","uni-app:///api/ask.js","uni-app:///store/index.js","webpack:///./node_modules/vuex/dist/vuex.esm.js?2f62","uni-app:///store/model/user.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","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","test","isSyncApi","isCallbackApi","handlePromise","err","shouldPromise","finally","constructor","value","reason","promisify","promiseApi","success","fail","complete","reject","assign","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","Emitter","getUniEmitter","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","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","type","Date","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","target","detail","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","isInteger","substr","__get_value","vForItem","vForKey","processEventExtra","extra","extraObj","__args__","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","dataset","comType","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","$scope","handleEvent","eventOpts","eventOpt","eventsArray","charAt","isOnce","eventArray","handlerCtx","handler","Error","once","parseBaseApp","initRefs","store","$store","mpHost","beforeCreate","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","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","parsePage","createPage","createComponent","canIUseApi","apiName","uni","Proxy","set","uni$1","articletop","url","articledel","details","id","deconstructArticle","login","register","verify","getUserInfo","loginMobile","wechatMpAuth","loginWinxinMp","pages","getCurrentPages","page","queryUrl","path","setStorageSync","log","fill","loadIndexs","bannerlist","groom4","groom1","groom3","myCreateCircle","getList","getNumber","joinSec","getdis","tocall","getseek","getrescue","change_rescue","config","center","message","dialog","created","maskShow","childrenMsg","customOpen","open","customClose","close","response","status","commit","showModal","title","confirm","msg","showToast","duration","mask","icon","request","token","getStorageSync","header","upFilse","baseURL","state","iserror","requestData","statusCode","upload_img_url","Uploader","choose","num","chooseImage","count","sourceType","sizeType","tempFilePaths","upload_one","showLoading","uploadFile","filePath","uploadFileRes","hideLoading","upload","path_arr","img_urls","img_url","choose_and_upload","cfg","require","blankChar","CssHandler","emoji","MpHtmlParser","attrs","tagStyle","domain","DOM","start","audioNum","imgNum","videoNum","prot","includes","Text","STACK","bubble","richOnlyTags","decode","val","amp","j","en","substring","fromCharCode","entities","getUrl","isClose","section","siblings","children","parseEmoji","setText","popNode","pop","setAttr","attrName","toLowerCase","attrVal","boolAttrs","src","setNode","AttrName","back","text","onText","pre","flag","tmp","unshift","join","node","tagName","selfClosingTags","nodes","ignoreTags","style","match","styleObj","compress","useAnchor","class","color","face","map","autostart","autoplay","controls","lazyLoad","width","parseFloat","height","source","colspan","rowspan","k","align","styles","info","trim","ignore","$","highlight","remove","href","handleSvg","xmlns","exec","shift","getStyle","childs","blockTags","trustTags","child","one","ten","padding","cellpadding","spacing","cellspacing","border","f","ns","n","autoscroll","table","next","isLetter","TagName","EndTag","Comment","AttrValue","module","exports","errorImg","quot","apos","semi","nbsp","ensp","emsp","ndash","mdash","middot","lsquo","rsquo","ldquo","rdquo","bull","hellip","makeMap","userAgentStyles","address","big","blockquote","caption","cite","dd","mark","s","small","u","list","rp","parser","matched","items","init","Space","Name","Ignore","NameSpace","Content","Comma","content","getActionPage","getPageUrl","objKeys","a","pageUrl","navigateTo","saveUrl","orderData","userinfo","userinfoid","addrescuer","articlesave","myarticle","replyask","replylist","myreplylist","use","Vuex","Store","urlFile","loginInterceptor","mutations","modules","user","actions","userInfo","orderInfo","complete_count","received_count","unshipped_count","order_count","unpaid_count","hasLogin","logout","removeStorage","setUserInfo","setStorage","setOrderInfo","getters","namespaced"],"mappings":"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CAAC6S,KAAH,CAAS;AACRxT,aADQ,mBACA+I,CADA,EACG;AACVlF,eAAO,CAACwQ,GAAR,CAAYtL,CAAZ;AACApL,eAAO,CAACoL,CAAD,CAAP;AACA,OAJO;AAKRuL,UAAI,EAAC,cAAUvL,CAAV,EAAa;AACjB5I,cAAM,CAAC4I,CAAD,CAAN;AACA,OAPO,EAAT;;AASA,GAVM,CAAP;AAWA,E;;;;;;;;;;;;;AC5BD;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;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,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,8CAA8C;AAC9C;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;;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,yCAAyC;AACzC;AACA,sCAAsC;AACtC,8C;;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;;AAEH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;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;AACA;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;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;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEe,kEAAG,EAAC;;;;;;;;;;;;;;8cCj5LnB,sF;;AAEA;AACO,SAASwL,UAAT,CAAoBlX,IAApB,EAA0B;AAChC,SAAO,sBAAQ;AACd8V,OAAG,EAAE,YADS;AAEdjW,UAAM,EAAE,KAFM;AAGdG,QAAI,EA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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;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;4OChtBA;AACO,SAASO,aAAT,GAAyB;AAC/B,MAAIvO,KAAK,GAAGC,eAAe,EAA3B;AACA,SAAOD,KAAK,CAACA,KAAK,CAAC3X,MAAN,GAAe,CAAhB,CAAZ;AACA;;;AAGD;AACO,SAASmmB,UAAT,CAAoBlN,MAApB,EAA4B;AAClC,MAAIpB,IAAI,GAAGqO,aAAa,EAAxB;AACA,MAAInO,IAAI,GAAG,MAAMF,IAAI,CAACrE,KAAtB;AACA,MAAIuD,GAAG,GAAG,EAAV;AACA;AACA,MAAIqP,OAAO,GAAE1oB,MAAM,CAACgD,IAAP,CAAYmX,IAAI,CAACnW,OAAjB,CAAb;AACA;AACA,MAAG0kB,OAAO,CAACpmB,MAAR,GAAe,CAAlB,EAAoB;AACnB;AACA,SAAI,IAAIqmB,CAAR,IAAaxO,IAAI,CAACnW,OAAlB,EAA2B;AAC1B;AACA,UAAG2kB,CAAC,IAAE,QAAN,EAAe;AACdtP,WAAG,IAAIsP,CAAC,GAAC,GAAF,GAAMxO,IAAI,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S;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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED,oDAAoD;AACpD;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA,8BAA8B,UAAU,qBAAqB,EAAE,EAAE;AACjE,2CAA2C,UAAU,0BAA0B,EAAE,EAAE;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEmG;AACpF,wEAAS,EAAC;;;;;;;;;;;;;kICl6BzB,IAAIqI,KAAK,GAAG;AACX8M,UAAQ,EAAE,EADC,EACG;AACdC,WAAS,EAAE;AACVC,kBAAc,EAAE,CADN,EACS;AACnBC,kBAAc,EAAE,CAFN,EAES;AACnBC,mBAAe,EAAE,CAHP,EAGU;AACpBC,eAAW,EAAE,CAJH,EAIM;AAChBC,gBAAY,EAAE,CALJ,CAKM;AALN,GAFA,EAQR;AACHC,UAAQ,EAAE,KATC,CASM;AATN,CAAZ;;AAYA,IAAIX,SAAS,GAAG;AACf;AACAnQ,OAFe,iBAETyD,KAFS,EAEF;AACZA,SAAK,CAACqN,QAAN,GAAiB,IAAjB;AACA,GAJc;AAKf;AACAC,QANe,kBAMRtN,KANQ,EAMDhS,QANC,EAMS;AACvBgS,SAAK,CAACqN,QAAN,GAAiB,KAAjB;AACA;AACArN,SAAK,CAAC8M,QAAN,GAAiB,EAAjB;AACA9M,SAAK,CAAC+M,SAAN,GAAkB;AACjBC,oBAAc,EAAE,CADC,EACE;AACnBC,oBAAc,EAAE,CAFC,EAEE;AACnBC,qBAAe,EAAE,CAHA,EAGG;AACpBC,iBAAW,EAAE,CAJI,EAID;AAChBC,kBAAY,EAAE,CALG,CAKD;AALC,KAAlB;AAOA;AACAvR,OAAG,CAAC0R,aAAJ,CAAkB;AACjB9pB,SAAG,EAAE,UADY,EAAlB;;AAGA;AACAoY,OAAG,CAAC0R,aAAJ,CAAkB;AACjB9pB,SAAG,EAAE,OADY,EAAlB;;AAGA,GAzBc;AA0Bf;AACA+pB,aA3Be,uBA2BHxN,KA3BG,EA2BIhS,QA3BJ,EA2Bc;AAC5BgS,SAAK,CAAC8M,QAAN,GAAiB9e,QAAjB;AACA6N,OAAG,CAAC4R,UAAJ,CAAe,EAAE;AAChBhqB,SAAG,EAAE,UADS;AAEd2C,UAAI,EAAE4H,QAFQ,EAAf;;AAIA,GAjCc;AAkCf;AACA0f,cAnCe,wBAmCF1N,KAnCE,EAmCKhS,QAnCL,EAmCe;AAC7BgS,SAAK,CAAC+M,SAAN,GAAkB/e,QAAlB;AACA,GArCc,EAAhB;;;;AAyCA,IAAI2f,OAAO,GAAG,EAAd,C;;AAEe;AACdC,YAAU,EAAE,IADE;AAEd5N,OAAK,EAALA,KAFc;AAGd0M,WAAS,EAATA,SAHc;AAIdiB,SAAO,EAAPA,OAJc,E","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.resolve(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 /^\\$|sendNativeEvent|restoreGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64/;\n\nconst CONTEXT_API_RE = /^create|Manager$/;\n\n// Context例外情况\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\n\n// 同步例外情况\nconst ASYNC_API = ['createBLEConnection'];\n\nconst CALLBACK_API_RE = /^on|^off/;\n\nfunction isContextApi (name) {\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\n}\nfunction isSyncApi (name) {\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\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\n/* eslint-disable no-extend-native */\nif (!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\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 })))\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 result = 1;\n } else {\n result = 0.5;\n }\n }\n return number < 0 ? -result : result\n}\n\nconst interceptors = {\n promiseInterceptor\n};\n\nvar baseApi = /*#__PURE__*/Object.freeze({\n __proto__: null,\n upx2px: upx2px,\n addInterceptor: addInterceptor,\n removeInterceptor: removeInterceptor,\n interceptors: interceptors\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 'preloadPage',\n 'unPreloadPage',\n 'loadSubPackage'\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 (const 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 if (isFn(fromArgs[key])) {\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\n }\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 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\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 'onAddToFavorites',\n 'onShareTimeline',\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 } else {\n VueComponent = Vue.extend(vueOptions);\n }\n vueOptions = VueComponent.options;\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 (hasOwn(event, 'markerId')) {\n event.detail = typeof event.detail === 'object' ? event.detail : {};\n event.detail.markerId = event.markerId;\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 let vFor;\n if (Number.isInteger(dataPath)) {\n vFor = dataPath;\n } else if (!dataPath) {\n vFor = context;\n } else if (typeof dataPath === 'string' && dataPath) {\n if (dataPath.indexOf('#s#') === 0) {\n vFor = dataPath.substr(3);\n } else {\n vFor = vm.__get_value(dataPath, context);\n }\n }\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 === 'arguments') {\n if (event.detail && event.detail.__args__) {\n extraObj['$' + index] = event.detail.__args__;\n } else {\n extraObj['$' + index] = [event];\n }\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 getContextVm (vm) {\n let $parent = vm.$parent;\n // 父组件是 scoped slots 或者其他自定义组件时继续查找\n while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\n $parent = $parent.$parent;\n }\n return $parent && $parent.$parent\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 (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\n handlerCtx = getContextVm(handlerCtx) || handlerCtx;\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 'onThemeChange',\n 'onUnhandledRejection'\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 const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\n\n const options = {\n multipleSlots: true,\n addGlobalClass: true,\n ...(vueOptions.options || {})\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 // externalClasses\n if (vueOptions.externalClasses) {\n componentOptions.externalClasses = vueOptions.externalClasses;\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 (hasOwn(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 if (!options.components) {\n options.components = {}\n }\n var hasOwn = Object.prototype.hasOwnProperty\n for (var name in components) {\n if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {\n options.components[name] = components[name]\n }\n }\n }\n // fixed by xxxxxx renderjs\n if (renderjs) {\n (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 request from '@/utils/request'\n\n// 置顶 取消置顶\nexport function articletop(data) {\n\treturn request({\n\t\turl: '/api/circle/articletop',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n// 删除贴子\nexport function articledel(data) {\n\treturn request({\n\t\turl: '/api/circle/articledel',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n// 文章详情\nexport function details(data,id) {\n\treturn request({\n\t\turl: '/api/article/details/'+id,\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\n//处理文章详情页\nexport function deconstructArticle(data) {\n\tif (data) {\n\t\tdata = data.replace(/<img/g, '<img style=\"width: 100% !important;height:auto\"').replace(\n\t\t\t/<p>\\S*<img/g, '<p style=\"line-height: 0;\"><img');\n\t}\n\treturn data;\n}\n","import request from '@/utils/request'\n\n// 登录\nexport function login(data) {\n\treturn request({\n\t\turl: '/api/login',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n// 注册\nexport function register(data) {\n\treturn request({\n\t\turl: '/api/register',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n// 验证码\nexport function verify(data) {\n\t// type=register为注册\n\t// type=login为登录\n\treturn request({\n\t\turl: '/api/register/verify',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n// 获取用户信息\nexport function getUserInfo(data) {\n\treturn request({\n\t\turl: '/api/userinfo',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\n// 短信登录\nexport function loginMobile(data) {\n\treturn request({\n\t\turl: '/api/login/mobile',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n\n","import request from '@/utils/request'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// 微信code地址\nexport function wechatMpAuth(data) {\n\treturn request({\n\t\turl: '/api/wechat/mp_auth',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n","import store from '../store';\n//微信登录\n/**\n * @param {string} 当前页面地址信息\n */\nexport function loginWinxinMp() {\n\tlet pages = getCurrentPages();\n\t// 获取跳转前页面\n\tlet page = pages[pages.length - 2];\n\tlet queryUrl = '';\n\tfor (let key in page.options) {\n\t\tqueryUrl += key + '=' + page.options[key] + \"&\";\n\t}\n\t// 获取当页面路由地址\n\tlet path ='/' + page.route + '?' + queryUrl;\n\t// 保存跳转前页面\n\tuni.setStorageSync('present', path);\n\treturn new Promise(function (resolve,reject) {\n\t\twx.login({\n\t\t\tsuccess(e) {\n\t\t\t\tconsole.log(e);\n\t\t\t\tresolve(e)\n\t\t\t},\n\t\t\tfill:function (e) {\n\t\t\t\treject(e);\n\t\t\t}\n\t\t})\n\t})\n};\n","/*!\n * Vue.js v2.6.11\n * (c) 2014-2020 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n}\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._$fallback && initInjections(vm); // resolve injections before data/props \n initState(vm);\n !vm._$fallback && initProvide(vm); // resolve provide after data/props\n !vm._$fallback && callHook(vm, 'created'); \n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/**\n * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js\n */\nvar ARRAYTYPE = '[object Array]';\nvar OBJECTTYPE = '[object Object]';\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\r\n // vue-composition-api\r\n var rawBindings = vm.__secret_vfa_state__ && vm.__secret_vfa_state__.rawBindings;\r\n if (rawBindings) {\r\n Object.keys(rawBindings).forEach(function (key) {\r\n ret[key] = vm[key];\r\n });\r\n }\n \r\n //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据\r\n Object.assign(ret, vm.$mp.data || {});\r\n if (\r\n Array.isArray(vm.$options.behaviors) &&\r\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\r\n ) { //form-field\r\n ret['name'] = vm.name;\r\n ret['value'] = vm.value;\r\n }\r\n\r\n return JSON.parse(JSON.stringify(ret))\r\n}\r\n\r\nvar patch = function(oldVnode, vnode) {\n var this$1 = this;\n\r\n if (vnode === null) { //destroy\r\n return\r\n }\r\n if (this.mpType === 'page' || this.mpType === 'component') {\r\n var mpInstance = this.$scope;\r\n var data = Object.create(null);\r\n try {\r\n data = cloneWithData(this);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n data.__webviewId__ = mpInstance.data.__webviewId__;\r\n var mpData = Object.create(null);\r\n Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据\r\n mpData[key] = mpInstance.data[key];\r\n });\r\n var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);\r\n if (Object.keys(diffData).length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +\r\n ']差量更新',\r\n JSON.stringify(diffData));\r\n }\r\n this.__next_tick_pending = true;\r\n mpInstance.setData(diffData, function () {\r\n this$1.__next_tick_pending = false;\r\n flushCallbacks$1(this$1);\r\n });\r\n } else {\r\n flushCallbacks$1(this);\r\n }\r\n }\r\n};\n\n/* */\n\nfunction createEmptyRender() {\n\n}\n\nfunction mountComponent$1(\n vm,\n el,\n hydrating\n) {\n if (!vm.mpType) {//main.js 中的 new Vue\n return vm\n }\n if (vm.mpType === 'app') {\n vm.$options.render = createEmptyRender;\n }\n if (!vm.$options.render) {\n vm.$options.render = createEmptyRender;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n \n !vm._$fallback && callHook(vm, 'beforeMount');\n\n var updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before() {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n return vm\n}\n\n/* */\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/* */\r\n\r\nvar MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];\r\n\r\nfunction getTarget(obj, path) {\r\n var parts = path.split('.');\r\n var key = parts[0];\r\n if (key.indexOf('__$n') === 0) { //number index\r\n key = parseInt(key.replace('__$n', ''));\r\n }\r\n if (parts.length === 1) {\r\n return obj[key]\r\n }\r\n return getTarget(obj[key], parts.slice(1).join('.'))\r\n}\r\n\r\nfunction internalMixin(Vue) {\r\n\r\n Vue.config.errorHandler = function(err, vm, info) {\r\n Vue.util.warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n console.error(err);\r\n /* eslint-disable no-undef */\r\n var app = getApp();\r\n if (app && app.onError) {\r\n app.onError(err);\r\n }\r\n };\r\n\r\n var oldEmit = Vue.prototype.$emit;\r\n\r\n Vue.prototype.$emit = function(event) {\r\n if (this.$scope && event) {\r\n 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 'onPageNotFound',\n 'onThemeChange',\n 'onError',\n 'onUnhandledRejection',\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',\n 'onAddToFavorites',\n 'onShareTimeline',\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 request from '@/utils/request'\n\n// 获取轮播图\nexport function loadIndexs(data) {\n\treturn request({\n\t\turl: '/api/index',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n// 获取文章列表\nexport function bannerlist(data) {\n\treturn request({\n\t\turl: '/api/article/list/1',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n// 促销商品\nexport function groom4(data) {\n\treturn request({\n\t\turl: '/api/groom/list/4',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n// 精品推荐\nexport function groom1(data) {\n\treturn request({\n\t\turl: '/api/groom/list/1',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n// 新品首发\nexport function groom3(data) {\n\treturn request({\n\t\turl: '/api/groom/list/3',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\n\n// 获取我创建的圈子\nexport function myCreateCircle(data) {\n\treturn request({\n\t\turl: '/api/circle/mycreate',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n// 造血干细胞捐献\nexport function getList(data) {\n\treturn request({\n\t\turl: '/api/sign_cell',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n// 救护者页面获取参与人数 \nexport function getNumber(data) {\n\treturn request({\n\t\turl: '/api/get_rescuer',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\n// joinSec\nexport function joinSec(data) {\n\treturn request({\n\t\turl: '/api/add_volunteers ',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n// 获取定位\nexport function getdis (data) {\n\treturn request({\n\t\turl: '/api/getdis',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\nexport function tocall (data) {\n\treturn request({\n\t\turl: '/api/do_getdis',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\n// 求助记录 getsee\nexport function getseek(data) {\n\treturn request({\n\t\turl: '/api/seek',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\n// 救援记录 rescue\nexport function getrescue(data) {\n\treturn request({\n\t\turl: '/api/rescueee',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\nexport function change_rescue(data) {\n\treturn request({\n\t\turl: '/api/change_rescue',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\n\n","import message from './message.js';\n// 定义 type 类型:弹出类型:top/bottom/center\nconst config = {\n\t// 顶部弹出\n\ttop:'top',\n\t// 底部弹出\n\tbottom:'bottom',\n\t// 居中弹出\n\tcenter:'center',\n\t// 消息提示\n\tmessage:'top',\n\t// 对话框\n\tdialog:'center',\n\t// 分享\n\tshare:'bottom',\n}\n\nexport default {\n\tdata(){\n\t\treturn {\n\t\t\tconfig:config\n\t\t}\n\t},\n\tmixins: [message],\n}\n","export default {\n\tcreated() {\n\t\tif (this.type === 'message') {\n\t\t\t// 不显示遮罩\n\t\t\tthis.maskShow = false \n\t\t\t// 获取子组件对象\n\t\t\tthis.childrenMsg = null\n\t\t}\n\t},\n\tmethods: {\n\t\tcustomOpen() {\n\t\t\tif (this.childrenMsg) {\n\t\t\t\tthis.childrenMsg.open()\n\t\t\t}\n\t\t},\n\t\tcustomClose() {\n\t\t\tif (this.childrenMsg) {\n\t\t\t\tthis.childrenMsg.close()\n\t\t\t}\n\t\t}\n\t}\n}\n","import service from './newRequest.js'\nimport store from '../store';\nimport {\n\tsaveUrl,\n\tinterceptor\n} from '@/utils/loginUtils.js';\n// 请求完成后拦截\nservice.interceptors.response(\n\tresponse => {\n\t\ttry {\n\t\t\tlet res = response.data;\n\t\t\t// 解析字符串为数字\n\t\t\tif (res.status !== 200) {\n\t\t\t\tif (res.status == 410000) {\n\t\t\t\t\t// 存储当前地址\n\t\t\t\t\tsaveUrl()\n\t\t\t\t\t// 调用退出登录方法清空用户信息\n\t\t\t\t\tstore.commit('user/logout');\n\t\t\t\t\t// 判断是否开启强制登录\n\t\t\t\t\t// 跳转页面\n\t\t\t\t\tinterceptor()\n\t\t\t\t\tuni.showModal({\n\t\t\t\t\t\ttitle: \"您未登录!是否马上登录?\",\n\t\t\t\t\t\tsuccess: (e) => {\n\t\t\t\t\t\t\tif (e.confirm) {\n\t\t\t\t\t\t\t\t// 保存当前页面地址\n\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})\n\t\t\t\t} else {\n\t\t\t\t\tif(res.msg!='系统出现异常'){\n\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\ttitle: res.msg,\n\t\t\t\t\t\t\tduration: 1500,\n\t\t\t\t\t\t\tmask: false,\n\t\t\t\t\t\t\ticon: 'none',\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconsole.log(res);\n\t\t\t\t//return Promise.reject(new Error(res.msg || 'Error'))\n\t\t\t} else {\n\t\t\t\treturn res\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.log(e);\n\t\t}\n\t},\n\terror => {\n\t\tuni.showToast({\n\t\t\ttitle: \"加载错误请重试\",\n\t\t\tduration: 1500,\n\t\t\tmask: false,\n\t\t\ticon: 'none',\n\t\t})\n\t\treturn Promise.reject(error)\n\t}\n)\n\n// 请求前拦截器\nservice.interceptors.request(\n\tconfig => {\n\t\t// config.data.token = getToken();\n\t\t// console.log(config);\n\t\tlet token = uni.getStorageSync('token');\n\t\t// console.log(token);\n\t\tif (!config.header) {\n\t\t\tconfig.header = {\n\t\t\t\t\"Authori-zation\": 'Bearer ' + token,\n\t\t\t}\n\t\t} else {\n\t\t\t// 添加key请求头\n\t\t\tconfig.header[\"Authori-zation\"] = 'Bearer ' + token;\n\t\t}\n\t\treturn config\n\t},\n\terror => {\n\t\t// 错误处理\n\t\tconsole.log(error)\n\t\treturn Promise.reject(error)\n\t}\n)\nlet upFilse = service.upFilse;\nexport {\n\tupFilse\n};\nexport default service.open;\n","import store from '../store'\nlet service = {\n\tbaseURL: store.state.baseURL, // 请求头\n\theader: {\n\t\t'Content-Type': \"application/x-www-form-urlencoded\"\n\t},\n\t// 请求拦截器\n\tinterceptors: {\n\t\t// 安装请求前拦截\n\t\trequest: function(success, iserror) {\n\t\t\tservice.request.success = success;\n\t\t\tservice.request.error = iserror;\n\t\t},\n\t\t// 安装请求完成后拦截\n\t\tresponse: function(success, iserror) {\n\t\t\tservice.response.success = success;\n\t\t\tservice.response.error = iserror;\n\t\t}\n\t},\n\t// 请求前拦截\n\trequest: {\n\t\t// 回调成功执行方法\n\t\tsuccess: function(e) {\n\t\t\treturn e\n\t\t},\n\t\t// 回调失败\n\t\terror: function(e) {\n\t\t\treturn e\n\t\t}\n\t},\n\t// 请求完成后拦截\n\tresponse: {\n\t\t// 回调成功执行方法\n\t\tsuccess: function(e) {\n\t\t\treturn e\n\t\t},\n\t\t// 回调失败\n\t\terror: function(e) {\n\t\t\treturn e\n\t\t}\n\t},\n\t// 开始请求\n\topen: async function(data) {\n\t\treturn await new Promise(function(resolve, reject) {\n\t\t\tlet requestData = ''; //保存处理完成后请求数据\n\t\t\t//console.log(data);\n\t\t\t// 请求前数据处理\n\t\t\trequestData = service.request.success(data);\n\t\t\t// 保存请求地址;\n\t\t\tlet url;\n\t\t\tif (requestData.url.indexOf('http') > -1) {\n\t\t\t\turl = requestData.url\n\t\t\t} else {\n\t\t\t\turl = service.baseURL + requestData.url\n\t\t\t}\n\t\t\t// 数据复制用于请求\n\t\t\tuni.request({\n\t\t\t\turl: url,\n\t\t\t\tmethod: requestData.method || 'GET',\n\t\t\t\tdata: requestData.data,\n\t\t\t\theader: data.header || service.header,\n\t\t\t\tsuccess: res => {\n\t\t\t\t\tif (res.statusCode == 200) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresolve(service.response.success(res));\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tservice.response.error(e)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t},\n\t\t\t\t// 请求失败数据处理\n\t\t\t\tfail: (err) => {\n\t\t\t\t\tservice.response.error(err)\n\t\t\t\t}\n\t\t\t});\n\t\t})\n\t},\n\t// 上传文件\n\tupFilse: async function(data) {\n\t\treturn await new Promise(function(resolve, reject) {\n\t\t\tlet requestData = ''; //保存处理完成后请求数据\n\t\t\ttry {\n\t\t\t\t// 请求前数据处理\n\t\t\t\trequestData = service.request.success(data);\n\t\t\t} catch (e) {\n\t\t\t\t// 请求报错拦截\n\t\t\t\tservice.request.error(e);\n\t\t\t}\n\t\t\tlet config = {\n\t\t\t\t// 上传图片的API\n\t\t\t\tupload_img_url: service.baseURL + requestData.url\n\t\t\t}\n\n\t\t\tlet Uploader = {\n\t\t\t\t// 选择图片\n\t\t\t\tchoose(num) {\n\t\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t\tuni.chooseImage({\n\t\t\t\t\t\t\tcount: num,\n\t\t\t\t\t\t\tsourceType: ['album'],\n\t\t\t\t\t\t\tsizeType: ['compressed'],\n\t\t\t\t\t\t\tsuccess(res) {\n\t\t\t\t\t\t\t\t// console.log(res);\n\t\t\t\t\t\t\t\t// 缓存文件路径\n\t\t\t\t\t\t\t\tresolve(res.tempFilePaths)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tfail(err) {\n\t\t\t\t\t\t\t\tconsole.log(err)\n\t\t\t\t\t\t\t\treject(err)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\t// 上传图片\n\t\t\t\tupload_one(path) {\n\t\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t\tuni.showLoading({\n\t\t\t\t\t\t\ttitle: '上传中'\n\t\t\t\t\t\t})\n\t\t\t\t\t\tuni.uploadFile({\n\t\t\t\t\t\t\turl: config.upload_img_url, //仅为示例,非真实的接口地址\n\t\t\t\t\t\t\tfilePath: path,\n\t\t\t\t\t\t\tname: 'file',\n\t\t\t\t\t\t\theader: {\n\t\t\t\t\t\t\t\t\"Authori-zation\": 'Bearer ' + uni.getStorageSync('token')\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsuccess: (uploadFileRes) => {\n\t\t\t\t\t\t\t\tif (\"string\" === typeof uploadFileRes.data) {\n\t\t\t\t\t\t\t\t\tresolve(JSON.parse(uploadFileRes.data).data)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresolve(uploadFileRes.data.data)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcomplete() {\n\t\t\t\t\t\t\t\tuni.hideLoading()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\t// 上传多个图片\n\t\t\t\tupload(path_arr) {\n\t\t\t\t\tlet num = path_arr.length;\n\t\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\t\tlet img_urls = []\n\t\t\t\t\t\tfor (let i = 0; i < num; i++) {\n\t\t\t\t\t\t\tlet img_url = await this.upload_one(path_arr[i]);\n\t\t\t\t\t\t\timg_urls.push(img_url)\n\t\t\t\t\t\t};\n\t\t\t\t\t\tresolve(img_urls)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\t// 触发上传图片事件\n\t\t\t\tchoose_and_upload(num) {\n\t\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\t\t// 选择图片\n\t\t\t\t\t\tlet path_arr = await this.choose(num);\n\t\t\t\t\t\t// 上传图片\n\t\t\t\t\t\tawait this.upload(path_arr).then((e) => {\n\t\t\t\t\t\t\tresolve(e);\n\t\t\t\t\t\t}).catch((e) => {\n\t\t\t\t\t\t\treject(e)\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\tUploader.choose_and_upload(1).then((e) => {\n\t\t\t\tresolve(e);\n\t\t\t}).catch((e) => {\n\t\t\t\tconsole.log(e);\n\t\t\t})\n\t\t})\n\t},\n};\n\n\nexport default service\n","export default [\n {\n \"name\": \"北京市\",\n \"city\": [\n {\n \"name\": \"北京市\",\n \"area\": [\n \"东城区\",\n \"西城区\",\n \"崇文区\",\n \"宣武区\",\n \"朝阳区\",\n \"丰台区\",\n \"石景山区\",\n \"海淀区\",\n \"门头沟区\",\n \"房山区\",\n \"通州区\",\n \"顺义区\",\n \"昌平区\",\n \"大兴区\",\n \"平谷区\",\n \"怀柔区\",\n \"密云县\",\n \"延庆县\"\n ]\n }\n ]\n },\n {\n \"name\": \"天津市\",\n \"city\": [\n {\n \"name\": \"天津市\",\n \"area\": [\n \"和平区\",\n \"河东区\",\n \"河西区\",\n \"南开区\",\n \"河北区\",\n \"红桥区\",\n \"塘沽区\",\n \"汉沽区\",\n \"大港区\",\n \"东丽区\",\n \"西青区\",\n \"津南区\",\n \"北辰区\",\n \"武清区\",\n \"宝坻区\",\n \"宁河县\",\n \"静海县\",\n \"蓟 县\"\n ]\n }\n ]\n },\n {\n \"name\": \"河北省\",\n \"city\": [\n {\n \"name\": \"石家庄市\",\n \"area\": [\n \"长安区\",\n \"桥东区\",\n \"桥西区\",\n \"新华区\",\n \"郊 区\",\n \"井陉矿区\",\n \"井陉县\",\n \"正定县\",\n \"栾城县\",\n \"行唐县\",\n \"灵寿县\",\n \"高邑县\",\n \"深泽县\",\n \"赞皇县\",\n \"无极县\",\n \"平山县\",\n \"元氏县\",\n \"赵 县\",\n \"辛集市\",\n \"藁\",\n \"晋州市\",\n \"新乐市\",\n \"鹿泉市\"\n ]\n },\n {\n \"name\": \"唐山市\",\n \"area\": [\n \"路南区\",\n \"路北区\",\n \"古冶区\",\n \"开平区\",\n \"新 区\",\n \"丰润县\",\n \"滦 县\",\n \"滦南县\",\n \"乐亭县\",\n \"迁西县\",\n \"玉田县\",\n \"唐海县\",\n \"遵化市\",\n \"丰南市\",\n \"迁安市\"\n ]\n },\n {\n \"name\": \"秦皇岛市\",\n \"area\": [\n \"海港区\",\n \"山海关区\",\n \"北戴河区\",\n \"青龙满族自治县\",\n \"昌黎县\",\n \"抚宁县\",\n \"卢龙县\"\n ]\n },\n {\n \"name\": \"邯郸市\",\n \"area\": [\n \"邯山区\",\n \"丛台区\",\n \"复兴区\",\n \"峰峰矿区\",\n \"邯郸县\",\n \"临漳县\",\n \"成安县\",\n \"大名县\",\n \"涉 县\",\n \"磁 县\",\n \"肥乡县\",\n \"永年县\",\n \"邱 县\",\n \"鸡泽县\",\n \"广平县\",\n \"馆陶县\",\n \"魏 县\",\n \"曲周县\",\n \"武安市\"\n ]\n },\n {\n \"name\": \"邢台市\",\n \"area\": [\n \"桥东区\",\n \"桥西区\",\n \"邢台县\",\n \"临城县\",\n \"内丘县\",\n \"柏乡县\",\n \"隆尧县\",\n \"任 县\",\n \"南和县\",\n \"宁晋县\",\n \"巨鹿县\",\n \"新河县\",\n \"广宗县\",\n \"平乡县\",\n \"威 县\",\n \"清河县\",\n \"临西县\",\n \"南宫市\",\n \"沙河市\"\n ]\n },\n {\n \"name\": \"保定市\",\n \"area\": [\n \"新市区\",\n \"北市区\",\n \"南市区\",\n \"满城县\",\n \"清苑县\",\n \"涞水县\",\n \"阜平县\",\n \"徐水县\",\n \"定兴县\",\n \"唐 县\",\n \"高阳县\",\n \"容城县\",\n \"涞源县\",\n \"望都县\",\n \"安新县\",\n \"易 县\",\n \"曲阳县\",\n \"蠡 县\",\n \"顺平县\",\n \"博野\",\n \"雄县\",\n \"涿州市\",\n \"定州市\",\n \"安国市\",\n \"高碑店市\"\n ]\n },\n {\n \"name\": \"张家口\",\n \"area\": [\n \"桥东区\",\n \"桥西区\",\n \"宣化区\",\n \"下花园区\",\n \"宣化县\",\n \"张北县\",\n \"康保县\",\n \"沽源县\",\n \"尚义县\",\n \"蔚 县\",\n \"阳原县\",\n \"怀安县\",\n \"万全县\",\n \"怀来县\",\n \"涿鹿县\",\n \"赤城县\",\n \"崇礼县\"\n ]\n },\n {\n \"name\": \"承德市\",\n \"area\": [\n \"双桥区\",\n \"双滦区\",\n \"鹰手营子矿区\",\n \"承德县\",\n \"兴隆县\",\n \"平泉县\",\n \"滦平县\",\n \"隆化县\",\n \"丰宁满族自治县\",\n \"宽城满族自治县\",\n \"围场满族蒙古族自治县\"\n ]\n },\n {\n \"name\": \"沧州市\",\n \"area\": [\n \"新华区\",\n \"运河区\",\n \"沧 县\",\n \"青 县\",\n \"东光县\",\n \"海兴县\",\n \"盐山县\",\n \"肃宁县\",\n \"南皮县\",\n \"吴桥县\",\n \"献 县\",\n \"孟村回族自治县\",\n \"泊头市\",\n \"任丘市\",\n \"黄骅市\",\n \"河间市\"\n ]\n },\n {\n \"name\": \"廊坊市\",\n \"area\": [\n \"安次区\",\n \"固安县\",\n \"永清县\",\n \"香河县\",\n \"大城县\",\n \"文安县\",\n \"大厂回族自治县\",\n \"霸州市\",\n \"三河市\"\n ]\n },\n {\n \"name\": \"衡水市\",\n \"area\": [\n \"桃城区\",\n \"枣强县\",\n \"武邑县\",\n \"武强县\",\n \"饶阳县\",\n \"安平县\",\n \"故城县\",\n \"景 县\",\n \"阜城县\",\n \"冀州市\",\n \"深州市\"\n ]\n }\n ]\n },\n {\n \"name\": \"山西省\",\n \"city\": [\n {\n \"name\": \"太原市\",\n \"area\": [\n \"小店区\",\n \"迎泽区\",\n \"杏花岭区\",\n \"尖草坪区\",\n \"万柏林区\",\n \"晋源区\",\n \"清徐县\",\n \"阳曲县\",\n \"娄烦县\",\n \"古交市\"\n ]\n },\n {\n \"name\": \"大同市\",\n \"area\": [\n \"城 区\",\n \"矿 区\",\n \"南郊区\",\n \"新荣区\",\n \"阳高县\",\n \"天镇县\",\n \"广灵县\",\n \"灵丘县\",\n \"浑源县\",\n \"左云县\",\n \"大同县\"\n ]\n },\n {\n \"name\": \"阳泉市\",\n \"area\": [\n \"城 区\",\n \"矿 区\",\n \"郊 区\",\n \"平定县\",\n \"盂 县\"\n ]\n },\n {\n \"name\": \"长治市\",\n \"area\": [\n \"城 区\",\n \"郊 区\",\n \"长治县\",\n \"襄垣县\",\n \"屯留县\",\n \"平顺县\",\n \"黎城县\",\n \"壶关县\",\n \"长子县\",\n \"武乡县\",\n \"沁 县\",\n \"沁源县\",\n \"潞城市\"\n ]\n },\n {\n \"name\": \"晋城市\",\n \"area\": [\n \"城 区\",\n \"沁水县\",\n \"阳城县\",\n \"陵川县\",\n \"泽州县\",\n \"高平市\"\n ]\n },\n {\n \"name\": \"朔州市\",\n \"area\": [\n \"朔城区\",\n \"平鲁区\",\n \"山阴县\",\n \"应 县\",\n \"右玉县\",\n \"怀仁县\"\n ]\n },\n {\n \"name\": \"忻州市\",\n \"area\": [\n \"忻府区\",\n \"原平市\",\n \"定襄县\",\n \"五台县\",\n \"代 县\",\n \"繁峙县\",\n \"宁武县\",\n \"静乐县\",\n \"神池县\",\n \"五寨县\",\n \"岢岚县\",\n \"河曲县\",\n \"保德县\",\n \"偏关县\"\n ]\n },\n {\n \"name\": \"吕梁市\",\n \"area\": [\n \"离石区\",\n \"孝义市\",\n \"汾阳市\",\n \"文水县\",\n \"交城县\",\n \"兴 县\",\n \"临 县\",\n \"柳林县\",\n \"石楼县\",\n \"岚 县\",\n \"方山县\",\n \"中阳县\",\n \"交口县\"\n ]\n },\n {\n \"name\": \"晋中市\",\n \"area\": [\n \"榆次市\",\n \"介休市\",\n \"榆社县\",\n \"左权县\",\n \"和顺县\",\n \"昔阳县\",\n \"寿阳县\",\n \"太谷县\",\n \"祁 县\",\n \"平遥县\",\n \"灵石县\"\n ]\n },\n {\n \"name\": \"临汾市\",\n \"area\": [\n \"临汾市\",\n \"侯马市\",\n \"霍州市\",\n \"曲沃县\",\n \"翼城县\",\n \"襄汾县\",\n \"洪洞县\",\n \"古 县\",\n \"安泽县\",\n \"浮山县\",\n \"吉 县\",\n \"乡宁县\",\n \"蒲 县\",\n \"大宁县\",\n \"永和县\",\n \"隰 县\",\n \"汾西县\"\n ]\n },\n {\n \"name\": \"运城市\",\n \"area\": [\n \"运城市\",\n \"永济市\",\n \"河津市\",\n \"芮城县\",\n \"临猗县\",\n \"万荣县\",\n \"新绛县\",\n \"稷山县\",\n \"闻喜县\",\n \"夏 县\",\n \"绛 县\",\n \"平陆县\",\n \"垣曲县\"\n ]\n }\n ]\n },\n {\n \"name\": \"内蒙古\",\n \"city\": [\n {\n \"name\": \"呼和浩特市\",\n \"area\": [\n \"新城区\",\n \"回民区\",\n \"玉泉区\",\n \"郊 区\",\n \"土默特左旗\",\n \"托克托县\",\n \"和林格尔县\",\n \"清水河县\",\n \"武川县\"\n ]\n },\n {\n \"name\": \"包头市\",\n \"area\": [\n \"东河区\",\n \"昆都伦区\",\n \"青山区\",\n \"石拐矿区\",\n \"白云矿区\",\n \"郊 区\",\n \"土默特右旗\",\n \"固阳县\",\n \"达尔罕茂明安联合旗\"\n ]\n },\n {\n \"name\": \"乌海市\",\n \"area\": [\n \"海勃湾区\",\n \"海南区\",\n \"乌达区\"\n ]\n },\n {\n \"name\": \"赤峰市\",\n \"area\": [\n \"红山区\",\n \"元宝山区\",\n \"松山区\",\n \"阿鲁科尔沁旗\",\n \"巴林左旗\",\n \"巴林右旗\",\n \"林西县\",\n \"克什克腾旗\",\n \"翁牛特旗\",\n \"喀喇沁旗\",\n \"宁城县\",\n \"敖汉旗\"\n ]\n },\n {\n \"name\": \"呼伦贝尔市\",\n \"area\": [\n \"海拉尔市\",\n \"满洲里市\",\n \"扎兰屯市\",\n \"牙克石市\",\n \"根河市\",\n \"额尔古纳市\",\n \"阿荣旗\",\n \"莫力达瓦达斡尔族自治旗\",\n \"鄂伦春自治旗\",\n \"鄂温克族自治旗\",\n \"新巴尔虎右旗\",\n \"新巴尔虎左旗\",\n \"陈巴尔虎旗\"\n ]\n },\n {\n \"name\": \"兴安盟\",\n \"area\": [\n \"乌兰浩特市\",\n \"阿尔山市\",\n \"科尔沁右翼前旗\",\n \"科尔沁右翼中旗\",\n \"扎赉特旗\",\n \"突泉县\"\n ]\n },\n {\n \"name\": \"通辽市\",\n \"area\": [\n \"科尔沁区\",\n \"霍林郭勒市\",\n \"科尔沁左翼中旗\",\n \"科尔沁左翼后旗\",\n \"开鲁县\",\n \"库伦旗\",\n \"奈曼旗\",\n \"扎鲁特旗\"\n ]\n },\n {\n \"name\": \"锡林郭勒盟\",\n \"area\": [\n \"二连浩特市\",\n \"锡林浩特市\",\n \"阿巴嘎旗\",\n \"苏尼特左旗\",\n \"苏尼特右旗\",\n \"东乌珠穆沁旗\",\n \"西乌珠穆沁旗\",\n \"太仆寺旗\",\n \"镶黄旗\",\n \"正镶白旗\",\n \"正蓝旗\",\n \"多伦县\"\n ]\n },\n {\n \"name\": \"乌兰察布盟\",\n \"area\": [\n \"集宁市\",\n \"丰镇市\",\n \"卓资县\",\n \"化德县\",\n \"商都县\",\n \"兴和县\",\n \"凉城县\",\n \"察哈尔右翼前旗\",\n \"察哈尔右翼中旗\",\n \"察哈尔右翼后旗\",\n \"四子王旗\"\n ]\n },\n {\n \"name\": \"伊克昭盟\",\n \"area\": [\n \"东胜市\",\n \"达拉特旗\",\n \"准格尔旗\",\n \"鄂托克前旗\",\n \"鄂托克旗\",\n \"杭锦旗\",\n \"乌审旗\",\n \"伊金霍洛旗\"\n ]\n },\n {\n \"name\": \"巴彦淖尔盟\",\n \"area\": [\n \"临河市\",\n \"五原县\",\n \"磴口县\",\n \"乌拉特前旗\",\n \"乌拉特中旗\",\n \"乌拉特后旗\",\n \"杭锦后旗\"\n ]\n },\n {\n \"name\": \"阿拉善盟\",\n \"area\": [\n \"阿拉善左旗\",\n \"阿拉善右旗\",\n \"额济纳旗\"\n ]\n }\n ]\n },\n {\n \"name\": \"辽宁省\",\n \"city\": [\n {\n \"name\": \"沈阳市\",\n \"area\": [\n \"沈河区\",\n \"皇姑区\",\n \"和平区\",\n \"大东区\",\n \"铁西区\",\n \"苏家屯区\",\n \"东陵区\",\n \"于洪区\",\n \"新民市\",\n \"法库县\",\n \"辽中县\",\n \"康平县\",\n \"新城子区\"\n ]\n },\n {\n \"name\": \"大连市\",\n \"area\": [\n \"西岗区\",\n \"中山区\",\n \"沙河口区\",\n \"甘井子区\",\n \"旅顺口区\",\n \"金州区\",\n \"瓦房店市\",\n \"普兰店市\",\n \"庄河市\",\n \"长海县\"\n ]\n },\n {\n \"name\": \"鞍山市\",\n \"area\": [\n \"铁东区\",\n \"铁西区\",\n \"立山区\",\n \"千山区\",\n \"海城市\",\n \"台安县\",\n \"岫岩满族自治县\"\n ]\n },\n {\n \"name\": \"抚顺市\",\n \"area\": [\n \"顺城区\",\n \"新抚区\",\n \"东洲区\",\n \"望花区\",\n \"抚顺县\",\n \"清原满族自治县\",\n \"新宾满族自治县\"\n ]\n },\n {\n \"name\": \"本溪市\",\n \"area\": [\n \"平山区\",\n \"明山区\",\n \"溪湖区\",\n \"南芬区\",\n \"本溪满族自治县\",\n \"桓仁满族自治县\"\n ]\n },\n {\n \"name\": \"丹东市\",\n \"area\": [\n \"振兴区\",\n \"元宝区\",\n \"振安区\",\n \"东港市\",\n \"凤城市\",\n \"宽甸满族自治县\"\n ]\n },\n {\n \"name\": \"锦州市\",\n \"area\": [\n \"太和区\",\n \"古塔区\",\n \"凌河区\",\n \"凌海市\",\n \"黑山县\",\n \"义县\",\n \"北宁市\"\n ]\n },\n {\n \"name\": \"营口市\",\n \"area\": [\n \"站前区\",\n \"西市区\",\n \"鲅鱼圈区\",\n \"老边区\",\n \"大石桥市\",\n \"盖州市\"\n ]\n },\n {\n \"name\": \"阜新市\",\n \"area\": [\n \"海州区\",\n \"新邱区\",\n \"太平区\",\n \"清河门区\",\n \"细河区\",\n \"彰武县\",\n \"阜新蒙古族自治县\"\n ]\n },\n {\n \"name\": \"辽阳市\",\n \"area\": [\n \"白塔区\",\n \"文圣区\",\n \"宏伟区\",\n \"太子河区\",\n \"弓长岭区\",\n \"灯塔市\",\n \"辽阳县\"\n ]\n },\n {\n \"name\": \"盘锦\",\n \"area\": [\n \"双台子区\",\n \"兴隆台区\",\n \"盘山县\",\n \"大洼县\"\n ]\n },\n {\n \"name\": \"铁岭市\",\n \"area\": [\n \"银州区\",\n \"清河区\",\n \"调兵山市\",\n \"开原市\",\n \"铁岭县\",\n \"昌图县\",\n \"西丰县\"\n ]\n },\n {\n \"name\": \"朝阳市\",\n \"area\": [\n \"双塔区\",\n \"龙城区\",\n \"凌源市\",\n \"北票市\",\n \"朝阳县\",\n \"建平县\",\n \"喀喇沁左翼蒙古族自治县\"\n ]\n },\n {\n \"name\": \"葫芦岛市\",\n \"area\": [\n \"龙港区\",\n \"南票区\",\n \"连山区\",\n \"兴城市\",\n \"绥中县\",\n \"建昌县\"\n ]\n }\n ]\n },\n {\n \"name\": \"吉林省\",\n \"city\": [\n {\n \"name\": \"长春市\",\n \"area\": [\n \"朝阳区\",\n \"宽城区\",\n \"二道区\",\n \"南关区\",\n \"绿园区\",\n \"双阳区\",\n \"九台市\",\n \"榆树市\",\n \"德惠市\",\n \"农安县\"\n ]\n },\n {\n \"name\": \"吉林市\",\n \"area\": [\n \"船营区\",\n \"昌邑区\",\n \"龙潭区\",\n \"丰满区\",\n \"舒兰市\",\n \"桦甸市\",\n \"蛟河市\",\n \"磐石市\",\n \"永吉县\"\n ]\n },\n {\n \"name\": \"四平\",\n \"area\": [\n \"铁西区\",\n \"铁东区\",\n \"公主岭市\",\n \"双辽市\",\n \"梨树县\",\n \"伊通满族自治县\"\n ]\n },\n {\n \"name\": \"辽源市\",\n \"area\": [\n \"龙山区\",\n \"西安区\",\n \"东辽县\",\n \"东丰县\"\n ]\n },\n {\n \"name\": \"通化市\",\n \"area\": [\n \"东昌区\",\n \"二道江区\",\n \"梅河口市\",\n \"集安市\",\n \"通化县\",\n \"辉南县\",\n \"柳河县\"\n ]\n },\n {\n \"name\": \"白山市\",\n \"area\": [\n \"八道江区\",\n \"江源区\",\n \"临江市\",\n \"靖宇县\",\n \"抚松县\",\n \"长白朝鲜族自治县\"\n ]\n },\n {\n \"name\": \"松原市\",\n \"area\": [\n \"宁江区\",\n \"乾安县\",\n \"长岭县\",\n \"扶余县\",\n \"前郭尔罗斯蒙古族自治县\"\n ]\n },\n {\n \"name\": \"白城市\",\n \"area\": [\n \"洮北区\",\n \"大安市\",\n \"洮南市\",\n \"镇赉县\",\n \"通榆县\"\n ]\n },\n {\n \"name\": \"延边朝鲜族自治州\",\n \"area\": [\n \"延吉市\",\n \"图们市\",\n \"敦化市\",\n \"龙井市\",\n \"珲春市\",\n \"和龙市\",\n \"安图县\",\n \"汪清县\"\n ]\n }\n ]\n },\n {\n \"name\": \"黑龙江省\",\n \"city\": [\n {\n \"name\": \"哈尔滨市\",\n \"area\": [\n \"松北区\",\n \"道里区\",\n \"南岗区\",\n \"平房区\",\n \"香坊区\",\n \"道外区\",\n \"呼兰区\",\n \"阿城区\",\n \"双城市\",\n \"尚志市\",\n \"五常市\",\n \"宾县\",\n \"方正县\",\n \"通河县\",\n \"巴彦县\",\n \"延寿县\",\n \"木兰县\",\n \"依兰县\"\n ]\n },\n {\n \"name\": \"齐齐哈尔市\",\n \"area\": [\n \"龙沙区\",\n \"昂昂溪区\",\n \"铁锋区\",\n \"建华区\",\n \"富拉尔基区\",\n \"碾子山区\",\n \"梅里斯达斡尔族区\",\n \"讷河市\",\n \"富裕县\",\n \"拜泉县\",\n \"甘南县\",\n \"依安县\",\n \"克山县\",\n \"泰来县\",\n \"克东县\",\n \"龙江县\"\n ]\n },\n {\n \"name\": \"鹤岗市\",\n \"area\": [\n \"兴山区\",\n \"工农区\",\n \"南山区\",\n \"兴安区\",\n \"向阳区\",\n \"东山区\",\n \"萝北县\",\n \"绥滨县\"\n ]\n },\n {\n \"name\": \"双鸭山\",\n \"area\": [\n \"尖山区\",\n \"岭东区\",\n \"四方台区\",\n \"宝山区\",\n \"集贤县\",\n \"宝清县\",\n \"友谊县\",\n \"饶河县\"\n ]\n },\n {\n \"name\": \"鸡西市\",\n \"area\": [\n \"鸡冠区\",\n \"恒山区\",\n \"城子河区\",\n \"滴道区\",\n \"梨树区\",\n \"麻山区\",\n \"密山市\",\n \"虎林市\",\n \"鸡东县\"\n ]\n },\n {\n \"name\": \"大庆市\",\n \"area\": [\n \"萨尔图区\",\n \"红岗区\",\n \"龙凤区\",\n \"让胡路区\",\n \"大同区\",\n \"林甸县\",\n \"肇州县\",\n \"肇源县\",\n \"杜尔伯特蒙古族自治县\"\n ]\n },\n {\n \"name\": \"伊春市\",\n \"area\": [\n \"伊春区\",\n \"带岭区\",\n \"南岔区\",\n \"金山屯区\",\n \"西林区\",\n \"美溪区\",\n \"乌马河区\",\n \"翠峦区\",\n \"友好区\",\n \"上甘岭区\",\n \"五营区\",\n \"红星区\",\n \"新青区\",\n \"汤旺河区\",\n \"乌伊岭区\",\n \"铁力市\",\n \"嘉荫县\"\n ]\n },\n {\n \"name\": \"牡丹江市\",\n \"area\": [\n \"爱民区\",\n \"东安区\",\n \"阳明区\",\n \"西安区\",\n \"绥芬河市\",\n \"宁安市\",\n \"海林市\",\n \"穆棱市\",\n \"林口县\",\n \"东宁县\"\n ]\n },\n {\n \"name\": \"佳木斯市\",\n \"area\": [\n \"向阳区\",\n \"前进区\",\n \"东风区\",\n \"郊区\",\n \"同江市\",\n \"富锦市\",\n \"桦川县\",\n \"抚远县\",\n \"桦南县\",\n \"汤原县\"\n ]\n },\n {\n \"name\": \"七台河市\",\n \"area\": [\n \"桃山区\",\n \"新兴区\",\n \"茄子河区\",\n \"勃利县\"\n ]\n },\n {\n \"name\": \"黑河市\",\n \"area\": [\n \"爱辉区\",\n \"北安市\",\n \"五大连池市\",\n \"逊克县\",\n \"嫩江县\",\n \"孙吴县\"\n ]\n },\n {\n \"name\": \"绥化市\",\n \"area\": [\n \"北林区\",\n \"安达市\",\n \"肇东市\",\n \"海伦市\",\n \"绥棱县\",\n \"兰西县\",\n \"明水县\",\n \"青冈县\",\n \"庆安县\",\n \"望奎县\"\n ]\n },\n {\n \"name\": \"大兴安岭地区\",\n \"area\": [\n \"呼玛县\",\n \"塔河县\",\n \"漠河县\",\n \"大兴安岭辖区\"\n ]\n }\n ]\n },\n {\n \"name\": \"上海市\",\n \"city\": [\n {\n \"name\": \"上海市\",\n \"area\": [\n \"黄浦区\",\n \"卢湾区\",\n \"徐汇区\",\n \"长宁区\",\n \"静安区\",\n \"普陀区\",\n \"闸北区\",\n \"虹口区\",\n \"杨浦区\",\n \"宝山区\",\n \"闵行区\",\n \"嘉定区\",\n \"松江区\",\n \"金山区\",\n \"青浦区\",\n \"南汇区\",\n \"奉贤区\",\n \"浦东新区\",\n \"崇明县\"\n ]\n }\n ]\n },\n {\n \"name\": \"江苏省\",\n \"city\": [\n {\n \"name\": \"南京市\",\n \"area\": [\n \"玄武区\",\n \"白下区\",\n \"秦淮区\",\n \"建邺区\",\n \"鼓楼区\",\n \"下关区\",\n \"栖霞区\",\n \"雨花台区\",\n \"浦口区\",\n \"江宁区\",\n \"六合区\",\n \"溧水县\",\n \"高淳县\"\n ]\n },\n {\n \"name\": \"苏州市\",\n \"area\": [\n \"金阊区\",\n \"平江区\",\n \"沧浪区\",\n \"虎丘区\",\n \"吴中区\",\n \"相城区\",\n \"常熟市\",\n \"张家港市\",\n \"昆山市\",\n \"吴江市\",\n \"太仓市\"\n ]\n },\n {\n \"name\": \"无锡市\",\n \"area\": [\n \"崇安区\",\n \"南长区\",\n \"北塘区\",\n \"滨湖区\",\n \"锡山区\",\n \"惠山区\",\n \"江阴市\",\n \"宜兴市\"\n ]\n },\n {\n \"name\": \"常州市\",\n \"area\": [\n \"钟楼区\",\n \"天宁区\",\n \"戚墅堰区\",\n \"新北区\",\n \"武进区\",\n \"金坛市\",\n \"溧阳市\"\n ]\n },\n {\n \"name\": \"镇江市\",\n \"area\": [\n \"京口区\",\n \"润州区\",\n \"丹徒区\",\n \"丹阳市\",\n \"扬中市\",\n \"句容市\"\n ]\n },\n {\n \"name\": \"南通市\",\n \"area\": [\n \"崇川区\",\n \"港闸区\",\n \"通州市\",\n \"如皋市\",\n \"海门市\",\n \"启东市\",\n \"海安县\",\n \"如东县\"\n ]\n },\n {\n \"name\": \"泰州市\",\n \"area\": [\n \"海陵区\",\n \"高港区\",\n \"姜堰市\",\n \"泰兴市\",\n \"靖江市\",\n \"兴化市\"\n ]\n },\n {\n \"name\": \"扬州市\",\n \"area\": [\n \"广陵区\",\n \"维扬区\",\n \"邗江区\",\n \"江都市\",\n \"仪征市\",\n \"高邮市\",\n \"宝应县\"\n ]\n },\n {\n \"name\": \"盐城市\",\n \"area\": [\n \"亭湖区\",\n \"盐都区\",\n \"大丰市\",\n \"东台市\",\n \"建湖县\",\n \"射阳县\",\n \"阜宁县\",\n \"滨海县\",\n \"响水县\"\n ]\n },\n {\n \"name\": \"连云港市\",\n \"area\": [\n \"新浦区\",\n \"海州区\",\n \"连云区\",\n \"东海县\",\n \"灌云县\",\n \"赣榆县\",\n \"灌南县\"\n ]\n },\n {\n \"name\": \"徐州市\",\n \"area\": [\n \"云龙区\",\n \"鼓楼区\",\n \"九里区\",\n \"泉山区\",\n \"贾汪区\",\n \"邳州市\",\n \"新沂市\",\n \"铜山县\",\n \"睢宁县\",\n \"沛县\",\n \"丰县\"\n ]\n },\n {\n \"name\": \"淮安市\",\n \"area\": [\n \"清河区\",\n \"清浦区\",\n \"楚州区\",\n \"淮阴区\",\n \"涟水县\",\n \"洪泽县\",\n \"金湖县\",\n \"盱眙县\"\n ]\n },\n {\n \"name\": \"宿迁市\",\n \"area\": [\n \"宿城区\",\n \"宿豫区\",\n \"沭阳县\",\n \"泗阳县\",\n \"泗洪县\"\n ]\n }\n ]\n },\n {\n \"name\": \"浙江省\",\n \"city\": [\n {\n \"name\": \"杭州市\",\n \"area\": [\n \"拱墅区\",\n \"西湖区\",\n \"上城区\",\n \"下城区\",\n \"江干区\",\n \"滨江区\",\n \"余杭区\",\n \"萧山区\",\n \"建德市\",\n \"富阳市\",\n \"临安市\",\n \"桐庐县\",\n \"淳安县\"\n ]\n },\n {\n \"name\": \"宁波市\",\n \"area\": [\n \"海曙区\",\n \"江东区\",\n \"江北区\",\n \"镇海区\",\n \"北仑区\",\n \"鄞州区\",\n \"余姚市\",\n \"慈溪市\",\n \"奉化市\",\n \"宁海县\",\n \"象山县\"\n ]\n },\n {\n \"name\": \"温州市\",\n \"area\": [\n \"鹿城区\",\n \"龙湾区\",\n \"瓯海区\",\n \"瑞安市\",\n \"乐清市\",\n \"永嘉县\",\n \"洞头县\",\n \"平阳县\",\n \"苍南县\",\n \"文成县\",\n \"泰顺县\"\n ]\n },\n {\n \"name\": \"嘉兴市\",\n \"area\": [\n \"秀城区\",\n \"秀洲区\",\n \"海宁市\",\n \"平湖市\",\n \"桐乡市\",\n \"嘉善县\",\n \"海盐县\"\n ]\n },\n {\n \"name\": \"湖州市\",\n \"area\": [\n \"吴兴区\",\n \"南浔区\",\n \"长兴县\",\n \"德清县\",\n \"安吉县\"\n ]\n },\n {\n \"name\": \"绍兴市\",\n \"area\": [\n \"越城区\",\n \"诸暨市\",\n \"上虞市\",\n \"嵊州市\",\n \"绍兴县\",\n \"新昌县\"\n ]\n },\n {\n \"name\": \"金华市\",\n \"area\": [\n \"婺城区\",\n \"金东区\",\n \"兰溪市\",\n \"义乌市\",\n \"东阳市\",\n \"永康市\",\n \"武义县\",\n \"浦江县\",\n \"磐安县\"\n ]\n },\n {\n \"name\": \"衢州市\",\n \"area\": [\n \"柯城区\",\n \"衢江区\",\n \"江山市\",\n \"龙游县\",\n \"常山县\",\n \"开化县\"\n ]\n },\n {\n \"name\": \"舟山市\",\n \"area\": [\n \"定海区\",\n \"普陀区\",\n \"岱山县\",\n \"嵊泗县\"\n ]\n },\n {\n \"name\": \"台州市\",\n \"area\": [\n \"椒江区\",\n \"黄岩区\",\n \"路桥区\",\n \"临海市\",\n \"温岭市\",\n \"玉环县\",\n \"天台县\",\n \"仙居县\",\n \"三门县\"\n ]\n },\n {\n \"name\": \"丽水市\",\n \"area\": [\n \"莲都区\",\n \"龙泉市\",\n \"缙云县\",\n \"青田县\",\n \"云和县\",\n \"遂昌县\",\n \"松阳县\",\n \"庆元县\",\n \"景宁畲族自治县\"\n ]\n }\n ]\n },\n {\n \"name\": \"安徽省\",\n \"city\": [\n {\n \"name\": \"合肥市\",\n \"area\": [\n \"庐阳区\",\n \"瑶海区\",\n \"蜀山区\",\n \"包河区\",\n \"长丰县\",\n \"肥东县\",\n \"肥西县\"\n ]\n },\n {\n \"name\": \"芜湖市\",\n \"area\": [\n \"镜湖区\",\n \"弋江区\",\n \"鸠江区\",\n \"三山区\",\n \"芜湖县\",\n \"南陵县\",\n \"繁昌县\"\n ]\n },\n {\n \"name\": \"蚌埠市\",\n \"area\": [\n \"蚌山区\",\n \"龙子湖区\",\n \"禹会区\",\n \"淮上区\",\n \"怀远县\",\n \"固镇县\",\n \"五河县\"\n ]\n },\n {\n \"name\": \"淮南市\",\n \"area\": [\n \"田家庵区\",\n \"大通区\",\n \"谢家集区\",\n \"八公山区\",\n \"潘集区\",\n \"凤台县\"\n ]\n },\n {\n \"name\": \"马鞍山市\",\n \"area\": [\n \"雨山区\",\n \"花山区\",\n \"金家庄区\",\n \"当涂县\"\n ]\n },\n {\n \"name\": \"淮北市\",\n \"area\": [\n \"相山区\",\n \"杜集区\",\n \"烈山区\",\n \"濉溪县\"\n ]\n },\n {\n \"name\": \"铜陵市\",\n \"area\": [\n \"铜官山区\",\n \"狮子山区\",\n \"郊区\",\n \"铜陵县\"\n ]\n },\n {\n \"name\": \"安庆市\",\n \"area\": [\n \"迎江区\",\n \"大观区\",\n \"宜秀区\",\n \"桐城市\",\n \"宿松县\",\n \"枞阳县\",\n \"太湖县\",\n \"怀宁县\",\n \"岳西县\",\n \"望江县\",\n \"潜山县\"\n ]\n },\n {\n \"name\": \"黄山市\",\n \"area\": [\n \"屯溪区\",\n \"黄山区\",\n \"徽州区\",\n \"休宁县\",\n \"歙县\",\n \"祁门县\",\n \"黟县\"\n ]\n },\n {\n \"name\": \"滁州市\",\n \"area\": [\n \"琅琊区\",\n \"南谯区\",\n \"天长市\",\n \"明光市\",\n \"全椒县\",\n \"来安县\",\n \"定远县\",\n \"凤阳县\"\n ]\n },\n {\n \"name\": \"阜阳市\",\n \"area\": [\n \"颍州区\",\n \"颍东区\",\n \"颍泉区\",\n \"界首市\",\n \"临泉县\",\n \"颍上县\",\n \"阜南县\",\n \"太和县\"\n ]\n },\n {\n \"name\": \"宿州市\",\n \"area\": [\n \"埇桥区\",\n \"萧县\",\n \"泗县\",\n \"砀山县\",\n \"灵璧县\"\n ]\n },\n {\n \"name\": \"巢湖市\",\n \"area\": [\n \"居巢区\",\n \"含山县\",\n \"无为县\",\n \"庐江县\",\n \"和县\"\n ]\n },\n {\n \"name\": \"六安市\",\n \"area\": [\n \"金安区\",\n \"裕安区\",\n \"寿县\",\n \"霍山县\",\n \"霍邱县\",\n \"舒城县\",\n \"金寨县\"\n ]\n },\n {\n \"name\": \"亳州市\",\n \"area\": [\n \"谯城区\",\n \"利辛县\",\n \"涡阳县\",\n \"蒙城县\"\n ]\n },\n {\n \"name\": \"池州市\",\n \"area\": [\n \"贵池区\",\n \"东至县\",\n \"石台县\",\n \"青阳县\"\n ]\n },\n {\n \"name\": \"宣城市\",\n \"area\": [\n \"宣州区\",\n \"宁国市\",\n \"广德县\",\n \"郎溪县\",\n \"泾县\",\n \"旌德县\",\n \"绩溪县\"\n ]\n }\n ]\n },\n {\n \"name\": \"福建省\",\n \"city\": [\n {\n \"name\": \"福州市\",\n \"area\": [\n \"鼓楼区\",\n \"台江区\",\n \"仓山区\",\n \"马尾区\",\n \"晋安区\",\n \"福清市\",\n \"长乐市\",\n \"闽侯县\",\n \"闽清县\",\n \"永泰县\",\n \"连江县\",\n \"罗源县\",\n \"平潭县\"\n ]\n },\n {\n \"name\": \"厦门市\",\n \"area\": [\n \"思明区\",\n \"海沧区\",\n \"湖里区\",\n \"集美区\",\n \"同安区\",\n \"翔安区\"\n ]\n },\n {\n \"name\": \"莆田市\",\n \"area\": [\n \"城厢区\",\n \"涵江区\",\n \"荔城区\",\n \"秀屿区\",\n \"仙游县\"\n ]\n },\n {\n \"name\": \"三明市\",\n \"area\": [\n \"梅列区\",\n \"三元区\",\n \"永安市\",\n \"明溪县\",\n \"将乐县\",\n \"大田县\",\n \"宁化县\",\n \"建宁县\",\n \"沙县\",\n \"尤溪县\",\n \"清流县\",\n \"泰宁县\"\n ]\n },\n {\n \"name\": \"泉州市\",\n \"area\": [\n \"鲤城区\",\n \"丰泽区\",\n \"洛江区\",\n \"泉港区\",\n \"石狮市\",\n \"晋江市\",\n \"南安市\",\n \"惠安县\",\n \"永春县\",\n \"安溪县\",\n \"德化县\",\n \"金门县\"\n ]\n },\n {\n \"name\": \"漳州市\",\n \"area\": [\n \"芗城区\",\n \"龙文区\",\n \"龙海市\",\n \"平和县\",\n \"南靖县\",\n \"诏安县\",\n \"漳浦县\",\n \"华安县\",\n \"东山县\",\n \"长泰县\",\n \"云霄县\"\n ]\n },\n {\n \"name\": \"南平市\",\n \"area\": [\n \"延平区\",\n \"建瓯市\",\n \"邵武市\",\n \"武夷山市\",\n \"建阳市\",\n \"松溪县\",\n \"光泽县\",\n \"顺昌县\",\n \"浦城县\",\n \"政和县\"\n ]\n },\n {\n \"name\": \"龙岩市\",\n \"area\": [\n \"新罗区\",\n \"漳平市\",\n \"长汀县\",\n \"武平县\",\n \"上杭县\",\n \"永定县\",\n \"连城县\"\n ]\n },\n {\n \"name\": \"宁德市\",\n \"area\": [\n \"蕉城区\",\n \"福安市\",\n \"福鼎市\",\n \"寿宁县\",\n \"霞浦县\",\n \"柘荣县\",\n \"屏南县\",\n \"古田县\",\n \"周宁县\"\n ]\n }\n ]\n },\n {\n \"name\": \"江西省\",\n \"city\": [\n {\n \"name\": \"南昌市\",\n \"area\": [\n \"东湖区\",\n \"西湖区\",\n \"青云谱区\",\n \"湾里区\",\n \"青山湖区\",\n \"新建县\",\n \"南昌县\",\n \"进贤县\",\n \"安义县\"\n ]\n },\n {\n \"name\": \"景德镇市\",\n \"area\": [\n \"珠山区\",\n \"昌江区\",\n \"乐平市\",\n \"浮梁县\"\n ]\n },\n {\n \"name\": \"萍乡市\",\n \"area\": [\n \"安源区\",\n \"湘东区\",\n \"莲花县\",\n \"上栗县\",\n \"芦溪县\"\n ]\n },\n {\n \"name\": \"九江市\",\n \"area\": [\n \"浔阳区\",\n \"庐山区\",\n \"瑞昌市\",\n \"九江县\",\n \"星子县\",\n \"武宁县\",\n \"彭泽县\",\n \"永修县\",\n \"修水县\",\n \"湖口县\",\n \"德安县\",\n \"都昌县\"\n ]\n },\n {\n \"name\": \"新余市\",\n \"area\": [\n \"渝水区\",\n \"分宜县\"\n ]\n },\n {\n \"name\": \"鹰潭市\",\n \"area\": [\n \"月湖区\",\n \"贵溪市\",\n \"余江县\"\n ]\n },\n {\n \"name\": \"赣州市\",\n \"area\": [\n \"章贡区\",\n \"瑞金市\",\n \"南康市\",\n \"石城县\",\n \"安远县\",\n \"赣县\",\n \"宁都县\",\n \"寻乌县\",\n \"兴国县\",\n \"定南县\",\n \"上犹县\",\n \"于都县\",\n \"龙南县\",\n \"崇义县\",\n \"信丰县\",\n \"全南县\",\n \"大余县\",\n \"会昌县\"\n ]\n },\n {\n \"name\": \"吉安市\",\n \"area\": [\n \"吉州区\",\n \"青原区\",\n \"井冈山市\",\n \"吉安县\",\n \"永丰县\",\n \"永新县\",\n \"新干县\",\n \"泰和县\",\n \"峡江县\",\n \"遂川县\",\n \"安福县\",\n \"吉水县\",\n \"万安县\"\n ]\n },\n {\n \"name\": \"宜春市\",\n \"area\": [\n \"袁州区\",\n \"丰城市\",\n \"樟树市\",\n \"高安市\",\n \"铜鼓县\",\n \"靖安县\",\n \"宜丰县\",\n \"奉新县\",\n \"万载县\",\n \"上高县\"\n ]\n },\n {\n \"name\": \"抚州市\",\n \"area\": [\n \"临川区\",\n \"南丰县\",\n \"乐安县\",\n \"金溪县\",\n \"南城县\",\n \"东乡县\",\n \"资溪县\",\n \"宜黄县\",\n \"广昌县\",\n \"黎川县\",\n \"崇仁县\"\n ]\n },\n {\n \"name\": \"上饶市\",\n \"area\": [\n \"信州区\",\n \"德兴市\",\n \"上饶县\",\n \"广丰县\",\n \"鄱阳县\",\n \"婺源县\",\n \"铅山县\",\n \"余干县\",\n \"横峰县\",\n \"弋阳县\",\n \"玉山县\",\n \"万年县\"\n ]\n }\n ]\n },\n {\n \"name\": \"山东省\",\n \"city\": [\n {\n \"name\": \"济南市\",\n \"area\": [\n \"市中区\",\n \"历下区\",\n \"天桥区\",\n \"槐荫区\",\n \"历城区\",\n \"长清区\",\n \"章丘市\",\n \"平阴县\",\n \"济阳县\",\n \"商河县\"\n ]\n },\n {\n \"name\": \"青岛市\",\n \"area\": [\n \"市南区\",\n \"市北区\",\n \"城阳区\",\n \"四方区\",\n \"李沧区\",\n \"黄岛区\",\n \"崂山区\",\n \"胶南市\",\n \"胶州市\",\n \"平度市\",\n \"莱西市\",\n \"即墨市\"\n ]\n },\n {\n \"name\": \"淄博市\",\n \"area\": [\n \"张店区\",\n \"临淄区\",\n \"淄川区\",\n \"博山区\",\n \"周村区\",\n \"桓台县\",\n \"高青县\",\n \"沂源县\"\n ]\n },\n {\n \"name\": \"枣庄市\",\n \"area\": [\n \"市中区\",\n \"山亭区\",\n \"峄城区\",\n \"台儿庄区\",\n \"薛城区\",\n \"滕州市\"\n ]\n },\n {\n \"name\": \"东营市\",\n \"area\": [\n \"东营区\",\n \"河口区\",\n \"垦利县\",\n \"广饶县\",\n \"利津县\"\n ]\n },\n {\n \"name\": \"烟台市\",\n \"area\": [\n \"芝罘区\",\n \"福山区\",\n \"牟平区\",\n \"莱山区\",\n \"龙口市\",\n \"莱阳市\",\n \"莱州市\",\n \"招远市\",\n \"蓬莱市\",\n \"栖霞市\",\n \"海阳市\",\n \"长岛县\"\n ]\n },\n {\n \"name\": \"潍坊市\",\n \"area\": [\n \"潍城区\",\n \"寒亭区\",\n \"坊子区\",\n \"奎文区\",\n \"青州市\",\n \"诸城市\",\n \"寿光市\",\n \"安丘市\",\n \"高密市\",\n \"昌邑市\",\n \"昌乐县\",\n \"临朐县\"\n ]\n },\n {\n \"name\": \"济宁市\",\n \"area\": [\n \"市中区\",\n \"任城区\",\n \"曲阜市\",\n \"兖州市\",\n \"邹城市\",\n \"鱼台县\",\n \"金乡县\",\n \"嘉祥县\",\n \"微山县\",\n \"汶上县\",\n \"泗水县\",\n \"梁山县\"\n ]\n },\n {\n \"name\": \"泰安市\",\n \"area\": [\n \"泰山区\",\n \"岱岳区\",\n \"新泰市\",\n \"肥城市\",\n \"宁阳县\",\n \"东平县\"\n ]\n },\n {\n \"name\": \"威海市\",\n \"area\": [\n \"环翠区\",\n \"乳山市\",\n \"文登市\",\n \"荣成市\"\n ]\n },\n {\n \"name\": \"日照市\",\n \"area\": [\n \"东港区\",\n \"岚山区\",\n \"五莲县\",\n \"莒县\"\n ]\n },\n {\n \"name\": \"莱芜市\",\n \"area\": [\n \"莱城区\",\n \"钢城区\"\n ]\n },\n {\n \"name\": \"临沂市\",\n \"area\": [\n \"兰山区\",\n \"罗庄区\",\n \"河东区\",\n \"沂南县\",\n \"郯城县\",\n \"沂水县\",\n \"苍山县\",\n \"费县\",\n \"平邑县\",\n \"莒南县\",\n \"蒙阴县\",\n \"临沭县\"\n ]\n },\n {\n \"name\": \"德州市\",\n \"area\": [\n \"德城区\",\n \"乐陵市\",\n \"禹城市\",\n \"陵县\",\n \"宁津县\",\n \"齐河县\",\n \"武城县\",\n \"庆云县\",\n \"平原县\",\n \"夏津县\",\n \"临邑县\"\n ]\n },\n {\n \"name\": \"聊城市\",\n \"area\": [\n \"东昌府区\",\n \"临清市\",\n \"高唐县\",\n \"阳谷县\",\n \"茌平县\",\n \"莘县\",\n \"东阿县\",\n \"冠县\"\n ]\n },\n {\n \"name\": \"滨州市\",\n \"area\": [\n \"滨城区\",\n \"邹平县\",\n \"沾化县\",\n \"惠民县\",\n \"博兴县\",\n \"阳信县\",\n \"无棣县\"\n ]\n },\n {\n \"name\": \"菏泽市\",\n \"area\": [\n \"牡丹区\",\n \"鄄城县\",\n \"单县\",\n \"郓城县\",\n \"曹县\",\n \"定陶县\",\n \"巨野县\",\n \"东明县\",\n \"成武县\"\n ]\n }\n ]\n },\n {\n \"name\": \"河南省\",\n \"city\": [\n {\n \"name\": \"郑州市\",\n \"area\": [\n \"中原区\",\n \"金水区\",\n \"二七区\",\n \"管城回族区\",\n \"上街区\",\n \"惠济区\",\n \"巩义市\",\n \"新郑市\",\n \"新密市\",\n \"登封市\",\n \"荥阳市\",\n \"中牟县\"\n ]\n },\n {\n \"name\": \"开封市\",\n \"area\": [\n \"鼓楼区\",\n \"龙亭区\",\n \"顺河回族区\",\n \"禹王台区\",\n \"金明区\",\n \"开封县\",\n \"尉氏县\",\n \"兰考县\",\n \"杞县\",\n \"通许县\"\n ]\n },\n {\n \"name\": \"洛阳市\",\n \"area\": [\n \"西工区\",\n \"老城区\",\n \"涧西区\",\n \"瀍河回族区\",\n \"洛龙区\",\n \"吉利区\",\n \"偃师市\",\n \"孟津县\",\n \"汝阳县\",\n \"伊川县\",\n \"洛宁县\",\n \"嵩县\",\n \"宜阳县\",\n \"新安县\",\n \"栾川县\"\n ]\n },\n {\n \"name\": \"平顶山市\",\n \"area\": [\n \"新华区\",\n \"卫东区\",\n \"湛河区\",\n \"石龙区\",\n \"汝州市\",\n \"舞钢市\",\n \"宝丰县\",\n \"叶县\",\n \"郏县\",\n \"鲁山县\"\n ]\n },\n {\n \"name\": \"安阳市\",\n \"area\": [\n \"北关区\",\n \"文峰区\",\n \"殷都区\",\n \"龙安区\",\n \"林州市\",\n \"安阳县\",\n \"滑县\",\n \"内黄县\",\n \"汤阴县\"\n ]\n },\n {\n \"name\": \"鹤壁市\",\n \"area\": [\n \"淇滨区\",\n \"山城区\",\n \"鹤山区\",\n \"浚县\",\n \"淇县\"\n ]\n },\n {\n \"name\": \"新乡市\",\n \"area\": [\n \"卫滨区\",\n \"红旗区\",\n \"凤泉区\",\n \"牧野区\",\n \"卫辉市\",\n \"辉县市\",\n \"新乡县\",\n \"获嘉县\",\n \"原阳县\",\n \"长垣县\",\n \"封丘县\",\n \"延津县\"\n ]\n },\n {\n \"name\": \"焦作市\",\n \"area\": [\n \"解放区\",\n \"中站区\",\n \"马村区\",\n \"山阳区\",\n \"沁阳市\",\n \"孟州市\",\n \"修武县\",\n \"温县\",\n \"武陟县\",\n \"博爱县\"\n ]\n },\n {\n \"name\": \"濮阳市\",\n \"area\": [\n \"华龙区\",\n \"濮阳县\",\n \"南乐县\",\n \"台前县\",\n \"清丰县\",\n \"范县\"\n ]\n },\n {\n \"name\": \"许昌市\",\n \"area\": [\n \"魏都区\",\n \"禹州市\",\n \"长葛市\",\n \"许昌县\",\n \"鄢陵县\",\n \"襄城县\"\n ]\n },\n {\n \"name\": \"漯河市\",\n \"area\": [\n \"源汇区\",\n \"郾城区\",\n \"召陵区\",\n \"临颍县\",\n \"舞阳县\"\n ]\n },\n {\n \"name\": \"三门峡市\",\n \"area\": [\n \"湖滨区\",\n \"义马市\",\n \"灵宝市\",\n \"渑池县\",\n \"卢氏县\",\n \"陕县\"\n ]\n },\n {\n \"name\": \"南阳市\",\n \"area\": [\n \"卧龙区\",\n \"宛城区\",\n \"邓州市\",\n \"桐柏县\",\n \"方城县\",\n \"淅川县\",\n \"镇平县\",\n \"唐河县\",\n \"南召县\",\n \"内乡县\",\n \"新野县\",\n \"社旗县\",\n \"西峡县\"\n ]\n },\n {\n \"name\": \"商丘市\",\n \"area\": [\n \"梁园区\",\n \"睢阳区\",\n \"永城市\",\n \"宁陵县\",\n \"虞城县\",\n \"民权县\",\n \"夏邑县\",\n \"柘城县\",\n \"睢县\"\n ]\n },\n {\n \"name\": \"信阳市\",\n \"area\": [\n \"浉河区\",\n \"平桥区\",\n \"潢川县\",\n \"淮滨县\",\n \"息县\",\n \"新县\",\n \"商城县\",\n \"固始县\",\n \"罗山县\",\n \"光山县\"\n ]\n },\n {\n \"name\": \"周口市\",\n \"area\": [\n \"川汇区\",\n \"项城市\",\n \"商水县\",\n \"淮阳县\",\n \"太康县\",\n \"鹿邑县\",\n \"西华县\",\n \"扶沟县\",\n \"沈丘县\",\n \"郸城县\"\n ]\n },\n {\n \"name\": \"驻马店市\",\n \"area\": [\n \"驿城区\",\n \"确山县\",\n \"新蔡县\",\n \"上蔡县\",\n \"西平县\",\n \"泌阳县\",\n \"平舆县\",\n \"汝南县\",\n \"遂平县\",\n \"正阳县\"\n ]\n },\n {\n \"name\": \"焦作市\",\n \"area\": [\n \"济源市\"\n ]\n }\n ]\n },\n {\n \"name\": \"湖北省\",\n \"city\": [\n {\n \"name\": \"武汉市\",\n \"area\": [\n \"江岸区\",\n \"武昌区\",\n \"江汉区\",\n \"硚口区\",\n \"汉阳区\",\n \"青山区\",\n \"洪山区\",\n \"东西湖区\",\n \"汉南区\",\n \"蔡甸区\",\n \"江夏区\",\n \"黄陂区\",\n \"新洲区\"\n ]\n },\n {\n \"name\": \"黄石市\",\n \"area\": [\n \"黄石港区\",\n \"西塞山区\",\n \"下陆区\",\n \"铁山区\",\n \"大冶市\",\n \"阳新县\"\n ]\n },\n {\n \"name\": \"十堰市\",\n \"area\": [\n \"张湾区\",\n \"茅箭区\",\n \"丹江口市\",\n \"郧县\",\n \"竹山县\",\n \"房县\",\n \"郧西县\",\n \"竹溪县\"\n ]\n },\n {\n \"name\": \"荆州市\",\n \"area\": [\n \"沙市区\",\n \"荆州区\",\n \"洪湖市\",\n \"石首市\",\n \"松滋市\",\n \"监利县\",\n \"公安县\",\n \"江陵县\"\n ]\n },\n {\n \"name\": \"宜昌市\",\n \"area\": [\n \"西陵区\",\n \"伍家岗区\",\n \"点军区\",\n \"猇亭区\",\n \"夷陵区\",\n \"宜都市\",\n \"当阳市\",\n \"枝江市\",\n \"秭归县\",\n \"远安县\",\n \"兴山县\",\n \"五峰土家族自治县\",\n \"长阳土家族自治县\"\n ]\n },\n {\n \"name\": \"襄樊市\",\n \"area\": [\n \"襄城区\",\n \"樊城区\",\n \"襄阳区\",\n \"老河口市\",\n \"枣阳市\",\n \"宜城市\",\n \"南漳县\",\n \"谷城县\",\n \"保康县\"\n ]\n },\n {\n \"name\": \"鄂州市\",\n \"area\": [\n \"鄂城区\",\n \"华容区\",\n \"梁子湖区\"\n ]\n },\n {\n \"name\": \"荆门市\",\n \"area\": [\n \"东宝区\",\n \"掇刀区\",\n \"钟祥市\",\n \"京山县\",\n \"沙洋县\"\n ]\n },\n {\n \"name\": \"孝感市\",\n \"area\": [\n \"孝南区\",\n \"应城市\",\n \"安陆市\",\n \"汉川市\",\n \"云梦县\",\n \"大悟县\",\n \"孝昌县\"\n ]\n },\n {\n \"name\": \"黄冈市\",\n \"area\": [\n \"黄州区\",\n \"麻城市\",\n \"武穴市\",\n \"红安县\",\n \"罗田县\",\n \"浠水县\",\n \"蕲春县\",\n \"黄梅县\",\n \"英山县\",\n \"团风县\"\n ]\n },\n {\n \"name\": \"咸宁市\",\n \"area\": [\n \"咸安区\",\n \"赤壁市\",\n \"嘉鱼县\",\n \"通山县\",\n \"崇阳县\",\n \"通城县\"\n ]\n },\n {\n \"name\": \"随州市\",\n \"area\": [\n \"曾都区\",\n \"广水市\"\n ]\n },\n {\n \"name\": \"恩施土家族苗族自治州\",\n \"area\": [\n \"恩施市\",\n \"利川市\",\n \"建始县\",\n \"来凤县\",\n \"巴东县\",\n \"鹤峰县\",\n \"宣恩县\",\n \"咸丰县\"\n ]\n },\n {\n \"name\": \"仙桃市\",\n \"area\": [\n \"仙桃\"\n ]\n },\n {\n \"name\": \"天门市\",\n \"area\": [\n \"天门\"\n ]\n },\n {\n \"name\": \"潜江市\",\n \"area\": [\n \"潜江\"\n ]\n },\n {\n \"name\": \"神农架林区\",\n \"area\": [\n \"神农架林区\"\n ]\n }\n ]\n },\n {\n \"name\": \"湖南省\",\n \"city\": [\n {\n \"name\": \"长沙市\",\n \"area\": [\n \"岳麓区\",\n \"芙蓉区\",\n \"天心区\",\n \"开福区\",\n \"雨花区\",\n \"浏阳市\",\n \"长沙县\",\n \"望城县\",\n \"宁乡县\"\n ]\n },\n {\n \"name\": \"株洲市\",\n \"area\": [\n \"天元区\",\n \"荷塘区\",\n \"芦淞区\",\n \"石峰区\",\n \"醴陵市\",\n \"株洲县\",\n \"炎陵县\",\n \"茶陵县\",\n \"攸县\"\n ]\n },\n {\n \"name\": \"湘潭市\",\n \"area\": [\n \"岳塘区\",\n \"雨湖区\",\n \"湘乡市\",\n \"韶山市\",\n \"湘潭县\"\n ]\n },\n {\n \"name\": \"衡阳市\",\n \"area\": [\n \"雁峰区\",\n \"珠晖区\",\n \"石鼓区\",\n \"蒸湘区\",\n \"南岳区\",\n \"耒阳市\",\n \"常宁市\",\n \"衡阳县\",\n \"衡东县\",\n \"衡山县\",\n \"衡南县\",\n \"祁东县\"\n ]\n },\n {\n \"name\": \"邵阳市\",\n \"area\": [\n \"双清区\",\n \"大祥区\",\n \"北塔区\",\n \"武冈市\",\n \"邵东县\",\n \"洞口县\",\n \"新邵县\",\n \"绥宁县\",\n \"新宁县\",\n \"邵阳县\",\n \"隆回县\",\n \"城步苗族自治县\"\n ]\n },\n {\n \"name\": \"岳阳市\",\n \"area\": [\n \"岳阳楼区\",\n \"云溪区\",\n \"君山区\",\n \"临湘市\",\n \"汨罗市\",\n \"岳阳县\",\n \"湘阴县\",\n \"平江县\",\n \"华容县\"\n ]\n },\n {\n \"name\": \"常德市\",\n \"area\": [\n \"武陵区\",\n \"鼎城区\",\n \"津市市\",\n \"澧县\",\n \"临澧县\",\n \"桃源县\",\n \"汉寿县\",\n \"安乡县\",\n \"石门县\"\n ]\n },\n {\n \"name\": \"张家界市\",\n \"area\": [\n \"永定区\",\n \"武陵源区\",\n \"慈利县\",\n \"桑植县\"\n ]\n },\n {\n \"name\": \"益阳市\",\n \"area\": [\n \"赫山区\",\n \"资阳区\",\n \"沅江市\",\n \"桃江县\",\n \"南县\",\n \"安化县\"\n ]\n },\n {\n \"name\": \"郴州市\",\n \"area\": [\n \"北湖区\",\n \"苏仙区\",\n \"资兴市\",\n \"宜章县\",\n \"汝城县\",\n \"安仁县\",\n \"嘉禾县\",\n \"临武县\",\n \"桂东县\",\n \"永兴县\",\n \"桂阳县\"\n ]\n },\n {\n \"name\": \"永州市\",\n \"area\": [\n \"冷水滩区\",\n \"零陵区\",\n \"祁阳县\",\n \"蓝山县\",\n \"宁远县\",\n \"新田县\",\n \"东安县\",\n \"江永县\",\n \"道县\",\n \"双牌县\",\n \"江华瑶族自治县\"\n ]\n },\n {\n \"name\": \"怀化市\",\n \"area\": [\n \"鹤城区\",\n \"洪江市\",\n \"会同县\",\n \"沅陵县\",\n \"辰溪县\",\n \"溆浦县\",\n \"中方县\",\n \"新晃侗族自治县\",\n \"芷江侗族自治县\",\n \"通道侗族自治县\",\n \"靖州苗族侗族自治县\",\n \"麻阳苗族自治县\"\n ]\n },\n {\n \"name\": \"娄底市\",\n \"area\": [\n \"娄星区\",\n \"冷水江市\",\n \"涟源市\",\n \"新化县\",\n \"双峰县\"\n ]\n },\n {\n \"name\": \"湘西土家族苗族自治州\",\n \"area\": [\n \"吉首市\",\n \"古丈县\",\n \"龙山县\",\n \"永顺县\",\n \"凤凰县\",\n \"泸溪县\",\n \"保靖县\",\n \"花垣县\"\n ]\n }\n ]\n },\n {\n \"name\": \"广东省\",\n \"city\": [\n {\n \"name\": \"广州市\",\n \"area\": [\n \"越秀区\",\n \"荔湾区\",\n \"海珠区\",\n \"天河区\",\n \"白云区\",\n \"黄埔区\",\n \"番禺区\",\n \"花都区\",\n \"南沙区\",\n \"萝岗区\",\n \"增城市\",\n \"从化市\"\n ]\n },\n {\n \"name\": \"深圳市\",\n \"area\": [\n \"福田区\",\n \"罗湖区\",\n \"南山区\",\n \"宝安区\",\n \"龙岗区\",\n \"盐田区\"\n ]\n },\n {\n \"name\": \"东莞市\",\n \"area\": [\n \"莞城\",\n \"常平\",\n \"塘厦\",\n \"塘厦\",\n \"塘厦\"\n ]\n },\n {\n \"name\": \"中山市\",\n \"area\": [\n \"中山\"\n ]\n },\n {\n \"name\": \"潮州市\",\n \"area\": [\n \"湘桥区\",\n \"潮安县\",\n \"饶平县\"\n ]\n },\n {\n \"name\": \"揭阳市\",\n \"area\": [\n \"榕城区\",\n \"揭东县\",\n \"揭西县\",\n \"惠来县\",\n \"普宁市\"\n ]\n },\n {\n \"name\": \"云浮市\",\n \"area\": [\n \"云城区\",\n \"新兴县\",\n \"郁南县\",\n \"云安县\",\n \"罗定市\"\n ]\n },\n {\n \"name\": \"珠海市\",\n \"area\": [\n \"香洲区\",\n \"斗门区\",\n \"金湾区\"\n ]\n },\n {\n \"name\": \"汕头市\",\n \"area\": [\n \"金平区\",\n \"濠江区\",\n \"龙湖区\",\n \"潮阳区\",\n \"潮南区\",\n \"澄海区\",\n \"南澳县\"\n ]\n },\n {\n \"name\": \"韶关市\",\n \"area\": [\n \"浈江区\",\n \"武江区\",\n \"曲江区\",\n \"乐昌市\",\n \"南雄市\",\n \"始兴县\",\n \"仁化县\",\n \"翁源县\",\n \"新丰县\",\n \"乳源瑶族自治县\"\n ]\n },\n {\n \"name\": \"佛山市\",\n \"area\": [\n \"禅城区\",\n \"南海区\",\n \"顺德区\",\n \"三水区\",\n \"高明区\"\n ]\n },\n {\n \"name\": \"江门市\",\n \"area\": [\n \"蓬江区\",\n \"江海区\",\n \"新会区\",\n \"恩平市\",\n \"台山市\",\n \"开平市\",\n \"鹤山市\"\n ]\n },\n {\n \"name\": \"湛江市\",\n \"area\": [\n \"赤坎区\",\n \"霞山区\",\n \"坡头区\",\n \"麻章区\",\n \"吴川市\",\n \"廉江市\",\n \"雷州市\",\n \"遂溪县\",\n \"徐闻县\"\n ]\n },\n {\n \"name\": \"茂名市\",\n \"area\": [\n \"茂南区\",\n \"茂港区\",\n \"化州市\",\n \"信宜市\",\n \"高州市\",\n \"电白县\"\n ]\n },\n {\n \"name\": \"肇庆市\",\n \"area\": [\n \"端州区\",\n \"鼎湖区\",\n \"高要市\",\n \"四会市\",\n \"广宁县\",\n \"怀集县\",\n \"封开县\",\n \"德庆县\"\n ]\n },\n {\n \"name\": \"惠州市\",\n \"area\": [\n \"惠城区\",\n \"惠阳区\",\n \"博罗县\",\n \"惠东县\",\n \"龙门县\"\n ]\n },\n {\n \"name\": \"梅州市\",\n \"area\": [\n \"梅江区\",\n \"兴宁市\",\n \"梅县\",\n \"大埔县\",\n \"丰顺县\",\n \"五华县\",\n \"平远县\",\n \"蕉岭县\"\n ]\n },\n {\n \"name\": \"汕尾市\",\n \"area\": [\n \"城区\",\n \"陆丰市\",\n \"海丰县\",\n \"陆河县\"\n ]\n },\n {\n \"name\": \"河源市\",\n \"area\": [\n \"源城区\",\n \"紫金县\",\n \"龙川县\",\n \"连平县\",\n \"和平县\",\n \"东源县\"\n ]\n },\n {\n \"name\": \"阳江市\",\n \"area\": [\n \"江城区\",\n \"阳春市\",\n \"阳西县\",\n \"阳东县\"\n ]\n },\n {\n \"name\": \"清远市\",\n \"area\": [\n \"清城区\",\n \"英德市\",\n \"连州市\",\n \"佛冈县\",\n \"阳山县\",\n \"清新县\",\n \"连山壮族瑶族自治县\",\n \"连南瑶族自治县\"\n ]\n }\n ]\n },\n {\n \"name\": \"广西\",\n \"city\": [\n {\n \"name\": \"南宁市\",\n \"area\": [\n \"青秀区\",\n \"兴宁区\",\n \"西乡塘区\",\n \"良庆区\",\n \"江南区\",\n \"邕宁区\",\n \"武鸣县\",\n \"隆安县\",\n \"马山县\",\n \"上林县\",\n \"宾阳县\",\n \"横县\"\n ]\n },\n {\n \"name\": \"柳州市\",\n \"area\": [\n \"城中区\",\n \"鱼峰区\",\n \"柳北区\",\n \"柳南区\",\n \"柳江县\",\n \"柳城县\",\n \"鹿寨县\",\n \"融安县\",\n \"融水苗族自治县\",\n \"三江侗族自治县\"\n ]\n },\n {\n \"name\": \"桂林市\",\n \"area\": [\n \"象山区\",\n \"秀峰区\",\n \"叠彩区\",\n \"七星区\",\n \"雁山区\",\n \"阳朔县\",\n \"临桂县\",\n \"灵川县\",\n \"全州县\",\n \"平乐县\",\n \"兴安县\",\n \"灌阳县\",\n \"荔浦县\",\n \"资源县\",\n \"永福县\",\n \"龙胜各族自治县\",\n \"恭城瑶族自治县\"\n ]\n },\n {\n \"name\": \"梧州市\",\n \"area\": [\n \"万秀区\",\n \"蝶山区\",\n \"长洲区\",\n \"岑溪市\",\n \"苍梧县\",\n \"藤县\",\n \"蒙山县\"\n ]\n },\n {\n \"name\": \"北海市\",\n \"area\": [\n \"海城区\",\n \"银海区\",\n \"铁山港区\",\n \"合浦县\"\n ]\n },\n {\n \"name\": \"防城港市\",\n \"area\": [\n \"港口区\",\n \"防城区\",\n \"东兴市\",\n \"上思县\"\n ]\n },\n {\n \"name\": \"钦州市\",\n \"area\": [\n \"钦南区\",\n \"钦北区\",\n \"灵山县\",\n \"浦北县\"\n ]\n },\n {\n \"name\": \"贵港市\",\n \"area\": [\n \"港北区\",\n \"港南区\",\n \"覃塘区\",\n \"桂平市\",\n \"平南县\"\n ]\n },\n {\n \"name\": \"玉林市\",\n \"area\": [\n \"玉州区\",\n \"北流市\",\n \"容县\",\n \"陆川县\",\n \"博白县\",\n \"兴业县\"\n ]\n },\n {\n \"name\": \"百色市\",\n \"area\": [\n \"右江区\",\n \"凌云县\",\n \"平果县\",\n \"西林县\",\n \"乐业县\",\n \"德保县\",\n \"田林县\",\n \"田阳县\",\n \"靖西县\",\n \"田东县\",\n \"那坡县\",\n \"隆林各族自治县\"\n ]\n },\n {\n \"name\": \"贺州市\",\n \"area\": [\n \"八步区\",\n \"钟山县\",\n \"昭平县\",\n \"富川瑶族自治县\"\n ]\n },\n {\n \"name\": \"河池市\",\n \"area\": [\n \"金城江区\",\n \"宜州市\",\n \"天峨县\",\n \"凤山县\",\n \"南丹县\",\n \"东兰县\",\n \"都安瑶族自治县\",\n \"罗城仫佬族自治县\",\n \"巴马瑶族自治县\",\n \"环江毛南族自治县\",\n \"大化瑶族自治县\"\n ]\n },\n {\n \"name\": \"来宾市\",\n \"area\": [\n \"兴宾区\",\n \"合山市\",\n \"象州县\",\n \"武宣县\",\n \"忻城县\",\n \"金秀瑶族自治县\"\n ]\n },\n {\n \"name\": \"崇左市\",\n \"area\": [\n \"江州区\",\n \"凭祥市\",\n \"宁明县\",\n \"扶绥县\",\n \"龙州县\",\n \"大新县\",\n \"天等县\"\n ]\n }\n ]\n },\n {\n \"name\": \"海南省\",\n \"city\": [\n {\n \"name\": \"海口市\",\n \"area\": [\n \"龙华区\",\n \"秀英区\",\n \"琼山区\",\n \"美兰区\"\n ]\n },\n {\n \"name\": \"三亚市\",\n \"area\": [\n \"三亚市\"\n ]\n },\n {\n \"name\": \"五指山市\",\n \"area\": [\n \"五指山\"\n ]\n },\n {\n \"name\": \"琼海市\",\n \"area\": [\n \"琼海\"\n ]\n },\n {\n \"name\": \"儋州市\",\n \"area\": [\n \"儋州\"\n ]\n },\n {\n \"name\": \"文昌市\",\n \"area\": [\n \"文昌\"\n ]\n },\n {\n \"name\": \"万宁市\",\n \"area\": [\n \"万宁\"\n ]\n },\n {\n \"name\": \"东方市\",\n \"area\": [\n \"东方\"\n ]\n },\n {\n \"name\": \"澄迈县\",\n \"area\": [\n \"澄迈县\"\n ]\n },\n {\n \"name\": \"定安县\",\n \"area\": [\n \"定安县\"\n ]\n },\n {\n \"name\": \"屯昌县\",\n \"area\": [\n \"屯昌县\"\n ]\n },\n {\n \"name\": \"临高县\",\n \"area\": [\n \"临高县\"\n ]\n },\n {\n \"name\": \"白沙黎族自治县\",\n \"area\": [\n \"白沙黎族自治县\"\n ]\n },\n {\n \"name\": \"昌江黎族自治县\",\n \"area\": [\n \"昌江黎族自治县\"\n ]\n },\n {\n \"name\": \"乐东黎族自治县\",\n \"area\": [\n \"乐东黎族自治县\"\n ]\n },\n {\n \"name\": \"陵水黎族自治县\",\n \"area\": [\n \"陵水黎族自治县\"\n ]\n },\n {\n \"name\": \"保亭黎族苗族自治县\",\n \"area\": [\n \"保亭黎族苗族自治县\"\n ]\n },\n {\n \"name\": \"琼中黎族苗族自治县\",\n \"area\": [\n \"琼中黎族苗族自治县\"\n ]\n }\n ]\n },\n {\n \"name\": \"重庆市\",\n \"city\": [\n {\n \"name\": \"重庆市\",\n \"area\": [\n \"渝中区\",\n \"大渡口区\",\n \"江北区\",\n \"南岸区\",\n \"北碚区\",\n \"渝北区\",\n \"巴南区\",\n \"长寿区\",\n \"双桥区\",\n \"沙坪坝区\",\n \"万盛区\",\n \"万州区\",\n \"涪陵区\",\n \"黔江区\",\n \"永川区\",\n \"合川区\",\n \"江津区\",\n \"九龙坡区\",\n \"南川区\",\n \"綦江县\",\n \"潼南县\",\n \"荣昌县\",\n \"璧山县\",\n \"大足县\",\n \"铜梁县\",\n \"梁平县\",\n \"开县\",\n \"忠县\",\n \"城口县\",\n \"垫江县\",\n \"武隆县\",\n \"丰都县\",\n \"奉节县\",\n \"云阳县\",\n \"巫溪县\",\n \"巫山县\",\n \"石柱土家族自治县\",\n \"秀山土家族苗族自治县\",\n \"酉阳土家族苗族自治县\",\n \"彭水苗族土家族自治县\"\n ]\n }\n ]\n },\n {\n \"name\": \"四川省\",\n \"city\": [\n {\n \"name\": \"成都市\",\n \"area\": [\n \"青羊区\",\n \"锦江区\",\n \"金牛区\",\n \"武侯区\",\n \"成华区\",\n \"龙泉驿区\",\n \"青白江区\",\n \"新都区\",\n \"温江区\",\n \"都江堰市\",\n \"彭州市\",\n \"邛崃市\",\n \"崇州市\",\n \"金堂县\",\n \"郫县\",\n \"新津县\",\n \"双流县\",\n \"蒲江县\",\n \"大邑县\"\n ]\n },\n {\n \"name\": \"自贡市\",\n \"area\": [\n \"大安区\",\n \"自流井区\",\n \"贡井区\",\n \"沿滩区\",\n \"荣县\",\n \"富顺县\"\n ]\n },\n {\n \"name\": \"攀枝花市\",\n \"area\": [\n \"仁和区\",\n \"米易县\",\n \"盐边县\",\n \"东区\",\n \"西区\"\n ]\n },\n {\n \"name\": \"泸州市\",\n \"area\": [\n \"江阳区\",\n \"纳溪区\",\n \"龙马潭区\",\n \"泸县\",\n \"合江县\",\n \"叙永县\",\n \"古蔺县\"\n ]\n },\n {\n \"name\": \"德阳市\",\n \"area\": [\n \"旌阳区\",\n \"广汉市\",\n \"什邡市\",\n \"绵竹市\",\n \"罗江县\",\n \"中江县\"\n ]\n },\n {\n \"name\": \"绵阳市\",\n \"area\": [\n \"涪城区\",\n \"游仙区\",\n \"江油市\",\n \"盐亭县\",\n \"三台县\",\n \"平武县\",\n \"安县\",\n \"梓潼县\",\n \"北川羌族自治县\"\n ]\n },\n {\n \"name\": \"广元市\",\n \"area\": [\n \"元坝区\",\n \"朝天区\",\n \"青川县\",\n \"旺苍县\",\n \"剑阁县\",\n \"苍溪县\",\n \"市中区\"\n ]\n },\n {\n \"name\": \"遂宁市\",\n \"area\": [\n \"船山区\",\n \"安居区\",\n \"射洪县\",\n \"蓬溪县\",\n \"大英县\"\n ]\n },\n {\n \"name\": \"内江市\",\n \"area\": [\n \"市中区\",\n \"东兴区\",\n \"资中县\",\n \"隆昌县\",\n \"威远县\"\n ]\n },\n {\n \"name\": \"乐山市\",\n \"area\": [\n \"市中区\",\n \"五通桥区\",\n \"沙湾区\",\n \"金口河区\",\n \"峨眉山市\",\n \"夹江县\",\n \"井研县\",\n \"犍为县\",\n \"沐川县\",\n \"马边彝族自治县\",\n \"峨边彝族自治县\"\n ]\n },\n {\n \"name\": \"南充\",\n \"area\": [\n \"顺庆区\",\n \"高坪区\",\n \"嘉陵区\",\n \"阆中市\",\n \"营山县\",\n \"蓬安县\",\n \"仪陇县\",\n \"南部县\",\n \"西充县\"\n ]\n },\n {\n \"name\": \"眉山市\",\n \"area\": [\n \"东坡区\",\n \"仁寿县\",\n \"彭山县\",\n \"洪雅县\",\n \"丹棱县\",\n \"青神县\"\n ]\n },\n {\n \"name\": \"宜宾市\",\n \"area\": [\n \"翠屏区\",\n \"宜宾县\",\n \"兴文县\",\n \"南溪县\",\n \"珙县\",\n \"长宁县\",\n \"高县\",\n \"江安县\",\n \"筠连县\",\n \"屏山县\"\n ]\n },\n {\n \"name\": \"广安市\",\n \"area\": [\n \"广安区\",\n \"华蓥市\",\n \"岳池县\",\n \"邻水县\",\n \"武胜县\"\n ]\n },\n {\n \"name\": \"达州市\",\n \"area\": [\n \"通川区\",\n \"万源市\",\n \"达县\",\n \"渠县\",\n \"宣汉县\",\n \"开江县\",\n \"大竹县\"\n ]\n },\n {\n \"name\": \"雅安市\",\n \"area\": [\n \"雨城区\",\n \"芦山县\",\n \"石棉县\",\n \"名山县\",\n \"天全县\",\n \"荥经县\",\n \"宝兴县\",\n \"汉源县\"\n ]\n },\n {\n \"name\": \"巴中市\",\n \"area\": [\n \"巴州区\",\n \"南江县\",\n \"平昌县\",\n \"通江县\"\n ]\n },\n {\n \"name\": \"资阳市\",\n \"area\": [\n \"雁江区\",\n \"简阳市\",\n \"安岳县\",\n \"乐至县\"\n ]\n },\n {\n \"name\": \"阿坝藏族羌族自治州\",\n \"area\": [\n \"马尔康县\",\n \"九寨沟县\",\n \"红原县\",\n \"汶川县\",\n \"阿坝县\",\n \"理县\",\n \"若尔盖县\",\n \"小金县\",\n \"黑水县\",\n \"金川县\",\n \"松潘县\",\n \"壤塘县\",\n \"茂县\"\n ]\n },\n {\n \"name\": \"甘孜藏族自治州\",\n \"area\": [\n \"康定县\",\n \"丹巴县\",\n \"炉霍县\",\n \"九龙县\",\n \"甘孜县\",\n \"雅江县\",\n \"新龙县\",\n \"道孚县\",\n \"白玉县\",\n \"理塘县\",\n \"德格县\",\n \"乡城县\",\n \"石渠县\",\n \"稻城县\",\n \"色达县\",\n \"巴塘县\",\n \"泸定县\",\n \"得荣县\"\n ]\n },\n {\n \"name\": \"凉山彝族自治州\",\n \"area\": [\n \"西昌市\",\n \"美姑县\",\n \"昭觉县\",\n \"金阳县\",\n \"甘洛县\",\n \"布拖县\",\n \"雷波县\",\n \"普格县\",\n \"宁南县\",\n \"喜德县\",\n \"会东县\",\n \"越西县\",\n \"会理县\",\n \"盐源县\",\n \"德昌县\",\n \"冕宁县\",\n \"木里藏族自治县\"\n ]\n }\n ]\n },\n {\n \"name\": \"贵州省\",\n \"city\": [\n {\n \"name\": \"贵阳市\",\n \"area\": [\n \"南明区\",\n \"云岩区\",\n \"花溪区\",\n \"乌当区\",\n \"白云区\",\n \"小河区\",\n \"清镇市\",\n \"开阳县\",\n \"修文县\",\n \"息烽县\"\n ]\n },\n {\n \"name\": \"六盘水市\",\n \"area\": [\n \"钟山区\",\n \"水城县\",\n \"盘县\",\n \"六枝特区\"\n ]\n },\n {\n \"name\": \"遵义市\",\n \"area\": [\n \"红花岗区\",\n \"汇川区\",\n \"赤水市\",\n \"仁怀市\",\n \"遵义县\",\n \"绥阳县\",\n \"桐梓县\",\n \"习水县\",\n \"凤冈县\",\n \"正安县\",\n \"余庆县\",\n \"湄潭县\",\n \"道真仡佬族苗族自治县\",\n \"务川仡佬族苗族自治县\"\n ]\n },\n {\n \"name\": \"安顺市\",\n \"area\": [\n \"西秀区\",\n \"普定县\",\n \"平坝县\",\n \"镇宁布依族苗族自治县\",\n \"紫云苗族布依族自治县\",\n \"关岭布依族苗族自治县\"\n ]\n },\n {\n \"name\": \"铜仁地区\",\n \"area\": [\n \"铜仁市\",\n \"德江县\",\n \"江口县\",\n \"思南县\",\n \"石阡县\",\n \"玉屏侗族自治县\",\n \"松桃苗族自治县\",\n \"印江土家族苗族自治县\",\n \"沿河土家族自治县\",\n \"万山特区\"\n ]\n },\n {\n \"name\": \"毕节地区\",\n \"area\": [\n \"毕节市\",\n \"黔西县\",\n \"大方县\",\n \"织金县\",\n \"金沙县\",\n \"赫章县\",\n \"纳雍县\",\n \"威宁彝族回族苗族自治县\"\n ]\n },\n {\n \"name\": \"黔西南布依族苗族自治州\",\n \"area\": [\n \"兴义市\",\n \"望谟县\",\n \"兴仁县\",\n \"普安县\",\n \"册亨县\",\n \"晴隆县\",\n \"贞丰县\",\n \"安龙县\"\n ]\n },\n {\n \"name\": \"黔东南苗族侗族自治州\",\n \"area\": [\n \"凯里市\",\n \"施秉县\",\n \"从江县\",\n \"锦屏县\",\n \"镇远县\",\n \"麻江县\",\n \"台江县\",\n \"天柱县\",\n \"黄平县\",\n \"榕江县\",\n \"剑河县\",\n \"三穗县\",\n \"雷山县\",\n \"黎平县\",\n \"岑巩县\",\n \"丹寨县\"\n ]\n },\n {\n \"name\": \"黔南布依族苗族自治州\",\n \"area\": [\n \"都匀市\",\n \"福泉市\",\n \"贵定县\",\n \"惠水县\",\n \"罗甸县\",\n \"瓮安县\",\n \"荔波县\",\n \"龙里县\",\n \"平塘县\",\n \"长顺县\",\n \"独山县\",\n \"三都水族自治县\"\n ]\n }\n ]\n },\n {\n \"name\": \"云南省\",\n \"city\": [\n {\n \"name\": \"昆明市\",\n \"area\": [\n \"盘龙区\",\n \"五华区\",\n \"官渡区\",\n \"西山区\",\n \"东川区\",\n \"安宁市\",\n \"呈贡县\",\n \"晋宁县\",\n \"富民县\",\n \"宜良县\",\n \"嵩明县\",\n \"石林彝族自治县\",\n \"禄劝彝族苗族自治县\",\n \"寻甸回族彝族自治县\"\n ]\n },\n {\n \"name\": \"曲靖市\",\n \"area\": [\n \"麒麟区\",\n \"宣威市\",\n \"马龙县\",\n \"沾益县\",\n \"富源县\",\n \"罗平县\",\n \"师宗县\",\n \"陆良县\",\n \"会泽县\"\n ]\n },\n {\n \"name\": \"玉溪市\",\n \"area\": [\n \"红塔区\",\n \"江川县\",\n \"澄江县\",\n \"通海县\",\n \"华宁县\",\n \"易门县\",\n \"峨山彝族自治县\",\n \"新平彝族傣族自治县\",\n \"元江哈尼族彝族傣族自治县\"\n ]\n },\n {\n \"name\": \"保山市\",\n \"area\": [\n \"隆阳区\",\n \"施甸县\",\n \"腾冲县\",\n \"龙陵县\",\n \"昌宁县\"\n ]\n },\n {\n \"name\": \"昭通市\",\n \"area\": [\n \"昭阳区\",\n \"鲁甸县\",\n \"巧家县\",\n \"盐津县\",\n \"大关县\",\n \"永善县\",\n \"绥江县\",\n \"镇雄县\",\n \"彝良县\",\n \"威信县\",\n \"水富县\"\n ]\n },\n {\n \"name\": \"丽江市\",\n \"area\": [\n \"古城区\",\n \"永胜县\",\n \"华坪县\",\n \"玉龙纳西族自治县\",\n \"宁蒗彝族自治县\"\n ]\n },\n {\n \"name\": \"普洱市\",\n \"area\": [\n \"思茅区\",\n \"普洱哈尼族彝族自治县\",\n \"墨江哈尼族自治县\",\n \"景东彝族自治县\",\n \"景谷傣族彝族自治县\",\n \"镇沅彝族哈尼族拉祜族自治县\",\n \"江城哈尼族彝族自治县\",\n \"孟连傣族拉祜族佤族自治县\",\n \"澜沧拉祜族自治县\",\n \"西盟佤族自治县\"\n ]\n },\n {\n \"name\": \"临沧市\",\n \"area\": [\n \"临翔区\",\n \"凤庆县\",\n \"云县\",\n \"永德县\",\n \"镇康县\",\n \"双江拉祜族佤族布朗族傣族自治县\",\n \"耿马傣族佤族自治县\",\n \"沧源佤族自治县\"\n ]\n },\n {\n \"name\": \"德宏傣族景颇族自治州\",\n \"area\": [\n \"潞西市\",\n \"瑞丽市\",\n \"梁河县\",\n \"盈江县\",\n \"陇川县\"\n ]\n },\n {\n \"name\": \"怒江傈僳族自治州\",\n \"area\": [\n \"泸水县\",\n \"福贡县\",\n \"贡山独龙族怒族自治县\",\n \"兰坪白族普米族自治县\"\n ]\n },\n {\n \"name\": \"迪庆藏族自治州\",\n \"area\": [\n \"香格里拉县\",\n \"德钦县\",\n \"维西傈僳族自治县\"\n ]\n },\n {\n \"name\": \"大理白族自治州\",\n \"area\": [\n \"大理市\",\n \"祥云县\",\n \"宾川县\",\n \"弥渡县\",\n \"永平县\",\n \"云龙县\",\n \"洱源县\",\n \"剑川县\",\n \"鹤庆县\",\n \"漾濞彝族自治县\",\n \"南涧彝族自治县\",\n \"巍山彝族回族自治县\"\n ]\n },\n {\n \"name\": \"楚雄彝族自治州\",\n \"area\": [\n \"楚雄市\",\n \"双柏县\",\n \"牟定县\",\n \"南华县\",\n \"姚安县\",\n \"大姚县\",\n \"永仁县\",\n \"元谋县\",\n \"武定县\",\n \"禄丰县\"\n ]\n },\n {\n \"name\": \"红河哈尼族彝族自治州\",\n \"area\": [\n \"蒙自县\",\n \"个旧市\",\n \"开远市\",\n \"绿春县\",\n \"建水县\",\n \"石屏县\",\n \"弥勒县\",\n \"泸西县\",\n \"元阳县\",\n \"红河县\",\n \"金平苗族瑶族傣族自治县\",\n \"河口瑶族自治县\",\n \"屏边苗族自治县\"\n ]\n },\n {\n \"name\": \"文山壮族苗族自治州\",\n \"area\": [\n \"文山县\",\n \"砚山县\",\n \"西畴县\",\n \"麻栗坡县\",\n \"马关县\",\n \"丘北县\",\n \"广南县\",\n \"富宁县\"\n ]\n },\n {\n \"name\": \"西双版纳傣族自治州\",\n \"area\": [\n \"景洪市\",\n \"勐海县\",\n \"勐腊县\"\n ]\n }\n ]\n },\n {\n \"name\": \"西藏\",\n \"city\": [\n {\n \"name\": \"拉萨市\",\n \"area\": [\n \"城关区\",\n \"林周县\",\n \"当雄县\",\n \"尼木县\",\n \"曲水县\",\n \"堆龙德庆县\",\n \"达孜县\",\n \"墨竹工卡县\"\n ]\n },\n {\n \"name\": \"那曲地区\",\n \"area\": [\n \"那曲县\",\n \"嘉黎县\",\n \"比如县\",\n \"聂荣县\",\n \"安多县\",\n \"申扎县\",\n \"索县\",\n \"班戈县\",\n \"巴青县\",\n \"尼玛县\"\n ]\n },\n {\n \"name\": \"昌都地区\",\n \"area\": [\n \"昌都县\",\n \"江达县\",\n \"贡觉县\",\n \"类乌齐县\",\n \"丁青县\",\n \"察雅县\",\n \"八宿县\",\n \"左贡县\",\n \"芒康县\",\n \"洛隆县\",\n \"边坝县\"\n ]\n },\n {\n \"name\": \"林芝地区\",\n \"area\": [\n \"林芝县\",\n \"工布江达县\",\n \"米林县\",\n \"墨脱县\",\n \"波密县\",\n \"察隅县\",\n \"朗县\"\n ]\n },\n {\n \"name\": \"山南地区\",\n \"area\": [\n \"乃东县\",\n \"扎囊县\",\n \"贡嘎县\",\n \"桑日县\",\n \"琼结县\",\n \"曲松县\",\n \"措美县\",\n \"洛扎县\",\n \"加查县\",\n \"隆子县\",\n \"错那县\",\n \"浪卡子县\"\n ]\n },\n {\n \"name\": \"日喀则地区\",\n \"area\": [\n \"日喀则市\",\n \"南木林县\",\n \"江孜县\",\n \"定日县\",\n \"萨迦县\",\n \"拉孜县\",\n \"昂仁县\",\n \"谢通门县\",\n \"白朗县\",\n \"仁布县\",\n \"康马县\",\n \"定结县\",\n \"仲巴县\",\n \"亚东县\",\n \"吉隆县\",\n \"聂拉木县\",\n \"萨嘎县\",\n \"岗巴县\"\n ]\n },\n {\n \"name\": \"阿里地区\",\n \"area\": [\n \"噶尔县\",\n \"普兰县\",\n \"札达县\",\n \"日土县\",\n \"革吉县\",\n \"改则县\",\n \"措勤县\"\n ]\n }\n ]\n },\n {\n \"name\": \"陕西省\",\n \"city\": [\n {\n \"name\": \"西安市\",\n \"area\": [\n \"莲湖区\",\n \"新城区\",\n \"碑林区\",\n \"雁塔区\",\n \"灞桥区\",\n \"未央区\",\n \"阎良区\",\n \"临潼区\",\n \"长安区\",\n \"高陵县\",\n \"蓝田县\",\n \"户县\",\n \"周至县\"\n ]\n },\n {\n \"name\": \"铜川市\",\n \"area\": [\n \"耀州区\",\n \"王益区\",\n \"印台区\",\n \"宜君县\"\n ]\n },\n {\n \"name\": \"宝鸡市\",\n \"area\": [\n \"渭滨区\",\n \"金台区\",\n \"陈仓区\",\n \"岐山县\",\n \"凤翔县\",\n \"陇县\",\n \"太白县\",\n \"麟游县\",\n \"扶风县\",\n \"千阳县\",\n \"眉县\",\n \"凤县\"\n ]\n },\n {\n \"name\": \"咸阳市\",\n \"area\": [\n \"秦都区\",\n \"渭城区\",\n \"杨陵区\",\n \"兴平市\",\n \"礼泉县\",\n \"泾阳县\",\n \"永寿县\",\n \"三原县\",\n \"彬县\",\n \"旬邑县\",\n \"长武县\",\n \"乾县\",\n \"武功县\",\n \"淳化县\"\n ]\n },\n {\n \"name\": \"渭南市\",\n \"area\": [\n \"临渭区\",\n \"韩城市\",\n \"华阴市\",\n \"蒲城县\",\n \"潼关县\",\n \"白水县\",\n \"澄城县\",\n \"华县\",\n \"合阳县\",\n \"富平县\",\n \"大荔县\"\n ]\n },\n {\n \"name\": \"延安市\",\n \"area\": [\n \"宝塔区\",\n \"安塞县\",\n \"洛川县\",\n \"子长县\",\n \"黄陵县\",\n \"延川县\",\n \"富县\",\n \"延长县\",\n \"甘泉县\",\n \"宜川县\",\n \"志丹县\",\n \"黄龙县\",\n \"吴起县\"\n ]\n },\n {\n \"name\": \"汉中市\",\n \"area\": [\n \"汉台区\",\n \"留坝县\",\n \"镇巴县\",\n \"城固县\",\n \"南郑县\",\n \"洋县\",\n \"宁强县\",\n \"佛坪县\",\n \"勉县\",\n \"西乡县\",\n \"略阳县\"\n ]\n },\n {\n \"name\": \"榆林市\",\n \"area\": [\n \"榆阳区\",\n \"清涧县\",\n \"绥德县\",\n \"神木县\",\n \"佳县\",\n \"府谷县\",\n \"子洲县\",\n \"靖边县\",\n \"横山县\",\n \"米脂县\",\n \"吴堡县\",\n \"定边县\"\n ]\n },\n {\n \"name\": \"安康市\",\n \"area\": [\n \"汉滨区\",\n \"紫阳县\",\n \"岚皋县\",\n \"旬阳县\",\n \"镇坪县\",\n \"平利县\",\n \"石泉县\",\n \"宁陕县\",\n \"白河县\",\n \"汉阴县\"\n ]\n },\n {\n \"name\": \"商洛市\",\n \"area\": [\n \"商州区\",\n \"镇安县\",\n \"山阳县\",\n \"洛南县\",\n \"商南县\",\n \"丹凤县\",\n \"柞水县\"\n ]\n }\n ]\n },\n {\n \"name\": \"甘肃省\",\n \"city\": [\n {\n \"name\": \"兰州市\",\n \"area\": [\n \"城关区\",\n \"七里河区\",\n \"西固区\",\n \"安宁区\",\n \"红古区\",\n \"永登县\",\n \"皋兰县\",\n \"榆中县\"\n ]\n },\n {\n \"name\": \"嘉峪关市\",\n \"area\": [\n \"嘉峪关市\"\n ]\n },\n {\n \"name\": \"金昌市\",\n \"area\": [\n \"金川区\",\n \"永昌县\"\n ]\n },\n {\n \"name\": \"白银市\",\n \"area\": [\n \"白银区\",\n \"平川区\",\n \"靖远县\",\n \"会宁县\",\n \"景泰县\"\n ]\n },\n {\n \"name\": \"天水市\",\n \"area\": [\n \"清水县\",\n \"秦安县\",\n \"甘谷县\",\n \"武山县\",\n \"张家川回族自治县\",\n \"北道区\",\n \"秦城区\"\n ]\n },\n {\n \"name\": \"武威市\",\n \"area\": [\n \"凉州区\",\n \"民勤县\",\n \"古浪县\",\n \"天祝藏族自治县\"\n ]\n },\n {\n \"name\": \"酒泉市\",\n \"area\": [\n \"肃州区\",\n \"玉门市\",\n \"敦煌市\",\n \"金塔县\",\n \"肃北蒙古族自治县\",\n \"阿克塞哈萨克族自治县\",\n \"安西县\"\n ]\n },\n {\n \"name\": \"张掖市\",\n \"area\": [\n \"甘州区\",\n \"民乐县\",\n \"临泽县\",\n \"高台县\",\n \"山丹县\",\n \"肃南裕固族自治县\"\n ]\n },\n {\n \"name\": \"庆阳市\",\n \"area\": [\n \"西峰区\",\n \"庆城县\",\n \"环县\",\n \"华池县\",\n \"合水县\",\n \"正宁县\",\n \"宁县\",\n \"镇原县\"\n ]\n },\n {\n \"name\": \"平凉市\",\n \"area\": [\n \"崆峒区\",\n \"泾川县\",\n \"灵台县\",\n \"崇信县\",\n \"华亭县\",\n \"庄浪县\",\n \"静宁县\"\n ]\n },\n {\n \"name\": \"定西市\",\n \"area\": [\n \"安定区\",\n \"通渭县\",\n \"临洮县\",\n \"漳县\",\n \"岷县\",\n \"渭源县\",\n \"陇西县\"\n ]\n },\n {\n \"name\": \"陇南市\",\n \"area\": [\n \"武都区\",\n \"成县\",\n \"宕昌县\",\n \"康县\",\n \"文县\",\n \"西和县\",\n \"礼县\",\n \"两当县\",\n \"徽县\"\n ]\n },\n {\n \"name\": \"临夏回族自治州\",\n \"area\": [\n \"临夏市\",\n \"临夏县\",\n \"康乐县\",\n \"永靖县\",\n \"广河县\",\n \"和政县\",\n \"东乡族自治县\",\n \"积石山保安族东乡族撒拉族自治县\"\n ]\n },\n {\n \"name\": \"甘南藏族自治州\",\n \"area\": [\n \"合作市\",\n \"临潭县\",\n \"卓尼县\",\n \"舟曲县\",\n \"迭部县\",\n \"玛曲县\",\n \"碌曲县\",\n \"夏河县\"\n ]\n }\n ]\n },\n {\n \"name\": \"青海省\",\n \"city\": [\n {\n \"name\": \"西宁市\",\n \"area\": [\n \"城中区\",\n \"城东区\",\n \"城西区\",\n \"城北区\",\n \"湟源县\",\n \"湟中县\",\n \"大通回族土族自治县\"\n ]\n },\n {\n \"name\": \"海东地区\",\n \"area\": [\n \"平安县\",\n \"乐都县\",\n \"民和回族土族自治县\",\n \"互助土族自治县\",\n \"化隆回族自治县\",\n \"循化撒拉族自治县\"\n ]\n },\n {\n \"name\": \"海北藏族自治州\",\n \"area\": [\n \"海晏县\",\n \"祁连县\",\n \"刚察县\",\n \"门源回族自治县\"\n ]\n },\n {\n \"name\": \"海南藏族自治州\",\n \"area\": [\n \"共和县\",\n \"同德县\",\n \"贵德县\",\n \"兴海县\",\n \"贵南县\"\n ]\n },\n {\n \"name\": \"黄南藏族自治州\",\n \"area\": [\n \"同仁县\",\n \"尖扎县\",\n \"泽库县\",\n \"河南蒙古族自治县\"\n ]\n },\n {\n \"name\": \"果洛藏族自治州\",\n \"area\": [\n \"玛沁县\",\n \"班玛县\",\n \"甘德县\",\n \"达日县\",\n \"久治县\",\n \"玛多县\"\n ]\n },\n {\n \"name\": \"玉树藏族自治州\",\n \"area\": [\n \"玉树县\",\n \"杂多县\",\n \"称多县\",\n \"治多县\",\n \"囊谦县\",\n \"曲麻莱县\"\n ]\n },\n {\n \"name\": \"海西蒙古族藏族自治州\",\n \"area\": [\n \"德令哈市\",\n \"格尔木市\",\n \"乌兰县\",\n \"都兰县\",\n \"天峻县\"\n ]\n }\n ]\n },\n {\n \"name\": \"宁夏\",\n \"city\": [\n {\n \"name\": \"银川市\",\n \"area\": [\n \"兴庆区\",\n \"西夏区\",\n \"金凤区\",\n \"灵武市\",\n \"永宁县\",\n \"贺兰县\"\n ]\n },\n {\n \"name\": \"石嘴山市\",\n \"area\": [\n \"大武口区\",\n \"惠农区\",\n \"平罗县\"\n ]\n },\n {\n \"name\": \"吴忠市\",\n \"area\": [\n \"利通区\",\n \"青铜峡市\",\n \"盐池县\",\n \"同心县\"\n ]\n },\n {\n \"name\": \"固原市\",\n \"area\": [\n \"原州区\",\n \"西吉县\",\n \"隆德县\",\n \"泾源县\",\n \"彭阳县\"\n ]\n },\n {\n \"name\": \"中卫市\",\n \"area\": [\n \"沙坡头区\",\n \"中宁县\",\n \"海原县\"\n ]\n }\n ]\n },\n {\n \"name\": \"新疆\",\n \"city\": [\n {\n \"name\": \"乌鲁木齐市\",\n \"area\": [\n \"天山区\",\n \"沙依巴克区\",\n \"新市区\",\n \"水磨沟区\",\n \"头屯河区\",\n \"达坂城区\",\n \"东山区\",\n \"乌鲁木齐县\"\n ]\n },\n {\n \"name\": \"克拉玛依市\",\n \"area\": [\n \"克拉玛依区\",\n \"独山子区\",\n \"白碱滩区\",\n \"乌尔禾区\"\n ]\n },\n {\n \"name\": \"吐鲁番地区\",\n \"area\": [\n \"吐鲁番市\",\n \"托克逊县\",\n \"鄯善县\"\n ]\n },\n {\n \"name\": \"哈密地区\",\n \"area\": [\n \"哈密市\",\n \"伊吾县\",\n \"巴里坤哈萨克自治县\"\n ]\n },\n {\n \"name\": \"和田地区\",\n \"area\": [\n \"和田市\",\n \"和田县\",\n \"洛浦县\",\n \"民丰县\",\n \"皮山县\",\n \"策勒县\",\n \"于田县\",\n \"墨玉县\"\n ]\n },\n {\n \"name\": \"阿克苏地区\",\n \"area\": [\n \"阿克苏市\",\n \"温宿县\",\n \"沙雅县\",\n \"拜城县\",\n \"阿瓦提县\",\n \"库车县\",\n \"柯坪县\",\n \"新和县\",\n \"乌什县\"\n ]\n },\n {\n \"name\": \"喀什地区\",\n \"area\": [\n \"喀什市\",\n \"巴楚县\",\n \"泽普县\",\n \"伽师县\",\n \"叶城县\",\n \"岳普湖县\",\n \"疏勒县\",\n \"麦盖提县\",\n \"英吉沙县\",\n \"莎车县\",\n \"疏附县\",\n \"塔什库尔干塔吉克自治县\"\n ]\n },\n {\n \"name\": \"克孜勒苏柯尔克孜自治州\",\n \"area\": [\n \"阿图什市\",\n \"阿合奇县\",\n \"乌恰县\",\n \"阿克陶县\"\n ]\n },\n {\n \"name\": \"巴音郭楞蒙古自治州\",\n \"area\": [\n \"库尔勒市\",\n \"和静县\",\n \"尉犁县\",\n \"和硕县\",\n \"且末县\",\n \"博湖县\",\n \"轮台县\",\n \"若羌县\",\n \"焉耆回族自治县\"\n ]\n },\n {\n \"name\": \"昌吉回族自治州\",\n \"area\": [\n \"昌吉市\",\n \"阜康市\",\n \"奇台县\",\n \"玛纳斯县\",\n \"吉木萨尔县\",\n \"呼图壁县\",\n \"木垒哈萨克自治县\",\n \"米泉市\"\n ]\n },\n {\n \"name\": \"博尔塔拉蒙古自治州\",\n \"area\": [\n \"博乐市\",\n \"精河县\",\n \"温泉县\"\n ]\n },\n {\n \"name\": \"石河子\",\n \"area\": [\n \"石河子\"\n ]\n },\n {\n \"name\": \"阿拉尔\",\n \"area\": [\n \"阿拉尔\"\n ]\n },\n {\n \"name\": \"图木舒克\",\n \"area\": [\n \"图木舒克\"\n ]\n },\n {\n \"name\": \"五家渠\",\n \"area\": [\n \"五家渠\"\n ]\n },\n {\n \"name\": \"伊犁哈萨克自治州\",\n \"area\": [\n \"伊宁市\",\n \"奎屯市\",\n \"伊宁县\",\n \"特克斯县\",\n \"尼勒克县\",\n \"昭苏县\",\n \"新源县\",\n \"霍城县\",\n \"巩留县\",\n \"察布查尔锡伯自治县\",\n \"塔城地区\",\n \"阿勒泰地区\"\n ]\n }\n ]\n },\n {\n \"name\": \"台湾省\",\n \"city\": [\n {\n \"name\": \"台北市\",\n \"area\": [\n \"内湖区\",\n \"南港区\",\n \"中正区\",\n \"万华区\",\n \"大同区\",\n \"中山区\",\n \"松山区\",\n \"大安区\",\n \"信义区\",\n \"文山区\",\n \"士林区\",\n \"北投区\"\n ]\n },\n {\n \"name\": \"新北市\",\n \"area\": [\n \"板桥区\",\n \"汐止区\",\n \"新店区\"\n ]\n },\n {\n \"name\": \"桃园市\",\n \"area\": [\n \"其他\"\n ]\n },\n {\n \"name\": \"台中市\",\n \"area\": [\n \"其他\"\n ]\n },\n {\n \"name\": \"台南市\",\n \"area\": [\n \"其他\"\n ]\n },\n {\n \"name\": \"高雄市\",\n \"area\": [\n \"其他\"\n ]\n }\n ]\n },\n {\n \"name\": \"澳门\",\n \"city\": [\n {\n \"name\": \"澳门\",\n \"area\": [\n \"花地玛堂区\",\n \"圣安多尼堂区\",\n \"大堂区\",\n \"望德堂区\",\n \"风顺堂区\",\n \"嘉模堂区\",\n \"圣方济各堂区\",\n \"路凼\"\n ]\n }\n ]\n },\n {\n \"name\": \"香港\",\n \"city\": [\n {\n \"name\": \"香港\",\n \"area\": [\n \"深水埗区\",\n \"油尖旺区\",\n \"九龙城区\",\n \"黄大仙区\",\n \"观塘区\",\n \"北区\",\n \"大埔区\",\n \"沙田区\",\n \"西贡区\",\n \"元朗区\",\n \"屯门区\",\n \"荃湾区\",\n \"葵青区\",\n \"离岛区\",\n \"中西区\",\n \"湾仔区\",\n \"东区\",\n \"南区\"\n ]\n }\n ]\n }\n]","/**\n * html 解析器\n * @tutorial https://github.com/jin-yufeng/Parser\n * @version 20200728\n * @author JinYufeng\n * @listens MIT\n */\nconst cfg = require('./config.js'),\n\tblankChar = cfg.blankChar,\n\tCssHandler = require('./CssHandler.js'),\n\twindowWidth = uni.getSystemInfoSync().windowWidth;\nvar emoji;\n\nfunction MpHtmlParser(data, options = {}) {\n\tthis.attrs = {};\n\tthis.CssHandler = new CssHandler(options.tagStyle, windowWidth);\n\tthis.data = data;\n\tthis.domain = options.domain;\n\tthis.DOM = [];\n\tthis.i = this.start = this.audioNum = this.imgNum = this.videoNum = 0;\n\toptions.prot = (this.domain || '').includes('://') ? this.domain.split('://')[0] : 'http';\n\tthis.options = options;\n\tthis.state = this.Text;\n\tthis.STACK = [];\n\t// 工具函数\n\tthis.bubble = () => {\n\t\tfor (var i = this.STACK.length, item; item = this.STACK[--i];) {\n\t\t\tif (cfg.richOnlyTags[item.name]) {\n\t\t\t\tif (item.name == 'table' && !Object.hasOwnProperty.call(item, 'c')) item.c = 1;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\titem.c = 1;\n\t\t}\n\t\treturn true;\n\t}\n\tthis.decode = (val, amp) => {\n\t\tvar i = -1,\n\t\t\tj, en;\n\t\twhile (1) {\n\t\t\tif ((i = val.indexOf('&', i + 1)) == -1) break;\n\t\t\tif ((j = val.indexOf(';', i + 2)) == -1) break;\n\t\t\tif (val[i + 1] == '#') {\n\t\t\t\ten = parseInt((val[i + 2] == 'x' ? '0' : '') + val.substring(i + 2, j));\n\t\t\t\tif (!isNaN(en)) val = val.substr(0, i) + String.fromCharCode(en) + val.substr(j + 1);\n\t\t\t} else {\n\t\t\t\ten = val.substring(i + 1, j);\n\t\t\t\tif (cfg.entities[en] || en == amp)\n\t\t\t\t\tval = val.substr(0, i) + (cfg.entities[en] || '&') + val.substr(j + 1);\n\t\t\t}\n\t\t}\n\t\treturn val;\n\t}\n\tthis.getUrl = url => {\n\t\tif (url[0] == '/') {\n\t\t\tif (url[1] == '/') url = this.options.prot + ':' + url;\n\t\t\telse if (this.domain) url = this.domain + url;\n\t\t} else if (this.domain && url.indexOf('data:') != 0 && !url.includes('://'))\n\t\t\turl = this.domain + '/' + url;\n\t\treturn url;\n\t}\n\tthis.isClose = () => this.data[this.i] == '>' || (this.data[this.i] == '/' && this.data[this.i + 1] == '>');\n\tthis.section = () => this.data.substring(this.start, this.i);\n\tthis.parent = () => this.STACK[this.STACK.length - 1];\n\tthis.siblings = () => this.STACK.length ? this.parent().children : this.DOM;\n}\nMpHtmlParser.prototype.parse = function() {\n\tif (emoji) this.data = emoji.parseEmoji(this.data);\n\tfor (var c; c = this.data[this.i]; this.i++)\n\t\tthis.state(c);\n\tif (this.state == this.Text) this.setText();\n\twhile (this.STACK.length) this.popNode(this.STACK.pop());\n\treturn this.DOM;\n}\n// 设置属性\nMpHtmlParser.prototype.setAttr = function() {\n\tvar name = this.attrName.toLowerCase(),\n\t\tval = this.attrVal;\n\tif (cfg.boolAttrs[name]) this.attrs[name] = 'T';\n\telse if (val) {\n\t\tif (name == 'src' || (name == 'data-src' && !this.attrs.src)) this.attrs.src = this.getUrl(this.decode(val, 'amp'));\n\t\telse if (name == 'href' || name == 'style') this.attrs[name] = this.decode(val, 'amp');\n\t\telse if (name.substr(0, 5) != 'data-') this.attrs[name] = val;\n\t}\n\tthis.attrVal = '';\n\twhile (blankChar[this.data[this.i]]) this.i++;\n\tif (this.isClose()) this.setNode();\n\telse {\n\t\tthis.start = this.i;\n\t\tthis.state = this.AttrName;\n\t}\n}\n// 设置文本节点\nMpHtmlParser.prototype.setText = function() {\n\tvar back, text = this.section();\n\tif (!text) return;\n\ttext = (cfg.onText && cfg.onText(text, () => back = true)) || text;\n\tif (back) {\n\t\tthis.data = this.data.substr(0, this.start) + text + this.data.substr(this.i);\n\t\tlet j = this.start + text.length;\n\t\tfor (this.i = this.start; this.i < j; this.i++) this.state(this.data[this.i]);\n\t\treturn;\n\t}\n\tif (!this.pre) {\n\t\t// 合并空白符\n\t\tvar flag, tmp = [];\n\t\tfor (let i = text.length, c; c = text[--i];)\n\t\t\tif (!blankChar[c]) {\n\t\t\t\ttmp.unshift(c);\n\t\t\t\tif (!flag) flag = 1;\n\t\t\t} else {\n\t\t\t\tif (tmp[0] != ' ') tmp.unshift(' ');\n\t\t\t\tif (c == '\\n' && flag == void 0) flag = 0;\n\t\t\t}\n\t\tif (flag == 0) return;\n\t\ttext = tmp.join('');\n\t}\n\tthis.siblings().push({\n\t\ttype: 'text',\n\t\ttext: this.decode(text)\n\t});\n}\n// 设置元素节点\nMpHtmlParser.prototype.setNode = function() {\n\tvar node = {\n\t\t\tname: this.tagName.toLowerCase(),\n\t\t\tattrs: this.attrs\n\t\t},\n\t\tclose = cfg.selfClosingTags[node.name];\n\tif (this.options.nodes.length) node.type = 'node';\n\tthis.attrs = {};\n\tif (!cfg.ignoreTags[node.name]) {\n\t\t// 处理属性\n\t\tvar attrs = node.attrs,\n\t\t\tstyle = this.CssHandler.match(node.name, attrs, node) + (attrs.style || ''),\n\t\t\tstyleObj = {};\n\t\tif (attrs.id) {\n\t\t\tif (this.options.compress & 1) attrs.id = void 0;\n\t\t\telse if (this.options.useAnchor) this.bubble();\n\t\t}\n\t\tif ((this.options.compress & 2) && attrs.class) attrs.class = void 0;\n\t\tswitch (node.name) {\n\t\t\tcase 'a':\n\t\t\tcase 'ad':\n\n\n\t\t\t\tthis.bubble();\n\t\t\t\tbreak;\n\t\t\tcase 'font':\n\t\t\t\tif (attrs.color) {\n\t\t\t\t\tstyleObj['color'] = attrs.color;\n\t\t\t\t\tattrs.color = void 0;\n\t\t\t\t}\n\t\t\t\tif (attrs.face) {\n\t\t\t\t\tstyleObj['font-family'] = attrs.face;\n\t\t\t\t\tattrs.face = void 0;\n\t\t\t\t}\n\t\t\t\tif (attrs.size) {\n\t\t\t\t\tvar size = parseInt(attrs.size);\n\t\t\t\t\tif (size < 1) size = 1;\n\t\t\t\t\telse if (size > 7) size = 7;\n\t\t\t\t\tvar map = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'];\n\t\t\t\t\tstyleObj['font-size'] = map[size - 1];\n\t\t\t\t\tattrs.size = void 0;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'embed':\n\n\t\t\t\tvar src = node.attrs.src || '',\n\t\t\t\t\ttype = node.attrs.type || '';\n\t\t\t\tif (type.includes('video') || src.includes('.mp4') || src.includes('.3gp') || src.includes('.m3u8'))\n\t\t\t\t\tnode.name = 'video';\n\t\t\t\telse if (type.includes('audio') || src.includes('.m4a') || src.includes('.wav') || src.includes('.mp3') || src.includes(\n\t\t\t\t\t\t'.aac'))\n\t\t\t\t\tnode.name = 'audio';\n\t\t\t\telse break;\n\t\t\t\tif (node.attrs.autostart)\n\t\t\t\t\tnode.attrs.autoplay = 'T';\n\t\t\t\tnode.attrs.controls = 'T';\n\n\n\n\n\n\t\t\tcase 'video':\n\t\t\tcase 'audio':\n\t\t\t\tif (!attrs.id) attrs.id = node.name + (++this[`${node.name}Num`]);\n\t\t\t\telse this[`${node.name}Num`]++;\n\t\t\t\tif (node.name == 'video') {\n\t\t\t\t\tif (this.videoNum > 3)\n\t\t\t\t\t\tnode.lazyLoad = 1;\n\t\t\t\t\tif (attrs.width) {\n\t\t\t\t\t\tstyleObj.width = parseFloat(attrs.width) + (attrs.width.includes('%') ? '%' : 'px');\n\t\t\t\t\t\tattrs.width = void 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (attrs.height) {\n\t\t\t\t\t\tstyleObj.height = parseFloat(attrs.height) + (attrs.height.includes('%') ? '%' : 'px');\n\t\t\t\t\t\tattrs.height = void 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!attrs.controls && !attrs.autoplay) attrs.controls = 'T';\n\t\t\t\tattrs.source = [];\n\t\t\t\tif (attrs.src) {\n\t\t\t\t\tattrs.source.push(attrs.src);\n\t\t\t\t\tattrs.src = void 0;\n\t\t\t\t}\n\t\t\t\tthis.bubble();\n\t\t\t\tbreak;\n\t\t\tcase 'td':\n\t\t\tcase 'th':\n\t\t\t\tif (attrs.colspan || attrs.rowspan)\n\t\t\t\t\tfor (var k = this.STACK.length, item; item = this.STACK[--k];)\n\t\t\t\t\t\tif (item.name == 'table') {\n\t\t\t\t\t\t\titem.c = void 0;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t}\n\t\tif (attrs.align) {\n\t\t\tstyleObj['text-align'] = attrs.align;\n\t\t\tattrs.align = void 0;\n\t\t}\n\t\t// 压缩 style\n\t\tvar styles = style.split(';');\n\t\tstyle = '';\n\t\tfor (var i = 0, len = styles.length; i < len; i++) {\n\t\t\tvar info = styles[i].split(':');\n\t\t\tif (info.length < 2) continue;\n\t\t\tlet key = info[0].trim().toLowerCase(),\n\t\t\t\tvalue = info.slice(1).join(':').trim();\n\t\t\tif (value[0] == '-' || value.includes('safe'))\n\t\t\t\tstyle += `;${key}:${value}`;\n\t\t\telse if (!styleObj[key] || value.includes('import') || !styleObj[key].includes('import'))\n\t\t\t\tstyleObj[key] = value;\n\t\t}\n\t\tif (node.name == 'img') {\n\t\t\tif (attrs.src && !attrs.ignore) {\n\t\t\t\tif (this.bubble())\n\t\t\t\t\tattrs.i = (this.imgNum++).toString();\n\t\t\t\telse attrs.ignore = 'T';\n\t\t\t}\n\t\t\tif (attrs.ignore) {\n\t\t\t\tstyle += ';-webkit-touch-callout:none';\n\t\t\t\tstyleObj['max-width'] = '100%';\n\t\t\t}\n\t\t\tvar width;\n\t\t\tif (styleObj.width) width = styleObj.width;\n\t\t\telse if (attrs.width) width = attrs.width.includes('%') ? attrs.width : attrs.width + 'px';\n\t\t\tif (width) {\n\t\t\t\tstyleObj.width = width;\n\t\t\t\tattrs.width = '100%';\n\t\t\t\tif (parseInt(width) > windowWidth) {\n\t\t\t\t\tstyleObj.height = '';\n\t\t\t\t\tif (attrs.height) attrs.height = void 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (styleObj.height) {\n\t\t\t\tattrs.height = styleObj.height;\n\t\t\t\tstyleObj.height = '';\n\t\t\t} else if (attrs.height && !attrs.height.includes('%'))\n\t\t\t\tattrs.height += 'px';\n\t\t}\n\t\tfor (var key in styleObj) {\n\t\t\tvar value = styleObj[key];\n\t\t\tif (!value) continue;\n\t\t\tif (key.includes('flex') || key == 'order' || key == 'self-align') node.c = 1;\n\t\t\t// 填充链接\n\t\t\tif (value.includes('url')) {\n\t\t\t\tvar j = value.indexOf('(');\n\t\t\t\tif (j++ != -1) {\n\t\t\t\t\twhile (value[j] == '\"' || value[j] == \"'\" || blankChar[value[j]]) j++;\n\t\t\t\t\tvalue = value.substr(0, j) + this.getUrl(value.substr(j));\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 转换 rpx\n\t\t\telse if (value.includes('rpx'))\n\t\t\t\tvalue = value.replace(/[0-9.]+\\s*rpx/g, $ => parseFloat($) * windowWidth / 750 + 'px');\n\t\t\telse if (key == 'white-space' && value.includes('pre') && !close)\n\t\t\t\tthis.pre = node.pre = true;\n\t\t\tstyle += `;${key}:${value}`;\n\t\t}\n\t\tstyle = style.substr(1);\n\t\tif (style) attrs.style = style;\n\t\tif (!close) {\n\t\t\tnode.children = [];\n\t\t\tif (node.name == 'pre' && cfg.highlight) {\n\t\t\t\tthis.remove(node);\n\t\t\t\tthis.pre = node.pre = true;\n\t\t\t}\n\t\t\tthis.siblings().push(node);\n\t\t\tthis.STACK.push(node);\n\t\t} else if (!cfg.filter || cfg.filter(node, this) != false)\n\t\t\tthis.siblings().push(node);\n\t} else {\n\t\tif (!close) this.remove(node);\n\t\telse if (node.name == 'source') {\n\t\t\tvar parent = this.parent();\n\t\t\tif (parent && (parent.name == 'video' || parent.name == 'audio') && node.attrs.src)\n\t\t\t\tparent.attrs.source.push(node.attrs.src);\n\t\t} else if (node.name == 'base' && !this.domain) this.domain = node.attrs.href;\n\t}\n\tif (this.data[this.i] == '/') this.i++;\n\tthis.start = this.i + 1;\n\tthis.state = this.Text;\n}\n// 移除标签\nMpHtmlParser.prototype.remove = function(node) {\n\tvar name = node.name,\n\t\tj = this.i;\n\t// 处理 svg\n\tvar handleSvg = () => {\n\t\tvar src = this.data.substring(j, this.i + 1);\n\t\tif (!node.attrs.xmlns) src = ' xmlns=\"http://www.w3.org/2000/svg\"' + src;\n\t\tvar i = j;\n\t\twhile (this.data[j] != '<') j--;\n\t\tsrc = this.data.substring(j, i).replace(\"viewbox\", \"viewBox\") + src;\n\t\tvar parent = this.parent();\n\t\tif (node.attrs.width == '100%' && parent && (parent.attrs.style || '').includes('inline'))\n\t\t\tparent.attrs.style = 'width:300px;max-width:100%;' + parent.attrs.style;\n\t\tthis.siblings().push({\n\t\t\tname: 'img',\n\t\t\tattrs: {\n\t\t\t\tsrc: 'data:image/svg+xml;utf8,' + src.replace(/#/g, '%23'),\n\t\t\t\tstyle: (/vertical[^;]+/.exec(node.attrs.style) || []).shift(),\n\t\t\t\tignore: 'T'\n\t\t\t}\n\t\t})\n\t}\n\tif (node.name == 'svg' && this.data[j] == '/') return handleSvg(this.i++);\n\twhile (1) {\n\t\tif ((this.i = this.data.indexOf('</', this.i + 1)) == -1) {\n\t\t\tif (name == 'pre' || name == 'svg') this.i = j;\n\t\t\telse this.i = this.data.length;\n\t\t\treturn;\n\t\t}\n\t\tthis.start = (this.i += 2);\n\t\twhile (!blankChar[this.data[this.i]] && !this.isClose()) this.i++;\n\t\tif (this.section().toLowerCase() == name) {\n\t\t\t// 代码块高亮\n\t\t\tif (name == 'pre') {\n\t\t\t\tthis.data = this.data.substr(0, j + 1) + cfg.highlight(this.data.substring(j + 1, this.i - 5), node.attrs) + this.data\n\t\t\t\t\t.substr(this.i - 5);\n\t\t\t\treturn this.i = j;\n\t\t\t} else if (name == 'style')\n\t\t\t\tthis.CssHandler.getStyle(this.data.substring(j + 1, this.i - 7));\n\t\t\telse if (name == 'title')\n\t\t\t\tthis.DOM.title = this.data.substring(j + 1, this.i - 7);\n\t\t\tif ((this.i = this.data.indexOf('>', this.i)) == -1) this.i = this.data.length;\n\t\t\tif (name == 'svg') handleSvg();\n\t\t\treturn;\n\t\t}\n\t}\n}\n// 节点出栈处理\nMpHtmlParser.prototype.popNode = function(node) {\n\t// 空白符处理\n\tif (node.pre) {\n\t\tnode.pre = this.pre = void 0;\n\t\tfor (let i = this.STACK.length; i--;)\n\t\t\tif (this.STACK[i].pre)\n\t\t\t\tthis.pre = true;\n\t}\n\tvar siblings = this.siblings(),\n\t\tlen = siblings.length,\n\t\tchilds = node.children;\n\tif (node.name == 'head' || (cfg.filter && cfg.filter(node, this) == false))\n\t\treturn siblings.pop();\n\tvar attrs = node.attrs;\n\t// 替换一些标签名\n\tif (cfg.blockTags[node.name]) node.name = 'div';\n\telse if (!cfg.trustTags[node.name]) node.name = 'span';\n\t// 处理列表\n\tif (node.c && (node.name == 'ul' || node.name == 'ol')) {\n\t\tif ((node.attrs.style || '').includes('list-style:none')) {\n\t\t\tfor (let i = 0, child; child = childs[i++];)\n\t\t\t\tif (child.name == 'li')\n\t\t\t\t\tchild.name = 'div';\n\t\t} else if (node.name == 'ul') {\n\t\t\tvar floor = 1;\n\t\t\tfor (let i = this.STACK.length; i--;)\n\t\t\t\tif (this.STACK[i].name == 'ul') floor++;\n\t\t\tif (floor != 1)\n\t\t\t\tfor (let i = childs.length; i--;)\n\t\t\t\t\tchilds[i].floor = floor;\n\t\t} else {\n\t\t\tfor (let i = 0, num = 1, child; child = childs[i++];)\n\t\t\t\tif (child.name == 'li') {\n\t\t\t\t\tchild.type = 'ol';\n\t\t\t\t\tchild.num = ((num, type) => {\n\t\t\t\t\t\tif (type == 'a') return String.fromCharCode(97 + (num - 1) % 26);\n\t\t\t\t\t\tif (type == 'A') return String.fromCharCode(65 + (num - 1) % 26);\n\t\t\t\t\t\tif (type == 'i' || type == 'I') {\n\t\t\t\t\t\t\tnum = (num - 1) % 99 + 1;\n\t\t\t\t\t\t\tvar one = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'],\n\t\t\t\t\t\t\t\tten = ['X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'],\n\t\t\t\t\t\t\t\tres = (ten[Math.floor(num / 10) - 1] || '') + (one[num % 10 - 1] || '');\n\t\t\t\t\t\t\tif (type == 'i') return res.toLowerCase();\n\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn num;\n\t\t\t\t\t})(num++, attrs.type) + '.';\n\t\t\t\t}\n\t\t}\n\t}\n\t// 处理表格的边框\n\tif (node.name == 'table') {\n\t\tvar padding = attrs.cellpadding,\n\t\t\tspacing = attrs.cellspacing,\n\t\t\tborder = attrs.border;\n\t\tif (node.c) {\n\t\t\tthis.bubble();\n\t\t\tattrs.style = (attrs.style || '') + ';display:table';\n\t\t\tif (!padding) padding = 2;\n\t\t\tif (!spacing) spacing = 2;\n\t\t}\n\t\tif (border) attrs.style = `border:${border}px solid gray;${attrs.style || ''}`;\n\t\tif (spacing) attrs.style = `border-spacing:${spacing}px;${attrs.style || ''}`;\n\t\tif (border || padding || node.c)\n\t\t\t(function f(ns) {\n\t\t\t\tfor (var i = 0, n; n = ns[i]; i++) {\n\t\t\t\t\tif (n.type == 'text') continue;\n\t\t\t\t\tvar style = n.attrs.style || '';\n\t\t\t\t\tif (node.c && n.name[0] == 't') {\n\t\t\t\t\t\tn.c = 1;\n\t\t\t\t\t\tstyle += ';display:table-' + (n.name == 'th' || n.name == 'td' ? 'cell' : (n.name == 'tr' ? 'row' : 'row-group'));\n\t\t\t\t\t}\n\t\t\t\t\tif (n.name == 'th' || n.name == 'td') {\n\t\t\t\t\t\tif (border) style = `border:${border}px solid gray;${style}`;\n\t\t\t\t\t\tif (padding) style = `padding:${padding}px;${style}`;\n\t\t\t\t\t} else f(n.children || []);\n\t\t\t\t\tif (style) n.attrs.style = style;\n\t\t\t\t}\n\t\t\t})(childs)\n\t\tif (this.options.autoscroll) {\n\t\t\tvar table = Object.assign({}, node);\n\t\t\tnode.name = 'div';\n\t\t\tnode.attrs = {\n\t\t\t\tstyle: 'overflow:scroll'\n\t\t\t}\n\t\t\tnode.children = [table];\n\t\t}\n\t}\n\tthis.CssHandler.pop && this.CssHandler.pop(node);\n\t// 自动压缩\n\tif (node.name == 'div' && !Object.keys(attrs).length && childs.length == 1 && childs[0].name == 'div')\n\t\tsiblings[len - 1] = childs[0];\n}\n// 状态机\nMpHtmlParser.prototype.Text = function(c) {\n\tif (c == '<') {\n\t\tvar next = this.data[this.i + 1],\n\t\t\tisLetter = c => (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');\n\t\tif (isLetter(next)) {\n\t\t\tthis.setText();\n\t\t\tthis.start = this.i + 1;\n\t\t\tthis.state = this.TagName;\n\t\t} else if (next == '/') {\n\t\t\tthis.setText();\n\t\t\tif (isLetter(this.data[++this.i + 1])) {\n\t\t\t\tthis.start = this.i + 1;\n\t\t\t\tthis.state = this.EndTag;\n\t\t\t} else this.Comment();\n\t\t} else if (next == '!' || next == '?') {\n\t\t\tthis.setText();\n\t\t\tthis.Comment();\n\t\t}\n\t}\n}\nMpHtmlParser.prototype.Comment = function() {\n\tvar key;\n\tif (this.data.substring(this.i + 2, this.i + 4) == '--') key = '-->';\n\telse if (this.data.substring(this.i + 2, this.i + 9) == '[CDATA[') key = ']]>';\n\telse key = '>';\n\tif ((this.i = this.data.indexOf(key, this.i + 2)) == -1) this.i = this.data.length;\n\telse this.i += key.length - 1;\n\tthis.start = this.i + 1;\n\tthis.state = this.Text;\n}\nMpHtmlParser.prototype.TagName = function(c) {\n\tif (blankChar[c]) {\n\t\tthis.tagName = this.section();\n\t\twhile (blankChar[this.data[this.i]]) this.i++;\n\t\tif (this.isClose()) this.setNode();\n\t\telse {\n\t\t\tthis.start = this.i;\n\t\t\tthis.state = this.AttrName;\n\t\t}\n\t} else if (this.isClose()) {\n\t\tthis.tagName = this.section();\n\t\tthis.setNode();\n\t}\n}\nMpHtmlParser.prototype.AttrName = function(c) {\n\tif (c == '=' || blankChar[c] || this.isClose()) {\n\t\tthis.attrName = this.section();\n\t\tif (blankChar[c])\n\t\t\twhile (blankChar[this.data[++this.i]]);\n\t\tif (this.data[this.i] == '=') {\n\t\t\twhile (blankChar[this.data[++this.i]]);\n\t\t\tthis.start = this.i--;\n\t\t\tthis.state = this.AttrValue;\n\t\t} else this.setAttr();\n\t}\n}\nMpHtmlParser.prototype.AttrValue = function(c) {\n\tif (c == '\"' || c == \"'\") {\n\t\tthis.start++;\n\t\tif ((this.i = this.data.indexOf(c, this.i + 1)) == -1) return this.i = this.data.length;\n\t\tthis.attrVal = this.section();\n\t\tthis.i++;\n\t} else {\n\t\tfor (; !blankChar[this.data[this.i]] && !this.isClose(); this.i++);\n\t\tthis.attrVal = this.section();\n\t}\n\tthis.setAttr();\n}\nMpHtmlParser.prototype.EndTag = function(c) {\n\tif (blankChar[c] || c == '>' || c == '/') {\n\t\tvar name = this.section().toLowerCase();\n\t\tfor (var i = this.STACK.length; i--;)\n\t\t\tif (this.STACK[i].name == name) break;\n\t\tif (i != -1) {\n\t\t\tvar node;\n\t\t\twhile ((node = this.STACK.pop()).name != name) this.popNode(node);\n\t\t\tthis.popNode(node);\n\t\t} else if (name == 'p' || name == 'br')\n\t\t\tthis.siblings().push({\n\t\t\t\tname,\n\t\t\t\tattrs: {}\n\t\t\t});\n\t\tthis.i = this.data.indexOf('>', this.i);\n\t\tthis.start = this.i + 1;\n\t\tif (this.i == -1) this.i = this.data.length;\n\t\telse this.state = this.Text;\n\t}\n}\nmodule.exports = MpHtmlParser;\n","/* 配置文件 */\nvar cfg = {\n\t// 出错占位图\n\terrorImg: null,\n\t// 过滤器函数\n\tfilter: null,\n\t// 代码高亮函数\n\thighlight: null,\n\t// 文本处理函数\n\tonText: null,\n\t// 实体编码列表\n\tentities: {\n\t\tquot: '\"',\n\t\tapos: \"'\",\n\t\tsemi: ';',\n\t\tnbsp: '\\xA0',\n\t\tensp: '\\u2002',\n\t\temsp: '\\u2003',\n\t\tndash: '–',\n\t\tmdash: '—',\n\t\tmiddot: '·',\n\t\tlsquo: '‘',\n\t\trsquo: '’',\n\t\tldquo: '“',\n\t\trdquo: '”',\n\t\tbull: '•',\n\t\thellip: '…'\n\t},\n\tblankChar: makeMap(' ,\\xA0,\\t,\\r,\\n,\\f'),\n\tboolAttrs: makeMap('allowfullscreen,autoplay,autostart,controls,ignore,loop,muted'),\n\t// 块级标签,将被转为 div\n\tblockTags: makeMap('address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section'),\n\t// 将被移除的标签\n\tignoreTags: makeMap('area,base,canvas,frame,iframe,input,link,map,meta,param,script,source,style,svg,textarea,title,track,wbr'),\n\t// 只能被 rich-text 显示的标签\n\trichOnlyTags: makeMap('a,colgroup,fieldset,legend,table'),\n\t// 自闭合的标签\n\tselfClosingTags: makeMap('area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr'),\n\t// 信任的标签\n\ttrustTags: makeMap('a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video'),\n\t// 默认的标签样式\n\tuserAgentStyles: {\n\t\taddress: 'font-style:italic',\n\t\tbig: 'display:inline;font-size:1.2em',\n\t\tblockquote: 'background-color:#f6f6f6;border-left:3px solid #dbdbdb;color:#6c6c6c;padding:5px 0 5px 10px',\n\t\tcaption: 'display:table-caption;text-align:center',\n\t\tcenter: 'text-align:center',\n\t\tcite: 'font-style:italic',\n\t\tdd: 'margin-left:40px',\n\t\tmark: 'background-color:yellow',\n\t\tpre: 'font-family:monospace;white-space:pre;overflow:scroll',\n\t\ts: 'text-decoration:line-through',\n\t\tsmall: 'display:inline;font-size:0.8em',\n\t\tu: 'text-decoration:underline'\n\t}\n}\n\nfunction makeMap(str) {\n\tvar map = Object.create(null),\n\t\tlist = str.split(',');\n\tfor (var i = list.length; i--;)\n\t\tmap[list[i]] = true;\n\treturn map;\n}\n\n\nif (wx.canIUse('editor')) {\n\tcfg.blockTags.pre = void 0;\n\tcfg.ignoreTags.rp = true;\n\tObject.assign(cfg.richOnlyTags, makeMap('bdi,bdo,caption,rt,ruby'));\n\tObject.assign(cfg.trustTags, makeMap('bdi,bdo,caption,pre,rt,ruby'));\n}\n\n\n\n\n\n\n\nmodule.exports = cfg;\n","module.exports = require(\"regenerator-runtime\");\n","const cfg = require('./config.js'),\n\tisLetter = c => (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');\n\nfunction CssHandler(tagStyle) {\n\tvar styles = Object.assign(Object.create(null), cfg.userAgentStyles);\n\tfor (var item in tagStyle)\n\t\tstyles[item] = (styles[item] ? styles[item] + ';' : '') + tagStyle[item];\n\tthis.styles = styles;\n}\nCssHandler.prototype.getStyle = function(data) {\n\tthis.styles = new parser(data, this.styles).parse();\n}\nCssHandler.prototype.match = function(name, attrs) {\n\tvar tmp, matched = (tmp = this.styles[name]) ? tmp + ';' : '';\n\tif (attrs.class) {\n\t\tvar items = attrs.class.split(' ');\n\t\tfor (var i = 0, item; item = items[i]; i++)\n\t\t\tif (tmp = this.styles['.' + item])\n\t\t\t\tmatched += tmp + ';';\n\t}\n\tif (tmp = this.styles['#' + attrs.id])\n\t\tmatched += tmp + ';';\n\treturn matched;\n}\nmodule.exports = CssHandler;\n\nfunction parser(data, init) {\n\tthis.data = data;\n\tthis.floor = 0;\n\tthis.i = 0;\n\tthis.list = [];\n\tthis.res = init;\n\tthis.state = this.Space;\n}\nparser.prototype.parse = function() {\n\tfor (var c; c = this.data[this.i]; this.i++)\n\t\tthis.state(c);\n\treturn this.res;\n}\nparser.prototype.section = function() {\n\treturn this.data.substring(this.start, this.i);\n}\n// 状态机\nparser.prototype.Space = function(c) {\n\tif (c == '.' || c == '#' || isLetter(c)) {\n\t\tthis.start = this.i;\n\t\tthis.state = this.Name;\n\t} else if (c == '/' && this.data[this.i + 1] == '*')\n\t\tthis.Comment();\n\telse if (!cfg.blankChar[c] && c != ';')\n\t\tthis.state = this.Ignore;\n}\nparser.prototype.Comment = function() {\n\tthis.i = this.data.indexOf('*/', this.i) + 1;\n\tif (!this.i) this.i = this.data.length;\n\tthis.state = this.Space;\n}\nparser.prototype.Ignore = function(c) {\n\tif (c == '{') this.floor++;\n\telse if (c == '}' && !--this.floor) this.state = this.Space;\n}\nparser.prototype.Name = function(c) {\n\tif (cfg.blankChar[c]) {\n\t\tthis.list.push(this.section());\n\t\tthis.state = this.NameSpace;\n\t} else if (c == '{') {\n\t\tthis.list.push(this.section());\n\t\tthis.Content();\n\t} else if (c == ',') {\n\t\tthis.list.push(this.section());\n\t\tthis.Comma();\n\t} else if (!isLetter(c) && (c < '0' || c > '9') && c != '-' && c != '_')\n\t\tthis.state = this.Ignore;\n}\nparser.prototype.NameSpace = function(c) {\n\tif (c == '{') this.Content();\n\telse if (c == ',') this.Comma();\n\telse if (!cfg.blankChar[c]) this.state = this.Ignore;\n}\nparser.prototype.Comma = function() {\n\twhile (cfg.blankChar[this.data[++this.i]]);\n\tif (this.data[this.i] == '{') this.Content();\n\telse {\n\t\tthis.start = this.i--;\n\t\tthis.state = this.Name;\n\t}\n}\nparser.prototype.Content = function() {\n\tthis.start = ++this.i;\n\tif ((this.i = this.data.indexOf('}', this.i)) == -1) this.i = this.data.length;\n\tvar content = this.section();\n\tfor (var i = 0, item; item = this.list[i++];)\n\t\tif (this.res[item]) this.res[item] += ';' + content;\n\t\telse this.res[item] = content;\n\tthis.list = [];\n\tthis.state = this.Space;\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// 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","// 获取当前页面\nexport function getActionPage() {\n\tlet pages = getCurrentPages();\n\treturn pages[pages.length - 1]\n}\n\n\n// 处理分享链接地址\nexport function getPageUrl(config) {\n\tlet page = getActionPage();\n\tlet path = '/' + page.route;\n\tlet url = '';\n\t// 获取对象可枚举键值列表\n\tlet objKeys= Object.keys(page.options);\n\t// 判断有无传值\n\tif(objKeys.length>0){\n\t\t// 循环赋值对象数据\n\t\tfor(let a in page.options) {\n\t\t\t// 判断有无邀请人\n\t\t\tif(a!='spread'){\n\t\t\t\turl += a+\"=\"+page.options[a]+\"&\"\n\t\t\t}\n\t\t}\n\t\tpath += '?' + url.substr(0,url.length-1);\n\t}\n\t// 返回处理邀请人后的邀请地址\n\treturn path\n}\n\n//登录拦截\nexport function interceptor() {\n\tlet pages = getActionPage();\n\t// 获取当前页面\n\tlet pageUrl = '/' + pages.route;\n\tlet url = '/pages/login/login'\n\n\n\n\n\n\n\n\n\turl = '/pages/public/wxLogin';\n\n\tif (pageUrl != url) {\n\t\tuni.navigateTo({\n\t\t\turl\n\t\t})\n\t}\n}\n\n// 保存页面\nexport function saveUrl() {\n\t// 获取当前页面\n\tlet page = getActionPage();\n\t// 获取跳转前路由地址\n\tlet path = '/' + page.route;\n\tlet url = '';\n\t// 获取对象可枚举键值列表\n\tlet objKeys= Object.keys(page.options);\n\t// 判断有无传值\n\tif(objKeys.length>0){\n\t\t// 循环赋值对象数据\n\t\tfor(let a in page.options) {\n\t\t\turl += a+\"=\"+page.options[a]+\"&\"\n\t\t}\n\t\tpath += '?' + url.substr(0,url.length-1);\n\t}\n\t// uni.showModal({\n\t// \ttitle: '地址',\n\t// \tcontent: path,\n\t// \tfail: function (res) {\n\t// \t\tconsole.log(res.errMsg);\n\t// \t\tuni.showModal({\n\t// \t\t\ttitle: 'error',\n\t// \t\t\tcontent: res.errMsg\n\t// \t\t})\n\t// \t}\n\t// })\n\tuni.setStorageSync('present', path);\n\t// // 获取当前页面\n\t// let page = getActionPage();\n\t// // 获取跳转前路由地址\n\t// let path = '/' + page.route;\n\t// let url = '';\n\t// // 获取对象可枚举键值列表\n\t// let objKeys = Object.keys(page.options);\n\t// // 判断有无传值\n\t// if (objKeys.length > 0) {\n\t// \t// 循环赋值对象数据\n\t// \tfor (let a in page.options) {\n\t// \t\turl += a + \"=\" + page.options[a] + \"&\"\n\t// \t}\n\t// \tpath += '?' + url.substr(0, url.length - 1);\n\t// }\n\t// console.log(path,1)\n\t// uni.setStorageSync('present', path);\n}\n","import request from '@/utils/request'\n\n// 订单统计信息\nexport function orderData(data) {\n\treturn request({\n\t\turl: '/api/order/data',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\n// 获取用户信息\nexport function userinfo(data) {\n\treturn request({\n\t\turl: '/api/userinfo',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\n//获取名片信息\nexport function userinfoid(data) {\n\treturn request({\n\t\turl: '/api/level/recharge',\n\t\tmethod: 'post',\n\t\tdata\n\t});\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","import request from '@/utils/request'\nimport { upFilse } from '@/utils/request';\n\n//上传救护者信息\nexport function addrescuer(data){\n\treturn request({\n\t\turl:'/api/add_rescuer',\n\t\tmethod:'post',\n\t\tdata\n\t})\n}\n\n//上传图片\nexport function upload(data){\n\treturn upFilse({\n\t\turl:'/api/upload/image',\n\t\tmethod:'post',\n\t\tdata\n\t})\n}\n//发表文章\nexport function articlesave(data) {\n\treturn request({\n\t\turl: '/api/circle/articlesave',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n//我发表的文章\nexport function myarticle(data) {\n\treturn request({\n\t\turl: '/api/circle/myarticle',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n//发表评论\nexport function replyask(data) {\n\treturn request({\n\t\turl: '/api/add_a',\n\t\tmethod: 'post',\n\t\tdata\n\t});\n}\n\n//问答详情\nexport function replylist(data) {\n\treturn request({\n\t\turl: '/api/q_list',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n\n//评论列表\nexport function myreplylist(data) {\n\treturn request({\n\t\turl: '/api/a_list',\n\t\tmethod: 'get',\n\t\tdata\n\t});\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport user from './model/user'\nVue.use(Vuex)\nconst store = new Vuex.Store({\n\tstate: {\n\n\t\tbaseURL: 'http://hhred.igxys.com', //请求地址配置\n\n\n\n\n\t\t// baseURL: 'http://yrh.liuniu946.com', //请求地址配置\n\t\turlFile: '/index', //项目部署所在文件夹\n\t\tloginInterceptor: false, //是否打开强制登录\n\t\ttoken:'',\n\n\n\n\n\n\n\n\t\t// shareData:'',//分享信息\n\t},\n\tmutations: {\n\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t},\n\tmodules:{\n\t\tuser\n\t},\n\tactions: {\n\n\t}\n})\n\nexport default store\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","let state = {\n\tuserInfo: {}, //用户信息\n\torderInfo: {\n\t\tcomplete_count: 0, //完成\n\t\treceived_count: 0, //待收货\n\t\tunshipped_count: 0, //待发货\n\t\torder_count: 0, //订单总数\n\t\tunpaid_count: 0 //待付款\n\t}, //订单信息\n\thasLogin: false, //是否登录\n}\n\nlet mutations = {\n\t// 登录\n\tlogin(state) {\n\t\tstate.hasLogin = true;\n\t},\n\t// 退出登录\n\tlogout(state, provider) {\n\t\tstate.hasLogin = false;\n\t\t// 清空基础信息\n\t\tstate.userInfo = {};\n\t\tstate.orderInfo = {\n\t\t\tcomplete_count: 0, //完成\n\t\t\treceived_count: 0, //待收货\n\t\t\tunshipped_count: 0, //待发货\n\t\t\torder_count: 0, //订单总数\n\t\t\tunpaid_count: 0 //待付款\n\t\t};\n\t\t// 清除缓存用户信息\n\t\tuni.removeStorage({\n\t\t\tkey: 'userInfo'\n\t\t})\n\t\t// 清除缓存token\n\t\tuni.removeStorage({\n\t\t\tkey: 'token'\n\t\t})\n\t},\n\t// 保存用户信息\n\tsetUserInfo(state, provider) {\n\t\tstate.userInfo = provider;\n\t\tuni.setStorage({ //缓存用户登陆状态\n\t\t\tkey: 'userInfo',\n\t\t\tdata: provider\n\t\t})\n\t},\n\t// 保存订单信息\n\tsetOrderInfo(state, provider) {\n\t\tstate.orderInfo = provider;\n\t}\n\n}\n\nlet getters = {}\n\nexport default {\n\tnamespaced: true,\n\tstate,\n\tmutations,\n\tgetters\n}\n"],"sourceRoot":""}
|