From 1d47e547635763aa12ff250f68f4f179c5e8c4b4 Mon Sep 17 00:00:00 2001
From: chenjf <1004990705@qq.com>
Date: Mon, 10 Jul 2023 14:17:59 +0800
Subject: [PATCH] init
---
 ilsApp/.hbuilderx/launch.json                 |    23 +
 ilsApp/.idea/.gitignore                       |     5 +
 ilsApp/.idea/ilsApp.iml                       |    12 +
 ilsApp/.idea/modules.xml                      |     8 +
 ilsApp/.idea/uniappSupport.xml                |     7 +
 ilsApp/App.vue                                |    20 +
 ilsApp/common/print/CLodopfuncs - 副本.js   |  1868 +++
 ilsApp/common/print/CLodopfuncs.js            |  1900 +++
 ilsApp/common/print/LodopFuncs.js             |   189 +
 ilsApp/common/print/lpapi-uniplugin.js        |   473 +
 ilsApp/common/scanCode.js                     |    62 +
 ilsApp/components/scan-code/scan-code.vue     |    67 +
 ilsApp/index.html                             |    20 +
 ilsApp/main.js                                |    52 +
 ilsApp/manifest.json                          |    74 +
 ilsApp/node_modules/.yarn-integrity           |    10 +
 ilsApp/package-lock.json                      |     3 +
 ilsApp/pages.json                             |    87 +
 ilsApp/pages/tabbar/classify/classify.vue     |    22 +
 ilsApp/pages/tabbar/index/index.vue           |   127 +
 ilsApp/pages/tabbar/mine/mine.vue             |    22 +
 ilsApp/pages/tabbar/study/study.vue           |    22 +
 ilsApp/readme.md                              |     0
 ilsApp/static/logo.png                        |   Bin 0 -> 4023 bytes
 ilsApp/uni.scss                               |    76 +
 .../dev/.automator/app-plus/.automator.json   |     0
 .../dev/.automator/mp-weixin/.automator.json  |     0
 .../.sourcemap/mp-weixin/common/main.js.map   |     1 +
 .../mp-weixin/common/runtime.js.map           |     1 +
 .../.sourcemap/mp-weixin/common/vendor.js.map |     1 +
 .../components/scan-code/scan-code.js.map     |     1 +
 .../pages/tabbar/classify/classify.js.map     |     1 +
 .../mp-weixin/pages/tabbar/index/index.js.map |     1 +
 .../mp-weixin/pages/tabbar/mine/mine.js.map   |     1 +
 .../mp-weixin/pages/tabbar/study/study.js.map |     1 +
 .../dev/app-plus/__uniappchooselocation.js    |     1 +
 .../dist/dev/app-plus/__uniapperror.png       |   Bin 0 -> 5842 bytes
 .../dist/dev/app-plus/__uniappes6.js          |     1 +
 .../dist/dev/app-plus/__uniappopenlocation.js |     1 +
 .../dist/dev/app-plus/__uniapppicker.js       |     1 +
 .../dist/dev/app-plus/__uniappquill.js        |     8 +
 .../dev/app-plus/__uniappquillimageresize.js  |     1 +
 .../dist/dev/app-plus/__uniappscan.js         |     1 +
 .../dist/dev/app-plus/__uniappsuccess.png     |   Bin 0 -> 2021 bytes
 .../dist/dev/app-plus/__uniappview.html       |    25 +
 .../dist/dev/app-plus/app-config-service.js   |     8 +
 .../unpackage/dist/dev/app-plus/app-config.js |   154 +
 .../dist/dev/app-plus/app-service.js          |  1293 ++
 .../unpackage/dist/dev/app-plus/app-view.js   |  1571 +++
 .../unpackage/dist/dev/app-plus/manifest.json |     1 +
 .../dist/dev/app-plus/static/logo.png         |   Bin 0 -> 4023 bytes
 ilsApp/unpackage/dist/dev/app-plus/view.css   |     1 +
 .../dist/dev/app-plus/view.umd.min.js         |     6 +
 ilsApp/unpackage/dist/dev/mp-weixin/app.js    |     4 +
 ilsApp/unpackage/dist/dev/mp-weixin/app.json  |    30 +
 ilsApp/unpackage/dist/dev/mp-weixin/app.wxss  |     3 +
 .../dist/dev/mp-weixin/common/main.js         |   169 +
 .../dist/dev/mp-weixin/common/main.wxss       |    20 +
 .../dist/dev/mp-weixin/common/runtime.js      |   158 +
 .../dist/dev/mp-weixin/common/vendor.js       | 11456 ++++++++++++++++
 .../components/scan-code/scan-code.js         |     1 +
 .../components/scan-code/scan-code.json       |     4 +
 .../components/scan-code/scan-code.wxml       |     1 +
 .../components/scan-code/scan-code.wxss       |     8 +
 .../pages/tabbar/classify/classify.js         |   159 +
 .../pages/tabbar/classify/classify.json       |     7 +
 .../pages/tabbar/classify/classify.wxml       |     1 +
 .../dev/mp-weixin/pages/tabbar/index/index.js |   488 +
 .../mp-weixin/pages/tabbar/index/index.json   |     7 +
 .../mp-weixin/pages/tabbar/index/index.wxml   |     1 +
 .../mp-weixin/pages/tabbar/index/index.wxss   |    25 +
 .../dev/mp-weixin/pages/tabbar/mine/mine.js   |   159 +
 .../dev/mp-weixin/pages/tabbar/mine/mine.json |     7 +
 .../dev/mp-weixin/pages/tabbar/mine/mine.wxml |     1 +
 .../dev/mp-weixin/pages/tabbar/study/study.js |   159 +
 .../mp-weixin/pages/tabbar/study/study.json   |     7 +
 .../mp-weixin/pages/tabbar/study/study.wxml   |     1 +
 .../dist/dev/mp-weixin/project.config.json    |    43 +
 .../dist/dev/mp-weixin/static/logo.png        |   Bin 0 -> 4023 bytes
 ilsApp/yarn.lock                              |     4 +
 80 files changed, 21153 insertions(+)
 create mode 100644 ilsApp/.hbuilderx/launch.json
 create mode 100644 ilsApp/.idea/.gitignore
 create mode 100644 ilsApp/.idea/ilsApp.iml
 create mode 100644 ilsApp/.idea/modules.xml
 create mode 100644 ilsApp/.idea/uniappSupport.xml
 create mode 100644 ilsApp/App.vue
 create mode 100644 ilsApp/common/print/CLodopfuncs - 副本.js
 create mode 100644 ilsApp/common/print/CLodopfuncs.js
 create mode 100644 ilsApp/common/print/LodopFuncs.js
 create mode 100644 ilsApp/common/print/lpapi-uniplugin.js
 create mode 100644 ilsApp/common/scanCode.js
 create mode 100644 ilsApp/components/scan-code/scan-code.vue
 create mode 100644 ilsApp/index.html
 create mode 100644 ilsApp/main.js
 create mode 100644 ilsApp/manifest.json
 create mode 100644 ilsApp/node_modules/.yarn-integrity
 create mode 100644 ilsApp/package-lock.json
 create mode 100644 ilsApp/pages.json
 create mode 100644 ilsApp/pages/tabbar/classify/classify.vue
 create mode 100644 ilsApp/pages/tabbar/index/index.vue
 create mode 100644 ilsApp/pages/tabbar/mine/mine.vue
 create mode 100644 ilsApp/pages/tabbar/study/study.vue
 create mode 100644 ilsApp/readme.md
 create mode 100644 ilsApp/static/logo.png
 create mode 100644 ilsApp/uni.scss
 create mode 100644 ilsApp/unpackage/dist/dev/.automator/app-plus/.automator.json
 create mode 100644 ilsApp/unpackage/dist/dev/.automator/mp-weixin/.automator.json
 create mode 100644 ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
 create mode 100644 ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
 create mode 100644 ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
 create mode 100644 ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/components/scan-code/scan-code.js.map
 create mode 100644 ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/classify/classify.js.map
 create mode 100644 ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/index/index.js.map
 create mode 100644 ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/mine/mine.js.map
 create mode 100644 ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/study/study.js.map
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/__uniappchooselocation.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/__uniapperror.png
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/__uniappes6.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/__uniappopenlocation.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/__uniapppicker.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/__uniappquill.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/__uniappquillimageresize.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/__uniappscan.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/__uniappsuccess.png
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/__uniappview.html
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/app-config-service.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/app-config.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/app-service.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/app-view.js
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/manifest.json
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/static/logo.png
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/view.css
 create mode 100644 ilsApp/unpackage/dist/dev/app-plus/view.umd.min.js
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/app.js
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/app.json
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/app.wxss
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/common/main.js
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/common/main.wxss
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/common/runtime.js
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/common/vendor.js
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/components/scan-code/scan-code.js
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/components/scan-code/scan-code.json
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/components/scan-code/scan-code.wxml
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/components/scan-code/scan-code.wxss
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/classify/classify.js
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/classify/classify.json
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/classify/classify.wxml
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/index/index.js
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/index/index.json
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/index/index.wxml
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/index/index.wxss
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/mine/mine.js
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/mine/mine.json
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/mine/mine.wxml
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/study/study.js
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/study/study.json
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/pages/tabbar/study/study.wxml
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/project.config.json
 create mode 100644 ilsApp/unpackage/dist/dev/mp-weixin/static/logo.png
 create mode 100644 ilsApp/yarn.lock
diff --git a/ilsApp/.hbuilderx/launch.json b/ilsApp/.hbuilderx/launch.json
new file mode 100644
index 0000000..07d9281
--- /dev/null
+++ b/ilsApp/.hbuilderx/launch.json
@@ -0,0 +1,23 @@
+{
+    // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
+    // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
+    "version" : "0.0",
+    "configurations" : [
+        {
+            "app-plus" : {
+                "launchtype" : "local"
+            },
+            "default" : {
+                "launchtype" : "local"
+            },
+            "mp-weixin" : {
+                "launchtype" : "local"
+            },
+            "type" : "uniCloud"
+        },
+        {
+            "playground" : "standard",
+            "type" : "uni-app:app-android"
+        }
+    ]
+}
diff --git a/ilsApp/.idea/.gitignore b/ilsApp/.idea/.gitignore
new file mode 100644
index 0000000..b58b603
--- /dev/null
+++ b/ilsApp/.idea/.gitignore
@@ -0,0 +1,5 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/ilsApp/.idea/ilsApp.iml b/ilsApp/.idea/ilsApp.iml
new file mode 100644
index 0000000..0c8867d
--- /dev/null
+++ b/ilsApp/.idea/ilsApp.iml
@@ -0,0 +1,12 @@
+
+
+  
+    
+      
+      
+      
+    
+    
+    
+  
+
\ No newline at end of file
diff --git a/ilsApp/.idea/modules.xml b/ilsApp/.idea/modules.xml
new file mode 100644
index 0000000..eb4eb6c
--- /dev/null
+++ b/ilsApp/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+  
+    
+      
+    
+  
+
\ No newline at end of file
diff --git a/ilsApp/.idea/uniappSupport.xml b/ilsApp/.idea/uniappSupport.xml
new file mode 100644
index 0000000..bda0a43
--- /dev/null
+++ b/ilsApp/.idea/uniappSupport.xml
@@ -0,0 +1,7 @@
+
+
+  
+    
+    
+  
+
\ No newline at end of file
diff --git a/ilsApp/App.vue b/ilsApp/App.vue
new file mode 100644
index 0000000..96211a8
--- /dev/null
+++ b/ilsApp/App.vue
@@ -0,0 +1,20 @@
+
+
+
diff --git a/ilsApp/common/print/CLodopfuncs - 副本.js b/ilsApp/common/print/CLodopfuncs - 副本.js
new file mode 100644
index 0000000..939f909
--- /dev/null
+++ b/ilsApp/common/print/CLodopfuncs - 副本.js	
@@ -0,0 +1,1868 @@
+/* eslint-disable */
+
+// #ifdef APP-VUE
+import Api from '@/common/vmeitime-http/index.js';
+window = {
+	location: {
+		href: 'http://127.0.0.1/print'
+	}
+};
+// #endif
+(function(win) {
+	let printListDev = [];
+	let printListOnline = [];
+	var CLODOP = {
+		strWebPageID: "7BCAAAH",
+		strTaskID: "",
+		strHostURI: "http://192.168.1.56:8000",
+		wsHostURI: "ws://192.168.1.56:8000/c_webskt/",
+		VERSION: "6.5.7.2",
+		IVERSION: "6572",
+		CVERSION: "6.5.7.2",
+		HTTPS_STATUS: 2,
+		VERSION_EXT: true,
+		iBaseTask: 0,
+		timeThreshold: 5,
+		Priority: 0,
+		blIslocal: true,
+		Iframes: [],
+		ItemDatas: {},
+		PageData: {},
+		defStyleJson: {},
+		PageDataEx: {},
+		ItemCNameStyles: {},
+		blWorking: false,
+		blNormalItemAdded: false,
+		blTmpSelectedIndex: null,
+		Caption: null,
+		Color: null,
+		CompanyName: null,
+		strBroadcastMS: null,
+		Border: null,
+		Inbrowse: null,
+		webskt: null,
+		SocketEnable: false,
+		SocketOpened: false,
+		NoClearAfterPrint: false,
+		On_Return_Remain: false,
+		On_Broadcast_Remain: false,
+		On_Return: null,
+		Result: null,
+		iTrySendTimes: 0,
+		OBO_Mode: 1,
+		blOneByone: false,
+		DelimChar: "\f\f",
+		Printers: {
+			"default": "1",
+			"list":[]
+		},
+		altMessageWebSocketInvalid: "WebSocket没准备好,点确定继续...",
+		altMessageNoReadWriteFile: "不能远程读写文件!",
+		altMessageNoReadFile: "不能远程读文件!",
+		altMessageNoWriteFile: "不能远程写文件!",
+		altMessageNoPrintDesign: "不能远程打印设计!",
+		altMessageNoPrintSetup: "不能远程打印维护!",
+		altMessageSomeWindowExist: "有窗口已打开,先关闭它(持续如此时请刷新页面)!",
+		altMessageBusy: "上一个请求正忙,请稍后再试!",
+		Browser: (function() {
+			// #ifdef APP-VUE
+			navigator = {
+				userAgent: `Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36`
+			};
+			// #endif
+			var ua = navigator.userAgent;
+			var isOpera = Object.prototype.toString.call(window.opera) == "[object Opera]";
+			return {
+				IE: !!window.attachEvent && !isOpera,
+				Opera: isOpera,
+				WebKit: ua.indexOf("AppleWebKit/") > -1,
+				Gecko: ua.indexOf("Gecko") > -1 && ua.indexOf("KHTML") === -1,
+				MobileSafari: /Apple.*Mobile/.test(ua)
+			}
+		})(),
+		GetTaskID: function() {
+			if (!this.strTaskID || this.strTaskID == "") {
+				var dt = new Date();
+				this.iBaseTask++;
+				this.strTaskID = "" + dt.getHours() + dt.getMinutes() + dt.getSeconds() + "_" + this.iBaseTask;
+			}
+			return this.strWebPageID + this.strTaskID;
+		},
+		DoInit: function() {
+			if (process.env.NODE_ENV === 'development') {
+				//开发环境
+				CLODOP.Printers.list = printListDev
+			} else {
+				//生产环境
+				CLODOP.Printers.list = printListOnline
+			}
+			this.strTaskID = "";
+			if (this.NoClearAfterPrint) return;
+			this.ItemDatas = {
+				"count": 0
+			};
+			this.PageData = {};
+			this.ItemCNameStyles = {};
+			this.defStyleJson = {
+				"beginpage": 0,
+				"beginpagea": 0
+			};
+			this.blNormalItemAdded = false;
+			win.CLODOP.OpenWebSocket();
+		},
+		OpenWebSocket: function() {
+			// #ifdef APP-VUE
+			if (window.On_CLodop_Opened) {
+				if (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout("window.On_CLodop_Opened(CLODOP)", 1);
+			}
+			// #endif
+			// #ifndef APP-VUE
+			// #endif
+			if (!window.WebSocket && !window.MozWebSocket) {
+				if (window.On_CLodop_Opened) {
+					if (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout("window.On_CLodop_Opened(CLODOP)", 1);
+				}
+				return;
+			}
+			this.SocketEnable = true;
+			try {
+				if (!this.webskt || this.webskt.readyState == 3) {
+					if (!window.WebSocket && window.MozWebSocket) window.WebSocket = window.MozWebSocket;
+					this.webskt = uni.connectSocket({
+						url: CLODOP.wsHostURI,
+						success: res => {
+							console.info(res);
+						},
+						fail: res => {
+							console.info(res);
+						}
+					});
+					this.webskt.onOpen(function(e) {
+						CLODOP.SocketOpened = true;
+						if (window.On_CLodop_Opened) {
+							if (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout(window.On_CLodop_Opened(CLODOP), 10000);
+						}
+					});
+					this.webskt.onMessage(function(e) {
+						console.log(e);
+						CLODOP.resultHandle(e.data);
+					});
+					this.webskt.onClose(function(e) {
+						if (!CLODOP.SocketOpened) {
+							CLODOP.SocketEnable = false;
+							return;
+						}
+						// setTimeout(CLODOP.OpenWebSocket(), 2000);
+					});
+					this.webskt.onError(function(e) {
+						console.info(e);
+					});
+				}
+			} catch (err) {
+				this.webskt = null;
+				if (err.message.indexOf("SecurityError") > -1)
+					this.SocketEnable = false;
+				else
+					setTimeout(CLODOP.OpenWebSocket(), 2000);
+			}
+		},
+		resultHandle: function(data) {
+			CLODOP.blOneByone = false;
+			var strResult = data;
+			CLODOP.Result = strResult;
+			try {
+				var strFTaskID = null;
+				var iPos = strResult.indexOf("=");
+				if (iPos >= 0 && iPos < 30) {
+					strFTaskID = strResult.slice(0, iPos);
+					strResult = strResult.slice(iPos + 1);
+				}
+				if (strFTaskID.indexOf("ErrorMS") > -1) {
+					console.info(strResult);
+					return;
+				}
+				if (strFTaskID.indexOf("BroadcastMS") > -1) {
+					CLODOP.strBroadcastMS = strResult;
+					if (CLODOP.On_Broadcast) {
+						var selfFunc = CLODOP.On_Broadcast;
+						CLODOP.On_Broadcast(strResult);
+						if (!CLODOP.On_Broadcast_Remain && selfFunc === CLODOP.On_Broadcast)
+							CLODOP.On_Broadcast = null;
+					}
+					return;
+				}
+				if (CLODOP.On_Return) {
+					var selfFunc = CLODOP.On_Return;
+					if ((strResult.toLowerCase() == "true") || (strResult.toLowerCase() == "false"))
+						CLODOP.On_Return(strFTaskID, strResult.toLowerCase() == "true");
+					else
+						CLODOP.On_Return(strFTaskID, strResult);
+					if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+				}
+			} catch (err) {
+				console.log(err);
+			};
+		},
+		wsSend: function(strData) {
+			console.log("wsSend:"  + strData);
+			// #ifdef APP-VUE
+			return CLODOP.postSend(strData);
+			// #endif
+			if (!this.SocketEnable) return;
+			if (this.webskt && this.webskt.readyState == 1) {
+				this.Result = null;
+				this.iTrySendTimes = 0;
+				// #ifndef APP-VUE
+				this.webskt.send({
+					data: strData,
+					success: res => {
+						console.info(res);
+					},
+					fail: res => {
+						console.info(res);
+					}
+				});
+				// #endif
+				return true;
+			} else {
+				console.info(this.altMessageWebSocketInvalid);
+				this.iTrySendTimes++;
+				if (this.iTrySendTimes <= 1) {
+					setTimeout(CLODOP.wsSend(strData), 500);
+				} else {
+					this.OpenWebSocket();
+				}
+			}
+		},
+		postSend: function(data) {
+			console.log("postSend:"  + data);
+			Api.flPostPrint(data).then(res => {
+				console.log(res);
+				CLODOP.resultHandle(res.data);
+			})
+		},
+		FORMAT: function(oType, oValue) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (oType !== undefined && oValue !== undefined) {
+				if (oType.replace(/^\s+|\s+$/g, "").toLowerCase().indexOf("time:") == 0) {
+					oType = oType.replace(/^\s+|\s+$/g, "").slice(5);
+					if (oValue.toLowerCase().indexOf("now") > -1) oValue = (new Date()).toString();
+					if (oValue.toLowerCase().indexOf("date") > -1) oValue = (new Date()).toString();
+					if (oValue.toLowerCase().indexOf("time") > -1) oValue = (new Date()).toString();
+					var TypeYMD = "ymd";
+					if (oValue.toLowerCase().indexOf("ymd") > -1) {
+						TypeYMD = "ymd";
+						oValue = oValue.slice(3);
+					}
+					if (oValue.toLowerCase().indexOf("dmy") > -1) {
+						TypeYMD = "dmy";
+						oValue = oValue.slice(3);
+					}
+					if (oValue.toLowerCase().indexOf("mdy") > -1) {
+						TypeYMD = "mdy";
+						oValue = oValue.slice(3);
+					}
+					oValue = oValue.replace(/ [^ ]*\+[^ ]* /g, " ");
+					oValue = oValue.replace(/\(.*\)/g, " ");
+					oValue = oValue.replace(/星期日|星期一|星期二|星期三|星期四|星期五|星期六/g, " ");
+					oValue = oValue.replace(/[A-Za-z]+day|Mon|Tue|Wed|Thu|Fri|Sat|Sun/g, " ");
+					var aMonth = 0;
+					var exp = new RegExp("Oct[A-Za-z]*|十月|10月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 10;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Nov[A-Za-z]*|十一月|11月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 11;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Dec[A-Za-z]*|十二月|12月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 12;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Jan[A-Za-z]*|一月|01月|1月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 1;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Feb[A-Za-z]*|二月|02月|2月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 2;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Mar[A-Za-z]*|三月|03月|3月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 3;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Apr[A-Za-z]*|四月|04月|4月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 4;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("May[A-Za-z]*|五月|05月|5月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 5;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Jun[A-Za-z]*|六月|06月|6月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 6;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Jul[A-Za-z]*|七月|07月|7月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 7;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Aug[A-Za-z]*|八月|08月|8月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 8;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Sep[A-Za-z]*|九月|09月|9月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 9;
+						oValue = oValue.replace(exp, "");
+					}
+					oValue = oValue.replace(/日|秒/g, " ");
+					oValue = oValue.replace(/时|分/g, ":");
+					var subTime = oValue.match(/ \d+:\d+:\d+/);
+					if (subTime == null) subTime = "";
+					oValue = oValue.replace(/ \d+:\d+:\d+/, "") + subTime;
+					var dValue = new Date();
+					var iYear = 0;
+					var iMonth = 0;
+					var iDate = 0;
+					var iHour = 0;
+					var iMinutes = 0;
+					var iSecond = 0;
+					var tmpValue = oValue;
+					var sValue = "";
+					var MC1 = 0;
+					MC2 = 0;
+					MC3 = 0;
+					sValue = tmpValue.match(/\d+/);
+					if (sValue !== null) {
+						MC1 = parseInt(sValue[0]);
+						tmpValue = tmpValue.replace(/\d+/, "");
+					}
+					sValue = tmpValue.match(/\d+/);
+					if (sValue !== null) {
+						MC2 = parseInt(sValue[0]);
+						tmpValue = tmpValue.replace(/\d+/, "");
+					}
+					if (aMonth <= 0) {
+						sValue = tmpValue.match(/\d+/);
+						if (sValue !== null) {
+							MC3 = parseInt(sValue[0]);
+							tmpValue = tmpValue.replace(/\d+/, "");
+						}
+					}
+					if (aMonth > 0) {
+						iMonth = aMonth;
+						if (MC2 <= 31) {
+							iYear = MC1;
+							iDate = MC2;
+						} else {
+							iYear = MC2;
+							iDate = MC1;
+						}
+					} else
+					if (TypeYMD == "dmy") {
+						iDate = MC1;
+						iMonth = MC2;
+						iYear = MC3;
+					} else
+					if (TypeYMD == "mdy") {
+						iMonth = MC1;
+						iDate = MC2;
+						iYear = MC3;
+					} else {
+						iYear = MC1;
+						iMonth = MC2;
+						iDate = MC3;
+						if (MC3 > 31) {
+							iYear = MC3;
+							iMonth = MC1;
+							iDate = MC2;
+							if (MC1 > 12) {
+								iDate = MC1;
+								iMonth = MC2
+							};
+						} else {
+							if (MC2 > 12) {
+								iYear = MC2;
+								iMonth = MC1;
+							}
+						}
+					}
+					var sValue = tmpValue.match(/\d+/);
+					if (sValue !== null) {
+						iHour = parseInt(sValue[0]);
+						tmpValue = tmpValue.replace(/\d+/, "");
+					}
+					var sValue = tmpValue.match(/\d+/);
+					if (sValue !== null) {
+						iMinutes = parseInt(sValue[0]);
+						tmpValue = tmpValue.replace(/\d+/, "");
+					}
+					var sValue = tmpValue.match(/\d+/);
+					if (sValue !== null) {
+						iSecond = parseInt(sValue[0]);
+						tmpValue = tmpValue.replace(/\d+/, "");
+					}
+					if (oType.toLowerCase() == "isvalidformat")
+						oValue = (iYear > 0 && iMonth > 0 && iMonth <= 12 && iDate > 0 && iDate <= 31);
+					else {
+						if (("" + iYear).length < 4) iYear = iYear + 2000;
+						dValue.setFullYear(iYear, iMonth - 1, iDate);
+						dValue.setHours(iHour);
+						dValue.setMinutes(iMinutes);
+						dValue.setSeconds(iSecond);
+						var iDay = dValue.getDay();
+						if (oType.toLowerCase() == "weekindex")
+							oValue = iDay;
+						else
+						if (oType.toLowerCase() == "floatvalue")
+							oValue = dValue.getTime();
+						else {
+							var sWeek = "";
+							switch (iDay) {
+								case 0:
+									sWeek = "日";
+									break;
+								case 1:
+									sWeek = "一";
+									break;
+								case 2:
+									sWeek = "二";
+									break;
+								case 3:
+									sWeek = "三";
+									break;
+								case 4:
+									sWeek = "四";
+									break;
+								case 5:
+									sWeek = "五";
+									break;
+								case 6:
+									sWeek = "六";
+									break;
+							}
+							oValue = oType.replace(/dddd/ig, "星期" + sWeek);
+							if (/(y+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (iYear + "").substr(4 - RegExp.$1.length));
+							if (/(m+:)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, ("00" + iMinutes + ":").substr(("00" + iMinutes +
+								":").length - RegExp.$1.length));
+							if (/(M+)/i.test(oValue)) {
+								var dsWidth = ("" + iMonth).length > RegExp.$1.length ? ("" + iMonth).length : RegExp.$1.length;
+								oValue = oValue.replace(RegExp.$1, ("00" + iMonth).substr(("00" + iMonth).length - dsWidth));
+							}
+							if (/(d+)/i.test(oValue)) {
+								var dsWidth = ("" + iDate).length > RegExp.$1.length ? ("" + iDate).length : RegExp.$1.length;
+								oValue = oValue.replace(RegExp.$1, ("00" + iDate).substr(("00" + iDate).length - dsWidth));
+							}
+							if (/(H+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, ("00" + iHour).substr(("00" + iHour).length -
+								RegExp.$1.length));
+							if (/(n+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, ("00" + iMinutes).substr(("00" + iMinutes).length -
+								RegExp.$1.length));
+							if (/(s+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, ("00" + iSecond).substr(("00" + iSecond).length -
+								RegExp.$1.length));
+						}
+					}
+					if (CLODOP.On_Return) {
+						var selfFunc = CLODOP.On_Return;
+						CLODOP.On_Return(0, oValue);
+						if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+					}
+					return oValue;
+				} else
+				if (this.blIslocal || oType.indexOf("FILE:") < 0) {
+					this.PageData["format_type"] = oType;
+					this.PageData["format_value"] = oValue;
+					if (this.DoPostDatas("format") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				} else console.info(this.altMessageNoReadWriteFile)
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		SET_PRINT_PAPER: function(Top, Left, Width, Height, strPrintTask) {
+			return this.PRINT_INITA(Top, Left, Width, Height, strPrintTask);
+		},
+		PRINT_INIT: function(strPrintTask) {
+			return this.PRINT_INITA(null, null, null, null, strPrintTask);
+		},
+		PRINT_INITA: function(Top, Left, Width, Height, strPrintTask) {
+			if (Top === undefined || Top === null) Top = "";
+			if (Left === undefined || Left === null) Left = "";
+			if (Width === undefined || Width === null) Width = "";
+			if (Height === undefined || Height === null) Height = "";
+			if (strPrintTask === undefined || strPrintTask === null) strPrintTask = "";
+			this.NoClearAfterPrint = false;
+			this.DoInit();
+			this.PageData["top"] = Top;
+			this.PageData["left"] = Left;
+			this.PageData["width"] = Width;
+			this.PageData["height"] = Height;
+			this.PageData["printtask"] = strPrintTask;
+			return true;
+		},
+		SET_PRINT_MODE: function(strModeType, ModeValue) {
+			if (strModeType === undefined || strModeType === null) strModeType = "";
+			if (ModeValue === undefined || ModeValue === null) ModeValue = "";
+			if (strModeType === "") return false;
+			strModeType = strModeType.toLowerCase();
+			this.PageData[strModeType] = ModeValue;
+			if (strModeType == "noclear_after_print") this.NoClearAfterPrint = ModeValue;
+			if (strModeType.indexOf("window_def") > -1 || strModeType.indexOf("control_printer") > -1) {
+				var tResult = null;
+				if (this.DoPostDatas("onlysetprint") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+				this.DoInit();
+				this.blWorking = false;
+				return tResult;
+			}
+		},
+		ADD_PRINT_TEXT: function(top, left, width, height, strText) {
+			return this.AddItemArray(2, top, left, width, height, strText);
+		},
+		ADD_PRINT_TEXTA: function(itemName, top, left, width, height, strText) {
+			return this.AddItemArray(2, top, left, width, height, strText, itemName);
+		},
+		ADD_PRINT_HTM: function(top, left, width, height, strHTML) {
+			return this.AddItemArray(4, top, left, width, height, strHTML);
+		},
+		ADD_PRINT_HTML: function(top, left, width, height, strHTML) {
+			return this.AddItemArray(1, top, left, width, height, strHTML);
+		},
+		ADD_PRINT_HTMLA: function(itemName, top, left, width, height, strHTML) {
+			return this.AddItemArray(1, top, left, width, height, strHTML, itemName);
+		},
+		ADD_PRINT_BARCODE: function(top, left, width, height, BarType, BarValue) {
+			return this.AddItemArray(9, top, left, width, height, BarValue, null, null, null, null, null, null, BarType);
+		},
+		ADD_PRINT_BARCODEA: function(ItemName, top, left, width, height, BarType, BarValue) {
+			return this.AddItemArray(9, top, left, width, height, BarValue, ItemName, null, null, null, null, null, BarType);
+		},
+		ADD_PRINT_RECTA: function(top, left, width, height, intPenStyle, intPenWidth, intColor) {
+			return this.AddItemArray(3, top, left, width, height, null, null, 2, intPenStyle, intPenWidth, intColor, null);
+		},
+		ADD_PRINT_RECT: function(top, left, width, height, intPenStyle, intPenWidth) {
+			return this.AddItemArray(3, top, left, width, height, null, null, 2, intPenStyle, intPenWidth, null, null);
+		},
+		ADD_PRINT_ELLIPSEA: function(top, left, width, height, intPenStyle, intPenWidth, intColor) {
+			return this.AddItemArray(3, top, left, width, height, null, null, 3, intPenStyle, intPenWidth, intColor, null);
+		},
+		ADD_PRINT_ELLIPSE: function(top, left, width, height, intPenStyle, intPenWidth) {
+			return this.AddItemArray(3, top, left, width, height, null, null, 3, intPenStyle, intPenWidth, null, null);
+		},
+		ADD_PRINT_SHAPE: function(ShapeType, top, left, width, height, intPenStyle, intPenWidth, intColor) {
+			return this.AddItemArray(3, top, left, width, height, null, null, ShapeType, intPenStyle, intPenWidth, intColor,
+				null);
+		},
+		ADD_PRINT_LINE: function(top1, left1, top2, left2, intPenStyle, intPenWidth) {
+			return this.AddItemArray(3, top1, left1, top2, left2, null, null, 0, intPenStyle, intPenWidth, null, "1");
+		},
+		ADD_PRINT_DNLINE: function(Top, Left, Width, Height, intPenStyle, intPenWidth) {
+			return this.AddItemArray(3, Top, Left, Width, Height, null, null, 1, intPenStyle, intPenWidth, null, null);
+		},
+		ADD_PRINT_DNLINEA: function(Top, Left, Width, Height, intPenStyle, intPenWidth, intColor) {
+			return this.AddItemArray(3, Top, Left, Width, Height, null, null, 1, intPenStyle, intPenWidth, intColor, null);
+		},
+		ADD_PRINT_UPLINE: function(Top, Left, Width, Height, intPenStyle, intPenWidth) {
+			return this.AddItemArray(3, Top, Left, Width, Height, null, null, 0, intPenStyle, intPenWidth, null, null);
+		},
+		ADD_PRINT_UPLINEA: function(Top, Left, Width, Height, intPenStyle, intPenWidth, intColor) {
+			return this.AddItemArray(3, Top, Left, Width, Height, null, null, 0, intPenStyle, intPenWidth, intColor, null);
+		},
+		ADD_PRINT_TABLE: function(top, left, width, height, strHTML) {
+			return this.AddItemArray(6, top, left, width, height, strHTML);
+		},
+		ADD_PRINT_TBURL: function(top, left, width, height, strURL) {
+			return this.AddItemArray(7, top, left, width, height, strURL);
+		},
+		ADD_PRINT_URL: function(top, left, width, height, strURL) {
+			return this.AddItemArray(5, top, left, width, height, strURL);
+		},
+		ADD_PRINT_IMAGE: function(top, left, width, height, strHTML) {
+			return this.AddItemArray(8, top, left, width, height, strHTML);
+		},
+		ADD_PRINT_CHART: function(top, left, width, height, strChartTypess, strHTML) {
+			return this.AddItemArray(10, top, left, width, height, strHTML, null, null, null, null, null, null, null,
+				strChartTypess);
+		},
+
+		SET_PRINT_PROPERTY: function(ItemNO, intPageType, intHorzOrient, intVertOrient) {
+			this.SET_PRINT_STYLEA(ItemNO, "ItemType", intPageType);
+			this.SET_PRINT_STYLEA(ItemNO, "HOrient", intHorzOrient);
+			this.SET_PRINT_STYLEA(ItemNO, "VOrient", intVertOrient);
+		},
+		SET_PRINT_PROPERTYA: function(ItemName, intPageType, intHorzOrient, intVertOrient) {
+			this.SET_PRINT_PROPERTY(ItemName, intPageType, intHorzOrient, intVertOrient);
+		},
+		SET_PRINT_STYLE: function(strStyleName, StyleValue) {
+			if (strStyleName === undefined || strStyleName === null) strStyleName = "";
+			if (StyleValue === undefined || StyleValue === null) StyleValue = "";
+			if (strStyleName === "") return false;
+			strStyleName = strStyleName.toLowerCase();
+			this.defStyleJson[strStyleName] = StyleValue;
+		},
+		SET_PRINT_STYLEA: function(ItemNo, strKey, Value) {
+			if (ItemNo === undefined || ItemNo === null) ItemNo = "";
+			if (strKey === undefined || strKey === null) strKey = "";
+			if (Value === undefined || Value === null) Value = "";
+			if (ItemNo === "" || strKey === "") return false;
+			if (this.ItemDatas["count"] <= 0) {
+				if (this.PageData["add_print_program_data"] !== undefined) {
+					this.ItemCNameStyles[strKey.toLowerCase() + "-" + ItemNo] = Value;
+					return true;
+				} else {
+					return false;
+				}
+			}
+			strKey = strKey.toLowerCase();
+			if (strKey == "type") return false;
+			var blResult = false;
+			if (ItemNo == 0) {
+				ItemNo = this.ItemDatas["count"];
+			}
+			for (var vItemNO in this.ItemDatas) {
+				var ItemName = this.ItemDatas[vItemNO]["itemname"];
+				if ((ItemNo == vItemNO) || (ItemNo == ItemName) || ((typeof ItemNo === "string") && (typeof ItemName ===
+						"string") && (ItemNo.toUpperCase() == ItemName.toUpperCase()))) {
+					this.ItemDatas[vItemNO][strKey] = Value;
+					blResult = true;
+				}
+			}
+			if (blResult) return true;
+			return false;
+		},
+		SET_PRINT_TEXT_STYLE: function(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment) {
+			this.SET_PRINT_STYLEA(ItemNO, "fontname", strFontName);
+			this.SET_PRINT_STYLEA(ItemNO, "fontsize", intSize);
+			this.SET_PRINT_STYLEA(ItemNO, "bold", intBold);
+			this.SET_PRINT_STYLEA(ItemNO, "italic", intItalic);
+			this.SET_PRINT_STYLEA(ItemNO, "underline", intUnderline);
+			this.SET_PRINT_STYLEA(ItemNO, "alignment", intAlignment);
+		},
+		SET_PRINT_TEXT_STYLEA: function(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color) {
+			this.SET_PRINT_TEXT_STYLE(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment);
+			this.SET_PRINT_STYLEA(ItemNO, "fontcolor", Color);
+		},
+		SET_PRINT_TEXT_STYLEB: function(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color) {
+			this.SET_PRINT_TEXT_STYLEA(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color);
+		},
+		NEWPAGE: function() {
+			this.NewPage();
+		},
+		NewPage: function() {
+			var blSomeNormal = false;
+			var noItemType;
+			for (var vItemNO in this.ItemDatas) {
+				if (vItemNO == "count") noItemType = false;
+				else noItemType = true;
+				for (var vItemxx in this.ItemDatas[vItemNO]) {
+					if (vItemxx == "itemtype") {
+						noItemType = false;
+						if ((this.ItemDatas[vItemNO][vItemxx] == 0) || (this.ItemDatas[vItemNO][vItemxx] == 4)) {
+							blSomeNormal = true;
+							break;
+						}
+					}
+				}
+				if (noItemType) blSomeNormal = true;
+				if (blSomeNormal) break;
+			}
+			if (blSomeNormal) this.defStyleJson["beginpage"] = this.defStyleJson["beginpage"] + 1;
+		},
+		NEWPAGEA: function() {
+			this.NewPageA();
+		},
+		NewPageA: function() {
+			var blSomeNormal = false;
+			var noItemType;
+			for (var vItemNO in this.ItemDatas) {
+				if (vItemNO == "count") noItemType = false;
+				else noItemType = true;
+				for (var vItemxx in this.ItemDatas[vItemNO]) {
+					if (vItemxx == "itemtype") {
+						noItemType = false;
+						if ((this.ItemDatas[vItemNO][vItemxx] == 0) || (this.ItemDatas[vItemNO][vItemxx] == 4)) {
+							blSomeNormal = true;
+							break;
+						}
+					}
+				}
+				if (noItemType) blSomeNormal = true;
+				if (blSomeNormal) break;
+			}
+			if (blSomeNormal) this.defStyleJson["beginpagea"] = this.defStyleJson["beginpagea"] + 1;
+		},
+		PREVIEW: function(sView, iW, iH) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if ((!sView) && (this.blIslocal)) {
+				if (this.DoPostDatas("preview") == true) {
+					this.Result = null;
+					this.GetLastResult(true);
+					tResult = this.GetTaskID();
+				}
+			} else {
+				if (this.DoPostDatas("cpreview") == true) {
+					this.DoCPreview(sView, iW, iH);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		PRINT: function(sView, iW, iH) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.DoPostDatas("print") == true)
+				tResult = this.GetTaskID();
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_PRINTER_COUNT: function() {
+			if (this.Printers === undefined) return 0;
+			else {
+				return this.Printers["list"].length;
+			}
+		},
+		GET_PRINTER_NAME: function(intNO) {
+			if (this.Printers === undefined) return "";
+			else {
+				if (typeof intNO == "string" && intNO.indexOf(":") > -1) {
+					var strPPname = intNO.slice(intNO.indexOf(":") + 1);
+					intNO = intNO.slice(0, intNO.indexOf(":"));
+					if (intNO == -1)
+						return this.Printers["list"][this.Printers["default"]][strPPname];
+					else
+						return this.Printers["list"][intNO][strPPname];
+				} else {
+					if (intNO == -1)
+						return this.Printers["list"][this.Printers["default"]].name;
+					else
+					if (intNO >= 0 && intNO < this.Printers["list"].length)
+						return this.Printers["list"][intNO].name;
+					else return "Printer NO. overflow";
+				}
+			}
+		},
+		GET_PAGESIZES_LIST: function(PNameIndx, Split, ListName, NameOrID) {
+			if (!ListName) ListName = "pagelist";
+			if (!NameOrID) NameOrID = "name";
+			if (this.Printers === undefined) return "";
+			else {
+				if (PNameIndx == -1) PNameIndx = this.Printers["list"][this.Printers["default"]].name;
+				for (var intNO in this.Printers["list"]) {
+					if (PNameIndx == intNO || PNameIndx == this.Printers["list"][intNO].name) {
+						var strList = "";
+						for (var iPNO in this.Printers["list"][intNO][ListName]) {
+							if ((NameOrID == "id") && this.Printers["list"][intNO][ListName][iPNO].id) {
+								if (strList === "") strList = this.Printers["list"][intNO][ListName][iPNO].id;
+								else
+									strList = strList + Split + this.Printers["list"][intNO][ListName][iPNO].id;
+							} else {
+								if (strList === "") strList = this.Printers["list"][intNO][ListName][iPNO].name;
+								else
+									strList = strList + Split + this.Printers["list"][intNO][ListName][iPNO].name;
+							}
+						}
+						return strList;
+					}
+				}
+				return "";
+			}
+		},
+		SET_PRINTER_INDEX: function(strName, strKeyModeName) {
+			let printIndex = uni.getStorageSync('printIndex');
+			if (printIndex === false) {
+				this.PageData.printerindex = 1
+			} else{
+				this.PageData.printerindex = printIndex
+			}
+			return true;
+			if (this.Printers === undefined) return false;
+			else {
+				if (!strKeyModeName) strKeyModeName = "printerindex";
+				strName = strName + "";
+				strName = strName.replace(/^\s+|\s+$/g, "");
+				var iPos = strName.indexOf(",");
+				var strNameOrNO = strName;
+				if (iPos > -1) strNameOrNO = strName.slice(0, iPos);
+				if (strNameOrNO == "-1") {
+					this.PageData[strKeyModeName] = this.Printers["default"];
+					if (iPos > -1) this.PageData["printersubid"] = strName.slice(iPos + 1);
+					return true;
+				} else {
+					for (var vNO in this.Printers["list"]) {
+						var strPrinterName = this.Printers["list"][vNO].name;
+						if (!strPrinterName) continue;
+						if ((strPrinterName.replace(/\\/g, "") == strNameOrNO.replace(/\\/g, "")) || (vNO == strNameOrNO)) {
+							this.PageData[strKeyModeName] = vNO;
+							if (iPos > -1) this.PageData["printersubid"] = strName.slice(iPos + 1);
+							return true;
+						}
+					}
+					return false;
+				}
+			}
+		},
+		SET_PRINTER_INDEXA: function(strName) {
+			return this.SET_PRINTER_INDEX(strName, "printerindexa");
+		},
+		PRINT_DESIGN: function() {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (this.DoPostDatas("print_design") == true) {
+					this.Result = null;
+					this.GetLastResult(true);
+					tResult = this.GetTaskID();
+				}
+			} else console.info(this.altMessageNoPrintDesign);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		PRINT_SETUP: function() {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (this.DoPostDatas("print_setup") == true) {
+					this.Result = null;
+					this.GetLastResult(true);
+					tResult = this.GetTaskID();
+				}
+			} else console.info(this.altMessageNoPrintSetup);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		SET_PRINT_PAGESIZE: function(intOrient, PageWidth, PageHeight, strPageName) {
+			if (intOrient !== undefined && intOrient !== null) this.PageData["orient"] = intOrient;
+			if (PageWidth !== undefined && PageWidth !== null) this.PageData["pagewidth"] = PageWidth;
+			if (PageHeight !== undefined && PageHeight !== null) this.PageData["pageheight"] = PageHeight;
+			if (strPageName !== undefined && strPageName !== null) this.PageData["pagename"] = strPageName;
+		},
+		SET_PRINT_COPIES: function(intCopies) {
+			if (intCopies !== undefined && intCopies !== null) {
+				this.PageData["printcopies"] = intCopies;
+				return true;
+			}
+		},
+		SELECT_PRINTER: function(blPrint) {
+			this.SelectBox.create(388, 240, !blPrint);
+			return true;
+		},
+		PRINTA: function(blPrintB, sView) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (!sView && this.blIslocal) {
+				this.Result = null;
+				if (blPrintB) {
+					if (this.DoPostDatas("printb") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				} else {
+					if (this.DoPostDatas("printa") == true) {
+						this.GetLastResult(true);
+						tResult = this.GetTaskID();
+					}
+				}
+				this.DoInit();
+				this.blWorking = false;
+			} else {
+				this.SELECT_PRINTER(true);
+			}
+			return tResult;
+		},
+		PRINTAOK: function(iPrintIndex, iPrintCopies, iStartNO, iEndNO, onlySelect) {
+			this.SET_PRINTER_INDEX(iPrintIndex);
+			this.SET_PRINT_COPIES(iPrintCopies);
+			if (iStartNO !== undefined && iStartNO !== 0) this.SET_PRINT_MODE("PRINT_START_PAGE", iStartNO);
+			if (iEndNO !== undefined && iEndNO !== 0) this.SET_PRINT_MODE("PRINT_END_PAGE", iEndNO);
+			if (!onlySelect) this.PRINT();
+			else {
+				this.blTmpSelectedIndex = iPrintIndex;
+				if (CLODOP.On_Return) {
+					var selfFunc = CLODOP.On_Return;
+					CLODOP.On_Return(0, iPrintIndex);
+					if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+				}
+			}
+		},
+		SET_LICENSES: function(strCompanyName, strLicense, strLicenseA, strLicenseB) {
+			if ((strCompanyName == 'THIRD LICENSE') && (strLicense == "")) {
+				if (strLicenseA && strLicenseA !== "") this.PageDataEx["licensec"] = strLicenseA;
+				if (strLicenseB && strLicenseB !== "") this.PageDataEx["licensed"] = strLicenseB;
+			} else if ((strCompanyName == 'LICENSE TETCODE') && (strLicense == "") && (strLicenseB == "")) {
+				if (strLicenseA && strLicenseA !== "") this.PageDataEx["Licensetetcode"] = strLicenseA;
+			} else {
+				if (strCompanyName && strCompanyName !== "") this.PageDataEx["companyname"] = strCompanyName;
+				if (strLicense && strLicense !== "") this.PageDataEx["license"] = strLicense;
+				if (strLicenseA && strLicenseA !== "") this.PageDataEx["licensea"] = strLicenseA;
+				if (strLicenseB && strLicenseB !== "") this.PageDataEx["licenseb"] = strLicenseB;
+			}
+		},
+		PRINTB: function() {
+			return this.PRINTA(true);
+		},
+		PREVIEWA: function() {
+			return this.PREVIEW();
+		},
+		PREVIEWB: function() {
+			return this.PREVIEW();
+		},
+		ADD_PRINT_SETUP_BKIMG: function(strContent) {
+			if (strContent !== undefined && strContent !== null) {
+				this.PageData["setup_bkimg"] = strContent;
+				return true;
+			}
+		},
+		SET_PREVIEW_WINDOW: function(intDispMode, intToolMode, blDirectPrint, oWidth, oHeight, strPButtonCaptoin) {
+			if (intDispMode !== undefined && intDispMode !== null) this.PageData["pvw_dispmode"] = intDispMode;
+			if (intToolMode !== undefined && intToolMode !== null) this.PageData["pvw_toolmode"] = intToolMode;
+			if (blDirectPrint !== undefined && blDirectPrint !== null) this.PageData["pvw_directprint"] = blDirectPrint;
+			if (oWidth !== undefined && oWidth !== null) this.PageData["pvw_width"] = oWidth;
+			if (oHeight !== undefined && oHeight !== null) this.PageData["pvw_height"] = oHeight;
+			if (strPButtonCaptoin !== undefined && strPButtonCaptoin !== null) this.PageData["pvw_puttoncaptoin"] =
+				strPButtonCaptoin;
+		},
+		SET_PREVIEW_MODE: function(ModeValue) {
+			if (ModeValue !== undefined) this.PageData["pvw_preview_mode"] = ModeValue;
+		},
+		SET_SHOW_MODE: function(strModeType, ModeValue) {
+			if (strModeType === undefined || strModeType === null) strModeType = "";
+			if (ModeValue === undefined || ModeValue === null) ModeValue = "";
+			if (strModeType === "") return false;
+			strModeType = strModeType.toLowerCase();
+			this.PageData['shwmod_' + strModeType] = ModeValue;
+		},
+		SAVE_TO_FILE: function(strFileName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strFileName) {
+					this.PageData["stf_file_name"] = strFileName;
+					if (this.DoPostDatas("savetofile") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoWriteFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		SET_SAVE_MODE: function(strModeType, ModeValue) {
+			if (strModeType === undefined || strModeType === null) strModeType = "";
+			if (ModeValue === undefined || ModeValue === null) ModeValue = "";
+			if (strModeType === "") return false;
+			strModeType = strModeType.toLowerCase();
+			this.PageData['stfmod_' + strModeType] = ModeValue;
+		},
+		SEND_PRINT_RAWDATA: function(strRawData) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (strRawData !== undefined) {
+				this.PageData["raw_print_data"] = strRawData;
+				if (this.DoPostDatas("sendrawdata") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		WRITE_FILE_TEXT: function(WriteMode, strFileName, strText) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strFileName !== undefined && strText !== undefined) {
+					this.PageData["write_file_mode"] = WriteMode;
+					this.PageData["write_file_name"] = strFileName;
+					this.PageData["write_file_text"] = strText;
+					if (this.DoPostDatas("writefiletext") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoWriteFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_DIALOG_VALUE: function(oType, oPreValue) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (oType !== undefined && oPreValue !== undefined) {
+				if (this.blIslocal) {
+					this.PageData["dialog_type"] = oType;
+					this.PageData["dialog_value"] = oPreValue;
+					if (this.DoPostDatas("dialog") == true) {
+						this.GetLastResult(true);
+						tResult = this.GetTaskID();
+					}
+				} else console.info(this.altMessageNoReadWriteFile);
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		WRITE_PORT_DATA: function(strPortName, strData) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (strPortName !== undefined && strData !== undefined) {
+				this.PageData["write_port_name"] = strPortName;
+				this.PageData["write_port_data"] = strData;
+				if (this.DoPostDatas("writeportdata") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		READ_PORT_DATA: function(strPortName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (strPortName !== undefined) {
+				this.PageData["read_port_name"] = strPortName;
+				if (this.DoPostDatas("readportdata") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_SYSTEM_INFO: function(InfoType) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (InfoType !== undefined) {
+				this.PageData["system_info_type"] = InfoType;
+				if (this.DoPostDatas("getsysteminfo") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_FILE_TEXT: function(strFileName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strFileName !== undefined) {
+					this.PageData["get_file_name"] = strFileName;
+					if (this.DoPostDatas("getfiletext") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoReadFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		IS_FILE_EXIST: function(strFileName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strFileName !== undefined) {
+					this.PageData["file_exist_name"] = strFileName;
+					if (this.DoPostDatas("isfileexist") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoReadFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_FILE_TIME: function(strFileName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strFileName !== undefined) {
+					this.PageData["file_time_name"] = strFileName;
+					if (this.DoPostDatas("getfiletime") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoReadFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_PRINT_INIFFNAME: function(strPrintTaskName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strPrintTaskName !== undefined) {
+					this.PageData["iniff_task_name"] = strPrintTaskName;
+					if (this.DoPostDatas("getiniffname") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoReadFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_VALUE: function(ValueType, ValueIndex) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (ValueType !== undefined && ValueIndex !== undefined) {
+				this.PageData["get_value_type"] = ValueType;
+				this.PageData["get_value_index"] = ValueIndex;
+				if (this.DoPostDatas("dogetvalue") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		ADD_PRINT_DATA: function(DataType, oValue) {
+			if (DataType !== undefined && oValue !== null) {
+				if (DataType.toLowerCase().indexOf("programdata") > -1) {
+					this.PageData["add_print_program_data"] = oValue;
+					return true;
+				}
+			}
+		},
+		SHOW_CHART: function() {},
+		DO_ACTION: function(strActName, strActValue) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (strActName !== undefined && strActValue !== undefined) {
+				this.PageData["do_action_name"] = strActName;
+				this.PageData["do_action_value"] = strActValue;
+				if (this.DoPostDatas("doaction") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		Create_Printer_List: function(oElement, blNoDetailForAO) {
+			while (oElement.childNodes.length > 0) {
+				var children = oElement.childNodes;
+				for (var i = 0; i < children.length; i++)
+					oElement.removeChild(children[i]);
+			};
+			var iCount = this.GET_PRINTER_COUNT();
+			var iIndex = 0;
+			for (var i = 0; i < iCount; i++) {
+				var option = document.createElement('option');
+				option.innerHTML = this.GET_PRINTER_NAME(i);
+				option.value = iIndex;
+				oElement.appendChild(option);
+				iIndex++;
+				if (this.VERSION_EXT) {
+					if (this.Printers["list"][i]["subdevlist"].length > 0) {
+						if (blNoDetailForAO) option.innerHTML = option.innerHTML + ',..';
+						else {
+							var strDrivename = option.innerHTML;
+							for (var j = 0; j < this.Printers["list"][i]["subdevlist"].length; j++) {
+								var strDevID = this.Printers["list"][i]["subdevlist"][j].id;
+								var strDevName = this.Printers["list"][i]["subdevlist"][j].name;
+								if (j == 0) {
+									option.innerHTML = strDrivename + ',' + strDevName;
+									option.value = strDrivename + ',' + strDevID + ';' + strDevName;
+								} else {
+									option = document.createElement('option');
+									option.innerHTML = strDrivename + ',' + strDevName;
+									option.value = strDrivename + ',' + strDevID + ';' + strDevName;
+									oElement.appendChild(option);
+									iIndex++;
+									if (iIndex >= 100) return;
+								}
+							}
+						}
+					}
+				}
+			}
+		},
+		Create_PageSize_List: function(oElement, printIndex) {
+			while (oElement.childNodes.length > 0) {
+				var children = oElement.childNodes;
+				for (var i = 0; i < children.length; i++)
+					oElement.removeChild(children[i]);
+			};
+			var strPageSizeList = CLODOP.GET_PAGESIZES_LIST(printIndex, "\n");
+			var Options = new Array();
+			Options = strPageSizeList.split("\n");
+			for (var i in Options) {
+				var option = document.createElement('option');
+				option.innerHTML = Options[i];
+				option.value = Options[i];
+				oElement.appendChild(option);
+			}
+		},
+		SET_BRIDGE_INDEX: function(strValue) {
+			if (this.Printers === undefined) return false;
+			else {
+				strValue = (strValue + "").replace(/^\s+|\s+$/g, "");
+				for (var vNO in this.Printers["list"]) {
+					var strDriverOrName = this.Printers["list"][vNO].name;
+					if (strDriverOrName == "(AO)Client-Bridge Driver") {
+						this.PageData["printerindex"] = vNO;
+						this.PageData["printersubid"] = strValue;
+						return true;
+					}
+				}
+				return false;
+			}
+		},
+		Get_AOPrinters_List: function(DriverNameOrIndex, strListName, strSplit) {
+			if (!strSplit) strSplit = "\n";
+			if (!strListName) strListName = "name";
+			return CLODOP.GET_PAGESIZES_LIST(DriverNameOrIndex, strSplit, "subdevlist", strListName);
+		},
+		Get_AOBridges_List: function(DriverNameOrIndex, strListName, strSplit) {
+			return CLODOP.Get_AOPrinters_List(DriverNameOrIndex, strListName, strSplit);
+		},
+		Get_AOBridge_List: function(strListName, strSplit) {
+			return CLODOP.Get_AOPrinters_List("(AO)Client-Bridge Driver", strListName, strSplit);
+		},
+		Get_AOBridge_SubPrinters_List: function(BridgeNameOrIndex, strListName, strSplit, DriverNameOrIndex) {
+			if (!DriverNameOrIndex) DriverNameOrIndex = "(AO)Client-Bridge Driver";
+			if (!strSplit) strSplit = "\n";
+			if (!strListName) strListName = "name";
+			for (var iDrvNO in this.Printers["list"]) {
+				if (DriverNameOrIndex == iDrvNO || DriverNameOrIndex == this.Printers["list"][iDrvNO].name) {
+					for (var iBdgNO in this.Printers["list"][iDrvNO]["subdevlist"]) {
+						var BridgeID = this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].id;
+						var BridgeName = this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].name;
+						if (BridgeNameOrIndex == iBdgNO || BridgeNameOrIndex == BridgeID + ";" + BridgeName) {
+							var strList = "";
+							for (var iSsbPNO in this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].ssbprinter["list"]) {
+								if (iSsbPNO != "0") strList = strList + strSplit;
+								if (strListName.toLowerCase() == "id") strList = strList + iSsbPNO;
+								else
+									strList = strList + this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].ssbprinter["list"][iSsbPNO].name;
+							}
+							return strList;
+						}
+					}
+				}
+			}
+			return "";
+		},
+		Get_AOBridge_SubPrinters_PageSize_List: function(BridgeNameOrIndex, SubPrinterNameOrIndex, strSplit,
+			DriverNameOrIndex) {
+			if (!DriverNameOrIndex) DriverNameOrIndex = "(AO)Client-Bridge Driver";
+			if (!strSplit) strSplit = "\n";
+			for (var iDrvNO in this.Printers["list"]) {
+				if (DriverNameOrIndex == iDrvNO || DriverNameOrIndex == this.Printers["list"][iDrvNO].name) {
+					for (var iBdgNO in this.Printers["list"][iDrvNO]["subdevlist"]) {
+						var BridgeID = this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].id;
+						var BridgeName = this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].name;
+						if (BridgeNameOrIndex == iBdgNO || BridgeNameOrIndex == BridgeID + ";" + BridgeName) {
+							for (var iSsbPNO in this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].ssbprinter["list"]) {
+								if (SubPrinterNameOrIndex == iSsbPNO || SubPrinterNameOrIndex == this.Printers["list"][iDrvNO]["subdevlist"]
+									[iBdgNO].ssbprinter["list"][iSsbPNO].name) {
+									var strList = "";
+									for (var iPageSizeNO in this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].ssbprinter["list"][iSsbPNO][
+											"pagelist"
+										]) {
+										if (iPageSizeNO != "0") strList = strList + strSplit;
+										strList = strList + this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].ssbprinter["list"][iSsbPNO][
+											"pagelist"
+										][iPageSizeNO].name;
+									}
+									return strList;
+								};
+							}
+						}
+					}
+				}
+			}
+			return "";
+		},
+		AddItemArray: function(type, top, left, width, height, strContent, itemname, ShapeType, intPenStyle, intPenWidth,
+			intColor, isLinePosition, BarType, strChartTypess) {
+			if (top === undefined || left === undefined || width === undefined || height === undefined || strContent ===
+				undefined) {
+				return false;
+			}
+			var sCount = this.ItemDatas["count"];
+			sCount++;
+			var oneItem = {};
+			for (var vstyle in this.defStyleJson) {
+				oneItem[vstyle] = this.defStyleJson[vstyle];
+			}
+			oneItem["type"] = type;
+			oneItem["top"] = top;
+			oneItem["left"] = left;
+			oneItem["width"] = width;
+			oneItem["height"] = height;
+			if (strContent != null) {
+				if (typeof strContent === "string" && strContent.indexOf(this.DelimChar) > -1)
+					oneItem["content"] = strContent.replace(new RegExp(this.DelimChar, 'g'), '');
+				else
+					oneItem["content"] = strContent;
+			}
+			if ((itemname !== undefined) && (itemname != null)) oneItem["itemname"] = itemname + "";
+			if ((ShapeType !== undefined) && (ShapeType != null)) oneItem["shapetype"] = ShapeType;
+			if ((intPenStyle !== undefined) && (intPenStyle != null)) oneItem["penstyle"] = intPenStyle;
+			if ((intPenWidth !== undefined) && (intPenWidth != null)) oneItem["penwidth"] = intPenWidth;
+			if ((intColor !== undefined) && (intColor != null)) oneItem["fontcolor"] = intColor;
+			if ((isLinePosition !== undefined) && (isLinePosition != null)) oneItem["lineposition"] = "1";
+			if ((BarType !== undefined) && (BarType != null)) oneItem["fontname"] = BarType;
+			if ((strChartTypess !== undefined) && (strChartTypess != null)) oneItem["charttypess"] = strChartTypess;
+
+			oneItem["beginpage"] = this.defStyleJson["beginpage"];
+			oneItem["beginpagea"] = this.defStyleJson["beginpagea"];
+			this.ItemDatas["count"] = sCount;
+			this.ItemDatas[sCount] = oneItem;
+			this.blNormalItemAdded = true;
+			return true;
+		},
+		RemoveIframes: function() {
+			// #ifndef APP-VUE
+			var obody = document.body || document.getElementsByTagName("body")[0] || document.documentElement;
+			// #endif
+			try {
+				for (var i = 0; i < this.Iframes.length; i++) {
+					var now = (new Date()).getTime();
+					if ((now - this.Iframes[i]["time"]) > this.timeThreshold * 60000) {
+						// #ifndef APP-VUE
+						obody.removeChild(this.Iframes[i]["iframe"]);
+						// #endif
+						this.Iframes.splice(i, 1);
+					}
+				}
+			} catch (err) {};
+		},
+		AddInputElement: function(odocument, oform, name, value) {
+			if (value !== undefined) {
+				var oinput = odocument.createElement("input");
+				oinput.name = name;
+				oinput.type = "hidden";
+				oinput.value = value;
+				oform.appendChild(oinput);
+			}
+		},
+		createPostDataString: function(afterPostAction) {
+			var strData = "act=" + afterPostAction + this.DelimChar;
+			strData = strData + "browseurl=" + window.location.href + this.DelimChar;
+			for (var vMode in this.PageDataEx) {
+				strData = strData + vMode + "=" + this.PageDataEx[vMode] + this.DelimChar;
+			}
+			var PrintModeNamess = "";
+			for (var vMode in this.PageData) {
+				strData = strData + vMode + "=" + this.PageData[vMode] + this.DelimChar;
+				if (vMode != "top" && vMode != "left" && vMode != "width" && vMode != "height" && vMode != "printtask" && vMode !=
+					"printerindex" && vMode != "printerindexa" && vMode != "printersubid" && vMode != "orient" && vMode !=
+					"pagewidth" && vMode != "pageheight" && vMode != "pagename" && vMode != "printcopies" && vMode != "setup_bkimg"
+				)
+					PrintModeNamess = PrintModeNamess + ";" + vMode;
+			}
+			if (PrintModeNamess !== "")
+				strData = strData + "printmodenames=" + PrintModeNamess + this.DelimChar;
+			var StyleClassNamess = "";
+			for (var vClassStyle in this.ItemCNameStyles) {
+				strData = strData + vClassStyle + "=" + this.ItemCNameStyles[vClassStyle] + this.DelimChar;
+				StyleClassNamess = StyleClassNamess + ";" + vClassStyle;
+			}
+			if (StyleClassNamess !== "")
+				strData = strData + "printstyleclassnames=" + StyleClassNamess + this.DelimChar;
+			strData = strData + "itemcount=" + this.ItemDatas["count"] + this.DelimChar;
+			for (var vItemNO in this.ItemDatas) {
+				var ItemStyless = "";
+				for (var vItemxx in this.ItemDatas[vItemNO]) {
+					if (vItemxx != "beginpage" && vItemxx != "beginpagea" && vItemxx != "type" && vItemxx != "top" && vItemxx !=
+						"left" && vItemxx != "width" && vItemxx != "height")
+						ItemStyless = ItemStyless + ";" + vItemxx;
+				}
+				strData = strData + vItemNO + "_itemstylenames" + "=" + ItemStyless + this.DelimChar;
+				for (var vItemxx in this.ItemDatas[vItemNO]) {
+					strData = strData + vItemNO + "_" + vItemxx + "=" + this.ItemDatas[vItemNO][vItemxx] + this.DelimChar;
+				}
+			}
+			return strData;
+		},
+		wsDoPostDatas: function(afterPostAction) {
+			var strData = "charset=丂" + this.DelimChar;
+			strData = strData + "tid=" + this.GetTaskID() + this.DelimChar;
+			strData = strData + this.createPostDataString(afterPostAction);
+			return this.wsSend("post:" + strData);
+		},
+		DoPostDatas: function(afterPostAction) {
+			if (this.OBO_Mode && this.blOneByone) {
+				console.info(this.altMessageSomeWindowExist);
+				return false;
+			}
+			this.blWorking = true;
+			if (this.blTmpSelectedIndex !== null)
+				this.SET_PRINTER_INDEX(this.blTmpSelectedIndex);
+			if (this.SocketEnable) {
+				return this.wsDoPostDatas(afterPostAction);
+			}
+			// #ifdef APP-VUE
+			return this.wsDoPostDatas(afterPostAction);
+			// #endif
+			this.RemoveIframes();
+			var obody = document.body || document.getElementsByTagName("body")[0] || document.documentElement;
+			var oiframe = document.createElement("iframe");
+			oiframe.setAttribute("src", "about:blank");
+			oiframe.setAttribute("style", "display:none");
+			oiframe.height = 0;
+			obody.appendChild(oiframe);
+			var contentdocument = oiframe.contentWindow.document;
+			contentdocument.write("
");
+			var oform = contentdocument.getElementsByTagName("form")[0];
+			this.AddInputElement(contentdocument, oform, "charset", "丂");
+			this.AddInputElement(contentdocument, oform, "tid", this.GetTaskID());
+			this.AddInputElement(contentdocument, oform, "post", this.createPostDataString(afterPostAction));
+			oform.submit();
+			var IframeMS = {};
+			IframeMS["time"] = (new Date()).getTime();
+			IframeMS["iframe"] = oiframe;
+			this.Iframes.push(IframeMS);
+			return true;
+		},
+		GetLastResult: function(blFOneByone) {
+			if (blFOneByone) this.blOneByone = true;
+			if (this.SocketEnable) {
+				return true;
+			}
+			var url = this.strHostURI + "/c_lastresult.js";
+			url = url + "?times=" + (new Date().getTime());
+			url = url + "&tid=" + this.GetTaskID();
+			url = encodeURI(url).replace("%20", "+");
+			var oscript = document.createElement("script");
+			oscript.src = url;
+			oscript.async = false;
+			oscript.type = "text/javascript";
+			oscript.charset = "utf-8";
+			var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
+			head.insertBefore(oscript, head.firstChild);
+			oscript.onload = oscript.onreadystatechange = function() {
+				if (!oscript.readyState || /loaded|complete/.test(oscript.readyState)) {
+					CLODOP.blOneByone = false;
+					if (CLodop_ACTLastResult)
+						var strResult = decodeURIComponent(CLodop_ACTLastResult);
+					var strResultTaskID = CLodop_ACTTaskID;
+					CLODOP.Result = strResult;
+					if (CLodop_ACTAlert) CLodop_ACTconsole.info();
+					if (CLODOP.On_Return)
+						try {
+							var selfFunc = CLODOP.On_Return;
+							if (strResult == "true" || strResult == "false")
+								CLODOP.On_Return(strResultTaskID, strResult == "true");
+							else
+								CLODOP.On_Return(strResultTaskID, strResult);
+							if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+						} catch (err) {};
+					oscript.onload = oscript.onreadystatechange = null;
+					if (oscript.parentNode) {
+						oscript.parentNode.removeChild(oscript);
+					}
+				}
+			};
+			return true;
+		},
+		DoCPreview: function(sView, iW, iH) {
+			var obody = document.body || document.getElementsByTagName("body")[0] || document.documentElement;
+			if (typeof iW !== "number") iW = Math.round(obody.offsetWidth * 2 / 3);
+			else
+			if (obody.offsetWidth < iW) iW = obody.offsetWidth;
+			if (typeof iH !== "number") iH = Math.round(window.screen.height - 200);
+			else
+			if (window.screen.height < iH) iH = window.screen.height;
+			var url = this.strHostURI + "/c_dopreview";
+			url = url + "?times=" + (new Date().getTime());
+			url = url + "&tid=" + this.GetTaskID();
+			url = url + "&iw=" + iW;
+			url = url + "&ih=" + iH;
+			url = encodeURI(url).replace("%20", "+");
+			this.PopView(sView, url, iW, iH);
+		},
+		PopView: function(sView, strPURL, iW, iH) {
+			try {
+				if (sView && typeof sView === "string" && sView.length > 0) {
+					if (sView === "_dialog") {
+						if (window.showModalDialog) {
+							window.showModalDialog(strPURL, 'dialog', 'center:yes');
+						} else {
+							window.open(strPURL, "", "scrollbars=yes,toolbar=no,left=150,top=100,resizable=yes");
+						}
+					} else
+					if (sView === "_self" || sView === "_top" || sView === "_parent") {
+						window.location.href = strPURL;
+					} else
+					if (sView === "_blank") {
+						this.PreviewBox.create(strPURL, iW, iH);
+					} else
+					if (sView.indexOf("_winopen:") > -1) {
+						var strFeatures = sView.slice(sView.indexOf("_winopen:") + 9);
+						if (strFeatures.indexOf("_blank") > -1)
+							window.open(strPURL, "_blank", strFeatures.slice(strFeatures.indexOf("_blank") + 6));
+						else
+							window.open(strPURL, "", strFeatures);
+					} else
+					if (document.getElementById(sView)) {
+						document.getElementById(sView).src = strPURL;
+					} else
+						console.info("iframe '" + sView + "' not exist!");
+				} else this.PreviewBox.create(strPURL, iW, iH);
+			} catch (err) {
+				console.info("CLODOP PopView " + err);
+			};
+		},
+		creatMyButtonElement: function(strType, strValue) {
+			try {
+				var oElement = document.createElement("");
+			} catch (e) {};
+			if (!oElement) {
+				oElement = document.createElement("input");
+				oElement.type = strType;
+				oElement.value = strValue;
+			}
+			return oElement;
+		},
+		creatLabelElement: function(Type, Value, Width, Left, Top) {
+			var TxtLabel = document.createElement(Type);
+			TxtLabel.innerHTML = Value;
+			TxtLabel.style.cssText = "position:absolute;width:" + Width + "px;left:" + Left + "px;top:" + Top + "px;";
+			return TxtLabel;
+		},
+		SelectBox: {
+			dragapproved: false,
+			offsetx: 0,
+			offsety: 0,
+			tempx: 0,
+			tempy: 0,
+			FrantDiv: undefined,
+			PopDiv: undefined,
+			selPrinter: undefined,
+			selCopies: undefined,
+			closeit: function() {
+				if (CLODOP.SelectBox.PopDiv && CLODOP.SelectBox.PopDiv.parentNode)
+					CLODOP.SelectBox.PopDiv.parentNode.removeChild(CLODOP.SelectBox.PopDiv);
+				if (this.FrantDiv && this.FrantDiv.parentNode)
+					this.FrantDiv.parentNode.removeChild(this.FrantDiv);
+				this.PopDiv = undefined;
+			},
+			initializedrag: function(e) {
+				var we = window.event || e;
+				this.offsetx = we.clientX;
+				this.offsety = we.clientY;
+				this.tempx = parseInt(this.PopDiv.style.left);
+				this.tempy = parseInt(this.PopDiv.style.top);
+				this.dragapproved = true;
+			},
+			drag_drop: function(e) {
+				if (!this.dragapproved) return;
+				var we = window.event || e;
+				this.PopDiv.style.left = we.clientX - this.offsetx + this.tempx + "px";
+				this.PopDiv.style.top = we.clientY - this.offsety + this.tempy + "px";
+			},
+			stopdrag: function() {
+				this.dragapproved = false;
+			},
+			clickOK: function(onlySelect) {
+				CLODOP.PRINTAOK(CLODOP.SelectBox.selPrinter.value, CLODOP.SelectBox.selCopies.value, 0, 0, onlySelect);
+				this.closeit();
+			},
+			create: function(iW, iH, onlySelect) {
+				if (CLODOP.SelectBox.PopDiv) this.closeit();
+				var obody = document.body || document.getElementsByTagName("body")[0] || document.documentElement;
+				var Boxdiv = document.createElement("div");
+				obody.appendChild(Boxdiv);
+				Boxdiv.style.cssText =
+					"position:absolute;z-index:91100;display:block;top:2px;border:1px solid #6B97C1;background:#F5F5F5;color:#000;font-size:13px;";
+				Boxdiv.style.width = iW + "px";
+				Boxdiv.style.left = Math.max((obody.offsetWidth - iW) / 2, 0) + "px";
+				Boxdiv.style.top = Math.max((obody.offsetHeight - iH) / 2, 0) + "px";
+				Boxdiv.style.height = iH + "px";
+				this.PopDiv = Boxdiv;
+				var titleDiv = document.createElement("div");
+				Boxdiv.appendChild(titleDiv);
+				titleDiv.style.cssText =
+					"font: bold 13px Arial;line-height:25px;height:27px;text-indent:5px;color: white;background:#8BACCF";
+				titleDiv.innerHTML = "      打印";
+				titleDiv.onmousedown = function(event) {
+					CLODOP.SelectBox.initializedrag(event);
+				};
+				titleDiv.onmousemove = function(event) {
+					CLODOP.SelectBox.drag_drop(event);
+				};
+				titleDiv.onmouseup = function() {
+					CLODOP.SelectBox.stopdrag();
+				};
+				var icoButton = document.createElement("button");
+				titleDiv.appendChild(icoButton);
+				icoButton.style.cssText = "background:transparent url(" + CLODOP.strHostURI +
+					"/c_favicon.ico) no-repeat scroll 0 0px;margin-left:5px;position:absolute;height:20px;line-height:100px;width:34px;left:3px;border:0;top:5px";
+				var CloseButton = document.createElement("button");
+				titleDiv.appendChild(CloseButton);
+				CloseButton.style.cssText = "background:transparent url(" + CLODOP.strHostURI +
+					"/images/c_winclose.png) no-repeat scroll 0 0px;margin-right:5px;position:absolute;height:20px;line-height:100px;width:34px;right:3px;border:0;top:4px";
+				CloseButton.onclick = function() {
+					CLODOP.SelectBox.closeit();
+					if (onlySelect && CLODOP.On_Return) {
+						var selfFunc = CLODOP.On_Return;
+						CLODOP.On_Return(0, -1);
+						if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+					}
+				};
+				var areaDiv = document.createElement("div");
+				Boxdiv.appendChild(areaDiv);
+				areaDiv.style.cssText = "background:#F5F5F5;color:#000;border:0px;left:0px;top:0px;";
+				areaDiv.style.width = iW - 2 + "px";
+				areaDiv.style.height = (iH - 27) + "px";
+				var OKButton = CLODOP.creatMyButtonElement("button", "确定");
+				Boxdiv.appendChild(OKButton);
+				OKButton.style.cssText = "position:absolute;width:80px;height:23px;";
+				OKButton.style.left = "110px";
+				OKButton.style.top = (iH - 64) + "px";
+				OKButton.onclick = function() {
+					CLODOP.SelectBox.clickOK(onlySelect);
+				};
+				var CancelButton = CLODOP.creatMyButtonElement("button", "取消");
+				Boxdiv.appendChild(CancelButton);
+				CancelButton.style.cssText = "position:absolute;width:80px;;height:23px;";
+				CancelButton.style.left = "240px";
+				CancelButton.style.top = (iH - 64) + "px";
+				CancelButton.onclick = function() {
+					CLODOP.SelectBox.closeit();
+					if (onlySelect && CLODOP.On_Return) {
+						var selfFunc = CLODOP.On_Return;
+						CLODOP.On_Return(0, -1);
+						if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+					}
+				};
+				areaDiv.appendChild(CLODOP.creatLabelElement("span", "选打印机:", 200, 46, 67));
+				var oSelect = document.createElement("select");
+				Boxdiv.appendChild(oSelect);
+				this.selPrinter = oSelect;
+				oSelect.style.cssText = "position:absolute;size:1;width:212px;left:110px;top:62px;";
+				CLODOP.Create_Printer_List(oSelect);
+				areaDiv.appendChild(CLODOP.creatLabelElement("span", "打印份数:", 200, 46, 121));
+				var oCopies = CLODOP.creatMyButtonElement("text", "1");
+				Boxdiv.appendChild(oCopies);
+				this.selCopies = oCopies;
+				oCopies.style.cssText = "position:absolute;size:1;width:30px;left:110px;top:117px;";
+				this.FrantDiv = document.createElement("div");
+				obody.appendChild(this.FrantDiv);
+				this.FrantDiv.style.cssText =
+					"border:0px;left:0px;top:0px;filter: alpha(opacity=20); position: fixed; opacity: 0.2;-moz-opacity: 0.2; _position: absolute;z-index:91009; over-flow: hidden;";
+				if (CLODOP.Browser.IE && (document.compatMode == "BackCompat" || navigator.userAgent.indexOf("MSIE 6.0") > 0)) {
+					this.FrantDiv.style.width = obody.scrollWidth + "px";
+					this.FrantDiv.style.height = obody.scrollHeight + "px";
+				} else {
+					this.FrantDiv.style.width = "100%";
+					this.FrantDiv.style.height = "100%";
+				}
+			}
+		},
+		PreviewBox: {
+			dragapproved: false,
+			offsetx: 0,
+			offsety: 0,
+			tempx: 0,
+			tempy: 0,
+			FrantDiv: undefined,
+			PopDiv: undefined,
+			ContentFrame: undefined,
+			closeit: function(oSelf) {
+				if (CLODOP.PreviewBox.PopDiv && CLODOP.PreviewBox.PopDiv.parentNode)
+					CLODOP.PreviewBox.PopDiv.parentNode.removeChild(CLODOP.PreviewBox.PopDiv);
+				if (this.FrantDiv && this.FrantDiv.parentNode)
+					this.FrantDiv.parentNode.removeChild(this.FrantDiv);
+				this.PopDiv = undefined;
+			},
+			initializedrag: function(e, oSelf) {
+				var we = window.event || e;
+				this.offsetx = we.clientX;
+				this.offsety = we.clientY;
+				this.tempx = parseInt(oSelf.style.left);
+				this.tempy = parseInt(oSelf.style.top);
+				this.dragapproved = true;
+			},
+			drag_drop: function(e, oSelf) {
+				if (!this.dragapproved) return;
+				var we = window.event || e;
+				oSelf.style.left = we.clientX - this.offsetx + this.tempx + "px";
+				oSelf.style.top = we.clientY - this.offsety + this.tempy + "px";
+			},
+			stopdrag: function() {
+				this.dragapproved = false;
+				if (this.ContentFrame) this.ContentFrame.style.display = "block";
+			},
+			create: function(strURL, iW, iH) {
+				if (CLODOP.PreviewBox.PopDiv) this.closeit();
+				var obody = document.body || document.getElementsByTagName("body")[0] || document.documentElement;
+				var vBoxDiv = document.createElement("div");
+				obody.appendChild(vBoxDiv);
+				vBoxDiv.style.cssText =
+					"position:absolute;z-index:91100;display:block;top:2px;border:1px solid #6B97C1;font-size:13px;";
+				vBoxDiv.style.width = iW + "px";
+				var iLeft = (obody.offsetWidth - iW) / 2;
+				if (window.screen.width < obody.offsetWidth) iLeft = (window.screen.width - iW) / 2;
+				if (iLeft < 0) iLeft = 0;
+				vBoxDiv.style.left = iLeft + "px";
+				vBoxDiv.style.height = iH + "px";
+				vBoxDiv.onmousedown = function(event) {
+					CLODOP.PreviewBox.initializedrag(event, this);
+				};
+				vBoxDiv.onmouseup = function() {
+					CLODOP.PreviewBox.stopdrag();
+				};
+				vBoxDiv.onmousemove = function(event) {
+					CLODOP.PreviewBox.drag_drop(event, this);
+				};
+				this.PopDiv = vBoxDiv;
+				var titleDiv = document.createElement("div");
+				vBoxDiv.appendChild(titleDiv);
+				titleDiv.style.cssText =
+					"position:absolute;left:0px;width:100%;font: bold 14px Arial;line-height:27px;height:27px;text-indent:26px;color: white;background:#8BACCF";
+				titleDiv.innerHTML = "打印预览";
+				var icoButton = document.createElement("button");
+				titleDiv.appendChild(icoButton);
+				icoButton.style.cssText = "background:transparent url(" + CLODOP.strHostURI +
+					"/c_favicon.ico) no-repeat scroll 0 0px;margin-left:5px;position:absolute;height:20px;line-height:100px;width:34px;left:3px;border:0;top:5px";
+				var CloseButton = document.createElement("button");
+				titleDiv.appendChild(CloseButton);
+				CloseButton.style.cssText = "background:transparent url(" + CLODOP.strHostURI +
+					"/images/c_winclose.png) no-repeat scroll 0 0px;margin-right:5px;position:absolute;height:20px;line-height:100px;width:34px;right:3px;border:0;top:4px";
+				CloseButton.onclick = function() {
+					CLODOP.PreviewBox.closeit(this);
+				};
+				var areaDiv = document.createElement("div");
+				vBoxDiv.appendChild(areaDiv);
+				areaDiv.style.cssText = "background:#F5F5F5;color:#000;border:0px;left:0px;top:0px;";
+				areaDiv.style.width = iW + "px";
+				areaDiv.style.height = (iH - 0) + "px";
+				this.ContentFrame = document.createElement("iframe");
+				areaDiv.appendChild(this.ContentFrame);
+				this.ContentFrame.style.cssText = "width:100%;height:100%;";
+				this.ContentFrame.src = strURL;
+				this.ContentFrame.frameBorder = "no";
+				this.FrantDiv = document.createElement("div");
+				obody.appendChild(this.FrantDiv);
+				this.FrantDiv.style.cssText =
+					"border:0px;left:0px;top:0px;filter: alpha(opacity=20); position: fixed; opacity: 0.2; -moz-opacity: 0.2; _position: absolute;z-index:91009; over-flow: hidden;";
+				if (CLODOP.Browser.IE && (document.compatMode == "BackCompat" || navigator.userAgent.indexOf("MSIE 6.0") > 0)) {
+					this.FrantDiv.style.width = obody.scrollWidth + "px";
+					this.FrantDiv.style.height = obody.scrollHeight + "px";
+				} else {
+					this.FrantDiv.style.width = "100%";
+					this.FrantDiv.style.height = "100%";
+				}
+			}
+		}
+	};
+	if (win.CLODOP2015_7028 && win.CLODOP2015_7028.Priority && win.CLODOP2015_7028.Priority > CLODOP.Priority) {
+		CLODOP = win.CLODOP2015_7028;
+		win.CLODOP_OK_Priority = win.CLODOP2015_7028.Priority;
+		return;
+	}
+	win.LODOP = CLODOP;
+	win.CLODOP = CLODOP;
+	win.CLODOP2015_7028 = CLODOP;
+	win.CLODOP_OK_Priority = CLODOP.Priority;
+
+	// #ifndef APP-VUE
+	win.CLODOP.DoInit();
+	// #endif
+	console.log("init userAgent:" + navigator.userAgent );
+	if (navigator.userAgent.indexOf("Lodop") < 0) win.CLODOP.OpenWebSocket();
+})(window);
+
+function getCLodop() {
+	return window.CLODOP2015_7028;
+}
+
+export {
+	getCLodop
+}; //导出getLodop
\ No newline at end of file
diff --git a/ilsApp/common/print/CLodopfuncs.js b/ilsApp/common/print/CLodopfuncs.js
new file mode 100644
index 0000000..1636696
--- /dev/null
+++ b/ilsApp/common/print/CLodopfuncs.js
@@ -0,0 +1,1900 @@
+/* eslint-disable */
+
+// #ifdef APP-PLUS
+window = {
+	location: {
+		href: 'http://127.0.0.1/print'
+	}
+};
+// #endif
+(function(win) {
+	let printListDev = [];
+	let printListOnline = [];
+	var CLODOP = {
+		strWebPageID: "7BCAAAH",
+		strTaskID: "",
+		strHostURI: "http://192.168.1.56:8000",
+		wsHostURI: "ws://192.168.1.56:8000/c_webskt/",
+		VERSION: "6.5.7.2",
+		IVERSION: "6572",
+		CVERSION: "6.5.7.2",
+		HTTPS_STATUS: 2,
+		VERSION_EXT: true,
+		iBaseTask: 0,
+		timeThreshold: 5,
+		Priority: 0,
+		blIslocal: true,
+		Iframes: [],
+		ItemDatas: {},
+		PageData: {},
+		defStyleJson: {},
+		PageDataEx: {},
+		ItemCNameStyles: {},
+		blWorking: false,
+		blNormalItemAdded: false,
+		blTmpSelectedIndex: null,
+		Caption: null,
+		Color: null,
+		CompanyName: null,
+		strBroadcastMS: null,
+		Border: null,
+		Inbrowse: null,
+		webskt: null,
+		SocketEnable: false,
+		SocketOpened: false,
+		NoClearAfterPrint: false,
+		On_Return_Remain: false,
+		On_Broadcast_Remain: false,
+		On_Return: null,
+		Result: null,
+		iTrySendTimes: 0,
+		OBO_Mode: 1,
+		blOneByone: false,
+		DelimChar: "\f\f",
+		Printers: {
+			"default": "1",
+			"list":[]
+		},
+		altMessageWebSocketInvalid: "WebSocket没准备好,点确定继续...",
+		altMessageNoReadWriteFile: "不能远程读写文件!",
+		altMessageNoReadFile: "不能远程读文件!",
+		altMessageNoWriteFile: "不能远程写文件!",
+		altMessageNoPrintDesign: "不能远程打印设计!",
+		altMessageNoPrintSetup: "不能远程打印维护!",
+		altMessageSomeWindowExist: "有窗口已打开,先关闭它(持续如此时请刷新页面)!",
+		altMessageBusy: "上一个请求正忙,请稍后再试!",
+		Browser: (function() {
+			// #ifdef APP-PLUS
+			navigator = {
+				userAgent: `Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36`
+			};
+			// #endif
+			var ua = navigator.userAgent;
+			var isOpera = Object.prototype.toString.call(window.opera) == "[object Opera]";
+			return {
+				IE: !!window.attachEvent && !isOpera,
+				Opera: isOpera,
+				WebKit: ua.indexOf("AppleWebKit/") > -1,
+				Gecko: ua.indexOf("Gecko") > -1 && ua.indexOf("KHTML") === -1,
+				MobileSafari: /Apple.*Mobile/.test(ua)
+			}
+		})(),
+		GetTaskID: function() {
+			if (!this.strTaskID || this.strTaskID == "") {
+				var dt = new Date();
+				this.iBaseTask++;
+				this.strTaskID = "" + dt.getHours() + dt.getMinutes() + dt.getSeconds() + "_" + this.iBaseTask;
+			}
+			return this.strWebPageID + this.strTaskID;
+		},
+		DoInit: function() {
+			if (process.env.NODE_ENV === 'development') {
+				//开发环境
+				CLODOP.Printers.list = printListDev
+			} else {
+				//生产环境
+				CLODOP.Printers.list = printListOnline
+			}
+			this.strTaskID = "";
+			if (this.NoClearAfterPrint) return;
+			this.ItemDatas = {
+				"count": 0
+			};
+			this.PageData = {};
+			this.ItemCNameStyles = {};
+			this.defStyleJson = {
+				"beginpage": 0,
+				"beginpagea": 0
+			};
+			this.blNormalItemAdded = false;
+			// win.CLODOP.OpenWebSocket();
+		},
+		OpenWebSocket: function(rest) {
+			// #ifdef APP-PLUS
+			if (window.On_CLodop_Opened) {
+				if (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout("window.On_CLodop_Opened(CLODOP)", 1);
+			}
+			// #endif
+			if (!window.WebSocket && !window.MozWebSocket) {
+				if (window.On_CLodop_Opened) {
+					if (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout("window.On_CLodop_Opened(CLODOP)", 1);
+				}
+			}
+			console.log(this.webskt)
+			console.log(CLODOP.wsHostURI)
+			console.log(rest)
+			let ip = uni.getStorageSync('fl_ip') || '192.168.1.56';
+			let wsHostURI = `ws://${ip}:8000/c_webskt/`
+			this.SocketEnable = true;
+			try {
+				if (!this.webskt || this.webskt.readyState == 3 || rest) {
+					console.log('链接')
+					if (!window.WebSocket && window.MozWebSocket) window.WebSocket = window.MozWebSocket;
+					this.webskt = uni.connectSocket({
+						url: wsHostURI,
+						success: res => {
+							console.info(res);
+							console.log('链接成功')
+						},
+						fail: res => {
+							console.info(res);
+							console.log('链接失败')
+						},
+						complete: res => {
+							console.info(res);
+							console.log('链接完成')
+						}
+					});
+					console.log(this.webskt)
+					this.webskt.onOpen(function(e) {
+						CLODOP.SocketOpened = true;
+						if (window.On_CLodop_Opened) {
+							if (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout(window.On_CLodop_Opened(CLODOP), 10000);
+						}
+					});
+					this.webskt.onMessage(function(e) {
+						console.log(e);
+						CLODOP.resultHandle(e.data);
+					});
+					this.webskt.onClose(function(e) {
+						if (!CLODOP.SocketOpened) {
+							CLODOP.SocketEnable = false;
+							return;
+						}
+						// setTimeout(CLODOP.OpenWebSocket(), 2000);
+					});
+					this.webskt.onError(function(e) {
+						console.info(e);
+					});
+				}
+			} catch (err) {
+				this.webskt = null;
+				if (err.message.indexOf("SecurityError") > -1)
+					this.SocketEnable = false;
+				else
+					setTimeout(()=>{
+          CLODOP.OpenWebSocket()
+        }, 2000);
+			}
+		},
+		resultHandle: function(data) {
+			CLODOP.blOneByone = false;
+			var strResult = data;
+			CLODOP.Result = strResult;
+			try {
+				var strFTaskID = null;
+				var iPos = strResult.indexOf("=");
+				if (iPos >= 0 && iPos < 30) {
+					strFTaskID = strResult.slice(0, iPos);
+					strResult = strResult.slice(iPos + 1);
+				}
+				if (strFTaskID.indexOf("ErrorMS") > -1) {
+					console.info(strResult);
+					return;
+				}
+				if (strFTaskID.indexOf("BroadcastMS") > -1) {
+					CLODOP.strBroadcastMS = strResult;
+					if (CLODOP.On_Broadcast) {
+						var selfFunc = CLODOP.On_Broadcast;
+						CLODOP.On_Broadcast(strResult);
+						if (!CLODOP.On_Broadcast_Remain && selfFunc === CLODOP.On_Broadcast)
+							CLODOP.On_Broadcast = null;
+					}
+					return;
+				}
+				if (CLODOP.On_Return) {
+					var selfFunc = CLODOP.On_Return;
+					if ((strResult.toLowerCase() == "true") || (strResult.toLowerCase() == "false"))
+						CLODOP.On_Return(strFTaskID, strResult.toLowerCase() == "true");
+					else
+						CLODOP.On_Return(strFTaskID, strResult);
+					if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+				}
+			} catch (err) {
+				console.log(err);
+			};
+		},
+		wsSend: function(strData) {
+			// console.info(strData);
+			console.log(this.webskt);
+			console.log(this.wsHostURI);
+			console.log(11);
+			if (this.webskt && this.webskt.readyState == 1) {
+				this.Result = null;
+				this.iTrySendTimes = 0;
+				this.webskt.send({
+					data: strData,
+					success: res => {
+						console.info(res);
+					},
+					fail: res => {
+						console.info(res);
+					}
+				});
+				return true;
+			} else {
+				this.iTrySendTimes++;
+				console.log(this.iTrySendTimes);
+				if (this.iTrySendTimes <= 1) {
+					this.OpenWebSocket();
+					setTimeout(()=>{
+						CLODOP.wsSend(strData)
+					}, 1000);
+				}
+			}
+		},
+		FORMAT: function(oType, oValue) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (oType !== undefined && oValue !== undefined) {
+				if (oType.replace(/^\s+|\s+$/g, "").toLowerCase().indexOf("time:") == 0) {
+					oType = oType.replace(/^\s+|\s+$/g, "").slice(5);
+					if (oValue.toLowerCase().indexOf("now") > -1) oValue = (new Date()).toString();
+					if (oValue.toLowerCase().indexOf("date") > -1) oValue = (new Date()).toString();
+					if (oValue.toLowerCase().indexOf("time") > -1) oValue = (new Date()).toString();
+					var TypeYMD = "ymd";
+					if (oValue.toLowerCase().indexOf("ymd") > -1) {
+						TypeYMD = "ymd";
+						oValue = oValue.slice(3);
+					}
+					if (oValue.toLowerCase().indexOf("dmy") > -1) {
+						TypeYMD = "dmy";
+						oValue = oValue.slice(3);
+					}
+					if (oValue.toLowerCase().indexOf("mdy") > -1) {
+						TypeYMD = "mdy";
+						oValue = oValue.slice(3);
+					}
+					oValue = oValue.replace(/ [^ ]*\+[^ ]* /g, " ");
+					oValue = oValue.replace(/\(.*\)/g, " ");
+					oValue = oValue.replace(/星期日|星期一|星期二|星期三|星期四|星期五|星期六/g, " ");
+					oValue = oValue.replace(/[A-Za-z]+day|Mon|Tue|Wed|Thu|Fri|Sat|Sun/g, " ");
+					var aMonth = 0;
+					var exp = new RegExp("Oct[A-Za-z]*|十月|10月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 10;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Nov[A-Za-z]*|十一月|11月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 11;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Dec[A-Za-z]*|十二月|12月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 12;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Jan[A-Za-z]*|一月|01月|1月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 1;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Feb[A-Za-z]*|二月|02月|2月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 2;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Mar[A-Za-z]*|三月|03月|3月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 3;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Apr[A-Za-z]*|四月|04月|4月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 4;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("May[A-Za-z]*|五月|05月|5月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 5;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Jun[A-Za-z]*|六月|06月|6月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 6;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Jul[A-Za-z]*|七月|07月|7月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 7;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Aug[A-Za-z]*|八月|08月|8月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 8;
+						oValue = oValue.replace(exp, "");
+					}
+					exp = new RegExp("Sep[A-Za-z]*|九月|09月|9月", "i");
+					if (oValue.match(exp) !== null) {
+						aMonth = 9;
+						oValue = oValue.replace(exp, "");
+					}
+					oValue = oValue.replace(/日|秒/g, " ");
+					oValue = oValue.replace(/时|分/g, ":");
+					var subTime = oValue.match(/ \d+:\d+:\d+/);
+					if (subTime == null) subTime = "";
+					oValue = oValue.replace(/ \d+:\d+:\d+/, "") + subTime;
+					var dValue = new Date();
+					var iYear = 0;
+					var iMonth = 0;
+					var iDate = 0;
+					var iHour = 0;
+					var iMinutes = 0;
+					var iSecond = 0;
+					var tmpValue = oValue;
+					var sValue = "";
+					var MC1 = 0;
+					MC2 = 0;
+					MC3 = 0;
+					sValue = tmpValue.match(/\d+/);
+					if (sValue !== null) {
+						MC1 = parseInt(sValue[0]);
+						tmpValue = tmpValue.replace(/\d+/, "");
+					}
+					sValue = tmpValue.match(/\d+/);
+					if (sValue !== null) {
+						MC2 = parseInt(sValue[0]);
+						tmpValue = tmpValue.replace(/\d+/, "");
+					}
+					if (aMonth <= 0) {
+						sValue = tmpValue.match(/\d+/);
+						if (sValue !== null) {
+							MC3 = parseInt(sValue[0]);
+							tmpValue = tmpValue.replace(/\d+/, "");
+						}
+					}
+					if (aMonth > 0) {
+						iMonth = aMonth;
+						if (MC2 <= 31) {
+							iYear = MC1;
+							iDate = MC2;
+						} else {
+							iYear = MC2;
+							iDate = MC1;
+						}
+					} else
+					if (TypeYMD == "dmy") {
+						iDate = MC1;
+						iMonth = MC2;
+						iYear = MC3;
+					} else
+					if (TypeYMD == "mdy") {
+						iMonth = MC1;
+						iDate = MC2;
+						iYear = MC3;
+					} else {
+						iYear = MC1;
+						iMonth = MC2;
+						iDate = MC3;
+						if (MC3 > 31) {
+							iYear = MC3;
+							iMonth = MC1;
+							iDate = MC2;
+							if (MC1 > 12) {
+								iDate = MC1;
+								iMonth = MC2
+							};
+						} else {
+							if (MC2 > 12) {
+								iYear = MC2;
+								iMonth = MC1;
+							}
+						}
+					}
+					var sValue = tmpValue.match(/\d+/);
+					if (sValue !== null) {
+						iHour = parseInt(sValue[0]);
+						tmpValue = tmpValue.replace(/\d+/, "");
+					}
+					var sValue = tmpValue.match(/\d+/);
+					if (sValue !== null) {
+						iMinutes = parseInt(sValue[0]);
+						tmpValue = tmpValue.replace(/\d+/, "");
+					}
+					var sValue = tmpValue.match(/\d+/);
+					if (sValue !== null) {
+						iSecond = parseInt(sValue[0]);
+						tmpValue = tmpValue.replace(/\d+/, "");
+					}
+					if (oType.toLowerCase() == "isvalidformat")
+						oValue = (iYear > 0 && iMonth > 0 && iMonth <= 12 && iDate > 0 && iDate <= 31);
+					else {
+						if (("" + iYear).length < 4) iYear = iYear + 2000;
+						dValue.setFullYear(iYear, iMonth - 1, iDate);
+						dValue.setHours(iHour);
+						dValue.setMinutes(iMinutes);
+						dValue.setSeconds(iSecond);
+						var iDay = dValue.getDay();
+						if (oType.toLowerCase() == "weekindex")
+							oValue = iDay;
+						else
+						if (oType.toLowerCase() == "floatvalue")
+							oValue = dValue.getTime();
+						else {
+							var sWeek = "";
+							switch (iDay) {
+								case 0:
+									sWeek = "日";
+									break;
+								case 1:
+									sWeek = "一";
+									break;
+								case 2:
+									sWeek = "二";
+									break;
+								case 3:
+									sWeek = "三";
+									break;
+								case 4:
+									sWeek = "四";
+									break;
+								case 5:
+									sWeek = "五";
+									break;
+								case 6:
+									sWeek = "六";
+									break;
+							}
+							oValue = oType.replace(/dddd/ig, "星期" + sWeek);
+							if (/(y+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (iYear + "").substr(4 - RegExp.$1.length));
+							if (/(m+:)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, ("00" + iMinutes + ":").substr(("00" + iMinutes +
+								":").length - RegExp.$1.length));
+							if (/(M+)/i.test(oValue)) {
+								var dsWidth = ("" + iMonth).length > RegExp.$1.length ? ("" + iMonth).length : RegExp.$1.length;
+								oValue = oValue.replace(RegExp.$1, ("00" + iMonth).substr(("00" + iMonth).length - dsWidth));
+							}
+							if (/(d+)/i.test(oValue)) {
+								var dsWidth = ("" + iDate).length > RegExp.$1.length ? ("" + iDate).length : RegExp.$1.length;
+								oValue = oValue.replace(RegExp.$1, ("00" + iDate).substr(("00" + iDate).length - dsWidth));
+							}
+							if (/(H+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, ("00" + iHour).substr(("00" + iHour).length -
+								RegExp.$1.length));
+							if (/(n+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, ("00" + iMinutes).substr(("00" + iMinutes).length -
+								RegExp.$1.length));
+							if (/(s+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, ("00" + iSecond).substr(("00" + iSecond).length -
+								RegExp.$1.length));
+						}
+					}
+					if (CLODOP.On_Return) {
+						var selfFunc = CLODOP.On_Return;
+						CLODOP.On_Return(0, oValue);
+						if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+					}
+					return oValue;
+				} else
+				if (this.blIslocal || oType.indexOf("FILE:") < 0) {
+					this.PageData["format_type"] = oType;
+					this.PageData["format_value"] = oValue;
+					if (this.DoPostDatas("format") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				} else console.info(this.altMessageNoReadWriteFile)
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		SET_PRINT_PAPER: function(Top, Left, Width, Height, strPrintTask) {
+			return this.PRINT_INITA(Top, Left, Width, Height, strPrintTask);
+		},
+		PRINT_INIT: function(strPrintTask,host) {
+			this.wsHostURI = `ws://${host}:8000/c_webskt/`;
+			return this.PRINT_INITA(null, null, null, null, strPrintTask);
+		},
+		PRINT_INITA: function(Top, Left, Width, Height, strPrintTask) {
+			if (Top === undefined || Top === null) Top = "";
+			if (Left === undefined || Left === null) Left = "";
+			if (Width === undefined || Width === null) Width = "";
+			if (Height === undefined || Height === null) Height = "";
+			if (strPrintTask === undefined || strPrintTask === null) strPrintTask = "";
+			this.NoClearAfterPrint = false;
+			this.DoInit();
+			this.PageData["top"] = Top;
+			this.PageData["left"] = Left;
+			this.PageData["width"] = Width;
+			this.PageData["height"] = Height;
+			this.PageData["printtask"] = strPrintTask;
+			return true;
+		},
+		SET_PRINT_MODE: function(strModeType, ModeValue) {
+			if (strModeType === undefined || strModeType === null) strModeType = "";
+			if (ModeValue === undefined || ModeValue === null) ModeValue = "";
+			if (strModeType === "") return false;
+			strModeType = strModeType.toLowerCase();
+			this.PageData[strModeType] = ModeValue;
+			if (strModeType == "noclear_after_print") this.NoClearAfterPrint = ModeValue;
+			if (strModeType.indexOf("window_def") > -1 || strModeType.indexOf("control_printer") > -1) {
+				var tResult = null;
+				if (this.DoPostDatas("onlysetprint") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+				this.DoInit();
+				this.blWorking = false;
+				return tResult;
+			}
+		},
+		ADD_PRINT_TEXT: function(top, left, width, height, strText) {
+			return this.AddItemArray(2, top, left, width, height, strText);
+		},
+		ADD_PRINT_TEXTA: function(itemName, top, left, width, height, strText) {
+			return this.AddItemArray(2, top, left, width, height, strText, itemName);
+		},
+		ADD_PRINT_HTM: function(top, left, width, height, strHTML) {
+			return this.AddItemArray(4, top, left, width, height, strHTML);
+		},
+		ADD_PRINT_HTML: function(top, left, width, height, strHTML) {
+			return this.AddItemArray(1, top, left, width, height, strHTML);
+		},
+		ADD_PRINT_HTMLA: function(itemName, top, left, width, height, strHTML) {
+			return this.AddItemArray(1, top, left, width, height, strHTML, itemName);
+		},
+		ADD_PRINT_BARCODE: function(top, left, width, height, BarType, BarValue) {
+			return this.AddItemArray(9, top, left, width, height, BarValue, null, null, null, null, null, null, BarType);
+		},
+		ADD_PRINT_BARCODEA: function(ItemName, top, left, width, height, BarType, BarValue) {
+			return this.AddItemArray(9, top, left, width, height, BarValue, ItemName, null, null, null, null, null, BarType);
+		},
+		ADD_PRINT_RECTA: function(top, left, width, height, intPenStyle, intPenWidth, intColor) {
+			return this.AddItemArray(3, top, left, width, height, null, null, 2, intPenStyle, intPenWidth, intColor, null);
+		},
+		ADD_PRINT_RECT: function(top, left, width, height, intPenStyle, intPenWidth) {
+			return this.AddItemArray(3, top, left, width, height, null, null, 2, intPenStyle, intPenWidth, null, null);
+		},
+		ADD_PRINT_ELLIPSEA: function(top, left, width, height, intPenStyle, intPenWidth, intColor) {
+			return this.AddItemArray(3, top, left, width, height, null, null, 3, intPenStyle, intPenWidth, intColor, null);
+		},
+		ADD_PRINT_ELLIPSE: function(top, left, width, height, intPenStyle, intPenWidth) {
+			return this.AddItemArray(3, top, left, width, height, null, null, 3, intPenStyle, intPenWidth, null, null);
+		},
+		ADD_PRINT_SHAPE: function(ShapeType, top, left, width, height, intPenStyle, intPenWidth, intColor) {
+			return this.AddItemArray(3, top, left, width, height, null, null, ShapeType, intPenStyle, intPenWidth, intColor,
+				null);
+		},
+		ADD_PRINT_LINE: function(top1, left1, top2, left2, intPenStyle, intPenWidth) {
+			return this.AddItemArray(3, top1, left1, top2, left2, null, null, 0, intPenStyle, intPenWidth, null, "1");
+		},
+		ADD_PRINT_DNLINE: function(Top, Left, Width, Height, intPenStyle, intPenWidth) {
+			return this.AddItemArray(3, Top, Left, Width, Height, null, null, 1, intPenStyle, intPenWidth, null, null);
+		},
+		ADD_PRINT_DNLINEA: function(Top, Left, Width, Height, intPenStyle, intPenWidth, intColor) {
+			return this.AddItemArray(3, Top, Left, Width, Height, null, null, 1, intPenStyle, intPenWidth, intColor, null);
+		},
+		ADD_PRINT_UPLINE: function(Top, Left, Width, Height, intPenStyle, intPenWidth) {
+			return this.AddItemArray(3, Top, Left, Width, Height, null, null, 0, intPenStyle, intPenWidth, null, null);
+		},
+		ADD_PRINT_UPLINEA: function(Top, Left, Width, Height, intPenStyle, intPenWidth, intColor) {
+			return this.AddItemArray(3, Top, Left, Width, Height, null, null, 0, intPenStyle, intPenWidth, intColor, null);
+		},
+		ADD_PRINT_TABLE: function(top, left, width, height, strHTML) {
+			return this.AddItemArray(6, top, left, width, height, strHTML);
+		},
+		ADD_PRINT_PDF: function(top,left,width,height,strContent) {
+		                    if (!this.blIslocal && strContent[1]==":")
+		                    alert("Unable to print or view remote service files"); 
+							else
+		                    return this.AddItemArray(11,top,left,width,height,strContent);
+		                },
+		ADD_PRINT_TBURL: function(top, left, width, height, strURL) {
+			return this.AddItemArray(7, top, left, width, height, strURL);
+		},
+		ADD_PRINT_URL: function(top, left, width, height, strURL) {
+			return this.AddItemArray(5, top, left, width, height, strURL);
+		},
+		ADD_PRINT_IMAGE: function(top, left, width, height, strHTML) {
+			return this.AddItemArray(8, top, left, width, height, strHTML);
+		},
+		ADD_PRINT_CHART: function(top, left, width, height, strChartTypess, strHTML) {
+			return this.AddItemArray(10, top, left, width, height, strHTML, null, null, null, null, null, null, null,
+				strChartTypess);
+		},
+
+		SET_PRINT_PROPERTY: function(ItemNO, intPageType, intHorzOrient, intVertOrient) {
+			this.SET_PRINT_STYLEA(ItemNO, "ItemType", intPageType);
+			this.SET_PRINT_STYLEA(ItemNO, "HOrient", intHorzOrient);
+			this.SET_PRINT_STYLEA(ItemNO, "VOrient", intVertOrient);
+		},
+		SET_PRINT_PROPERTYA: function(ItemName, intPageType, intHorzOrient, intVertOrient) {
+			this.SET_PRINT_PROPERTY(ItemName, intPageType, intHorzOrient, intVertOrient);
+		},
+		SET_PRINT_STYLE: function(strStyleName, StyleValue) {
+			if (strStyleName === undefined || strStyleName === null) strStyleName = "";
+			if (StyleValue === undefined || StyleValue === null) StyleValue = "";
+			if (strStyleName === "") return false;
+			strStyleName = strStyleName.toLowerCase();
+			this.defStyleJson[strStyleName] = StyleValue;
+		},
+		SET_PRINT_STYLEA: function(ItemNo, strKey, Value) {
+			if (ItemNo === undefined || ItemNo === null) ItemNo = "";
+			if (strKey === undefined || strKey === null) strKey = "";
+			if (Value === undefined || Value === null) Value = "";
+			if (ItemNo === "" || strKey === "") return false;
+			if (this.ItemDatas["count"] <= 0) {
+				if (this.PageData["add_print_program_data"] !== undefined) {
+					this.ItemCNameStyles[strKey.toLowerCase() + "-" + ItemNo] = Value;
+					return true;
+				} else {
+					return false;
+				}
+			}
+			strKey = strKey.toLowerCase();
+			if (strKey == "type") return false;
+			var blResult = false;
+			if (ItemNo == 0) {
+				ItemNo = this.ItemDatas["count"];
+			}
+			for (var vItemNO in this.ItemDatas) {
+				var ItemName = this.ItemDatas[vItemNO]["itemname"];
+				if ((ItemNo == vItemNO) || (ItemNo == ItemName) || ((typeof ItemNo === "string") && (typeof ItemName ===
+						"string") && (ItemNo.toUpperCase() == ItemName.toUpperCase()))) {
+					this.ItemDatas[vItemNO][strKey] = Value;
+					blResult = true;
+				}
+			}
+			if (blResult) return true;
+			return false;
+		},
+		SET_PRINT_TEXT_STYLE: function(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment) {
+			this.SET_PRINT_STYLEA(ItemNO, "fontname", strFontName);
+			this.SET_PRINT_STYLEA(ItemNO, "fontsize", intSize);
+			this.SET_PRINT_STYLEA(ItemNO, "bold", intBold);
+			this.SET_PRINT_STYLEA(ItemNO, "italic", intItalic);
+			this.SET_PRINT_STYLEA(ItemNO, "underline", intUnderline);
+			this.SET_PRINT_STYLEA(ItemNO, "alignment", intAlignment);
+		},
+		SET_PRINT_TEXT_STYLEA: function(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color) {
+			this.SET_PRINT_TEXT_STYLE(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment);
+			this.SET_PRINT_STYLEA(ItemNO, "fontcolor", Color);
+		},
+		SET_PRINT_TEXT_STYLEB: function(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color) {
+			this.SET_PRINT_TEXT_STYLEA(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color);
+		},
+		NEWPAGE: function() {
+			this.NewPage();
+		},
+		NewPage: function() {
+			var blSomeNormal = false;
+			var noItemType;
+			for (var vItemNO in this.ItemDatas) {
+				if (vItemNO == "count") noItemType = false;
+				else noItemType = true;
+				for (var vItemxx in this.ItemDatas[vItemNO]) {
+					if (vItemxx == "itemtype") {
+						noItemType = false;
+						if ((this.ItemDatas[vItemNO][vItemxx] == 0) || (this.ItemDatas[vItemNO][vItemxx] == 4)) {
+							blSomeNormal = true;
+							break;
+						}
+					}
+				}
+				if (noItemType) blSomeNormal = true;
+				if (blSomeNormal) break;
+			}
+			if (blSomeNormal) this.defStyleJson["beginpage"] = this.defStyleJson["beginpage"] + 1;
+		},
+		NEWPAGEA: function() {
+			this.NewPageA();
+		},
+		NewPageA: function() {
+			var blSomeNormal = false;
+			var noItemType;
+			for (var vItemNO in this.ItemDatas) {
+				if (vItemNO == "count") noItemType = false;
+				else noItemType = true;
+				for (var vItemxx in this.ItemDatas[vItemNO]) {
+					if (vItemxx == "itemtype") {
+						noItemType = false;
+						if ((this.ItemDatas[vItemNO][vItemxx] == 0) || (this.ItemDatas[vItemNO][vItemxx] == 4)) {
+							blSomeNormal = true;
+							break;
+						}
+					}
+				}
+				if (noItemType) blSomeNormal = true;
+				if (blSomeNormal) break;
+			}
+			if (blSomeNormal) this.defStyleJson["beginpagea"] = this.defStyleJson["beginpagea"] + 1;
+		},
+		PREVIEW: function(sView, iW, iH) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if ((!sView) && (this.blIslocal)) {
+				if (this.DoPostDatas("preview") == true) {
+					this.Result = null;
+					this.GetLastResult(true);
+					tResult = this.GetTaskID();
+				}
+			} else {
+				if (this.DoPostDatas("cpreview") == true) {
+					this.DoCPreview(sView, iW, iH);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		PRINT: function(sView, iW, iH) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.DoPostDatas("print") == true)
+				tResult = this.GetTaskID();
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_PRINTER_COUNT: function() {
+			if (this.Printers === undefined) return 0;
+			else {
+				return this.Printers["list"].length;
+			}
+		},
+		GET_PRINTER_NAME: function(intNO) {
+			if (this.Printers === undefined) return "";
+			else {
+				if (typeof intNO == "string" && intNO.indexOf(":") > -1) {
+					var strPPname = intNO.slice(intNO.indexOf(":") + 1);
+					intNO = intNO.slice(0, intNO.indexOf(":"));
+					if (intNO == -1)
+						return this.Printers["list"][this.Printers["default"]][strPPname];
+					else
+						return this.Printers["list"][intNO][strPPname];
+				} else {
+					if (intNO == -1)
+						return this.Printers["list"][this.Printers["default"]].name;
+					else
+					if (intNO >= 0 && intNO < this.Printers["list"].length)
+						return this.Printers["list"][intNO].name;
+					else return "Printer NO. overflow";
+				}
+			}
+		},
+		GET_PAGESIZES_LIST: function(PNameIndx, Split, ListName, NameOrID) {
+			if (!ListName) ListName = "pagelist";
+			if (!NameOrID) NameOrID = "name";
+			if (this.Printers === undefined) return "";
+			else {
+				if (PNameIndx == -1) PNameIndx = this.Printers["list"][this.Printers["default"]].name;
+				for (var intNO in this.Printers["list"]) {
+					if (PNameIndx == intNO || PNameIndx == this.Printers["list"][intNO].name) {
+						var strList = "";
+						for (var iPNO in this.Printers["list"][intNO][ListName]) {
+							if ((NameOrID == "id") && this.Printers["list"][intNO][ListName][iPNO].id) {
+								if (strList === "") strList = this.Printers["list"][intNO][ListName][iPNO].id;
+								else
+									strList = strList + Split + this.Printers["list"][intNO][ListName][iPNO].id;
+							} else {
+								if (strList === "") strList = this.Printers["list"][intNO][ListName][iPNO].name;
+								else
+									strList = strList + Split + this.Printers["list"][intNO][ListName][iPNO].name;
+							}
+						}
+						return strList;
+					}
+				}
+				return "";
+			}
+		},
+		SET_PRINTER_INDEX: function(strName, strKeyModeName) {
+			if (isNaN(strName)) {
+				this.PageData.printerindex = 1
+			} else{
+				this.PageData.printerindex = strName
+			}
+			return true;
+			if (this.Printers === undefined) return false;
+			else {
+				if (!strKeyModeName) strKeyModeName = "printerindex";
+				strName = strName + "";
+				strName = strName.replace(/^\s+|\s+$/g, "");
+				var iPos = strName.indexOf(",");
+				var strNameOrNO = strName;
+				if (iPos > -1) strNameOrNO = strName.slice(0, iPos);
+				if (strNameOrNO == "-1") {
+					this.PageData[strKeyModeName] = this.Printers["default"];
+					if (iPos > -1) this.PageData["printersubid"] = strName.slice(iPos + 1);
+					return true;
+				} else {
+					for (var vNO in this.Printers["list"]) {
+						var strPrinterName = this.Printers["list"][vNO].name;
+						if (!strPrinterName) continue;
+						if ((strPrinterName.replace(/\\/g, "") == strNameOrNO.replace(/\\/g, "")) || (vNO == strNameOrNO)) {
+							this.PageData[strKeyModeName] = vNO;
+							if (iPos > -1) this.PageData["printersubid"] = strName.slice(iPos + 1);
+							return true;
+						}
+					}
+					return false;
+				}
+			}
+		},
+		SET_PRINTER_INDEXA: function(strName) {
+			return this.SET_PRINTER_INDEX(strName, "printerindexa");
+		},
+		PRINT_DESIGN: function() {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (this.DoPostDatas("print_design") == true) {
+					this.Result = null;
+					this.GetLastResult(true);
+					tResult = this.GetTaskID();
+				}
+			} else console.info(this.altMessageNoPrintDesign);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		PRINT_SETUP: function() {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (this.DoPostDatas("print_setup") == true) {
+					this.Result = null;
+					this.GetLastResult(true);
+					tResult = this.GetTaskID();
+				}
+			} else console.info(this.altMessageNoPrintSetup);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		SET_PRINT_PAGESIZE: function(intOrient, PageWidth, PageHeight, strPageName) {
+			if (intOrient !== undefined && intOrient !== null) this.PageData["orient"] = intOrient;
+			if (PageWidth !== undefined && PageWidth !== null) this.PageData["pagewidth"] = PageWidth;
+			if (PageHeight !== undefined && PageHeight !== null) this.PageData["pageheight"] = PageHeight;
+			if (strPageName !== undefined && strPageName !== null) this.PageData["pagename"] = strPageName;
+		},
+		SET_PRINT_COPIES: function(intCopies) {
+			if (intCopies !== undefined && intCopies !== null) {
+				this.PageData["printcopies"] = intCopies;
+				return true;
+			}
+		},
+		SELECT_PRINTER: function(blPrint) {
+			this.SelectBox.create(388, 240, !blPrint);
+			return true;
+		},
+		PRINTA: function(blPrintB, sView) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (!sView && this.blIslocal) {
+				this.Result = null;
+				if (blPrintB) {
+					if (this.DoPostDatas("printb") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				} else {
+					if (this.DoPostDatas("printa") == true) {
+						this.GetLastResult(true);
+						tResult = this.GetTaskID();
+					}
+				}
+				this.DoInit();
+				this.blWorking = false;
+			} else {
+				this.SELECT_PRINTER(true);
+			}
+			return tResult;
+		},
+		PRINTAOK: function(iPrintIndex, iPrintCopies, iStartNO, iEndNO, onlySelect) {
+			this.SET_PRINTER_INDEX(iPrintIndex);
+			this.SET_PRINT_COPIES(iPrintCopies);
+			if (iStartNO !== undefined && iStartNO !== 0) this.SET_PRINT_MODE("PRINT_START_PAGE", iStartNO);
+			if (iEndNO !== undefined && iEndNO !== 0) this.SET_PRINT_MODE("PRINT_END_PAGE", iEndNO);
+			if (!onlySelect) this.PRINT();
+			else {
+				this.blTmpSelectedIndex = iPrintIndex;
+				if (CLODOP.On_Return) {
+					var selfFunc = CLODOP.On_Return;
+					CLODOP.On_Return(0, iPrintIndex);
+					if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+				}
+			}
+		},
+		SET_LICENSES: function(strCompanyName, strLicense, strLicenseA, strLicenseB) {
+			if ((strCompanyName == 'THIRD LICENSE') && (strLicense == "")) {
+				if (strLicenseA && strLicenseA !== "") this.PageDataEx["licensec"] = strLicenseA;
+				if (strLicenseB && strLicenseB !== "") this.PageDataEx["licensed"] = strLicenseB;
+			} else if ((strCompanyName == 'LICENSE TETCODE') && (strLicense == "") && (strLicenseB == "")) {
+				if (strLicenseA && strLicenseA !== "") this.PageDataEx["Licensetetcode"] = strLicenseA;
+			} else {
+				if (strCompanyName && strCompanyName !== "") this.PageDataEx["companyname"] = strCompanyName;
+				if (strLicense && strLicense !== "") this.PageDataEx["license"] = strLicense;
+				if (strLicenseA && strLicenseA !== "") this.PageDataEx["licensea"] = strLicenseA;
+				if (strLicenseB && strLicenseB !== "") this.PageDataEx["licenseb"] = strLicenseB;
+			}
+		},
+		PRINTB: function() {
+			return this.PRINTA(true);
+		},
+		PREVIEWA: function() {
+			return this.PREVIEW();
+		},
+		PREVIEWB: function() {
+			return this.PREVIEW();
+		},
+		ADD_PRINT_SETUP_BKIMG: function(strContent) {
+			if (strContent !== undefined && strContent !== null) {
+				this.PageData["setup_bkimg"] = strContent;
+				return true;
+			}
+		},
+		SET_PREVIEW_WINDOW: function(intDispMode, intToolMode, blDirectPrint, oWidth, oHeight, strPButtonCaptoin) {
+			if (intDispMode !== undefined && intDispMode !== null) this.PageData["pvw_dispmode"] = intDispMode;
+			if (intToolMode !== undefined && intToolMode !== null) this.PageData["pvw_toolmode"] = intToolMode;
+			if (blDirectPrint !== undefined && blDirectPrint !== null) this.PageData["pvw_directprint"] = blDirectPrint;
+			if (oWidth !== undefined && oWidth !== null) this.PageData["pvw_width"] = oWidth;
+			if (oHeight !== undefined && oHeight !== null) this.PageData["pvw_height"] = oHeight;
+			if (strPButtonCaptoin !== undefined && strPButtonCaptoin !== null) this.PageData["pvw_puttoncaptoin"] =
+				strPButtonCaptoin;
+		},
+		SET_PREVIEW_MODE: function(ModeValue) {
+			if (ModeValue !== undefined) this.PageData["pvw_preview_mode"] = ModeValue;
+		},
+		SET_SHOW_MODE: function(strModeType, ModeValue) {
+			if (strModeType === undefined || strModeType === null) strModeType = "";
+			if (ModeValue === undefined || ModeValue === null) ModeValue = "";
+			if (strModeType === "") return false;
+			strModeType = strModeType.toLowerCase();
+			this.PageData['shwmod_' + strModeType] = ModeValue;
+		},
+		SAVE_TO_FILE: function(strFileName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strFileName) {
+					this.PageData["stf_file_name"] = strFileName;
+					if (this.DoPostDatas("savetofile") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoWriteFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		SET_SAVE_MODE: function(strModeType, ModeValue) {
+			if (strModeType === undefined || strModeType === null) strModeType = "";
+			if (ModeValue === undefined || ModeValue === null) ModeValue = "";
+			if (strModeType === "") return false;
+			strModeType = strModeType.toLowerCase();
+			this.PageData['stfmod_' + strModeType] = ModeValue;
+		},
+		SEND_PRINT_RAWDATA: function(strRawData) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (strRawData !== undefined) {
+				this.PageData["raw_print_data"] = strRawData;
+				if (this.DoPostDatas("sendrawdata") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		WRITE_FILE_TEXT: function(WriteMode, strFileName, strText) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strFileName !== undefined && strText !== undefined) {
+					this.PageData["write_file_mode"] = WriteMode;
+					this.PageData["write_file_name"] = strFileName;
+					this.PageData["write_file_text"] = strText;
+					if (this.DoPostDatas("writefiletext") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoWriteFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_DIALOG_VALUE: function(oType, oPreValue) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (oType !== undefined && oPreValue !== undefined) {
+				if (this.blIslocal) {
+					this.PageData["dialog_type"] = oType;
+					this.PageData["dialog_value"] = oPreValue;
+					if (this.DoPostDatas("dialog") == true) {
+						this.GetLastResult(true);
+						tResult = this.GetTaskID();
+					}
+				} else console.info(this.altMessageNoReadWriteFile);
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		WRITE_PORT_DATA: function(strPortName, strData) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (strPortName !== undefined && strData !== undefined) {
+				this.PageData["write_port_name"] = strPortName;
+				this.PageData["write_port_data"] = strData;
+				if (this.DoPostDatas("writeportdata") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		READ_PORT_DATA: function(strPortName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (strPortName !== undefined) {
+				this.PageData["read_port_name"] = strPortName;
+				if (this.DoPostDatas("readportdata") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_SYSTEM_INFO: function(InfoType) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (InfoType !== undefined) {
+				this.PageData["system_info_type"] = InfoType;
+				if (this.DoPostDatas("getsysteminfo") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_FILE_TEXT: function(strFileName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strFileName !== undefined) {
+					this.PageData["get_file_name"] = strFileName;
+					if (this.DoPostDatas("getfiletext") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoReadFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		IS_FILE_EXIST: function(strFileName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strFileName !== undefined) {
+					this.PageData["file_exist_name"] = strFileName;
+					if (this.DoPostDatas("isfileexist") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoReadFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_FILE_TIME: function(strFileName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strFileName !== undefined) {
+					this.PageData["file_time_name"] = strFileName;
+					if (this.DoPostDatas("getfiletime") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoReadFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_PRINT_INIFFNAME: function(strPrintTaskName) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (this.blIslocal) {
+				if (strPrintTaskName !== undefined) {
+					this.PageData["iniff_task_name"] = strPrintTaskName;
+					if (this.DoPostDatas("getiniffname") == true) {
+						this.GetLastResult(false);
+						tResult = this.GetTaskID();
+					}
+				}
+			} else console.info(this.altMessageNoReadFile);
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		GET_VALUE: function(ValueType, ValueIndex) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (ValueType !== undefined && ValueIndex !== undefined) {
+				this.PageData["get_value_type"] = ValueType;
+				this.PageData["get_value_index"] = ValueIndex;
+				if (this.DoPostDatas("dogetvalue") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		ADD_PRINT_DATA: function(DataType, oValue) {
+			if (DataType !== undefined && oValue !== null) {
+				if (DataType.toLowerCase().indexOf("programdata") > -1) {
+					this.PageData["add_print_program_data"] = oValue;
+					return true;
+				}
+			}
+		},
+		SHOW_CHART: function() {},
+		DO_ACTION: function(strActName, strActValue) {
+			if (this.blWorking) {
+				console.info(this.altMessageBusy);
+				return null;
+			}
+			var tResult = null;
+			if (strActName !== undefined && strActValue !== undefined) {
+				this.PageData["do_action_name"] = strActName;
+				this.PageData["do_action_value"] = strActValue;
+				if (this.DoPostDatas("doaction") == true) {
+					this.GetLastResult(false);
+					tResult = this.GetTaskID();
+				}
+			}
+			this.DoInit();
+			this.blWorking = false;
+			return tResult;
+		},
+		Create_Printer_List: function(oElement, blNoDetailForAO) {
+			while (oElement.childNodes.length > 0) {
+				var children = oElement.childNodes;
+				for (var i = 0; i < children.length; i++)
+					oElement.removeChild(children[i]);
+			};
+			var iCount = this.GET_PRINTER_COUNT();
+			var iIndex = 0;
+			for (var i = 0; i < iCount; i++) {
+				var option = document.createElement('option');
+				option.innerHTML = this.GET_PRINTER_NAME(i);
+				option.value = iIndex;
+				oElement.appendChild(option);
+				iIndex++;
+				if (this.VERSION_EXT) {
+					if (this.Printers["list"][i]["subdevlist"].length > 0) {
+						if (blNoDetailForAO) option.innerHTML = option.innerHTML + ',..';
+						else {
+							var strDrivename = option.innerHTML;
+							for (var j = 0; j < this.Printers["list"][i]["subdevlist"].length; j++) {
+								var strDevID = this.Printers["list"][i]["subdevlist"][j].id;
+								var strDevName = this.Printers["list"][i]["subdevlist"][j].name;
+								if (j == 0) {
+									option.innerHTML = strDrivename + ',' + strDevName;
+									option.value = strDrivename + ',' + strDevID + ';' + strDevName;
+								} else {
+									option = document.createElement('option');
+									option.innerHTML = strDrivename + ',' + strDevName;
+									option.value = strDrivename + ',' + strDevID + ';' + strDevName;
+									oElement.appendChild(option);
+									iIndex++;
+									if (iIndex >= 100) return;
+								}
+							}
+						}
+					}
+				}
+			}
+		},
+		Create_PageSize_List: function(oElement, printIndex) {
+			while (oElement.childNodes.length > 0) {
+				var children = oElement.childNodes;
+				for (var i = 0; i < children.length; i++)
+					oElement.removeChild(children[i]);
+			};
+			var strPageSizeList = CLODOP.GET_PAGESIZES_LIST(printIndex, "\n");
+			var Options = new Array();
+			Options = strPageSizeList.split("\n");
+			for (var i in Options) {
+				var option = document.createElement('option');
+				option.innerHTML = Options[i];
+				option.value = Options[i];
+				oElement.appendChild(option);
+			}
+		},
+		SET_BRIDGE_INDEX: function(strValue) {
+			if (this.Printers === undefined) return false;
+			else {
+				strValue = (strValue + "").replace(/^\s+|\s+$/g, "");
+				for (var vNO in this.Printers["list"]) {
+					var strDriverOrName = this.Printers["list"][vNO].name;
+					if (strDriverOrName == "(AO)Client-Bridge Driver") {
+						this.PageData["printerindex"] = vNO;
+						this.PageData["printersubid"] = strValue;
+						return true;
+					}
+				}
+				return false;
+			}
+		},
+		Get_AOPrinters_List: function(DriverNameOrIndex, strListName, strSplit) {
+			if (!strSplit) strSplit = "\n";
+			if (!strListName) strListName = "name";
+			return CLODOP.GET_PAGESIZES_LIST(DriverNameOrIndex, strSplit, "subdevlist", strListName);
+		},
+		Get_AOBridges_List: function(DriverNameOrIndex, strListName, strSplit) {
+			return CLODOP.Get_AOPrinters_List(DriverNameOrIndex, strListName, strSplit);
+		},
+		Get_AOBridge_List: function(strListName, strSplit) {
+			return CLODOP.Get_AOPrinters_List("(AO)Client-Bridge Driver", strListName, strSplit);
+		},
+		Get_AOBridge_SubPrinters_List: function(BridgeNameOrIndex, strListName, strSplit, DriverNameOrIndex) {
+			if (!DriverNameOrIndex) DriverNameOrIndex = "(AO)Client-Bridge Driver";
+			if (!strSplit) strSplit = "\n";
+			if (!strListName) strListName = "name";
+			for (var iDrvNO in this.Printers["list"]) {
+				if (DriverNameOrIndex == iDrvNO || DriverNameOrIndex == this.Printers["list"][iDrvNO].name) {
+					for (var iBdgNO in this.Printers["list"][iDrvNO]["subdevlist"]) {
+						var BridgeID = this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].id;
+						var BridgeName = this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].name;
+						if (BridgeNameOrIndex == iBdgNO || BridgeNameOrIndex == BridgeID + ";" + BridgeName) {
+							var strList = "";
+							for (var iSsbPNO in this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].ssbprinter["list"]) {
+								if (iSsbPNO != "0") strList = strList + strSplit;
+								if (strListName.toLowerCase() == "id") strList = strList + iSsbPNO;
+								else
+									strList = strList + this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].ssbprinter["list"][iSsbPNO].name;
+							}
+							return strList;
+						}
+					}
+				}
+			}
+			return "";
+		},
+		Get_AOBridge_SubPrinters_PageSize_List: function(BridgeNameOrIndex, SubPrinterNameOrIndex, strSplit,
+			DriverNameOrIndex) {
+			if (!DriverNameOrIndex) DriverNameOrIndex = "(AO)Client-Bridge Driver";
+			if (!strSplit) strSplit = "\n";
+			for (var iDrvNO in this.Printers["list"]) {
+				if (DriverNameOrIndex == iDrvNO || DriverNameOrIndex == this.Printers["list"][iDrvNO].name) {
+					for (var iBdgNO in this.Printers["list"][iDrvNO]["subdevlist"]) {
+						var BridgeID = this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].id;
+						var BridgeName = this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].name;
+						if (BridgeNameOrIndex == iBdgNO || BridgeNameOrIndex == BridgeID + ";" + BridgeName) {
+							for (var iSsbPNO in this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].ssbprinter["list"]) {
+								if (SubPrinterNameOrIndex == iSsbPNO || SubPrinterNameOrIndex == this.Printers["list"][iDrvNO]["subdevlist"]
+									[iBdgNO].ssbprinter["list"][iSsbPNO].name) {
+									var strList = "";
+									for (var iPageSizeNO in this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].ssbprinter["list"][iSsbPNO][
+											"pagelist"
+										]) {
+										if (iPageSizeNO != "0") strList = strList + strSplit;
+										strList = strList + this.Printers["list"][iDrvNO]["subdevlist"][iBdgNO].ssbprinter["list"][iSsbPNO][
+											"pagelist"
+										][iPageSizeNO].name;
+									}
+									return strList;
+								};
+							}
+						}
+					}
+				}
+			}
+			return "";
+		},
+		AddItemArray: function(type, top, left, width, height, strContent, itemname, ShapeType, intPenStyle, intPenWidth,
+			intColor, isLinePosition, BarType, strChartTypess) {
+			if (top === undefined || left === undefined || width === undefined || height === undefined || strContent ===
+				undefined) {
+				return false;
+			}
+			var sCount = this.ItemDatas["count"];
+			sCount++;
+			var oneItem = {};
+			for (var vstyle in this.defStyleJson) {
+				oneItem[vstyle] = this.defStyleJson[vstyle];
+			}
+			oneItem["type"] = type;
+			oneItem["top"] = top;
+			oneItem["left"] = left;
+			oneItem["width"] = width;
+			oneItem["height"] = height;
+			if (strContent != null) {
+				if (typeof strContent === "string" && strContent.indexOf(this.DelimChar) > -1)
+					oneItem["content"] = strContent.replace(new RegExp(this.DelimChar, 'g'), '');
+				else
+					oneItem["content"] = strContent;
+			}
+			if ((itemname !== undefined) && (itemname != null)) oneItem["itemname"] = itemname + "";
+			if ((ShapeType !== undefined) && (ShapeType != null)) oneItem["shapetype"] = ShapeType;
+			if ((intPenStyle !== undefined) && (intPenStyle != null)) oneItem["penstyle"] = intPenStyle;
+			if ((intPenWidth !== undefined) && (intPenWidth != null)) oneItem["penwidth"] = intPenWidth;
+			if ((intColor !== undefined) && (intColor != null)) oneItem["fontcolor"] = intColor;
+			if ((isLinePosition !== undefined) && (isLinePosition != null)) oneItem["lineposition"] = "1";
+			if ((BarType !== undefined) && (BarType != null)) oneItem["fontname"] = BarType;
+			if ((strChartTypess !== undefined) && (strChartTypess != null)) oneItem["charttypess"] = strChartTypess;
+
+			oneItem["beginpage"] = this.defStyleJson["beginpage"];
+			oneItem["beginpagea"] = this.defStyleJson["beginpagea"];
+			this.ItemDatas["count"] = sCount;
+			this.ItemDatas[sCount] = oneItem;
+			this.blNormalItemAdded = true;
+			return true;
+		},
+		RemoveIframes: function() {
+			// #ifndef APP-PLUS
+			var obody = document.body || document.getElementsByTagName("body")[0] || document.documentElement;
+			// #endif
+			try {
+				for (var i = 0; i < this.Iframes.length; i++) {
+					var now = (new Date()).getTime();
+					if ((now - this.Iframes[i]["time"]) > this.timeThreshold * 60000) {
+						// #ifndef APP-PLUS
+						obody.removeChild(this.Iframes[i]["iframe"]);
+						// #endif
+						this.Iframes.splice(i, 1);
+					}
+				}
+			} catch (err) {};
+		},
+		AddInputElement: function(odocument, oform, name, value) {
+			if (value !== undefined) {
+				var oinput = odocument.createElement("input");
+				oinput.name = name;
+				oinput.type = "hidden";
+				oinput.value = value;
+				oform.appendChild(oinput);
+			}
+		},
+		createPostDataString: function(afterPostAction) {
+			var strData = "act=" + afterPostAction + this.DelimChar;
+			strData = strData + "browseurl=" + window.location.href + this.DelimChar;
+			for (var vMode in this.PageDataEx) {
+				strData = strData + vMode + "=" + this.PageDataEx[vMode] + this.DelimChar;
+			}
+			var PrintModeNamess = "";
+			for (var vMode in this.PageData) {
+				strData = strData + vMode + "=" + this.PageData[vMode] + this.DelimChar;
+				if (vMode != "top" && vMode != "left" && vMode != "width" && vMode != "height" && vMode != "printtask" && vMode !=
+					"printerindex" && vMode != "printerindexa" && vMode != "printersubid" && vMode != "orient" && vMode !=
+					"pagewidth" && vMode != "pageheight" && vMode != "pagename" && vMode != "printcopies" && vMode != "setup_bkimg"
+				)
+					PrintModeNamess = PrintModeNamess + ";" + vMode;
+			}
+			if (PrintModeNamess !== "")
+				strData = strData + "printmodenames=" + PrintModeNamess + this.DelimChar;
+			var StyleClassNamess = "";
+			for (var vClassStyle in this.ItemCNameStyles) {
+				strData = strData + vClassStyle + "=" + this.ItemCNameStyles[vClassStyle] + this.DelimChar;
+				StyleClassNamess = StyleClassNamess + ";" + vClassStyle;
+			}
+			if (StyleClassNamess !== "")
+				strData = strData + "printstyleclassnames=" + StyleClassNamess + this.DelimChar;
+			strData = strData + "itemcount=" + this.ItemDatas["count"] + this.DelimChar;
+			for (var vItemNO in this.ItemDatas) {
+				var ItemStyless = "";
+				for (var vItemxx in this.ItemDatas[vItemNO]) {
+					if (vItemxx != "beginpage" && vItemxx != "beginpagea" && vItemxx != "type" && vItemxx != "top" && vItemxx !=
+						"left" && vItemxx != "width" && vItemxx != "height")
+						ItemStyless = ItemStyless + ";" + vItemxx;
+				}
+				strData = strData + vItemNO + "_itemstylenames" + "=" + ItemStyless + this.DelimChar;
+				for (var vItemxx in this.ItemDatas[vItemNO]) {
+					strData = strData + vItemNO + "_" + vItemxx + "=" + this.ItemDatas[vItemNO][vItemxx] + this.DelimChar;
+				}
+			}
+			return strData;
+		},
+		wsDoPostDatas: function(afterPostAction) {
+			var strData = "charset=丂" + this.DelimChar;
+			strData = strData + "tid=" + this.GetTaskID() + this.DelimChar;
+			strData = strData + this.createPostDataString(afterPostAction);
+			return this.wsSend("post:" + strData);
+		},
+		DoPostDatas: function(afterPostAction) {
+			if (this.OBO_Mode && this.blOneByone) {
+				console.info(this.altMessageSomeWindowExist);
+				return false;
+			}
+			this.blWorking = true;
+			if (this.blTmpSelectedIndex !== null)
+				this.SET_PRINTER_INDEX(this.blTmpSelectedIndex);
+			if (this.SocketEnable) {
+				return this.wsDoPostDatas(afterPostAction);
+			}
+			// #ifdef APP-PLUS
+			return this.wsDoPostDatas(afterPostAction);
+			// #endif
+			this.RemoveIframes();
+			var obody = document.body || document.getElementsByTagName("body")[0] || document.documentElement;
+			var oiframe = document.createElement("iframe");
+			oiframe.setAttribute("src", "about:blank");
+			oiframe.setAttribute("style", "display:none");
+			oiframe.height = 0;
+			obody.appendChild(oiframe);
+			var contentdocument = oiframe.contentWindow.document;
+			contentdocument.write("");
+			var oform = contentdocument.getElementsByTagName("form")[0];
+			this.AddInputElement(contentdocument, oform, "charset", "丂");
+			this.AddInputElement(contentdocument, oform, "tid", this.GetTaskID());
+			this.AddInputElement(contentdocument, oform, "post", this.createPostDataString(afterPostAction));
+			oform.submit();
+			var IframeMS = {};
+			IframeMS["time"] = (new Date()).getTime();
+			IframeMS["iframe"] = oiframe;
+			this.Iframes.push(IframeMS);
+			return true;
+		},
+		GetLastResult: function(blFOneByone) {
+			if (blFOneByone) this.blOneByone = true;
+			if (this.SocketEnable) {
+				return true;
+			}
+			var url = this.strHostURI + "/c_lastresult.js";
+			url = url + "?times=" + (new Date().getTime());
+			url = url + "&tid=" + this.GetTaskID();
+			url = encodeURI(url).replace("%20", "+");
+			var oscript = document.createElement("script");
+			oscript.src = url;
+			oscript.async = false;
+			oscript.type = "text/javascript";
+			oscript.charset = "utf-8";
+			var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
+			head.insertBefore(oscript, head.firstChild);
+			oscript.onload = oscript.onreadystatechange = function() {
+				if (!oscript.readyState || /loaded|complete/.test(oscript.readyState)) {
+					CLODOP.blOneByone = false;
+					if (CLodop_ACTLastResult)
+						var strResult = decodeURIComponent(CLodop_ACTLastResult);
+					var strResultTaskID = CLodop_ACTTaskID;
+					CLODOP.Result = strResult;
+					if (CLodop_ACTAlert) CLodop_ACTconsole.info();
+					if (CLODOP.On_Return)
+						try {
+							var selfFunc = CLODOP.On_Return;
+							if (strResult == "true" || strResult == "false")
+								CLODOP.On_Return(strResultTaskID, strResult == "true");
+							else
+								CLODOP.On_Return(strResultTaskID, strResult);
+							if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+						} catch (err) {};
+					oscript.onload = oscript.onreadystatechange = null;
+					if (oscript.parentNode) {
+						oscript.parentNode.removeChild(oscript);
+					}
+				}
+			};
+			return true;
+		},
+		DoCPreview: function(sView, iW, iH) {
+			var obody = document.body || document.getElementsByTagName("body")[0] || document.documentElement;
+			if (typeof iW !== "number") iW = Math.round(obody.offsetWidth * 2 / 3);
+			else
+			if (obody.offsetWidth < iW) iW = obody.offsetWidth;
+			if (typeof iH !== "number") iH = Math.round(window.screen.height - 200);
+			else
+			if (window.screen.height < iH) iH = window.screen.height;
+			var url = this.strHostURI + "/c_dopreview";
+			url = url + "?times=" + (new Date().getTime());
+			url = url + "&tid=" + this.GetTaskID();
+			url = url + "&iw=" + iW;
+			url = url + "&ih=" + iH;
+			url = encodeURI(url).replace("%20", "+");
+			this.PopView(sView, url, iW, iH);
+		},
+		PopView: function(sView, strPURL, iW, iH) {
+			try {
+				if (sView && typeof sView === "string" && sView.length > 0) {
+					if (sView === "_dialog") {
+						if (window.showModalDialog) {
+							window.showModalDialog(strPURL, 'dialog', 'center:yes');
+						} else {
+							window.open(strPURL, "", "scrollbars=yes,toolbar=no,left=150,top=100,resizable=yes");
+						}
+					} else
+					if (sView === "_self" || sView === "_top" || sView === "_parent") {
+						window.location.href = strPURL;
+					} else
+					if (sView === "_blank") {
+						this.PreviewBox.create(strPURL, iW, iH);
+					} else
+					if (sView.indexOf("_winopen:") > -1) {
+						var strFeatures = sView.slice(sView.indexOf("_winopen:") + 9);
+						if (strFeatures.indexOf("_blank") > -1)
+							window.open(strPURL, "_blank", strFeatures.slice(strFeatures.indexOf("_blank") + 6));
+						else
+							window.open(strPURL, "", strFeatures);
+					} else
+					if (document.getElementById(sView)) {
+						document.getElementById(sView).src = strPURL;
+					} else
+						console.info("iframe '" + sView + "' not exist!");
+				} else this.PreviewBox.create(strPURL, iW, iH);
+			} catch (err) {
+				console.info("CLODOP PopView " + err);
+			};
+		},
+		creatMyButtonElement: function(strType, strValue) {
+			try {
+				var oElement = document.createElement("");
+			} catch (e) {};
+			if (!oElement) {
+				oElement = document.createElement("input");
+				oElement.type = strType;
+				oElement.value = strValue;
+			}
+			return oElement;
+		},
+		creatLabelElement: function(Type, Value, Width, Left, Top) {
+			var TxtLabel = document.createElement(Type);
+			TxtLabel.innerHTML = Value;
+			TxtLabel.style.cssText = "position:absolute;width:" + Width + "px;left:" + Left + "px;top:" + Top + "px;";
+			return TxtLabel;
+		},
+		SelectBox: {
+			dragapproved: false,
+			offsetx: 0,
+			offsety: 0,
+			tempx: 0,
+			tempy: 0,
+			FrantDiv: undefined,
+			PopDiv: undefined,
+			selPrinter: undefined,
+			selCopies: undefined,
+			closeit: function() {
+				if (CLODOP.SelectBox.PopDiv && CLODOP.SelectBox.PopDiv.parentNode)
+					CLODOP.SelectBox.PopDiv.parentNode.removeChild(CLODOP.SelectBox.PopDiv);
+				if (this.FrantDiv && this.FrantDiv.parentNode)
+					this.FrantDiv.parentNode.removeChild(this.FrantDiv);
+				this.PopDiv = undefined;
+			},
+			initializedrag: function(e) {
+				var we = window.event || e;
+				this.offsetx = we.clientX;
+				this.offsety = we.clientY;
+				this.tempx = parseInt(this.PopDiv.style.left);
+				this.tempy = parseInt(this.PopDiv.style.top);
+				this.dragapproved = true;
+			},
+			drag_drop: function(e) {
+				if (!this.dragapproved) return;
+				var we = window.event || e;
+				this.PopDiv.style.left = we.clientX - this.offsetx + this.tempx + "px";
+				this.PopDiv.style.top = we.clientY - this.offsety + this.tempy + "px";
+			},
+			stopdrag: function() {
+				this.dragapproved = false;
+			},
+			clickOK: function(onlySelect) {
+				CLODOP.PRINTAOK(CLODOP.SelectBox.selPrinter.value, CLODOP.SelectBox.selCopies.value, 0, 0, onlySelect);
+				this.closeit();
+			},
+			create: function(iW, iH, onlySelect) {
+				if (CLODOP.SelectBox.PopDiv) this.closeit();
+				var obody = document.body || document.getElementsByTagName("body")[0] || document.documentElement;
+				var Boxdiv = document.createElement("div");
+				obody.appendChild(Boxdiv);
+				Boxdiv.style.cssText =
+					"position:absolute;z-index:91100;display:block;top:2px;border:1px solid #6B97C1;background:#F5F5F5;color:#000;font-size:13px;";
+				Boxdiv.style.width = iW + "px";
+				Boxdiv.style.left = Math.max((obody.offsetWidth - iW) / 2, 0) + "px";
+				Boxdiv.style.top = Math.max((obody.offsetHeight - iH) / 2, 0) + "px";
+				Boxdiv.style.height = iH + "px";
+				this.PopDiv = Boxdiv;
+				var titleDiv = document.createElement("div");
+				Boxdiv.appendChild(titleDiv);
+				titleDiv.style.cssText =
+					"font: bold 13px Arial;line-height:25px;height:27px;text-indent:5px;color: white;background:#8BACCF";
+				titleDiv.innerHTML = "      打印";
+				titleDiv.onmousedown = function(event) {
+					CLODOP.SelectBox.initializedrag(event);
+				};
+				titleDiv.onmousemove = function(event) {
+					CLODOP.SelectBox.drag_drop(event);
+				};
+				titleDiv.onmouseup = function() {
+					CLODOP.SelectBox.stopdrag();
+				};
+				var icoButton = document.createElement("button");
+				titleDiv.appendChild(icoButton);
+				icoButton.style.cssText = "background:transparent url(" + CLODOP.strHostURI +
+					"/c_favicon.ico) no-repeat scroll 0 0px;margin-left:5px;position:absolute;height:20px;line-height:100px;width:34px;left:3px;border:0;top:5px";
+				var CloseButton = document.createElement("button");
+				titleDiv.appendChild(CloseButton);
+				CloseButton.style.cssText = "background:transparent url(" + CLODOP.strHostURI +
+					"/images/c_winclose.png) no-repeat scroll 0 0px;margin-right:5px;position:absolute;height:20px;line-height:100px;width:34px;right:3px;border:0;top:4px";
+				CloseButton.onclick = function() {
+					CLODOP.SelectBox.closeit();
+					if (onlySelect && CLODOP.On_Return) {
+						var selfFunc = CLODOP.On_Return;
+						CLODOP.On_Return(0, -1);
+						if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+					}
+				};
+				var areaDiv = document.createElement("div");
+				Boxdiv.appendChild(areaDiv);
+				areaDiv.style.cssText = "background:#F5F5F5;color:#000;border:0px;left:0px;top:0px;";
+				areaDiv.style.width = iW - 2 + "px";
+				areaDiv.style.height = (iH - 27) + "px";
+				var OKButton = CLODOP.creatMyButtonElement("button", "确定");
+				Boxdiv.appendChild(OKButton);
+				OKButton.style.cssText = "position:absolute;width:80px;height:23px;";
+				OKButton.style.left = "110px";
+				OKButton.style.top = (iH - 64) + "px";
+				OKButton.onclick = function() {
+					CLODOP.SelectBox.clickOK(onlySelect);
+				};
+				var CancelButton = CLODOP.creatMyButtonElement("button", "取消");
+				Boxdiv.appendChild(CancelButton);
+				CancelButton.style.cssText = "position:absolute;width:80px;;height:23px;";
+				CancelButton.style.left = "240px";
+				CancelButton.style.top = (iH - 64) + "px";
+				CancelButton.onclick = function() {
+					CLODOP.SelectBox.closeit();
+					if (onlySelect && CLODOP.On_Return) {
+						var selfFunc = CLODOP.On_Return;
+						CLODOP.On_Return(0, -1);
+						if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;
+					}
+				};
+				areaDiv.appendChild(CLODOP.creatLabelElement("span", "选打印机:", 200, 46, 67));
+				var oSelect = document.createElement("select");
+				Boxdiv.appendChild(oSelect);
+				this.selPrinter = oSelect;
+				oSelect.style.cssText = "position:absolute;size:1;width:212px;left:110px;top:62px;";
+				CLODOP.Create_Printer_List(oSelect);
+				areaDiv.appendChild(CLODOP.creatLabelElement("span", "打印份数:", 200, 46, 121));
+				var oCopies = CLODOP.creatMyButtonElement("text", "1");
+				Boxdiv.appendChild(oCopies);
+				this.selCopies = oCopies;
+				oCopies.style.cssText = "position:absolute;size:1;width:30px;left:110px;top:117px;";
+				this.FrantDiv = document.createElement("div");
+				obody.appendChild(this.FrantDiv);
+				this.FrantDiv.style.cssText =
+					"border:0px;left:0px;top:0px;filter: alpha(opacity=20); position: fixed; opacity: 0.2;-moz-opacity: 0.2; _position: absolute;z-index:91009; over-flow: hidden;";
+				if (CLODOP.Browser.IE && (document.compatMode == "BackCompat" || navigator.userAgent.indexOf("MSIE 6.0") > 0)) {
+					this.FrantDiv.style.width = obody.scrollWidth + "px";
+					this.FrantDiv.style.height = obody.scrollHeight + "px";
+				} else {
+					this.FrantDiv.style.width = "100%";
+					this.FrantDiv.style.height = "100%";
+				}
+			}
+		},
+		PreviewBox: {
+			dragapproved: false,
+			offsetx: 0,
+			offsety: 0,
+			tempx: 0,
+			tempy: 0,
+			FrantDiv: undefined,
+			PopDiv: undefined,
+			ContentFrame: undefined,
+			closeit: function(oSelf) {
+				if (CLODOP.PreviewBox.PopDiv && CLODOP.PreviewBox.PopDiv.parentNode)
+					CLODOP.PreviewBox.PopDiv.parentNode.removeChild(CLODOP.PreviewBox.PopDiv);
+				if (this.FrantDiv && this.FrantDiv.parentNode)
+					this.FrantDiv.parentNode.removeChild(this.FrantDiv);
+				this.PopDiv = undefined;
+			},
+			initializedrag: function(e, oSelf) {
+				var we = window.event || e;
+				this.offsetx = we.clientX;
+				this.offsety = we.clientY;
+				this.tempx = parseInt(oSelf.style.left);
+				this.tempy = parseInt(oSelf.style.top);
+				this.dragapproved = true;
+			},
+			drag_drop: function(e, oSelf) {
+				if (!this.dragapproved) return;
+				var we = window.event || e;
+				oSelf.style.left = we.clientX - this.offsetx + this.tempx + "px";
+				oSelf.style.top = we.clientY - this.offsety + this.tempy + "px";
+			},
+			stopdrag: function() {
+				this.dragapproved = false;
+				if (this.ContentFrame) this.ContentFrame.style.display = "block";
+			},
+			create: function(strURL, iW, iH) {
+				if (CLODOP.PreviewBox.PopDiv) this.closeit();
+				var obody = document.body || document.getElementsByTagName("body")[0] || document.documentElement;
+				var vBoxDiv = document.createElement("div");
+				obody.appendChild(vBoxDiv);
+				vBoxDiv.style.cssText =
+					"position:absolute;z-index:91100;display:block;top:2px;border:1px solid #6B97C1;font-size:13px;";
+				vBoxDiv.style.width = iW + "px";
+				var iLeft = (obody.offsetWidth - iW) / 2;
+				if (window.screen.width < obody.offsetWidth) iLeft = (window.screen.width - iW) / 2;
+				if (iLeft < 0) iLeft = 0;
+				vBoxDiv.style.left = iLeft + "px";
+				vBoxDiv.style.height = iH + "px";
+				vBoxDiv.onmousedown = function(event) {
+					CLODOP.PreviewBox.initializedrag(event, this);
+				};
+				vBoxDiv.onmouseup = function() {
+					CLODOP.PreviewBox.stopdrag();
+				};
+				vBoxDiv.onmousemove = function(event) {
+					CLODOP.PreviewBox.drag_drop(event, this);
+				};
+				this.PopDiv = vBoxDiv;
+				var titleDiv = document.createElement("div");
+				vBoxDiv.appendChild(titleDiv);
+				titleDiv.style.cssText =
+					"position:absolute;left:0px;width:100%;font: bold 14px Arial;line-height:27px;height:27px;text-indent:26px;color: white;background:#8BACCF";
+				titleDiv.innerHTML = "打印预览";
+				var icoButton = document.createElement("button");
+				titleDiv.appendChild(icoButton);
+				icoButton.style.cssText = "background:transparent url(" + CLODOP.strHostURI +
+					"/c_favicon.ico) no-repeat scroll 0 0px;margin-left:5px;position:absolute;height:20px;line-height:100px;width:34px;left:3px;border:0;top:5px";
+				var CloseButton = document.createElement("button");
+				titleDiv.appendChild(CloseButton);
+				CloseButton.style.cssText = "background:transparent url(" + CLODOP.strHostURI +
+					"/images/c_winclose.png) no-repeat scroll 0 0px;margin-right:5px;position:absolute;height:20px;line-height:100px;width:34px;right:3px;border:0;top:4px";
+				CloseButton.onclick = function() {
+					CLODOP.PreviewBox.closeit(this);
+				};
+				var areaDiv = document.createElement("div");
+				vBoxDiv.appendChild(areaDiv);
+				areaDiv.style.cssText = "background:#F5F5F5;color:#000;border:0px;left:0px;top:0px;";
+				areaDiv.style.width = iW + "px";
+				areaDiv.style.height = (iH - 0) + "px";
+				this.ContentFrame = document.createElement("iframe");
+				areaDiv.appendChild(this.ContentFrame);
+				this.ContentFrame.style.cssText = "width:100%;height:100%;";
+				this.ContentFrame.src = strURL;
+				this.ContentFrame.frameBorder = "no";
+				this.FrantDiv = document.createElement("div");
+				obody.appendChild(this.FrantDiv);
+				this.FrantDiv.style.cssText =
+					"border:0px;left:0px;top:0px;filter: alpha(opacity=20); position: fixed; opacity: 0.2; -moz-opacity: 0.2; _position: absolute;z-index:91009; over-flow: hidden;";
+				if (CLODOP.Browser.IE && (document.compatMode == "BackCompat" || navigator.userAgent.indexOf("MSIE 6.0") > 0)) {
+					this.FrantDiv.style.width = obody.scrollWidth + "px";
+					this.FrantDiv.style.height = obody.scrollHeight + "px";
+				} else {
+					this.FrantDiv.style.width = "100%";
+					this.FrantDiv.style.height = "100%";
+				}
+			}
+		}
+	};
+	if (win.CLODOP2015_7028 && win.CLODOP2015_7028.Priority && win.CLODOP2015_7028.Priority > CLODOP.Priority) {
+		CLODOP = win.CLODOP2015_7028;
+		win.CLODOP_OK_Priority = win.CLODOP2015_7028.Priority;
+		return;
+	}
+	win.LODOP = CLODOP;
+	win.CLODOP = CLODOP;
+	win.CLODOP2015_7028 = CLODOP;
+	win.CLODOP_OK_Priority = CLODOP.Priority;
+
+	// #ifndef APP-PLUS
+	win.CLODOP.DoInit();
+	// #endif
+
+	if (navigator.userAgent.indexOf("Lodop") < 0) win.CLODOP.OpenWebSocket();
+})(window);
+
+function getCLodop() {
+	return window.CLODOP2015_7028;
+}
+
+async function getPrinterList(ip){
+  if (!ip) {
+    ip = uni.getStorageSync('fl_ip');
+  }
+  try{
+    const res = await uni.request({
+        url: `http://${ip}:8000/CLodopfuncs.js`,
+    });
+    if (res[0]) {
+      return [];
+    }
+    let temp = res[1].data.match(/"list":(.+)/);
+    const printerListString = temp[1].substr(0,temp[1].length-2);
+    let printerListArray = JSON.parse(printerListString);
+    let printerList = [];
+    printerListArray.forEach(item=>{
+      printerList.push(item.name)
+    })
+    return printerList;
+  }catch(e){
+    console.log(e);
+  }
+}
+export {
+	getCLodop,
+  getPrinterList
+}; //导出getLodop
diff --git a/ilsApp/common/print/LodopFuncs.js b/ilsApp/common/print/LodopFuncs.js
new file mode 100644
index 0000000..11dacaf
--- /dev/null
+++ b/ilsApp/common/print/LodopFuncs.js
@@ -0,0 +1,189 @@
+//==本JS是加载Lodop插件或Web打印服务CLodop/Lodop7的综合示例,可直接使用,建议理解后融入自己程序==
+
+//用双端口加载主JS文件Lodop.js(或CLodopfuncs.js兼容老版本)以防其中某端口被占:
+var MainJS ="CLodopfuncs.js",
+    URL_WS1   = "ws://localhost:8000/"+MainJS,                //ws用8000/18000
+    URL_WS2   = "ws://localhost:18000/"+MainJS,
+    URL_HTTP1 = "http://localhost:8000/"+MainJS,              //http用8000/18000
+    URL_HTTP2 = "http://localhost:18000/"+MainJS,
+    URL_HTTP3 = "https://localhost.lodop.net:8443/"+MainJS;   //https用8000/8443
+
+var CreatedOKLodopObject, CLodopIsLocal, LoadJsState;
+
+//==判断是否需要CLodop(那些不支持插件的浏览器):==
+function needCLodop() {
+    try {
+        var ua = navigator.userAgent;
+        if (ua.match(/Windows\sPhone/i) ||
+            ua.match(/iPhone|iPod|iPad/i) ||
+            ua.match(/Android/i) ||
+            ua.match(/Edge\D?\d+/i))
+            return true;
+        var verTrident = ua.match(/Trident\D?\d+/i);
+        var verIE = ua.match(/MSIE\D?\d+/i);
+        var verOPR = ua.match(/OPR\D?\d+/i);
+        var verFF = ua.match(/Firefox\D?\d+/i);
+        var x64 = ua.match(/x64/i);
+        if ((!verTrident) && (!verIE) && (x64)) return true;
+        else if (verFF) {
+            verFF = verFF[0].match(/\d+/);
+            if ((verFF[0] >= 41) || (x64)) return true;
+        } else if (verOPR) {
+            verOPR = verOPR[0].match(/\d+/);
+            if (verOPR[0] >= 32) return true;
+        } else if ((!verTrident) && (!verIE)) {
+            var verChrome = ua.match(/Chrome\D?\d+/i);
+            if (verChrome) {
+                verChrome = verChrome[0].match(/\d+/);
+                if (verChrome[0] >= 41) return true;
+            }
+        }
+        return true;
+    } catch (err) {
+        return true;
+    }
+}
+
+//==检查加载成功与否,如没成功则用http(s)再试==
+//==低版本CLODOP6.561/Lodop7.043及前)用本方法==
+function checkOrTryHttp() {
+  if (window.getCLodop) {
+     LoadJsState = "complete";
+     return true;
+  }
+  if (LoadJsState == "loadingB" || LoadJsState == "complete") return;
+  LoadJsState = "loadingB";
+  var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
+  var JS1 = document.createElement("script")
+     ,JS2 = document.createElement("script")
+     ,JS3 = document.createElement("script");
+  JS1.src = URL_HTTP1;
+  JS2.src = URL_HTTP2;
+  JS3.src = URL_HTTP3;
+  JS1.onload = JS2.onload = JS3.onload = JS2.onerror = JS3.onerror=function(){LoadJsState = "complete";}
+  JS1.onerror = function(e) {
+      if (window.location.protocol !== 'https:')
+          head.insertBefore(JS2, head.firstChild); else
+          head.insertBefore(JS3, head.firstChild);
+  }
+  head.insertBefore(JS1,head.firstChild);
+}
+
+//==加载Lodop对象的主过程:==
+(function loadCLodop(){
+  if (!needCLodop()) return;
+  CLodopIsLocal = !!((URL_WS1 + URL_WS2).match(/\/\/localhost|\/\/127.0.0./i));
+  LoadJsState = "loadingA";
+  if (!window.WebSocket && window.MozWebSocket) window.WebSocket=window.MozWebSocket;
+  //ws方式速度快(小于200ms)且可避免CORS错误,但要求Lodop版本足够新:
+  try {
+    var WSK1=new WebSocket(URL_WS1);
+    WSK1.onopen = function(e) { setTimeout("checkOrTryHttp();",200); }
+    WSK1.onmessage = function(e) {if (!window.getCLodop) eval(e.data);}
+    WSK1.onerror = function(e) {
+         var WSK2=new WebSocket(URL_WS2);
+         WSK2.onopen = function(e) {setTimeout("checkOrTryHttp();",200);}
+         WSK2.onmessage = function(e) {if (!window.getCLodop) eval(e.data);}
+         WSK2.onerror= function(e) {checkOrTryHttp();}
+    }
+  } catch(e){
+    checkOrTryHttp();
+  }
+})();
+
+//==获取LODOP对象主过程,判断是否安装、需否升级:==
+function getLodop(oOBJECT, oEMBED) {
+    var strFontTag = "
打印控件";
+    var strLodopInstall = strFontTag + "未安装!点击这里执行安装";
+    var strLodopUpdate = strFontTag + "需要升级!点击这里执行升级";
+    var strLodop64Install = strFontTag + "未安装!点击这里执行安装";
+    var strLodop64Update = strFontTag + "需要升级!点击这里执行升级";
+    var strCLodopInstallA = "
Web打印服务CLodop未安装启动,点击这里下载执行安装";
+    var strCLodopInstallB = "
(若此前已安装过,可点这里直接再次启动)";
+    var strCLodopUpdate = "
Web打印服务CLodop需升级!点击这里执行升级";
+    var strLodop7FontTag = "
Web打印服务Lodop7";
+    var strLodop7HrefX86 = "点击这里下载安装(下载后解压,点击lodop文件开始执行)";
+    var strLodop7HrefARM = "点击这里下载安装(下载后解压,点击lodop文件开始执行)";
+    var strLodop7Install_X86 = strLodop7FontTag + "未安装启动," + strLodop7HrefX86;
+    var strLodop7Install_ARM = strLodop7FontTag + "未安装启动," + strLodop7HrefARM;
+    var strLodop7Update_X86 = strLodop7FontTag + "需升级," + strLodop7HrefX86;
+    var strLodop7Update_ARM = strLodop7FontTag + "需升级," + strLodop7HrefARM;
+    var strInstallOK = ",成功后请刷新本页面或重启浏览器。";
+    var LODOP;
+    try {
+        var isWinIE = (/MSIE/i.test(navigator.userAgent)) || (/Trident/i.test(navigator.userAgent));
+        var isWinIE64 = isWinIE && (/x64/i.test(navigator.userAgent));
+        var isLinuxX86 = (/Linux/i.test(navigator.platform)) && (/x86/i.test(navigator.platform));
+        var isLinuxARM = (/Linux/i.test(navigator.platform)) && (/aarch/i.test(navigator.platform));
+
+        if (needCLodop() || isLinuxX86 || isLinuxARM) {
+            try {
+                LODOP = window.getCLodop();
+            } catch (err) {}
+            if (!LODOP && LoadJsState !== "complete") {
+                if (!LoadJsState)
+                    alert("未曾加载Lodop主JS文件,请先调用loadCLodop过程."); else
+                    alert("网页还没下载完毕,请稍等一下再操作.");
+                return;
+            }
+            var strAlertMessage;
+            if (!LODOP) {
+                if (isLinuxX86)
+                    strAlertMessage = strLodop7Install_X86;
+                else if (isLinuxARM)
+                    strAlertMessage = strLodop7Install_ARM;
+                else
+                    strAlertMessage = strCLodopInstallA + (CLodopIsLocal ? strCLodopInstallB : "");
+                document.body.innerHTML = strAlertMessage + strInstallOK + document.body.innerHTML;
+                return;
+            } else {
+                if (isLinuxX86 && LODOP.CVERSION < "7.0.4.3")
+                    strAlertMessage = strLodop7Update_X86;
+                else if (isLinuxARM && LODOP.CVERSION < "7.0.4.3")
+                    strAlertMessage = strLodop7Update_ARM;
+                else if (CLODOP.CVERSION < "6.5.7.1")
+                    strAlertMessage = strCLodopUpdate;
+
+                if (strAlertMessage)
+                    document.body.innerHTML = strAlertMessage + strInstallOK + document.body.innerHTML;
+            }
+        } else {
+            //==如果页面有Lodop插件就直接使用,否则新建:==
+            if (oOBJECT || oEMBED) {
+                if (isWinIE)
+                    LODOP = oOBJECT;
+                else
+                    LODOP = oEMBED;
+            } else if (!CreatedOKLodopObject) {
+                LODOP = document.createElement("object");
+                LODOP.setAttribute("width", 0);
+                LODOP.setAttribute("height", 0);
+                LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;");
+                if (isWinIE)
+                    LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
+                else
+                    LODOP.setAttribute("type", "application/x-print-lodop");
+                document.documentElement.appendChild(LODOP);
+                CreatedOKLodopObject = LODOP;
+            } else
+                LODOP = CreatedOKLodopObject;
+            //==Lodop插件未安装时提示下载地址:==
+            if ((!LODOP) || (!LODOP.VERSION)) {
+                document.body.innerHTML = (isWinIE64 ? strLodop64Install : strLodopInstall) + strInstallOK + document.body.innerHTML;
+                return LODOP;
+            }
+            if (LODOP.VERSION < "6.2.2.6") {
+                document.body.innerHTML = (isWinIE64 ? strLodop64Update : strLodopUpdate) + strInstallOK + document.body.innerHTML;
+            }
+        }
+        //===如下空白位置适合调用统一功能(如注册语句、语言选择等):=======================
+
+
+        //===============================================================================
+        return LODOP;
+    } catch (err) {
+        alert("getLodop出错:" + err);
+    }
+}
+
+export { getLodop };
diff --git a/ilsApp/common/print/lpapi-uniplugin.js b/ilsApp/common/print/lpapi-uniplugin.js
new file mode 100644
index 0000000..65e8424
--- /dev/null
+++ b/ilsApp/common/print/lpapi-uniplugin.js
@@ -0,0 +1,473 @@
+const api = uni.requireNativePlugin("DothanTech-LPAPI");
+
+function request(action, data, callback) {
+	console.log(`### Request: action = ${action}`);
+	// console.log(data ? JSON.stringify(data) : data);
+	return new Promise((resolve) => {
+		if (api && api[action]) {
+			api[action](data || {}, (result) => {
+				// console.log(`### Response:`);
+				// console.log(JSON.stringify(data));
+				if (result && result.code === 0) {
+					resolve(result.data || true);
+				} else {
+					resolve(undefined);
+					console.log(result.data);
+				}
+				if (typeof callback === "function") {
+					callback(result.code === 0 ? result.data : null);
+				}
+			});
+		} else {
+			if (api) {
+				resolve(undefined);
+				console.log("LPAPI插件加载失败");
+			} else {
+				resolve(undefined);
+				console.log("未检测到该方法:" + action);
+			}
+		}
+	});
+}
+
+const lpapi = {
+	/**
+	 * 获取指定型号的所有打印机;
+	 * @param { string | {name?: string} } data 参数;
+	 * @returns { {name: string, macAddress?: string}[] } 获取打印机列表;
+	 */
+	getPrinters(data) {
+		if (typeof data === "string") {
+			data = { name: data };
+		}
+		return request("getPrinters", data);
+	},
+	/**
+	 * 获取指定型号的一台打印机;
+	 * @param { string | {name?: string} } data 参数;
+	 * @returns { {name: string, macAddress?: string} } 获取检测到的第一台打印机;
+	 */
+	getFirstPrinter(data) {
+		if (typeof data === "string") {
+			data = { name: data };
+		}
+		return request("getFirstPrinter", data);
+	},
+	/**
+	 *
+	 * @param { string | {name?: string}} data 参数;
+	 */
+	openPrinter(data, callback) {
+		if (typeof data === "string") {
+			data = { name: data };
+		}
+		return request("openPrinter", typeof data === "object" ? data : {}, callback);
+	},
+	/**
+	 * 获取当前已连接打印机名称;
+	 */
+	getPrinterName() {
+		return request("getPrinterName", {});
+	},
+	/**
+	 * 获取当前已连接打印机信息;
+	 * 调用该接口前要确保打印机已连接;
+	 */
+	getPrinterInfo() {
+		return request("getPrinterInfo", {});
+	},
+	// /**
+	//  * 获取当前打印机的连接状态;
+	//  */
+	// getPrinterState() {
+	// 	return request('getPrinterState', {});
+	// },
+	/**
+	 * 当前打印机是否已经打开;
+	 */
+	isPrinterOpened() {
+		return request("isPrinterOpened", {});
+	},
+	/**
+	 *
+	 * @param { string | {}} data 参数;
+	 * @param {string} data.name
+	 * @param {string} data.model
+	 * @returns
+	 */
+	isPrinterSupported(data) {
+		data =
+			typeof data === "object"
+				? data
+				: {
+						name: arguments[0],
+						model: arguments[1],
+				  };
+		return request("isPrinterSupported", data || {});
+	},
+	// /**
+	//  * 取消当前打印任务;
+	//  */
+	// cancel() {
+	// 	return request('cancel', {});
+	// },
+	/**
+	 * 关闭打印机;
+	 */
+	closePrinter() {
+		return request("closePrinter", {});
+	},
+	/**
+	 * 打印BASE64图片;
+	 * @param {{}} data
+	 * @param {string} data.image
+	 * @param {number} data.PRINT_DENSITY
+	 * @param {number} data.PRINT_SPEED
+	 * @param {number} data.PRINT_COPIES
+	 */
+	printImage(data) {
+		return request("printImage", data);
+	},
+	/**
+	 * 开始打印任务;
+	 * @param {{}} data 参数;
+	 * @param {number} data.width
+	 * @param {number} data.height
+	 * @param {number} data.orientation
+	 */
+	startJob(data) {
+		return request("startJob", data);
+	},
+	// /**
+	//  * 终止打印任务;
+	//  */
+	// abortJob() {
+	// 	return request('abortJob', {});
+	// },
+	/**
+	 * 提交打印任务;
+	 * @param {{}} data 参数;
+	 * @param {number} data.PRINT_DENSITY
+	 * @param {number} data.PRINT_SPEED
+	 * @param {number} data.PRINT_COPIES
+	 */
+	commitJob(data) {
+		return request("commitJob", data);
+	},
+	// /**
+	//  * 开始打印页面;
+	//  */
+	// startPage() {
+	// 	return request('startPage', {});
+	// },
+	// /**
+	//  * 结束打印页面;
+	//  */
+	// endPage() {
+	// 	return request('endPage', {});
+	// },
+	/**
+	 * 结束打印任务;
+	 */
+	endJob() {
+		return request("endJob", {});
+	},
+	/**
+	 * 获取当前的打印任务;
+	 */
+	getJobPages() {
+		return request("getJobPages", {});
+	},
+	//
+	/**
+	 * 设置后续绘制参数,譬如字体名称,二维码纠错级别等等;
+	 * @param {{}} data 参数
+	 * @param {string} name
+	 * @param value
+	 */
+	setDrawParam(data) {
+		return request("setDrawParam", data);
+	},
+	// /**
+	//  * 获取当前内容的旋转角度;
+	//  */
+	// getItemOrientation() {
+	// 	return request('getItemOrientation', {});
+	// },
+	/**
+	 * 设置后续内容的旋转方向;
+	 * @param { number | { orientation: [0, 90, 180, 270]}} data 参数;
+	 */
+	setItemOrientation(data) {
+		data = typeof data === "object" ? data : { orientation: data };
+		return request("setItemOrientation", data);
+	},
+	// /**
+	//  * 获取当前的水平对齐方式;
+	//  */
+	// getItemHorizontalAlignment() {
+	// 	return request('getItemHorizontalAlignment', {});
+	// },
+	/**
+	 * 设置水平对齐方式;
+	 * @param { number | { alignment: [0, 1, 2]}} data 参数;
+	 */
+	setItemHorizontalAlignment(data) {
+		data = typeof data === "object" ? data : { alignment: data };
+		return request("setItemHorizontalAlignment", data);
+	},
+	// /**
+	//  * 获取当前的垂直对齐方式;
+	//  */
+	// getItemVerticalAlignment() {
+	// 	return request('getItemVerticalAlignment', {});
+	// },
+	/**
+	 * 设置垂直对齐方式;
+	 * @param { number | { alignment: [0, 1, 2]}} data 参数;
+	 */
+	setItemVerticalAlignment(data) {
+		data = typeof data === "object" ? data : { alignment: data };
+		return request("setItemVerticalAlignment", data);
+	},
+	/**
+	 * 设置背景色;
+	 * 默认白色底色:0xFFFFFFFF;
+	 * 如需透明色,可设置:0x00000000;
+	 * @param { number | {color: number} } data 参数;
+	 */
+	setBackground(data) {
+		data = typeof data === "object" ? data : { color: data };
+		return request("setBackground", data);
+	},
+
+	// ***************************************************
+	// * 打印相关图形对象。
+	// ***************************************************
+
+	/**
+	 * 绘制字符串;
+	 *
+	 * @param {{}} data 				 		字符串绘制参数;
+	 * @param {string} data.text		 		待打印的字符串名称;
+	 * @param {number} data.x			 		字符串显示的X轴坐标位置(单位毫米);
+	 * @param {number} data.y			 		字符串显示的Y轴坐标位置(单位毫米);
+	 * @param {number} data.width		 		字符串显示区域宽度(单位毫米);
+	 * @param {number} data.height		 		字符串显示区域高度(单位毫米);
+	 * @param {number} data.fontHeight	 		字体大小(单位毫米);
+	 * @param {number} data.fontStyle	 		字体样式,默认位0;(0:常规,1:黑体,2:斜体,3:粗斜体)
+	 * @param {string} data.fontName	 		字体名称,默认位"黑体";
+	 * @param {boolean} data.autoReturn	 		字符串长度超过width之后,是否自动换行?默认位true;
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0;
+	 * @param {0|1|2} data.horizontalAlignment	字符串在指定的宽高范围内的水平对齐方式,默认以setItemHorizontalAlignment为准,未设置则为0,表示居上对齐,值可为:0、1、2,分别表示左、中、右对齐;
+	 * @param {0|1|2} data.verticalAlignment	字符串在指定的宽高范围内的垂直对齐方式,默认以setItemVerticalAlignment为准,未设置则为0,表示居上对齐,值可为:0、1、2,分别表示上、中、下对齐;
+	 * 
+	 */
+	drawText(data) {
+		return request("drawText", data);
+	},
+	/**
+	 * 绘制一维码;
+	 * @param {{}} data 一维码绘制参数;
+	 * @param {string} data.text,				一维码内容
+	 * @param {number} data.x,					一维码在坐标系X轴上的位置;
+	 * @param {number} data.y,					一维码在坐标系中Y轴上的位置;
+	 * @param {number} data.width,				一维码在坐标系中的宽度;
+	 * @param {number} data.height,				一维码高度;
+	 * @param {number} data.textHeight,			一维码下面显示的字符串高度,不需要的话可以设置位0;
+	 * @param {number} data.type				一维码类型:{@link BarcodeType}
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0;
+	 * @param {0|1|2} data.horizontalAlignment	字符串在指定的宽高范围内的水平对齐方式,默认以setItemHorizontalAlignment为准,未设置则为0,表示居上对齐,值可为:0、1、2,分别表示左、中、右对齐;
+	 * @param {0|1|2} data.verticalAlignment	字符串在指定的宽高范围内的垂直对齐方式,默认以setItemVerticalAlignment为准,未设置则为0,表示居上对齐,值可为:0、1、2,分别表示上、中、下对齐;
+	 * 
+	 * @typedef{{
+	 *	UPC_A: 20,
+	 *	UPC_E: 21,
+	 *	EAN13: 22,
+	 *	EAN8: 23,
+	 *	CODE39: 24,
+	 *	ITF25: 25,
+	 *	CODABAR: 26,
+	 *	CODE93: 27,
+	 *	CODE128: 28,
+	 *	ISBN: 29,
+	 *	ECODE39: 30,
+	 *	AUTO: 60,
+	 * }} BarcodeType 一维码类型
+	 */
+	draw1DBarcode(data) {
+		return request("draw1DBarcode", data);
+	},
+	/**
+	 * 绘制二维码;
+	 * @param {{}} data
+	 * @param {string} data.text				二维码内容
+	 * @param {number} data.x					X轴坐标位置(单位毫米)
+	 * @param {number} data.y					Y轴坐标位置
+	 * @param {number} data.width				二维码大小(单位毫米)
+	 * @param {0|1|2|3} data.eccLevel			二维码纠错级别,0|1|2|3分别表示: L(低)|M(中)|Q(强)|H(高),默认为0,表示最低纠错级别
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0,表示不进行任何旋转;
+	 * @param {0|1|2} data.horizontalAlignment	字符串在指定的宽高范围内的水平对齐方式,默认以setItemHorizontalAlignment为准,未设置则为0,表示居上对齐,值可为:0、1、2,分别表示左、中、右对齐;
+	 * @param {0|1|2} data.verticalAlignment	字符串在指定的宽高范围内的垂直对齐方式,默认以setItemVerticalAlignment为准,未设置则为0,表示居上对齐,值可为:0、1、2,分别表示上、中、下对齐;
+	 */
+	draw2DQRCode(data) {
+		return request("draw2DQRCode", data);
+	},
+	/**
+	 * 绘制PDF417码;
+	 * @param {{}} data PDF417打印参数;
+	 * @param {string} data.text 			打印内容
+	 * @param {number} data.x				X轴坐标位置(单位毫米)
+	 * @param {number} data.y				Y轴坐标位置(单位毫米)
+	 * @param {number} data.width			绘制数据内容的宽度(单位毫米)
+	 * @param {number} data.height			绘制数据内容的高度(单位毫米)
+	 */
+	// draw2DPdf417(data) {
+	// 	return request("draw2DPdf417", data);
+	// },
+	/**
+	 * 绘制矩形框;
+	 * @param {{}} data
+	 * @param {number} data.x					X轴坐标位置(单位毫米)
+	 * @param {number} data.y					Y轴坐标位置(单位毫米)
+	 * @param {number} data.width				绘制数据内容的宽度(单位毫米)
+	 * @param {number} data.height				绘制数据内容的高度(单位毫米)
+	 * @param {number} data.lineWidth			边框宽度(单位毫米),默认为0.4mm
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0,表示不进行任何旋转;
+	 */
+	drawRectangle(data) {
+		return request("drawRectangle", data);
+	},
+	/**
+	 * 绘制填充矩形;
+	 * @param {{}} data
+	 * @param {number} data.x					X轴坐标位置(单位毫米)
+	 * @param {number} data.y					Y轴坐标位置(单位毫米)
+	 * @param {number} data.width				绘制数据内容的宽度(单位毫米)
+	 * @param {number} data.height				绘制数据内容的高度(单位毫米)
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0,表示不进行任何旋转;
+	 */
+	fillRectangle(data) {
+		return request("fillRectangle", data);
+	},
+	/**
+	 * 绘制圆角矩形框;
+	 * @param {{}} data
+	 * @param {number} data.x					X轴坐标位置(单位毫米)
+	 * @param {number} data.y					Y轴坐标位置(单位毫米)
+	 * @param {number} data.width				绘制数据内容的宽度(单位毫米)
+	 * @param {number} data.height				绘制数据内容的高度(单位毫米)
+	 * @param {number} data.cornerWidth			圆角半径(单位毫米)
+	 * @param {number} data.cornerHeight		圆角半径(单位毫米)
+	 * @param {number} data.lineWidth			边框宽度(单位毫米)
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0,表示不进行任何旋转;
+	 */
+	drawRoundRectangle(data) {
+		return request("drawRoundRectangle", data);
+	},
+	/**
+	 * 填充圆角矩形;
+	 * @param {{}} data
+	 * @param {number} data.x					X轴坐标位置(单位毫米)
+	 * @param {number} data.y					Y轴坐标位置(单位毫米)
+	 * @param {number} data.width				绘制数据内容的宽度(单位毫米)
+	 * @param {number} data.height				绘制数据内容的高度(单位毫米)
+	 * @param {number} data.cornerWidth			圆角半径(单位毫米)
+	 * @param {number} data.cornerHeight		圆角半径(单位毫米)
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0,表示不进行任何旋转;
+	 */
+	fillRoundRectangle(data) {
+		return request("fillRoundRectangle", data);
+	},
+	/**
+	 * 绘制椭圆;
+	 * @param {{}} data
+	 * @param {number} data.x					X轴坐标位置(单位毫米)
+	 * @param {number} data.y					Y轴坐标位置(单位毫米)
+	 * @param {number} data.width				绘制数据内容的宽度(单位毫米)
+	 * @param {number} data.height				绘制数据内容的高度(单位毫米)
+	 * @param {number} data.lineWidth			边框宽度(单位毫米)
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0,表示不进行任何旋转;
+	 */
+	drawEllipse(data) {
+		return request("drawEllipse", data);
+	},
+	/**
+	 * 填充椭圆;
+	 * @param {{}} data
+	 * @param {number} data.x					X轴坐标位置(单位毫米)
+	 * @param {number} data.y					Y轴坐标位置(单位毫米)
+	 * @param {number} data.width				绘制数据内容的宽度(单位毫米)
+	 * @param {number} data.height				绘制数据内容的高度(单位毫米)
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0,表示不进行任何旋转;
+	 */
+	fillEllipse(data) {
+		return request("fillEllipse", data);
+	},
+	/**
+	 * 绘制圆形;
+	 * @param {{}} data
+	 * @param {number} data.x				圆心X轴坐标位置(单位毫米)
+	 * @param {number} data.y				圆心Y轴坐标位置(单位毫米)
+	 * @param {number} data.radius			圆半径(单位毫米)
+	 * @param {number} data.lineWidth		边框宽度(单位毫米)
+	 */
+	drawCircle(data) {
+		return request("drawCircle", data);
+	},
+	/**
+	 * 填充圆;
+	 * @param {{}} data
+	 * @param {number} data.x				圆心X轴坐标位置(单位毫米)
+	 * @param {number} data.y				圆心Y轴坐标位置(单位毫米)
+	 * @param {number} data.radius			圆半径(单位毫米)
+	 */
+	fillCircle(data) {
+		return request("fillCircle", data);
+	},
+	/**
+	 * 绘制直线;
+	 * @param {{}} data
+	 * @param {number} data.x1					起点X轴坐标位置(单位毫米)
+	 * @param {number} data.y1					起点Y轴坐标位置(单位毫米)
+	 * @param {number} data.x2					终点X轴坐标位置(单位毫米)
+	 * @param {number} data.y2					终点Y轴坐标位置(单位毫米)
+	 * @param {number} data.lineWidth			线条宽度(单位毫米)
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0,表示不进行任何旋转;
+	 */
+	drawLine(data) {
+		return request("drawLine", data);
+	},
+	/**
+	 * 绘制虚线;
+	 * @param {{}} data
+	 * @param {number} data.x1					起点X轴坐标位置(单位毫米)
+	 * @param {number} data.y1					起点Y轴坐标位置(单位毫米)
+	 * @param {number} data.x2					终点X轴坐标位置(单位毫米)
+	 * @param {number} data.y2					终点Y轴坐标位置(单位毫米)
+	 * @param {number} data.dashLen[],			电话线线段长度数组(单位毫米)
+	 * @param {number} data.lineWidth			线条宽度(单位毫米)
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0,表示不进行任何旋转;
+	 */
+	drawDashLine(data) {
+		return request("drawDashLine", data);
+	},
+	/**
+	 * 绘制图片;
+	 * @param {{}} data
+	 * @param {string} data.image
+	 * @param {number} data.x					X轴坐标位置(单位毫米)
+	 * @param {number} data.y					Y轴坐标位置(单位毫米)
+	 * @param {number} data.width				绘制数据内容的宽度(单位毫米)
+	 * @param {number} data.height				绘制数据内容的高度(单位毫米)
+	 * @param {number} data.threshold			黑白转换阈值,默认是192
+	 * @param {0|90|180|270} data.orientation	字符串旋转方向?默认以setItemOrientation为准;如果未调用该函数,则为0,表示不进行任何旋转;
+	 */
+	drawImage(data) {
+		return request("drawImage", data);
+	},
+};
+
+export default lpapi;
+
+
diff --git a/ilsApp/common/scanCode.js b/ilsApp/common/scanCode.js
new file mode 100644
index 0000000..01c26ac
--- /dev/null
+++ b/ilsApp/common/scanCode.js
@@ -0,0 +1,62 @@
+let main;
+let filter;
+let receiver;
+let tag = false;
+/**
+ * 开始广播监听扫码
+ */
+const start = () => {
+  /* #ifdef APP-PLUS */
+  main.registerReceiver(receiver, filter);
+  /* #endif */
+}
+
+
+/**
+ * 停止广播监听扫码
+ * that:传this;
+ */
+const stop = () => {
+  /* #ifdef APP-PLUS */
+  main.unregisterReceiver(receiver);
+  /* #endif */
+}
+
+
+/**  剩余下个变量已经做了全局变量
+ *
+ * 定义广播
+ * that:传this;
+ */
+const init = (onReceive) => {
+  /* #ifdef APP-PLUS */
+  //获取activity
+  main = plus.android.runtimeMainActivity();
+  const IntentFilter = plus.android.importClass('android.content.IntentFilter');
+  filter = new IntentFilter();
+  // 扫描设置的广播名称A(上面指代了)
+  filter.addAction("android.intent.ACTION_DECODE_DATA");
+  receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
+    onReceive: function(context, intent) {
+      plus.android.importClass(intent);
+      // 扫描设置的标签名称B(上面指代了)
+      const code = intent.getStringExtra("barcode_string");
+      if (tag) return;
+      tag = true;
+      setTimeout(function() {
+        tag = false;
+      }, 150);
+      //到这里扫描成功了,可以调用自己的业务逻辑,code就是扫描的结果    return出code进行业务处理
+      onReceive && onReceive(code);
+    }
+  });
+  /* #endif */
+
+}
+
+export const broadcastScan = {
+  init,
+  start,
+  stop,
+};
+
diff --git a/ilsApp/components/scan-code/scan-code.vue b/ilsApp/components/scan-code/scan-code.vue
new file mode 100644
index 0000000..daacca6
--- /dev/null
+++ b/ilsApp/components/scan-code/scan-code.vue
@@ -0,0 +1,67 @@
+
+    {{scanCode}}
+
+
+
+
+
diff --git a/ilsApp/index.html b/ilsApp/index.html
new file mode 100644
index 0000000..c3ff205
--- /dev/null
+++ b/ilsApp/index.html
@@ -0,0 +1,20 @@
+
+
+  
+    
+    
+    
+    
+    
+  
+  
+    
+    
+  
+
diff --git a/ilsApp/main.js b/ilsApp/main.js
new file mode 100644
index 0000000..2989c38
--- /dev/null
+++ b/ilsApp/main.js
@@ -0,0 +1,52 @@
+import App from './App'
+
+// #ifndef VUE3
+import Vue from 'vue'
+import {broadcastScan} from '@/common/scanCode'
+Vue.prototype.$broadcastScan=broadcastScan
+Vue.config.productionTip = false
+App.mpType = 'app'
+
+try {
+  function isPromise(obj) {
+    return (
+      !!obj &&
+      (typeof obj === "object" || typeof obj === "function") &&
+      typeof obj.then === "function"
+    );
+  }
+
+  // 统一 vue2 API Promise 化返回格式与 vue3 保持一致
+  uni.addInterceptor({
+    returnValue(res) {
+      if (!isPromise(res)) {
+        return res;
+      }
+      return new Promise((resolve, reject) => {
+        res.then((res) => {
+          if (res[0]) {
+            reject(res[0]);
+          } else {
+            resolve(res[1]);
+          }
+        });
+      });
+    },
+  });
+} catch (error) { }
+
+const app = new Vue({
+  ...App
+})
+app.$mount()
+// #endif
+
+// #ifdef VUE3
+import { createSSRApp } from 'vue'
+export function createApp() {
+  const app = createSSRApp(App)
+  return {
+    app
+  }
+}
+// #endif
\ No newline at end of file
diff --git a/ilsApp/manifest.json b/ilsApp/manifest.json
new file mode 100644
index 0000000..53a11b7
--- /dev/null
+++ b/ilsApp/manifest.json
@@ -0,0 +1,74 @@
+{
+    "name" : "ilsApp",
+    "appid" : "__UNI__B50240E",
+    "description" : "",
+    "versionName" : "1.0.0",
+    "versionCode" : "100",
+    "transformPx" : false,
+    /* 5+App特有相关 */
+    "app-plus" : {
+        "usingComponents" : true,
+        "nvueStyleCompiler" : "uni-app",
+        "compilerVersion" : 3,
+        "splashscreen" : {
+            "alwaysShowBeforeRender" : true,
+            "waiting" : true,
+            "autoclose" : true,
+            "delay" : 0
+        },
+        /* 模块配置 */
+        "modules" : {},
+        /* 应用发布信息 */
+        "distribute" : {
+            /* android打包配置 */
+            "android" : {
+                "permissions" : [
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    "",
+                    ""
+                ]
+            },
+            /* ios打包配置 */
+            "ios" : {},
+            /* SDK配置 */
+            "sdkConfigs" : {}
+        }
+    },
+    /* 快应用特有相关 */
+    "quickapp" : {},
+    /* 小程序特有相关 */
+    "mp-weixin" : {
+        "appid" : "",
+        "setting" : {
+            "urlCheck" : false
+        },
+        "usingComponents" : true
+    },
+    "mp-alipay" : {
+        "usingComponents" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "uniStatistics" : {
+        "enable" : false
+    },
+    "vueVersion" : "2"
+}
diff --git a/ilsApp/node_modules/.yarn-integrity b/ilsApp/node_modules/.yarn-integrity
new file mode 100644
index 0000000..9937b9e
--- /dev/null
+++ b/ilsApp/node_modules/.yarn-integrity
@@ -0,0 +1,10 @@
+{
+  "systemParams": "darwin-arm64-93",
+  "modulesFolders": [],
+  "flags": [],
+  "linkedModules": [],
+  "topLevelPatterns": [],
+  "lockfileEntries": {},
+  "files": [],
+  "artifacts": {}
+}
\ No newline at end of file
diff --git a/ilsApp/package-lock.json b/ilsApp/package-lock.json
new file mode 100644
index 0000000..48e341a
--- /dev/null
+++ b/ilsApp/package-lock.json
@@ -0,0 +1,3 @@
+{
+  "lockfileVersion": 1
+}
diff --git a/ilsApp/pages.json b/ilsApp/pages.json
new file mode 100644
index 0000000..55ec9e4
--- /dev/null
+++ b/ilsApp/pages.json
@@ -0,0 +1,87 @@
+{
+	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+		{
+			"path": "pages/tabbar/index/index",
+			"style" :
+			{
+				"navigationBarTitleText": "首页",
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path" : "pages/tabbar/classify/classify",
+			"style" :
+			{
+				"navigationBarTitleText": "分类",
+				"navigationBarBackgroundColor": "#00b783",
+				"navigationBarTextStyle": "white",
+				"enablePullDownRefresh": false
+
+			}
+
+		},
+		{
+			"path": "pages/tabbar/mine/mine",
+			"style": {
+				"navigationBarTitleText": "个人中心",
+				"navigationBarBackgroundColor": "#00b783",
+				"navigationBarTextStyle": "white",
+				"enablePullDownRefresh": false
+
+			}
+
+		}, {
+			"path": "pages/tabbar/study/study",
+			"style": {
+				"navigationBarTitleText": "学习",
+				"navigationBarBackgroundColor": "#00b783",
+				"navigationBarTextStyle": "white",
+				"enablePullDownRefresh": false
+			}
+
+		}
+	],
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "uni-app",
+		"navigationBarBackgroundColor": "#F8F8F8",
+		"backgroundColor": "#F8F8F8"
+	},
+	"uniIdRouter": {},
+	"tabBar": {
+		"color": "#999",
+		"selectedColor": "#00b783", //选中颜色
+		"borderStyle": "#fff", //边框颜色
+		"backgroundColor": "black", //背景颜色
+		"list": [{
+				"pagePath": "pages/tabbar/index/index",
+				"text": "首页",
+				"iconPath": "static/logo.png",
+				"selectedIconPath": "static/logo.png"
+			}
+//			{
+//				"pagePath": "pages/tabbar/classify/classify",
+//				"text": "分类"
+//			}
+//			{
+//				"pagePath": "pages/tabbar/study/study",
+//				"text": "学习"
+//			},
+//			{
+//				"pagePath": "pages/tabbar/mine/mine",
+//				"text": "我的"
+//			}
+		]
+
+	},
+	"condition" : { //模式配置,仅开发期间生效
+		"current": 0, //当前激活的模式(list 的索引项)
+		"list": [
+			{
+				"name": "", //模式名称
+				"path": "", //启动页面,必选
+				"query": "" //启动参数,在页面的onLoad函数里面得到
+			}
+		]
+	}
+}
diff --git a/ilsApp/pages/tabbar/classify/classify.vue b/ilsApp/pages/tabbar/classify/classify.vue
new file mode 100644
index 0000000..8183fd0
--- /dev/null
+++ b/ilsApp/pages/tabbar/classify/classify.vue
@@ -0,0 +1,22 @@
+
+	
+		
+	
+
+
+
+
+
diff --git a/ilsApp/pages/tabbar/index/index.vue b/ilsApp/pages/tabbar/index/index.vue
new file mode 100644
index 0000000..9fa10d6
--- /dev/null
+++ b/ilsApp/pages/tabbar/index/index.vue
@@ -0,0 +1,127 @@
+
+	
+		
+			{{codes}}
+			
+		
+		
+			
+		
+		
+
+
+
+
+
diff --git a/ilsApp/pages/tabbar/mine/mine.vue b/ilsApp/pages/tabbar/mine/mine.vue
new file mode 100644
index 0000000..8183fd0
--- /dev/null
+++ b/ilsApp/pages/tabbar/mine/mine.vue
@@ -0,0 +1,22 @@
+
+	
+		
+	
+
+
+
+
+
diff --git a/ilsApp/pages/tabbar/study/study.vue b/ilsApp/pages/tabbar/study/study.vue
new file mode 100644
index 0000000..8183fd0
--- /dev/null
+++ b/ilsApp/pages/tabbar/study/study.vue
@@ -0,0 +1,22 @@
+
+	
+		
+	
+
+
+
+
+
diff --git a/ilsApp/readme.md b/ilsApp/readme.md
new file mode 100644
index 0000000..e69de29
diff --git a/ilsApp/static/logo.png b/ilsApp/static/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5771e209bb677e2ebd5ff766ad5ee11790f305a
GIT binary patch
literal 4023
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
SYs}WS&%*SCNx89m_ {\r\n        res.then((res) => {\r\n          if (res[0]) {\r\n            reject(res[0]);\r\n          } else {\r\n            resolve(res[1]);\r\n          }\r\n        });\r\n      });\r\n    },\r\n  });\r\n} catch (error) { }\r\n\r\nconst app = new Vue({\r\n  ...App\r\n})\r\napp.$mount()","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"","\r\n\r\n\n","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n    if(module.hot) {\n      // 1688699846126\n      var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n      module.hot.dispose(cssReload);\n      module.hot.accept(undefined, cssReload);\n    }\n  "],"sourceRoot":""}
\ No newline at end of file
diff --git a/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
new file mode 100644
index 0000000..b30dc0a
--- /dev/null
+++ b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///D:/HBuilderX/plugins/uniapp-cli/webpack/bootstrap"],"names":[],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA","file":"common/runtime.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"common/runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = global[\"webpackJsonp\"] = global[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
new file mode 100644
index 0000000..bfc1fa8
--- /dev/null
+++ b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/wx.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/index.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/global.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/interopRequireDefault.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/slicedToArray.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayWithHoles.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/nonIterableRest.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/defineProperty.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toPropertyKey.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/typeof.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toPrimitive.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/construct.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/setPrototypeOf.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toConsumableArray.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/iterableToArray.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/nonIterableSpread.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/classCallCheck.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/createClass.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js","uni-app:///D:/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js","uni-app:///common/scanCode.js","uni-app:///common/print/CLodopfuncs.js"],"names":["objectKeys","singlePageDisableKey","target","globalThis","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","realAtob","b64","b64re","atob","str","String","replace","test","Error","slice","length","bitmap","result","r1","r2","i","charAt","fromCharCode","b64DecodeUnicode","decodeURIComponent","split","map","c","charCodeAt","toString","getCurrentUserInfo","token","wx","getStorageSync","tokenArr","uid","role","permission","tokenExpired","userInfo","JSON","parse","error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","_toString","Object","hasOwnProperty","isFn","fn","isStr","isObject","obj","isPlainObject","call","hasOwn","noop","cached","cache","create","cachedFn","hit","camelizeRE","camelize","_","toUpperCase","sortObject","sortObj","keys","sort","forEach","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","params","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","callbackInterceptor","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","scopedInterceptor","invokeApi","api","invoke","promiseInterceptor","reject","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","isSyncApi","isCallbackApi","handlePromise","catch","err","shouldPromise","finally","constructor","value","reason","promisify","promiseApi","success","fail","complete","assign","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","Math","floor","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","locale","normalizeLocale","language","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","i18n","initVueI18n","t","i18nMixin","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","methods","$$t","values","setLocale","getLocale","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","defineProperty","get","set","v","watch","include","parts","find","part","startsWith","trim","toLowerCase","lang","getLocale$1","getApp","app","allowDefault","$vm","$locale","setLocale$1","oldLocale","onLocaleChangeCallbacks","onLocaleChange","global","interceptors","baseApi","freeze","__proto__","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","deviceId","useDeviceId","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","populateParameters","brand","model","system","theme","version","fontSizeSetting","SDKVersion","deviceOrientation","extraParam","osName","osVersion","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appId","process","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","getAppBaseInfo","getDeviceInfo","getWindowInfo","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","compressImage","compressedHeight","compressHeight","compressedWidth","compressWidth","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","apply","todoApis","TODOS","createTodoApi","todoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","getUniEmitter","ctx","$on","arguments","$off","$emit","eventApi","tryCatch","e","getApiCallbacks","apiCallbacks","param","cid","cidErrMsg","enabled","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","$children","childVm","$scope","_$vueId","parentVm","initBehavior","Behavior","isPage","route","initRelation","detail","triggerEvent","selectAllComponents","mpInstance","selector","$refs","components","component","ref","dataset","toSkip","vueGeneric","scopedComponent","syncRefs","refs","newRefs","oldKeys","Set","newKeys","oldValue","newValue","every","delete","initRefs","forComponents","handleLink","event","vueOptions","parent","markMPComponent","IS_MP","configurable","enumerable","OB","SKIP","isExtensible","WORKLET_RE","initWorkletMethods","mpMethods","vueMethods","matches","match","workletName","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","oldTriggerEvent","newTriggerEvent","comType","newEvent","_triggerEvent","initHook","isComponent","oldHook","__$wrappered","after","PAGE_EVENT_HOOKS","initMocks","$mp","mpType","mock","hasHook","default","extendOptions","super","mixins","initHooks","mpOptions","__call_hook","initUnknownHooks","excludes","findHooks","initHook$1","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vuePid","initData","context","VUE_APP_DEBUG","stringify","__lifecycle_hooks__","PROP_TYPES","Boolean","createObserver","observer","newVal","oldVal","initBehaviors","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","isInteger","substr","__get_value","vForItem","vForKey","processEventExtra","extra","__args__","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","path","is","once","eventChannels","getEventChannel","id","eventChannel","initEventChannel","getOpenerEventChannel","callHook","__id__","__eventChannel__","initScopedSlotsParams","center","parents","currentId","propsData","$hasSSP","slot","$getSSP","needAll","$setSSP","$initSSP","$callSSP","destroyed","parseBaseApp","store","$store","mpHost","$i18n","_i18n","appOptions","onLaunch","canIUse","globalData","_isMounted","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","val2","x","parseBaseComponent","vueComponentOptions","needVueOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","createPlugin","canIUseApi","apiName","uni","Proxy","uni$1","_interopRequireDefault","__esModule","module","exports","arrayWithHoles","require","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","arrayLikeToArray","_unsupportedIterableToArray","o","minLen","n","from","_arrayLikeToArray","arr2","_nonIterableRest","TypeError","toPropertyKey","_defineProperty","writable","_typeof","toPrimitive","_toPropertyKey","_toPrimitive","input","hint","prim","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","Class","Reflect","construct","bind","a","Constructor","Function","instance","_setPrototypeOf","p","_isNativeReflectConstruct","sham","valueOf","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","startDelimiter","endDelimiter","position","text","char","sub","isClosed","compiled","mode","defaultFormatter","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","$watch","getDefaultLocale","isWatchedAppLocale","f","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","unshift","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain","pop","_classCallCheck","_defineProperties","descriptor","_createClass","protoProps","staticProps","main","receiver","tag","start","stop","init","onReceive","broadcastScan","win","printListDev","printListOnline","CLODOP","strWebPageID","strTaskID","strHostURI","wsHostURI","VERSION","IVERSION","CVERSION","HTTPS_STATUS","VERSION_EXT","iBaseTask","timeThreshold","Priority","blIslocal","Iframes","ItemDatas","PageData","defStyleJson","PageDataEx","ItemCNameStyles","blWorking","blNormalItemAdded","blTmpSelectedIndex","Caption","Color","CompanyName","strBroadcastMS","Border","Inbrowse","webskt","SocketEnable","SocketOpened","NoClearAfterPrint","On_Return_Remain","On_Broadcast_Remain","On_Return","Result","iTrySendTimes","OBO_Mode","blOneByone","DelimChar","Printers","altMessageWebSocketInvalid","altMessageNoReadWriteFile","altMessageNoReadFile","altMessageNoWriteFile","altMessageNoPrintDesign","altMessageNoPrintSetup","altMessageSomeWindowExist","altMessageBusy","Browser","navigator","userAgent","isOpera","window","opera","IE","attachEvent","Opera","WebKit","Gecko","MobileSafari","GetTaskID","dt","getHours","getMinutes","getSeconds","DoInit","list","OpenWebSocket","WebSocket","MozWebSocket","On_CLodop_Opened","CLODOP_OK_Priority","setTimeout","readyState","connectSocket","info","onOpen","onMessage","log","resultHandle","onClose","onError","strResult","strFTaskID","iPos","On_Broadcast","selfFunc","wsSend","strData","send","postSend","Api","flPostPrint","FORMAT","oType","oValue","tResult","TypeYMD","aMonth","RegExp","subTime","dValue","iYear","iMonth","iDate","iHour","iMinutes","iSecond","tmpValue","sValue","MC1","MC2","MC3","setFullYear","setHours","setMinutes","setSeconds","iDay","getDay","getTime","sWeek","$1","dsWidth","DoPostDatas","GetLastResult","SET_PRINT_PAPER","Top","Left","Width","Height","strPrintTask","PRINT_INITA","PRINT_INIT","SET_PRINT_MODE","strModeType","ModeValue","ADD_PRINT_TEXT","width","height","strText","AddItemArray","ADD_PRINT_TEXTA","itemName","ADD_PRINT_HTM","strHTML","ADD_PRINT_HTML","ADD_PRINT_HTMLA","ADD_PRINT_BARCODE","BarType","BarValue","ADD_PRINT_BARCODEA","ItemName","ADD_PRINT_RECTA","intPenStyle","intPenWidth","intColor","ADD_PRINT_RECT","ADD_PRINT_ELLIPSEA","ADD_PRINT_ELLIPSE","ADD_PRINT_SHAPE","ShapeType","ADD_PRINT_LINE","top1","left1","top2","left2","ADD_PRINT_DNLINE","ADD_PRINT_DNLINEA","ADD_PRINT_UPLINE","ADD_PRINT_UPLINEA","ADD_PRINT_TABLE","ADD_PRINT_TBURL","strURL","ADD_PRINT_URL","ADD_PRINT_IMAGE","ADD_PRINT_CHART","strChartTypess","SET_PRINT_PROPERTY","ItemNO","intPageType","intHorzOrient","intVertOrient","SET_PRINT_STYLEA","SET_PRINT_PROPERTYA","SET_PRINT_STYLE","strStyleName","StyleValue","ItemNo","strKey","Value","blResult","vItemNO","SET_PRINT_TEXT_STYLE","strFontName","intSize","intBold","intItalic","intUnderline","intAlignment","SET_PRINT_TEXT_STYLEA","SET_PRINT_TEXT_STYLEB","NEWPAGE","NewPage","blSomeNormal","noItemType","vItemxx","NEWPAGEA","NewPageA","PREVIEW","sView","iW","iH","DoCPreview","PRINT","GET_PRINTER_COUNT","GET_PRINTER_NAME","intNO","strPPname","GET_PAGESIZES_LIST","PNameIndx","Split","ListName","NameOrID","strList","iPNO","SET_PRINTER_INDEX","strName","strKeyModeName","printIndex","printerindex","strNameOrNO","vNO","strPrinterName","SET_PRINTER_INDEXA","PRINT_DESIGN","PRINT_SETUP","SET_PRINT_PAGESIZE","intOrient","PageWidth","PageHeight","strPageName","SET_PRINT_COPIES","intCopies","SELECT_PRINTER","blPrint","SelectBox","PRINTA","blPrintB","PRINTAOK","iPrintIndex","iPrintCopies","iStartNO","iEndNO","onlySelect","SET_LICENSES","strCompanyName","strLicense","strLicenseA","strLicenseB","PRINTB","PREVIEWA","PREVIEWB","ADD_PRINT_SETUP_BKIMG","strContent","SET_PREVIEW_WINDOW","intDispMode","intToolMode","blDirectPrint","oWidth","oHeight","strPButtonCaptoin","SET_PREVIEW_MODE","SET_SHOW_MODE","SAVE_TO_FILE","strFileName","SET_SAVE_MODE","SEND_PRINT_RAWDATA","strRawData","WRITE_FILE_TEXT","WriteMode","GET_DIALOG_VALUE","oPreValue","WRITE_PORT_DATA","strPortName","READ_PORT_DATA","GET_SYSTEM_INFO","InfoType","GET_FILE_TEXT","IS_FILE_EXIST","GET_FILE_TIME","GET_PRINT_INIFFNAME","strPrintTaskName","GET_VALUE","ValueType","ValueIndex","ADD_PRINT_DATA","DataType","SHOW_CHART","DO_ACTION","strActName","strActValue","Create_Printer_List","oElement","blNoDetailForAO","childNodes","children","removeChild","iCount","iIndex","document","createElement","innerHTML","appendChild","strDrivename","j","strDevID","strDevName","Create_PageSize_List","strPageSizeList","Options","SET_BRIDGE_INDEX","strValue","strDriverOrName","Get_AOPrinters_List","DriverNameOrIndex","strListName","strSplit","Get_AOBridges_List","Get_AOBridge_List","Get_AOBridge_SubPrinters_List","BridgeNameOrIndex","iDrvNO","iBdgNO","BridgeID","BridgeName","iSsbPNO","ssbprinter","Get_AOBridge_SubPrinters_PageSize_List","SubPrinterNameOrIndex","iPageSizeNO","itemname","isLinePosition","sCount","oneItem","vstyle","RemoveIframes","obody","body","getElementsByTagName","documentElement","AddInputElement","odocument","oform","oinput","createPostDataString","afterPostAction","location","href","vMode","PrintModeNamess","StyleClassNamess","vClassStyle","ItemStyless","wsDoPostDatas","oiframe","setAttribute","contentdocument","contentWindow","write","submit","IframeMS","blFOneByone","encodeURI","oscript","src","async","charset","head","insertBefore","firstChild","onload","onreadystatechange","CLodop_ACTLastResult","strResultTaskID","CLodop_ACTTaskID","CLodop_ACTAlert","CLodop_ACTconsole","parentNode","round","offsetWidth","screen","PopView","strPURL","showModalDialog","open","PreviewBox","strFeatures","getElementById","creatMyButtonElement","strType","creatLabelElement","Type","TxtLabel","style","cssText","dragapproved","offsetx","offsety","tempx","tempy","FrantDiv","PopDiv","selPrinter","selCopies","closeit","initializedrag","we","clientX","clientY","drag_drop","stopdrag","clickOK","Boxdiv","max","offsetHeight","titleDiv","onmousedown","onmousemove","onmouseup","icoButton","CloseButton","onclick","areaDiv","OKButton","CancelButton","oSelect","oCopies","compatMode","scrollWidth","scrollHeight","ContentFrame","oSelf","display","vBoxDiv","iLeft","frameBorder","CLODOP2015_7028","LODOP","getCLodop"],"mappings":"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OAAO,CAAC,SAAS,CAAC,GAAGD,MAAM,CAACC,OAAO,C;;;;;;;;;;;AClB3G;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;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;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;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,kGAAkG;AAClG;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;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;AACA;AACA;AACA;AACA;AACA;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,oIAAW;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,oIAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,oIAAW;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;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0CAA0C;;AAE1C;AACA;AACA;AACA,GAAG;;AAEH;AACA;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,oIAAW;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;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;AACA;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;AACA;;AAEA;AACA;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,KAAK;AACL;AACA,0BAA0B,OAAO;AACjC;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;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC97LnB;AAAA;AAAA;;AAEA;AACA;AACA;;AAEe;AACf;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,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;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,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACrHA,IAAI6H,IAAI;AACR,IAAIrjB,MAAM;AACV,IAAIsjB,QAAQ;AACZ,IAAIC,GAAG,GAAG,KAAK;AACf;AACA;AACA;AACA,IAAMC,KAAK,GAAG,SAARA,KAAK,GAAS,CAIpB,CAAC;;AAGD;AACA;AACA;AACA;AACA,IAAMC,IAAI,GAAG,SAAPA,IAAI,GAAS,CAInB,CAAC;;AAGD;AACA;AACA;AACA;AACA;AACA,IAAMC,IAAI,GAAG,SAAPA,IAAI,CAAIC,SAAS,EAAK,CAwB5B,CAAC;AAEM,IAAMC,aAAa,GAAG;EAC3BF,IAAI,EAAJA,IAAI;EACJF,KAAK,EAALA,KAAK;EACLC,IAAI,EAAJA;AACF,CAAC;AAAC,sC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DF;;AAUA,CAAC,UAASI,GAAG,EAAE;EACd,IAAIC,YAAY,GAAG,EAAE;EACrB,IAAIC,eAAe,GAAG,EAAE;EACxB,IAAIC,MAAM,GAAG;IACZC,YAAY,EAAE,SAAS;IACvBC,SAAS,EAAE,EAAE;IACbC,UAAU,EAAE,0BAA0B;IACtCC,SAAS,EAAE,kCA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","file":"common/vendor.js","sourcesContent":["const objectKeys = [\r\n  'qy',\r\n  'env',\r\n  'error',\r\n  'version',\r\n  'lanDebug',\r\n  'cloud',\r\n  'serviceMarket',\r\n  'router',\r\n  'worklet',\r\n  '__webpack_require_UNI_MP_PLUGIN__'\r\n]\r\nconst singlePageDisableKey = [\r\n  'lanDebug',\r\n  'router',\r\n  'worklet'\r\n]\r\nconst target = typeof globalThis !== 'undefined' ? globalThis : (function () {\r\n  return this\r\n})()\r\n\r\nconst key = ['w', 'x'].join('')\r\nconst oldWx = target[key]\r\nconst launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null\r\n\r\nfunction isWxKey (key) {\r\n  if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {\r\n    return false\r\n  }\r\n  return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function'\r\n}\r\n\r\nfunction initWx () {\r\n  const newWx = {}\r\n  for (const key in oldWx) {\r\n    if (isWxKey(key)) {\r\n      // TODO wrapper function\r\n      newWx[key] = oldWx[key]\r\n    }\r\n  }\r\n  return newWx\r\n}\r\ntarget[key] = initWx()\r\nexport default target[key]\r\n","import { initVueI18n } from '@dcloudio/uni-i18n';\r\nimport Vue from 'vue';\r\n\r\nlet realAtob;\r\n\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\r\n\r\nif (typeof atob !== 'function') {\r\n  realAtob = function (str) {\r\n    str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\r\n    if (!b64re.test(str)) { throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\") }\r\n\r\n    // Adding the padding if missing, for semplicity\r\n    str += '=='.slice(2 - (str.length & 3));\r\n    var bitmap; var result = ''; var r1; var r2; var i = 0;\r\n    for (; i < str.length;) {\r\n      bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |\r\n                    (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));\r\n\r\n      result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255)\r\n        : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255)\r\n          : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);\r\n    }\r\n    return result\r\n  };\r\n} else {\r\n  // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n  realAtob = atob;\r\n}\r\n\r\nfunction b64DecodeUnicode (str) {\r\n  return decodeURIComponent(realAtob(str).split('').map(function (c) {\r\n    return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\r\n  }).join(''))\r\n}\r\n\r\nfunction getCurrentUserInfo () {\r\n  const token = ( wx).getStorageSync('uni_id_token') || '';\r\n  const tokenArr = token.split('.');\r\n  if (!token || tokenArr.length !== 3) {\r\n    return {\r\n      uid: null,\r\n      role: [],\r\n      permission: [],\r\n      tokenExpired: 0\r\n    }\r\n  }\r\n  let userInfo;\r\n  try {\r\n    userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\r\n  } catch (error) {\r\n    throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message)\r\n  }\r\n  userInfo.tokenExpired = userInfo.exp * 1000;\r\n  delete userInfo.exp;\r\n  delete userInfo.iat;\r\n  return userInfo\r\n}\r\n\r\nfunction uniIdMixin (Vue) {\r\n  Vue.prototype.uniIDHasRole = function (roleId) {\r\n    const {\r\n      role\r\n    } = getCurrentUserInfo();\r\n    return role.indexOf(roleId) > -1\r\n  };\r\n  Vue.prototype.uniIDHasPermission = function (permissionId) {\r\n    const {\r\n      permission\r\n    } = getCurrentUserInfo();\r\n    return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1\r\n  };\r\n  Vue.prototype.uniIDTokenValid = function () {\r\n    const {\r\n      tokenExpired\r\n    } = getCurrentUserInfo();\r\n    return tokenExpired > Date.now()\r\n  };\r\n}\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n  return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n  return typeof str === 'string'\r\n}\r\n\r\nfunction isObject (obj) {\r\n  return obj !== null && typeof obj === 'object'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n  return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n  return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () {}\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n  const cache = Object.create(null);\r\n  return function cachedFn (str) {\r\n    const hit = cache[str];\r\n    return hit || (cache[str] = fn(str))\r\n  }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n  return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nfunction sortObject (obj) {\r\n  const sortObj = {};\r\n  if (isPlainObject(obj)) {\r\n    Object.keys(obj).sort().forEach(key => {\r\n      sortObj[key] = obj[key];\r\n    });\r\n  }\r\n  return !Object.keys(sortObj) ? obj : sortObj\r\n}\r\n\r\nconst HOOKS = [\r\n  'invoke',\r\n  'success',\r\n  'fail',\r\n  'complete',\r\n  'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n  const res = childVal\r\n    ? parentVal\r\n      ? parentVal.concat(childVal)\r\n      : Array.isArray(childVal)\r\n        ? childVal : [childVal]\r\n    : parentVal;\r\n  return res\r\n    ? dedupeHooks(res)\r\n    : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n  const res = [];\r\n  for (let i = 0; i < hooks.length; i++) {\r\n    if (res.indexOf(hooks[i]) === -1) {\r\n      res.push(hooks[i]);\r\n    }\r\n  }\r\n  return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n  const index = hooks.indexOf(hook);\r\n  if (index !== -1) {\r\n    hooks.splice(index, 1);\r\n  }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n  Object.keys(option).forEach(hook => {\r\n    if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n      interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n    }\r\n  });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n  if (!interceptor || !option) {\r\n    return\r\n  }\r\n  Object.keys(option).forEach(hook => {\r\n    if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n      removeHook(interceptor[hook], option[hook]);\r\n    }\r\n  });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n  if (typeof method === 'string' && isPlainObject(option)) {\r\n    mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n  } else if (isPlainObject(method)) {\r\n    mergeInterceptorHook(globalInterceptors, method);\r\n  }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n  if (typeof method === 'string') {\r\n    if (isPlainObject(option)) {\r\n      removeInterceptorHook(scopedInterceptors[method], option);\r\n    } else {\r\n      delete scopedInterceptors[method];\r\n    }\r\n  } else if (isPlainObject(method)) {\r\n    removeInterceptorHook(globalInterceptors, method);\r\n  }\r\n}\r\n\r\nfunction wrapperHook (hook, params) {\r\n  return function (data) {\r\n    return hook(data, params) || data\r\n  }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n  return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data, params) {\r\n  let promise = false;\r\n  for (let i = 0; i < hooks.length; i++) {\r\n    const hook = hooks[i];\r\n    if (promise) {\r\n      promise = Promise.resolve(wrapperHook(hook, params));\r\n    } else {\r\n      const res = hook(data, params);\r\n      if (isPromise(res)) {\r\n        promise = Promise.resolve(res);\r\n      }\r\n      if (res === false) {\r\n        return {\r\n          then () { }\r\n        }\r\n      }\r\n    }\r\n  }\r\n  return promise || {\r\n    then (callback) {\r\n      return callback(data)\r\n    }\r\n  }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n  ['success', 'fail', 'complete'].forEach(name => {\r\n    if (Array.isArray(interceptor[name])) {\r\n      const oldCallback = options[name];\r\n      options[name] = function callbackInterceptor (res) {\r\n        queue(interceptor[name], res, options).then((res) => {\r\n          /* eslint-disable no-mixed-operators */\r\n          return isFn(oldCallback) && oldCallback(res) || res\r\n        });\r\n      };\r\n    }\r\n  });\r\n  return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n  const returnValueHooks = [];\r\n  if (Array.isArray(globalInterceptors.returnValue)) {\r\n    returnValueHooks.push(...globalInterceptors.returnValue);\r\n  }\r\n  const interceptor = scopedInterceptors[method];\r\n  if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n    returnValueHooks.push(...interceptor.returnValue);\r\n  }\r\n  returnValueHooks.forEach(hook => {\r\n    returnValue = hook(returnValue) || returnValue;\r\n  });\r\n  return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n  const interceptor = Object.create(null);\r\n  Object.keys(globalInterceptors).forEach(hook => {\r\n    if (hook !== 'returnValue') {\r\n      interceptor[hook] = globalInterceptors[hook].slice();\r\n    }\r\n  });\r\n  const scopedInterceptor = scopedInterceptors[method];\r\n  if (scopedInterceptor) {\r\n    Object.keys(scopedInterceptor).forEach(hook => {\r\n      if (hook !== 'returnValue') {\r\n        interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n      }\r\n    });\r\n  }\r\n  return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n  const interceptor = getApiInterceptorHooks(method);\r\n  if (interceptor && Object.keys(interceptor).length) {\r\n    if (Array.isArray(interceptor.invoke)) {\r\n      const res = queue(interceptor.invoke, options);\r\n      return res.then((options) => {\r\n        // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor\r\n        return api(\r\n          wrapperOptions(getApiInterceptorHooks(method), options),\r\n          ...params\r\n        )\r\n      })\r\n    } else {\r\n      return api(wrapperOptions(interceptor, options), ...params)\r\n    }\r\n  }\r\n  return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n  returnValue (res) {\r\n    if (!isPromise(res)) {\r\n      return res\r\n    }\r\n    return new Promise((resolve, reject) => {\r\n      res.then(res => {\r\n        if (res[0]) {\r\n          reject(res[0]);\r\n        } else {\r\n          resolve(res[1]);\r\n        }\r\n      });\r\n    })\r\n  }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n  /^\\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\n\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection', 'createPushMessage'];\r\n\r\nconst CALLBACK_API_RE = /^on|^off/;\r\n\r\nfunction isContextApi (name) {\r\n  return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\r\n}\r\nfunction isSyncApi (name) {\r\n  return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n  return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n  return promise.then(data => {\r\n    return [null, data]\r\n  })\r\n    .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n  if (\r\n    isContextApi(name) ||\r\n    isSyncApi(name) ||\r\n    isCallbackApi(name)\r\n  ) {\r\n    return false\r\n  }\r\n  return true\r\n}\r\n\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n  Promise.prototype.finally = function (callback) {\r\n    const promise = this.constructor;\r\n    return this.then(\r\n      value => promise.resolve(callback()).then(() => value),\r\n      reason => promise.resolve(callback()).then(() => {\r\n        throw reason\r\n      })\r\n    )\r\n  };\r\n}\r\n\r\nfunction promisify (name, api) {\r\n  if (!shouldPromise(name) || !isFn(api)) {\r\n    return api\r\n  }\r\n  return function promiseApi (options = {}, ...params) {\r\n    if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n      return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n    }\r\n    return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n      invokeApi(name, api, Object.assign({}, options, {\r\n        success: resolve,\r\n        fail: reject\r\n      }), ...params);\r\n    })))\r\n  }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n  const {\r\n    platform,\r\n    pixelRatio,\r\n    windowWidth\r\n  } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n  deviceWidth = windowWidth;\r\n  deviceDPR = pixelRatio;\r\n  isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n  if (deviceWidth === 0) {\r\n    checkDeviceWidth();\r\n  }\r\n\r\n  number = Number(number);\r\n  if (number === 0) {\r\n    return 0\r\n  }\r\n  let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n  if (result < 0) {\r\n    result = -result;\r\n  }\r\n  result = Math.floor(result + EPS);\r\n  if (result === 0) {\r\n    if (deviceDPR === 1 || !isIOS) {\r\n      result = 1;\r\n    } else {\r\n      result = 0.5;\r\n    }\r\n  }\r\n  return number < 0 ? -result : result\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\n\r\nconst messages = {};\r\n\r\nlet locale;\r\n\r\n{\r\n  locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;\r\n}\r\n\r\nfunction initI18nMessages () {\r\n  if (!isEnableLocale()) {\r\n    return\r\n  }\r\n  const localeKeys = Object.keys(__uniConfig.locales);\r\n  if (localeKeys.length) {\r\n    localeKeys.forEach((locale) => {\r\n      const curMessages = messages[locale];\r\n      const userMessages = __uniConfig.locales[locale];\r\n      if (curMessages) {\r\n        Object.assign(curMessages, userMessages);\r\n      } else {\r\n        messages[locale] = userMessages;\r\n      }\r\n    });\r\n  }\r\n}\r\n\r\ninitI18nMessages();\r\n\r\nconst i18n = initVueI18n(\r\n  locale,\r\n   {}\r\n);\r\nconst t = i18n.t;\r\nconst i18nMixin = (i18n.mixin = {\r\n  beforeCreate () {\r\n    const unwatch = i18n.i18n.watchLocale(() => {\r\n      this.$forceUpdate();\r\n    });\r\n    this.$once('hook:beforeDestroy', function () {\r\n      unwatch();\r\n    });\r\n  },\r\n  methods: {\r\n    $$t (key, values) {\r\n      return t(key, values)\r\n    }\r\n  }\r\n});\r\nconst setLocale = i18n.setLocale;\r\nconst getLocale = i18n.getLocale;\r\n\r\nfunction initAppLocale (Vue, appVm, locale) {\r\n  const state = Vue.observable({\r\n    locale: locale || i18n.getLocale()\r\n  });\r\n  const localeWatchers = [];\r\n  appVm.$watchLocale = fn => {\r\n    localeWatchers.push(fn);\r\n  };\r\n  Object.defineProperty(appVm, '$locale', {\r\n    get () {\r\n      return state.locale\r\n    },\r\n    set (v) {\r\n      state.locale = v;\r\n      localeWatchers.forEach(watch => watch(v));\r\n    }\r\n  });\r\n}\r\n\r\nfunction isEnableLocale () {\r\n  return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length\r\n}\r\n\r\nfunction include (str, parts) {\r\n  return !!parts.find((part) => str.indexOf(part) !== -1)\r\n}\r\n\r\nfunction startsWith (str, parts) {\r\n  return parts.find((part) => str.indexOf(part) === 0)\r\n}\r\n\r\nfunction normalizeLocale (locale, messages) {\r\n  if (!locale) {\r\n    return\r\n  }\r\n  locale = locale.trim().replace(/_/g, '-');\r\n  if (messages && messages[locale]) {\r\n    return locale\r\n  }\r\n  locale = locale.toLowerCase();\r\n  if (locale === 'chinese') {\r\n    // 支付宝\r\n    return LOCALE_ZH_HANS\r\n  }\r\n  if (locale.indexOf('zh') === 0) {\r\n    if (locale.indexOf('-hans') > -1) {\r\n      return LOCALE_ZH_HANS\r\n    }\r\n    if (locale.indexOf('-hant') > -1) {\r\n      return LOCALE_ZH_HANT\r\n    }\r\n    if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n      return LOCALE_ZH_HANT\r\n    }\r\n    return LOCALE_ZH_HANS\r\n  }\r\n  const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\r\n  if (lang) {\r\n    return lang\r\n  }\r\n}\r\n// export function initI18n() {\r\n//   const localeKeys = Object.keys(__uniConfig.locales || {})\r\n//   if (localeKeys.length) {\r\n//     localeKeys.forEach((locale) =>\r\n//       i18n.add(locale, __uniConfig.locales[locale])\r\n//     )\r\n//   }\r\n// }\r\n\r\nfunction getLocale$1 () {\r\n  // 优先使用 $locale\r\n  if (isFn(getApp)) {\r\n    const app = getApp({\r\n      allowDefault: true\r\n    });\r\n    if (app && app.$vm) {\r\n      return app.$vm.$locale\r\n    }\r\n  }\r\n  return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN\r\n}\r\n\r\nfunction setLocale$1 (locale) {\r\n  const app = isFn(getApp) ? getApp() : false;\r\n  if (!app) {\r\n    return false\r\n  }\r\n  const oldLocale = app.$vm.$locale;\r\n  if (oldLocale !== locale) {\r\n    app.$vm.$locale = locale;\r\n    onLocaleChangeCallbacks.forEach((fn) => fn({\r\n      locale\r\n    }));\r\n    return true\r\n  }\r\n  return false\r\n}\r\n\r\nconst onLocaleChangeCallbacks = [];\r\nfunction onLocaleChange (fn) {\r\n  if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n    onLocaleChangeCallbacks.push(fn);\r\n  }\r\n}\r\n\r\nif (typeof global !== 'undefined') {\r\n  global.getLocale = getLocale$1;\r\n}\r\n\r\nconst interceptors = {\r\n  promiseInterceptor\r\n};\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n  __proto__: null,\r\n  upx2px: upx2px,\r\n  getLocale: getLocale$1,\r\n  setLocale: setLocale$1,\r\n  onLocaleChange: onLocaleChange,\r\n  addInterceptor: addInterceptor,\r\n  removeInterceptor: removeInterceptor,\r\n  interceptors: interceptors\r\n});\r\n\r\nfunction findExistsPageIndex (url) {\r\n  const pages = getCurrentPages();\r\n  let len = pages.length;\r\n  while (len--) {\r\n    const page = pages[len];\r\n    if (page.$page && page.$page.fullPath === url) {\r\n      return len\r\n    }\r\n  }\r\n  return -1\r\n}\r\n\r\nvar redirectTo = {\r\n  name (fromArgs) {\r\n    if (fromArgs.exists === 'back' && fromArgs.delta) {\r\n      return 'navigateBack'\r\n    }\r\n    return 'redirectTo'\r\n  },\r\n  args (fromArgs) {\r\n    if (fromArgs.exists === 'back' && fromArgs.url) {\r\n      const existsPageIndex = findExistsPageIndex(fromArgs.url);\r\n      if (existsPageIndex !== -1) {\r\n        const delta = getCurrentPages().length - 1 - existsPageIndex;\r\n        if (delta > 0) {\r\n          fromArgs.delta = delta;\r\n        }\r\n      }\r\n    }\r\n  }\r\n};\r\n\r\nvar previewImage = {\r\n  args (fromArgs) {\r\n    let currentIndex = parseInt(fromArgs.current);\r\n    if (isNaN(currentIndex)) {\r\n      return\r\n    }\r\n    const urls = fromArgs.urls;\r\n    if (!Array.isArray(urls)) {\r\n      return\r\n    }\r\n    const len = urls.length;\r\n    if (!len) {\r\n      return\r\n    }\r\n    if (currentIndex < 0) {\r\n      currentIndex = 0;\r\n    } else if (currentIndex >= len) {\r\n      currentIndex = len - 1;\r\n    }\r\n    if (currentIndex > 0) {\r\n      fromArgs.current = urls[currentIndex];\r\n      fromArgs.urls = urls.filter(\r\n        (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n      );\r\n    } else {\r\n      fromArgs.current = urls[0];\r\n    }\r\n    return {\r\n      indicator: false,\r\n      loop: false\r\n    }\r\n  }\r\n};\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId (result) {\r\n  deviceId = deviceId || wx.getStorageSync(UUID_KEY);\r\n  if (!deviceId) {\r\n    deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n    wx.setStorage({\r\n      key: UUID_KEY,\r\n      data: deviceId\r\n    });\r\n  }\r\n  result.deviceId = deviceId;\r\n}\r\n\r\nfunction addSafeAreaInsets (result) {\r\n  if (result.safeArea) {\r\n    const safeArea = result.safeArea;\r\n    result.safeAreaInsets = {\r\n      top: safeArea.top,\r\n      left: safeArea.left,\r\n      right: result.windowWidth - safeArea.right,\r\n      bottom: result.screenHeight - safeArea.bottom\r\n    };\r\n  }\r\n}\r\n\r\nfunction populateParameters (result) {\r\n  const {\r\n    brand = '', model = '', system = '',\r\n    language = '', theme, version,\r\n    platform, fontSizeSetting,\r\n    SDKVersion, pixelRatio, deviceOrientation\r\n  } = result;\r\n  // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n\r\n  const extraParam = {};\r\n\r\n  // osName osVersion\r\n  let osName = '';\r\n  let osVersion = '';\r\n  {\r\n    osName = system.split(' ')[0] || '';\r\n    osVersion = system.split(' ')[1] || '';\r\n  }\r\n  let hostVersion = version;\r\n\r\n  // deviceType\r\n  const deviceType = getGetDeviceType(result, model);\r\n\r\n  // deviceModel\r\n  const deviceBrand = getDeviceBrand(brand);\r\n\r\n  // hostName\r\n  const _hostName = getHostName(result);\r\n\r\n  // deviceOrientation\r\n  let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n\r\n  // devicePixelRatio\r\n  let _devicePixelRatio = pixelRatio;\r\n\r\n  // SDKVersion\r\n  let _SDKVersion = SDKVersion;\r\n\r\n  // hostLanguage\r\n  const hostLanguage = language.replace(/_/g, '-');\r\n\r\n  // wx.getAccountInfoSync\r\n\r\n  const parameters = {\r\n    appId: process.env.UNI_APP_ID,\r\n    appName: process.env.UNI_APP_NAME,\r\n    appVersion: process.env.UNI_APP_VERSION_NAME,\r\n    appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n    appLanguage: getAppLanguage(hostLanguage),\r\n    uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n    uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n    uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n    deviceBrand,\r\n    deviceModel: model,\r\n    deviceType,\r\n    devicePixelRatio: _devicePixelRatio,\r\n    deviceOrientation: _deviceOrientation,\r\n    osName: osName.toLocaleLowerCase(),\r\n    osVersion,\r\n    hostTheme: theme,\r\n    hostVersion,\r\n    hostLanguage,\r\n    hostName: _hostName,\r\n    hostSDKVersion: _SDKVersion,\r\n    hostFontSizeSetting: fontSizeSetting,\r\n    windowTop: 0,\r\n    windowBottom: 0,\r\n    // TODO\r\n    osLanguage: undefined,\r\n    osTheme: undefined,\r\n    ua: undefined,\r\n    hostPackageName: undefined,\r\n    browserName: undefined,\r\n    browserVersion: undefined\r\n  };\r\n\r\n  Object.assign(result, parameters, extraParam);\r\n}\r\n\r\nfunction getGetDeviceType (result, model) {\r\n  let deviceType = result.deviceType || 'phone';\r\n  {\r\n    const deviceTypeMaps = {\r\n      ipad: 'pad',\r\n      windows: 'pc',\r\n      mac: 'pc'\r\n    };\r\n    const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\r\n    const _model = model.toLocaleLowerCase();\r\n    for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\r\n      const _m = deviceTypeMapsKeys[index];\r\n      if (_model.indexOf(_m) !== -1) {\r\n        deviceType = deviceTypeMaps[_m];\r\n        break\r\n      }\r\n    }\r\n  }\r\n  return deviceType\r\n}\r\n\r\nfunction getDeviceBrand (brand) {\r\n  let deviceBrand = brand;\r\n  if (deviceBrand) {\r\n    deviceBrand = brand.toLocaleLowerCase();\r\n  }\r\n  return deviceBrand\r\n}\r\n\r\nfunction getAppLanguage (defaultLanguage) {\r\n  return getLocale$1\r\n    ? getLocale$1()\r\n    : defaultLanguage\r\n}\r\n\r\nfunction getHostName (result) {\r\n  const _platform =  'WeChat' ;\r\n  let _hostName = result.hostName || _platform; // mp-jd\r\n  {\r\n    if (result.environment) {\r\n      _hostName = result.environment;\r\n    } else if (result.host && result.host.env) {\r\n      _hostName = result.host.env;\r\n    }\r\n  }\r\n\r\n  return _hostName\r\n}\r\n\r\nvar getSystemInfo = {\r\n  returnValue: function (result) {\r\n    useDeviceId(result);\r\n    addSafeAreaInsets(result);\r\n    populateParameters(result);\r\n  }\r\n};\r\n\r\nvar showActionSheet = {\r\n  args (fromArgs) {\r\n    if (typeof fromArgs === 'object') {\r\n      fromArgs.alertText = fromArgs.title;\r\n    }\r\n  }\r\n};\r\n\r\nvar getAppBaseInfo = {\r\n  returnValue: function (result) {\r\n    const { version, language, SDKVersion, theme } = result;\r\n\r\n    const _hostName = getHostName(result);\r\n\r\n    const hostLanguage = language.replace('_', '-');\r\n\r\n    result = sortObject(Object.assign(result, {\r\n      appId: process.env.UNI_APP_ID,\r\n      appName: process.env.UNI_APP_NAME,\r\n      appVersion: process.env.UNI_APP_VERSION_NAME,\r\n      appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n      appLanguage: getAppLanguage(hostLanguage),\r\n      hostVersion: version,\r\n      hostLanguage,\r\n      hostName: _hostName,\r\n      hostSDKVersion: SDKVersion,\r\n      hostTheme: theme\r\n    }));\r\n  }\r\n};\r\n\r\nvar getDeviceInfo = {\r\n  returnValue: function (result) {\r\n    const { brand, model } = result;\r\n    const deviceType = getGetDeviceType(result, model);\r\n    const deviceBrand = getDeviceBrand(brand);\r\n    useDeviceId(result);\r\n\r\n    result = sortObject(Object.assign(result, {\r\n      deviceType,\r\n      deviceBrand,\r\n      deviceModel: model\r\n    }));\r\n  }\r\n};\r\n\r\nvar getWindowInfo = {\r\n  returnValue: function (result) {\r\n    addSafeAreaInsets(result);\r\n\r\n    result = sortObject(Object.assign(result, {\r\n      windowTop: 0,\r\n      windowBottom: 0\r\n    }));\r\n  }\r\n};\r\n\r\nvar getAppAuthorizeSetting = {\r\n  returnValue: function (result) {\r\n    const { locationReducedAccuracy } = result;\r\n\r\n    result.locationAccuracy = 'unsupported';\r\n    if (locationReducedAccuracy === true) {\r\n      result.locationAccuracy = 'reduced';\r\n    } else if (locationReducedAccuracy === false) {\r\n      result.locationAccuracy = 'full';\r\n    }\r\n  }\r\n};\r\n\r\n// import navigateTo from 'uni-helpers/navigate-to'\r\n\r\nconst compressImage = {\r\n  args (fromArgs) {\r\n    // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\r\n    if (fromArgs.compressedHeight && !fromArgs.compressHeight) {\r\n      fromArgs.compressHeight = fromArgs.compressedHeight;\r\n    }\r\n    if (fromArgs.compressedWidth && !fromArgs.compressWidth) {\r\n      fromArgs.compressWidth = fromArgs.compressedWidth;\r\n    }\r\n  }\r\n};\r\n\r\nconst protocols = {\r\n  redirectTo,\r\n  // navigateTo,  // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP\r\n  previewImage,\r\n  getSystemInfo,\r\n  getSystemInfoSync: getSystemInfo,\r\n  showActionSheet,\r\n  getAppBaseInfo,\r\n  getDeviceInfo,\r\n  getWindowInfo,\r\n  getAppAuthorizeSetting,\r\n  compressImage\r\n};\r\nconst todos = [\r\n  'vibrate',\r\n  'preloadPage',\r\n  'unPreloadPage',\r\n  'loadSubPackage'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n  return function (res) {\r\n    return method(processReturnValue(methodName, res, returnValue))\r\n  }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n  if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n    const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n    if (isFn(argsOption)) {\r\n      argsOption = argsOption(fromArgs, toArgs) || {};\r\n    }\r\n    for (const key in fromArgs) {\r\n      if (hasOwn(argsOption, key)) {\r\n        let keyOption = argsOption[key];\r\n        if (isFn(keyOption)) {\r\n          keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n        }\r\n        if (!keyOption) { // 不支持的参数\r\n          console.warn(`The '${methodName}' method of platform '微信小程序' does not support option '${key}'`);\r\n        } else if (isStr(keyOption)) { // 重写参数 key\r\n          toArgs[keyOption] = fromArgs[key];\r\n        } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n          toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n        }\r\n      } else if (CALLBACKS.indexOf(key) !== -1) {\r\n        if (isFn(fromArgs[key])) {\r\n          toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n        }\r\n      } else {\r\n        if (!keepFromArgs) {\r\n          toArgs[key] = fromArgs[key];\r\n        }\r\n      }\r\n    }\r\n    return toArgs\r\n  } else if (isFn(fromArgs)) {\r\n    fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n  }\r\n  return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n  if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n    res = protocols.returnValue(methodName, res);\r\n  }\r\n  return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n  if (hasOwn(protocols, methodName)) {\r\n    const protocol = protocols[methodName];\r\n    if (!protocol) { // 暂不支持的 api\r\n      return function () {\r\n        console.error(`Platform '微信小程序' does not support '${methodName}'.`);\r\n      }\r\n    }\r\n    return function (arg1, arg2) { // 目前 api 最多两个参数\r\n      let options = protocol;\r\n      if (isFn(protocol)) {\r\n        options = protocol(arg1);\r\n      }\r\n\r\n      arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n      const args = [arg1];\r\n      if (typeof arg2 !== 'undefined') {\r\n        args.push(arg2);\r\n      }\r\n      if (isFn(options.name)) {\r\n        methodName = options.name(arg1);\r\n      } else if (isStr(options.name)) {\r\n        methodName = options.name;\r\n      }\r\n      const returnValue = wx[methodName].apply(wx, args);\r\n      if (isSyncApi(methodName)) { // 同步 api\r\n        return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n      }\r\n      return returnValue\r\n    }\r\n  }\r\n  return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n  'onTabBarMidButtonTap',\r\n  'subscribePush',\r\n  'unsubscribePush',\r\n  'onPush',\r\n  'offPush',\r\n  'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n  return function todoApi ({\r\n    fail,\r\n    complete\r\n  }) {\r\n    const res = {\r\n      errMsg: `${name}:fail method '${name}' not supported`\r\n    };\r\n    isFn(fail) && fail(res);\r\n    isFn(complete) && complete(res);\r\n  }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n  todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n  oauth: ['weixin'],\r\n  share: ['weixin'],\r\n  payment: ['wxpay'],\r\n  push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n  service,\r\n  success,\r\n  fail,\r\n  complete\r\n}) {\r\n  let res = false;\r\n  if (providers[service]) {\r\n    res = {\r\n      errMsg: 'getProvider:ok',\r\n      service,\r\n      provider: providers[service]\r\n    };\r\n    isFn(success) && success(res);\r\n  } else {\r\n    res = {\r\n      errMsg: 'getProvider:fail service not found'\r\n    };\r\n    isFn(fail) && fail(res);\r\n  }\r\n  isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n  __proto__: null,\r\n  getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n  let Emitter;\r\n  return function getUniEmitter () {\r\n    if (!Emitter) {\r\n      Emitter = new Vue();\r\n    }\r\n    return Emitter\r\n  }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n  return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n  return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n  return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n  return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n  return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n  __proto__: null,\r\n  $on: $on,\r\n  $off: $off,\r\n  $once: $once,\r\n  $emit: $emit\r\n});\r\n\r\n/**\r\n * 框架内 try-catch\r\n */\r\n/**\r\n * 开发者 try-catch\r\n */\r\nfunction tryCatch (fn) {\r\n  return function () {\r\n    try {\r\n      return fn.apply(fn, arguments)\r\n    } catch (e) {\r\n      // TODO\r\n      console.error(e);\r\n    }\r\n  }\r\n}\r\n\r\nfunction getApiCallbacks (params) {\r\n  const apiCallbacks = {};\r\n  for (const name in params) {\r\n    const param = params[name];\r\n    if (isFn(param)) {\r\n      apiCallbacks[name] = tryCatch(param);\r\n      delete params[name];\r\n    }\r\n  }\r\n  return apiCallbacks\r\n}\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\n\r\nfunction normalizePushMessage (message) {\r\n  try {\r\n    return JSON.parse(message)\r\n  } catch (e) {}\r\n  return message\r\n}\r\n\r\nfunction invokePushCallback (\r\n  args\r\n) {\r\n  if (args.type === 'enabled') {\r\n    enabled = true;\r\n  } else if (args.type === 'clientId') {\r\n    cid = args.cid;\r\n    cidErrMsg = args.errMsg;\r\n    invokeGetPushCidCallbacks(cid, args.errMsg);\r\n  } else if (args.type === 'pushMsg') {\r\n    const message = {\r\n      type: 'receive',\r\n      data: normalizePushMessage(args.message)\r\n    };\r\n    for (let i = 0; i < onPushMessageCallbacks.length; i++) {\r\n      const callback = onPushMessageCallbacks[i];\r\n      callback(message);\r\n      // 该消息已被阻止\r\n      if (message.stopped) {\r\n        break\r\n      }\r\n    }\r\n  } else if (args.type === 'click') {\r\n    onPushMessageCallbacks.forEach((callback) => {\r\n      callback({\r\n        type: 'click',\r\n        data: normalizePushMessage(args.message)\r\n      });\r\n    });\r\n  }\r\n}\r\n\r\nconst getPushCidCallbacks = [];\r\n\r\nfunction invokeGetPushCidCallbacks (cid, errMsg) {\r\n  getPushCidCallbacks.forEach((callback) => {\r\n    callback(cid, errMsg);\r\n  });\r\n  getPushCidCallbacks.length = 0;\r\n}\r\n\r\nfunction getPushClientId (args) {\r\n  if (!isPlainObject(args)) {\r\n    args = {};\r\n  }\r\n  const {\r\n    success,\r\n    fail,\r\n    complete\r\n  } = getApiCallbacks(args);\r\n  const hasSuccess = isFn(success);\r\n  const hasFail = isFn(fail);\r\n  const hasComplete = isFn(complete);\r\n\r\n  Promise.resolve().then(() => {\r\n    if (typeof enabled === 'undefined') {\r\n      enabled = false;\r\n      cid = '';\r\n      cidErrMsg = 'uniPush is not enabled';\r\n    }\r\n    getPushCidCallbacks.push((cid, errMsg) => {\r\n      let res;\r\n      if (cid) {\r\n        res = {\r\n          errMsg: 'getPushClientId:ok',\r\n          cid\r\n        };\r\n        hasSuccess && success(res);\r\n      } else {\r\n        res = {\r\n          errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')\r\n        };\r\n        hasFail && fail(res);\r\n      }\r\n      hasComplete && complete(res);\r\n    });\r\n    if (typeof cid !== 'undefined') {\r\n      invokeGetPushCidCallbacks(cid, cidErrMsg);\r\n    }\r\n  });\r\n}\r\n\r\nconst onPushMessageCallbacks = [];\r\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\r\nconst onPushMessage = (fn) => {\r\n  if (onPushMessageCallbacks.indexOf(fn) === -1) {\r\n    onPushMessageCallbacks.push(fn);\r\n  }\r\n};\r\n\r\nconst offPushMessage = (fn) => {\r\n  if (!fn) {\r\n    onPushMessageCallbacks.length = 0;\r\n  } else {\r\n    const index = onPushMessageCallbacks.indexOf(fn);\r\n    if (index > -1) {\r\n      onPushMessageCallbacks.splice(index, 1);\r\n    }\r\n  }\r\n};\r\n\r\nlet baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo();\r\nif (!baseInfo) {\r\n  baseInfo = wx.getSystemInfoSync();\r\n}\r\nconst host = baseInfo ? baseInfo.host : null;\r\nconst shareVideoMessage =\r\n  host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage;\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n  __proto__: null,\r\n  shareVideoMessage: shareVideoMessage,\r\n  getPushClientId: getPushClientId,\r\n  onPushMessage: onPushMessage,\r\n  offPushMessage: offPushMessage,\r\n  invokePushCallback: invokePushCallback\r\n});\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n  const $children = vm.$children;\r\n  // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n  for (let i = $children.length - 1; i >= 0; i--) {\r\n    const childVm = $children[i];\r\n    if (childVm.$scope._$vueId === vuePid) {\r\n      return childVm\r\n    }\r\n  }\r\n  // 反向递归查找\r\n  let parentVm;\r\n  for (let i = $children.length - 1; i >= 0; i--) {\r\n    parentVm = findVmByVueId($children[i], vuePid);\r\n    if (parentVm) {\r\n      return parentVm\r\n    }\r\n  }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n  return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n  return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n  this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction selectAllComponents (mpInstance, selector, $refs) {\r\n  const components = mpInstance.selectAllComponents(selector) || [];\r\n  components.forEach(component => {\r\n    const ref = component.dataset.ref;\r\n    $refs[ref] = component.$vm || toSkip(component);\r\n    {\r\n      if (component.dataset.vueGeneric === 'scoped') {\r\n        component.selectAllComponents('.scoped-ref').forEach(scopedComponent => {\r\n          selectAllComponents(scopedComponent, selector, $refs);\r\n        });\r\n      }\r\n    }\r\n  });\r\n}\r\n\r\nfunction syncRefs (refs, newRefs) {\r\n  const oldKeys = new Set(...Object.keys(refs));\r\n  const newKeys = Object.keys(newRefs);\r\n  newKeys.forEach(key => {\r\n    const oldValue = refs[key];\r\n    const newValue = newRefs[key];\r\n    if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(value => oldValue.includes(value))) {\r\n      return\r\n    }\r\n    refs[key] = newValue;\r\n    oldKeys.delete(key);\r\n  });\r\n  oldKeys.forEach(key => {\r\n    delete refs[key];\r\n  });\r\n  return refs\r\n}\r\n\r\nfunction initRefs (vm) {\r\n  const mpInstance = vm.$scope;\r\n  const refs = {};\r\n  Object.defineProperty(vm, '$refs', {\r\n    get () {\r\n      const $refs = {};\r\n      selectAllComponents(mpInstance, '.vue-ref', $refs);\r\n      // TODO 暂不考虑 for 中的 scoped\r\n      const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || [];\r\n      forComponents.forEach(component => {\r\n        const ref = component.dataset.ref;\r\n        if (!$refs[ref]) {\r\n          $refs[ref] = [];\r\n        }\r\n        $refs[ref].push(component.$vm || toSkip(component));\r\n      });\r\n      return syncRefs(refs, $refs)\r\n    }\r\n  });\r\n}\r\n\r\nfunction handleLink (event) {\r\n  const {\r\n    vuePid,\r\n    vueOptions\r\n  } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n  let parentVm;\r\n\r\n  if (vuePid) {\r\n    parentVm = findVmByVueId(this.$vm, vuePid);\r\n  }\r\n\r\n  if (!parentVm) {\r\n    parentVm = this.$vm;\r\n  }\r\n\r\n  vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction markMPComponent (component) {\r\n  // 在 Vue 中标记为小程序组件\r\n  const IS_MP = '__v_isMPComponent';\r\n  Object.defineProperty(component, IS_MP, {\r\n    configurable: true,\r\n    enumerable: false,\r\n    value: true\r\n  });\r\n  return component\r\n}\r\n\r\nfunction toSkip (obj) {\r\n  const OB = '__ob__';\r\n  const SKIP = '__v_skip';\r\n  if (isObject(obj) && Object.isExtensible(obj)) {\r\n    // 避免被 @vue/composition-api 观测\r\n    Object.defineProperty(obj, OB, {\r\n      configurable: true,\r\n      enumerable: false,\r\n      value: {\r\n        [SKIP]: true\r\n      }\r\n    });\r\n  }\r\n  return obj\r\n}\r\n\r\nconst WORKLET_RE = /_(.*)_worklet_factory_/;\r\nfunction initWorkletMethods (mpMethods, vueMethods) {\r\n  if (vueMethods) {\r\n    Object.keys(vueMethods).forEach((name) => {\r\n      const matches = name.match(WORKLET_RE);\r\n      if (matches) {\r\n        const workletName = matches[1];\r\n        mpMethods[name] = vueMethods[name];\r\n        mpMethods[workletName] = vueMethods[workletName];\r\n      }\r\n    });\r\n  }\r\n}\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n  return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n  const oldTriggerEvent = mpInstance.triggerEvent;\r\n  const newTriggerEvent = function (event, ...args) {\r\n    // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件\r\n    if (this.$vm || (this.dataset && this.dataset.comType)) {\r\n      event = customize(event);\r\n    } else {\r\n      // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目\r\n      const newEvent = customize(event);\r\n      if (newEvent !== event) {\r\n        oldTriggerEvent.apply(this, [newEvent, ...args]);\r\n      }\r\n    }\r\n    return oldTriggerEvent.apply(this, [event, ...args])\r\n  };\r\n  try {\r\n    // 京东小程序 triggerEvent 为只读\r\n    mpInstance.triggerEvent = newTriggerEvent;\r\n  } catch (error) {\r\n    mpInstance._triggerEvent = newTriggerEvent;\r\n  }\r\n}\r\n\r\nfunction initHook (name, options, isComponent) {\r\n  const oldHook = options[name];\r\n  options[name] = function (...args) {\r\n    markMPComponent(this);\r\n    initTriggerEvent(this);\r\n    if (oldHook) {\r\n      return oldHook.apply(this, args)\r\n    }\r\n  };\r\n}\r\nif (!MPPage.__$wrappered) {\r\n  MPPage.__$wrappered = true;\r\n  Page = function (options = {}) {\r\n    initHook('onLoad', options);\r\n    return MPPage(options)\r\n  };\r\n  Page.after = MPPage.after;\r\n\r\n  Component = function (options = {}) {\r\n    initHook('created', options);\r\n    return MPComponent(options)\r\n  };\r\n}\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n  'onPullDownRefresh',\r\n  'onReachBottom',\r\n  'onAddToFavorites',\r\n  'onShareTimeline',\r\n  'onShareAppMessage',\r\n  'onPageScroll',\r\n  'onResize',\r\n  'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n  const mpInstance = vm.$mp[vm.mpType];\r\n  mocks.forEach(mock => {\r\n    if (hasOwn(mpInstance, mock)) {\r\n      vm[mock] = mpInstance[mock];\r\n    }\r\n  });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n  if (!vueOptions) {\r\n    return true\r\n  }\r\n\r\n  if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n    return true\r\n  }\r\n\r\n  vueOptions = vueOptions.default || vueOptions;\r\n\r\n  if (isFn(vueOptions)) {\r\n    if (isFn(vueOptions.extendOptions[hook])) {\r\n      return true\r\n    }\r\n    if (vueOptions.super &&\r\n      vueOptions.super.options &&\r\n      Array.isArray(vueOptions.super.options[hook])) {\r\n      return true\r\n    }\r\n    return false\r\n  }\r\n\r\n  if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) {\r\n    return true\r\n  }\r\n  const mixins = vueOptions.mixins;\r\n  if (Array.isArray(mixins)) {\r\n    return !!mixins.find(mixin => hasHook(hook, mixin))\r\n  }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n  hooks.forEach(hook => {\r\n    if (hasHook(hook, vueOptions)) {\r\n      mpOptions[hook] = function (args) {\r\n        return this.$vm && this.$vm.__call_hook(hook, args)\r\n      };\r\n    }\r\n  });\r\n}\r\n\r\nfunction initUnknownHooks (mpOptions, vueOptions, excludes = []) {\r\n  findHooks(vueOptions).forEach((hook) => initHook$1(mpOptions, hook, excludes));\r\n}\r\n\r\nfunction findHooks (vueOptions, hooks = []) {\r\n  if (vueOptions) {\r\n    Object.keys(vueOptions).forEach((name) => {\r\n      if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {\r\n        hooks.push(name);\r\n      }\r\n    });\r\n  }\r\n  return hooks\r\n}\r\n\r\nfunction initHook$1 (mpOptions, hook, excludes) {\r\n  if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {\r\n    mpOptions[hook] = function (args) {\r\n      return this.$vm && this.$vm.__call_hook(hook, args)\r\n    };\r\n  }\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n  vueOptions = vueOptions.default || vueOptions;\r\n  let VueComponent;\r\n  if (isFn(vueOptions)) {\r\n    VueComponent = vueOptions;\r\n  } else {\r\n    VueComponent = Vue.extend(vueOptions);\r\n  }\r\n  vueOptions = VueComponent.options;\r\n  return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n  if (Array.isArray(vueSlots) && vueSlots.length) {\r\n    const $slots = Object.create(null);\r\n    vueSlots.forEach(slotName => {\r\n      $slots[slotName] = true;\r\n    });\r\n    vm.$scopedSlots = vm.$slots = $slots;\r\n  }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n  vueIds = (vueIds || '').split(',');\r\n  const len = vueIds.length;\r\n\r\n  if (len === 1) {\r\n    mpInstance._$vueId = vueIds[0];\r\n  } else if (len === 2) {\r\n    mpInstance._$vueId = vueIds[0];\r\n    mpInstance._$vuePid = vueIds[1];\r\n  }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n  let data = vueOptions.data || {};\r\n  const methods = vueOptions.methods || {};\r\n\r\n  if (typeof data === 'function') {\r\n    try {\r\n      data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n    } catch (e) {\r\n      if (process.env.VUE_APP_DEBUG) {\r\n        console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n      }\r\n    }\r\n  } else {\r\n    try {\r\n      // 对 data 格式化\r\n      data = JSON.parse(JSON.stringify(data));\r\n    } catch (e) { }\r\n  }\r\n\r\n  if (!isPlainObject(data)) {\r\n    data = {};\r\n  }\r\n\r\n  Object.keys(methods).forEach(methodName => {\r\n    if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n      data[methodName] = methods[methodName];\r\n    }\r\n  });\r\n\r\n  return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n  return function observer (newVal, oldVal) {\r\n    if (this.$vm) {\r\n      this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n    }\r\n  }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n  const vueBehaviors = vueOptions.behaviors;\r\n  const vueExtends = vueOptions.extends;\r\n  const vueMixins = vueOptions.mixins;\r\n\r\n  let vueProps = vueOptions.props;\r\n\r\n  if (!vueProps) {\r\n    vueOptions.props = vueProps = [];\r\n  }\r\n\r\n  const behaviors = [];\r\n  if (Array.isArray(vueBehaviors)) {\r\n    vueBehaviors.forEach(behavior => {\r\n      behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n      if (behavior === 'uni://form-field') {\r\n        if (Array.isArray(vueProps)) {\r\n          vueProps.push('name');\r\n          vueProps.push('value');\r\n        } else {\r\n          vueProps.name = {\r\n            type: String,\r\n            default: ''\r\n          };\r\n          vueProps.value = {\r\n            type: [String, Number, Boolean, Array, Object, Date],\r\n            default: ''\r\n          };\r\n        }\r\n      }\r\n    });\r\n  }\r\n  if (isPlainObject(vueExtends) && vueExtends.props) {\r\n    behaviors.push(\r\n      initBehavior({\r\n        properties: initProperties(vueExtends.props, true)\r\n      })\r\n    );\r\n  }\r\n  if (Array.isArray(vueMixins)) {\r\n    vueMixins.forEach(vueMixin => {\r\n      if (isPlainObject(vueMixin) && vueMixin.props) {\r\n        behaviors.push(\r\n          initBehavior({\r\n            properties: initProperties(vueMixin.props, true)\r\n          })\r\n        );\r\n      }\r\n    });\r\n  }\r\n  return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n  // [String]=>String\r\n  if (Array.isArray(type) && type.length === 1) {\r\n    return type[0]\r\n  }\r\n  return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '', options) {\r\n  const properties = {};\r\n  if (!isBehavior) {\r\n    properties.vueId = {\r\n      type: String,\r\n      value: ''\r\n    };\r\n    {\r\n      if ( options.virtualHost) {\r\n        properties.virtualHostStyle = {\r\n          type: null,\r\n          value: ''\r\n        };\r\n        properties.virtualHostClass = {\r\n          type: null,\r\n          value: ''\r\n        };\r\n      }\r\n    }\r\n    // scopedSlotsCompiler auto\r\n    properties.scopedSlotsCompiler = {\r\n      type: String,\r\n      value: ''\r\n    };\r\n    properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n      type: null,\r\n      value: [],\r\n      observer: function (newVal, oldVal) {\r\n        const $slots = Object.create(null);\r\n        newVal.forEach(slotName => {\r\n          $slots[slotName] = true;\r\n        });\r\n        this.setData({\r\n          $slots\r\n        });\r\n      }\r\n    };\r\n  }\r\n  if (Array.isArray(props)) { // ['title']\r\n    props.forEach(key => {\r\n      properties[key] = {\r\n        type: null,\r\n        observer: createObserver(key)\r\n      };\r\n    });\r\n  } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n    Object.keys(props).forEach(key => {\r\n      const opts = props[key];\r\n      if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n        let value = opts.default;\r\n        if (isFn(value)) {\r\n          value = value();\r\n        }\r\n\r\n        opts.type = parsePropType(key, opts.type);\r\n\r\n        properties[key] = {\r\n          type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n          value,\r\n          observer: createObserver(key)\r\n        };\r\n      } else { // content:String\r\n        const type = parsePropType(key, opts);\r\n        properties[key] = {\r\n          type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n          observer: createObserver(key)\r\n        };\r\n      }\r\n    });\r\n  }\r\n  return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n  // TODO 又得兼容 mpvue 的 mp 对象\r\n  try {\r\n    event.mp = JSON.parse(JSON.stringify(event));\r\n  } catch (e) { }\r\n\r\n  event.stopPropagation = noop;\r\n  event.preventDefault = noop;\r\n\r\n  event.target = event.target || {};\r\n\r\n  if (!hasOwn(event, 'detail')) {\r\n    event.detail = {};\r\n  }\r\n\r\n  if (hasOwn(event, 'markerId')) {\r\n    event.detail = typeof event.detail === 'object' ? event.detail : {};\r\n    event.detail.markerId = event.markerId;\r\n  }\r\n\r\n  if (isPlainObject(event.detail)) {\r\n    event.target = Object.assign({}, event.target, event.detail);\r\n  }\r\n\r\n  return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n  let context = vm;\r\n  dataPathsArray.forEach(dataPathArray => {\r\n    const dataPath = dataPathArray[0];\r\n    const value = dataPathArray[2];\r\n    if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n      const propPath = dataPathArray[1];\r\n      const valuePath = dataPathArray[3];\r\n\r\n      let vFor;\r\n      if (Number.isInteger(dataPath)) {\r\n        vFor = dataPath;\r\n      } else if (!dataPath) {\r\n        vFor = context;\r\n      } else if (typeof dataPath === 'string' && dataPath) {\r\n        if (dataPath.indexOf('#s#') === 0) {\r\n          vFor = dataPath.substr(3);\r\n        } else {\r\n          vFor = vm.__get_value(dataPath, context);\r\n        }\r\n      }\r\n\r\n      if (Number.isInteger(vFor)) {\r\n        context = value;\r\n      } else if (!propPath) {\r\n        context = vFor[value];\r\n      } else {\r\n        if (Array.isArray(vFor)) {\r\n          context = vFor.find(vForItem => {\r\n            return vm.__get_value(propPath, vForItem) === value\r\n          });\r\n        } else if (isPlainObject(vFor)) {\r\n          context = Object.keys(vFor).find(vForKey => {\r\n            return vm.__get_value(propPath, vFor[vForKey]) === value\r\n          });\r\n        } else {\r\n          console.error('v-for 暂不支持循环数据:', vFor);\r\n        }\r\n      }\r\n\r\n      if (valuePath) {\r\n        context = vm.__get_value(valuePath, context);\r\n      }\r\n    }\r\n  });\r\n  return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event, __args__) {\r\n  const extraObj = {};\r\n\r\n  if (Array.isArray(extra) && extra.length) {\r\n    /**\r\n     *[\r\n     *    ['data.items', 'data.id', item.data.id],\r\n     *    ['metas', 'id', meta.id]\r\n     *],\r\n     *[\r\n     *    ['data.items', 'data.id', item.data.id],\r\n     *    ['metas', 'id', meta.id]\r\n     *],\r\n     *'test'\r\n     */\r\n    extra.forEach((dataPath, index) => {\r\n      if (typeof dataPath === 'string') {\r\n        if (!dataPath) { // model,prop.sync\r\n          extraObj['$' + index] = vm;\r\n        } else {\r\n          if (dataPath === '$event') { // $event\r\n            extraObj['$' + index] = event;\r\n          } else if (dataPath === 'arguments') {\r\n            extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;\r\n          } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n            extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n          } else {\r\n            extraObj['$' + index] = vm.__get_value(dataPath);\r\n          }\r\n        }\r\n      } else {\r\n        extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n      }\r\n    });\r\n  }\r\n\r\n  return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n  const obj = {};\r\n  for (let i = 1; i < arr.length; i++) {\r\n    const element = arr[i];\r\n    obj[element[0]] = element[1];\r\n  }\r\n  return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n  let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n\r\n  // fixed 用户直接触发 mpInstance.triggerEvent\r\n  const __args__ = isPlainObject(event.detail)\r\n    ? event.detail.__args__ || [event.detail]\r\n    : [event.detail];\r\n\r\n  if (isCustom) { // 自定义事件\r\n    isCustomMPEvent = event.currentTarget &&\r\n      event.currentTarget.dataset &&\r\n      event.currentTarget.dataset.comType === 'wx';\r\n    if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n      if (isCustomMPEvent) {\r\n        return [event]\r\n      }\r\n      return __args__\r\n    }\r\n  }\r\n\r\n  const extraObj = processEventExtra(vm, extra, event, __args__);\r\n\r\n  const ret = [];\r\n  args.forEach(arg => {\r\n    if (arg === '$event') {\r\n      if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n        ret.push(event.target.value);\r\n      } else {\r\n        if (isCustom && !isCustomMPEvent) {\r\n          ret.push(__args__[0]);\r\n        } else { // wxcomponent 组件或内置组件\r\n          ret.push(event);\r\n        }\r\n      }\r\n    } else {\r\n      if (Array.isArray(arg) && arg[0] === 'o') {\r\n        ret.push(getObjByArray(arg));\r\n      } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n        ret.push(extraObj[arg]);\r\n      } else {\r\n        ret.push(arg);\r\n      }\r\n    }\r\n  });\r\n\r\n  return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n  return (eventType === optType) ||\r\n    (\r\n      optType === 'regionchange' &&\r\n      (\r\n        eventType === 'begin' ||\r\n        eventType === 'end'\r\n      )\r\n    )\r\n}\r\n\r\nfunction getContextVm (vm) {\r\n  let $parent = vm.$parent;\r\n  // 父组件是 scoped slots 或者其他自定义组件时继续查找\r\n  while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\r\n    $parent = $parent.$parent;\r\n  }\r\n  return $parent && $parent.$parent\r\n}\r\n\r\nfunction handleEvent (event) {\r\n  event = wrapper$1(event);\r\n\r\n  // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n  const dataset = (event.currentTarget || event.target).dataset;\r\n  if (!dataset) {\r\n    return console.warn('事件信息不存在')\r\n  }\r\n  const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n  if (!eventOpts) {\r\n    return console.warn('事件信息不存在')\r\n  }\r\n\r\n  // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n  const eventType = event.type;\r\n\r\n  const ret = [];\r\n\r\n  eventOpts.forEach(eventOpt => {\r\n    let type = eventOpt[0];\r\n    const eventsArray = eventOpt[1];\r\n\r\n    const isCustom = type.charAt(0) === CUSTOM;\r\n    type = isCustom ? type.slice(1) : type;\r\n    const isOnce = type.charAt(0) === ONCE;\r\n    type = isOnce ? type.slice(1) : type;\r\n\r\n    if (eventsArray && isMatchEventType(eventType, type)) {\r\n      eventsArray.forEach(eventArray => {\r\n        const methodName = eventArray[0];\r\n        if (methodName) {\r\n          let handlerCtx = this.$vm;\r\n          if (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n            handlerCtx = getContextVm(handlerCtx) || handlerCtx;\r\n          }\r\n          if (methodName === '$emit') {\r\n            handlerCtx.$emit.apply(handlerCtx,\r\n              processEventArgs(\r\n                this.$vm,\r\n                event,\r\n                eventArray[1],\r\n                eventArray[2],\r\n                isCustom,\r\n                methodName\r\n              ));\r\n            return\r\n          }\r\n          const handler = handlerCtx[methodName];\r\n          if (!isFn(handler)) {\r\n            const type = this.$vm.mpType === 'page' ? 'Page' : 'Component';\r\n            const path = this.route || this.is;\r\n            throw new Error(`${type} \"${path}\" does not have a method \"${methodName}\"`)\r\n          }\r\n          if (isOnce) {\r\n            if (handler.once) {\r\n              return\r\n            }\r\n            handler.once = true;\r\n          }\r\n          let params = processEventArgs(\r\n            this.$vm,\r\n            event,\r\n            eventArray[1],\r\n            eventArray[2],\r\n            isCustom,\r\n            methodName\r\n          );\r\n          params = Array.isArray(params) ? params : [];\r\n          // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据\r\n          if (/=\\s*\\S+\\.eventParams\\s*\\|\\|\\s*\\S+\\[['\"]event-params['\"]\\]/.test(handler.toString())) {\r\n            // eslint-disable-next-line no-sparse-arrays\r\n            params = params.concat([, , , , , , , , , , event]);\r\n          }\r\n          ret.push(handler.apply(handlerCtx, params));\r\n        }\r\n      });\r\n    }\r\n  });\r\n\r\n  if (\r\n    eventType === 'input' &&\r\n    ret.length === 1 &&\r\n    typeof ret[0] !== 'undefined'\r\n  ) {\r\n    return ret[0]\r\n  }\r\n}\r\n\r\nconst eventChannels = {};\r\n\r\nfunction getEventChannel (id) {\r\n  const eventChannel = eventChannels[id];\r\n  delete eventChannels[id];\r\n  return eventChannel\r\n}\r\n\r\nconst hooks = [\r\n  'onShow',\r\n  'onHide',\r\n  'onError',\r\n  'onPageNotFound',\r\n  'onThemeChange',\r\n  'onUnhandledRejection'\r\n];\r\n\r\nfunction initEventChannel () {\r\n  Vue.prototype.getOpenerEventChannel = function () {\r\n    // 微信小程序使用自身getOpenerEventChannel\r\n    {\r\n      return this.$scope.getOpenerEventChannel()\r\n    }\r\n  };\r\n  const callHook = Vue.prototype.__call_hook;\r\n  Vue.prototype.__call_hook = function (hook, args) {\r\n    if (hook === 'onLoad' && args && args.__id__) {\r\n      this.__eventChannel__ = getEventChannel(args.__id__);\r\n      delete args.__id__;\r\n    }\r\n    return callHook.call(this, hook, args)\r\n  };\r\n}\r\n\r\nfunction initScopedSlotsParams () {\r\n  const center = {};\r\n  const parents = {};\r\n\r\n  function currentId (fn) {\r\n    const vueIds = this.$options.propsData.vueId;\r\n    if (vueIds) {\r\n      const vueId = vueIds.split(',')[0];\r\n      fn(vueId);\r\n    }\r\n  }\r\n\r\n  Vue.prototype.$hasSSP = function (vueId) {\r\n    const slot = center[vueId];\r\n    if (!slot) {\r\n      parents[vueId] = this;\r\n      this.$on('hook:destroyed', () => {\r\n        delete parents[vueId];\r\n      });\r\n    }\r\n    return slot\r\n  };\r\n\r\n  Vue.prototype.$getSSP = function (vueId, name, needAll) {\r\n    const slot = center[vueId];\r\n    if (slot) {\r\n      const params = slot[name] || [];\r\n      if (needAll) {\r\n        return params\r\n      }\r\n      return params[0]\r\n    }\r\n  };\r\n\r\n  Vue.prototype.$setSSP = function (name, value) {\r\n    let index = 0;\r\n    currentId.call(this, vueId => {\r\n      const slot = center[vueId];\r\n      const params = slot[name] = slot[name] || [];\r\n      params.push(value);\r\n      index = params.length - 1;\r\n    });\r\n    return index\r\n  };\r\n\r\n  Vue.prototype.$initSSP = function () {\r\n    currentId.call(this, vueId => {\r\n      center[vueId] = {};\r\n    });\r\n  };\r\n\r\n  Vue.prototype.$callSSP = function () {\r\n    currentId.call(this, vueId => {\r\n      if (parents[vueId]) {\r\n        parents[vueId].$forceUpdate();\r\n      }\r\n    });\r\n  };\r\n\r\n  Vue.mixin({\r\n    destroyed () {\r\n      const propsData = this.$options.propsData;\r\n      const vueId = propsData && propsData.vueId;\r\n      if (vueId) {\r\n        delete center[vueId];\r\n        delete parents[vueId];\r\n      }\r\n    }\r\n  });\r\n}\r\n\r\nfunction parseBaseApp (vm, {\r\n  mocks,\r\n  initRefs\r\n}) {\r\n  initEventChannel();\r\n  {\r\n    initScopedSlotsParams();\r\n  }\r\n  if (vm.$options.store) {\r\n    Vue.prototype.$store = vm.$options.store;\r\n  }\r\n  uniIdMixin(Vue);\r\n\r\n  Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n  Vue.mixin({\r\n    beforeCreate () {\r\n      if (!this.$options.mpType) {\r\n        return\r\n      }\r\n\r\n      this.mpType = this.$options.mpType;\r\n\r\n      this.$mp = {\r\n        data: {},\r\n        [this.mpType]: this.$options.mpInstance\r\n      };\r\n\r\n      this.$scope = this.$options.mpInstance;\r\n\r\n      delete this.$options.mpType;\r\n      delete this.$options.mpInstance;\r\n      if (this.mpType === 'page' && typeof getApp === 'function') { // hack vue-i18n\r\n        const app = getApp();\r\n        if (app.$vm && app.$vm.$i18n) {\r\n          this._i18n = app.$vm.$i18n;\r\n        }\r\n      }\r\n      if (this.mpType !== 'app') {\r\n        initRefs(this);\r\n        initMocks(this, mocks);\r\n      }\r\n    }\r\n  });\r\n\r\n  const appOptions = {\r\n    onLaunch (args) {\r\n      if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n        return\r\n      }\r\n      {\r\n        if (wx.canIUse && !wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n          console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n        }\r\n      }\r\n\r\n      this.$vm = vm;\r\n\r\n      this.$vm.$mp = {\r\n        app: this\r\n      };\r\n\r\n      this.$vm.$scope = this;\r\n      // vm 上也挂载 globalData\r\n      this.$vm.globalData = this.globalData;\r\n\r\n      this.$vm._isMounted = true;\r\n      this.$vm.__call_hook('mounted', args);\r\n\r\n      this.$vm.__call_hook('onLaunch', args);\r\n    }\r\n  };\r\n\r\n  // 兼容旧版本 globalData\r\n  appOptions.globalData = vm.$options.globalData || {};\r\n  // 将 methods 中的方法挂在 getApp() 中\r\n  const methods = vm.$options.methods;\r\n  if (methods) {\r\n    Object.keys(methods).forEach(name => {\r\n      appOptions[name] = methods[name];\r\n    });\r\n  }\r\n\r\n  initAppLocale(Vue, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);\r\n\r\n  initHooks(appOptions, hooks);\r\n  initUnknownHooks(appOptions, vm.$options);\r\n\r\n  return appOptions\r\n}\r\n\r\nfunction parseApp (vm) {\r\n  return parseBaseApp(vm, {\r\n    mocks,\r\n    initRefs\r\n  })\r\n}\r\n\r\nfunction createApp (vm) {\r\n  App(parseApp(vm));\r\n  return vm\r\n}\r\n\r\nconst encodeReserveRE = /[!'()*]/g;\r\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);\r\nconst commaRE = /%2C/g;\r\n\r\n// fixed encodeURIComponent which is more conformant to RFC3986:\r\n// - escapes [!'()*]\r\n// - preserve commas\r\nconst encode = str => encodeURIComponent(str)\r\n  .replace(encodeReserveRE, encodeReserveReplacer)\r\n  .replace(commaRE, ',');\r\n\r\nfunction stringifyQuery (obj, encodeStr = encode) {\r\n  const res = obj ? Object.keys(obj).map(key => {\r\n    const val = obj[key];\r\n\r\n    if (val === undefined) {\r\n      return ''\r\n    }\r\n\r\n    if (val === null) {\r\n      return encodeStr(key)\r\n    }\r\n\r\n    if (Array.isArray(val)) {\r\n      const result = [];\r\n      val.forEach(val2 => {\r\n        if (val2 === undefined) {\r\n          return\r\n        }\r\n        if (val2 === null) {\r\n          result.push(encodeStr(key));\r\n        } else {\r\n          result.push(encodeStr(key) + '=' + encodeStr(val2));\r\n        }\r\n      });\r\n      return result.join('&')\r\n    }\r\n\r\n    return encodeStr(key) + '=' + encodeStr(val)\r\n  }).filter(x => x.length > 0).join('&') : null;\r\n  return res ? `?${res}` : ''\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n  isPage,\r\n  initRelation\r\n} = {}, needVueOptions) {\r\n  const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n  const options = {\r\n    multipleSlots: true,\r\n    // styleIsolation: 'apply-shared',\r\n    addGlobalClass: true,\r\n    ...(vueOptions.options || {})\r\n  };\r\n\r\n  {\r\n    // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n    if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\r\n      Object.assign(options, vueOptions['mp-weixin'].options);\r\n    }\r\n  }\r\n\r\n  const componentOptions = {\r\n    options,\r\n    data: initData(vueOptions, Vue.prototype),\r\n    behaviors: initBehaviors(vueOptions, initBehavior),\r\n    properties: initProperties(vueOptions.props, false, vueOptions.__file, options),\r\n    lifetimes: {\r\n      attached () {\r\n        const properties = this.properties;\r\n\r\n        const options = {\r\n          mpType: isPage.call(this) ? 'page' : 'component',\r\n          mpInstance: this,\r\n          propsData: properties\r\n        };\r\n\r\n        initVueIds(properties.vueId, this);\r\n\r\n        // 处理父子关系\r\n        initRelation.call(this, {\r\n          vuePid: this._$vuePid,\r\n          vueOptions: options\r\n        });\r\n\r\n        // 初始化 vue 实例\r\n        this.$vm = new VueComponent(options);\r\n\r\n        // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n        initSlots(this.$vm, properties.vueSlots);\r\n\r\n        // 触发首次 setData\r\n        this.$vm.$mount();\r\n      },\r\n      ready () {\r\n        // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n        // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n        if (this.$vm) {\r\n          this.$vm._isMounted = true;\r\n          this.$vm.__call_hook('mounted');\r\n          this.$vm.__call_hook('onReady');\r\n        }\r\n      },\r\n      detached () {\r\n        this.$vm && this.$vm.$destroy();\r\n      }\r\n    },\r\n    pageLifetimes: {\r\n      show (args) {\r\n        this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n      },\r\n      hide () {\r\n        this.$vm && this.$vm.__call_hook('onPageHide');\r\n      },\r\n      resize (size) {\r\n        this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n      }\r\n    },\r\n    methods: {\r\n      __l: handleLink,\r\n      __e: handleEvent\r\n    }\r\n  };\r\n  // externalClasses\r\n  if (vueOptions.externalClasses) {\r\n    componentOptions.externalClasses = vueOptions.externalClasses;\r\n  }\r\n\r\n  if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n    vueOptions.wxsCallMethods.forEach(callMethod => {\r\n      componentOptions.methods[callMethod] = function (args) {\r\n        return this.$vm[callMethod](args)\r\n      };\r\n    });\r\n  }\r\n\r\n  if (needVueOptions) {\r\n    return [componentOptions, vueOptions, VueComponent]\r\n  }\r\n  if (isPage) {\r\n    return componentOptions\r\n  }\r\n  return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions, needVueOptions) {\r\n  return parseBaseComponent(vueComponentOptions, {\r\n    isPage,\r\n    initRelation\r\n  }, needVueOptions)\r\n}\r\n\r\nconst hooks$1 = [\r\n  'onShow',\r\n  'onHide',\r\n  'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions) {\r\n  const [pageOptions, vueOptions] = parseComponent(vuePageOptions, true);\r\n\r\n  initHooks(pageOptions.methods, hooks$1, vueOptions);\r\n\r\n  pageOptions.methods.onLoad = function (query) {\r\n    this.options = query;\r\n    const copyQuery = Object.assign({}, query);\r\n    delete copyQuery.__id__;\r\n    this.$page = {\r\n      fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)\r\n    };\r\n    this.$vm.$mp.query = query; // 兼容 mpvue\r\n    this.$vm.__call_hook('onLoad', query);\r\n  };\r\n  {\r\n    initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);\r\n  }\r\n  {\r\n    initWorkletMethods(pageOptions.methods, vueOptions.methods);\r\n  }\r\n\r\n  return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n  return parseBasePage(vuePageOptions)\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n  {\r\n    return Component(parsePage(vuePageOptions))\r\n  }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n  {\r\n    return Component(parseComponent(vueOptions))\r\n  }\r\n}\r\n\r\nfunction createSubpackageApp (vm) {\r\n  const appOptions = parseApp(vm);\r\n  const app = getApp({\r\n    allowDefault: true\r\n  });\r\n  vm.$scope = app;\r\n  const globalData = app.globalData;\r\n  if (globalData) {\r\n    Object.keys(appOptions.globalData).forEach(name => {\r\n      if (!hasOwn(globalData, name)) {\r\n        globalData[name] = appOptions.globalData[name];\r\n      }\r\n    });\r\n  }\r\n  Object.keys(appOptions).forEach(name => {\r\n    if (!hasOwn(app, name)) {\r\n      app[name] = appOptions[name];\r\n    }\r\n  });\r\n  if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n    wx.onAppShow((...args) => {\r\n      vm.__call_hook('onShow', args);\r\n    });\r\n  }\r\n  if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n    wx.onAppHide((...args) => {\r\n      vm.__call_hook('onHide', args);\r\n    });\r\n  }\r\n  if (isFn(appOptions.onLaunch)) {\r\n    const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n    vm.__call_hook('onLaunch', args);\r\n  }\r\n  return vm\r\n}\r\n\r\nfunction createPlugin (vm) {\r\n  const appOptions = parseApp(vm);\r\n  if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n    wx.onAppShow((...args) => {\r\n      vm.__call_hook('onShow', args);\r\n    });\r\n  }\r\n  if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n    wx.onAppHide((...args) => {\r\n      vm.__call_hook('onHide', args);\r\n    });\r\n  }\r\n  if (isFn(appOptions.onLaunch)) {\r\n    const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n    vm.__call_hook('onLaunch', args);\r\n  }\r\n  return vm\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n  protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n  const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n    : canIUseApi;\r\n  if (!wx.canIUse(apiName)) {\r\n    protocols[canIUseApi] = false;\r\n  }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n  uni = new Proxy({}, {\r\n    get (target, name) {\r\n      if (hasOwn(target, name)) {\r\n        return target[name]\r\n      }\r\n      if (baseApi[name]) {\r\n        return baseApi[name]\r\n      }\r\n      if (api[name]) {\r\n        return promisify(name, api[name])\r\n      }\r\n      {\r\n        if (extraApi[name]) {\r\n          return promisify(name, extraApi[name])\r\n        }\r\n        if (todoApis[name]) {\r\n          return promisify(name, todoApis[name])\r\n        }\r\n      }\r\n      if (eventApi[name]) {\r\n        return eventApi[name]\r\n      }\r\n      return promisify(name, wrapper(name, wx[name]))\r\n    },\r\n    set (target, name, value) {\r\n      target[name] = value;\r\n      return true\r\n    }\r\n  });\r\n} else {\r\n  Object.keys(baseApi).forEach(name => {\r\n    uni[name] = baseApi[name];\r\n  });\r\n\r\n  {\r\n    Object.keys(todoApis).forEach(name => {\r\n      uni[name] = promisify(name, todoApis[name]);\r\n    });\r\n    Object.keys(extraApi).forEach(name => {\r\n      uni[name] = promisify(name, extraApi[name]);\r\n    });\r\n  }\r\n\r\n  Object.keys(eventApi).forEach(name => {\r\n    uni[name] = eventApi[name];\r\n  });\r\n\r\n  Object.keys(api).forEach(name => {\r\n    uni[name] = promisify(name, api[name]);\r\n  });\r\n\r\n  Object.keys(wx).forEach(name => {\r\n    if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n      uni[name] = promisify(name, wrapper(name, wx[name]));\r\n    }\r\n  });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\nwx.createSubpackageApp = createSubpackageApp;\r\nwx.createPlugin = createPlugin;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage, createPlugin, createSubpackageApp };\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    \"default\": obj\n  };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n  var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n  if (null != _i) {\n    var _s,\n      _e,\n      _x,\n      _r,\n      _arr = [],\n      _n = !0,\n      _d = !1;\n    try {\n      if (_x = (_i = _i.call(arr)).next, 0 === i) {\n        if (Object(_i) !== _i) return;\n        _n = !1;\n      } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {\n        ;\n      }\n    } catch (err) {\n      _d = !0, _e = err;\n    } finally {\n      try {\n        if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n    return _arr;\n  }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n  for (var i = 0, arr2 = new Array(len); i < len; i++) {\n    arr2[i] = arr[i];\n  }\n  return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n  key = toPropertyKey(key);\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n  return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n  var key = toPrimitive(arg, \"string\");\n  return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n    return typeof obj;\n  } : function (obj) {\n    return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n  if (_typeof(input) !== \"object\" || input === null) return input;\n  var prim = input[Symbol.toPrimitive];\n  if (prim !== undefined) {\n    var res = prim.call(input, hint || \"default\");\n    if (_typeof(res) !== \"object\") return res;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(Parent, args, Class) {\n  if (isNativeReflectConstruct()) {\n    module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n  } else {\n    module.exports = _construct = function _construct(Parent, args, Class) {\n      var a = [null];\n      a.push.apply(a, args);\n      var Constructor = Function.bind.apply(Parent, a);\n      var instance = new Constructor();\n      if (Class) setPrototypeOf(instance, Class.prototype);\n      return instance;\n    }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n  }\n  return _construct.apply(null, arguments);\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n  module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n  return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n  if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n  if (Reflect.construct.sham) return false;\n  if (typeof Proxy === \"function\") return true;\n  try {\n    Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n  return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n    constructor() {\n        this._caches = Object.create(null);\n    }\n    interpolate(message, values, delimiters = defaultDelimiters) {\n        if (!values) {\n            return [message];\n        }\n        let tokens = this._caches[message];\n        if (!tokens) {\n            tokens = parse(message, delimiters);\n            this._caches[message] = tokens;\n        }\n        return compile(tokens, values);\n    }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n    const tokens = [];\n    let position = 0;\n    let text = '';\n    while (position < format.length) {\n        let char = format[position++];\n        if (char === startDelimiter) {\n            if (text) {\n                tokens.push({ type: 'text', value: text });\n            }\n            text = '';\n            let sub = '';\n            char = format[position++];\n            while (char !== undefined && char !== endDelimiter) {\n                sub += char;\n                char = format[position++];\n            }\n            const isClosed = char === endDelimiter;\n            const type = RE_TOKEN_LIST_VALUE.test(sub)\n                ? 'list'\n                : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n                    ? 'named'\n                    : 'unknown';\n            tokens.push({ value: sub, type });\n        }\n        //  else if (char === '%') {\n        //   // when found rails i18n syntax, skip text capture\n        //   if (format[position] !== '{') {\n        //     text += char\n        //   }\n        // }\n        else {\n            text += char;\n        }\n    }\n    text && tokens.push({ type: 'text', value: text });\n    return tokens;\n}\nfunction compile(tokens, values) {\n    const compiled = [];\n    let index = 0;\n    const mode = Array.isArray(values)\n        ? 'list'\n        : isObject(values)\n            ? 'named'\n            : 'unknown';\n    if (mode === 'unknown') {\n        return compiled;\n    }\n    while (index < tokens.length) {\n        const token = tokens[index];\n        switch (token.type) {\n            case 'text':\n                compiled.push(token.value);\n                break;\n            case 'list':\n                compiled.push(values[parseInt(token.value, 10)]);\n                break;\n            case 'named':\n                if (mode === 'named') {\n                    compiled.push(values[token.value]);\n                }\n                else {\n                    if (process.env.NODE_ENV !== 'production') {\n                        console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n                    }\n                }\n                break;\n            case 'unknown':\n                if (process.env.NODE_ENV !== 'production') {\n                    console.warn(`Detect 'unknown' type of token!`);\n                }\n                break;\n        }\n        index++;\n    }\n    return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n    return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n    return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n    if (!locale) {\n        return;\n    }\n    locale = locale.trim().replace(/_/g, '-');\n    if (messages && messages[locale]) {\n        return locale;\n    }\n    locale = locale.toLowerCase();\n    if (locale === 'chinese') {\n        // 支付宝\n        return LOCALE_ZH_HANS;\n    }\n    if (locale.indexOf('zh') === 0) {\n        if (locale.indexOf('-hans') > -1) {\n            return LOCALE_ZH_HANS;\n        }\n        if (locale.indexOf('-hant') > -1) {\n            return LOCALE_ZH_HANT;\n        }\n        if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n            return LOCALE_ZH_HANT;\n        }\n        return LOCALE_ZH_HANS;\n    }\n    let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n    if (messages && Object.keys(messages).length > 0) {\n        locales = Object.keys(messages);\n    }\n    const lang = startsWith(locale, locales);\n    if (lang) {\n        return lang;\n    }\n}\nclass I18n {\n    constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n        this.locale = LOCALE_EN;\n        this.fallbackLocale = LOCALE_EN;\n        this.message = {};\n        this.messages = {};\n        this.watchers = [];\n        if (fallbackLocale) {\n            this.fallbackLocale = fallbackLocale;\n        }\n        this.formater = formater || defaultFormatter;\n        this.messages = messages || {};\n        this.setLocale(locale || LOCALE_EN);\n        if (watcher) {\n            this.watchLocale(watcher);\n        }\n    }\n    setLocale(locale) {\n        const oldLocale = this.locale;\n        this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n        if (!this.messages[this.locale]) {\n            // 可能初始化时不存在\n            this.messages[this.locale] = {};\n        }\n        this.message = this.messages[this.locale];\n        // 仅发生变化时,通知\n        if (oldLocale !== this.locale) {\n            this.watchers.forEach((watcher) => {\n                watcher(this.locale, oldLocale);\n            });\n        }\n    }\n    getLocale() {\n        return this.locale;\n    }\n    watchLocale(fn) {\n        const index = this.watchers.push(fn) - 1;\n        return () => {\n            this.watchers.splice(index, 1);\n        };\n    }\n    add(locale, message, override = true) {\n        const curMessages = this.messages[locale];\n        if (curMessages) {\n            if (override) {\n                Object.assign(curMessages, message);\n            }\n            else {\n                Object.keys(message).forEach((key) => {\n                    if (!hasOwn(curMessages, key)) {\n                        curMessages[key] = message[key];\n                    }\n                });\n            }\n        }\n        else {\n            this.messages[locale] = message;\n        }\n    }\n    f(message, values, delimiters) {\n        return this.formater.interpolate(message, values, delimiters).join('');\n    }\n    t(key, locale, values) {\n        let message = this.message;\n        if (typeof locale === 'string') {\n            locale = normalizeLocale(locale, this.messages);\n            locale && (message = this.messages[locale]);\n        }\n        else {\n            values = locale;\n        }\n        if (!hasOwn(message, key)) {\n            console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n            return key;\n        }\n        return this.formater.interpolate(message[key], values).join('');\n    }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n    // 需要保证 watch 的触发在组件渲染之前\n    if (appVm.$watchLocale) {\n        // vue2\n        appVm.$watchLocale((newLocale) => {\n            i18n.setLocale(newLocale);\n        });\n    }\n    else {\n        appVm.$watch(() => appVm.$locale, (newLocale) => {\n            i18n.setLocale(newLocale);\n        });\n    }\n}\nfunction getDefaultLocale() {\n    if (typeof uni !== 'undefined' && uni.getLocale) {\n        return uni.getLocale();\n    }\n    // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n    if (typeof global !== 'undefined' && global.getLocale) {\n        return global.getLocale();\n    }\n    return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n    // 兼容旧版本入参\n    if (typeof locale !== 'string') {\n        [locale, messages] = [\n            messages,\n            locale,\n        ];\n    }\n    if (typeof locale !== 'string') {\n        // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n        locale = getDefaultLocale();\n    }\n    if (typeof fallbackLocale !== 'string') {\n        fallbackLocale =\n            (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n                LOCALE_EN;\n    }\n    const i18n = new I18n({\n        locale,\n        fallbackLocale,\n        messages,\n        watcher,\n    });\n    let t = (key, values) => {\n        if (typeof getApp !== 'function') {\n            // app view\n            /* eslint-disable no-func-assign */\n            t = function (key, values) {\n                return i18n.t(key, values);\n            };\n        }\n        else {\n            let isWatchedAppLocale = false;\n            t = function (key, values) {\n                const appVm = getApp().$vm;\n                // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n                // options: {\n                // \ttype: Array,\n                // \tdefault () {\n                // \t\treturn [{\n                // \t\t\ticon: 'shop',\n                // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n                // \t\t}, {\n                // \t\t\ticon: 'cart',\n                // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n                // \t\t}]\n                // \t}\n                // },\n                if (appVm) {\n                    // 触发响应式\n                    appVm.$locale;\n                    if (!isWatchedAppLocale) {\n                        isWatchedAppLocale = true;\n                        watchAppLocale(appVm, i18n);\n                    }\n                }\n                return i18n.t(key, values);\n            };\n        }\n        return t(key, values);\n    };\n    return {\n        i18n,\n        f(message, values, delimiters) {\n            return i18n.f(message, values, delimiters);\n        },\n        t(key, values) {\n            return t(key, values);\n        },\n        add(locale, message, override = true) {\n            return i18n.add(locale, message, override);\n        },\n        watch(fn) {\n            return i18n.watchLocale(fn);\n        },\n        getLocale() {\n            return i18n.getLocale();\n        },\n        setLocale(newLocale) {\n            return i18n.setLocale(newLocale);\n        },\n    };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n    if (!formater) {\n        formater = new BaseFormatter();\n    }\n    return walkJsonObj(jsonObj, (jsonObj, key) => {\n        const value = jsonObj[key];\n        if (isString(value)) {\n            if (isI18nStr(value, delimiters)) {\n                return true;\n            }\n        }\n        else {\n            return hasI18nJson(value, delimiters);\n        }\n    });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n    if (!formater) {\n        formater = new BaseFormatter();\n    }\n    walkJsonObj(jsonObj, (jsonObj, key) => {\n        const value = jsonObj[key];\n        if (isString(value)) {\n            if (isI18nStr(value, delimiters)) {\n                jsonObj[key] = compileStr(value, values, delimiters);\n            }\n        }\n        else {\n            parseI18nJson(value, values, delimiters);\n        }\n    });\n    return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n    if (!isI18nStr(jsonStr, delimiters)) {\n        return jsonStr;\n    }\n    if (!formater) {\n        formater = new BaseFormatter();\n    }\n    const localeValues = [];\n    Object.keys(locales).forEach((name) => {\n        if (name !== locale) {\n            localeValues.push({\n                locale: name,\n                values: locales[name],\n            });\n        }\n    });\n    localeValues.unshift({ locale, values: locales[locale] });\n    try {\n        return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n    }\n    catch (e) { }\n    return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n    return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n    return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n    const value = jsonObj[key];\n    if (isString(value)) {\n        // 存在国际化\n        if (isI18nStr(value, delimiters)) {\n            jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n            if (localeValues.length > 1) {\n                // 格式化国际化语言\n                const valueLocales = (jsonObj[key + 'Locales'] = {});\n                localeValues.forEach((localValue) => {\n                    valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n                });\n            }\n        }\n    }\n    else {\n        compileJsonObj(value, localeValues, delimiters);\n    }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n    walkJsonObj(jsonObj, (jsonObj, key) => {\n        compileValue(jsonObj, key, localeValues, delimiters);\n    });\n    return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n    if (Array.isArray(jsonObj)) {\n        for (let i = 0; i < jsonObj.length; i++) {\n            if (walk(jsonObj, i)) {\n                return true;\n            }\n        }\n    }\n    else if (isObject(jsonObj)) {\n        for (const key in jsonObj) {\n            if (walk(jsonObj, key)) {\n                return true;\n            }\n        }\n    }\n    return false;\n}\n\nfunction resolveLocale(locales) {\n    return (locale) => {\n        if (!locale) {\n            return locale;\n        }\n        locale = normalizeLocale(locale) || locale;\n        return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n    };\n}\nfunction resolveLocaleChain(locale) {\n    const chain = [];\n    const tokens = locale.split('-');\n    while (tokens.length) {\n        chain.push(tokens.join('-'));\n        tokens.pop();\n    }\n    return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","function _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n  }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  Object.defineProperty(Constructor, \"prototype\", {\n    writable: false\n  });\n  return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n * Vue.js v2.6.11\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\n/*  */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n  return v === undefined || v === null\n}\n\nfunction isDef (v) {\n  return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n  return v === true\n}\n\nfunction isFalse (v) {\n  return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n  return (\n    typeof value === 'string' ||\n    typeof value === 'number' ||\n    // $flow-disable-line\n    typeof value === 'symbol' ||\n    typeof value === 'boolean'\n  )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n  return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n  return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n  return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n  return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n  var n = parseFloat(String(val));\n  return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n  return (\n    isDef(val) &&\n    typeof val.then === 'function' &&\n    typeof val.catch === 'function'\n  )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n  return val == null\n    ? ''\n    : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n      ? JSON.stringify(val, null, 2)\n      : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n  var n = parseFloat(val);\n  return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n  str,\n  expectsLowerCase\n) {\n  var map = Object.create(null);\n  var list = str.split(',');\n  for (var i = 0; i < list.length; i++) {\n    map[list[i]] = true;\n  }\n  return expectsLowerCase\n    ? function (val) { return map[val.toLowerCase()]; }\n    : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n  if (arr.length) {\n    var index = arr.indexOf(item);\n    if (index > -1) {\n      return arr.splice(index, 1)\n    }\n  }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n  return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n  var cache = Object.create(null);\n  return (function cachedFn (str) {\n    var hit = cache[str];\n    return hit || (cache[str] = fn(str))\n  })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n  return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n  return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n  return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n  function boundFn (a) {\n    var l = arguments.length;\n    return l\n      ? l > 1\n        ? fn.apply(ctx, arguments)\n        : fn.call(ctx, a)\n      : fn.call(ctx)\n  }\n\n  boundFn._length = fn.length;\n  return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n  return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n  ? nativeBind\n  : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n  start = start || 0;\n  var i = list.length - start;\n  var ret = new Array(i);\n  while (i--) {\n    ret[i] = list[i + start];\n  }\n  return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n  for (var key in _from) {\n    to[key] = _from[key];\n  }\n  return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n  var res = {};\n  for (var i = 0; i < arr.length; i++) {\n    if (arr[i]) {\n      extend(res, arr[i]);\n    }\n  }\n  return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n  if (a === b) { return true }\n  var isObjectA = isObject(a);\n  var isObjectB = isObject(b);\n  if (isObjectA && isObjectB) {\n    try {\n      var isArrayA = Array.isArray(a);\n      var isArrayB = Array.isArray(b);\n      if (isArrayA && isArrayB) {\n        return a.length === b.length && a.every(function (e, i) {\n          return looseEqual(e, b[i])\n        })\n      } else if (a instanceof Date && b instanceof Date) {\n        return a.getTime() === b.getTime()\n      } else if (!isArrayA && !isArrayB) {\n        var keysA = Object.keys(a);\n        var keysB = Object.keys(b);\n        return keysA.length === keysB.length && keysA.every(function (key) {\n          return looseEqual(a[key], b[key])\n        })\n      } else {\n        /* istanbul ignore next */\n        return false\n      }\n    } catch (e) {\n      /* istanbul ignore next */\n      return false\n    }\n  } else if (!isObjectA && !isObjectB) {\n    return String(a) === String(b)\n  } else {\n    return false\n  }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n  for (var i = 0; i < arr.length; i++) {\n    if (looseEqual(arr[i], val)) { return i }\n  }\n  return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n  var called = false;\n  return function () {\n    if (!called) {\n      called = true;\n      fn.apply(this, arguments);\n    }\n  }\n}\n\nvar ASSET_TYPES = [\n  'component',\n  'directive',\n  'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n  'beforeCreate',\n  'created',\n  'beforeMount',\n  'mounted',\n  'beforeUpdate',\n  'updated',\n  'beforeDestroy',\n  'destroyed',\n  'activated',\n  'deactivated',\n  'errorCaptured',\n  'serverPrefetch'\n];\n\n/*  */\n\n\n\nvar config = ({\n  /**\n   * Option merge strategies (used in core/util/options)\n   */\n  // $flow-disable-line\n  optionMergeStrategies: Object.create(null),\n\n  /**\n   * Whether to suppress warnings.\n   */\n  silent: false,\n\n  /**\n   * Show production mode tip message on boot?\n   */\n  productionTip: process.env.NODE_ENV !== 'production',\n\n  /**\n   * Whether to enable devtools\n   */\n  devtools: process.env.NODE_ENV !== 'production',\n\n  /**\n   * Whether to record perf\n   */\n  performance: false,\n\n  /**\n   * Error handler for watcher errors\n   */\n  errorHandler: null,\n\n  /**\n   * Warn handler for watcher warns\n   */\n  warnHandler: null,\n\n  /**\n   * Ignore certain custom elements\n   */\n  ignoredElements: [],\n\n  /**\n   * Custom user key aliases for v-on\n   */\n  // $flow-disable-line\n  keyCodes: Object.create(null),\n\n  /**\n   * Check if a tag is reserved so that it cannot be registered as a\n   * component. This is platform-dependent and may be overwritten.\n   */\n  isReservedTag: no,\n\n  /**\n   * Check if an attribute is reserved so that it cannot be used as a component\n   * prop. This is platform-dependent and may be overwritten.\n   */\n  isReservedAttr: no,\n\n  /**\n   * Check if a tag is an unknown element.\n   * Platform-dependent.\n   */\n  isUnknownElement: no,\n\n  /**\n   * Get the namespace of an element\n   */\n  getTagNamespace: noop,\n\n  /**\n   * Parse the real tag name for the specific platform.\n   */\n  parsePlatformTagName: identity,\n\n  /**\n   * Check if an attribute must be bound using property, e.g. value\n   * Platform-dependent.\n   */\n  mustUseProp: no,\n\n  /**\n   * Perform updates asynchronously. Intended to be used by Vue Test Utils\n   * This will significantly reduce performance if set to false.\n   */\n  async: true,\n\n  /**\n   * Exposed for legacy reasons\n   */\n  _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/*  */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n  var c = (str + '').charCodeAt(0);\n  return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n  Object.defineProperty(obj, key, {\n    value: val,\n    enumerable: !!enumerable,\n    writable: true,\n    configurable: true\n  });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n  if (bailRE.test(path)) {\n    return\n  }\n  var segments = path.split('.');\n  return function (obj) {\n    for (var i = 0; i < segments.length; i++) {\n      if (!obj) { return }\n      obj = obj[segments[i]];\n    }\n    return obj\n  }\n}\n\n/*  */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n  try {\n    var opts = {};\n    Object.defineProperty(opts, 'passive', ({\n      get: function get () {\n      }\n    })); // https://github.com/facebook/flow/issues/285\n    window.addEventListener('test-passive', null, opts);\n  } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n  if (_isServer === undefined) {\n    /* istanbul ignore if */\n    if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n      // detect presence of vue-server-renderer and avoid\n      // Webpack shimming the process\n      _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n    } else {\n      _isServer = false;\n    }\n  }\n  return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n  return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n  typeof Symbol !== 'undefined' && isNative(Symbol) &&\n  typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n  // use native Set when available.\n  _Set = Set;\n} else {\n  // a non-standard Set polyfill that only works with primitive keys.\n  _Set = /*@__PURE__*/(function () {\n    function Set () {\n      this.set = Object.create(null);\n    }\n    Set.prototype.has = function has (key) {\n      return this.set[key] === true\n    };\n    Set.prototype.add = function add (key) {\n      this.set[key] = true;\n    };\n    Set.prototype.clear = function clear () {\n      this.set = Object.create(null);\n    };\n\n    return Set;\n  }());\n}\n\n/*  */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n  var hasConsole = typeof console !== 'undefined';\n  var classifyRE = /(?:^|[-_])(\\w)/g;\n  var classify = function (str) { return str\n    .replace(classifyRE, function (c) { return c.toUpperCase(); })\n    .replace(/[-_]/g, ''); };\n\n  warn = function (msg, vm) {\n    var trace = vm ? generateComponentTrace(vm) : '';\n\n    if (config.warnHandler) {\n      config.warnHandler.call(null, msg, vm, trace);\n    } else if (hasConsole && (!config.silent)) {\n      console.error((\"[Vue warn]: \" + msg + trace));\n    }\n  };\n\n  tip = function (msg, vm) {\n    if (hasConsole && (!config.silent)) {\n      console.warn(\"[Vue tip]: \" + msg + (\n        vm ? generateComponentTrace(vm) : ''\n      ));\n    }\n  };\n\n  formatComponentName = function (vm, includeFile) {\n    if (vm.$root === vm) {\n      if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n        return ('') + vm.$options.__file\n      }\n      return ''\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)) + \">\") : \"\") +\n      (file && includeFile !== false ? (\" at \" + file) : '')\n    )\n  };\n\n  var repeat = function (str, n) {\n    var res = '';\n    while (n) {\n      if (n % 2 === 1) { res += str; }\n      if (n > 1) { str += str; }\n      n >>= 1;\n    }\n    return res\n  };\n\n  generateComponentTrace = function (vm) {\n    if (vm._isVue && vm.$parent) {\n      var tree = [];\n      var currentRecursiveSequence = 0;\n      while (vm && vm.$options.name !== 'PageBody') {\n        if (tree.length > 0) {\n          var last = tree[tree.length - 1];\n          if (last.constructor === vm.constructor) {\n            currentRecursiveSequence++;\n            vm = vm.$parent;\n            continue\n          } else if (currentRecursiveSequence > 0) {\n            tree[tree.length - 1] = [last, currentRecursiveSequence];\n            currentRecursiveSequence = 0;\n          }\n        }\n        !vm.$options.isReserved && tree.push(vm);\n        vm = vm.$parent;\n      }\n      return '\\n\\nfound in\\n\\n' + tree\n        .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n            ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n            : formatComponentName(vm))); })\n        .join('\\n')\n    } else {\n      return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n    }\n  };\n}\n\n/*  */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n  this.id = uid++;\n  this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n  this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n  remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n  if (Dep.SharedObject.target) {\n    Dep.SharedObject.target.addDep(this);\n  }\n};\n\nDep.prototype.notify = function notify () {\n  // stabilize the subscriber list first\n  var subs = this.subs.slice();\n  if (process.env.NODE_ENV !== 'production' && !config.async) {\n    // subs aren't sorted in scheduler if not running async\n    // we need to sort them now to make sure they fire in correct\n    // order\n    subs.sort(function (a, b) { return a.id - b.id; });\n  }\n  for (var i = 0, l = subs.length; i < l; i++) {\n    subs[i].update();\n  }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n  Dep.SharedObject.targetStack.push(target);\n  Dep.SharedObject.target = target;\n  Dep.target = target;\n}\n\nfunction popTarget () {\n  Dep.SharedObject.targetStack.pop();\n  Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n  Dep.target = Dep.SharedObject.target;\n}\n\n/*  */\n\nvar VNode = function VNode (\n  tag,\n  data,\n  children,\n  text,\n  elm,\n  context,\n  componentOptions,\n  asyncFactory\n) {\n  this.tag = tag;\n  this.data = data;\n  this.children = children;\n  this.text = text;\n  this.elm = elm;\n  this.ns = undefined;\n  this.context = context;\n  this.fnContext = undefined;\n  this.fnOptions = undefined;\n  this.fnScopeId = undefined;\n  this.key = data && data.key;\n  this.componentOptions = componentOptions;\n  this.componentInstance = undefined;\n  this.parent = undefined;\n  this.raw = false;\n  this.isStatic = false;\n  this.isRootInsert = true;\n  this.isComment = false;\n  this.isCloned = false;\n  this.isOnce = false;\n  this.asyncFactory = asyncFactory;\n  this.asyncMeta = undefined;\n  this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n  return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n  if ( text === void 0 ) text = '';\n\n  var node = new VNode();\n  node.text = text;\n  node.isComment = true;\n  return node\n};\n\nfunction createTextVNode (val) {\n  return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n  var cloned = new VNode(\n    vnode.tag,\n    vnode.data,\n    // #7975\n    // clone children array to avoid mutating original in case of cloning\n    // a child.\n    vnode.children && vnode.children.slice(),\n    vnode.text,\n    vnode.elm,\n    vnode.context,\n    vnode.componentOptions,\n    vnode.asyncFactory\n  );\n  cloned.ns = vnode.ns;\n  cloned.isStatic = vnode.isStatic;\n  cloned.key = vnode.key;\n  cloned.isComment = vnode.isComment;\n  cloned.fnContext = vnode.fnContext;\n  cloned.fnOptions = vnode.fnOptions;\n  cloned.fnScopeId = vnode.fnScopeId;\n  cloned.asyncMeta = vnode.asyncMeta;\n  cloned.isCloned = true;\n  return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n  'push',\n  'pop',\n  'shift',\n  'unshift',\n  'splice',\n  'sort',\n  'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n  // cache original method\n  var original = arrayProto[method];\n  def(arrayMethods, method, function mutator () {\n    var args = [], len = arguments.length;\n    while ( len-- ) args[ len ] = arguments[ len ];\n\n    var result = original.apply(this, args);\n    var ob = this.__ob__;\n    var inserted;\n    switch (method) {\n      case 'push':\n      case 'unshift':\n        inserted = args;\n        break\n      case 'splice':\n        inserted = args.slice(2);\n        break\n    }\n    if (inserted) { ob.observeArray(inserted); }\n    // notify change\n    ob.dep.notify();\n    return result\n  });\n});\n\n/*  */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n  shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n  this.value = value;\n  this.dep = new Dep();\n  this.vmCount = 0;\n  def(value, '__ob__', this);\n  if (Array.isArray(value)) {\n    if (hasProto) {\n      {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n        if(value.push !== value.__proto__.push){\n          copyAugment(value, arrayMethods, arrayKeys);\n        } else {\n          protoAugment(value, arrayMethods);\n        }\n      }\n    } else {\n      copyAugment(value, arrayMethods, arrayKeys);\n    }\n    this.observeArray(value);\n  } else {\n    this.walk(value);\n  }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n  var keys = Object.keys(obj);\n  for (var i = 0; i < keys.length; i++) {\n    defineReactive$$1(obj, keys[i]);\n  }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n  for (var i = 0, l = items.length; i < l; i++) {\n    observe(items[i]);\n  }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n  /* eslint-disable no-proto */\n  target.__proto__ = src;\n  /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n  for (var i = 0, l = keys.length; i < l; i++) {\n    var key = keys[i];\n    def(target, key, src[key]);\n  }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n  if (!isObject(value) || value instanceof VNode) {\n    return\n  }\n  var ob;\n  if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n    ob = value.__ob__;\n  } else if (\n    shouldObserve &&\n    !isServerRendering() &&\n    (Array.isArray(value) || isPlainObject(value)) &&\n    Object.isExtensible(value) &&\n    !value._isVue &&\n    !value.__v_isMPComponent\n  ) {\n    ob = new Observer(value);\n  }\n  if (asRootData && ob) {\n    ob.vmCount++;\n  }\n  return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n  obj,\n  key,\n  val,\n  customSetter,\n  shallow\n) {\n  var dep = new Dep();\n\n  var property = Object.getOwnPropertyDescriptor(obj, key);\n  if (property && property.configurable === false) {\n    return\n  }\n\n  // cater for pre-defined getter/setters\n  var getter = property && property.get;\n  var setter = property && property.set;\n  if ((!getter || setter) && arguments.length === 2) {\n    val = obj[key];\n  }\n\n  var childOb = !shallow && observe(val);\n  Object.defineProperty(obj, key, {\n    enumerable: true,\n    configurable: true,\n    get: function reactiveGetter () {\n      var value = getter ? getter.call(obj) : val;\n      if (Dep.SharedObject.target) { // fixed by xxxxxx\n        dep.depend();\n        if (childOb) {\n          childOb.dep.depend();\n          if (Array.isArray(value)) {\n            dependArray(value);\n          }\n        }\n      }\n      return value\n    },\n    set: function reactiveSetter (newVal) {\n      var value = getter ? getter.call(obj) : val;\n      /* eslint-disable no-self-compare */\n      if (newVal === value || (newVal !== newVal && value !== value)) {\n        return\n      }\n      /* eslint-enable no-self-compare */\n      if (process.env.NODE_ENV !== 'production' && customSetter) {\n        customSetter();\n      }\n      // #7981: for accessor properties without setter\n      if (getter && !setter) { return }\n      if (setter) {\n        setter.call(obj, newVal);\n      } else {\n        val = newVal;\n      }\n      childOb = !shallow && observe(newVal);\n      dep.notify();\n    }\n  });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n  if (process.env.NODE_ENV !== 'production' &&\n    (isUndef(target) || isPrimitive(target))\n  ) {\n    warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n  }\n  if (Array.isArray(target) && isValidArrayIndex(key)) {\n    target.length = Math.max(target.length, key);\n    target.splice(key, 1, val);\n    return val\n  }\n  if (key in target && !(key in Object.prototype)) {\n    target[key] = val;\n    return val\n  }\n  var ob = (target).__ob__;\n  if (target._isVue || (ob && ob.vmCount)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      'Avoid adding reactive properties to a Vue instance or its root $data ' +\n      'at runtime - declare it upfront in the data option.'\n    );\n    return val\n  }\n  if (!ob) {\n    target[key] = val;\n    return val\n  }\n  defineReactive$$1(ob.value, key, val);\n  ob.dep.notify();\n  return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n  if (process.env.NODE_ENV !== 'production' &&\n    (isUndef(target) || isPrimitive(target))\n  ) {\n    warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n  }\n  if (Array.isArray(target) && isValidArrayIndex(key)) {\n    target.splice(key, 1);\n    return\n  }\n  var ob = (target).__ob__;\n  if (target._isVue || (ob && ob.vmCount)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      'Avoid deleting properties on a Vue instance or its root $data ' +\n      '- just set it to null.'\n    );\n    return\n  }\n  if (!hasOwn(target, key)) {\n    return\n  }\n  delete target[key];\n  if (!ob) {\n    return\n  }\n  ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n  for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n    e = value[i];\n    e && e.__ob__ && e.__ob__.dep.depend();\n    if (Array.isArray(e)) {\n      dependArray(e);\n    }\n  }\n}\n\n/*  */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n  strats.el = strats.propsData = function (parent, child, vm, key) {\n    if (!vm) {\n      warn(\n        \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n        'creation with the `new` keyword.'\n      );\n    }\n    return defaultStrat(parent, child)\n  };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n  if (!from) { return to }\n  var key, toVal, fromVal;\n\n  var keys = hasSymbol\n    ? Reflect.ownKeys(from)\n    : Object.keys(from);\n\n  for (var i = 0; i < keys.length; i++) {\n    key = keys[i];\n    // in case the object is already observed...\n    if (key === '__ob__') { continue }\n    toVal = to[key];\n    fromVal = from[key];\n    if (!hasOwn(to, key)) {\n      set(to, key, fromVal);\n    } else if (\n      toVal !== fromVal &&\n      isPlainObject(toVal) &&\n      isPlainObject(fromVal)\n    ) {\n      mergeData(toVal, fromVal);\n    }\n  }\n  return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n  parentVal,\n  childVal,\n  vm\n) {\n  if (!vm) {\n    // in a Vue.extend merge, both should be functions\n    if (!childVal) {\n      return parentVal\n    }\n    if (!parentVal) {\n      return childVal\n    }\n    // when parentVal & childVal are both present,\n    // we need to return a function that returns the\n    // merged result of both functions... no need to\n    // check if parentVal is a function here because\n    // it has to be a function to pass previous merges.\n    return function mergedDataFn () {\n      return mergeData(\n        typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n        typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n      )\n    }\n  } else {\n    return function mergedInstanceDataFn () {\n      // instance merge\n      var instanceData = typeof childVal === 'function'\n        ? childVal.call(vm, vm)\n        : childVal;\n      var defaultData = typeof parentVal === 'function'\n        ? parentVal.call(vm, vm)\n        : parentVal;\n      if (instanceData) {\n        return mergeData(instanceData, defaultData)\n      } else {\n        return defaultData\n      }\n    }\n  }\n}\n\nstrats.data = function (\n  parentVal,\n  childVal,\n  vm\n) {\n  if (!vm) {\n    if (childVal && typeof childVal !== 'function') {\n      process.env.NODE_ENV !== 'production' && warn(\n        'The \"data\" option should be a function ' +\n        'that returns a per-instance value in component ' +\n        'definitions.',\n        vm\n      );\n\n      return parentVal\n    }\n    return mergeDataOrFn(parentVal, childVal)\n  }\n\n  return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n  parentVal,\n  childVal\n) {\n  var res = childVal\n    ? parentVal\n      ? parentVal.concat(childVal)\n      : Array.isArray(childVal)\n        ? childVal\n        : [childVal]\n    : parentVal;\n  return res\n    ? dedupeHooks(res)\n    : res\n}\n\nfunction dedupeHooks (hooks) {\n  var res = [];\n  for (var i = 0; i < hooks.length; i++) {\n    if (res.indexOf(hooks[i]) === -1) {\n      res.push(hooks[i]);\n    }\n  }\n  return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n  strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  var res = Object.create(parentVal || null);\n  if (childVal) {\n    process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n    return extend(res, childVal)\n  } else {\n    return res\n  }\n}\n\nASSET_TYPES.forEach(function (type) {\n  strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  // work around Firefox's Object.prototype.watch...\n  if (parentVal === nativeWatch) { parentVal = undefined; }\n  if (childVal === nativeWatch) { childVal = undefined; }\n  /* istanbul ignore if */\n  if (!childVal) { return Object.create(parentVal || null) }\n  if (process.env.NODE_ENV !== 'production') {\n    assertObjectType(key, childVal, vm);\n  }\n  if (!parentVal) { return childVal }\n  var ret = {};\n  extend(ret, parentVal);\n  for (var key$1 in childVal) {\n    var parent = ret[key$1];\n    var child = childVal[key$1];\n    if (parent && !Array.isArray(parent)) {\n      parent = [parent];\n    }\n    ret[key$1] = parent\n      ? parent.concat(child)\n      : Array.isArray(child) ? child : [child];\n  }\n  return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  if (childVal && process.env.NODE_ENV !== 'production') {\n    assertObjectType(key, childVal, vm);\n  }\n  if (!parentVal) { return childVal }\n  var ret = Object.create(null);\n  extend(ret, parentVal);\n  if (childVal) { extend(ret, childVal); }\n  return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n  return childVal === undefined\n    ? parentVal\n    : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n  for (var key in options.components) {\n    validateComponentName(key);\n  }\n}\n\nfunction validateComponentName (name) {\n  if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n    warn(\n      'Invalid component name: \"' + name + '\". Component names ' +\n      'should conform to valid custom element name in html5 specification.'\n    );\n  }\n  if (isBuiltInTag(name) || config.isReservedTag(name)) {\n    warn(\n      'Do not use built-in or reserved HTML elements as component ' +\n      'id: ' + name\n    );\n  }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n  var props = options.props;\n  if (!props) { return }\n  var res = {};\n  var i, val, name;\n  if (Array.isArray(props)) {\n    i = props.length;\n    while (i--) {\n      val = props[i];\n      if (typeof val === 'string') {\n        name = camelize(val);\n        res[name] = { type: null };\n      } else if (process.env.NODE_ENV !== 'production') {\n        warn('props must be strings when using array syntax.');\n      }\n    }\n  } else if (isPlainObject(props)) {\n    for (var key in props) {\n      val = props[key];\n      name = camelize(key);\n      res[name] = isPlainObject(val)\n        ? val\n        : { type: val };\n    }\n  } else if (process.env.NODE_ENV !== 'production') {\n    warn(\n      \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n      \"but got \" + (toRawType(props)) + \".\",\n      vm\n    );\n  }\n  options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n  var inject = options.inject;\n  if (!inject) { return }\n  var normalized = options.inject = {};\n  if (Array.isArray(inject)) {\n    for (var i = 0; i < inject.length; i++) {\n      normalized[inject[i]] = { from: inject[i] };\n    }\n  } else if (isPlainObject(inject)) {\n    for (var key in inject) {\n      var val = inject[key];\n      normalized[key] = isPlainObject(val)\n        ? extend({ from: key }, val)\n        : { from: val };\n    }\n  } else if (process.env.NODE_ENV !== 'production') {\n    warn(\n      \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n      \"but got \" + (toRawType(inject)) + \".\",\n      vm\n    );\n  }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n  var dirs = options.directives;\n  if (dirs) {\n    for (var key in dirs) {\n      var def$$1 = dirs[key];\n      if (typeof def$$1 === 'function') {\n        dirs[key] = { bind: def$$1, update: def$$1 };\n      }\n    }\n  }\n}\n\nfunction assertObjectType (name, value, vm) {\n  if (!isPlainObject(value)) {\n    warn(\n      \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n      \"but got \" + (toRawType(value)) + \".\",\n      vm\n    );\n  }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n  parent,\n  child,\n  vm\n) {\n  if (process.env.NODE_ENV !== 'production') {\n    checkComponents(child);\n  }\n\n  if (typeof child === 'function') {\n    child = child.options;\n  }\n\n  normalizeProps(child, vm);\n  normalizeInject(child, vm);\n  normalizeDirectives(child);\n\n  // Apply extends and mixins on the child options,\n  // but only if it is a raw options object that isn't\n  // the result of another mergeOptions call.\n  // Only merged options has the _base property.\n  if (!child._base) {\n    if (child.extends) {\n      parent = mergeOptions(parent, child.extends, vm);\n    }\n    if (child.mixins) {\n      for (var i = 0, l = child.mixins.length; i < l; i++) {\n        parent = mergeOptions(parent, child.mixins[i], vm);\n      }\n    }\n  }\n\n  var options = {};\n  var key;\n  for (key in parent) {\n    mergeField(key);\n  }\n  for (key in child) {\n    if (!hasOwn(parent, key)) {\n      mergeField(key);\n    }\n  }\n  function mergeField (key) {\n    var strat = strats[key] || defaultStrat;\n    options[key] = strat(parent[key], child[key], vm, key);\n  }\n  return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n  options,\n  type,\n  id,\n  warnMissing\n) {\n  /* istanbul ignore if */\n  if (typeof id !== 'string') {\n    return\n  }\n  var assets = options[type];\n  // check local registration variations first\n  if (hasOwn(assets, id)) { return assets[id] }\n  var camelizedId = camelize(id);\n  if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n  var PascalCaseId = capitalize(camelizedId);\n  if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n  // fallback to prototype chain\n  var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n  if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n    warn(\n      'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n      options\n    );\n  }\n  return res\n}\n\n/*  */\n\n\n\nfunction validateProp (\n  key,\n  propOptions,\n  propsData,\n  vm\n) {\n  var prop = propOptions[key];\n  var absent = !hasOwn(propsData, key);\n  var value = propsData[key];\n  // boolean casting\n  var booleanIndex = getTypeIndex(Boolean, prop.type);\n  if (booleanIndex > -1) {\n    if (absent && !hasOwn(prop, 'default')) {\n      value = false;\n    } else if (value === '' || value === hyphenate(key)) {\n      // only cast empty string / same name to boolean if\n      // boolean has higher priority\n      var stringIndex = getTypeIndex(String, prop.type);\n      if (stringIndex < 0 || booleanIndex < stringIndex) {\n        value = true;\n      }\n    }\n  }\n  // check default value\n  if (value === undefined) {\n    value = getPropDefaultValue(vm, prop, key);\n    // since the default value is a fresh copy,\n    // make sure to observe it.\n    var prevShouldObserve = shouldObserve;\n    toggleObserving(true);\n    observe(value);\n    toggleObserving(prevShouldObserve);\n  }\n  if (\n    process.env.NODE_ENV !== 'production' &&\n    // skip validation for weex recycle-list child component props\n    !(false)\n  ) {\n    assertProp(prop, key, value, vm, absent);\n  }\n  return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n  // no default, return undefined\n  if (!hasOwn(prop, 'default')) {\n    return undefined\n  }\n  var def = prop.default;\n  // warn against non-factory defaults for Object & Array\n  if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n    warn(\n      'Invalid default value for prop \"' + key + '\": ' +\n      'Props with type Object/Array must use a factory function ' +\n      'to return the default value.',\n      vm\n    );\n  }\n  // the raw prop value was also undefined from previous render,\n  // return previous default value to avoid unnecessary watcher trigger\n  if (vm && vm.$options.propsData &&\n    vm.$options.propsData[key] === undefined &&\n    vm._props[key] !== undefined\n  ) {\n    return vm._props[key]\n  }\n  // call factory function for non-Function types\n  // a value is Function if its prototype is function even across different execution context\n  return typeof def === 'function' && getType(prop.type) !== 'Function'\n    ? def.call(vm)\n    : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n  prop,\n  name,\n  value,\n  vm,\n  absent\n) {\n  if (prop.required && absent) {\n    warn(\n      'Missing required prop: \"' + name + '\"',\n      vm\n    );\n    return\n  }\n  if (value == null && !prop.required) {\n    return\n  }\n  var type = prop.type;\n  var valid = !type || type === true;\n  var expectedTypes = [];\n  if (type) {\n    if (!Array.isArray(type)) {\n      type = [type];\n    }\n    for (var i = 0; i < type.length && !valid; i++) {\n      var assertedType = assertType(value, type[i]);\n      expectedTypes.push(assertedType.expectedType || '');\n      valid = assertedType.valid;\n    }\n  }\n\n  if (!valid) {\n    warn(\n      getInvalidTypeMessage(name, value, expectedTypes),\n      vm\n    );\n    return\n  }\n  var validator = prop.validator;\n  if (validator) {\n    if (!validator(value)) {\n      warn(\n        'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n        vm\n      );\n    }\n  }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n  var valid;\n  var expectedType = getType(type);\n  if (simpleCheckRE.test(expectedType)) {\n    var t = typeof value;\n    valid = t === expectedType.toLowerCase();\n    // for primitive wrapper objects\n    if (!valid && t === 'object') {\n      valid = value instanceof type;\n    }\n  } else if (expectedType === 'Object') {\n    valid = isPlainObject(value);\n  } else if (expectedType === 'Array') {\n    valid = Array.isArray(value);\n  } else {\n    valid = value instanceof type;\n  }\n  return {\n    valid: valid,\n    expectedType: expectedType\n  }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n  var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n  return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n  return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n  if (!Array.isArray(expectedTypes)) {\n    return isSameType(expectedTypes, type) ? 0 : -1\n  }\n  for (var i = 0, len = expectedTypes.length; i < len; i++) {\n    if (isSameType(expectedTypes[i], type)) {\n      return i\n    }\n  }\n  return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n  var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n    \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n  var expectedType = expectedTypes[0];\n  var receivedType = toRawType(value);\n  var expectedValue = styleValue(value, expectedType);\n  var receivedValue = styleValue(value, receivedType);\n  // check if we need to specify expected value\n  if (expectedTypes.length === 1 &&\n      isExplicable(expectedType) &&\n      !isBoolean(expectedType, receivedType)) {\n    message += \" with value \" + expectedValue;\n  }\n  message += \", got \" + receivedType + \" \";\n  // check if we need to specify received value\n  if (isExplicable(receivedType)) {\n    message += \"with value \" + receivedValue + \".\";\n  }\n  return message\n}\n\nfunction styleValue (value, type) {\n  if (type === 'String') {\n    return (\"\\\"\" + value + \"\\\"\")\n  } else if (type === 'Number') {\n    return (\"\" + (Number(value)))\n  } else {\n    return (\"\" + value)\n  }\n}\n\nfunction isExplicable (value) {\n  var explicitTypes = ['string', 'number', 'boolean'];\n  return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n  var args = [], len = arguments.length;\n  while ( len-- ) args[ len ] = arguments[ len ];\n\n  return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/*  */\n\nfunction handleError (err, vm, info) {\n  // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n  // See: https://github.com/vuejs/vuex/issues/1505\n  pushTarget();\n  try {\n    if (vm) {\n      var cur = vm;\n      while ((cur = cur.$parent)) {\n        var hooks = cur.$options.errorCaptured;\n        if (hooks) {\n          for (var i = 0; i < hooks.length; i++) {\n            try {\n              var capture = hooks[i].call(cur, err, vm, info) === false;\n              if (capture) { return }\n            } catch (e) {\n              globalHandleError(e, cur, 'errorCaptured hook');\n            }\n          }\n        }\n      }\n    }\n    globalHandleError(err, vm, info);\n  } finally {\n    popTarget();\n  }\n}\n\nfunction invokeWithErrorHandling (\n  handler,\n  context,\n  args,\n  vm,\n  info\n) {\n  var res;\n  try {\n    res = args ? handler.apply(context, args) : handler.call(context);\n    if (res && !res._isVue && isPromise(res) && !res._handled) {\n      res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n      // issue #9511\n      // avoid catch triggering multiple times when nested calls\n      res._handled = true;\n    }\n  } catch (e) {\n    handleError(e, vm, info);\n  }\n  return res\n}\n\nfunction globalHandleError (err, vm, info) {\n  if (config.errorHandler) {\n    try {\n      return config.errorHandler.call(null, err, vm, info)\n    } catch (e) {\n      // if the user intentionally throws the original error in the handler,\n      // do not log it twice\n      if (e !== err) {\n        logError(e, null, 'config.errorHandler');\n      }\n    }\n  }\n  logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n  if (process.env.NODE_ENV !== 'production') {\n    warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n  }\n  /* istanbul ignore else */\n  if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n    console.error(err);\n  } else {\n    throw err\n  }\n}\n\n/*  */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n  pending = false;\n  var copies = callbacks.slice(0);\n  callbacks.length = 0;\n  for (var i = 0; i < copies.length; i++) {\n    copies[i]();\n  }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n  var p = Promise.resolve();\n  timerFunc = function () {\n    p.then(flushCallbacks);\n    // In problematic UIWebViews, Promise.then doesn't completely break, but\n    // it can get stuck in a weird state where callbacks are pushed into the\n    // microtask queue but the queue isn't being flushed, until the browser\n    // needs to do some other work, e.g. handle a timer. Therefore we can\n    // \"force\" the microtask queue to be flushed by adding an empty timer.\n    if (isIOS) { setTimeout(noop); }\n  };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n  isNative(MutationObserver) ||\n  // PhantomJS and iOS 7.x\n  MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n  // Use MutationObserver where native Promise is not available,\n  // e.g. PhantomJS, iOS7, Android 4.4\n  // (#6466 MutationObserver is unreliable in IE11)\n  var counter = 1;\n  var observer = new MutationObserver(flushCallbacks);\n  var textNode = document.createTextNode(String(counter));\n  observer.observe(textNode, {\n    characterData: true\n  });\n  timerFunc = function () {\n    counter = (counter + 1) % 2;\n    textNode.data = String(counter);\n  };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n  // Fallback to setImmediate.\n  // Technically it leverages the (macro) task queue,\n  // but it is still a better choice than setTimeout.\n  timerFunc = function () {\n    setImmediate(flushCallbacks);\n  };\n} else {\n  // Fallback to setTimeout.\n  timerFunc = function () {\n    setTimeout(flushCallbacks, 0);\n  };\n}\n\nfunction nextTick (cb, ctx) {\n  var _resolve;\n  callbacks.push(function () {\n    if (cb) {\n      try {\n        cb.call(ctx);\n      } catch (e) {\n        handleError(e, ctx, 'nextTick');\n      }\n    } else if (_resolve) {\n      _resolve(ctx);\n    }\n  });\n  if (!pending) {\n    pending = true;\n    timerFunc();\n  }\n  // $flow-disable-line\n  if (!cb && typeof Promise !== 'undefined') {\n    return new Promise(function (resolve) {\n      _resolve = resolve;\n    })\n  }\n}\n\n/*  */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n  var allowedGlobals = makeMap(\n    'Infinity,undefined,NaN,isFinite,isNaN,' +\n    'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n    'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n    'require' // for Webpack/Browserify\n  );\n\n  var warnNonPresent = function (target, key) {\n    warn(\n      \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n      'referenced during render. Make sure that this property is reactive, ' +\n      'either in the data option, or for class-based components, by ' +\n      'initializing the property. ' +\n      'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n      target\n    );\n  };\n\n  var warnReservedPrefix = function (target, key) {\n    warn(\n      \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n      'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n      'prevent conflicts with Vue internals. ' +\n      'See: https://vuejs.org/v2/api/#data',\n      target\n    );\n  };\n\n  var hasProxy =\n    typeof Proxy !== 'undefined' && isNative(Proxy);\n\n  if (hasProxy) {\n    var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n    config.keyCodes = new Proxy(config.keyCodes, {\n      set: function set (target, key, value) {\n        if (isBuiltInModifier(key)) {\n          warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n          return false\n        } else {\n          target[key] = value;\n          return true\n        }\n      }\n    });\n  }\n\n  var hasHandler = {\n    has: function has (target, key) {\n      var has = key in target;\n      var isAllowed = allowedGlobals(key) ||\n        (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n      if (!has && !isAllowed) {\n        if (key in target.$data) { warnReservedPrefix(target, key); }\n        else { warnNonPresent(target, key); }\n      }\n      return has || !isAllowed\n    }\n  };\n\n  var getHandler = {\n    get: function get (target, key) {\n      if (typeof key === 'string' && !(key in target)) {\n        if (key in target.$data) { warnReservedPrefix(target, key); }\n        else { warnNonPresent(target, key); }\n      }\n      return target[key]\n    }\n  };\n\n  initProxy = function initProxy (vm) {\n    if (hasProxy) {\n      // determine which proxy handler to use\n      var options = vm.$options;\n      var handlers = options.render && options.render._withStripped\n        ? getHandler\n        : hasHandler;\n      vm._renderProxy = new Proxy(vm, handlers);\n    } else {\n      vm._renderProxy = vm;\n    }\n  };\n}\n\n/*  */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n  _traverse(val, seenObjects);\n  seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n  var i, keys;\n  var isA = Array.isArray(val);\n  if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n    return\n  }\n  if (val.__ob__) {\n    var depId = val.__ob__.dep.id;\n    if (seen.has(depId)) {\n      return\n    }\n    seen.add(depId);\n  }\n  if (isA) {\n    i = val.length;\n    while (i--) { _traverse(val[i], seen); }\n  } else {\n    keys = Object.keys(val);\n    i = keys.length;\n    while (i--) { _traverse(val[keys[i]], seen); }\n  }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n  var perf = inBrowser && window.performance;\n  /* istanbul ignore if */\n  if (\n    perf &&\n    perf.mark &&\n    perf.measure &&\n    perf.clearMarks &&\n    perf.clearMeasures\n  ) {\n    mark = function (tag) { return perf.mark(tag); };\n    measure = function (name, startTag, endTag) {\n      perf.measure(name, startTag, endTag);\n      perf.clearMarks(startTag);\n      perf.clearMarks(endTag);\n      // perf.clearMeasures(name)\n    };\n  }\n}\n\n/*  */\n\nvar normalizeEvent = cached(function (name) {\n  var passive = name.charAt(0) === '&';\n  name = passive ? name.slice(1) : name;\n  var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n  name = once$$1 ? name.slice(1) : name;\n  var capture = name.charAt(0) === '!';\n  name = capture ? name.slice(1) : name;\n  return {\n    name: name,\n    once: once$$1,\n    capture: capture,\n    passive: passive\n  }\n});\n\nfunction createFnInvoker (fns, vm) {\n  function invoker () {\n    var arguments$1 = arguments;\n\n    var fns = invoker.fns;\n    if (Array.isArray(fns)) {\n      var cloned = fns.slice();\n      for (var i = 0; i < cloned.length; i++) {\n        invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n      }\n    } else {\n      // return handler return value for single handlers\n      return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n    }\n  }\n  invoker.fns = fns;\n  return invoker\n}\n\nfunction updateListeners (\n  on,\n  oldOn,\n  add,\n  remove$$1,\n  createOnceHandler,\n  vm\n) {\n  var name, def$$1, cur, old, event;\n  for (name in on) {\n    def$$1 = cur = on[name];\n    old = oldOn[name];\n    event = normalizeEvent(name);\n    if (isUndef(cur)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n        vm\n      );\n    } else if (isUndef(old)) {\n      if (isUndef(cur.fns)) {\n        cur = on[name] = createFnInvoker(cur, vm);\n      }\n      if (isTrue(event.once)) {\n        cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n      }\n      add(event.name, cur, event.capture, event.passive, event.params);\n    } else if (cur !== old) {\n      old.fns = cur;\n      on[name] = old;\n    }\n  }\n  for (name in oldOn) {\n    if (isUndef(on[name])) {\n      event = normalizeEvent(name);\n      remove$$1(event.name, oldOn[name], event.capture);\n    }\n  }\n}\n\n/*  */\n\n/*  */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n  var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n  if (isUndef(propOptions)) {\r\n    return res\r\n  }\n  var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n  var attrs = data.attrs;\n  var props = data.props;\r\n  if (isDef(attrs) || isDef(props)) {\r\n    for (var key in propOptions) {\r\n      var altKey = hyphenate(key);\n      var result = checkProp(res, props, key, altKey, true) ||\n          checkProp(res, attrs, key, altKey, false);\n      // externalClass\n      if (\n        result &&\n        res[key] &&\n        externalClasses.indexOf(altKey) !== -1 &&\n        context[camelize(res[key])]\n      ) {\n        // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n        res[key] = context[camelize(res[key])];\n      }\r\n    }\r\n  }\r\n  return res\r\n}\n\nfunction extractPropsFromVNodeData (\n  data,\n  Ctor,\n  tag,\n  context// fixed by xxxxxx\n) {\n  // we are only extracting raw values here.\n  // validation and default values are handled in the child\n  // component itself.\n  var propOptions = Ctor.options.props;\n  if (isUndef(propOptions)) {\n    // fixed by xxxxxx\n    return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n  }\n  var res = {};\n  var attrs = data.attrs;\n  var props = data.props;\n  if (isDef(attrs) || isDef(props)) {\n    for (var key in propOptions) {\n      var altKey = hyphenate(key);\n      if (process.env.NODE_ENV !== 'production') {\n        var keyInLowerCase = key.toLowerCase();\n        if (\n          key !== keyInLowerCase &&\n          attrs && hasOwn(attrs, keyInLowerCase)\n        ) {\n          tip(\n            \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n            (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n            \" \\\"\" + key + \"\\\". \" +\n            \"Note that HTML attributes are case-insensitive and camelCased \" +\n            \"props need to use their kebab-case equivalents when using in-DOM \" +\n            \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n          );\n        }\n      }\n      checkProp(res, props, key, altKey, true) ||\n      checkProp(res, attrs, key, altKey, false);\n    }\n  }\n  // fixed by xxxxxx\n  return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n  res,\n  hash,\n  key,\n  altKey,\n  preserve\n) {\n  if (isDef(hash)) {\n    if (hasOwn(hash, key)) {\n      res[key] = hash[key];\n      if (!preserve) {\n        delete hash[key];\n      }\n      return true\n    } else if (hasOwn(hash, altKey)) {\n      res[key] = hash[altKey];\n      if (!preserve) {\n        delete hash[altKey];\n      }\n      return true\n    }\n  }\n  return false\n}\n\n/*  */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. 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. , , 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 \n */\nfunction renderSlot (\n  name,\n  fallback,\n  props,\n  bindObject\n) {\n  var scopedSlotFn = this.$scopedSlots[name];\n  var nodes;\n  if (scopedSlotFn) { // scoped slot\n    props = props || {};\n    if (bindObject) {\n      if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n        warn(\n          'slot v-bind without argument expects an Object',\n          this\n        );\n      }\n      props = extend(extend({}, bindObject), props);\n    }\n    // fixed by xxxxxx app-plus scopedSlot\n    nodes = scopedSlotFn(props, this, props._i) || fallback;\n  } else {\n    nodes = this.$slots[name] || fallback;\n  }\n\n  var target = props && props.slot;\n  if (target) {\n    return this.$createElement('template', { slot: target }, nodes)\n  } else {\n    return nodes\n  }\n}\n\n/*  */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n  return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/*  */\n\nfunction isKeyNotMatch (expect, actual) {\n  if (Array.isArray(expect)) {\n    return expect.indexOf(actual) === -1\n  } else {\n    return expect !== actual\n  }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n  eventKeyCode,\n  key,\n  builtInKeyCode,\n  eventKeyName,\n  builtInKeyName\n) {\n  var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n  if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n    return isKeyNotMatch(builtInKeyName, eventKeyName)\n  } else if (mappedKeyCode) {\n    return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n  } else if (eventKeyName) {\n    return hyphenate(eventKeyName) !== key\n  }\n}\n\n/*  */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n  data,\n  tag,\n  value,\n  asProp,\n  isSync\n) {\n  if (value) {\n    if (!isObject(value)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        'v-bind without argument expects an Object or Array value',\n        this\n      );\n    } else {\n      if (Array.isArray(value)) {\n        value = toObject(value);\n      }\n      var hash;\n      var loop = function ( key ) {\n        if (\n          key === 'class' ||\n          key === 'style' ||\n          isReservedAttribute(key)\n        ) {\n          hash = data;\n        } else {\n          var type = data.attrs && data.attrs.type;\n          hash = asProp || config.mustUseProp(tag, type, key)\n            ? data.domProps || (data.domProps = {})\n            : data.attrs || (data.attrs = {});\n        }\n        var camelizedKey = camelize(key);\n        var hyphenatedKey = hyphenate(key);\n        if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n          hash[key] = value[key];\n\n          if (isSync) {\n            var on = data.on || (data.on = {});\n            on[(\"update:\" + key)] = function ($event) {\n              value[key] = $event;\n            };\n          }\n        }\n      };\n\n      for (var key in value) loop( key );\n    }\n  }\n  return data\n}\n\n/*  */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n  index,\n  isInFor\n) {\n  var cached = this._staticTrees || (this._staticTrees = []);\n  var tree = cached[index];\n  // if has already-rendered static tree and not inside v-for,\n  // we can reuse the same tree.\n  if (tree && !isInFor) {\n    return tree\n  }\n  // otherwise, render a fresh tree.\n  tree = cached[index] = this.$options.staticRenderFns[index].call(\n    this._renderProxy,\n    null,\n    this // for render fns generated for functional component templates\n  );\n  markStatic(tree, (\"__static__\" + index), false);\n  return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n  tree,\n  index,\n  key\n) {\n  markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n  return tree\n}\n\nfunction markStatic (\n  tree,\n  key,\n  isOnce\n) {\n  if (Array.isArray(tree)) {\n    for (var i = 0; i < tree.length; i++) {\n      if (tree[i] && typeof tree[i] !== 'string') {\n        markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n      }\n    }\n  } else {\n    markStaticNode(tree, key, isOnce);\n  }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n  node.isStatic = true;\n  node.key = key;\n  node.isOnce = isOnce;\n}\n\n/*  */\n\nfunction bindObjectListeners (data, value) {\n  if (value) {\n    if (!isPlainObject(value)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        'v-on without argument expects an Object value',\n        this\n      );\n    } else {\n      var on = data.on = data.on ? extend({}, data.on) : {};\n      for (var key in value) {\n        var existing = on[key];\n        var ours = value[key];\n        on[key] = existing ? [].concat(existing, ours) : ours;\n      }\n    }\n  }\n  return data\n}\n\n/*  */\n\nfunction resolveScopedSlots (\n  fns, // see flow/vnode\n  res,\n  // the following are added in 2.6\n  hasDynamicKeys,\n  contentHashKey\n) {\n  res = res || { $stable: !hasDynamicKeys };\n  for (var i = 0; i < fns.length; i++) {\n    var slot = fns[i];\n    if (Array.isArray(slot)) {\n      resolveScopedSlots(slot, res, hasDynamicKeys);\n    } else if (slot) {\n      // marker for reverse proxying v-slot without scope on this.$slots\n      if (slot.proxy) {\n        slot.fn.proxy = true;\n      }\n      res[slot.key] = slot.fn;\n    }\n  }\n  if (contentHashKey) {\n    (res).$key = contentHashKey;\n  }\n  return res\n}\n\n/*  */\n\nfunction bindDynamicKeys (baseObj, values) {\n  for (var i = 0; i < values.length; i += 2) {\n    var key = values[i];\n    if (typeof key === 'string' && key) {\n      baseObj[values[i]] = values[i + 1];\n    } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n      // null is a special value for explicitly removing a binding\n      warn(\n        (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n        this\n      );\n    }\n  }\n  return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n  return typeof value === 'string' ? symbol + value : value\n}\n\n/*  */\n\nfunction installRenderHelpers (target) {\n  target._o = markOnce;\n  target._n = toNumber;\n  target._s = toString;\n  target._l = renderList;\n  target._t = renderSlot;\n  target._q = looseEqual;\n  target._i = looseIndexOf;\n  target._m = renderStatic;\n  target._f = resolveFilter;\n  target._k = checkKeyCodes;\n  target._b = bindObjectProps;\n  target._v = createTextVNode;\n  target._e = createEmptyVNode;\n  target._u = resolveScopedSlots;\n  target._g = bindObjectListeners;\n  target._d = bindDynamicKeys;\n  target._p = prependModifier;\n}\n\n/*  */\n\nfunction FunctionalRenderContext (\n  data,\n  props,\n  children,\n  parent,\n  Ctor\n) {\n  var this$1 = this;\n\n  var options = Ctor.options;\n  // ensure the createElement function in functional components\n  // gets a unique context - this is necessary for correct named slot check\n  var contextVm;\n  if (hasOwn(parent, '_uid')) {\n    contextVm = Object.create(parent);\n    // $flow-disable-line\n    contextVm._original = parent;\n  } else {\n    // the context vm passed in is a functional context as well.\n    // in this case we want to make sure we are able to get a hold to the\n    // real context instance.\n    contextVm = parent;\n    // $flow-disable-line\n    parent = parent._original;\n  }\n  var isCompiled = isTrue(options._compiled);\n  var needNormalization = !isCompiled;\n\n  this.data = data;\n  this.props = props;\n  this.children = children;\n  this.parent = parent;\n  this.listeners = data.on || emptyObject;\n  this.injections = resolveInject(options.inject, parent);\n  this.slots = function () {\n    if (!this$1.$slots) {\n      normalizeScopedSlots(\n        data.scopedSlots,\n        this$1.$slots = resolveSlots(children, parent)\n      );\n    }\n    return this$1.$slots\n  };\n\n  Object.defineProperty(this, 'scopedSlots', ({\n    enumerable: true,\n    get: function get () {\n      return normalizeScopedSlots(data.scopedSlots, this.slots())\n    }\n  }));\n\n  // support for compiled functional template\n  if (isCompiled) {\n    // exposing $options for renderStatic()\n    this.$options = options;\n    // pre-resolve slots for renderSlot()\n    this.$slots = this.slots();\n    this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n  }\n\n  if (options._scopeId) {\n    this._c = function (a, b, c, d) {\n      var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n      if (vnode && !Array.isArray(vnode)) {\n        vnode.fnScopeId = options._scopeId;\n        vnode.fnContext = parent;\n      }\n      return vnode\n    };\n  } else {\n    this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n  }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n  Ctor,\n  propsData,\n  data,\n  contextVm,\n  children\n) {\n  var options = Ctor.options;\n  var props = {};\n  var propOptions = options.props;\n  if (isDef(propOptions)) {\n    for (var key in propOptions) {\n      props[key] = validateProp(key, propOptions, propsData || emptyObject);\n    }\n  } else {\n    if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n    if (isDef(data.props)) { mergeProps(props, data.props); }\n  }\n\n  var renderContext = new FunctionalRenderContext(\n    data,\n    props,\n    children,\n    contextVm,\n    Ctor\n  );\n\n  var vnode = options.render.call(null, renderContext._c, renderContext);\n\n  if (vnode instanceof VNode) {\n    return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n  } else if (Array.isArray(vnode)) {\n    var vnodes = normalizeChildren(vnode) || [];\n    var res = new Array(vnodes.length);\n    for (var i = 0; i < vnodes.length; i++) {\n      res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n    }\n    return res\n  }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n  // #7817 clone node before setting fnContext, otherwise if the node is reused\n  // (e.g. it was from a cached normal slot) the fnContext causes named slots\n  // that should not be matched to match.\n  var clone = cloneVNode(vnode);\n  clone.fnContext = contextVm;\n  clone.fnOptions = options;\n  if (process.env.NODE_ENV !== 'production') {\n    (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n  }\n  if (data.slot) {\n    (clone.data || (clone.data = {})).slot = data.slot;\n  }\n  return clone\n}\n\nfunction mergeProps (to, from) {\n  for (var key in from) {\n    to[camelize(key)] = from[key];\n  }\n}\n\n/*  */\n\n/*  */\n\n/*  */\n\n/*  */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n  init: function init (vnode, hydrating) {\n    if (\n      vnode.componentInstance &&\n      !vnode.componentInstance._isDestroyed &&\n      vnode.data.keepAlive\n    ) {\n      // kept-alive components, treat as a patch\n      var mountedNode = vnode; // work around flow\n      componentVNodeHooks.prepatch(mountedNode, mountedNode);\n    } else {\n      var child = vnode.componentInstance = createComponentInstanceForVnode(\n        vnode,\n        activeInstance\n      );\n      child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n    }\n  },\n\n  prepatch: function prepatch (oldVnode, vnode) {\n    var options = vnode.componentOptions;\n    var child = vnode.componentInstance = oldVnode.componentInstance;\n    updateChildComponent(\n      child,\n      options.propsData, // updated props\n      options.listeners, // updated listeners\n      vnode, // new parent vnode\n      options.children // new children\n    );\n  },\n\n  insert: function insert (vnode) {\n    var context = vnode.context;\n    var componentInstance = vnode.componentInstance;\n    if (!componentInstance._isMounted) {\n      callHook(componentInstance, 'onServiceCreated');\n      callHook(componentInstance, 'onServiceAttached');\n      componentInstance._isMounted = true;\n      callHook(componentInstance, 'mounted');\n    }\n    if (vnode.data.keepAlive) {\n      if (context._isMounted) {\n        // vue-router#1212\n        // During updates, a kept-alive component's child components may\n        // change, so directly walking the tree here may call activated hooks\n        // on incorrect children. Instead we push them into a queue which will\n        // be processed after the whole patch process ended.\n        queueActivatedComponent(componentInstance);\n      } else {\n        activateChildComponent(componentInstance, true /* direct */);\n      }\n    }\n  },\n\n  destroy: function destroy (vnode) {\n    var componentInstance = vnode.componentInstance;\n    if (!componentInstance._isDestroyed) {\n      if (!vnode.data.keepAlive) {\n        componentInstance.$destroy();\n      } else {\n        deactivateChildComponent(componentInstance, true /* direct */);\n      }\n    }\n  }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n  Ctor,\n  data,\n  context,\n  children,\n  tag\n) {\n  if (isUndef(Ctor)) {\n    return\n  }\n\n  var baseCtor = context.$options._base;\n\n  // plain options object: turn it into a constructor\n  if (isObject(Ctor)) {\n    Ctor = baseCtor.extend(Ctor);\n  }\n\n  // if at this stage it's not a constructor or an async component factory,\n  // reject.\n  if (typeof Ctor !== 'function') {\n    if (process.env.NODE_ENV !== 'production') {\n      warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n    }\n    return\n  }\n\n  // async component\n  var asyncFactory;\n  if (isUndef(Ctor.cid)) {\n    asyncFactory = Ctor;\n    Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n    if (Ctor === undefined) {\n      // return a placeholder node for async component, which is rendered\n      // as a comment node but preserves all the raw information for the node.\n      // the information will be used for async server-rendering and hydration.\n      return createAsyncPlaceholder(\n        asyncFactory,\n        data,\n        context,\n        children,\n        tag\n      )\n    }\n  }\n\n  data = data || {};\n\n  // resolve constructor options in case global mixins are applied after\n  // component constructor creation\n  resolveConstructorOptions(Ctor);\n\n  // transform component v-model data into props & events\n  if (isDef(data.model)) {\n    transformModel(Ctor.options, data);\n  }\n\n  // extract props\n  var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx\n\n  // functional component\n  if (isTrue(Ctor.options.functional)) {\n    return createFunctionalComponent(Ctor, propsData, data, context, children)\n  }\n\n  // extract listeners, since these needs to be treated as\n  // child component listeners instead of DOM listeners\n  var listeners = data.on;\n  // replace with listeners with .native modifier\n  // so it gets processed during parent component patch.\n  data.on = data.nativeOn;\n\n  if (isTrue(Ctor.options.abstract)) {\n    // abstract components do not keep anything\n    // other than props & listeners & slot\n\n    // work around flow\n    var slot = data.slot;\n    data = {};\n    if (slot) {\n      data.slot = slot;\n    }\n  }\n\n  // install component management hooks onto the placeholder node\n  installComponentHooks(data);\n\n  // return a placeholder vnode\n  var name = Ctor.options.name || tag;\n  var vnode = new VNode(\n    (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n    data, undefined, undefined, undefined, context,\n    { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n    asyncFactory\n  );\n\n  return vnode\n}\n\nfunction createComponentInstanceForVnode (\n  vnode, // we know it's MountedComponentVNode but flow doesn't\n  parent // activeInstance in lifecycle state\n) {\n  var options = {\n    _isComponent: true,\n    _parentVnode: vnode,\n    parent: parent\n  };\n  // check inline-template render functions\n  var inlineTemplate = vnode.data.inlineTemplate;\n  if (isDef(inlineTemplate)) {\n    options.render = inlineTemplate.render;\n    options.staticRenderFns = inlineTemplate.staticRenderFns;\n  }\n  return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n  var hooks = data.hook || (data.hook = {});\n  for (var i = 0; i < hooksToMerge.length; i++) {\n    var key = hooksToMerge[i];\n    var existing = hooks[key];\n    var toMerge = componentVNodeHooks[key];\n    if (existing !== toMerge && !(existing && existing._merged)) {\n      hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n    }\n  }\n}\n\nfunction mergeHook$1 (f1, f2) {\n  var merged = function (a, b) {\n    // flow complains about extra args which is why we use any\n    f1(a, b);\n    f2(a, b);\n  };\n  merged._merged = true;\n  return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n  var prop = (options.model && options.model.prop) || 'value';\n  var event = (options.model && options.model.event) || 'input'\n  ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n  var on = data.on || (data.on = {});\n  var existing = on[event];\n  var callback = data.model.callback;\n  if (isDef(existing)) {\n    if (\n      Array.isArray(existing)\n        ? existing.indexOf(callback) === -1\n        : existing !== callback\n    ) {\n      on[event] = [callback].concat(existing);\n    }\n  } else {\n    on[event] = callback;\n  }\n}\n\n/*  */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n  context,\n  tag,\n  data,\n  children,\n  normalizationType,\n  alwaysNormalize\n) {\n  if (Array.isArray(data) || isPrimitive(data)) {\n    normalizationType = children;\n    children = data;\n    data = undefined;\n  }\n  if (isTrue(alwaysNormalize)) {\n    normalizationType = ALWAYS_NORMALIZE;\n  }\n  return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n  context,\n  tag,\n  data,\n  children,\n  normalizationType\n) {\n  if (isDef(data) && isDef((data).__ob__)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n      'Always create fresh vnode data objects in each render!',\n      context\n    );\n    return createEmptyVNode()\n  }\n  // object syntax in v-bind\n  if (isDef(data) && isDef(data.is)) {\n    tag = data.is;\n  }\n  if (!tag) {\n    // in case of component :is set to falsy value\n    return createEmptyVNode()\n  }\n  // warn against non-primitive key\n  if (process.env.NODE_ENV !== 'production' &&\n    isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n  ) {\n    {\n      warn(\n        'Avoid using non-primitive value as key, ' +\n        'use string/number value instead.',\n        context\n      );\n    }\n  }\n  // support single function children as default scoped slot\n  if (Array.isArray(children) &&\n    typeof children[0] === 'function'\n  ) {\n    data = data || {};\n    data.scopedSlots = { default: children[0] };\n    children.length = 0;\n  }\n  if (normalizationType === ALWAYS_NORMALIZE) {\n    children = normalizeChildren(children);\n  } else if (normalizationType === SIMPLE_NORMALIZE) {\n    children = simpleNormalizeChildren(children);\n  }\n  var vnode, ns;\n  if (typeof tag === 'string') {\n    var Ctor;\n    ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n    if (config.isReservedTag(tag)) {\n      // platform built-in elements\n      if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n        warn(\n          (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n          context\n        );\n      }\n      vnode = new VNode(\n        config.parsePlatformTagName(tag), data, children,\n        undefined, undefined, context\n      );\n    } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n      // component\n      vnode = createComponent(Ctor, data, context, children, tag);\n    } else {\n      // unknown or unlisted namespaced elements\n      // check at runtime because it may get assigned a namespace when its\n      // parent normalizes children\n      vnode = new VNode(\n        tag, data, children,\n        undefined, undefined, context\n      );\n    }\n  } else {\n    // direct component options / constructor\n    vnode = createComponent(tag, data, context, children);\n  }\n  if (Array.isArray(vnode)) {\n    return vnode\n  } else if (isDef(vnode)) {\n    if (isDef(ns)) { applyNS(vnode, ns); }\n    if (isDef(data)) { registerDeepBindings(data); }\n    return vnode\n  } else {\n    return createEmptyVNode()\n  }\n}\n\nfunction applyNS (vnode, ns, force) {\n  vnode.ns = ns;\n  if (vnode.tag === 'foreignObject') {\n    // use default namespace inside foreignObject\n    ns = undefined;\n    force = true;\n  }\n  if (isDef(vnode.children)) {\n    for (var i = 0, l = vnode.children.length; i < l; i++) {\n      var child = vnode.children[i];\n      if (isDef(child.tag) && (\n        isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n        applyNS(child, ns, force);\n      }\n    }\n  }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n  if (isObject(data.style)) {\n    traverse(data.style);\n  }\n  if (isObject(data.class)) {\n    traverse(data.class);\n  }\n}\n\n/*  */\n\nfunction initRender (vm) {\n  vm._vnode = null; // the root of the child tree\n  vm._staticTrees = null; // v-once cached trees\n  var options = vm.$options;\n  var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n  var renderContext = parentVnode && parentVnode.context;\n  vm.$slots = resolveSlots(options._renderChildren, renderContext);\n  vm.$scopedSlots = emptyObject;\n  // bind the createElement fn to this instance\n  // so that we get proper render context inside it.\n  // args order: tag, data, children, normalizationType, alwaysNormalize\n  // internal version is used by render functions compiled from templates\n  vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n  // normalization is always applied for the public version, used in\n  // user-written render functions.\n  vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n  // $attrs & $listeners are exposed for easier HOC creation.\n  // they need to be reactive so that HOCs using them are always updated\n  var parentData = parentVnode && parentVnode.data;\n\n  /* istanbul ignore else */\n  if (process.env.NODE_ENV !== 'production') {\n    defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n      !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n    }, true);\n    defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n      !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n    }, true);\n  } else {\n    defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n    defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n  }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n  // install runtime convenience helpers\n  installRenderHelpers(Vue.prototype);\n\n  Vue.prototype.$nextTick = function (fn) {\n    return nextTick(fn, this)\n  };\n\n  Vue.prototype._render = function () {\n    var vm = this;\n    var ref = vm.$options;\n    var render = ref.render;\n    var _parentVnode = ref._parentVnode;\n\n    if (_parentVnode) {\n      vm.$scopedSlots = normalizeScopedSlots(\n        _parentVnode.data.scopedSlots,\n        vm.$slots,\n        vm.$scopedSlots\n      );\n    }\n\n    // set parent vnode. this allows render functions to have access\n    // to the data on the placeholder node.\n    vm.$vnode = _parentVnode;\n    // render self\n    var vnode;\n    try {\n      // There's no need to maintain a stack because all render fns are called\n      // separately from one another. Nested component's render fns are called\n      // when parent component is patched.\n      currentRenderingInstance = vm;\n      vnode = render.call(vm._renderProxy, vm.$createElement);\n    } catch (e) {\n      handleError(e, vm, \"render\");\n      // return error render result,\n      // or previous vnode to prevent render error causing blank component\n      /* istanbul ignore else */\n      if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n        try {\n          vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n        } catch (e) {\n          handleError(e, vm, \"renderError\");\n          vnode = vm._vnode;\n        }\n      } else {\n        vnode = vm._vnode;\n      }\n    } finally {\n      currentRenderingInstance = null;\n    }\n    // if the returned array contains only a single node, allow it\n    if (Array.isArray(vnode) && vnode.length === 1) {\n      vnode = vnode[0];\n    }\n    // return empty vnode in case the render function errored out\n    if (!(vnode instanceof VNode)) {\n      if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n        warn(\n          'Multiple root nodes returned from render function. Render function ' +\n          'should return a single root node.',\n          vm\n        );\n      }\n      vnode = createEmptyVNode();\n    }\n    // set parent\n    vnode.parent = _parentVnode;\n    return vnode\n  };\n}\n\n/*  */\n\nfunction ensureCtor (comp, base) {\n  if (\n    comp.__esModule ||\n    (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n  ) {\n    comp = comp.default;\n  }\n  return isObject(comp)\n    ? base.extend(comp)\n    : comp\n}\n\nfunction createAsyncPlaceholder (\n  factory,\n  data,\n  context,\n  children,\n  tag\n) {\n  var node = createEmptyVNode();\n  node.asyncFactory = factory;\n  node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n  return node\n}\n\nfunction resolveAsyncComponent (\n  factory,\n  baseCtor\n) {\n  if (isTrue(factory.error) && isDef(factory.errorComp)) {\n    return factory.errorComp\n  }\n\n  if (isDef(factory.resolved)) {\n    return factory.resolved\n  }\n\n  var owner = currentRenderingInstance;\n  if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n    // already pending\n    factory.owners.push(owner);\n  }\n\n  if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n    return factory.loadingComp\n  }\n\n  if (owner && !isDef(factory.owners)) {\n    var owners = factory.owners = [owner];\n    var sync = true;\n    var timerLoading = null;\n    var timerTimeout = null\n\n    ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n    var forceRender = function (renderCompleted) {\n      for (var i = 0, l = owners.length; i < l; i++) {\n        (owners[i]).$forceUpdate();\n      }\n\n      if (renderCompleted) {\n        owners.length = 0;\n        if (timerLoading !== null) {\n          clearTimeout(timerLoading);\n          timerLoading = null;\n        }\n        if (timerTimeout !== null) {\n          clearTimeout(timerTimeout);\n          timerTimeout = null;\n        }\n      }\n    };\n\n    var resolve = once(function (res) {\n      // cache resolved\n      factory.resolved = ensureCtor(res, baseCtor);\n      // invoke callbacks only if this is not a synchronous resolve\n      // (async resolves are shimmed as synchronous during SSR)\n      if (!sync) {\n        forceRender(true);\n      } else {\n        owners.length = 0;\n      }\n    });\n\n    var reject = once(function (reason) {\n      process.env.NODE_ENV !== 'production' && warn(\n        \"Failed to resolve async component: \" + (String(factory)) +\n        (reason ? (\"\\nReason: \" + reason) : '')\n      );\n      if (isDef(factory.errorComp)) {\n        factory.error = true;\n        forceRender(true);\n      }\n    });\n\n    var res = factory(resolve, reject);\n\n    if (isObject(res)) {\n      if (isPromise(res)) {\n        // () => Promise\n        if (isUndef(factory.resolved)) {\n          res.then(resolve, reject);\n        }\n      } else if (isPromise(res.component)) {\n        res.component.then(resolve, reject);\n\n        if (isDef(res.error)) {\n          factory.errorComp = ensureCtor(res.error, baseCtor);\n        }\n\n        if (isDef(res.loading)) {\n          factory.loadingComp = ensureCtor(res.loading, baseCtor);\n          if (res.delay === 0) {\n            factory.loading = true;\n          } else {\n            timerLoading = setTimeout(function () {\n              timerLoading = null;\n              if (isUndef(factory.resolved) && isUndef(factory.error)) {\n                factory.loading = true;\n                forceRender(false);\n              }\n            }, res.delay || 200);\n          }\n        }\n\n        if (isDef(res.timeout)) {\n          timerTimeout = setTimeout(function () {\n            timerTimeout = null;\n            if (isUndef(factory.resolved)) {\n              reject(\n                process.env.NODE_ENV !== 'production'\n                  ? (\"timeout (\" + (res.timeout) + \"ms)\")\n                  : null\n              );\n            }\n          }, res.timeout);\n        }\n      }\n    }\n\n    sync = false;\n    // return in case resolved synchronously\n    return factory.loading\n      ? factory.loadingComp\n      : factory.resolved\n  }\n}\n\n/*  */\n\nfunction isAsyncPlaceholder (node) {\n  return node.isComment && node.asyncFactory\n}\n\n/*  */\n\nfunction getFirstComponentChild (children) {\n  if (Array.isArray(children)) {\n    for (var i = 0; i < children.length; i++) {\n      var c = children[i];\n      if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n        return c\n      }\n    }\n  }\n}\n\n/*  */\n\n/*  */\n\nfunction initEvents (vm) {\n  vm._events = Object.create(null);\n  vm._hasHookEvent = false;\n  // init parent attached events\n  var listeners = vm.$options._parentListeners;\n  if (listeners) {\n    updateComponentListeners(vm, listeners);\n  }\n}\n\nvar target;\n\nfunction add (event, fn) {\n  target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n  target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n  var _target = target;\n  return function onceHandler () {\n    var res = fn.apply(null, arguments);\n    if (res !== null) {\n      _target.$off(event, onceHandler);\n    }\n  }\n}\n\nfunction updateComponentListeners (\n  vm,\n  listeners,\n  oldListeners\n) {\n  target = vm;\n  updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n  target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n  var hookRE = /^hook:/;\n  Vue.prototype.$on = function (event, fn) {\n    var vm = this;\n    if (Array.isArray(event)) {\n      for (var i = 0, l = event.length; i < l; i++) {\n        vm.$on(event[i], fn);\n      }\n    } else {\n      (vm._events[event] || (vm._events[event] = [])).push(fn);\n      // optimize hook:event cost by using a boolean flag marked at registration\n      // instead of a hash lookup\n      if (hookRE.test(event)) {\n        vm._hasHookEvent = true;\n      }\n    }\n    return vm\n  };\n\n  Vue.prototype.$once = function (event, fn) {\n    var vm = this;\n    function on () {\n      vm.$off(event, on);\n      fn.apply(vm, arguments);\n    }\n    on.fn = fn;\n    vm.$on(event, on);\n    return vm\n  };\n\n  Vue.prototype.$off = function (event, fn) {\n    var vm = this;\n    // all\n    if (!arguments.length) {\n      vm._events = Object.create(null);\n      return vm\n    }\n    // array of events\n    if (Array.isArray(event)) {\n      for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n        vm.$off(event[i$1], fn);\n      }\n      return vm\n    }\n    // specific event\n    var cbs = vm._events[event];\n    if (!cbs) {\n      return vm\n    }\n    if (!fn) {\n      vm._events[event] = null;\n      return vm\n    }\n    // specific handler\n    var cb;\n    var i = cbs.length;\n    while (i--) {\n      cb = cbs[i];\n      if (cb === fn || cb.fn === fn) {\n        cbs.splice(i, 1);\n        break\n      }\n    }\n    return vm\n  };\n\n  Vue.prototype.$emit = function (event) {\n    var vm = this;\n    if (process.env.NODE_ENV !== 'production') {\n      var lowerCaseEvent = event.toLowerCase();\n      if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n        tip(\n          \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n          (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n          \"Note that HTML attributes are case-insensitive and you cannot use \" +\n          \"v-on to listen to camelCase events when using in-DOM templates. \" +\n          \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n        );\n      }\n    }\n    var cbs = vm._events[event];\n    if (cbs) {\n      cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n      var args = toArray(arguments, 1);\n      var info = \"event handler for \\\"\" + event + \"\\\"\";\n      for (var i = 0, l = cbs.length; i < l; i++) {\n        invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n      }\n    }\n    return vm\n  };\n}\n\n/*  */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n  var prevActiveInstance = activeInstance;\n  activeInstance = vm;\n  return function () {\n    activeInstance = prevActiveInstance;\n  }\n}\n\nfunction initLifecycle (vm) {\n  var options = vm.$options;\n\n  // locate first non-abstract parent\n  var parent = options.parent;\n  if (parent && !options.abstract) {\n    while (parent.$options.abstract && parent.$parent) {\n      parent = parent.$parent;\n    }\n    parent.$children.push(vm);\n  }\n\n  vm.$parent = parent;\n  vm.$root = parent ? parent.$root : vm;\n\n  vm.$children = [];\n  vm.$refs = {};\n\n  vm._watcher = null;\n  vm._inactive = null;\n  vm._directInactive = false;\n  vm._isMounted = false;\n  vm._isDestroyed = false;\n  vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n  Vue.prototype._update = function (vnode, hydrating) {\n    var vm = this;\n    var prevEl = vm.$el;\n    var prevVnode = vm._vnode;\n    var restoreActiveInstance = setActiveInstance(vm);\n    vm._vnode = vnode;\n    // Vue.prototype.__patch__ is injected in entry points\n    // based on the rendering backend used.\n    if (!prevVnode) {\n      // initial render\n      vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n    } else {\n      // updates\n      vm.$el = vm.__patch__(prevVnode, vnode);\n    }\n    restoreActiveInstance();\n    // update __vue__ reference\n    if (prevEl) {\n      prevEl.__vue__ = null;\n    }\n    if (vm.$el) {\n      vm.$el.__vue__ = vm;\n    }\n    // if parent is an HOC, update its $el as well\n    if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n      vm.$parent.$el = vm.$el;\n    }\n    // updated hook is called by the scheduler to ensure that children are\n    // updated in a parent's updated hook.\n  };\n\n  Vue.prototype.$forceUpdate = function () {\n    var vm = this;\n    if (vm._watcher) {\n      vm._watcher.update();\n    }\n  };\n\n  Vue.prototype.$destroy = function () {\n    var vm = this;\n    if (vm._isBeingDestroyed) {\n      return\n    }\n    callHook(vm, 'beforeDestroy');\n    vm._isBeingDestroyed = true;\n    // remove self from parent\n    var parent = vm.$parent;\n    if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n      remove(parent.$children, vm);\n    }\n    // teardown watchers\n    if (vm._watcher) {\n      vm._watcher.teardown();\n    }\n    var i = vm._watchers.length;\n    while (i--) {\n      vm._watchers[i].teardown();\n    }\n    // remove reference from data ob\n    // frozen object may not have observer.\n    if (vm._data.__ob__) {\n      vm._data.__ob__.vmCount--;\n    }\n    // call the last hook...\n    vm._isDestroyed = true;\n    // invoke destroy hooks on current rendered tree\n    vm.__patch__(vm._vnode, null);\n    // fire destroyed hook\n    callHook(vm, 'destroyed');\n    // turn off all instance listeners.\n    vm.$off();\n    // remove __vue__ reference\n    if (vm.$el) {\n      vm.$el.__vue__ = null;\n    }\n    // release circular reference (#6759)\n    if (vm.$vnode) {\n      vm.$vnode.parent = null;\n    }\n  };\n}\n\nfunction updateChildComponent (\n  vm,\n  propsData,\n  listeners,\n  parentVnode,\n  renderChildren\n) {\n  if (process.env.NODE_ENV !== 'production') {\n    isUpdatingChildComponent = true;\n  }\n\n  // determine whether component has slot children\n  // we need to do this before overwriting $options._renderChildren.\n\n  // check if there are dynamic scopedSlots (hand-written or compiled but with\n  // dynamic slot names). Static scoped slots compiled from template has the\n  // \"$stable\" marker.\n  var newScopedSlots = parentVnode.data.scopedSlots;\n  var oldScopedSlots = vm.$scopedSlots;\n  var hasDynamicScopedSlot = !!(\n    (newScopedSlots && !newScopedSlots.$stable) ||\n    (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n    (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n  );\n\n  // Any static slot children from the parent may have changed during parent's\n  // update. Dynamic scoped slots may also have changed. In such cases, a forced\n  // update is necessary to ensure correctness.\n  var needsForceUpdate = !!(\n    renderChildren ||               // has new static slots\n    vm.$options._renderChildren ||  // has old static slots\n    hasDynamicScopedSlot\n  );\n\n  vm.$options._parentVnode = parentVnode;\n  vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n  if (vm._vnode) { // update child tree's parent\n    vm._vnode.parent = parentVnode;\n  }\n  vm.$options._renderChildren = renderChildren;\n\n  // update $attrs and $listeners hash\n  // these are also reactive so they may trigger child update if the child\n  // used them during render\n  vm.$attrs = parentVnode.data.attrs || emptyObject;\n  vm.$listeners = listeners || emptyObject;\n\n  // update props\n  if (propsData && vm.$options.props) {\n    toggleObserving(false);\n    var props = vm._props;\n    var propKeys = vm.$options._propKeys || [];\n    for (var i = 0; i < propKeys.length; i++) {\n      var key = propKeys[i];\n      var propOptions = vm.$options.props; // wtf flow?\n      props[key] = validateProp(key, propOptions, propsData, vm);\n    }\n    toggleObserving(true);\n    // keep a copy of raw propsData\n    vm.$options.propsData = propsData;\n  }\n  \n  // fixed by xxxxxx update properties(mp runtime)\n  vm._$updateProperties && vm._$updateProperties(vm);\n  \n  // update listeners\n  listeners = listeners || emptyObject;\n  var oldListeners = vm.$options._parentListeners;\n  vm.$options._parentListeners = listeners;\n  updateComponentListeners(vm, listeners, oldListeners);\n\n  // resolve slots + force update if has children\n  if (needsForceUpdate) {\n    vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n    vm.$forceUpdate();\n  }\n\n  if (process.env.NODE_ENV !== 'production') {\n    isUpdatingChildComponent = false;\n  }\n}\n\nfunction isInInactiveTree (vm) {\n  while (vm && (vm = vm.$parent)) {\n    if (vm._inactive) { return true }\n  }\n  return false\n}\n\nfunction activateChildComponent (vm, direct) {\n  if (direct) {\n    vm._directInactive = false;\n    if (isInInactiveTree(vm)) {\n      return\n    }\n  } else if (vm._directInactive) {\n    return\n  }\n  if (vm._inactive || vm._inactive === null) {\n    vm._inactive = false;\n    for (var i = 0; i < vm.$children.length; i++) {\n      activateChildComponent(vm.$children[i]);\n    }\n    callHook(vm, 'activated');\n  }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n  if (direct) {\n    vm._directInactive = true;\n    if (isInInactiveTree(vm)) {\n      return\n    }\n  }\n  if (!vm._inactive) {\n    vm._inactive = true;\n    for (var i = 0; i < vm.$children.length; i++) {\n      deactivateChildComponent(vm.$children[i]);\n    }\n    callHook(vm, 'deactivated');\n  }\n}\n\nfunction callHook (vm, hook) {\n  // #7573 disable dep collection when invoking lifecycle hooks\n  pushTarget();\n  var handlers = vm.$options[hook];\n  var info = hook + \" hook\";\n  if (handlers) {\n    for (var i = 0, j = handlers.length; i < j; i++) {\n      invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n    }\n  }\n  if (vm._hasHookEvent) {\n    vm.$emit('hook:' + hook);\n  }\n  popTarget();\n}\n\n/*  */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n  index = queue.length = activatedChildren.length = 0;\n  has = {};\n  if (process.env.NODE_ENV !== 'production') {\n    circular = {};\n  }\n  waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n  var performance = window.performance;\n  if (\n    performance &&\n    typeof performance.now === 'function' &&\n    getNow() > document.createEvent('Event').timeStamp\n  ) {\n    // if the event timestamp, although evaluated AFTER the Date.now(), is\n    // smaller than it, it means the event is using a hi-res timestamp,\n    // and we need to use the hi-res version for event listener timestamps as\n    // well.\n    getNow = function () { return performance.now(); };\n  }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n  currentFlushTimestamp = getNow();\n  flushing = true;\n  var watcher, id;\n\n  // Sort queue before flush.\n  // This ensures that:\n  // 1. Components are updated from parent to child. (because parent is always\n  //    created before the child)\n  // 2. A component's user watchers are run before its render watcher (because\n  //    user watchers are created before the render watcher)\n  // 3. If a component is destroyed during a parent component's watcher run,\n  //    its watchers can be skipped.\n  queue.sort(function (a, b) { return a.id - b.id; });\n\n  // do not cache length because more watchers might be pushed\n  // as we run existing watchers\n  for (index = 0; index < queue.length; index++) {\n    watcher = queue[index];\n    if (watcher.before) {\n      watcher.before();\n    }\n    id = watcher.id;\n    has[id] = null;\n    watcher.run();\n    // in dev build, check and stop circular updates.\n    if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n      circular[id] = (circular[id] || 0) + 1;\n      if (circular[id] > MAX_UPDATE_COUNT) {\n        warn(\n          'You may have an infinite update loop ' + (\n            watcher.user\n              ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n              : \"in a component render function.\"\n          ),\n          watcher.vm\n        );\n        break\n      }\n    }\n  }\n\n  // keep copies of post queues before resetting state\n  var activatedQueue = activatedChildren.slice();\n  var updatedQueue = queue.slice();\n\n  resetSchedulerState();\n\n  // call component updated and activated hooks\n  callActivatedHooks(activatedQueue);\n  callUpdatedHooks(updatedQueue);\n\n  // devtool hook\n  /* istanbul ignore if */\n  if (devtools && config.devtools) {\n    devtools.emit('flush');\n  }\n}\n\nfunction callUpdatedHooks (queue) {\n  var i = queue.length;\n  while (i--) {\n    var watcher = queue[i];\n    var vm = watcher.vm;\n    if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n      callHook(vm, 'updated');\n    }\n  }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n  // setting _inactive to false here so that a render function can\n  // rely on checking whether it's in an inactive tree (e.g. router-view)\n  vm._inactive = false;\n  activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n  for (var i = 0; i < queue.length; i++) {\n    queue[i]._inactive = true;\n    activateChildComponent(queue[i], true /* true */);\n  }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n  var id = watcher.id;\n  if (has[id] == null) {\n    has[id] = true;\n    if (!flushing) {\n      queue.push(watcher);\n    } else {\n      // if already flushing, splice the watcher based on its id\n      // if already past its id, it will be run next immediately.\n      var i = queue.length - 1;\n      while (i > index && queue[i].id > watcher.id) {\n        i--;\n      }\n      queue.splice(i + 1, 0, watcher);\n    }\n    // queue the flush\n    if (!waiting) {\n      waiting = true;\n\n      if (process.env.NODE_ENV !== 'production' && !config.async) {\n        flushSchedulerQueue();\n        return\n      }\n      nextTick(flushSchedulerQueue);\n    }\n  }\n}\n\n/*  */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n  vm,\n  expOrFn,\n  cb,\n  options,\n  isRenderWatcher\n) {\n  this.vm = vm;\n  if (isRenderWatcher) {\n    vm._watcher = this;\n  }\n  vm._watchers.push(this);\n  // options\n  if (options) {\n    this.deep = !!options.deep;\n    this.user = !!options.user;\n    this.lazy = !!options.lazy;\n    this.sync = !!options.sync;\n    this.before = options.before;\n  } else {\n    this.deep = this.user = this.lazy = this.sync = false;\n  }\n  this.cb = cb;\n  this.id = ++uid$2; // uid for batching\n  this.active = true;\n  this.dirty = this.lazy; // for lazy watchers\n  this.deps = [];\n  this.newDeps = [];\n  this.depIds = new _Set();\n  this.newDepIds = new _Set();\n  this.expression = process.env.NODE_ENV !== 'production'\n    ? expOrFn.toString()\n    : '';\n  // parse expression for getter\n  if (typeof expOrFn === 'function') {\n    this.getter = expOrFn;\n  } else {\n    this.getter = parsePath(expOrFn);\n    if (!this.getter) {\n      this.getter = noop;\n      process.env.NODE_ENV !== 'production' && warn(\n        \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n        'Watcher only accepts simple dot-delimited paths. ' +\n        'For full control, use a function instead.',\n        vm\n      );\n    }\n  }\n  this.value = this.lazy\n    ? undefined\n    : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n  pushTarget(this);\n  var value;\n  var vm = this.vm;\n  try {\n    value = this.getter.call(vm, vm);\n  } catch (e) {\n    if (this.user) {\n      handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n    } else {\n      throw e\n    }\n  } finally {\n    // \"touch\" every property so they are all tracked as\n    // dependencies for deep watching\n    if (this.deep) {\n      traverse(value);\n    }\n    popTarget();\n    this.cleanupDeps();\n  }\n  return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n  var id = dep.id;\n  if (!this.newDepIds.has(id)) {\n    this.newDepIds.add(id);\n    this.newDeps.push(dep);\n    if (!this.depIds.has(id)) {\n      dep.addSub(this);\n    }\n  }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n  var i = this.deps.length;\n  while (i--) {\n    var dep = this.deps[i];\n    if (!this.newDepIds.has(dep.id)) {\n      dep.removeSub(this);\n    }\n  }\n  var tmp = this.depIds;\n  this.depIds = this.newDepIds;\n  this.newDepIds = tmp;\n  this.newDepIds.clear();\n  tmp = this.deps;\n  this.deps = this.newDeps;\n  this.newDeps = tmp;\n  this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n  /* istanbul ignore else */\n  if (this.lazy) {\n    this.dirty = true;\n  } else if (this.sync) {\n    this.run();\n  } else {\n    queueWatcher(this);\n  }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n  if (this.active) {\n    var value = this.get();\n    if (\n      value !== this.value ||\n      // Deep watchers and watchers on Object/Arrays should fire even\n      // when the value is the same, because the value may\n      // have mutated.\n      isObject(value) ||\n      this.deep\n    ) {\n      // set new value\n      var oldValue = this.value;\n      this.value = value;\n      if (this.user) {\n        try {\n          this.cb.call(this.vm, value, oldValue);\n        } catch (e) {\n          handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n        }\n      } else {\n        this.cb.call(this.vm, value, oldValue);\n      }\n    }\n  }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n  this.value = this.get();\n  this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n  var i = this.deps.length;\n  while (i--) {\n    this.deps[i].depend();\n  }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n  if (this.active) {\n    // remove self from vm's watcher list\n    // this is a somewhat expensive operation so we skip it\n    // if the vm is being destroyed.\n    if (!this.vm._isBeingDestroyed) {\n      remove(this.vm._watchers, this);\n    }\n    var i = this.deps.length;\n    while (i--) {\n      this.deps[i].removeSub(this);\n    }\n    this.active = false;\n  }\n};\n\n/*  */\n\nvar sharedPropertyDefinition = {\n  enumerable: true,\n  configurable: true,\n  get: noop,\n  set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n  sharedPropertyDefinition.get = function proxyGetter () {\n    return this[sourceKey][key]\n  };\n  sharedPropertyDefinition.set = function proxySetter (val) {\n    this[sourceKey][key] = val;\n  };\n  Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n  vm._watchers = [];\n  var opts = vm.$options;\n  if (opts.props) { initProps(vm, opts.props); }\n  if (opts.methods) { initMethods(vm, opts.methods); }\n  if (opts.data) {\n    initData(vm);\n  } else {\n    observe(vm._data = {}, true /* asRootData */);\n  }\n  if (opts.computed) { initComputed(vm, opts.computed); }\n  if (opts.watch && opts.watch !== nativeWatch) {\n    initWatch(vm, opts.watch);\n  }\n}\n\nfunction initProps (vm, propsOptions) {\n  var propsData = vm.$options.propsData || {};\n  var props = vm._props = {};\n  // cache prop keys so that future props updates can iterate using Array\n  // instead of dynamic object key enumeration.\n  var keys = vm.$options._propKeys = [];\n  var isRoot = !vm.$parent;\n  // root instance props should be converted\n  if (!isRoot) {\n    toggleObserving(false);\n  }\n  var loop = function ( key ) {\n    keys.push(key);\n    var value = validateProp(key, propsOptions, propsData, vm);\n    /* istanbul ignore else */\n    if (process.env.NODE_ENV !== 'production') {\n      var hyphenatedKey = hyphenate(key);\n      if (isReservedAttribute(hyphenatedKey) ||\n          config.isReservedAttr(hyphenatedKey)) {\n        warn(\n          (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n          vm\n        );\n      }\n      defineReactive$$1(props, key, value, function () {\n        if (!isRoot && !isUpdatingChildComponent) {\n          {\n            if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn\n                return\n            }\n            //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警\n            if(\n                key === 'value' && \n                Array.isArray(vm.$options.behaviors) &&\n                vm.$options.behaviors.indexOf('uni://form-field') !== -1\n              ){\n              return\n            }\n            if(vm._getFormData){\n              return\n            }\n            var $parent = vm.$parent;\n            while($parent){\n              if($parent.__next_tick_pending){\n                return  \n              }\n              $parent = $parent.$parent;\n            }\n          }\n          warn(\n            \"Avoid mutating a prop directly since the value will be \" +\n            \"overwritten whenever the parent component re-renders. \" +\n            \"Instead, use a data or computed property based on the prop's \" +\n            \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n            vm\n          );\n        }\n      });\n    } else {\n      defineReactive$$1(props, key, value);\n    }\n    // static props are already proxied on the component's prototype\n    // during Vue.extend(). We only need to proxy props defined at\n    // instantiation here.\n    if (!(key in vm)) {\n      proxy(vm, \"_props\", key);\n    }\n  };\n\n  for (var key in propsOptions) loop( key );\n  toggleObserving(true);\n}\n\nfunction initData (vm) {\n  var data = vm.$options.data;\n  data = vm._data = typeof data === 'function'\n    ? getData(data, vm)\n    : data || {};\n  if (!isPlainObject(data)) {\n    data = {};\n    process.env.NODE_ENV !== 'production' && warn(\n      'data functions should return an object:\\n' +\n      'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n      vm\n    );\n  }\n  // proxy data on instance\n  var keys = Object.keys(data);\n  var props = vm.$options.props;\n  var methods = vm.$options.methods;\n  var i = keys.length;\n  while (i--) {\n    var key = keys[i];\n    if (process.env.NODE_ENV !== 'production') {\n      if (methods && hasOwn(methods, key)) {\n        warn(\n          (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n          vm\n        );\n      }\n    }\n    if (props && hasOwn(props, key)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n        \"Use prop default value instead.\",\n        vm\n      );\n    } else if (!isReserved(key)) {\n      proxy(vm, \"_data\", key);\n    }\n  }\n  // observe data\n  observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n  // #7573 disable dep collection when invoking data getters\n  pushTarget();\n  try {\n    return data.call(vm, vm)\n  } catch (e) {\n    handleError(e, vm, \"data()\");\n    return {}\n  } finally {\n    popTarget();\n  }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n  // $flow-disable-line\n  var watchers = vm._computedWatchers = Object.create(null);\n  // computed properties are just getters during SSR\n  var isSSR = isServerRendering();\n\n  for (var key in computed) {\n    var userDef = computed[key];\n    var getter = typeof userDef === 'function' ? userDef : userDef.get;\n    if (process.env.NODE_ENV !== 'production' && getter == null) {\n      warn(\n        (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n        vm\n      );\n    }\n\n    if (!isSSR) {\n      // create internal watcher for the computed property.\n      watchers[key] = new Watcher(\n        vm,\n        getter || noop,\n        noop,\n        computedWatcherOptions\n      );\n    }\n\n    // component-defined computed properties are already defined on the\n    // component prototype. We only need to define computed properties defined\n    // at instantiation here.\n    if (!(key in vm)) {\n      defineComputed(vm, key, userDef);\n    } else if (process.env.NODE_ENV !== 'production') {\n      if (key in vm.$data) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n      } else if (vm.$options.props && key in vm.$options.props) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n      }\n    }\n  }\n}\n\nfunction defineComputed (\n  target,\n  key,\n  userDef\n) {\n  var shouldCache = !isServerRendering();\n  if (typeof userDef === 'function') {\n    sharedPropertyDefinition.get = shouldCache\n      ? createComputedGetter(key)\n      : createGetterInvoker(userDef);\n    sharedPropertyDefinition.set = noop;\n  } else {\n    sharedPropertyDefinition.get = userDef.get\n      ? shouldCache && userDef.cache !== false\n        ? createComputedGetter(key)\n        : createGetterInvoker(userDef.get)\n      : noop;\n    sharedPropertyDefinition.set = userDef.set || noop;\n  }\n  if (process.env.NODE_ENV !== 'production' &&\n      sharedPropertyDefinition.set === noop) {\n    sharedPropertyDefinition.set = function () {\n      warn(\n        (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n        this\n      );\n    };\n  }\n  Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n  return function computedGetter () {\n    var watcher = this._computedWatchers && this._computedWatchers[key];\n    if (watcher) {\n      if (watcher.dirty) {\n        watcher.evaluate();\n      }\n      if (Dep.SharedObject.target) {// fixed by xxxxxx\n        watcher.depend();\n      }\n      return watcher.value\n    }\n  }\n}\n\nfunction createGetterInvoker(fn) {\n  return function computedGetter () {\n    return fn.call(this, this)\n  }\n}\n\nfunction initMethods (vm, methods) {\n  var props = vm.$options.props;\n  for (var key in methods) {\n    if (process.env.NODE_ENV !== 'production') {\n      if (typeof methods[key] !== 'function') {\n        warn(\n          \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n          \"Did you reference the function correctly?\",\n          vm\n        );\n      }\n      if (props && hasOwn(props, key)) {\n        warn(\n          (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n          vm\n        );\n      }\n      if ((key in vm) && isReserved(key)) {\n        warn(\n          \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n          \"Avoid defining component methods that start with _ or $.\"\n        );\n      }\n    }\n    vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n  }\n}\n\nfunction initWatch (vm, watch) {\n  for (var key in watch) {\n    var handler = watch[key];\n    if (Array.isArray(handler)) {\n      for (var i = 0; i < handler.length; i++) {\n        createWatcher(vm, key, handler[i]);\n      }\n    } else {\n      createWatcher(vm, key, handler);\n    }\n  }\n}\n\nfunction createWatcher (\n  vm,\n  expOrFn,\n  handler,\n  options\n) {\n  if (isPlainObject(handler)) {\n    options = handler;\n    handler = handler.handler;\n  }\n  if (typeof handler === 'string') {\n    handler = vm[handler];\n  }\n  return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n  // flow somehow has problems with directly declared definition object\n  // when using Object.defineProperty, so we have to procedurally build up\n  // the object here.\n  var dataDef = {};\n  dataDef.get = function () { return this._data };\n  var propsDef = {};\n  propsDef.get = function () { return this._props };\n  if (process.env.NODE_ENV !== 'production') {\n    dataDef.set = function () {\n      warn(\n        'Avoid replacing instance root $data. ' +\n        'Use nested data properties instead.',\n        this\n      );\n    };\n    propsDef.set = function () {\n      warn(\"$props is readonly.\", this);\n    };\n  }\n  Object.defineProperty(Vue.prototype, '$data', dataDef);\n  Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n  Vue.prototype.$set = set;\n  Vue.prototype.$delete = del;\n\n  Vue.prototype.$watch = function (\n    expOrFn,\n    cb,\n    options\n  ) {\n    var vm = this;\n    if (isPlainObject(cb)) {\n      return createWatcher(vm, expOrFn, cb, options)\n    }\n    options = options || {};\n    options.user = true;\n    var watcher = new Watcher(vm, expOrFn, cb, options);\n    if (options.immediate) {\n      try {\n        cb.call(vm, watcher.value);\n      } catch (error) {\n        handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n      }\n    }\n    return function unwatchFn () {\n      watcher.teardown();\n    }\n  };\n}\n\n/*  */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n  Vue.prototype._init = function (options) {\n    var vm = this;\n    // a uid\n    vm._uid = uid$3++;\n\n    var startTag, endTag;\n    /* istanbul ignore if */\n    if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n      startTag = \"vue-perf-start:\" + (vm._uid);\n      endTag = \"vue-perf-end:\" + (vm._uid);\n      mark(startTag);\n    }\n\n    // a flag to avoid this being observed\n    vm._isVue = true;\n    // merge options\n    if (options && options._isComponent) {\n      // optimize internal component instantiation\n      // since dynamic options merging is pretty slow, and none of the\n      // internal component options needs special treatment.\n      initInternalComponent(vm, options);\n    } else {\n      vm.$options = mergeOptions(\n        resolveConstructorOptions(vm.constructor),\n        options || {},\n        vm\n      );\n    }\n    /* istanbul ignore else */\n    if (process.env.NODE_ENV !== 'production') {\n      initProxy(vm);\n    } else {\n      vm._renderProxy = vm;\n    }\n    // expose real self\n    vm._self = vm;\n    initLifecycle(vm);\n    initEvents(vm);\n    initRender(vm);\n    callHook(vm, 'beforeCreate');\n    !vm._$fallback && initInjections(vm); // resolve injections before data/props  \n    initState(vm);\n    !vm._$fallback && initProvide(vm); // resolve provide after data/props\n    !vm._$fallback && callHook(vm, 'created');      \n\n    /* istanbul ignore if */\n    if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n      vm._name = formatComponentName(vm, false);\n      mark(endTag);\n      measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n    }\n\n    if (vm.$options.el) {\n      vm.$mount(vm.$options.el);\n    }\n  };\n}\n\nfunction initInternalComponent (vm, options) {\n  var opts = vm.$options = Object.create(vm.constructor.options);\n  // doing this because it's faster than dynamic enumeration.\n  var parentVnode = options._parentVnode;\n  opts.parent = options.parent;\n  opts._parentVnode = parentVnode;\n\n  var vnodeComponentOptions = parentVnode.componentOptions;\n  opts.propsData = vnodeComponentOptions.propsData;\n  opts._parentListeners = vnodeComponentOptions.listeners;\n  opts._renderChildren = vnodeComponentOptions.children;\n  opts._componentTag = vnodeComponentOptions.tag;\n\n  if (options.render) {\n    opts.render = options.render;\n    opts.staticRenderFns = options.staticRenderFns;\n  }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n  var options = Ctor.options;\n  if (Ctor.super) {\n    var superOptions = resolveConstructorOptions(Ctor.super);\n    var cachedSuperOptions = Ctor.superOptions;\n    if (superOptions !== cachedSuperOptions) {\n      // super option changed,\n      // need to resolve new options.\n      Ctor.superOptions = superOptions;\n      // check if there are any late-modified/attached options (#4976)\n      var modifiedOptions = resolveModifiedOptions(Ctor);\n      // update base extend options\n      if (modifiedOptions) {\n        extend(Ctor.extendOptions, modifiedOptions);\n      }\n      options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n      if (options.name) {\n        options.components[options.name] = Ctor;\n      }\n    }\n  }\n  return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n  var modified;\n  var latest = Ctor.options;\n  var sealed = Ctor.sealedOptions;\n  for (var key in latest) {\n    if (latest[key] !== sealed[key]) {\n      if (!modified) { modified = {}; }\n      modified[key] = latest[key];\n    }\n  }\n  return modified\n}\n\nfunction Vue (options) {\n  if (process.env.NODE_ENV !== 'production' &&\n    !(this instanceof Vue)\n  ) {\n    warn('Vue is a constructor and should be called with the `new` keyword');\n  }\n  this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/*  */\n\nfunction initUse (Vue) {\n  Vue.use = function (plugin) {\n    var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n    if (installedPlugins.indexOf(plugin) > -1) {\n      return this\n    }\n\n    // additional parameters\n    var args = toArray(arguments, 1);\n    args.unshift(this);\n    if (typeof plugin.install === 'function') {\n      plugin.install.apply(plugin, args);\n    } else if (typeof plugin === 'function') {\n      plugin.apply(null, args);\n    }\n    installedPlugins.push(plugin);\n    return this\n  };\n}\n\n/*  */\n\nfunction initMixin$1 (Vue) {\n  Vue.mixin = function (mixin) {\n    this.options = mergeOptions(this.options, mixin);\n    return this\n  };\n}\n\n/*  */\n\nfunction initExtend (Vue) {\n  /**\n   * Each instance constructor, including Vue, has a unique\n   * cid. This enables us to create wrapped \"child\n   * constructors\" for prototypal inheritance and cache them.\n   */\n  Vue.cid = 0;\n  var cid = 1;\n\n  /**\n   * Class inheritance\n   */\n  Vue.extend = function (extendOptions) {\n    extendOptions = extendOptions || {};\n    var Super = this;\n    var SuperId = Super.cid;\n    var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n    if (cachedCtors[SuperId]) {\n      return cachedCtors[SuperId]\n    }\n\n    var name = extendOptions.name || Super.options.name;\n    if (process.env.NODE_ENV !== 'production' && name) {\n      validateComponentName(name);\n    }\n\n    var Sub = function VueComponent (options) {\n      this._init(options);\n    };\n    Sub.prototype = Object.create(Super.prototype);\n    Sub.prototype.constructor = Sub;\n    Sub.cid = cid++;\n    Sub.options = mergeOptions(\n      Super.options,\n      extendOptions\n    );\n    Sub['super'] = Super;\n\n    // For props and computed properties, we define the proxy getters on\n    // the Vue instances at extension time, on the extended prototype. This\n    // avoids Object.defineProperty calls for each instance created.\n    if (Sub.options.props) {\n      initProps$1(Sub);\n    }\n    if (Sub.options.computed) {\n      initComputed$1(Sub);\n    }\n\n    // allow further extension/mixin/plugin usage\n    Sub.extend = Super.extend;\n    Sub.mixin = Super.mixin;\n    Sub.use = Super.use;\n\n    // create asset registers, so extended classes\n    // can have their private assets too.\n    ASSET_TYPES.forEach(function (type) {\n      Sub[type] = Super[type];\n    });\n    // enable recursive self-lookup\n    if (name) {\n      Sub.options.components[name] = Sub;\n    }\n\n    // keep a reference to the super options at extension time.\n    // later at instantiation we can check if Super's options have\n    // been updated.\n    Sub.superOptions = Super.options;\n    Sub.extendOptions = extendOptions;\n    Sub.sealedOptions = extend({}, Sub.options);\n\n    // cache constructor\n    cachedCtors[SuperId] = Sub;\n    return Sub\n  };\n}\n\nfunction initProps$1 (Comp) {\n  var props = Comp.options.props;\n  for (var key in props) {\n    proxy(Comp.prototype, \"_props\", key);\n  }\n}\n\nfunction initComputed$1 (Comp) {\n  var computed = Comp.options.computed;\n  for (var key in computed) {\n    defineComputed(Comp.prototype, key, computed[key]);\n  }\n}\n\n/*  */\n\nfunction initAssetRegisters (Vue) {\n  /**\n   * Create asset registration methods.\n   */\n  ASSET_TYPES.forEach(function (type) {\n    Vue[type] = function (\n      id,\n      definition\n    ) {\n      if (!definition) {\n        return this.options[type + 's'][id]\n      } else {\n        /* istanbul ignore if */\n        if (process.env.NODE_ENV !== 'production' && type === 'component') {\n          validateComponentName(id);\n        }\n        if (type === 'component' && isPlainObject(definition)) {\n          definition.name = definition.name || id;\n          definition = this.options._base.extend(definition);\n        }\n        if (type === 'directive' && typeof definition === 'function') {\n          definition = { bind: definition, update: definition };\n        }\n        this.options[type + 's'][id] = definition;\n        return definition\n      }\n    };\n  });\n}\n\n/*  */\n\n\n\nfunction getComponentName (opts) {\n  return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n  if (Array.isArray(pattern)) {\n    return pattern.indexOf(name) > -1\n  } else if (typeof pattern === 'string') {\n    return pattern.split(',').indexOf(name) > -1\n  } else if (isRegExp(pattern)) {\n    return pattern.test(name)\n  }\n  /* istanbul ignore next */\n  return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n  var cache = keepAliveInstance.cache;\n  var keys = keepAliveInstance.keys;\n  var _vnode = keepAliveInstance._vnode;\n  for (var key in cache) {\n    var cachedNode = cache[key];\n    if (cachedNode) {\n      var name = getComponentName(cachedNode.componentOptions);\n      if (name && !filter(name)) {\n        pruneCacheEntry(cache, key, keys, _vnode);\n      }\n    }\n  }\n}\n\nfunction pruneCacheEntry (\n  cache,\n  key,\n  keys,\n  current\n) {\n  var cached$$1 = cache[key];\n  if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n    cached$$1.componentInstance.$destroy();\n  }\n  cache[key] = null;\n  remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n  name: 'keep-alive',\n  abstract: true,\n\n  props: {\n    include: patternTypes,\n    exclude: patternTypes,\n    max: [String, Number]\n  },\n\n  created: function created () {\n    this.cache = Object.create(null);\n    this.keys = [];\n  },\n\n  destroyed: function destroyed () {\n    for (var key in this.cache) {\n      pruneCacheEntry(this.cache, key, this.keys);\n    }\n  },\n\n  mounted: function mounted () {\n    var this$1 = this;\n\n    this.$watch('include', function (val) {\n      pruneCache(this$1, function (name) { return matches(val, name); });\n    });\n    this.$watch('exclude', function (val) {\n      pruneCache(this$1, function (name) { return !matches(val, name); });\n    });\n  },\n\n  render: function render () {\n    var slot = this.$slots.default;\n    var vnode = getFirstComponentChild(slot);\n    var componentOptions = vnode && vnode.componentOptions;\n    if (componentOptions) {\n      // check pattern\n      var name = getComponentName(componentOptions);\n      var ref = this;\n      var include = ref.include;\n      var exclude = ref.exclude;\n      if (\n        // not included\n        (include && (!name || !matches(include, name))) ||\n        // excluded\n        (exclude && name && matches(exclude, name))\n      ) {\n        return vnode\n      }\n\n      var ref$1 = this;\n      var cache = ref$1.cache;\n      var keys = ref$1.keys;\n      var key = vnode.key == null\n        // same constructor may get registered as different local components\n        // so cid alone is not enough (#3269)\n        ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n        : vnode.key;\n      if (cache[key]) {\n        vnode.componentInstance = cache[key].componentInstance;\n        // make current key freshest\n        remove(keys, key);\n        keys.push(key);\n      } else {\n        cache[key] = vnode;\n        keys.push(key);\n        // prune oldest entry\n        if (this.max && keys.length > parseInt(this.max)) {\n          pruneCacheEntry(cache, keys[0], keys, this._vnode);\n        }\n      }\n\n      vnode.data.keepAlive = true;\n    }\n    return vnode || (slot && slot[0])\n  }\n};\n\nvar builtInComponents = {\n  KeepAlive: KeepAlive\n};\n\n/*  */\n\nfunction initGlobalAPI (Vue) {\n  // config\n  var configDef = {};\n  configDef.get = function () { return config; };\n  if (process.env.NODE_ENV !== 'production') {\n    configDef.set = function () {\n      warn(\n        'Do not replace the Vue.config object, set individual fields instead.'\n      );\n    };\n  }\n  Object.defineProperty(Vue, 'config', configDef);\n\n  // exposed util methods.\n  // NOTE: these are not considered part of the public API - avoid relying on\n  // them unless you are aware of the risk.\n  Vue.util = {\n    warn: warn,\n    extend: extend,\n    mergeOptions: mergeOptions,\n    defineReactive: defineReactive$$1\n  };\n\n  Vue.set = set;\n  Vue.delete = del;\n  Vue.nextTick = nextTick;\n\n  // 2.6 explicit observable API\n  Vue.observable = function (obj) {\n    observe(obj);\n    return obj\n  };\n\n  Vue.options = Object.create(null);\n  ASSET_TYPES.forEach(function (type) {\n    Vue.options[type + 's'] = Object.create(null);\n  });\n\n  // this is used to identify the \"base\" constructor to extend all plain-object\n  // components with in Weex's multi-instance scenarios.\n  Vue.options._base = Vue;\n\n  extend(Vue.options.components, builtInComponents);\n\n  initUse(Vue);\n  initMixin$1(Vue);\n  initExtend(Vue);\n  initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n  get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n  get: function get () {\n    /* istanbul ignore next */\n    return this.$vnode && this.$vnode.ssrContext\n  }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n  value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/**\n * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js\n */\nvar ARRAYTYPE = '[object Array]';\nvar OBJECTTYPE = '[object Object]';\nvar NULLTYPE = '[object Null]';\nvar UNDEFINEDTYPE = '[object Undefined]';\n// const FUNCTIONTYPE = '[object Function]'\n\nfunction diff(current, pre) {\n    var result = {};\n    syncKeys(current, pre);\n    _diff(current, pre, '', result);\n    return result\n}\n\nfunction syncKeys(current, pre) {\n    if (current === pre) { return }\n    var rootCurrentType = type(current);\n    var rootPreType = type(pre);\n    if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {\n        if(Object.keys(current).length >= Object.keys(pre).length){\n            for (var key in pre) {\n                var currentValue = current[key];\n                if (currentValue === undefined) {\n                    current[key] = null;\n                } else {\n                    syncKeys(currentValue, pre[key]);\n                }\n            }\n        }\n    } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {\n        if (current.length >= pre.length) {\n            pre.forEach(function (item, index) {\n                syncKeys(current[index], item);\n            });\n        }\n    }\n}\n\nfunction nullOrUndefined(currentType, preType) {\n    if(\n        (currentType === NULLTYPE || currentType === UNDEFINEDTYPE) && \n        (preType === NULLTYPE || preType === UNDEFINEDTYPE)\n    ) {\n        return false\n    }\n    return true\n}\n\nfunction _diff(current, pre, path, result) {\n    if (current === pre) { return }\n    var rootCurrentType = type(current);\n    var rootPreType = type(pre);\n    if (rootCurrentType == OBJECTTYPE) {\n        if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {\n            setResult(result, path, current);\n        } else {\n            var loop = function ( key ) {\n                var currentValue = current[key];\n                var preValue = pre[key];\n                var currentType = type(currentValue);\n                var preType = type(preValue);\n                if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {\n                    if (currentValue !== pre[key] && nullOrUndefined(currentType, preType)) {\n                        setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n                    }\n                } else if (currentType == ARRAYTYPE) {\n                    if (preType != ARRAYTYPE) {\n                        setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n                    } else {\n                        if (currentValue.length < preValue.length) {\n                            setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n                        } else {\n                            currentValue.forEach(function (item, index) {\n                                _diff(item, preValue[index], (path == '' ? '' : path + \".\") + key + '[' + index + ']', result);\n                            });\n                        }\n                    }\n                } else if (currentType == OBJECTTYPE) {\n                    if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {\n                        setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n                    } else {\n                        for (var subKey in currentValue) {\n                            _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + \".\") + key + '.' + subKey, result);\n                        }\n                    }\n                }\n            };\n\n            for (var key in current) loop( key );\n        }\n    } else if (rootCurrentType == ARRAYTYPE) {\n        if (rootPreType != ARRAYTYPE) {\n            setResult(result, path, current);\n        } else {\n            if (current.length < pre.length) {\n                setResult(result, path, current);\n            } else {\n                current.forEach(function (item, index) {\n                    _diff(item, pre[index], path + '[' + index + ']', result);\n                });\n            }\n        }\n    } else {\n        setResult(result, path, current);\n    }\n}\n\nfunction setResult(result, k, v) {\n    // if (type(v) != FUNCTIONTYPE) {\n        result[k] = v;\n    // }\n}\n\nfunction type(obj) {\n    return Object.prototype.toString.call(obj)\n}\n\n/*  */\r\n\r\nfunction flushCallbacks$1(vm) {\r\n    if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {\r\n        if (process.env.VUE_APP_DEBUG) {\r\n            var mpInstance = vm.$scope;\r\n            console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\r\n                ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');\r\n        }\r\n        var copies = vm.__next_tick_callbacks.slice(0);\r\n        vm.__next_tick_callbacks.length = 0;\r\n        for (var i = 0; i < copies.length; i++) {\r\n            copies[i]();\r\n        }\r\n    }\r\n}\r\n\r\nfunction hasRenderWatcher(vm) {\r\n    return queue.find(function (watcher) { return vm._watcher === watcher; })\r\n}\r\n\r\nfunction nextTick$1(vm, cb) {\r\n    //1.nextTick 之前 已 setData 且 setData 还未回调完成\r\n    //2.nextTick 之前存在 render watcher\r\n    if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {\n        if(process.env.VUE_APP_DEBUG){\n            var mpInstance = vm.$scope;\n            console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\n                ']:nextVueTick');\n        }\r\n        return nextTick(cb, vm)\r\n    }else{\n        if(process.env.VUE_APP_DEBUG){\n            var mpInstance$1 = vm.$scope;\n            console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +\n                ']:nextMPTick');\n        }\n    }\r\n    var _resolve;\r\n    if (!vm.__next_tick_callbacks) {\r\n        vm.__next_tick_callbacks = [];\r\n    }\r\n    vm.__next_tick_callbacks.push(function () {\r\n        if (cb) {\r\n            try {\r\n                cb.call(vm);\r\n            } catch (e) {\r\n                handleError(e, vm, 'nextTick');\r\n            }\r\n        } else if (_resolve) {\r\n            _resolve(vm);\r\n        }\r\n    });\r\n    // $flow-disable-line\r\n    if (!cb && typeof Promise !== 'undefined') {\r\n        return new Promise(function (resolve) {\r\n            _resolve = resolve;\r\n        })\r\n    }\r\n}\n\n/*  */\r\n\r\nfunction clearInstance(key, value) {\r\n  // 简易去除 Vue 和小程序组件实例\r\n  if (value) {\r\n    if (value._isVue || value.__v_isMPComponent) {\r\n      return {}\r\n    }\r\n  }\r\n  return value\r\n}\r\n\r\nfunction cloneWithData(vm) {\r\n  // 确保当前 vm 所有数据被同步\r\n  var ret = Object.create(null);\r\n  var dataKeys = [].concat(\r\n    Object.keys(vm._data || {}),\r\n    Object.keys(vm._computedWatchers || {}));\r\n\r\n  dataKeys.reduce(function(ret, key) {\r\n    ret[key] = vm[key];\r\n    return ret\r\n  }, ret);\r\n\r\n  // vue-composition-api\r\n  var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;\r\n  var rawBindings = compositionApiState && compositionApiState.rawBindings;\r\n  if (rawBindings) {\r\n    Object.keys(rawBindings).forEach(function (key) {\r\n      ret[key] = vm[key];\r\n    });\r\n  }\r\n\r\n  //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据\r\n  Object.assign(ret, vm.$mp.data || {});\r\n  if (\r\n    Array.isArray(vm.$options.behaviors) &&\r\n    vm.$options.behaviors.indexOf('uni://form-field') !== -1\r\n  ) { //form-field\r\n    ret['name'] = vm.name;\r\n    ret['value'] = vm.value;\r\n  }\r\n\r\n  return JSON.parse(JSON.stringify(ret, clearInstance))\r\n}\r\n\r\nvar patch = function(oldVnode, vnode) {\n  var this$1 = this;\n\r\n  if (vnode === null) { //destroy\r\n    return\r\n  }\r\n  if (this.mpType === 'page' || this.mpType === 'component') {\r\n    var mpInstance = this.$scope;\r\n    var data = Object.create(null);\r\n    try {\r\n      data = cloneWithData(this);\r\n    } catch (err) {\r\n      console.error(err);\r\n    }\r\n    data.__webviewId__ = mpInstance.data.__webviewId__;\r\n    var mpData = Object.create(null);\r\n    Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据\r\n      mpData[key] = mpInstance.data[key];\r\n    });\r\n    var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);\r\n    if (Object.keys(diffData).length) {\r\n      if (process.env.VUE_APP_DEBUG) {\r\n        console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +\r\n          ']差量更新',\r\n          JSON.stringify(diffData));\r\n      }\r\n      this.__next_tick_pending = true;\r\n      mpInstance.setData(diffData, function () {\r\n        this$1.__next_tick_pending = false;\r\n        flushCallbacks$1(this$1);\r\n      });\r\n    } else {\r\n      flushCallbacks$1(this);\r\n    }\r\n  }\r\n};\n\n/*  */\n\nfunction createEmptyRender() {\n\n}\n\nfunction mountComponent$1(\n  vm,\n  el,\n  hydrating\n) {\n  if (!vm.mpType) {//main.js 中的 new Vue\n    return vm\n  }\n  if (vm.mpType === 'app') {\n    vm.$options.render = createEmptyRender;\n  }\n  if (!vm.$options.render) {\n    vm.$options.render = createEmptyRender;\n    if (process.env.NODE_ENV !== 'production') {\n      /* istanbul ignore if */\n      if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n        vm.$options.el || el) {\n        warn(\n          'You are using the runtime-only build of Vue where the template ' +\n          'compiler is not available. Either pre-compile the templates into ' +\n          'render functions, or use the compiler-included build.',\n          vm\n        );\n      } else {\n        warn(\n          'Failed to mount component: template or render function not defined.',\n          vm\n        );\n      }\n    }\n  }\n  \n  !vm._$fallback && callHook(vm, 'beforeMount');\n\n  var updateComponent = function () {\n    vm._update(vm._render(), hydrating);\n  };\n\n  // we set this to vm._watcher inside the watcher's constructor\n  // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n  // component's mounted hook), which relies on vm._watcher being already defined\n  new Watcher(vm, updateComponent, noop, {\n    before: function before() {\n      if (vm._isMounted && !vm._isDestroyed) {\n        callHook(vm, 'beforeUpdate');\n      }\n    }\n  }, true /* isRenderWatcher */);\n  hydrating = false;\n  return vm\n}\n\n/*  */\n\nfunction renderClass (\n  staticClass,\n  dynamicClass\n) {\n  if (isDef(staticClass) || isDef(dynamicClass)) {\n    return concat(staticClass, stringifyClass(dynamicClass))\n  }\n  /* istanbul ignore next */\n  return ''\n}\n\nfunction concat (a, b) {\n  return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n  if (Array.isArray(value)) {\n    return stringifyArray(value)\n  }\n  if (isObject(value)) {\n    return stringifyObject(value)\n  }\n  if (typeof value === 'string') {\n    return value\n  }\n  /* istanbul ignore next */\n  return ''\n}\n\nfunction stringifyArray (value) {\n  var res = '';\n  var stringified;\n  for (var i = 0, l = value.length; i < l; i++) {\n    if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n      if (res) { res += ' '; }\n      res += stringified;\n    }\n  }\n  return res\n}\n\nfunction stringifyObject (value) {\n  var res = '';\n  for (var key in value) {\n    if (value[key]) {\n      if (res) { res += ' '; }\n      res += key;\n    }\n  }\n  return res\n}\n\n/*  */\n\nvar parseStyleText = cached(function (cssText) {\n  var res = {};\n  var listDelimiter = /;(?![^(]*\\))/g;\n  var propertyDelimiter = /:(.+)/;\n  cssText.split(listDelimiter).forEach(function (item) {\n    if (item) {\n      var tmp = item.split(propertyDelimiter);\n      tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n    }\n  });\n  return res\n});\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n  if (Array.isArray(bindingStyle)) {\n    return toObject(bindingStyle)\n  }\n  if (typeof bindingStyle === 'string') {\n    return parseStyleText(bindingStyle)\n  }\n  return bindingStyle\n}\n\n/*  */\r\n\r\nvar MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];\r\n\r\nfunction getTarget(obj, path) {\r\n  var parts = path.split('.');\r\n  var key = parts[0];\r\n  if (key.indexOf('__$n') === 0) { //number index\r\n    key = parseInt(key.replace('__$n', ''));\r\n  }\r\n  if (parts.length === 1) {\r\n    return obj[key]\r\n  }\r\n  return getTarget(obj[key], parts.slice(1).join('.'))\r\n}\r\n\r\nfunction internalMixin(Vue) {\r\n\r\n  Vue.config.errorHandler = function(err, vm, info) {\r\n    Vue.util.warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\r\n    console.error(err);\r\n    /* eslint-disable no-undef */\r\n    var app = typeof getApp === 'function' && getApp();\r\n    if (app && app.onError) {\r\n      app.onError(err);\r\n    }\r\n  };\r\n\r\n  var oldEmit = Vue.prototype.$emit;\r\n\r\n  Vue.prototype.$emit = function(event) {\r\n    if (this.$scope && event) {\r\n      var triggerEvent = this.$scope['_triggerEvent'] || this.$scope['triggerEvent'];\r\n      if (triggerEvent) {\r\n        try {\r\n          triggerEvent.call(this.$scope, event, {\r\n            __args__: toArray(arguments, 1)\r\n          });\r\n        } catch (error) {\r\n\r\n        }\r\n      }\r\n    }\r\n    return oldEmit.apply(this, arguments)\r\n  };\r\n\r\n  Vue.prototype.$nextTick = function(fn) {\r\n    return nextTick$1(this, fn)\r\n  };\r\n\r\n  MP_METHODS.forEach(function (method) {\r\n    Vue.prototype[method] = function(args) {\r\n      if (this.$scope && this.$scope[method]) {\r\n        return this.$scope[method](args)\r\n      }\r\n      // mp-alipay\r\n      if (typeof my === 'undefined') {\r\n        return\r\n      }\r\n      if (method === 'createSelectorQuery') {\r\n        /* eslint-disable no-undef */\r\n        return my.createSelectorQuery(args)\r\n      } else if (method === 'createIntersectionObserver') {\r\n        /* eslint-disable no-undef */\r\n        return my.createIntersectionObserver(args)\r\n      }\r\n      // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent\r\n    };\r\n  });\r\n\r\n  Vue.prototype.__init_provide = initProvide;\r\n\r\n  Vue.prototype.__init_injections = initInjections;\r\n\r\n  Vue.prototype.__call_hook = function(hook, args) {\r\n    var vm = this;\r\n    // #7573 disable dep collection when invoking lifecycle hooks\r\n    pushTarget();\r\n    var handlers = vm.$options[hook];\r\n    var info = hook + \" hook\";\r\n    var ret;\r\n    if (handlers) {\r\n      for (var i = 0, j = handlers.length; i < j; i++) {\r\n        ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);\r\n      }\r\n    }\r\n    if (vm._hasHookEvent) {\r\n      vm.$emit('hook:' + hook, args);\r\n    }\r\n    popTarget();\r\n    return ret\r\n  };\r\n\r\n  Vue.prototype.__set_model = function(target, key, value, modifiers) {\r\n    if (Array.isArray(modifiers)) {\r\n      if (modifiers.indexOf('trim') !== -1) {\r\n        value = value.trim();\r\n      }\r\n      if (modifiers.indexOf('number') !== -1) {\r\n        value = this._n(value);\r\n      }\r\n    }\r\n    if (!target) {\r\n      target = this;\r\n    }\r\n    // 解决动态属性添加\r\n    Vue.set(target, key, value);\r\n  };\r\n\r\n  Vue.prototype.__set_sync = function(target, key, value) {\r\n    if (!target) {\r\n      target = this;\r\n    }\r\n    // 解决动态属性添加\r\n    Vue.set(target, key, value);\r\n  };\r\n\r\n  Vue.prototype.__get_orig = function(item) {\r\n    if (isPlainObject(item)) {\r\n      return item['$orig'] || item\r\n    }\r\n    return item\r\n  };\r\n\r\n  Vue.prototype.__get_value = function(dataPath, target) {\r\n    return getTarget(target || this, dataPath)\r\n  };\r\n\r\n\r\n  Vue.prototype.__get_class = function(dynamicClass, staticClass) {\r\n    return renderClass(staticClass, dynamicClass)\r\n  };\r\n\r\n  Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {\r\n    if (!dynamicStyle && !staticStyle) {\r\n      return ''\r\n    }\r\n    var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);\r\n    var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;\r\n    return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + \":\" + (styleObj[name])); }).join(';')\r\n  };\r\n\r\n  Vue.prototype.__map = function(val, iteratee) {\r\n    //TODO 暂不考虑 string\r\n    var ret, i, l, keys, key;\r\n    if (Array.isArray(val)) {\r\n      ret = new Array(val.length);\r\n      for (i = 0, l = val.length; i < l; i++) {\r\n        ret[i] = iteratee(val[i], i);\r\n      }\r\n      return ret\r\n    } else if (isObject(val)) {\r\n      keys = Object.keys(val);\r\n      ret = Object.create(null);\r\n      for (i = 0, l = keys.length; i < l; i++) {\r\n        key = keys[i];\r\n        ret[key] = iteratee(val[key], key, i);\r\n      }\r\n      return ret\r\n    } else if (typeof val === 'number') {\r\n      ret = new Array(val);\r\n      for (i = 0, l = val; i < l; i++) {\r\n        // 第一个参数暂时仍和小程序一致\r\n        ret[i] = iteratee(i, i);\r\n      }\r\n      return ret\r\n    }\r\n    return []\r\n  };\r\n\r\n}\n\n/*  */\r\n\r\nvar LIFECYCLE_HOOKS$1 = [\r\n    //App\r\n    'onLaunch',\r\n    'onShow',\r\n    'onHide',\r\n    'onUniNViewMessage',\r\n    'onPageNotFound',\r\n    'onThemeChange',\r\n    'onError',\r\n    'onUnhandledRejection',\r\n    //Page\r\n    'onInit',\r\n    'onLoad',\r\n    // 'onShow',\r\n    'onReady',\r\n    // 'onHide',\r\n    'onUnload',\r\n    'onPullDownRefresh',\r\n    'onReachBottom',\r\n    'onTabItemTap',\r\n    'onAddToFavorites',\r\n    'onShareTimeline',\r\n    'onShareAppMessage',\r\n    'onResize',\r\n    'onPageScroll',\r\n    'onNavigationBarButtonTap',\r\n    'onBackPress',\r\n    'onNavigationBarSearchInputChanged',\r\n    'onNavigationBarSearchInputConfirmed',\r\n    'onNavigationBarSearchInputClicked',\r\n    'onUploadDouyinVideo',\r\n    'onNFCReadMessage',\r\n    //Component\r\n    // 'onReady', // 兼容旧版本,应该移除该事件\r\n    'onPageShow',\r\n    'onPageHide',\r\n    'onPageResize'\r\n];\r\nfunction lifecycleMixin$1(Vue) {\r\n\r\n    //fixed vue-class-component\r\n    var oldExtend = Vue.extend;\r\n    Vue.extend = function(extendOptions) {\r\n        extendOptions = extendOptions || {};\r\n\r\n        var methods = extendOptions.methods;\r\n        if (methods) {\r\n            Object.keys(methods).forEach(function (methodName) {\r\n                if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {\r\n                    extendOptions[methodName] = methods[methodName];\r\n                    delete methods[methodName];\r\n                }\r\n            });\r\n        }\r\n\r\n        return oldExtend.call(this, extendOptions)\r\n    };\r\n\r\n    var strategies = Vue.config.optionMergeStrategies;\r\n    var mergeHook = strategies.created;\r\n    LIFECYCLE_HOOKS$1.forEach(function (hook) {\r\n        strategies[hook] = mergeHook;\r\n    });\r\n\r\n    Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;\r\n}\n\n/*  */\r\n\n// install platform patch function\r\nVue.prototype.__patch__ = patch;\r\n\r\n// public mount method\r\nVue.prototype.$mount = function(\r\n    el ,\r\n    hydrating \r\n) {\r\n    return mountComponent$1(this, el, hydrating)\r\n};\r\n\r\nlifecycleMixin$1(Vue);\r\ninternalMixin(Vue);\n\n/*  */\n\nexport default Vue;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier, /* server only */\n  shadowMode, /* vue-cli only */\n  components, // fixed by xxxxxx auto components\n  renderjs // fixed by xxxxxx renderjs\n) {\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // fixed by xxxxxx auto components\n  if (components) {\n    if (!options.components) {\n      options.components = {}\n    }\n    var hasOwn = Object.prototype.hasOwnProperty\n    for (var name in components) {\n      if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {\n        options.components[name] = components[name]\n      }\n    }\n  }\n  // fixed by xxxxxx renderjs\n  if (renderjs) {\n    if(typeof renderjs.beforeCreate === 'function'){\n\t\t\trenderjs.beforeCreate = [renderjs.beforeCreate]\n\t\t}\n    (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {\n      this[renderjs.__module] = this\n    });\n    (options.mixins || (options.mixins = [])).push(renderjs)\n  }\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functioal component in vue file\n      var originalRender = options.render\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return originalRender(h, context)\n      }\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n","let main;\nlet filter;\nlet receiver;\nlet tag = false;\n/**\n * 开始广播监听扫码\n */\nconst start = () => {\n\n\n\n}\n\n\n/**\n * 停止广播监听扫码\n * that:传this;\n */\nconst stop = () => {\n\n\n\n}\n\n\n/**  剩余下个变量已经做了全局变量\n *\n * 定义广播\n * that:传this;\n */\nconst init = (onReceive) => {\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\nexport const broadcastScan = {\n  init,\n  start,\n  stop,\n};\n\n","/* eslint-disable */\n\n\n\n\n\n\n\n\n\n(function(win) {\n\tlet printListDev = [];\n\tlet printListOnline = [];\n\tvar CLODOP = {\n\t\tstrWebPageID: \"3DFAAAC\",\n\t\tstrTaskID: \"\",\n\t\tstrHostURI: \"http://192.168.1.56:8000\",\n\t\twsHostURI: \"ws://192.168.1.56:8000/c_webskt/\",\n\t\tVERSION: \"6.2.2.6\",\n\t\tIVERSION: \"6226\",\n\t\tCVERSION: \"3.0.9.3\",\n\t\tHTTPS_STATUS: 2,\n\t\tVERSION_EXT: true,\n\t\tiBaseTask: 0,\n\t\ttimeThreshold: 5,\n\t\tPriority: 0,\n\t\tblIslocal: true,\n\t\tIframes: [],\n\t\tItemDatas: {},\n\t\tPageData: {},\n\t\tdefStyleJson: {},\n\t\tPageDataEx: {},\n\t\tItemCNameStyles: {},\n\t\tblWorking: false,\n\t\tblNormalItemAdded: false,\n\t\tblTmpSelectedIndex: null,\n\t\tCaption: null,\n\t\tColor: null,\n\t\tCompanyName: null,\n\t\tstrBroadcastMS: null,\n\t\tBorder: null,\n\t\tInbrowse: null,\n\t\twebskt: null,\n\t\tSocketEnable: false,\n\t\tSocketOpened: false,\n\t\tNoClearAfterPrint: false,\n\t\tOn_Return_Remain: false,\n\t\tOn_Broadcast_Remain: false,\n\t\tOn_Return: null,\n\t\tResult: null,\n\t\tiTrySendTimes: 0,\n\t\tOBO_Mode: 1,\n\t\tblOneByone: false,\n\t\tDelimChar: \"\\f\\f\",\n\t\tPrinters: {\n\t\t\t\"default\": \"1\",\n\t\t\t\"list\":[]\n\t\t},\n\t\taltMessageWebSocketInvalid: \"WebSocket没准备好,点确定继续...\",\n\t\taltMessageNoReadWriteFile: \"不能远程读写文件!\",\n\t\taltMessageNoReadFile: \"不能远程读文件!\",\n\t\taltMessageNoWriteFile: \"不能远程写文件!\",\n\t\taltMessageNoPrintDesign: \"不能远程打印设计!\",\n\t\taltMessageNoPrintSetup: \"不能远程打印维护!\",\n\t\taltMessageSomeWindowExist: \"有窗口已打开,先关闭它(持续如此时请刷新页面)!\",\n\t\taltMessageBusy: \"上一个请求正忙,请稍后再试!\",\n\t\tBrowser: (function() {\n\n\n\n\n\n\t\t\tvar ua = navigator.userAgent;\n\t\t\tvar isOpera = Object.prototype.toString.call(window.opera) == \"[object Opera]\";\n\t\t\treturn {\n\t\t\t\tIE: !!window.attachEvent && !isOpera,\n\t\t\t\tOpera: isOpera,\n\t\t\t\tWebKit: ua.indexOf(\"AppleWebKit/\") > -1,\n\t\t\t\tGecko: ua.indexOf(\"Gecko\") > -1 && ua.indexOf(\"KHTML\") === -1,\n\t\t\t\tMobileSafari: /Apple.*Mobile/.test(ua)\n\t\t\t}\n\t\t})(),\n\t\tGetTaskID: function() {\n\t\t\tif (!this.strTaskID || this.strTaskID == \"\") {\n\t\t\t\tvar dt = new Date();\n\t\t\t\tthis.iBaseTask++;\n\t\t\t\tthis.strTaskID = \"\" + dt.getHours() + dt.getMinutes() + dt.getSeconds() + \"_\" + this.iBaseTask;\n\t\t\t}\n\t\t\treturn this.strWebPageID + this.strTaskID;\n\t\t},\n\t\tDoInit: function() {\n\t\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\t\t//开发环境\n\t\t\t\tCLODOP.Printers.list = printListDev\n\t\t\t} else {\n\t\t\t\t//生产环境\n\t\t\t\tCLODOP.Printers.list = printListOnline\n\t\t\t}\n\t\t\tthis.strTaskID = \"\";\n\t\t\tif (this.NoClearAfterPrint) return;\n\t\t\tthis.ItemDatas = {\n\t\t\t\t\"count\": 0\n\t\t\t};\n\t\t\tthis.PageData = {};\n\t\t\tthis.ItemCNameStyles = {};\n\t\t\tthis.defStyleJson = {\n\t\t\t\t\"beginpage\": 0,\n\t\t\t\t\"beginpagea\": 0\n\t\t\t};\n\t\t\tthis.blNormalItemAdded = false;\n\t\t\twin.CLODOP.OpenWebSocket();\n\t\t},\n\t\tOpenWebSocket: function() {\n\n\n\n\n\n\n\n\t\t\tif (!window.WebSocket && !window.MozWebSocket) {\n\t\t\t\tif (window.On_CLodop_Opened) {\n\t\t\t\t\tif (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout(\"window.On_CLodop_Opened(CLODOP)\", 1);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.SocketEnable = true;\n\t\t\ttry {\n\t\t\t\tif (!this.webskt || this.webskt.readyState == 3) {\n\t\t\t\t\tif (!window.WebSocket && window.MozWebSocket) window.WebSocket = window.MozWebSocket;\n\t\t\t\t\tthis.webskt = uni.connectSocket({\n\t\t\t\t\t\turl: CLODOP.wsHostURI,\n\t\t\t\t\t\tsuccess: res => {\n\t\t\t\t\t\t\tconsole.info(res);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfail: res => {\n\t\t\t\t\t\t\tconsole.info(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.webskt.onOpen(function(e) {\n\t\t\t\t\t\tCLODOP.SocketOpened = true;\n\t\t\t\t\t\tif (window.On_CLodop_Opened) {\n\t\t\t\t\t\t\tif (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout(window.On_CLodop_Opened(CLODOP), 10000);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.webskt.onMessage(function(e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\tCLODOP.resultHandle(e.data);\n\t\t\t\t\t});\n\t\t\t\t\tthis.webskt.onClose(function(e) {\n\t\t\t\t\t\tif (!CLODOP.SocketOpened) {\n\t\t\t\t\t\t\tCLODOP.SocketEnable = false;\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// setTimeout(CLODOP.OpenWebSocket(), 2000);\n\t\t\t\t\t});\n\t\t\t\t\tthis.webskt.onError(function(e) {\n\t\t\t\t\t\tconsole.info(e);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tthis.webskt = null;\n\t\t\t\tif (err.message.indexOf(\"SecurityError\") > -1)\n\t\t\t\t\tthis.SocketEnable = false;\n\t\t\t\telse\n\t\t\t\t\tsetTimeout(CLODOP.OpenWebSocket(), 2000);\n\t\t\t}\n\t\t},\n\t\tresultHandle: function(data) {\n\t\t\tCLODOP.blOneByone = false;\n\t\t\tvar strResult = data;\n\t\t\tCLODOP.Result = strResult;\n\t\t\ttry {\n\t\t\t\tvar strFTaskID = null;\n\t\t\t\tvar iPos = strResult.indexOf(\"=\");\n\t\t\t\tif (iPos >= 0 && iPos < 30) {\n\t\t\t\t\tstrFTaskID = strResult.slice(0, iPos);\n\t\t\t\t\tstrResult = strResult.slice(iPos + 1);\n\t\t\t\t}\n\t\t\t\tif (strFTaskID.indexOf(\"ErrorMS\") > -1) {\n\t\t\t\t\tconsole.info(strResult);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (strFTaskID.indexOf(\"BroadcastMS\") > -1) {\n\t\t\t\t\tCLODOP.strBroadcastMS = strResult;\n\t\t\t\t\tif (CLODOP.On_Broadcast) {\n\t\t\t\t\t\tvar selfFunc = CLODOP.On_Broadcast;\n\t\t\t\t\t\tCLODOP.On_Broadcast(strResult);\n\t\t\t\t\t\tif (!CLODOP.On_Broadcast_Remain && selfFunc === CLODOP.On_Broadcast)\n\t\t\t\t\t\t\tCLODOP.On_Broadcast = null;\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (CLODOP.On_Return) {\n\t\t\t\t\tvar selfFunc = CLODOP.On_Return;\n\t\t\t\t\tif ((strResult.toLowerCase() == \"true\") || (strResult.toLowerCase() == \"false\"))\n\t\t\t\t\t\tCLODOP.On_Return(strFTaskID, strResult.toLowerCase() == \"true\");\n\t\t\t\t\telse\n\t\t\t\t\t\tCLODOP.On_Return(strFTaskID, strResult);\n\t\t\t\t\tif (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tconsole.log(err);\n\t\t\t};\n\t\t},\n\t\twsSend: function(strData) {\n\t\t\tconsole.info(strData);\n\n\n\n\t\t\tif (!this.SocketEnable) return;\n\t\t\tif (this.webskt && this.webskt.readyState == 1) {\n\t\t\t\tthis.Result = null;\n\t\t\t\tthis.iTrySendTimes = 0;\n\n\t\t\t\tthis.webskt.send({\n\t\t\t\t\tdata: strData,\n\t\t\t\t\tsuccess: res => {\n\t\t\t\t\t\tconsole.info(res);\n\t\t\t\t\t},\n\t\t\t\t\tfail: res => {\n\t\t\t\t\t\tconsole.info(res);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\tconsole.info(this.altMessageWebSocketInvalid);\n\t\t\t\tthis.iTrySendTimes++;\n\t\t\t\tif (this.iTrySendTimes <= 1) {\n\t\t\t\t\tsetTimeout(CLODOP.wsSend(strData), 500);\n\t\t\t\t} else {\n\t\t\t\t\tthis.OpenWebSocket();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tpostSend: function(data) {\n\t\t\tApi.flPostPrint(data).then(res => {\n\t\t\t\tconsole.log(res);\n\t\t\t\tCLODOP.resultHandle(res.data);\n\t\t\t})\n\t\t},\n\t\tFORMAT: function(oType, oValue) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (oType !== undefined && oValue !== undefined) {\n\t\t\t\tif (oType.replace(/^\\s+|\\s+$/g, \"\").toLowerCase().indexOf(\"time:\") == 0) {\n\t\t\t\t\toType = oType.replace(/^\\s+|\\s+$/g, \"\").slice(5);\n\t\t\t\t\tif (oValue.toLowerCase().indexOf(\"now\") > -1) oValue = (new Date()).toString();\n\t\t\t\t\tif (oValue.toLowerCase().indexOf(\"date\") > -1) oValue = (new Date()).toString();\n\t\t\t\t\tif (oValue.toLowerCase().indexOf(\"time\") > -1) oValue = (new Date()).toString();\n\t\t\t\t\tvar TypeYMD = \"ymd\";\n\t\t\t\t\tif (oValue.toLowerCase().indexOf(\"ymd\") > -1) {\n\t\t\t\t\t\tTypeYMD = \"ymd\";\n\t\t\t\t\t\toValue = oValue.slice(3);\n\t\t\t\t\t}\n\t\t\t\t\tif (oValue.toLowerCase().indexOf(\"dmy\") > -1) {\n\t\t\t\t\t\tTypeYMD = \"dmy\";\n\t\t\t\t\t\toValue = oValue.slice(3);\n\t\t\t\t\t}\n\t\t\t\t\tif (oValue.toLowerCase().indexOf(\"mdy\") > -1) {\n\t\t\t\t\t\tTypeYMD = \"mdy\";\n\t\t\t\t\t\toValue = oValue.slice(3);\n\t\t\t\t\t}\n\t\t\t\t\toValue = oValue.replace(/ [^ ]*\\+[^ ]* /g, \" \");\n\t\t\t\t\toValue = oValue.replace(/\\(.*\\)/g, \" \");\n\t\t\t\t\toValue = oValue.replace(/星期日|星期一|星期二|星期三|星期四|星期五|星期六/g, \" \");\n\t\t\t\t\toValue = oValue.replace(/[A-Za-z]+day|Mon|Tue|Wed|Thu|Fri|Sat|Sun/g, \" \");\n\t\t\t\t\tvar aMonth = 0;\n\t\t\t\t\tvar exp = new RegExp(\"Oct[A-Za-z]*|十月|10月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 10;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"Nov[A-Za-z]*|十一月|11月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 11;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"Dec[A-Za-z]*|十二月|12月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 12;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"Jan[A-Za-z]*|一月|01月|1月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 1;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"Feb[A-Za-z]*|二月|02月|2月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 2;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"Mar[A-Za-z]*|三月|03月|3月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 3;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"Apr[A-Za-z]*|四月|04月|4月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 4;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"May[A-Za-z]*|五月|05月|5月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 5;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"Jun[A-Za-z]*|六月|06月|6月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 6;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"Jul[A-Za-z]*|七月|07月|7月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 7;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"Aug[A-Za-z]*|八月|08月|8月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 8;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\texp = new RegExp(\"Sep[A-Za-z]*|九月|09月|9月\", \"i\");\n\t\t\t\t\tif (oValue.match(exp) !== null) {\n\t\t\t\t\t\taMonth = 9;\n\t\t\t\t\t\toValue = oValue.replace(exp, \"\");\n\t\t\t\t\t}\n\t\t\t\t\toValue = oValue.replace(/日|秒/g, \" \");\n\t\t\t\t\toValue = oValue.replace(/时|分/g, \":\");\n\t\t\t\t\tvar subTime = oValue.match(/ \\d+:\\d+:\\d+/);\n\t\t\t\t\tif (subTime == null) subTime = \"\";\n\t\t\t\t\toValue = oValue.replace(/ \\d+:\\d+:\\d+/, \"\") + subTime;\n\t\t\t\t\tvar dValue = new Date();\n\t\t\t\t\tvar iYear = 0;\n\t\t\t\t\tvar iMonth = 0;\n\t\t\t\t\tvar iDate = 0;\n\t\t\t\t\tvar iHour = 0;\n\t\t\t\t\tvar iMinutes = 0;\n\t\t\t\t\tvar iSecond = 0;\n\t\t\t\t\tvar tmpValue = oValue;\n\t\t\t\t\tvar sValue = \"\";\n\t\t\t\t\tvar MC1 = 0;\n\t\t\t\t\tMC2 = 0;\n\t\t\t\t\tMC3 = 0;\n\t\t\t\t\tsValue = tmpValue.match(/\\d+/);\n\t\t\t\t\tif (sValue !== null) {\n\t\t\t\t\t\tMC1 = parseInt(sValue[0]);\n\t\t\t\t\t\ttmpValue = tmpValue.replace(/\\d+/, \"\");\n\t\t\t\t\t}\n\t\t\t\t\tsValue = tmpValue.match(/\\d+/);\n\t\t\t\t\tif (sValue !== null) {\n\t\t\t\t\t\tMC2 = parseInt(sValue[0]);\n\t\t\t\t\t\ttmpValue = tmpValue.replace(/\\d+/, \"\");\n\t\t\t\t\t}\n\t\t\t\t\tif (aMonth <= 0) {\n\t\t\t\t\t\tsValue = tmpValue.match(/\\d+/);\n\t\t\t\t\t\tif (sValue !== null) {\n\t\t\t\t\t\t\tMC3 = parseInt(sValue[0]);\n\t\t\t\t\t\t\ttmpValue = tmpValue.replace(/\\d+/, \"\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (aMonth > 0) {\n\t\t\t\t\t\tiMonth = aMonth;\n\t\t\t\t\t\tif (MC2 <= 31) {\n\t\t\t\t\t\t\tiYear = MC1;\n\t\t\t\t\t\t\tiDate = MC2;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tiYear = MC2;\n\t\t\t\t\t\t\tiDate = MC1;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else\n\t\t\t\t\tif (TypeYMD == \"dmy\") {\n\t\t\t\t\t\tiDate = MC1;\n\t\t\t\t\t\tiMonth = MC2;\n\t\t\t\t\t\tiYear = MC3;\n\t\t\t\t\t} else\n\t\t\t\t\tif (TypeYMD == \"mdy\") {\n\t\t\t\t\t\tiMonth = MC1;\n\t\t\t\t\t\tiDate = MC2;\n\t\t\t\t\t\tiYear = MC3;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tiYear = MC1;\n\t\t\t\t\t\tiMonth = MC2;\n\t\t\t\t\t\tiDate = MC3;\n\t\t\t\t\t\tif (MC3 > 31) {\n\t\t\t\t\t\t\tiYear = MC3;\n\t\t\t\t\t\t\tiMonth = MC1;\n\t\t\t\t\t\t\tiDate = MC2;\n\t\t\t\t\t\t\tif (MC1 > 12) {\n\t\t\t\t\t\t\t\tiDate = MC1;\n\t\t\t\t\t\t\t\tiMonth = MC2\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (MC2 > 12) {\n\t\t\t\t\t\t\t\tiYear = MC2;\n\t\t\t\t\t\t\t\tiMonth = MC1;\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\tvar sValue = tmpValue.match(/\\d+/);\n\t\t\t\t\tif (sValue !== null) {\n\t\t\t\t\t\tiHour = parseInt(sValue[0]);\n\t\t\t\t\t\ttmpValue = tmpValue.replace(/\\d+/, \"\");\n\t\t\t\t\t}\n\t\t\t\t\tvar sValue = tmpValue.match(/\\d+/);\n\t\t\t\t\tif (sValue !== null) {\n\t\t\t\t\t\tiMinutes = parseInt(sValue[0]);\n\t\t\t\t\t\ttmpValue = tmpValue.replace(/\\d+/, \"\");\n\t\t\t\t\t}\n\t\t\t\t\tvar sValue = tmpValue.match(/\\d+/);\n\t\t\t\t\tif (sValue !== null) {\n\t\t\t\t\t\tiSecond = parseInt(sValue[0]);\n\t\t\t\t\t\ttmpValue = tmpValue.replace(/\\d+/, \"\");\n\t\t\t\t\t}\n\t\t\t\t\tif (oType.toLowerCase() == \"isvalidformat\")\n\t\t\t\t\t\toValue = (iYear > 0 && iMonth > 0 && iMonth <= 12 && iDate > 0 && iDate <= 31);\n\t\t\t\t\telse {\n\t\t\t\t\t\tif ((\"\" + iYear).length < 4) iYear = iYear + 2000;\n\t\t\t\t\t\tdValue.setFullYear(iYear, iMonth - 1, iDate);\n\t\t\t\t\t\tdValue.setHours(iHour);\n\t\t\t\t\t\tdValue.setMinutes(iMinutes);\n\t\t\t\t\t\tdValue.setSeconds(iSecond);\n\t\t\t\t\t\tvar iDay = dValue.getDay();\n\t\t\t\t\t\tif (oType.toLowerCase() == \"weekindex\")\n\t\t\t\t\t\t\toValue = iDay;\n\t\t\t\t\t\telse\n\t\t\t\t\t\tif (oType.toLowerCase() == \"floatvalue\")\n\t\t\t\t\t\t\toValue = dValue.getTime();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar sWeek = \"\";\n\t\t\t\t\t\t\tswitch (iDay) {\n\t\t\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t\t\tsWeek = \"日\";\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t\t\tsWeek = \"一\";\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t\t\t\tsWeek = \"二\";\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 3:\n\t\t\t\t\t\t\t\t\tsWeek = \"三\";\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 4:\n\t\t\t\t\t\t\t\t\tsWeek = \"四\";\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 5:\n\t\t\t\t\t\t\t\t\tsWeek = \"五\";\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 6:\n\t\t\t\t\t\t\t\t\tsWeek = \"六\";\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toValue = oType.replace(/dddd/ig, \"星期\" + sWeek);\n\t\t\t\t\t\t\tif (/(y+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (iYear + \"\").substr(4 - RegExp.$1.length));\n\t\t\t\t\t\t\tif (/(m+:)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (\"00\" + iMinutes + \":\").substr((\"00\" + iMinutes +\n\t\t\t\t\t\t\t\t\":\").length - RegExp.$1.length));\n\t\t\t\t\t\t\tif (/(M+)/i.test(oValue)) {\n\t\t\t\t\t\t\t\tvar dsWidth = (\"\" + iMonth).length > RegExp.$1.length ? (\"\" + iMonth).length : RegExp.$1.length;\n\t\t\t\t\t\t\t\toValue = oValue.replace(RegExp.$1, (\"00\" + iMonth).substr((\"00\" + iMonth).length - dsWidth));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (/(d+)/i.test(oValue)) {\n\t\t\t\t\t\t\t\tvar dsWidth = (\"\" + iDate).length > RegExp.$1.length ? (\"\" + iDate).length : RegExp.$1.length;\n\t\t\t\t\t\t\t\toValue = oValue.replace(RegExp.$1, (\"00\" + iDate).substr((\"00\" + iDate).length - dsWidth));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (/(H+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (\"00\" + iHour).substr((\"00\" + iHour).length -\n\t\t\t\t\t\t\t\tRegExp.$1.length));\n\t\t\t\t\t\t\tif (/(n+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (\"00\" + iMinutes).substr((\"00\" + iMinutes).length -\n\t\t\t\t\t\t\t\tRegExp.$1.length));\n\t\t\t\t\t\t\tif (/(s+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (\"00\" + iSecond).substr((\"00\" + iSecond).length -\n\t\t\t\t\t\t\t\tRegExp.$1.length));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (CLODOP.On_Return) {\n\t\t\t\t\t\tvar selfFunc = CLODOP.On_Return;\n\t\t\t\t\t\tCLODOP.On_Return(0, oValue);\n\t\t\t\t\t\tif (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n\t\t\t\t\t}\n\t\t\t\t\treturn oValue;\n\t\t\t\t} else\n\t\t\t\tif (this.blIslocal || oType.indexOf(\"FILE:\") < 0) {\n\t\t\t\t\tthis.PageData[\"format_type\"] = oType;\n\t\t\t\t\tthis.PageData[\"format_value\"] = oValue;\n\t\t\t\t\tif (this.DoPostDatas(\"format\") == true) {\n\t\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t\t}\n\t\t\t\t} else console.info(this.altMessageNoReadWriteFile)\n\t\t\t}\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tSET_PRINT_PAPER: function(Top, Left, Width, Height, strPrintTask) {\n\t\t\treturn this.PRINT_INITA(Top, Left, Width, Height, strPrintTask);\n\t\t},\n\t\tPRINT_INIT: function(strPrintTask) {\n\t\t\treturn this.PRINT_INITA(null, null, null, null, strPrintTask);\n\t\t},\n\t\tPRINT_INITA: function(Top, Left, Width, Height, strPrintTask) {\n\t\t\tif (Top === undefined || Top === null) Top = \"\";\n\t\t\tif (Left === undefined || Left === null) Left = \"\";\n\t\t\tif (Width === undefined || Width === null) Width = \"\";\n\t\t\tif (Height === undefined || Height === null) Height = \"\";\n\t\t\tif (strPrintTask === undefined || strPrintTask === null) strPrintTask = \"\";\n\t\t\tthis.NoClearAfterPrint = false;\n\t\t\tthis.DoInit();\n\t\t\tthis.PageData[\"top\"] = Top;\n\t\t\tthis.PageData[\"left\"] = Left;\n\t\t\tthis.PageData[\"width\"] = Width;\n\t\t\tthis.PageData[\"height\"] = Height;\n\t\t\tthis.PageData[\"printtask\"] = strPrintTask;\n\t\t\treturn true;\n\t\t},\n\t\tSET_PRINT_MODE: function(strModeType, ModeValue) {\n\t\t\tif (strModeType === undefined || strModeType === null) strModeType = \"\";\n\t\t\tif (ModeValue === undefined || ModeValue === null) ModeValue = \"\";\n\t\t\tif (strModeType === \"\") return false;\n\t\t\tstrModeType = strModeType.toLowerCase();\n\t\t\tthis.PageData[strModeType] = ModeValue;\n\t\t\tif (strModeType == \"noclear_after_print\") this.NoClearAfterPrint = ModeValue;\n\t\t\tif (strModeType.indexOf(\"window_def\") > -1 || strModeType.indexOf(\"control_printer\") > -1) {\n\t\t\t\tvar tResult = null;\n\t\t\t\tif (this.DoPostDatas(\"onlysetprint\") == true) {\n\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t\tthis.DoInit();\n\t\t\t\tthis.blWorking = false;\n\t\t\t\treturn tResult;\n\t\t\t}\n\t\t},\n\t\tADD_PRINT_TEXT: function(top, left, width, height, strText) {\n\t\t\treturn this.AddItemArray(2, top, left, width, height, strText);\n\t\t},\n\t\tADD_PRINT_TEXTA: function(itemName, top, left, width, height, strText) {\n\t\t\treturn this.AddItemArray(2, top, left, width, height, strText, itemName);\n\t\t},\n\t\tADD_PRINT_HTM: function(top, left, width, height, strHTML) {\n\t\t\treturn this.AddItemArray(4, top, left, width, height, strHTML);\n\t\t},\n\t\tADD_PRINT_HTML: function(top, left, width, height, strHTML) {\n\t\t\treturn this.AddItemArray(1, top, left, width, height, strHTML);\n\t\t},\n\t\tADD_PRINT_HTMLA: function(itemName, top, left, width, height, strHTML) {\n\t\t\treturn this.AddItemArray(1, top, left, width, height, strHTML, itemName);\n\t\t},\n\t\tADD_PRINT_BARCODE: function(top, left, width, height, BarType, BarValue) {\n\t\t\treturn this.AddItemArray(9, top, left, width, height, BarValue, null, null, null, null, null, null, BarType);\n\t\t},\n\t\tADD_PRINT_BARCODEA: function(ItemName, top, left, width, height, BarType, BarValue) {\n\t\t\treturn this.AddItemArray(9, top, left, width, height, BarValue, ItemName, null, null, null, null, null, BarType);\n\t\t},\n\t\tADD_PRINT_RECTA: function(top, left, width, height, intPenStyle, intPenWidth, intColor) {\n\t\t\treturn this.AddItemArray(3, top, left, width, height, null, null, 2, intPenStyle, intPenWidth, intColor, null);\n\t\t},\n\t\tADD_PRINT_RECT: function(top, left, width, height, intPenStyle, intPenWidth) {\n\t\t\treturn this.AddItemArray(3, top, left, width, height, null, null, 2, intPenStyle, intPenWidth, null, null);\n\t\t},\n\t\tADD_PRINT_ELLIPSEA: function(top, left, width, height, intPenStyle, intPenWidth, intColor) {\n\t\t\treturn this.AddItemArray(3, top, left, width, height, null, null, 3, intPenStyle, intPenWidth, intColor, null);\n\t\t},\n\t\tADD_PRINT_ELLIPSE: function(top, left, width, height, intPenStyle, intPenWidth) {\n\t\t\treturn this.AddItemArray(3, top, left, width, height, null, null, 3, intPenStyle, intPenWidth, null, null);\n\t\t},\n\t\tADD_PRINT_SHAPE: function(ShapeType, top, left, width, height, intPenStyle, intPenWidth, intColor) {\n\t\t\treturn this.AddItemArray(3, top, left, width, height, null, null, ShapeType, intPenStyle, intPenWidth, intColor,\n\t\t\t\tnull);\n\t\t},\n\t\tADD_PRINT_LINE: function(top1, left1, top2, left2, intPenStyle, intPenWidth) {\n\t\t\treturn this.AddItemArray(3, top1, left1, top2, left2, null, null, 0, intPenStyle, intPenWidth, null, \"1\");\n\t\t},\n\t\tADD_PRINT_DNLINE: function(Top, Left, Width, Height, intPenStyle, intPenWidth) {\n\t\t\treturn this.AddItemArray(3, Top, Left, Width, Height, null, null, 1, intPenStyle, intPenWidth, null, null);\n\t\t},\n\t\tADD_PRINT_DNLINEA: function(Top, Left, Width, Height, intPenStyle, intPenWidth, intColor) {\n\t\t\treturn this.AddItemArray(3, Top, Left, Width, Height, null, null, 1, intPenStyle, intPenWidth, intColor, null);\n\t\t},\n\t\tADD_PRINT_UPLINE: function(Top, Left, Width, Height, intPenStyle, intPenWidth) {\n\t\t\treturn this.AddItemArray(3, Top, Left, Width, Height, null, null, 0, intPenStyle, intPenWidth, null, null);\n\t\t},\n\t\tADD_PRINT_UPLINEA: function(Top, Left, Width, Height, intPenStyle, intPenWidth, intColor) {\n\t\t\treturn this.AddItemArray(3, Top, Left, Width, Height, null, null, 0, intPenStyle, intPenWidth, intColor, null);\n\t\t},\n\t\tADD_PRINT_TABLE: function(top, left, width, height, strHTML) {\n\t\t\treturn this.AddItemArray(6, top, left, width, height, strHTML);\n\t\t},\n\t\tADD_PRINT_TBURL: function(top, left, width, height, strURL) {\n\t\t\treturn this.AddItemArray(7, top, left, width, height, strURL);\n\t\t},\n\t\tADD_PRINT_URL: function(top, left, width, height, strURL) {\n\t\t\treturn this.AddItemArray(5, top, left, width, height, strURL);\n\t\t},\n\t\tADD_PRINT_IMAGE: function(top, left, width, height, strHTML) {\n\t\t\treturn this.AddItemArray(8, top, left, width, height, strHTML);\n\t\t},\n\t\tADD_PRINT_CHART: function(top, left, width, height, strChartTypess, strHTML) {\n\t\t\treturn this.AddItemArray(10, top, left, width, height, strHTML, null, null, null, null, null, null, null,\n\t\t\t\tstrChartTypess);\n\t\t},\n\n\t\tSET_PRINT_PROPERTY: function(ItemNO, intPageType, intHorzOrient, intVertOrient) {\n\t\t\tthis.SET_PRINT_STYLEA(ItemNO, \"ItemType\", intPageType);\n\t\t\tthis.SET_PRINT_STYLEA(ItemNO, \"HOrient\", intHorzOrient);\n\t\t\tthis.SET_PRINT_STYLEA(ItemNO, \"VOrient\", intVertOrient);\n\t\t},\n\t\tSET_PRINT_PROPERTYA: function(ItemName, intPageType, intHorzOrient, intVertOrient) {\n\t\t\tthis.SET_PRINT_PROPERTY(ItemName, intPageType, intHorzOrient, intVertOrient);\n\t\t},\n\t\tSET_PRINT_STYLE: function(strStyleName, StyleValue) {\n\t\t\tif (strStyleName === undefined || strStyleName === null) strStyleName = \"\";\n\t\t\tif (StyleValue === undefined || StyleValue === null) StyleValue = \"\";\n\t\t\tif (strStyleName === \"\") return false;\n\t\t\tstrStyleName = strStyleName.toLowerCase();\n\t\t\tthis.defStyleJson[strStyleName] = StyleValue;\n\t\t},\n\t\tSET_PRINT_STYLEA: function(ItemNo, strKey, Value) {\n\t\t\tif (ItemNo === undefined || ItemNo === null) ItemNo = \"\";\n\t\t\tif (strKey === undefined || strKey === null) strKey = \"\";\n\t\t\tif (Value === undefined || Value === null) Value = \"\";\n\t\t\tif (ItemNo === \"\" || strKey === \"\") return false;\n\t\t\tif (this.ItemDatas[\"count\"] <= 0) {\n\t\t\t\tif (this.PageData[\"add_print_program_data\"] !== undefined) {\n\t\t\t\t\tthis.ItemCNameStyles[strKey.toLowerCase() + \"-\" + ItemNo] = Value;\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tstrKey = strKey.toLowerCase();\n\t\t\tif (strKey == \"type\") return false;\n\t\t\tvar blResult = false;\n\t\t\tif (ItemNo == 0) {\n\t\t\t\tItemNo = this.ItemDatas[\"count\"];\n\t\t\t}\n\t\t\tfor (var vItemNO in this.ItemDatas) {\n\t\t\t\tvar ItemName = this.ItemDatas[vItemNO][\"itemname\"];\n\t\t\t\tif ((ItemNo == vItemNO) || (ItemNo == ItemName) || ((typeof ItemNo === \"string\") && (typeof ItemName ===\n\t\t\t\t\t\t\"string\") && (ItemNo.toUpperCase() == ItemName.toUpperCase()))) {\n\t\t\t\t\tthis.ItemDatas[vItemNO][strKey] = Value;\n\t\t\t\t\tblResult = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (blResult) return true;\n\t\t\treturn false;\n\t\t},\n\t\tSET_PRINT_TEXT_STYLE: function(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment) {\n\t\t\tthis.SET_PRINT_STYLEA(ItemNO, \"fontname\", strFontName);\n\t\t\tthis.SET_PRINT_STYLEA(ItemNO, \"fontsize\", intSize);\n\t\t\tthis.SET_PRINT_STYLEA(ItemNO, \"bold\", intBold);\n\t\t\tthis.SET_PRINT_STYLEA(ItemNO, \"italic\", intItalic);\n\t\t\tthis.SET_PRINT_STYLEA(ItemNO, \"underline\", intUnderline);\n\t\t\tthis.SET_PRINT_STYLEA(ItemNO, \"alignment\", intAlignment);\n\t\t},\n\t\tSET_PRINT_TEXT_STYLEA: function(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color) {\n\t\t\tthis.SET_PRINT_TEXT_STYLE(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment);\n\t\t\tthis.SET_PRINT_STYLEA(ItemNO, \"fontcolor\", Color);\n\t\t},\n\t\tSET_PRINT_TEXT_STYLEB: function(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color) {\n\t\t\tthis.SET_PRINT_TEXT_STYLEA(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color);\n\t\t},\n\t\tNEWPAGE: function() {\n\t\t\tthis.NewPage();\n\t\t},\n\t\tNewPage: function() {\n\t\t\tvar blSomeNormal = false;\n\t\t\tvar noItemType;\n\t\t\tfor (var vItemNO in this.ItemDatas) {\n\t\t\t\tif (vItemNO == \"count\") noItemType = false;\n\t\t\t\telse noItemType = true;\n\t\t\t\tfor (var vItemxx in this.ItemDatas[vItemNO]) {\n\t\t\t\t\tif (vItemxx == \"itemtype\") {\n\t\t\t\t\t\tnoItemType = false;\n\t\t\t\t\t\tif ((this.ItemDatas[vItemNO][vItemxx] == 0) || (this.ItemDatas[vItemNO][vItemxx] == 4)) {\n\t\t\t\t\t\t\tblSomeNormal = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (noItemType) blSomeNormal = true;\n\t\t\t\tif (blSomeNormal) break;\n\t\t\t}\n\t\t\tif (blSomeNormal) this.defStyleJson[\"beginpage\"] = this.defStyleJson[\"beginpage\"] + 1;\n\t\t},\n\t\tNEWPAGEA: function() {\n\t\t\tthis.NewPageA();\n\t\t},\n\t\tNewPageA: function() {\n\t\t\tvar blSomeNormal = false;\n\t\t\tvar noItemType;\n\t\t\tfor (var vItemNO in this.ItemDatas) {\n\t\t\t\tif (vItemNO == \"count\") noItemType = false;\n\t\t\t\telse noItemType = true;\n\t\t\t\tfor (var vItemxx in this.ItemDatas[vItemNO]) {\n\t\t\t\t\tif (vItemxx == \"itemtype\") {\n\t\t\t\t\t\tnoItemType = false;\n\t\t\t\t\t\tif ((this.ItemDatas[vItemNO][vItemxx] == 0) || (this.ItemDatas[vItemNO][vItemxx] == 4)) {\n\t\t\t\t\t\t\tblSomeNormal = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (noItemType) blSomeNormal = true;\n\t\t\t\tif (blSomeNormal) break;\n\t\t\t}\n\t\t\tif (blSomeNormal) this.defStyleJson[\"beginpagea\"] = this.defStyleJson[\"beginpagea\"] + 1;\n\t\t},\n\t\tPREVIEW: function(sView, iW, iH) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif ((!sView) && (this.blIslocal)) {\n\t\t\t\tif (this.DoPostDatas(\"preview\") == true) {\n\t\t\t\t\tthis.Result = null;\n\t\t\t\t\tthis.GetLastResult(true);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (this.DoPostDatas(\"cpreview\") == true) {\n\t\t\t\t\tthis.DoCPreview(sView, iW, iH);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tPRINT: function(sView, iW, iH) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (this.DoPostDatas(\"print\") == true)\n\t\t\t\ttResult = this.GetTaskID();\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tGET_PRINTER_COUNT: function() {\n\t\t\tif (this.Printers === undefined) return 0;\n\t\t\telse {\n\t\t\t\treturn this.Printers[\"list\"].length;\n\t\t\t}\n\t\t},\n\t\tGET_PRINTER_NAME: function(intNO) {\n\t\t\tif (this.Printers === undefined) return \"\";\n\t\t\telse {\n\t\t\t\tif (typeof intNO == \"string\" && intNO.indexOf(\":\") > -1) {\n\t\t\t\t\tvar strPPname = intNO.slice(intNO.indexOf(\":\") + 1);\n\t\t\t\t\tintNO = intNO.slice(0, intNO.indexOf(\":\"));\n\t\t\t\t\tif (intNO == -1)\n\t\t\t\t\t\treturn this.Printers[\"list\"][this.Printers[\"default\"]][strPPname];\n\t\t\t\t\telse\n\t\t\t\t\t\treturn this.Printers[\"list\"][intNO][strPPname];\n\t\t\t\t} else {\n\t\t\t\t\tif (intNO == -1)\n\t\t\t\t\t\treturn this.Printers[\"list\"][this.Printers[\"default\"]].name;\n\t\t\t\t\telse\n\t\t\t\t\tif (intNO >= 0 && intNO < this.Printers[\"list\"].length)\n\t\t\t\t\t\treturn this.Printers[\"list\"][intNO].name;\n\t\t\t\t\telse return \"Printer NO. overflow\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tGET_PAGESIZES_LIST: function(PNameIndx, Split, ListName, NameOrID) {\n\t\t\tif (!ListName) ListName = \"pagelist\";\n\t\t\tif (!NameOrID) NameOrID = \"name\";\n\t\t\tif (this.Printers === undefined) return \"\";\n\t\t\telse {\n\t\t\t\tif (PNameIndx == -1) PNameIndx = this.Printers[\"list\"][this.Printers[\"default\"]].name;\n\t\t\t\tfor (var intNO in this.Printers[\"list\"]) {\n\t\t\t\t\tif (PNameIndx == intNO || PNameIndx == this.Printers[\"list\"][intNO].name) {\n\t\t\t\t\t\tvar strList = \"\";\n\t\t\t\t\t\tfor (var iPNO in this.Printers[\"list\"][intNO][ListName]) {\n\t\t\t\t\t\t\tif ((NameOrID == \"id\") && this.Printers[\"list\"][intNO][ListName][iPNO].id) {\n\t\t\t\t\t\t\t\tif (strList === \"\") strList = this.Printers[\"list\"][intNO][ListName][iPNO].id;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tstrList = strList + Split + this.Printers[\"list\"][intNO][ListName][iPNO].id;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (strList === \"\") strList = this.Printers[\"list\"][intNO][ListName][iPNO].name;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tstrList = strList + Split + this.Printers[\"list\"][intNO][ListName][iPNO].name;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn strList;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t},\n\t\tSET_PRINTER_INDEX: function(strName, strKeyModeName) {\n\t\t\tlet printIndex = uni.getStorageSync('printIndex');\n\t\t\tif (printIndex === false) {\n\t\t\t\tthis.PageData.printerindex = 1\n\t\t\t} else{\n\t\t\t\tthis.PageData.printerindex = printIndex\n\t\t\t}\n\t\t\treturn true;\n\t\t\tif (this.Printers === undefined) return false;\n\t\t\telse {\n\t\t\t\tif (!strKeyModeName) strKeyModeName = \"printerindex\";\n\t\t\t\tstrName = strName + \"\";\n\t\t\t\tstrName = strName.replace(/^\\s+|\\s+$/g, \"\");\n\t\t\t\tvar iPos = strName.indexOf(\",\");\n\t\t\t\tvar strNameOrNO = strName;\n\t\t\t\tif (iPos > -1) strNameOrNO = strName.slice(0, iPos);\n\t\t\t\tif (strNameOrNO == \"-1\") {\n\t\t\t\t\tthis.PageData[strKeyModeName] = this.Printers[\"default\"];\n\t\t\t\t\tif (iPos > -1) this.PageData[\"printersubid\"] = strName.slice(iPos + 1);\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\tfor (var vNO in this.Printers[\"list\"]) {\n\t\t\t\t\t\tvar strPrinterName = this.Printers[\"list\"][vNO].name;\n\t\t\t\t\t\tif (!strPrinterName) continue;\n\t\t\t\t\t\tif ((strPrinterName.replace(/\\\\/g, \"\") == strNameOrNO.replace(/\\\\/g, \"\")) || (vNO == strNameOrNO)) {\n\t\t\t\t\t\t\tthis.PageData[strKeyModeName] = vNO;\n\t\t\t\t\t\t\tif (iPos > -1) this.PageData[\"printersubid\"] = strName.slice(iPos + 1);\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tSET_PRINTER_INDEXA: function(strName) {\n\t\t\treturn this.SET_PRINTER_INDEX(strName, \"printerindexa\");\n\t\t},\n\t\tPRINT_DESIGN: function() {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (this.blIslocal) {\n\t\t\t\tif (this.DoPostDatas(\"print_design\") == true) {\n\t\t\t\t\tthis.Result = null;\n\t\t\t\t\tthis.GetLastResult(true);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t} else console.info(this.altMessageNoPrintDesign);\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tPRINT_SETUP: function() {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (this.blIslocal) {\n\t\t\t\tif (this.DoPostDatas(\"print_setup\") == true) {\n\t\t\t\t\tthis.Result = null;\n\t\t\t\t\tthis.GetLastResult(true);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t} else console.info(this.altMessageNoPrintSetup);\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tSET_PRINT_PAGESIZE: function(intOrient, PageWidth, PageHeight, strPageName) {\n\t\t\tif (intOrient !== undefined && intOrient !== null) this.PageData[\"orient\"] = intOrient;\n\t\t\tif (PageWidth !== undefined && PageWidth !== null) this.PageData[\"pagewidth\"] = PageWidth;\n\t\t\tif (PageHeight !== undefined && PageHeight !== null) this.PageData[\"pageheight\"] = PageHeight;\n\t\t\tif (strPageName !== undefined && strPageName !== null) this.PageData[\"pagename\"] = strPageName;\n\t\t},\n\t\tSET_PRINT_COPIES: function(intCopies) {\n\t\t\tif (intCopies !== undefined && intCopies !== null) {\n\t\t\t\tthis.PageData[\"printcopies\"] = intCopies;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\tSELECT_PRINTER: function(blPrint) {\n\t\t\tthis.SelectBox.create(388, 240, !blPrint);\n\t\t\treturn true;\n\t\t},\n\t\tPRINTA: function(blPrintB, sView) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (!sView && this.blIslocal) {\n\t\t\t\tthis.Result = null;\n\t\t\t\tif (blPrintB) {\n\t\t\t\t\tif (this.DoPostDatas(\"printb\") == true) {\n\t\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (this.DoPostDatas(\"printa\") == true) {\n\t\t\t\t\t\tthis.GetLastResult(true);\n\t\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.DoInit();\n\t\t\t\tthis.blWorking = false;\n\t\t\t} else {\n\t\t\t\tthis.SELECT_PRINTER(true);\n\t\t\t}\n\t\t\treturn tResult;\n\t\t},\n\t\tPRINTAOK: function(iPrintIndex, iPrintCopies, iStartNO, iEndNO, onlySelect) {\n\t\t\tthis.SET_PRINTER_INDEX(iPrintIndex);\n\t\t\tthis.SET_PRINT_COPIES(iPrintCopies);\n\t\t\tif (iStartNO !== undefined && iStartNO !== 0) this.SET_PRINT_MODE(\"PRINT_START_PAGE\", iStartNO);\n\t\t\tif (iEndNO !== undefined && iEndNO !== 0) this.SET_PRINT_MODE(\"PRINT_END_PAGE\", iEndNO);\n\t\t\tif (!onlySelect) this.PRINT();\n\t\t\telse {\n\t\t\t\tthis.blTmpSelectedIndex = iPrintIndex;\n\t\t\t\tif (CLODOP.On_Return) {\n\t\t\t\t\tvar selfFunc = CLODOP.On_Return;\n\t\t\t\t\tCLODOP.On_Return(0, iPrintIndex);\n\t\t\t\t\tif (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tSET_LICENSES: function(strCompanyName, strLicense, strLicenseA, strLicenseB) {\n\t\t\tif ((strCompanyName == 'THIRD LICENSE') && (strLicense == \"\")) {\n\t\t\t\tif (strLicenseA && strLicenseA !== \"\") this.PageDataEx[\"licensec\"] = strLicenseA;\n\t\t\t\tif (strLicenseB && strLicenseB !== \"\") this.PageDataEx[\"licensed\"] = strLicenseB;\n\t\t\t} else if ((strCompanyName == 'LICENSE TETCODE') && (strLicense == \"\") && (strLicenseB == \"\")) {\n\t\t\t\tif (strLicenseA && strLicenseA !== \"\") this.PageDataEx[\"Licensetetcode\"] = strLicenseA;\n\t\t\t} else {\n\t\t\t\tif (strCompanyName && strCompanyName !== \"\") this.PageDataEx[\"companyname\"] = strCompanyName;\n\t\t\t\tif (strLicense && strLicense !== \"\") this.PageDataEx[\"license\"] = strLicense;\n\t\t\t\tif (strLicenseA && strLicenseA !== \"\") this.PageDataEx[\"licensea\"] = strLicenseA;\n\t\t\t\tif (strLicenseB && strLicenseB !== \"\") this.PageDataEx[\"licenseb\"] = strLicenseB;\n\t\t\t}\n\t\t},\n\t\tPRINTB: function() {\n\t\t\treturn this.PRINTA(true);\n\t\t},\n\t\tPREVIEWA: function() {\n\t\t\treturn this.PREVIEW();\n\t\t},\n\t\tPREVIEWB: function() {\n\t\t\treturn this.PREVIEW();\n\t\t},\n\t\tADD_PRINT_SETUP_BKIMG: function(strContent) {\n\t\t\tif (strContent !== undefined && strContent !== null) {\n\t\t\t\tthis.PageData[\"setup_bkimg\"] = strContent;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\tSET_PREVIEW_WINDOW: function(intDispMode, intToolMode, blDirectPrint, oWidth, oHeight, strPButtonCaptoin) {\n\t\t\tif (intDispMode !== undefined && intDispMode !== null) this.PageData[\"pvw_dispmode\"] = intDispMode;\n\t\t\tif (intToolMode !== undefined && intToolMode !== null) this.PageData[\"pvw_toolmode\"] = intToolMode;\n\t\t\tif (blDirectPrint !== undefined && blDirectPrint !== null) this.PageData[\"pvw_directprint\"] = blDirectPrint;\n\t\t\tif (oWidth !== undefined && oWidth !== null) this.PageData[\"pvw_width\"] = oWidth;\n\t\t\tif (oHeight !== undefined && oHeight !== null) this.PageData[\"pvw_height\"] = oHeight;\n\t\t\tif (strPButtonCaptoin !== undefined && strPButtonCaptoin !== null) this.PageData[\"pvw_puttoncaptoin\"] =\n\t\t\t\tstrPButtonCaptoin;\n\t\t},\n\t\tSET_PREVIEW_MODE: function(ModeValue) {\n\t\t\tif (ModeValue !== undefined) this.PageData[\"pvw_preview_mode\"] = ModeValue;\n\t\t},\n\t\tSET_SHOW_MODE: function(strModeType, ModeValue) {\n\t\t\tif (strModeType === undefined || strModeType === null) strModeType = \"\";\n\t\t\tif (ModeValue === undefined || ModeValue === null) ModeValue = \"\";\n\t\t\tif (strModeType === \"\") return false;\n\t\t\tstrModeType = strModeType.toLowerCase();\n\t\t\tthis.PageData['shwmod_' + strModeType] = ModeValue;\n\t\t},\n\t\tSAVE_TO_FILE: function(strFileName) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (this.blIslocal) {\n\t\t\t\tif (strFileName) {\n\t\t\t\t\tthis.PageData[\"stf_file_name\"] = strFileName;\n\t\t\t\t\tif (this.DoPostDatas(\"savetofile\") == true) {\n\t\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else console.info(this.altMessageNoWriteFile);\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tSET_SAVE_MODE: function(strModeType, ModeValue) {\n\t\t\tif (strModeType === undefined || strModeType === null) strModeType = \"\";\n\t\t\tif (ModeValue === undefined || ModeValue === null) ModeValue = \"\";\n\t\t\tif (strModeType === \"\") return false;\n\t\t\tstrModeType = strModeType.toLowerCase();\n\t\t\tthis.PageData['stfmod_' + strModeType] = ModeValue;\n\t\t},\n\t\tSEND_PRINT_RAWDATA: function(strRawData) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (strRawData !== undefined) {\n\t\t\t\tthis.PageData[\"raw_print_data\"] = strRawData;\n\t\t\t\tif (this.DoPostDatas(\"sendrawdata\") == true) {\n\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tWRITE_FILE_TEXT: function(WriteMode, strFileName, strText) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (this.blIslocal) {\n\t\t\t\tif (strFileName !== undefined && strText !== undefined) {\n\t\t\t\t\tthis.PageData[\"write_file_mode\"] = WriteMode;\n\t\t\t\t\tthis.PageData[\"write_file_name\"] = strFileName;\n\t\t\t\t\tthis.PageData[\"write_file_text\"] = strText;\n\t\t\t\t\tif (this.DoPostDatas(\"writefiletext\") == true) {\n\t\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else console.info(this.altMessageNoWriteFile);\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tGET_DIALOG_VALUE: function(oType, oPreValue) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (oType !== undefined && oPreValue !== undefined) {\n\t\t\t\tif (this.blIslocal) {\n\t\t\t\t\tthis.PageData[\"dialog_type\"] = oType;\n\t\t\t\t\tthis.PageData[\"dialog_value\"] = oPreValue;\n\t\t\t\t\tif (this.DoPostDatas(\"dialog\") == true) {\n\t\t\t\t\t\tthis.GetLastResult(true);\n\t\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t\t}\n\t\t\t\t} else console.info(this.altMessageNoReadWriteFile);\n\t\t\t}\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tWRITE_PORT_DATA: function(strPortName, strData) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (strPortName !== undefined && strData !== undefined) {\n\t\t\t\tthis.PageData[\"write_port_name\"] = strPortName;\n\t\t\t\tthis.PageData[\"write_port_data\"] = strData;\n\t\t\t\tif (this.DoPostDatas(\"writeportdata\") == true) {\n\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tREAD_PORT_DATA: function(strPortName) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (strPortName !== undefined) {\n\t\t\t\tthis.PageData[\"read_port_name\"] = strPortName;\n\t\t\t\tif (this.DoPostDatas(\"readportdata\") == true) {\n\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tGET_SYSTEM_INFO: function(InfoType) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (InfoType !== undefined) {\n\t\t\t\tthis.PageData[\"system_info_type\"] = InfoType;\n\t\t\t\tif (this.DoPostDatas(\"getsysteminfo\") == true) {\n\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tGET_FILE_TEXT: function(strFileName) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (this.blIslocal) {\n\t\t\t\tif (strFileName !== undefined) {\n\t\t\t\t\tthis.PageData[\"get_file_name\"] = strFileName;\n\t\t\t\t\tif (this.DoPostDatas(\"getfiletext\") == true) {\n\t\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else console.info(this.altMessageNoReadFile);\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tIS_FILE_EXIST: function(strFileName) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (this.blIslocal) {\n\t\t\t\tif (strFileName !== undefined) {\n\t\t\t\t\tthis.PageData[\"file_exist_name\"] = strFileName;\n\t\t\t\t\tif (this.DoPostDatas(\"isfileexist\") == true) {\n\t\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else console.info(this.altMessageNoReadFile);\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tGET_FILE_TIME: function(strFileName) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (this.blIslocal) {\n\t\t\t\tif (strFileName !== undefined) {\n\t\t\t\t\tthis.PageData[\"file_time_name\"] = strFileName;\n\t\t\t\t\tif (this.DoPostDatas(\"getfiletime\") == true) {\n\t\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else console.info(this.altMessageNoReadFile);\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tGET_PRINT_INIFFNAME: function(strPrintTaskName) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (this.blIslocal) {\n\t\t\t\tif (strPrintTaskName !== undefined) {\n\t\t\t\t\tthis.PageData[\"iniff_task_name\"] = strPrintTaskName;\n\t\t\t\t\tif (this.DoPostDatas(\"getiniffname\") == true) {\n\t\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else console.info(this.altMessageNoReadFile);\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tGET_VALUE: function(ValueType, ValueIndex) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (ValueType !== undefined && ValueIndex !== undefined) {\n\t\t\t\tthis.PageData[\"get_value_type\"] = ValueType;\n\t\t\t\tthis.PageData[\"get_value_index\"] = ValueIndex;\n\t\t\t\tif (this.DoPostDatas(\"dogetvalue\") == true) {\n\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tADD_PRINT_DATA: function(DataType, oValue) {\n\t\t\tif (DataType !== undefined && oValue !== null) {\n\t\t\t\tif (DataType.toLowerCase().indexOf(\"programdata\") > -1) {\n\t\t\t\t\tthis.PageData[\"add_print_program_data\"] = oValue;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tSHOW_CHART: function() {},\n\t\tDO_ACTION: function(strActName, strActValue) {\n\t\t\tif (this.blWorking) {\n\t\t\t\tconsole.info(this.altMessageBusy);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tvar tResult = null;\n\t\t\tif (strActName !== undefined && strActValue !== undefined) {\n\t\t\t\tthis.PageData[\"do_action_name\"] = strActName;\n\t\t\t\tthis.PageData[\"do_action_value\"] = strActValue;\n\t\t\t\tif (this.DoPostDatas(\"doaction\") == true) {\n\t\t\t\t\tthis.GetLastResult(false);\n\t\t\t\t\ttResult = this.GetTaskID();\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.DoInit();\n\t\t\tthis.blWorking = false;\n\t\t\treturn tResult;\n\t\t},\n\t\tCreate_Printer_List: function(oElement, blNoDetailForAO) {\n\t\t\twhile (oElement.childNodes.length > 0) {\n\t\t\t\tvar children = oElement.childNodes;\n\t\t\t\tfor (var i = 0; i < children.length; i++)\n\t\t\t\t\toElement.removeChild(children[i]);\n\t\t\t};\n\t\t\tvar iCount = this.GET_PRINTER_COUNT();\n\t\t\tvar iIndex = 0;\n\t\t\tfor (var i = 0; i < iCount; i++) {\n\t\t\t\tvar option = document.createElement('option');\n\t\t\t\toption.innerHTML = this.GET_PRINTER_NAME(i);\n\t\t\t\toption.value = iIndex;\n\t\t\t\toElement.appendChild(option);\n\t\t\t\tiIndex++;\n\t\t\t\tif (this.VERSION_EXT) {\n\t\t\t\t\tif (this.Printers[\"list\"][i][\"subdevlist\"].length > 0) {\n\t\t\t\t\t\tif (blNoDetailForAO) option.innerHTML = option.innerHTML + ',..';\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar strDrivename = option.innerHTML;\n\t\t\t\t\t\t\tfor (var j = 0; j < this.Printers[\"list\"][i][\"subdevlist\"].length; j++) {\n\t\t\t\t\t\t\t\tvar strDevID = this.Printers[\"list\"][i][\"subdevlist\"][j].id;\n\t\t\t\t\t\t\t\tvar strDevName = this.Printers[\"list\"][i][\"subdevlist\"][j].name;\n\t\t\t\t\t\t\t\tif (j == 0) {\n\t\t\t\t\t\t\t\t\toption.innerHTML = strDrivename + ',' + strDevName;\n\t\t\t\t\t\t\t\t\toption.value = strDrivename + ',' + strDevID + ';' + strDevName;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\toption = document.createElement('option');\n\t\t\t\t\t\t\t\t\toption.innerHTML = strDrivename + ',' + strDevName;\n\t\t\t\t\t\t\t\t\toption.value = strDrivename + ',' + strDevID + ';' + strDevName;\n\t\t\t\t\t\t\t\t\toElement.appendChild(option);\n\t\t\t\t\t\t\t\t\tiIndex++;\n\t\t\t\t\t\t\t\t\tif (iIndex >= 100) return;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tCreate_PageSize_List: function(oElement, printIndex) {\n\t\t\twhile (oElement.childNodes.length > 0) {\n\t\t\t\tvar children = oElement.childNodes;\n\t\t\t\tfor (var i = 0; i < children.length; i++)\n\t\t\t\t\toElement.removeChild(children[i]);\n\t\t\t};\n\t\t\tvar strPageSizeList = CLODOP.GET_PAGESIZES_LIST(printIndex, \"\\n\");\n\t\t\tvar Options = new Array();\n\t\t\tOptions = strPageSizeList.split(\"\\n\");\n\t\t\tfor (var i in Options) {\n\t\t\t\tvar option = document.createElement('option');\n\t\t\t\toption.innerHTML = Options[i];\n\t\t\t\toption.value = Options[i];\n\t\t\t\toElement.appendChild(option);\n\t\t\t}\n\t\t},\n\t\tSET_BRIDGE_INDEX: function(strValue) {\n\t\t\tif (this.Printers === undefined) return false;\n\t\t\telse {\n\t\t\t\tstrValue = (strValue + \"\").replace(/^\\s+|\\s+$/g, \"\");\n\t\t\t\tfor (var vNO in this.Printers[\"list\"]) {\n\t\t\t\t\tvar strDriverOrName = this.Printers[\"list\"][vNO].name;\n\t\t\t\t\tif (strDriverOrName == \"(AO)Client-Bridge Driver\") {\n\t\t\t\t\t\tthis.PageData[\"printerindex\"] = vNO;\n\t\t\t\t\t\tthis.PageData[\"printersubid\"] = strValue;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tGet_AOPrinters_List: function(DriverNameOrIndex, strListName, strSplit) {\n\t\t\tif (!strSplit) strSplit = \"\\n\";\n\t\t\tif (!strListName) strListName = \"name\";\n\t\t\treturn CLODOP.GET_PAGESIZES_LIST(DriverNameOrIndex, strSplit, \"subdevlist\", strListName);\n\t\t},\n\t\tGet_AOBridges_List: function(DriverNameOrIndex, strListName, strSplit) {\n\t\t\treturn CLODOP.Get_AOPrinters_List(DriverNameOrIndex, strListName, strSplit);\n\t\t},\n\t\tGet_AOBridge_List: function(strListName, strSplit) {\n\t\t\treturn CLODOP.Get_AOPrinters_List(\"(AO)Client-Bridge Driver\", strListName, strSplit);\n\t\t},\n\t\tGet_AOBridge_SubPrinters_List: function(BridgeNameOrIndex, strListName, strSplit, DriverNameOrIndex) {\n\t\t\tif (!DriverNameOrIndex) DriverNameOrIndex = \"(AO)Client-Bridge Driver\";\n\t\t\tif (!strSplit) strSplit = \"\\n\";\n\t\t\tif (!strListName) strListName = \"name\";\n\t\t\tfor (var iDrvNO in this.Printers[\"list\"]) {\n\t\t\t\tif (DriverNameOrIndex == iDrvNO || DriverNameOrIndex == this.Printers[\"list\"][iDrvNO].name) {\n\t\t\t\t\tfor (var iBdgNO in this.Printers[\"list\"][iDrvNO][\"subdevlist\"]) {\n\t\t\t\t\t\tvar BridgeID = this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].id;\n\t\t\t\t\t\tvar BridgeName = this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].name;\n\t\t\t\t\t\tif (BridgeNameOrIndex == iBdgNO || BridgeNameOrIndex == BridgeID + \";\" + BridgeName) {\n\t\t\t\t\t\t\tvar strList = \"\";\n\t\t\t\t\t\t\tfor (var iSsbPNO in this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"]) {\n\t\t\t\t\t\t\t\tif (iSsbPNO != \"0\") strList = strList + strSplit;\n\t\t\t\t\t\t\t\tif (strListName.toLowerCase() == \"id\") strList = strList + iSsbPNO;\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tstrList = strList + this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"][iSsbPNO].name;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn strList;\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\treturn \"\";\n\t\t},\n\t\tGet_AOBridge_SubPrinters_PageSize_List: function(BridgeNameOrIndex, SubPrinterNameOrIndex, strSplit,\n\t\t\tDriverNameOrIndex) {\n\t\t\tif (!DriverNameOrIndex) DriverNameOrIndex = \"(AO)Client-Bridge Driver\";\n\t\t\tif (!strSplit) strSplit = \"\\n\";\n\t\t\tfor (var iDrvNO in this.Printers[\"list\"]) {\n\t\t\t\tif (DriverNameOrIndex == iDrvNO || DriverNameOrIndex == this.Printers[\"list\"][iDrvNO].name) {\n\t\t\t\t\tfor (var iBdgNO in this.Printers[\"list\"][iDrvNO][\"subdevlist\"]) {\n\t\t\t\t\t\tvar BridgeID = this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].id;\n\t\t\t\t\t\tvar BridgeName = this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].name;\n\t\t\t\t\t\tif (BridgeNameOrIndex == iBdgNO || BridgeNameOrIndex == BridgeID + \";\" + BridgeName) {\n\t\t\t\t\t\t\tfor (var iSsbPNO in this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"]) {\n\t\t\t\t\t\t\t\tif (SubPrinterNameOrIndex == iSsbPNO || SubPrinterNameOrIndex == this.Printers[\"list\"][iDrvNO][\"subdevlist\"]\n\t\t\t\t\t\t\t\t\t[iBdgNO].ssbprinter[\"list\"][iSsbPNO].name) {\n\t\t\t\t\t\t\t\t\tvar strList = \"\";\n\t\t\t\t\t\t\t\t\tfor (var iPageSizeNO in this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"][iSsbPNO][\n\t\t\t\t\t\t\t\t\t\t\t\"pagelist\"\n\t\t\t\t\t\t\t\t\t\t]) {\n\t\t\t\t\t\t\t\t\t\tif (iPageSizeNO != \"0\") strList = strList + strSplit;\n\t\t\t\t\t\t\t\t\t\tstrList = strList + this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"][iSsbPNO][\n\t\t\t\t\t\t\t\t\t\t\t\"pagelist\"\n\t\t\t\t\t\t\t\t\t\t][iPageSizeNO].name;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn strList;\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn \"\";\n\t\t},\n\t\tAddItemArray: function(type, top, left, width, height, strContent, itemname, ShapeType, intPenStyle, intPenWidth,\n\t\t\tintColor, isLinePosition, BarType, strChartTypess) {\n\t\t\tif (top === undefined || left === undefined || width === undefined || height === undefined || strContent ===\n\t\t\t\tundefined) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar sCount = this.ItemDatas[\"count\"];\n\t\t\tsCount++;\n\t\t\tvar oneItem = {};\n\t\t\tfor (var vstyle in this.defStyleJson) {\n\t\t\t\toneItem[vstyle] = this.defStyleJson[vstyle];\n\t\t\t}\n\t\t\toneItem[\"type\"] = type;\n\t\t\toneItem[\"top\"] = top;\n\t\t\toneItem[\"left\"] = left;\n\t\t\toneItem[\"width\"] = width;\n\t\t\toneItem[\"height\"] = height;\n\t\t\tif (strContent != null) {\n\t\t\t\tif (typeof strContent === \"string\" && strContent.indexOf(this.DelimChar) > -1)\n\t\t\t\t\toneItem[\"content\"] = strContent.replace(new RegExp(this.DelimChar, 'g'), '');\n\t\t\t\telse\n\t\t\t\t\toneItem[\"content\"] = strContent;\n\t\t\t}\n\t\t\tif ((itemname !== undefined) && (itemname != null)) oneItem[\"itemname\"] = itemname + \"\";\n\t\t\tif ((ShapeType !== undefined) && (ShapeType != null)) oneItem[\"shapetype\"] = ShapeType;\n\t\t\tif ((intPenStyle !== undefined) && (intPenStyle != null)) oneItem[\"penstyle\"] = intPenStyle;\n\t\t\tif ((intPenWidth !== undefined) && (intPenWidth != null)) oneItem[\"penwidth\"] = intPenWidth;\n\t\t\tif ((intColor !== undefined) && (intColor != null)) oneItem[\"fontcolor\"] = intColor;\n\t\t\tif ((isLinePosition !== undefined) && (isLinePosition != null)) oneItem[\"lineposition\"] = \"1\";\n\t\t\tif ((BarType !== undefined) && (BarType != null)) oneItem[\"fontname\"] = BarType;\n\t\t\tif ((strChartTypess !== undefined) && (strChartTypess != null)) oneItem[\"charttypess\"] = strChartTypess;\n\n\t\t\toneItem[\"beginpage\"] = this.defStyleJson[\"beginpage\"];\n\t\t\toneItem[\"beginpagea\"] = this.defStyleJson[\"beginpagea\"];\n\t\t\tthis.ItemDatas[\"count\"] = sCount;\n\t\t\tthis.ItemDatas[sCount] = oneItem;\n\t\t\tthis.blNormalItemAdded = true;\n\t\t\treturn true;\n\t\t},\n\t\tRemoveIframes: function() {\n\n\t\t\tvar obody = document.body || document.getElementsByTagName(\"body\")[0] || document.documentElement;\n\n\t\t\ttry {\n\t\t\t\tfor (var i = 0; i < this.Iframes.length; i++) {\n\t\t\t\t\tvar now = (new Date()).getTime();\n\t\t\t\t\tif ((now - this.Iframes[i][\"time\"]) > this.timeThreshold * 60000) {\n\n\t\t\t\t\t\tobody.removeChild(this.Iframes[i][\"iframe\"]);\n\n\t\t\t\t\t\tthis.Iframes.splice(i, 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {};\n\t\t},\n\t\tAddInputElement: function(odocument, oform, name, value) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tvar oinput = odocument.createElement(\"input\");\n\t\t\t\toinput.name = name;\n\t\t\t\toinput.type = \"hidden\";\n\t\t\t\toinput.value = value;\n\t\t\t\toform.appendChild(oinput);\n\t\t\t}\n\t\t},\n\t\tcreatePostDataString: function(afterPostAction) {\n\t\t\tvar strData = \"act=\" + afterPostAction + this.DelimChar;\n\t\t\tstrData = strData + \"browseurl=\" + window.location.href + this.DelimChar;\n\t\t\tfor (var vMode in this.PageDataEx) {\n\t\t\t\tstrData = strData + vMode + \"=\" + this.PageDataEx[vMode] + this.DelimChar;\n\t\t\t}\n\t\t\tvar PrintModeNamess = \"\";\n\t\t\tfor (var vMode in this.PageData) {\n\t\t\t\tstrData = strData + vMode + \"=\" + this.PageData[vMode] + this.DelimChar;\n\t\t\t\tif (vMode != \"top\" && vMode != \"left\" && vMode != \"width\" && vMode != \"height\" && vMode != \"printtask\" && vMode !=\n\t\t\t\t\t\"printerindex\" && vMode != \"printerindexa\" && vMode != \"printersubid\" && vMode != \"orient\" && vMode !=\n\t\t\t\t\t\"pagewidth\" && vMode != \"pageheight\" && vMode != \"pagename\" && vMode != \"printcopies\" && vMode != \"setup_bkimg\"\n\t\t\t\t)\n\t\t\t\t\tPrintModeNamess = PrintModeNamess + \";\" + vMode;\n\t\t\t}\n\t\t\tif (PrintModeNamess !== \"\")\n\t\t\t\tstrData = strData + \"printmodenames=\" + PrintModeNamess + this.DelimChar;\n\t\t\tvar StyleClassNamess = \"\";\n\t\t\tfor (var vClassStyle in this.ItemCNameStyles) {\n\t\t\t\tstrData = strData + vClassStyle + \"=\" + this.ItemCNameStyles[vClassStyle] + this.DelimChar;\n\t\t\t\tStyleClassNamess = StyleClassNamess + \";\" + vClassStyle;\n\t\t\t}\n\t\t\tif (StyleClassNamess !== \"\")\n\t\t\t\tstrData = strData + \"printstyleclassnames=\" + StyleClassNamess + this.DelimChar;\n\t\t\tstrData = strData + \"itemcount=\" + this.ItemDatas[\"count\"] + this.DelimChar;\n\t\t\tfor (var vItemNO in this.ItemDatas) {\n\t\t\t\tvar ItemStyless = \"\";\n\t\t\t\tfor (var vItemxx in this.ItemDatas[vItemNO]) {\n\t\t\t\t\tif (vItemxx != \"beginpage\" && vItemxx != \"beginpagea\" && vItemxx != \"type\" && vItemxx != \"top\" && vItemxx !=\n\t\t\t\t\t\t\"left\" && vItemxx != \"width\" && vItemxx != \"height\")\n\t\t\t\t\t\tItemStyless = ItemStyless + \";\" + vItemxx;\n\t\t\t\t}\n\t\t\t\tstrData = strData + vItemNO + \"_itemstylenames\" + \"=\" + ItemStyless + this.DelimChar;\n\t\t\t\tfor (var vItemxx in this.ItemDatas[vItemNO]) {\n\t\t\t\t\tstrData = strData + vItemNO + \"_\" + vItemxx + \"=\" + this.ItemDatas[vItemNO][vItemxx] + this.DelimChar;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn strData;\n\t\t},\n\t\twsDoPostDatas: function(afterPostAction) {\n\t\t\tvar strData = \"charset=丂\" + this.DelimChar;\n\t\t\tstrData = strData + \"tid=\" + this.GetTaskID() + this.DelimChar;\n\t\t\tstrData = strData + this.createPostDataString(afterPostAction);\n\t\t\treturn this.wsSend(\"post:\" + strData);\n\t\t},\n\t\tDoPostDatas: function(afterPostAction) {\n\t\t\tif (this.OBO_Mode && this.blOneByone) {\n\t\t\t\tconsole.info(this.altMessageSomeWindowExist);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.blWorking = true;\n\t\t\tif (this.blTmpSelectedIndex !== null)\n\t\t\t\tthis.SET_PRINTER_INDEX(this.blTmpSelectedIndex);\n\t\t\tif (this.SocketEnable) {\n\t\t\t\treturn this.wsDoPostDatas(afterPostAction);\n\t\t\t}\n\n\n\n\t\t\tthis.RemoveIframes();\n\t\t\tvar obody = document.body || document.getElementsByTagName(\"body\")[0] || document.documentElement;\n\t\t\tvar oiframe = document.createElement(\"iframe\");\n\t\t\toiframe.setAttribute(\"src\", \"about:blank\");\n\t\t\toiframe.setAttribute(\"style\", \"display:none\");\n\t\t\toiframe.height = 0;\n\t\t\tobody.appendChild(oiframe);\n\t\t\tvar contentdocument = oiframe.contentWindow.document;\n\t\t\tcontentdocument.write(\"\");\n\t\t\tvar oform = contentdocument.getElementsByTagName(\"form\")[0];\n\t\t\tthis.AddInputElement(contentdocument, oform, \"charset\", \"丂\");\n\t\t\tthis.AddInputElement(contentdocument, oform, \"tid\", this.GetTaskID());\n\t\t\tthis.AddInputElement(contentdocument, oform, \"post\", this.createPostDataString(afterPostAction));\n\t\t\toform.submit();\n\t\t\tvar IframeMS = {};\n\t\t\tIframeMS[\"time\"] = (new Date()).getTime();\n\t\t\tIframeMS[\"iframe\"] = oiframe;\n\t\t\tthis.Iframes.push(IframeMS);\n\t\t\treturn true;\n\t\t},\n\t\tGetLastResult: function(blFOneByone) {\n\t\t\tif (blFOneByone) this.blOneByone = true;\n\t\t\tif (this.SocketEnable) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tvar url = this.strHostURI + \"/c_lastresult.js\";\n\t\t\turl = url + \"?times=\" + (new Date().getTime());\n\t\t\turl = url + \"&tid=\" + this.GetTaskID();\n\t\t\turl = encodeURI(url).replace(\"%20\", \"+\");\n\t\t\tvar oscript = document.createElement(\"script\");\n\t\t\toscript.src = url;\n\t\t\toscript.async = false;\n\t\t\toscript.type = \"text/javascript\";\n\t\t\toscript.charset = \"utf-8\";\n\t\t\tvar head = document.head || document.getElementsByTagName(\"head\")[0] || document.documentElement;\n\t\t\thead.insertBefore(oscript, head.firstChild);\n\t\t\toscript.onload = oscript.onreadystatechange = function() {\n\t\t\t\tif (!oscript.readyState || /loaded|complete/.test(oscript.readyState)) {\n\t\t\t\t\tCLODOP.blOneByone = false;\n\t\t\t\t\tif (CLodop_ACTLastResult)\n\t\t\t\t\t\tvar strResult = decodeURIComponent(CLodop_ACTLastResult);\n\t\t\t\t\tvar strResultTaskID = CLodop_ACTTaskID;\n\t\t\t\t\tCLODOP.Result = strResult;\n\t\t\t\t\tif (CLodop_ACTAlert) CLodop_ACTconsole.info();\n\t\t\t\t\tif (CLODOP.On_Return)\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tvar selfFunc = CLODOP.On_Return;\n\t\t\t\t\t\t\tif (strResult == \"true\" || strResult == \"false\")\n\t\t\t\t\t\t\t\tCLODOP.On_Return(strResultTaskID, strResult == \"true\");\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tCLODOP.On_Return(strResultTaskID, strResult);\n\t\t\t\t\t\t\tif (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n\t\t\t\t\t\t} catch (err) {};\n\t\t\t\t\toscript.onload = oscript.onreadystatechange = null;\n\t\t\t\t\tif (oscript.parentNode) {\n\t\t\t\t\t\toscript.parentNode.removeChild(oscript);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\treturn true;\n\t\t},\n\t\tDoCPreview: function(sView, iW, iH) {\n\t\t\tvar obody = document.body || document.getElementsByTagName(\"body\")[0] || document.documentElement;\n\t\t\tif (typeof iW !== \"number\") iW = Math.round(obody.offsetWidth * 2 / 3);\n\t\t\telse\n\t\t\tif (obody.offsetWidth < iW) iW = obody.offsetWidth;\n\t\t\tif (typeof iH !== \"number\") iH = Math.round(window.screen.height - 200);\n\t\t\telse\n\t\t\tif (window.screen.height < iH) iH = window.screen.height;\n\t\t\tvar url = this.strHostURI + \"/c_dopreview\";\n\t\t\turl = url + \"?times=\" + (new Date().getTime());\n\t\t\turl = url + \"&tid=\" + this.GetTaskID();\n\t\t\turl = url + \"&iw=\" + iW;\n\t\t\turl = url + \"&ih=\" + iH;\n\t\t\turl = encodeURI(url).replace(\"%20\", \"+\");\n\t\t\tthis.PopView(sView, url, iW, iH);\n\t\t},\n\t\tPopView: function(sView, strPURL, iW, iH) {\n\t\t\ttry {\n\t\t\t\tif (sView && typeof sView === \"string\" && sView.length > 0) {\n\t\t\t\t\tif (sView === \"_dialog\") {\n\t\t\t\t\t\tif (window.showModalDialog) {\n\t\t\t\t\t\t\twindow.showModalDialog(strPURL, 'dialog', 'center:yes');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twindow.open(strPURL, \"\", \"scrollbars=yes,toolbar=no,left=150,top=100,resizable=yes\");\n\t\t\t\t\t\t}\n\t\t\t\t\t} else\n\t\t\t\t\tif (sView === \"_self\" || sView === \"_top\" || sView === \"_parent\") {\n\t\t\t\t\t\twindow.location.href = strPURL;\n\t\t\t\t\t} else\n\t\t\t\t\tif (sView === \"_blank\") {\n\t\t\t\t\t\tthis.PreviewBox.create(strPURL, iW, iH);\n\t\t\t\t\t} else\n\t\t\t\t\tif (sView.indexOf(\"_winopen:\") > -1) {\n\t\t\t\t\t\tvar strFeatures = sView.slice(sView.indexOf(\"_winopen:\") + 9);\n\t\t\t\t\t\tif (strFeatures.indexOf(\"_blank\") > -1)\n\t\t\t\t\t\t\twindow.open(strPURL, \"_blank\", strFeatures.slice(strFeatures.indexOf(\"_blank\") + 6));\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\twindow.open(strPURL, \"\", strFeatures);\n\t\t\t\t\t} else\n\t\t\t\t\tif (document.getElementById(sView)) {\n\t\t\t\t\t\tdocument.getElementById(sView).src = strPURL;\n\t\t\t\t\t} else\n\t\t\t\t\t\tconsole.info(\"iframe '\" + sView + \"' not exist!\");\n\t\t\t\t} else this.PreviewBox.create(strPURL, iW, iH);\n\t\t\t} catch (err) {\n\t\t\t\tconsole.info(\"CLODOP PopView \" + err);\n\t\t\t};\n\t\t},\n\t\tcreatMyButtonElement: function(strType, strValue) {\n\t\t\ttry {\n\t\t\t\tvar oElement = document.createElement(\"\");\n\t\t\t} catch (e) {};\n\t\t\tif (!oElement) {\n\t\t\t\toElement = document.createElement(\"input\");\n\t\t\t\toElement.type = strType;\n\t\t\t\toElement.value = strValue;\n\t\t\t}\n\t\t\treturn oElement;\n\t\t},\n\t\tcreatLabelElement: function(Type, Value, Width, Left, Top) {\n\t\t\tvar TxtLabel = document.createElement(Type);\n\t\t\tTxtLabel.innerHTML = Value;\n\t\t\tTxtLabel.style.cssText = \"position:absolute;width:\" + Width + \"px;left:\" + Left + \"px;top:\" + Top + \"px;\";\n\t\t\treturn TxtLabel;\n\t\t},\n\t\tSelectBox: {\n\t\t\tdragapproved: false,\n\t\t\toffsetx: 0,\n\t\t\toffsety: 0,\n\t\t\ttempx: 0,\n\t\t\ttempy: 0,\n\t\t\tFrantDiv: undefined,\n\t\t\tPopDiv: undefined,\n\t\t\tselPrinter: undefined,\n\t\t\tselCopies: undefined,\n\t\t\tcloseit: function() {\n\t\t\t\tif (CLODOP.SelectBox.PopDiv && CLODOP.SelectBox.PopDiv.parentNode)\n\t\t\t\t\tCLODOP.SelectBox.PopDiv.parentNode.removeChild(CLODOP.SelectBox.PopDiv);\n\t\t\t\tif (this.FrantDiv && this.FrantDiv.parentNode)\n\t\t\t\t\tthis.FrantDiv.parentNode.removeChild(this.FrantDiv);\n\t\t\t\tthis.PopDiv = undefined;\n\t\t\t},\n\t\t\tinitializedrag: function(e) {\n\t\t\t\tvar we = window.event || e;\n\t\t\t\tthis.offsetx = we.clientX;\n\t\t\t\tthis.offsety = we.clientY;\n\t\t\t\tthis.tempx = parseInt(this.PopDiv.style.left);\n\t\t\t\tthis.tempy = parseInt(this.PopDiv.style.top);\n\t\t\t\tthis.dragapproved = true;\n\t\t\t},\n\t\t\tdrag_drop: function(e) {\n\t\t\t\tif (!this.dragapproved) return;\n\t\t\t\tvar we = window.event || e;\n\t\t\t\tthis.PopDiv.style.left = we.clientX - this.offsetx + this.tempx + \"px\";\n\t\t\t\tthis.PopDiv.style.top = we.clientY - this.offsety + this.tempy + \"px\";\n\t\t\t},\n\t\t\tstopdrag: function() {\n\t\t\t\tthis.dragapproved = false;\n\t\t\t},\n\t\t\tclickOK: function(onlySelect) {\n\t\t\t\tCLODOP.PRINTAOK(CLODOP.SelectBox.selPrinter.value, CLODOP.SelectBox.selCopies.value, 0, 0, onlySelect);\n\t\t\t\tthis.closeit();\n\t\t\t},\n\t\t\tcreate: function(iW, iH, onlySelect) {\n\t\t\t\tif (CLODOP.SelectBox.PopDiv) this.closeit();\n\t\t\t\tvar obody = document.body || document.getElementsByTagName(\"body\")[0] || document.documentElement;\n\t\t\t\tvar Boxdiv = document.createElement(\"div\");\n\t\t\t\tobody.appendChild(Boxdiv);\n\t\t\t\tBoxdiv.style.cssText =\n\t\t\t\t\t\"position:absolute;z-index:91100;display:block;top:2px;border:1px solid #6B97C1;background:#F5F5F5;color:#000;font-size:13px;\";\n\t\t\t\tBoxdiv.style.width = iW + \"px\";\n\t\t\t\tBoxdiv.style.left = Math.max((obody.offsetWidth - iW) / 2, 0) + \"px\";\n\t\t\t\tBoxdiv.style.top = Math.max((obody.offsetHeight - iH) / 2, 0) + \"px\";\n\t\t\t\tBoxdiv.style.height = iH + \"px\";\n\t\t\t\tthis.PopDiv = Boxdiv;\n\t\t\t\tvar titleDiv = document.createElement(\"div\");\n\t\t\t\tBoxdiv.appendChild(titleDiv);\n\t\t\t\ttitleDiv.style.cssText =\n\t\t\t\t\t\"font: bold 13px Arial;line-height:25px;height:27px;text-indent:5px;color: white;background:#8BACCF\";\n\t\t\t\ttitleDiv.innerHTML = \"      打印\";\n\t\t\t\ttitleDiv.onmousedown = function(event) {\n\t\t\t\t\tCLODOP.SelectBox.initializedrag(event);\n\t\t\t\t};\n\t\t\t\ttitleDiv.onmousemove = function(event) {\n\t\t\t\t\tCLODOP.SelectBox.drag_drop(event);\n\t\t\t\t};\n\t\t\t\ttitleDiv.onmouseup = function() {\n\t\t\t\t\tCLODOP.SelectBox.stopdrag();\n\t\t\t\t};\n\t\t\t\tvar icoButton = document.createElement(\"button\");\n\t\t\t\ttitleDiv.appendChild(icoButton);\n\t\t\t\ticoButton.style.cssText = \"background:transparent url(\" + CLODOP.strHostURI +\n\t\t\t\t\t\"/c_favicon.ico) no-repeat scroll 0 0px;margin-left:5px;position:absolute;height:20px;line-height:100px;width:34px;left:3px;border:0;top:5px\";\n\t\t\t\tvar CloseButton = document.createElement(\"button\");\n\t\t\t\ttitleDiv.appendChild(CloseButton);\n\t\t\t\tCloseButton.style.cssText = \"background:transparent url(\" + CLODOP.strHostURI +\n\t\t\t\t\t\"/images/c_winclose.png) no-repeat scroll 0 0px;margin-right:5px;position:absolute;height:20px;line-height:100px;width:34px;right:3px;border:0;top:4px\";\n\t\t\t\tCloseButton.onclick = function() {\n\t\t\t\t\tCLODOP.SelectBox.closeit();\n\t\t\t\t\tif (onlySelect && CLODOP.On_Return) {\n\t\t\t\t\t\tvar selfFunc = CLODOP.On_Return;\n\t\t\t\t\t\tCLODOP.On_Return(0, -1);\n\t\t\t\t\t\tif (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tvar areaDiv = document.createElement(\"div\");\n\t\t\t\tBoxdiv.appendChild(areaDiv);\n\t\t\t\tareaDiv.style.cssText = \"background:#F5F5F5;color:#000;border:0px;left:0px;top:0px;\";\n\t\t\t\tareaDiv.style.width = iW - 2 + \"px\";\n\t\t\t\tareaDiv.style.height = (iH - 27) + \"px\";\n\t\t\t\tvar OKButton = CLODOP.creatMyButtonElement(\"button\", \"确定\");\n\t\t\t\tBoxdiv.appendChild(OKButton);\n\t\t\t\tOKButton.style.cssText = \"position:absolute;width:80px;height:23px;\";\n\t\t\t\tOKButton.style.left = \"110px\";\n\t\t\t\tOKButton.style.top = (iH - 64) + \"px\";\n\t\t\t\tOKButton.onclick = function() {\n\t\t\t\t\tCLODOP.SelectBox.clickOK(onlySelect);\n\t\t\t\t};\n\t\t\t\tvar CancelButton = CLODOP.creatMyButtonElement(\"button\", \"取消\");\n\t\t\t\tBoxdiv.appendChild(CancelButton);\n\t\t\t\tCancelButton.style.cssText = \"position:absolute;width:80px;;height:23px;\";\n\t\t\t\tCancelButton.style.left = \"240px\";\n\t\t\t\tCancelButton.style.top = (iH - 64) + \"px\";\n\t\t\t\tCancelButton.onclick = function() {\n\t\t\t\t\tCLODOP.SelectBox.closeit();\n\t\t\t\t\tif (onlySelect && CLODOP.On_Return) {\n\t\t\t\t\t\tvar selfFunc = CLODOP.On_Return;\n\t\t\t\t\t\tCLODOP.On_Return(0, -1);\n\t\t\t\t\t\tif (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tareaDiv.appendChild(CLODOP.creatLabelElement(\"span\", \"选打印机:\", 200, 46, 67));\n\t\t\t\tvar oSelect = document.createElement(\"select\");\n\t\t\t\tBoxdiv.appendChild(oSelect);\n\t\t\t\tthis.selPrinter = oSelect;\n\t\t\t\toSelect.style.cssText = \"position:absolute;size:1;width:212px;left:110px;top:62px;\";\n\t\t\t\tCLODOP.Create_Printer_List(oSelect);\n\t\t\t\tareaDiv.appendChild(CLODOP.creatLabelElement(\"span\", \"打印份数:\", 200, 46, 121));\n\t\t\t\tvar oCopies = CLODOP.creatMyButtonElement(\"text\", \"1\");\n\t\t\t\tBoxdiv.appendChild(oCopies);\n\t\t\t\tthis.selCopies = oCopies;\n\t\t\t\toCopies.style.cssText = \"position:absolute;size:1;width:30px;left:110px;top:117px;\";\n\t\t\t\tthis.FrantDiv = document.createElement(\"div\");\n\t\t\t\tobody.appendChild(this.FrantDiv);\n\t\t\t\tthis.FrantDiv.style.cssText =\n\t\t\t\t\t\"border:0px;left:0px;top:0px;filter: alpha(opacity=20); position: fixed; opacity: 0.2;-moz-opacity: 0.2; _position: absolute;z-index:91009; over-flow: hidden;\";\n\t\t\t\tif (CLODOP.Browser.IE && (document.compatMode == \"BackCompat\" || navigator.userAgent.indexOf(\"MSIE 6.0\") > 0)) {\n\t\t\t\t\tthis.FrantDiv.style.width = obody.scrollWidth + \"px\";\n\t\t\t\t\tthis.FrantDiv.style.height = obody.scrollHeight + \"px\";\n\t\t\t\t} else {\n\t\t\t\t\tthis.FrantDiv.style.width = \"100%\";\n\t\t\t\t\tthis.FrantDiv.style.height = \"100%\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tPreviewBox: {\n\t\t\tdragapproved: false,\n\t\t\toffsetx: 0,\n\t\t\toffsety: 0,\n\t\t\ttempx: 0,\n\t\t\ttempy: 0,\n\t\t\tFrantDiv: undefined,\n\t\t\tPopDiv: undefined,\n\t\t\tContentFrame: undefined,\n\t\t\tcloseit: function(oSelf) {\n\t\t\t\tif (CLODOP.PreviewBox.PopDiv && CLODOP.PreviewBox.PopDiv.parentNode)\n\t\t\t\t\tCLODOP.PreviewBox.PopDiv.parentNode.removeChild(CLODOP.PreviewBox.PopDiv);\n\t\t\t\tif (this.FrantDiv && this.FrantDiv.parentNode)\n\t\t\t\t\tthis.FrantDiv.parentNode.removeChild(this.FrantDiv);\n\t\t\t\tthis.PopDiv = undefined;\n\t\t\t},\n\t\t\tinitializedrag: function(e, oSelf) {\n\t\t\t\tvar we = window.event || e;\n\t\t\t\tthis.offsetx = we.clientX;\n\t\t\t\tthis.offsety = we.clientY;\n\t\t\t\tthis.tempx = parseInt(oSelf.style.left);\n\t\t\t\tthis.tempy = parseInt(oSelf.style.top);\n\t\t\t\tthis.dragapproved = true;\n\t\t\t},\n\t\t\tdrag_drop: function(e, oSelf) {\n\t\t\t\tif (!this.dragapproved) return;\n\t\t\t\tvar we = window.event || e;\n\t\t\t\toSelf.style.left = we.clientX - this.offsetx + this.tempx + \"px\";\n\t\t\t\toSelf.style.top = we.clientY - this.offsety + this.tempy + \"px\";\n\t\t\t},\n\t\t\tstopdrag: function() {\n\t\t\t\tthis.dragapproved = false;\n\t\t\t\tif (this.ContentFrame) this.ContentFrame.style.display = \"block\";\n\t\t\t},\n\t\t\tcreate: function(strURL, iW, iH) {\n\t\t\t\tif (CLODOP.PreviewBox.PopDiv) this.closeit();\n\t\t\t\tvar obody = document.body || document.getElementsByTagName(\"body\")[0] || document.documentElement;\n\t\t\t\tvar vBoxDiv = document.createElement(\"div\");\n\t\t\t\tobody.appendChild(vBoxDiv);\n\t\t\t\tvBoxDiv.style.cssText =\n\t\t\t\t\t\"position:absolute;z-index:91100;display:block;top:2px;border:1px solid #6B97C1;font-size:13px;\";\n\t\t\t\tvBoxDiv.style.width = iW + \"px\";\n\t\t\t\tvar iLeft = (obody.offsetWidth - iW) / 2;\n\t\t\t\tif (window.screen.width < obody.offsetWidth) iLeft = (window.screen.width - iW) / 2;\n\t\t\t\tif (iLeft < 0) iLeft = 0;\n\t\t\t\tvBoxDiv.style.left = iLeft + \"px\";\n\t\t\t\tvBoxDiv.style.height = iH + \"px\";\n\t\t\t\tvBoxDiv.onmousedown = function(event) {\n\t\t\t\t\tCLODOP.PreviewBox.initializedrag(event, this);\n\t\t\t\t};\n\t\t\t\tvBoxDiv.onmouseup = function() {\n\t\t\t\t\tCLODOP.PreviewBox.stopdrag();\n\t\t\t\t};\n\t\t\t\tvBoxDiv.onmousemove = function(event) {\n\t\t\t\t\tCLODOP.PreviewBox.drag_drop(event, this);\n\t\t\t\t};\n\t\t\t\tthis.PopDiv = vBoxDiv;\n\t\t\t\tvar titleDiv = document.createElement(\"div\");\n\t\t\t\tvBoxDiv.appendChild(titleDiv);\n\t\t\t\ttitleDiv.style.cssText =\n\t\t\t\t\t\"position:absolute;left:0px;width:100%;font: bold 14px Arial;line-height:27px;height:27px;text-indent:26px;color: white;background:#8BACCF\";\n\t\t\t\ttitleDiv.innerHTML = \"打印预览\";\n\t\t\t\tvar icoButton = document.createElement(\"button\");\n\t\t\t\ttitleDiv.appendChild(icoButton);\n\t\t\t\ticoButton.style.cssText = \"background:transparent url(\" + CLODOP.strHostURI +\n\t\t\t\t\t\"/c_favicon.ico) no-repeat scroll 0 0px;margin-left:5px;position:absolute;height:20px;line-height:100px;width:34px;left:3px;border:0;top:5px\";\n\t\t\t\tvar CloseButton = document.createElement(\"button\");\n\t\t\t\ttitleDiv.appendChild(CloseButton);\n\t\t\t\tCloseButton.style.cssText = \"background:transparent url(\" + CLODOP.strHostURI +\n\t\t\t\t\t\"/images/c_winclose.png) no-repeat scroll 0 0px;margin-right:5px;position:absolute;height:20px;line-height:100px;width:34px;right:3px;border:0;top:4px\";\n\t\t\t\tCloseButton.onclick = function() {\n\t\t\t\t\tCLODOP.PreviewBox.closeit(this);\n\t\t\t\t};\n\t\t\t\tvar areaDiv = document.createElement(\"div\");\n\t\t\t\tvBoxDiv.appendChild(areaDiv);\n\t\t\t\tareaDiv.style.cssText = \"background:#F5F5F5;color:#000;border:0px;left:0px;top:0px;\";\n\t\t\t\tareaDiv.style.width = iW + \"px\";\n\t\t\t\tareaDiv.style.height = (iH - 0) + \"px\";\n\t\t\t\tthis.ContentFrame = document.createElement(\"iframe\");\n\t\t\t\tareaDiv.appendChild(this.ContentFrame);\n\t\t\t\tthis.ContentFrame.style.cssText = \"width:100%;height:100%;\";\n\t\t\t\tthis.ContentFrame.src = strURL;\n\t\t\t\tthis.ContentFrame.frameBorder = \"no\";\n\t\t\t\tthis.FrantDiv = document.createElement(\"div\");\n\t\t\t\tobody.appendChild(this.FrantDiv);\n\t\t\t\tthis.FrantDiv.style.cssText =\n\t\t\t\t\t\"border:0px;left:0px;top:0px;filter: alpha(opacity=20); position: fixed; opacity: 0.2; -moz-opacity: 0.2; _position: absolute;z-index:91009; over-flow: hidden;\";\n\t\t\t\tif (CLODOP.Browser.IE && (document.compatMode == \"BackCompat\" || navigator.userAgent.indexOf(\"MSIE 6.0\") > 0)) {\n\t\t\t\t\tthis.FrantDiv.style.width = obody.scrollWidth + \"px\";\n\t\t\t\t\tthis.FrantDiv.style.height = obody.scrollHeight + \"px\";\n\t\t\t\t} else {\n\t\t\t\t\tthis.FrantDiv.style.width = \"100%\";\n\t\t\t\t\tthis.FrantDiv.style.height = \"100%\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tif (win.CLODOP2015_7028 && win.CLODOP2015_7028.Priority && win.CLODOP2015_7028.Priority > CLODOP.Priority) {\n\t\tCLODOP = win.CLODOP2015_7028;\n\t\twin.CLODOP_OK_Priority = win.CLODOP2015_7028.Priority;\n\t\treturn;\n\t}\n\twin.LODOP = CLODOP;\n\twin.CLODOP = CLODOP;\n\twin.CLODOP2015_7028 = CLODOP;\n\twin.CLODOP_OK_Priority = CLODOP.Priority;\n\n\n\twin.CLODOP.DoInit();\n\n\n\tif (navigator.userAgent.indexOf(\"Lodop\") < 0) win.CLODOP.OpenWebSocket();\n})(window);\n\nfunction getCLodop() {\n\treturn window.CLODOP2015_7028;\n}\n\nexport {\n\tgetCLodop\n}; //导出getLodop"],"sourceRoot":""}
\ No newline at end of file
diff --git a/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/components/scan-code/scan-code.js.map b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/components/scan-code/scan-code.js.map
new file mode 100644
index 0000000..89eda3e
--- /dev/null
+++ b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/components/scan-code/scan-code.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?65d4","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?6174","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?33bd","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?e820","uni-app:///components/scan-code/scan-code.vue","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?cc7a","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?1496"],"names":["data","scanCode","created","onHide","destroyed","methods","initScan","main","filter","receiver","onReceive","plus","_this","startScan","stopScan","queryCode","_codeQueryTag","setTimeout","console","uni","code"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsH;AACtH;AAC6D;AACL;AACa;;;AAGrE;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,+EAAM;AACR,EAAE,oFAAM;AACR,EAAE,6FAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,wFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAmmB,CAAgB,6nBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;ACKvnB;AACA;AAAA,eACA;EACAA;IACA;MACAC;IACA;EACA;EACAC;IACA;IACA;EACA;EACAC;IACA;EACA;EACAC;IACA;IACA;EACA;EACAC;IACAC;MACA;MACAC;MACA;MACAC;MACAA;MACAC;QACAC;UACAC;UACA;UACAC;QACA;MAAA;IACA;IACAC;MACAN;IACA;IACAO;MACAP;IACA;IACAQ;MACA;MACA;MACAC;MACAC;QACAD;MACA;MACA;MACAE;MACAC;QAAAC;MAAA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;ACxDA;AAAA;AAAA;AAAA;AAAq3B,CAAgB,s3BAAG,EAAC,C;;;;;;;;;;;ACAz4B;AACA,OAAO,KAAU,EAAE,kBAKd","file":"components/scan-code/scan-code.js","sourcesContent":["import { render, staticRenderFns, recyclableRender, components } from \"./scan-code.vue?vue&type=template&id=ed052b00&\"\nvar renderjs\nimport script from \"./scan-code.vue?vue&type=script&lang=js&\"\nexport * from \"./scan-code.vue?vue&type=script&lang=js&\"\nimport style0 from \"./scan-code.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"components/scan-code/scan-code.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scan-code.vue?vue&type=template&id=ed052b00&\"","var components\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scan-code.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scan-code.vue?vue&type=script&lang=js&\"","\n    {{scanCode}}\n\n\n\n\n\n","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scan-code.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scan-code.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n    if(module.hot) {\n      // 1688698222520\n      var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n      module.hot.dispose(cssReload);\n      module.hot.accept(undefined, cssReload);\n    }\n  "],"sourceRoot":""}
\ No newline at end of file
diff --git a/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/classify/classify.js.map b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/classify/classify.js.map
new file mode 100644
index 0000000..8fa0003
--- /dev/null
+++ b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/classify/classify.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///main.js","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/classify/classify.vue?8c50","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/classify/classify.vue?09ae","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/classify/classify.vue?11dc","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/classify/classify.vue?9559","uni-app:///pages/tabbar/classify/classify.vue"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","methods"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,iBAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAqH;AACrH;AAC4D;AACL;;;AAGvD;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,8EAAM;AACR,EAAE,mFAAM;AACR,EAAE,4FAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,uFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAkmB,CAAgB,4nBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;eCOtnB;EACAC;IACA,QAEA;EACA;EACAC,UAEA;AACA;AAAA,2B","file":"pages/tabbar/classify/classify.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/tabbar/classify/classify.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./classify.vue?vue&type=template&id=f7c09a92&\"\nvar renderjs\nimport script from \"./classify.vue?vue&type=script&lang=js&\"\nexport * from \"./classify.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"pages/tabbar/classify/classify.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./classify.vue?vue&type=template&id=f7c09a92&\"","var components\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./classify.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./classify.vue?vue&type=script&lang=js&\"","\n\t\n\t\t\n\t\n\n\n\n\n\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/index/index.js.map b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/index/index.js.map
new file mode 100644
index 0000000..e2bcbf8
--- /dev/null
+++ b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/index/index.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///main.js",null,"webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/index/index.vue?aa39","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/index/index.vue?4e02","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/index/index.vue?8927","uni-app:///pages/tabbar/index/index.vue","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?65d4","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?6174","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?33bd","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?e820","uni-app:///components/scan-code/scan-code.vue","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?cc7a","webpack:///E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?1496","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/index/index.vue?eebf","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/index/index.vue?4d4d"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","codes","onLoad","onUnload","onHide","onShow","methods","doPrinter","console","uni","_this","getScancode","code","printPdf","scanCode","created","destroyed","initScan","main","filter","receiver","onReceive","plus","startScan","stopScan","queryCode","_codeQueryTag","setTimeout"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkH;AAClH;AACyD;AACL;AACa;;;AAGjE;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,2EAAM;AACR,EAAE,gFAAM;AACR,EAAE,yFAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,oFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA,aAAa,qHAEN;AACP,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAA+lB,CAAgB,ynBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;ACWnnB;AACA;;;;;;;;;;;;AACA;AACA;AAAA,eACA;EACAC;IACA;MACAC;MACAC;QACA;MACA;MACAC;QACA;MACA;MACAC;QACA;MACA;MACAC;QACA;MACA;IACA;EACA;EAEAC;IACAC;MACAC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACA;;IACAH;MACA;MACAI;MACAA;QACAD;QACAE;MACA;IACA;IACAC;MACA;MACAC;MACA;MACAJ;IACA;IACAK;MACA;MACAA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;ACtEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsH;AACtH;AAC6D;AACL;AACa;;;AAGrE;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,+EAAM;AACR,EAAE,oFAAM;AACR,EAAE,6FAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,wFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAmmB,CAAgB,6nBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;ACKvnB;AACA;AAAA,eACA;EACAb;IACA;MACAc;IACA;EACA;EACAC;IACA;IACA;EACA;EACAX;IACA;EACA;EACAY;IACA;IACA;EACA;EACAV;IACAW;MACA;MACAC;MACA;MACAC;MACAA;MACAC;QACAC;UACAC;UACA;UACAZ;QACA;MAAA;IACA;IACAa;MACAL;IACA;IACAM;MACAN;IACA;IACAO;MACA;MACA;MACAC;MACAC;QACAD;MACA;MACA;MACAlB;MACAC;QAAAG;MAAA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;ACxDA;AAAA;AAAA;AAAA;AAAq3B,CAAgB,s3BAAG,EAAC,C;;;;;;;;;;;ACAz4B;AACA,OAAO,KAAU,EAAE,kBAKd;;;;;;;;;;;;;ACNL;AAAA;AAAA;AAAA;AAAi3B,CAAgB,k3BAAG,EAAC,C;;;;;;;;;;;ACAr4B;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/tabbar/index/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/tabbar/index/index.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./index.vue?vue&type=template&id=6b1f4146&\"\nvar renderjs\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"pages/tabbar/index/index.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./index.vue?vue&type=template&id=6b1f4146&\"","var components\ntry {\n  components = {\n    scanCode: function () {\n      return import(\n        /* webpackChunkName: \"components/scan-code/scan-code\" */ \"@/components/scan-code/scan-code.vue\"\n      )\n    },\n  }\n} catch (e) {\n  if (\n    e.message.indexOf(\"Cannot find module\") !== -1 &&\n    e.message.indexOf(\".vue\") !== -1\n  ) {\n    console.error(e.message)\n    console.error(\"1. 排查组件名称拼写是否正确\")\n    console.error(\n      \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n    )\n    console.error(\n      \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n    )\n  } else {\n    throw e\n  }\n}\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./index.vue?vue&type=script&lang=js&\"","\r\n\t\r\n\t\t\r\n\t\t\t{{codes}}\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n","import { render, staticRenderFns, recyclableRender, components } from \"./scan-code.vue?vue&type=template&id=ed052b00&\"\nvar renderjs\nimport script from \"./scan-code.vue?vue&type=script&lang=js&\"\nexport * from \"./scan-code.vue?vue&type=script&lang=js&\"\nimport style0 from \"./scan-code.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"components/scan-code/scan-code.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scan-code.vue?vue&type=template&id=ed052b00&\"","var components\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scan-code.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scan-code.vue?vue&type=script&lang=js&\"","\n    {{scanCode}}\n\n\n\n\n\n","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scan-code.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./scan-code.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n    if(module.hot) {\n      // 1688698222520\n      var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n      module.hot.dispose(cssReload);\n      module.hot.accept(undefined, cssReload);\n    }\n  ","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./index.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./index.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n    if(module.hot) {\n      // 1688700202643\n      var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n      module.hot.dispose(cssReload);\n      module.hot.accept(undefined, cssReload);\n    }\n  "],"sourceRoot":""}
\ No newline at end of file
diff --git a/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/mine/mine.js.map b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/mine/mine.js.map
new file mode 100644
index 0000000..cb9581d
--- /dev/null
+++ b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/mine/mine.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///main.js","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/mine/mine.vue?14b0","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/mine/mine.vue?aa3d","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/mine/mine.vue?bf5a","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/mine/mine.vue?415a","uni-app:///pages/tabbar/mine/mine.vue"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","methods"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,aAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAiH;AACjH;AACwD;AACL;;;AAGnD;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,0EAAM;AACR,EAAE,+EAAM;AACR,EAAE,wFAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,mFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA8lB,CAAgB,wnBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;eCOlnB;EACAC;IACA,QAEA;EACA;EACAC,UAEA;AACA;AAAA,2B","file":"pages/tabbar/mine/mine.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/tabbar/mine/mine.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./mine.vue?vue&type=template&id=2d754997&\"\nvar renderjs\nimport script from \"./mine.vue?vue&type=script&lang=js&\"\nexport * from \"./mine.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"pages/tabbar/mine/mine.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./mine.vue?vue&type=template&id=2d754997&\"","var components\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./mine.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./mine.vue?vue&type=script&lang=js&\"","\n\t\n\t\t\n\t\n\n\n\n\n\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/study/study.js.map b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/study/study.js.map
new file mode 100644
index 0000000..8dcf79b
--- /dev/null
+++ b/ilsApp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/tabbar/study/study.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///main.js","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/study/study.vue?df7b","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/study/study.vue?5faa","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/study/study.vue?6b19","webpack:///E:/ilsau/ilsApp/ilsApp/pages/tabbar/study/study.vue?9894","uni-app:///pages/tabbar/study/study.vue"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","methods"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAkH;AAClH;AACyD;AACL;;;AAGpD;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,2EAAM;AACR,EAAE,gFAAM;AACR,EAAE,yFAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,oFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA+lB,CAAgB,ynBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;eCOnnB;EACAC;IACA,QAEA;EACA;EACAC,UAEA;AACA;AAAA,2B","file":"pages/tabbar/study/study.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/tabbar/study/study.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./study.vue?vue&type=template&id=909b65ea&\"\nvar renderjs\nimport script from \"./study.vue?vue&type=script&lang=js&\"\nexport * from \"./study.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null,\n  false,\n  components,\n  renderjs\n)\n\ncomponent.options.__file = \"pages/tabbar/study/study.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--17-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./study.vue?vue&type=template&id=909b65ea&\"","var components\nvar render = function () {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./study.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./study.vue?vue&type=script&lang=js&\"","\n\t\n\t\t\n\t\n\n\n\n\n\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/ilsApp/unpackage/dist/dev/app-plus/__uniappchooselocation.js b/ilsApp/unpackage/dist/dev/app-plus/__uniappchooselocation.js
new file mode 100644
index 0000000..bd11f4b
--- /dev/null
+++ b/ilsApp/unpackage/dist/dev/app-plus/__uniappchooselocation.js
@@ -0,0 +1 @@
+!function(e){var t={};function A(a){if(t[a])return t[a].exports;var i=t[a]={i:a,l:!1,exports:{}};return e[a].call(i.exports,i,i.exports,A),i.l=!0,i.exports}A.m=e,A.c=t,A.d=function(e,t,a){A.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},A.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},A.t=function(e,t){if(1&t&&(e=A(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(A.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)A.d(a,i,function(t){return e[t]}.bind(null,i));return a},A.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return A.d(t,"a",t),t},A.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},A.p="",A(A.s=41)}([function(e,t){e.exports={}},function(e,t,A){"use strict";function a(e,t,A,a,i,n,o,s,r,c){var l,u="function"==typeof e?e.options:e;if(r){u.components||(u.components={});var d=Object.prototype.hasOwnProperty;for(var h in r)d.call(r,h)&&!d.call(u.components,h)&&(u.components[h]=r[h])}if(c&&((c.beforeCreate||(c.beforeCreate=[])).unshift((function(){this[c.__module]=this})),(u.mixins||(u.mixins=[])).push(c)),t&&(u.render=t,u.staticRenderFns=A,u._compiled=!0),a&&(u.functional=!0),n&&(u._scopeId="data-v-"+n),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},u._ssrRegister=l):i&&(l=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),l)if(u.functional){u._injectStyles=l;var f=u.render;u.render=function(e,t){return l.call(t),f(e,t)}}else{var g=u.beforeCreate;u.beforeCreate=g?[].concat(g,l):[l]}return{exports:e,options:u}}A.d(t,"a",(function(){return a}))},function(e,t,A){"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),t.weexPlus=t.default=void 0,a="function"==typeof getUni?getUni:function(){var e=function(e){return"function"==typeof e},t=function(e){return e.then((function(e){return[null,e]})).catch((function(e){return[e]}))},A=/^\$|^on|^create|Sync$|Manager$|^pause/,a=["os","getCurrentSubNVue","getSubNVueById","stopRecord","stopVoice","stopBackgroundAudio","stopPullDownRefresh","hideKeyboard","hideToast","hideLoading","showNavigationBarLoading","hideNavigationBarLoading","canIUse","navigateBack","closeSocket","pageScrollTo","drawCanvas"],n=function(e){return(!A.test(e)||"createBLEConnection"===e)&&!~a.indexOf(e)},o=function(A){return function(){for(var a=arguments.length,i=Array(a>1?a-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:{};return e(o.success)||e(o.fail)||e(o.complete)?A.apply(void 0,[o].concat(i)):t(new Promise((function(e,t){A.apply(void 0,[Object.assign({},o,{success:e,fail:t})].concat(i)),Promise.prototype.finally=function(e){var t=this.constructor;return this.then((function(A){return t.resolve(e()).then((function(){return A}))}),(function(A){return t.resolve(e()).then((function(){throw A}))}))}})))}},s=[],r=void 0;function c(e){s.forEach((function(t){return t({origin:r,data:e})}))}var l=i.webview.currentWebview().id,u=new BroadcastChannel("UNI-APP-SUBNVUE");function d(e){var t=i.webview.getWebviewById(e);return t&&!t.$processed&&function(e){e.$processed=!0;var t=i.webview.currentWebview().id===e.id,A="uniNView"===e.__uniapp_origin_type&&e.__uniapp_origin_id,a=e.id;if(e.postMessage=function(e){A?u.postMessage({data:e,to:t?A:a}):w({type:"UniAppSubNVue",data:e})},e.onMessage=function(e){s.push(e)},e.__uniapp_mask_id){r=e.__uniapp_host;var n=e.__uniapp_mask,o=i.webview.getWebviewById(e.__uniapp_mask_id);o=o.parent()||o;var c=e.show,l=e.hide,d=e.close,h=function(){o.setStyle({mask:n})},f=function(){o.setStyle({mask:"none"})};e.show=function(){h();for(var t=arguments.length,A=Array(t),a=0;a1&&void 0!==arguments[1]?arguments[1]:"GET",A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/x-www-form-urlencoded";return"object"===(void 0===e?"undefined":j(e))?"POST"===t.toUpperCase()&&"application/json"===A.toLowerCase()?JSON.stringify(e):Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&"):e},G=weex.requireModule("plusstorage"),T=weex.requireModule("clipboard"),Q=function(){if("function"==typeof getUniEmitter)return getUniEmitter;var e={$on:function(){console.warn("uni.$on failed")},$off:function(){console.warn("uni.$off failed")},$once:function(){console.warn("uni.$once failed")},$emit:function(){console.warn("uni.$emit failed")}};return function(){return e}}();function U(e,t,A){return e[t].apply(e,A)}var F=Object.freeze({loadFontFace:function(t){var A=t.family,a=t.source,i=(t.desc,t.success),n=(t.fail,t.complete);E.addRule("fontFace",{fontFamily:A,src:a.replace(/"/g,"'")});var o={errMsg:"loadFontFace:ok",status:"loaded"};e(i)&&i(o),e(n)&&n(o)},ready:N,request:function(t){var A=t.url,a=t.data,i=t.header,n=t.method,o=void 0===n?"GET":n,s=t.dataType,r=void 0===s?"json":s,c=(t.responseType,t.success),l=t.fail,u=t.complete,d=!1,h=!1,f={};if(i)for(var g in i)h||"content-type"!==g.toLowerCase()?f[g]=i[g]:(h=!0,f["Content-Type"]=i[g]);return"GET"===o&&a&&(A=A+(~A.indexOf("?")?"&"===A.substr(-1)||"?"===A.substr(-1)?"":"&":"?")+P(a)),O.fetch({url:A,method:o,headers:f,type:"json"===r?"json":"text",body:"GET"!==o?P(a,o,f["Content-Type"]):""},(function(t){var A=t.status,a=(t.ok,t.statusText,t.data),i=t.headers,n={};!A||-1===A||d?(n.errMsg="request:fail",e(l)&&l(n)):(n.data=a,n.statusCode=A,n.header=i,e(c)&&c(n)),e(u)&&u(n)})),{abort:function(){d=!0}}},getStorage:function(t){var A=t.key,a=(t.data,t.success),i=t.fail,n=t.complete;G.getItem(A+"__TYPE",(function(t){if("success"===t.result){var o=t.data;G.getItem(A,(function(t){if("success"===t.result){var A=t.data;o&&A?("String"!==o&&(A=JSON.parse(A)),e(a)&&a({errMsg:"getStorage:ok",data:A})):(t.errMsg="setStorage:fail",e(i)&&i(t))}else t.errMsg="setStorage:fail",e(i)&&i(t);e(n)&&n(t)}))}else t.errMsg="setStorage:fail",e(i)&&i(t),e(n)&&n(t)}))},setStorage:function(t){var A=t.key,a=t.data,i=t.success,n=t.fail,o=t.complete,s="String";"object"===(void 0===a?"undefined":j(a))&&(s="Object",a=JSON.stringify(a)),G.setItem(A,a,(function(t){"success"===t.result?G.setItem(A+"__TYPE",s,(function(t){"success"===t.result?e(i)&&i({errMsg:"setStorage:ok"}):(t.errMsg="setStorage:fail",e(n)&&n(t))})):(t.errMsg="setStorage:fail",e(n)&&n(t)),e(o)&&o(t)}))},removeStorage:function(t){var A=t.key,a=(t.data,t.success),i=t.fail,n=t.complete;G.removeItem(A,(function(t){"success"===t.result?e(a)&&a({errMsg:"removeStorage:ok"}):(t.errMsg="removeStorage:fail",e(i)&&i(t)),e(n)&&n(t)})),G.removeItem(A+"__TYPE")},clearStorage:function(e){e.key,e.data,e.success,e.fail,e.complete},getClipboardData:function(t){var A=t.success,a=(t.fail,t.complete);T.getString((function(t){var i={errMsg:"getClipboardData:ok",data:t.data};e(A)&&A(i),e(a)&&a(i)}))},setClipboardData:function(t){var A=t.data,a=t.success,i=(t.fail,t.complete),n={errMsg:"setClipboardData:ok"};T.setString(A),e(a)&&a(n),e(i)&&i(n)},onSubNVueMessage:c,getSubNVueById:d,getCurrentSubNVue:function(){return d(i.webview.currentWebview().id)},$on:function(){return U(Q(),"$on",[].concat(Array.prototype.slice.call(arguments)))},$off:function(){return U(Q(),"$off",[].concat(Array.prototype.slice.call(arguments)))},$once:function(){return U(Q(),"$once",[].concat(Array.prototype.slice.call(arguments)))},$emit:function(){return U(Q(),"$emit",[].concat(Array.prototype.slice.call(arguments)))}}),R={os:{nvue:!0}},V={};return"undefined"!=typeof Proxy?V=new Proxy({},{get:function(e,t){if("os"===t)return{nvue:!0};if("postMessage"===t)return w;if("requireNativePlugin"===t)return I;if("onNavigationBarButtonTap"===t)return S;if("onNavigationBarSearchInputChanged"===t)return C;if("onNavigationBarSearchInputConfirmed"===t)return D;if("onNavigationBarSearchInputClicked"===t)return L;var A=F[t];return A||(A=b(t)),n(t)?o(A):A}}):(Object.keys(R).forEach((function(e){V[e]=R[e]})),V.postMessage=w,V.requireNativePlugin=I,V.onNavigationBarButtonTap=S,V.onNavigationBarSearchInputChanged=C,V.onNavigationBarSearchInputConfirmed=D,V.onNavigationBarSearchInputClicked=L,Object.keys({uploadFile:!0,downloadFile:!0,chooseImage:!0,previewImage:!0,getImageInfo:!0,saveImageToPhotosAlbum:!0,chooseVideo:!0,saveVideoToPhotosAlbum:!0,saveFile:!0,getSavedFileList:!0,getSavedFileInfo:!0,removeSavedFile:!0,openDocument:!0,setStorage:!0,getStorage:!0,getStorageInfo:!0,removeStorage:!0,clearStorage:!0,getLocation:!0,chooseLocation:!0,openLocation:!0,getSystemInfo:!0,getNetworkType:!0,makePhoneCall:!0,scanCode:!0,setScreenBrightness:!0,getScreenBrightness:!0,setKeepScreenOn:!0,vibrateLong:!0,vibrateShort:!0,addPhoneContact:!0,showToast:!0,showLoading:!0,hideToast:!0,hideLoading:!0,showModal:!0,showActionSheet:!0,setNavigationBarTitle:!0,setNavigationBarColor:!0,navigateTo:!0,redirectTo:!0,reLaunch:!0,switchTab:!0,navigateBack:!0,getProvider:!0,login:!0,getUserInfo:!0,share:!0,requestPayment:!0,subscribePush:!0,unsubscribePush:!0,onPush:!0,offPush:!0}).forEach((function(e){var t=F[e];t||(t=b(e)),n(e)?V[e]=o(t):V[e]=t}))),V};var i=new WeexPlus(weex);t.weexPlus=i;var n=a(weex,i,BroadcastChannel);t.default=n},function(e,t,A){Vue.prototype.__$appStyle__={},Vue.prototype.__merge_style&&Vue.prototype.__merge_style(A(4).default,Vue.prototype.__$appStyle__)},function(e,t,A){"use strict";A.r(t);var a=A(0),i=A.n(a);for(var n in a)"default"!==n&&function(e){A.d(t,e,(function(){return a[e]}))}(n);t.default=i.a},function(e,t,A){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var A={onLoad:function(){this.initMessage()},methods:{initMessage:function(){var t=this,A=e.webview.currentWebview().extras||{},a=A.from,i=(A.callback,A.runtime),n=A.data,o=void 0===n?{}:n,s=A.useGlobalEvent;this.__from=a,this.__runtime=i,this.__page=e.webview.currentWebview().id,this.__useGlobalEvent=s,this.data=JSON.parse(JSON.stringify(o)),e.key.addEventListener("backbutton",(function(){"function"==typeof t.onClose?t.onClose():e.webview.currentWebview().close("auto")}));var r=this,c=function(e){var t=e.data&&e.data.__message;t&&r.__onMessageCallback&&r.__onMessageCallback(t.data)};this.__useGlobalEvent?weex.requireModule("globalEvent").addEventListener("plusMessage",c):new BroadcastChannel(this.__page).onmessage=c},postMessage:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},A=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=JSON.parse(JSON.stringify({__message:{__page:this.__page,data:t,keep:A}})),i=this.__from;if("v8"===this.__runtime)if(this.__useGlobalEvent)e.webview.postMessageToUniNView(a,i);else{var n=new BroadcastChannel(i);n.postMessage(a)}else{var o=e.webview.getWebviewById(i);o&&o.evalJS("__plusMessage&&__plusMessage(".concat(JSON.stringify({data:a}),")"))}},onMessage:function(e){this.__onMessageCallback=e}}};t.default=A}).call(this,A(2).weexPlus)},function(e,t,A){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var A={data:function(){return{locale:"en",fallbackLocale:"en",localization:{en:{done:"OK",cancel:"Cancel"},zh:{done:"完成",cancel:"取消"},"zh-hans":{},"zh-hant":{},messages:{}}}},onLoad:function(){this.initLocale()},created:function(){this.initLocale()},methods:{initLocale:function(){if(!this.__initLocale){this.__initLocale=!0;var t=(e.webview.currentWebview().extras||{}).data||{};if(t.messages&&(this.localization.messages=t.messages),t.locale)this.locale=t.locale.toLowerCase();else{var A=e.os.language.toLowerCase().split("/")[0].replace("_","-").split("-"),a=A[1];a&&(A[1]={chs:"hans",cn:"hans",sg:"hans",cht:"hant",tw:"hant",hk:"hant",mo:"hant"}[a]||a),A.length=A.length>2?2:A.length,this.locale=A.join("-")}}},localize:function(e){var t=this.locale,A=t.split("-")[0],a=this.fallbackLocale,i=this.localization;function n(e){return i[e]||{}}return n("messages")[e]||n(t)[e]||n(A)[e]||n(a)[e]||e}}};t.default=A}).call(this,A(2).weexPlus)},function(e,t,A){"use strict";var a=A(29),i=A(12),n=A(1);var o=Object(n.a)(i.default,a.b,a.c,!1,null,null,"14d2bcf2",!1,a.a,void 0);(function(e){this.options.style||(this.options.style={}),Vue.prototype.__merge_style&&Vue.prototype.__$appStyle__&&Vue.prototype.__merge_style(Vue.prototype.__$appStyle__,this.options.style),Vue.prototype.__merge_style?Vue.prototype.__merge_style(A(36).default,this.options.style):Object.assign(this.options.style,A(36).default)}).call(o),t.default=o.exports},,,,,function(e,t,A){"use strict";var a=A(13),i=A.n(a);t.default=i.a},function(e,t,A){"use strict";(function(e,a){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=o(A(5)),n=o(A(6));function o(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,a)}return A}function r(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}weex.requireModule("dom").addRule("fontFace",{fontFamily:"unichooselocation",src:"url('data:font/truetype;charset=utf-8;base64,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aG9vc2Vsb2NhdGlvbkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAHUAbgBpAGMAaABvAG8AcwBlAGwAbwBjAGEAdABpAG8AbgBSAGUAZwB1AGwAYQByAHUAbgBpAGMAaABvAG8AcwBlAGwAbwBjAGEAdABpAG8AbgB1AG4AaQBjAGgAbwBvAHMAZQBsAG8AYwBhAHQAaQBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAHUAbgBpAGMAaABvAG8AcwBlAGwAbwBjAGEAdABpAG8AbgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAQIBAwEEAQUBBgAKbXlsb2NhdGlvbgZ4dWFuemUFY2xvc2UGc291c3VvAAAAAA==')"});var c=weex.requireModule("mapSearch"),l="data:image/png;base64,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";var u={mixins:[i.default,n.default],data:function(){return{positionIcon:l,mapScale:16,userKeyword:"",showLocation:!0,latitude:39.908692,longitude:116.397477,nearList:[],nearSelectedIndex:-1,nearLoading:!1,nearLoadingEnd:!1,noNearData:!1,isUserLocation:!1,statusBarHeight:20,mapHeight:250,markers:[{id:"location",latitude:39.908692,longitude:116.397477,zIndex:"1",iconPath:l,width:26,height:36}],showSearch:!1,searchList:[],searchSelectedIndex:-1,searchLoading:!1,searchEnd:!1,noSearchData:!1,localization:{en:{search_tips:"Search for a place",no_found:"No results found",nearby:"Nearby",more:"More"},zh:{search_tips:"搜索地点",no_found:"对不起,没有搜索到相关数据",nearby:"附近",more:"更多"}},searchNearFlag:!0,searchMethod:"poiSearchNearBy"}},computed:{disableOK:function(){return this.nearSelectedIndex<0&&this.searchSelectedIndex<0},searchMethods:function(){return[{title:this.localize("nearby"),method:"poiSearchNearBy"},{title:this.localize("more"),method:"poiKeywordsSearch"}]}},filters:{distance:function(e){return e>100?"".concat(e>1e3?(e/1e3).toFixed(1)+"k":e.toFixed(0),"m | "):e>0?"100m内 | ":""}},watch:{searchMethod:function(){this._searchPageIndex=1,this.searchEnd=!1,this.searchList=[],this._searchKeyword&&this.search()}},onLoad:function(){this.statusBarHeight=e.navigator.getStatusbarHeight(),this.mapHeight=e.screen.resolutionHeight/2;var t=this.data;this.userKeyword=t.keyword||"",this._searchInputTimer=null,this._searchPageIndex=1,this._searchKeyword="",this._nearPageIndex=1,this._hasUserLocation=!1,this._userLatitude=0,this._userLongitude=0},onReady:function(){this.mapContext=this.$refs.map1,this.data.latitude&&this.data.longitude?(this._hasUserLocation=!0,this.moveToCenter({latitude:this.data.latitude,longitude:this.data.longitude})):this.getUserLocation()},onUnload:function(){this.clearSearchTimer()},methods:{cancelClick:function(){this.postMessage({event:"cancel"})},doneClick:function(){if(!this.disableOK){var e=this.showSearch&&this.searchSelectedIndex>=0?this.searchList[this.searchSelectedIndex]:this.nearList[this.nearSelectedIndex],t={name:e.name,address:e.address,latitude:e.location.latitude,longitude:e.location.longitude};this.postMessage({event:"selected",detail:t})}},getUserLocation:function(){var t=this;e.geolocation.getCurrentPosition((function(e){var A=e.coordsType,a=e.coords;"wgs84"===A.toLowerCase()?t.wgs84togcjo2(a,(function(e){t.getUserLocationSuccess(e)})):t.getUserLocationSuccess(a)}),(function(e){t._hasUserLocation=!0,a("log","Gelocation Error: code - "+e.code+"; message - "+e.message," at template/__uniappchooselocation.nvue:292")}),{geocode:!1})},getUserLocationSuccess:function(e){this._userLatitude=e.latitude,this._userLongitude=e.longitude,this._hasUserLocation=!0,this.moveToCenter({latitude:e.latitude,longitude:e.longitude})},searchclick:function(t){this.showSearch=t,!1===t&&e.key.hideSoftKeybord()},showSearchView:function(){this.searchList=[],this.showSearch=!0},hideSearchView:function(){this.showSearch=!1,e.key.hideSoftKeybord(),this.noSearchData=!1,this.searchSelectedIndex=-1,this._searchKeyword=""},onregionchange:function(e){var t=this,A=e.detail,a=A.type||e.type;"drag"===(A.causedBy||e.causedBy)&&"end"===a&&this.mapContext.getCenterLocation((function(e){t.searchNearFlag?t.moveToCenter({latitude:e.latitude,longitude:e.longitude}):t.searchNearFlag=!t.searchNearFlag}))},onItemClick:function(e,t){this.searchNearFlag=!1,t.stopPropagation&&t.stopPropagation(),this.nearSelectedIndex!==e&&(this.nearSelectedIndex=e),this.moveToLocation(this.nearList[e]&&this.nearList[e].location)},moveToCenter:function(e){this.latitude===e.latitude&&this.longitude===e.longitude||(this.latitude=e.latitude,this.longitude=e.longitude,this.updateCenter(e),this.moveToLocation(e),this.isUserLocation=this._userLatitude===e.latitude&&this._userLongitude===e.longitude)},updateCenter:function(e){var t=this;this.nearSelectedIndex=-1,this.nearList=[],this._hasUserLocation&&(this._nearPageIndex=1,this.nearLoadingEnd=!1,this.reverseGeocode(e),this.searchNearByPoint(e),this.onItemClick(0,{stopPropagation:function(){t.searchNearFlag=!0}}),this.$refs.nearListLoadmore.resetLoadmore())},searchNear:function(){this.nearLoadingEnd||this.searchNearByPoint({latitude:this.latitude,longitude:this.longitude})},searchNearByPoint:function(e){var t=this;this.noNearData=!1,this.nearLoading=!0,c.poiSearchNearBy({point:{latitude:e.latitude,longitude:e.longitude},key:this.userKeyword,sortrule:1,index:this._nearPageIndex,radius:1e3},(function(e){t.nearLoading=!1,t._nearPageIndex=e.pageIndex+1,t.nearLoadingEnd=e.pageIndex===e.pageNumber,e.poiList&&e.poiList.length?(t.fixPois(e.poiList),t.nearList=t.nearList.concat(e.poiList),t.fixNearList()):t.noNearData=0===t.nearList.length}))},moveToLocation:function(e){e&&this.mapContext.moveToLocation(function(e){for(var t=1;t=2&&"地图位置"===e[0].name){var t=this.getAddressStart(e[1]),A=e[0].address;A.startsWith(t)&&(e[0].name=A.substring(t.length))}},onsearchinput:function(e){var t=this,A=e.detail.value.replace(/^\s+|\s+$/g,"");this.clearSearchTimer(),this._searchInputTimer=setTimeout((function(){clearTimeout(t._searchInputTimer),t._searchPageIndex=1,t.searchEnd=!1,t._searchKeyword=A,t.searchList=[],t.search()}),300)},clearSearchTimer:function(){this._searchInputTimer&&clearTimeout(this._searchInputTimer)},search:function(){var e=this;0===this._searchKeyword.length||this._searchEnd||this.searchLoading||(this.searchLoading=!0,this.noSearchData=!1,c[this.searchMethod]({point:{latitude:this.latitude,longitude:this.longitude},key:this._searchKeyword,sortrule:1,index:this._searchPageIndex,radius:5e4},(function(t){e.searchLoading=!1,e._searchPageIndex=t.pageIndex+1,e.searchEnd=t.pageIndex===t.pageNumber,t.poiList&&t.poiList.length?(e.fixPois(t.poiList),e.searchList=e.searchList.concat(t.poiList)):e.noSearchData=0===e.searchList.length})))},onSearchListTouchStart:function(){e.key.hideSoftKeybord()},onSearchItemClick:function(e,t){t.stopPropagation(),this.searchSelectedIndex!==e&&(this.searchSelectedIndex=e),this.moveToLocation(this.searchList[e]&&this.searchList[e].location)},getAddressStart:function(e){var t=e.addressOrigin||e.address;return e.province+(e.province===e.city?"":e.city)+(/^\d+$/.test(e.district)?"":t.startsWith(e.district)?"":e.district)},fixPois:function(e){for(var t=0;t1?t-1:0),a=1;a1){var r=o.pop();s=o.join("---COMMA---"),0===r.indexOf(" at ")?s+=r:s+="---COMMA---"+r}else s=o[0];console[n](s)}},function(e,t,A){"use strict";A.r(t);var a=A(14),i=A.n(a);for(var n in a)"default"!==n&&function(e){A.d(t,e,(function(){return a[e]}))}(n);t.default=i.a},,,,,function(e,t,A){"use strict";A.r(t);A(3);var a=A(7);a.default.mpType="page",a.default.route="template/__uniappchooselocation",a.default.el="#root",new Vue(a.default)}]);
\ No newline at end of file
diff --git a/ilsApp/unpackage/dist/dev/app-plus/__uniapperror.png b/ilsApp/unpackage/dist/dev/app-plus/__uniapperror.png
new file mode 100644
index 0000000000000000000000000000000000000000..4743b25e1284270fee6ba8fefdb5265f6c451a93
GIT binary patch
literal 5842
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
literal 0
HcmV?d00001
diff --git a/ilsApp/unpackage/dist/dev/app-plus/__uniappes6.js b/ilsApp/unpackage/dist/dev/app-plus/__uniappes6.js
new file mode 100644
index 0000000..d4018e8
--- /dev/null
+++ b/ilsApp/unpackage/dist/dev/app-plus/__uniappes6.js
@@ -0,0 +1 @@
+!function(t){"use strict";!function(t){var r={};function n(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=r,n.d=function(t,r,e){n.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:e})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,r){if(1&r&&(t=n(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(n.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var o in t)n.d(e,o,function(r){return t[r]}.bind(null,o));return e},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,"a",r),r},n.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},n.p="",n(n.s=0)}([function(t,r,n){n(1),n(54),n(61),n(66),n(68),n(69),n(70),n(71),n(73),n(74),n(76),n(84),n(85),n(86),n(95),n(96),n(98),n(99),n(100),n(102),n(103),n(104),n(105),n(106),n(107),n(109),n(110),n(111),n(112),n(121),n(124),n(125),n(127),n(129),n(130),n(131),n(132),n(133),n(135),n(137),n(140),n(141),n(143),n(145),n(146),n(147),n(148),n(150),n(151),n(152),n(153),n(154),n(156),n(157),n(159),n(160),n(161),n(162),n(163),n(164),n(165),n(166),n(167),n(168),n(170),n(171),n(172),n(174),n(178),n(179),n(180),n(181),n(187),n(189),n(192),n(193),n(194),n(195),n(196),n(197),n(198),n(199),n(201),n(202),n(203),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),t.exports=n(217)},function(r,n,e){var o=e(2),i=e(6),u=e(45),c=e(14),a=e(46),f=e(39),s=e(47),l=e(48),p=e(51),g=e(49),v=e(52),h=g("isConcatSpreadable"),d=v>=51||!i(function(){var t=[];return t[h]=!1,t.concat()[0]!==t}),x=p("concat"),y=function(r){if(!c(r))return!1;var n=r[h];return n!==t?!!n:u(r)};o({target:"Array",proto:!0,forced:!d||!x},{concat:function(t){var r,n,e,o,i,u=a(this),c=l(u,0),p=0;for(r=-1,e=arguments.length;r9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n=9007199254740991)throw TypeError("Maximum allowed index exceeded");s(c,p++,i)}return c.length=p,c}})},function(r,n,e){var o=e(3),i=e(4).f,u=e(18),c=e(21),a=e(25),f=e(32),s=e(44);r.exports=function(r,n){var e,l,p,g,v,h=r.target,d=r.global,x=r.stat;if(e=d?o:x?o[h]||a(h,{}):(o[h]||{}).prototype)for(l in n){if(g=n[l],p=r.noTargetGet?(v=i(e,l))&&v.value:e[l],!s(d?l:h+(x?".":"#")+l,r.forced)&&p!==t){if(typeof g==typeof p)continue;f(g,p)}(r.sham||p&&p.sham)&&u(g,"sham",!0),c(e,l,g,r)}}},function(t,r){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof global&&global)||Function("return this")()},function(t,r,n){var e=n(5),o=n(7),i=n(8),u=n(9),c=n(13),a=n(15),f=n(16),s=Object.getOwnPropertyDescriptor;r.f=e?s:function(t,r){if(t=u(t),r=c(r,!0),f)try{return s(t,r)}catch(t){}if(a(t,r))return i(!o.f.call(t,r),t[r])}},function(t,r,n){var e=n(6);t.exports=!e(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,r){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,r,n){var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!e.call({1:2},1);r.f=i?function(t){var r=o(this,t);return!!r&&r.enumerable}:e},function(t,r){t.exports=function(t,r){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:r}}},function(t,r,n){var e=n(10),o=n(12);t.exports=function(t){return e(o(t))}},function(t,r,n){var e=n(6),o=n(11),i="".split;t.exports=e(function(){return!Object("z").propertyIsEnumerable(0)})?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,r){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(r,n){r.exports=function(r){if(r==t)throw TypeError("Can't call method on "+r);return r}},function(t,r,n){var e=n(14);t.exports=function(t,r){if(!e(t))return t;var n,o;if(r&&"function"==typeof(n=t.toString)&&!e(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!e(o=n.call(t)))return o;if(!r&&"function"==typeof(n=t.toString)&&!e(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,r){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,r){var n={}.hasOwnProperty;t.exports=function(t,r){return n.call(t,r)}},function(t,r,n){var e=n(5),o=n(6),i=n(17);t.exports=!e&&!o(function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a})},function(t,r,n){var e=n(3),o=n(14),i=e.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,r,n){var e=n(5),o=n(19),i=n(8);t.exports=e?function(t,r,n){return o.f(t,r,i(1,n))}:function(t,r,n){return t[r]=n,t}},function(t,r,n){var e=n(5),o=n(16),i=n(20),u=n(13),c=Object.defineProperty;r.f=e?c:function(t,r,n){if(i(t),r=u(r,!0),i(n),o)try{return c(t,r,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[r]=n.value),t}},function(t,r,n){var e=n(14);t.exports=function(t){if(!e(t))throw TypeError(String(t)+" is not an object");return t}},function(t,r,n){var e=n(3),o=n(22),i=n(18),u=n(15),c=n(25),a=n(26),f=n(27),s=f.get,l=f.enforce,p=String(a).split("toString");o("inspectSource",function(t){return a.call(t)}),(t.exports=function(t,r,n,o){var a=!!o&&!!o.unsafe,f=!!o&&!!o.enumerable,s=!!o&&!!o.noTargetGet;"function"==typeof n&&("string"!=typeof r||u(n,"name")||i(n,"name",r),l(n).source=p.join("string"==typeof r?r:"")),t!==e?(a?!s&&t[r]&&(f=!0):delete t[r],f?t[r]=n:i(t,r,n)):f?t[r]=n:c(r,n)})(Function.prototype,"toString",function(){return"function"==typeof this&&s(this).source||a.call(this)})},function(r,n,e){var o=e(23),i=e(24);(r.exports=function(r,n){return i[r]||(i[r]=n!==t?n:{})})("versions",[]).push({version:"3.3.6",mode:o?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,r){t.exports=!1},function(t,r,n){var e=n(3),o=n(25),i=e["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,r,n){var e=n(3),o=n(18);t.exports=function(t,r){try{o(e,t,r)}catch(n){e[t]=r}return r}},function(t,r,n){var e=n(22);t.exports=e("native-function-to-string",Function.toString)},function(t,r,n){var e,o,i,u=n(28),c=n(3),a=n(14),f=n(18),s=n(15),l=n(29),p=n(31),g=c.WeakMap;if(u){var v=new g,h=v.get,d=v.has,x=v.set;e=function(t,r){return x.call(v,t,r),r},o=function(t){return h.call(v,t)||{}},i=function(t){return d.call(v,t)}}else{var y=l("state");p[y]=!0,e=function(t,r){return f(t,y,r),r},o=function(t){return s(t,y)?t[y]:{}},i=function(t){return s(t,y)}}t.exports={set:e,get:o,has:i,enforce:function(t){return i(t)?o(t):e(t,{})},getterFor:function(t){return function(r){var n;if(!a(r)||(n=o(r)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}}},function(t,r,n){var e=n(3),o=n(26),i=e.WeakMap;t.exports="function"==typeof i&&/native code/.test(o.call(i))},function(t,r,n){var e=n(22),o=n(30),i=e("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(r,n){var e=0,o=Math.random();r.exports=function(r){return"Symbol("+String(r===t?"":r)+")_"+(++e+o).toString(36)}},function(t,r){t.exports={}},function(t,r,n){var e=n(15),o=n(33),i=n(4),u=n(19);t.exports=function(t,r){for(var n=o(r),c=u.f,a=i.f,f=0;fa;)e(c,n=r[a++])&&(~i(f,n)||f.push(n));return f}},function(t,r,n){var e=n(9),o=n(39),i=n(41),u=function(t){return function(r,n,u){var c,a=e(r),f=o(a.length),s=i(u,f);if(t&&n!=n){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===n)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},function(t,r,n){var e=n(40),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,r){var n=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:n)(t)}},function(t,r,n){var e=n(40),o=Math.max,i=Math.min;t.exports=function(t,r){var n=e(t);return n<0?o(n+r,0):i(n,r)}},function(t,r){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,r){r.f=Object.getOwnPropertySymbols},function(t,r,n){var e=n(6),o=/#|\.prototype\./,i=function(t,r){var n=c[u(t)];return n==f||n!=a&&("function"==typeof r?e(r):!!r)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,r,n){var e=n(11);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,r,n){var e=n(12);t.exports=function(t){return Object(e(t))}},function(t,r,n){var e=n(13),o=n(19),i=n(8);t.exports=function(t,r,n){var u=e(r);u in t?o.f(t,u,i(0,n)):t[u]=n}},function(r,n,e){var o=e(14),i=e(45),u=e(49)("species");r.exports=function(r,n){var e;return i(r)&&("function"!=typeof(e=r.constructor)||e!==Array&&!i(e.prototype)?o(e)&&null===(e=e[u])&&(e=t):e=t),new(e===t?Array:e)(0===n?0:n)}},function(t,r,n){var e=n(3),o=n(22),i=n(30),u=n(50),c=e.Symbol,a=o("wks");t.exports=function(t){return a[t]||(a[t]=u&&c[t]||(u?c:i)("Symbol."+t))}},function(t,r,n){var e=n(6);t.exports=!!Object.getOwnPropertySymbols&&!e(function(){return!String(Symbol())})},function(t,r,n){var e=n(6),o=n(49),i=n(52),u=o("species");t.exports=function(t){return i>=51||!e(function(){var r=[];return(r.constructor={})[u]=function(){return{foo:1}},1!==r[t](Boolean).foo})}},function(t,r,n){var e,o,i=n(3),u=n(53),c=i.process,a=c&&c.versions,f=a&&a.v8;f?o=(e=f.split("."))[0]+e[1]:u&&(!(e=u.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=u.match(/Chrome\/(\d+)/))&&(o=e[1]),t.exports=o&&+o},function(t,r,n){var e=n(34);t.exports=e("navigator","userAgent")||""},function(t,r,n){var e=n(2),o=n(55),i=n(56);e({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(r,n,e){var o=e(46),i=e(41),u=e(39),c=Math.min;r.exports=[].copyWithin||function(r,n){var e=o(this),a=u(e.length),f=i(r,a),s=i(n,a),l=arguments.length>2?arguments[2]:t,p=c((l===t?a:i(l,a))-s,a-f),g=1;for(s0;)s in e?e[f]=e[s]:delete e[f],f+=g,s+=g;return e}},function(r,n,e){var o=e(49),i=e(57),u=e(18),c=o("unscopables"),a=Array.prototype;a[c]==t&&u(a,c,i(null)),r.exports=function(t){a[c][t]=!0}},function(r,n,e){var o=e(20),i=e(58),u=e(42),c=e(31),a=e(60),f=e(17),s=e(29)("IE_PROTO"),l=function(){},p=function(){var t,r=f("iframe"),n=u.length;for(r.style.display="none",a.appendChild(r),r.src=String("javascript:"),(t=r.contentWindow.document).open(),t.write("
+    View
+    
+  
+
+  
+    
+    
+    
+    
+  
+
+