{"version":3,"file":"CctUi.umd.min.js","mappings":"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","sources":["webpack://CctUi/webpack/universalModuleDefinition","webpack://CctUi/./src/components/Signature/wgssSigCaptX.js","webpack://CctUi/./node_modules/vuetify-loader/lib/runtime/installComponents.js","webpack://CctUi/external umd {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://CctUi/webpack/bootstrap","webpack://CctUi/webpack/runtime/compat get default export","webpack://CctUi/webpack/runtime/define property getters","webpack://CctUi/webpack/runtime/hasOwnProperty shorthand","webpack://CctUi/webpack/runtime/make namespace object","webpack://CctUi/webpack/runtime/publicPath","webpack://CctUi/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://CctUi/./src/components/Sample.vue?28df","webpack://CctUi/./node_modules/axios/lib/helpers/bind.js","webpack://CctUi/./node_modules/axios/lib/utils.js","webpack://CctUi/./node_modules/axios/lib/core/AxiosError.js","webpack://CctUi/./node_modules/axios/lib/helpers/null.js","webpack://CctUi/./node_modules/axios/lib/helpers/toFormData.js","webpack://CctUi/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://CctUi/./node_modules/axios/lib/helpers/buildURL.js","webpack://CctUi/./node_modules/axios/lib/core/InterceptorManager.js","webpack://CctUi/./node_modules/axios/lib/defaults/transitional.js","webpack://CctUi/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://CctUi/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://CctUi/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://CctUi/./node_modules/axios/lib/platform/browser/index.js","webpack://CctUi/./node_modules/axios/lib/platform/common/utils.js","webpack://CctUi/./node_modules/axios/lib/platform/index.js","webpack://CctUi/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://CctUi/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://CctUi/./node_modules/axios/lib/defaults/index.js","webpack://CctUi/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://CctUi/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://CctUi/./node_modules/axios/lib/core/transformData.js","webpack://CctUi/./node_modules/axios/lib/cancel/isCancel.js","webpack://CctUi/./node_modules/axios/lib/cancel/CanceledError.js","webpack://CctUi/./node_modules/axios/lib/core/settle.js","webpack://CctUi/./node_modules/axios/lib/helpers/cookies.js","webpack://CctUi/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://CctUi/./node_modules/axios/lib/helpers/combineURLs.js","webpack://CctUi/./node_modules/axios/lib/core/buildFullPath.js","webpack://CctUi/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://CctUi/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://CctUi/./node_modules/axios/lib/helpers/speedometer.js","webpack://CctUi/./node_modules/axios/lib/adapters/xhr.js","webpack://CctUi/./node_modules/axios/lib/adapters/adapters.js","webpack://CctUi/./node_modules/axios/lib/core/dispatchRequest.js","webpack://CctUi/./node_modules/axios/lib/core/mergeConfig.js","webpack://CctUi/./node_modules/axios/lib/env/data.js","webpack://CctUi/./node_modules/axios/lib/helpers/validator.js","webpack://CctUi/./node_modules/axios/lib/core/Axios.js","webpack://CctUi/./node_modules/axios/lib/cancel/CancelToken.js","webpack://CctUi/./node_modules/axios/lib/helpers/spread.js","webpack://CctUi/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://CctUi/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://CctUi/./node_modules/axios/lib/axios.js","webpack://CctUi/src/components/Sample.vue","webpack://CctUi/./src/components/Sample.vue?f6c0","webpack://CctUi/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://CctUi/./src/components/Sample.vue","webpack://CctUi/./src/components/CctUkLayout.vue?b975","webpack://CctUi/src/components/CctUkLayout.vue","webpack://CctUi/./src/components/CctUkLayout.vue?e6b8","webpack://CctUi/./src/components/CctUkLayout.vue","webpack://CctUi/./src/components/CctVLayout.vue?8985","webpack://CctUi/src/components/CctVLayout.vue","webpack://CctUi/./src/components/CctVLayout.vue?687d","webpack://CctUi/../../../src/mixins/themeable/index.ts","webpack://CctUi/../../src/util/mixins.ts","webpack://CctUi/../../../src/components/VApp/VApp.ts","webpack://CctUi/../../../src/components/VGrid/grid.ts","webpack://CctUi/../../src/util/helpers.ts","webpack://CctUi/../../src/util/mergeData.ts","webpack://CctUi/../../../src/components/VGrid/VContainer.ts","webpack://CctUi/../../../src/mixins/ssr-bootable/index.ts","webpack://CctUi/../../../src/components/VMain/VMain.ts","webpack://CctUi/./src/components/CctVLayout.vue","webpack://CctUi/./src/components/CctJsonView.vue?13ba","webpack://CctUi/src/components/CctJsonView.vue","webpack://CctUi/./src/components/CctJsonView.vue?f8c9","webpack://CctUi/./src/components/CctJsonView.vue","webpack://CctUi/./src/components/CctSignature.vue?236f","webpack://CctUi/src/components/CctSignature.vue","webpack://CctUi/./src/components/CctSignature.vue?8749","webpack://CctUi/./src/components/CctSignature.vue","webpack://CctUi/./src/components/CctUserSignature.vue?960f","webpack://CctUi/src/components/CctUserSignature.vue","webpack://CctUi/./src/components/CctUserSignature.vue?5ddc","webpack://CctUi/./src/components/CctUserSignature.vue","webpack://CctUi/./src/components/CctSignByPin.vue?3698","webpack://CctUi/src/components/CctSignByPin.vue","webpack://CctUi/./src/components/CctSignByPin.vue?852b","webpack://CctUi/./src/components/CctSignByPin.vue"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"CctUi\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"CctUi\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__274__) {\nreturn ","//==============================================================================\r\n// wgssSigCaptX.js\r\n// Copyright (c) 2022 Wacom Co.,Ltd.\r\n//==============================================================================\r\n\r\nvar JSONreq = {\r\n maxChunkSize: 65535, // size of chunks to split the message into\r\n callbackTable: [], // here we are going to save messageID and associate callback\r\n messageCounter: 0,\r\n secure: true,\r\n\r\n getJSON_GET_URL: function (address) {\r\n return (this.secure ? \"https://\" : \"http://\") + address;\r\n },\r\n\r\n getJSON_GET_common: function (address, data, callback) {\r\n var url = this.getJSON_GET_URL(address);\r\n\r\n var messageId = ++this.messageCounter;\r\n\r\n var src = url + (url.indexOf(\"?\") + 1 ? \"&\" : \"?\");\r\n var params = [];\r\n var param_name = \"\";\r\n\r\n var script_name = \"json-\" + messageId;\r\n data[\"script_name\"] = script_name;\r\n data[\"_rand\"] = Math.random();\r\n this.callbackTable[script_name] = callback;\r\n\r\n for (param_name in data) {\r\n params.push(param_name + \"=\" + encodeURIComponent(data[param_name]));\r\n }\r\n src += params.join(\"&\");\r\n return src;\r\n },\r\n\r\n getJSON_GET_script: function (address, data, callback) {\r\n data[\"callback\"] = \"JSONreq.successScript\";\r\n var src = this.getJSON_GET_common(address, data, callback);\r\n\r\n var head = document.getElementsByTagName(\"head\")[0];\r\n var newScript = document.createElement(\"script\");\r\n\r\n newScript.type = \"text/javascript\";\r\n newScript.src = src;\r\n newScript.id = data[\"script_name\"];\r\n\r\n head.appendChild(newScript);\r\n },\r\n\r\n getJSON_GET_fetch: function (address, data, callback) {\r\n data[\"callback\"] = \"JSONreq.successFetch\";\r\n var src = this.getJSON_GET_common(address, data, callback);\r\n\r\n fetch(src)\r\n .then(function (response) {\r\n return response.text();\r\n })\r\n .then(function (script) {\r\n eval(script);\r\n });\r\n },\r\n\r\n successCommon: function (server_data) {\r\n var messageId = server_data.script_name;\r\n delete server_data.script_name;\r\n try {\r\n this.callbackTable[messageId](server_data);\r\n } finally {\r\n delete this.callbackTable[messageId];\r\n }\r\n return messageId;\r\n },\r\n\r\n successFetch: function (server_data) {\r\n this.successCommon(server_data);\r\n },\r\n\r\n successScript: function (server_data) {\r\n var script_name = this.successCommon(server_data);\r\n\r\n var head = document.getElementsByTagName(\"head\")[0];\r\n var the_script = document.getElementById(script_name);\r\n head.removeChild(the_script);\r\n },\r\n\r\n onMessage: function (message) {\r\n if (typeof message.data !== \"undefined\" && message.data != \"\") {\r\n //console.debug(\"onMessage:\" + message.data);\r\n try {\r\n var arg = JSON.parse(message.data); // assumes single frame!\r\n if (this.callbackTable[arg._messageId]) {\r\n try {\r\n this.callbackTable[arg._messageId](arg);\r\n } catch (e) {\r\n console.debug(\r\n \"callback '\" +\r\n this.callbackTable[arg._messageId] +\r\n \"' threw an exception: \" +\r\n e\r\n );\r\n } finally {\r\n delete this.callbackTable[arg._messageId];\r\n }\r\n }\r\n } catch (e) {\r\n console.warn(\"onMessage exception [\" + message.target.url + \"]: \", e);\r\n }\r\n } else {\r\n console.debug(\r\n \"onMessage: ignoring null message [\" +\r\n message.target.url +\r\n \"] : created by: \",\r\n message.target[\"ensureSocketOpen_data\"]\r\n );\r\n }\r\n },\r\n\r\n onCloseError: function (msg, src) {\r\n try {\r\n var id = msg.target[\"ensureSocketOpen_Id\"];\r\n\r\n if (\r\n JSONreq.webSocket1 &&\r\n JSONreq.webSocket1[\"ensureSocketOpen_Id\"] == id\r\n ) {\r\n //console.debug(src+\": deleting JSONreq.webSocket1 from: \", msg.target[\"ensureSocketOpen_data\"]);\r\n delete JSONreq.webSocket1;\r\n JSONreq.webSocket1 = null;\r\n } else if (\r\n JSONreq.webSocket2 &&\r\n JSONreq.webSocket2[\"ensureSocketOpen_Id\"] == id\r\n ) {\r\n //console.debug(src+\": deleting JSONreq.webSocket2 from: \", msg.target[\"ensureSocketOpen_data\"]);\r\n delete JSONreq.webSocket2;\r\n JSONreq.webSocket2 = null;\r\n } else {\r\n //console.debug(src+\" (orphan): \"+msg.target.url+\" from: \", msg.target[\"ensureSocketOpen_data\"]);\r\n }\r\n } catch (e) {\r\n console.debug(src + \" exception\", e);\r\n }\r\n },\r\n\r\n onClose: function (msg) {\r\n this.onCloseError(msg, \"onClose\");\r\n },\r\n\r\n onError: function (msg) {\r\n this.onCloseError(msg, \"onError\");\r\n },\r\n\r\n _send: function (webSocket, str) {\r\n var length = str.length;\r\n var pos = 0;\r\n\r\n while (pos < length) {\r\n var header = pos + this.MaxChunkSize < length ? \"0\" : \"1\";\r\n var chunk = str.substr(pos, this.MaxChunkSize);\r\n\r\n webSocket.send(header + chunk);\r\n pos += this.MaxChunkSize;\r\n }\r\n },\r\n\r\n sendMessage: function (webSocket, data, callback) {\r\n var messageId = ++this.messageCounter;\r\n\r\n data[\"_messageId\"] = messageId;\r\n var params = [];\r\n var param_name = \"\";\r\n for (param_name in data) {\r\n params.push(param_name + \"=\" + encodeURIComponent(data[param_name]));\r\n }\r\n //console.debug(\"sendMessage(\"+webSocket.url+\"): \"+params.join(\"&\"));\r\n\r\n this.callbackTable[messageId] = callback;\r\n this._send(webSocket, params.join(\"&\"));\r\n },\r\n\r\n // returns a promise that resolves when the connection is open\r\n ensureSocketOpen: /*async*/ function (url, data) {\r\n var JSONreq = this;\r\n\r\n var usePrimarySocket = true;\r\n var webSocket = JSONreq.webSocket1;\r\n var value = data[\"WizCtl\"];\r\n var setEvent = value == \"SetEventHandler\";\r\n if (value && (setEvent || value == \"UpdateEventHandler\")) {\r\n usePrimarySocket = false;\r\n\r\n if (JSONreq.webSocket2 && setEvent) {\r\n //console.debug(\"new SetEventHandler - replace webSocket2\");\r\n /*await*/ JSONreq.webSocket2.close();\r\n JSONreq.webSocket2 = null;\r\n }\r\n webSocket = JSONreq.webSocket2;\r\n } else {\r\n if (webSocket && webSocket.url != url) {\r\n //console.debug(\"URL changed: replacing webSocket1\");\r\n /*await*/ webSocket.close();\r\n JSONreq.webSocket1 = webSocket = null;\r\n }\r\n }\r\n\r\n return new Promise(function (resolve, reject) {\r\n if (webSocket) {\r\n if (webSocket.readyState == 1) resolve(webSocket);\r\n else reject(webSocket.readyState);\r\n } else {\r\n new Promise(function (innerResolve, innerReject) {\r\n //console.debug(\"new WebSocket: \"+url);\r\n webSocket = new WebSocket(url);\r\n\r\n var timeoutId = setTimeout(function () {\r\n console.debug(\"fast timeout triggered\");\r\n webSocket.onclose = webSocket.onerror = null;\r\n webSocket.close();\r\n innerReject(\"fast timeout\");\r\n }, 1000);\r\n\r\n webSocket.onopen = function (msg) {\r\n clearTimeout(timeoutId);\r\n if (msg.target.readyState == 1) {\r\n msg.target[\"ensureSocketOpen_data\"] = data;\r\n innerResolve(msg.target);\r\n } else {\r\n innerReject(msg.target.readyState);\r\n }\r\n };\r\n webSocket.onclose = function (msg) {\r\n clearTimeout(timeoutId);\r\n innerReject(msg.target.readyState);\r\n };\r\n webSocket.onerror = function (msg) {\r\n clearTimeout(timeoutId);\r\n innerReject(msg.target.readyState);\r\n };\r\n })\r\n .then(function (sock) {\r\n sock.onmessage = JSONreq.onMessage.bind(JSONreq);\r\n sock.onclose = JSONreq.onClose.bind(JSONreq);\r\n sock.onerror = JSONreq.onError.bind(JSONreq);\r\n\r\n sock[\"ensureSocketOpen_Id\"] = JSONreq.messageCounter;\r\n\r\n if (usePrimarySocket) JSONreq.webSocket1 = sock;\r\n else JSONreq.webSocket2 = sock;\r\n\r\n resolve(sock);\r\n })\r\n .catch(function (e) {\r\n reject(e);\r\n });\r\n }\r\n });\r\n },\r\n\r\n getJSON_WebSocket: function (address, data, callback, allowFallback) {\r\n var url = (this.secure ? \"wss://\" : \"ws://\") + address;\r\n\r\n var JSONreq = this;\r\n this.ensureSocketOpen(url, data)\r\n .then(function (webSocket) {\r\n JSONreq.sendMessage(webSocket, data, callback);\r\n })\r\n .catch(function (e) {\r\n if (e == \"fast timeout\" && typeof allowFallback != \"undefined\") {\r\n JSONreq.getJSON = JSONreq.getJSON_GET_script;\r\n JSONreq.getJSON(address, data, callback);\r\n } else {\r\n console.warn(\"getJSON_getWebSocket exception:\", e);\r\n var server_data = [];\r\n server_data[\"status\"] = 3;\r\n server_data[\"exception\"] = e;\r\n try {\r\n callback(server_data);\r\n } catch (e) {\r\n console.debug(\r\n \"callback '\" + callback + \"' threw an exception: \" + e\r\n );\r\n }\r\n }\r\n });\r\n },\r\n\r\n getJSON: function (address, data, callback) {\r\n var isIE =\r\n window.navigator.userAgent.indexOf(\"MSIE \") != -1 ||\r\n window.navigator.userAgent.indexOf(\"Trident/\") != -1;\r\n if (isIE)\r\n console.debug(\r\n \"Internet Explorer detected: using \" +\r\n (this.secure ? \"https\" : \"http\") +\r\n \" GET\"\r\n );\r\n\r\n this.getJSON = !isIE ? this.getJSON_WebSocket : this.getJSON_GET_script;\r\n return this.getJSON(address, data, callback, true);\r\n },\r\n};\r\n\r\nconst fItalic = 0;\r\nconst fUnderline = 0;\r\n\r\nfunction WacomGSS_SignatureSDK(_onDetectRunning, service_port) {\r\n this.running = false;\r\n this.session = null;\r\n this.service_detected = false;\r\n this.service_fileVersion = null;\r\n this.service_port = service_port;\r\n var sigsdkptr = this;\r\n\r\n var service_hostname = \"localhost\";\r\n var server_address;\r\n //JSONreq.secure = false;\r\n\r\n this.RBFlags = {\r\n //RenderOutputBinary : 2048, // Not supported in SigCaptX\r\n //RenderOutputFilename : 4096, // Not supported in SigCaptX\r\n RenderOutputPicture: 2097152,\r\n RenderOutputBase64: 8192,\r\n RenderBackgroundTransparent: 65536,\r\n RenderColor1BPP: 131072,\r\n RenderColor24BPP: 262144,\r\n RenderColor32BPP: 524288,\r\n RenderColorAntiAlias: 1048576,\r\n RenderEncodeData: 4194304,\r\n RenderWatermark: 8388608,\r\n RenderClipped: 16777216,\r\n RenderRelative: 33554432,\r\n };\r\n\r\n this.IntegrityStatus = {\r\n IntegrityOK: 0,\r\n IntegrityFail: 1,\r\n IntegrityMissing: 2,\r\n IntegrityWrongType: 3,\r\n IntegrityInsufficientData: 4,\r\n IntegrityUncertain: 5,\r\n IntegrityUnsupported: 6,\r\n };\r\n\r\n this.HashType = {\r\n HashNone: 0,\r\n HashMD5: 1,\r\n HashSHA1: 2,\r\n HashSHA224: 3,\r\n HashSHA256: 4,\r\n HashSHA384: 5,\r\n HashSHA512: 6,\r\n };\r\n\r\n this.KeyType = {\r\n KeyNone: 0,\r\n KeyMD5: 1,\r\n KeyMD5MAC: 2,\r\n KeySHA1: 3,\r\n KeySHA224: 4,\r\n KeySHA256: 5,\r\n KeySHA384: 6,\r\n KeySHA512: 7,\r\n KeyCAPICOM: 8,\r\n };\r\n\r\n this.SignedData = {\r\n DataGood: 0,\r\n DataNoHash: 1,\r\n DataBadType: 2,\r\n DataBadHash: 3,\r\n DataError: 4,\r\n DataUncertain: 5,\r\n DataSigMoved: 6,\r\n };\r\n\r\n this.CaptData = {\r\n CaptDigitizer: 26,\r\n CaptDigitizerDriver: 27,\r\n CaptMachineOS: 28,\r\n CaptNetworkCard: 29,\r\n };\r\n\r\n this.DynamicCaptureResult = {\r\n DynCaptOK: 0,\r\n DynCaptCancel: 1,\r\n DynCaptPadError: 100,\r\n DynCaptError: 101,\r\n DynCaptNotLicensed: 103,\r\n DynCaptAbort: 200,\r\n DynCaptIntegrityKeyInvalid: 102,\r\n };\r\n\r\n this.TimeZone = {\r\n TimeLocal: 0,\r\n TimeGMT: 1,\r\n TimeUTC: 1,\r\n };\r\n\r\n this.DisplayMode = {\r\n DspForceFit: 0,\r\n DspUseZoom: 1,\r\n DspBestFit: 2,\r\n };\r\n\r\n this.ShowText = {\r\n TxtDontShow: 0,\r\n TxtShowLeft: 1,\r\n TxtShowCenter: 2,\r\n TxtShowRight: 4,\r\n };\r\n\r\n this.ObjectType = {\r\n ObjectText: 0,\r\n ObjectButton: 1,\r\n ObjectCheckbox: 2,\r\n ObjectSignature: 3,\r\n ObjectInput: 4,\r\n ObjectInputEcho: 5,\r\n ObjectHash: 6,\r\n ObjectImage: 7,\r\n ObjectDisplayAtShutdown: 8,\r\n ObjectInking: 9,\r\n ObjectRadioButton: 10,\r\n };\r\n\r\n this.TextOptions = {\r\n TextAlignLeft: 0,\r\n TextAlignRight: 1,\r\n TextAlignCentre: 2,\r\n TextAlignJustify: 3,\r\n };\r\n\r\n this.ButtonOptions = {\r\n BtnAlignCentre: 0,\r\n BtnAlignMiddle: 0,\r\n BtnAlignLeft: 1,\r\n BtnAlignRight: 2,\r\n BtnAlignTop: 4,\r\n BtnAlignBottom: 8,\r\n };\r\n\r\n this.CheckBoxOptions = {\r\n CheckboxUnchecked: 0,\r\n CheckboxChecked: 1,\r\n CheckboxDisplayTick: 2,\r\n CheckboxDisplayCross: 4,\r\n };\r\n\r\n this.ObjectOptionType = {\r\n OBJECTOPTION_STRING: 0,\r\n OBJECTOPTION_INT: 1,\r\n OBJECTOPTION_BOOL: 2,\r\n };\r\n\r\n this.VariantType = {\r\n VARIANT_EMPTY: 0,\r\n VARIANT_TEXT: 1,\r\n VARIANT_NUM: 2,\r\n VARIANT_OBJECTOPTIONS: 3,\r\n VARIANT_SIGOBJ: 4,\r\n VARIANT_SIGCTL: 5,\r\n VARIANT_INPUTOBJ: 6,\r\n VARIANT_HASH: 7,\r\n VARIANT_IMGURL: 8,\r\n VARIANT_BASE64: 9,\r\n VARIANT_DYNCAP: 10,\r\n VARIANT_WIZCTL: 11,\r\n VARIANT_FONT: 12,\r\n VARIANT_KEY: 13,\r\n };\r\n\r\n this.PrimitiveType = {\r\n PrimitiveLine: 0,\r\n PrimitiveRectangle: 1,\r\n PrimitiveEllipse: 2,\r\n };\r\n\r\n this.PrimitiveOptions = {\r\n PrimitiveLineSolid: 0x1,\r\n PrimitiveLineDashed: 0x2,\r\n PrimitiveOutline: 0x4,\r\n PrimitiveFill: 0x8,\r\n PrimitiveFillXOR: 0x10,\r\n };\r\n\r\n this.EventType = {\r\n EvTextClicked: 0,\r\n EvButtonClicked: 1,\r\n EvCheckboxChecked: 2,\r\n EvCheckboxUnchecked: 3,\r\n EvInputMinReached: 4,\r\n EvInputMaxReached: 5,\r\n EvInputExceeded: 6,\r\n };\r\n\r\n this.EncryptAlg = {\r\n EncryptNone: 0,\r\n EncryptTripleDES: 1,\r\n };\r\n\r\n this.ResponseStatus = {\r\n OK: 0,\r\n FAILED: 1,\r\n INVALID_SESSION: 3,\r\n };\r\n\r\n this.FontWeight = {\r\n FW_DONTCARE: 0,\r\n FW_THIN: 100,\r\n FW_EXTRALIGHT: 200,\r\n FW_LIGHT: 300,\r\n FW_NORMAL: 400,\r\n FW_MEDIUM: 500,\r\n FW_SEMIBOLD: 600,\r\n FW_BOLD: 700,\r\n FW_EXTRABOLD: 800,\r\n FW_HEAVY: 900,\r\n FW_ULTRALIGHT: 200,\r\n FW_REGULAR: 400,\r\n FW_DEMIBOLD: 600,\r\n FW_ULTRABOLD: 800,\r\n FW_BLACK: 900,\r\n };\r\n\r\n this.FontCharset = {\r\n ANSI_CHARSET: 0,\r\n DEFAULT_CHARSET: 1,\r\n SYMBOL_CHARSET: 2,\r\n SHIFTJIS_CHARSET: 128,\r\n HANGEUL_CHARSET: 129,\r\n HANGUL_CHARSET: 129,\r\n GB2312_CHARSET: 134,\r\n CHINESEBIG5_CHARSET: 136,\r\n OEM_CHARSET: 255,\r\n JOHAB_CHARSET: 130,\r\n HEBREW_CHARSET: 177,\r\n ARABIC_CHARSET: 178,\r\n GREEK_CHARSET: 161,\r\n TURKISH_CHARSET: 162,\r\n VIETNAMESE_CHARSET: 163,\r\n THAI_CHARSET: 222,\r\n EASTEUROPE_CHARSET: 238,\r\n RUSSIAN_CHARSET: 204,\r\n MAC_CHARSET: 77,\r\n BALTIC_CHARSET: 186,\r\n FS_LATIN1: 0x00000001,\r\n FS_LATIN2: 0x00000002,\r\n FS_CYRILLIC: 0x00000004,\r\n FS_GREEK: 0x00000008,\r\n FS_TURKISH: 0x00000010,\r\n FS_HEBREW: 0x00000020,\r\n FS_ARABIC: 0x00000040,\r\n FS_BALTIC: 0x00000080,\r\n FS_VIETNAMESE: 0x00000100,\r\n FS_THAI: 0x00010000,\r\n FS_JISJAPAN: 0x00020000,\r\n FS_CHINESESIMP: 0x00040000,\r\n FS_WANSUNG: 0x00080000,\r\n FS_CHINESETRAD: 0x00100000,\r\n FS_JOHAB: 0x00200000,\r\n FS_SYMBOL: 0x80000000,\r\n };\r\n\r\n this.Font = function (\r\n _name,\r\n _size,\r\n _weight,\r\n _charset,\r\n _italic,\r\n _underline,\r\n _strike\r\n ) {\r\n this.type = sigsdkptr.VariantType.VARIANT_FONT;\r\n this.fontName = typeof _name == \"undefined\" ? \"Arial\" : _name;\r\n this.fontSize = typeof _size == \"undefined\" ? 8 : _size;\r\n this.sWeight =\r\n typeof _weight == \"undefined\" ? sigsdkptr.FontWeight.FW_NORMAL : _weight;\r\n this.sCharset =\r\n typeof _charset == \"undefined\"\r\n ? sigsdkptr.FontCharset.ANSI_CHARSET\r\n : _charset;\r\n this.fItalic = typeof fItalic == \"undefined\" ? 0 : fItalic;\r\n this.fUnderline = typeof _underline == \"undefined\" ? 0 : fUnderline;\r\n this.fStrikethrough = typeof _strike == \"undefined\" ? 0 : _strike;\r\n };\r\n\r\n this.keepAlive = function () {\r\n var data = {\r\n session: sigsdkptr.session,\r\n KeepAlive: 1,\r\n };\r\n\r\n function callback(server_data) {\r\n try {\r\n if (\r\n typeof server_data.status === \"undefined\" ||\r\n server_data.status == 0\r\n ) {\r\n setTimeout(sigsdkptr.keepAlive, 5000); //20000\r\n } else {\r\n console.debug(\"keepalive: dead session, restarting\");\r\n sigsdkptr.session = 0;\r\n sigsdkptr.getPort();\r\n }\r\n } catch (e) {\r\n console.warn(\"keepalive callback exception:\", e);\r\n }\r\n }\r\n\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n function onGetSession(server_data) {\r\n if (0 == server_data.status) {\r\n sigsdkptr.session = server_data.session;\r\n sigsdkptr.running = true;\r\n _onDetectRunning();\r\n setTimeout(sigsdkptr.keepAlive, 20000);\r\n } else {\r\n console.log(\"Signature SDK local server error: \" + server_data.status);\r\n }\r\n }\r\n\r\n function onGetPort(server_data) {\r\n if (0 == server_data.status) {\r\n sigsdkptr.service_detected = true;\r\n if (server_data.fileVersion) {\r\n console.info(\r\n \"connected to SigCaptX Service v\" + server_data.fileVersion\r\n );\r\n sigsdkptr.service_fileVersion = server_data.fileVersion;\r\n }\r\n server_address = service_hostname + \":\" + server_data.port;\r\n var data = {\r\n CreateSession: 1,\r\n };\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, onGetSession);\r\n } else {\r\n console.log(\"Signature SDK Service error: \" + server_data.status);\r\n }\r\n }\r\n\r\n function internalDestroySession() {\r\n if (sigsdkptr.session != 0) {\r\n try {\r\n var u =\r\n JSONreq.getJSON_GET_URL(server_address + \"/wacom.js\") +\r\n \"?DestroySession=1&session=\" +\r\n sigsdkptr.session;\r\n\r\n sigsdkptr.session = 0;\r\n\r\n if (navigator.sendBeacon != undefined) {\r\n console.debug(\"sending DestroySession beacon: \" + u);\r\n navigator.sendBeacon(u);\r\n } else {\r\n console.debug(\"no beacon support: cannot send destroySession\");\r\n // var r = new XMLHttpRequest();\r\n // r.open(\"GET\", u, false); // synchronous\r\n // r.send(null);\r\n }\r\n } catch (e) {\r\n console.warn(\"destroySession exception: \" + e);\r\n }\r\n }\r\n }\r\n\r\n this.callInternalDestroySession = function () {\r\n internalDestroySession();\r\n };\r\n\r\n this.destroySession = function (_onDestroySession) {\r\n var data = {\r\n DestroySession: 1,\r\n session: sigsdkptr.session,\r\n };\r\n function callback(server_data) {\r\n console.debug(\"destroySession callback: \", server_data);\r\n _onDestroySession();\r\n }\r\n sigsdkptr.session = 0;\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n window.addEventListener(\"unload\", function (event) {\r\n console.debug(\"unload event\", event);\r\n internalDestroySession();\r\n });\r\n\r\n this.getPort = function (_onGetPort) {\r\n var data = { GetPort: 1 };\r\n JSONreq.getJSON(\r\n service_hostname + \":\" + service_port + \"/wacom.js\",\r\n data,\r\n _onGetPort\r\n );\r\n };\r\n this.getPort(onGetPort);\r\n\r\n this.getVersion = function (_onGetVersion) {\r\n var data = {\r\n GetVersion: 1,\r\n session: sigsdkptr.session,\r\n };\r\n function callback(server_data) {\r\n _onGetVersion(\r\n /*thisptr,*/ server_data.version,\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n function checkVar(input) {\r\n return \"undefined\" == typeof input || null == input ? \"\" : input;\r\n }\r\n\r\n this.Hash = function (_onHash) {\r\n var thisptr = this;\r\n this.handle = null;\r\n this.type = sigsdkptr.VariantType.VARIANT_HASH;\r\n\r\n var data = {\r\n Hash: \"Constructor\",\r\n session: sigsdkptr.session,\r\n };\r\n function callback(server_data) {\r\n thisptr.handle = server_data.handle;\r\n _onHash(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n\r\n // hData is a sigsdkptr.Variant\r\n this.Add = function (hData, _onAdd) {\r\n var data = {\r\n Hash: \"Add\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n hData.Stringify(data, \"hData\");\r\n function callback(server_data) {\r\n _onAdd(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.Clear = function (_onClear) {\r\n var data = {\r\n Hash: \"Clear\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n _onClear(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetType = function (_onGetType) {\r\n var data = {\r\n Hash: \"GetType\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.type type is sigsdkptr.HashType\r\n _onGetType(\r\n thisptr,\r\n parseInt(server_data.hashType),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // type is sigsdkptr.HashType\r\n this.PutType = function (type, _onPutType) {\r\n var data = {\r\n Hash: \"PutType\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n type: checkVar(type),\r\n };\r\n function callback(server_data) {\r\n _onPutType(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n };\r\n\r\n this.Key = function (_onKey) {\r\n var thisptr = this;\r\n this.handle = null;\r\n this.type = sigsdkptr.VariantType.VARIANT_KEY;\r\n\r\n var data = {\r\n Key: \"Constructor\",\r\n session: sigsdkptr.session,\r\n };\r\n function callback(server_data) {\r\n thisptr.handle = server_data.handle;\r\n _onKey(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n\r\n this.GetType = function (_onGetType) {\r\n var data = {\r\n Key: \"GetType\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.type type is sigsdkptr.KeyType\r\n _onGetType(\r\n thisptr,\r\n parseInt(server_data.type),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // type is sigsdkptr.KeyType\r\n // value is sigsdkptr.Variant\r\n this.Set = function (type, value, _onSet) {\r\n var data = {\r\n Key: \"Set\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n type: checkVar(type),\r\n };\r\n value.Stringify(data, \"value\");\r\n function callback(server_data) {\r\n _onSet(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n };\r\n\r\n this.Bitmap = function () {\r\n //var thisptr = this;\r\n this.handle = null;\r\n this.isBase64 = false;\r\n this.mime_type = null;\r\n this.image = new Image();\r\n };\r\n\r\n this.SigObj = function () {\r\n var thisptr = this;\r\n this.handle = null;\r\n this.type = sigsdkptr.VariantType.VARIANT_SIGOBJ;\r\n\r\n // key is sigsdkptr.Key\r\n this.CheckIntegrity = function (key, _onCheckIntegrity) {\r\n var data = {\r\n SigObj: \"CheckIntegrity\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n var vKey = new sigsdkptr.Variant();\r\n vKey.Set(key);\r\n vKey.Stringify(data, \"key\");\r\n function callback(server_data) {\r\n //server_data.status type is sigsdkptr.IntegrityStatus\r\n _onCheckIntegrity(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // hash type is sigsdkptr.Hash\r\n this.CheckSignedData = function (hash, _onCheckSignedData) {\r\n var data = {\r\n SigObj: \"CheckSignedData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n HashHandle: checkVar(hash.handle),\r\n };\r\n function callback(server_data) {\r\n //server_data.status type is sigsdkptr.SignedData\r\n _onCheckSignedData(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.Clear = function (_onClear) {\r\n var data = {\r\n SigObj: \"Clear\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n _onClear(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // captData type is sigsdkptr.CaptData\r\n this.GetAdditionalData = function (captData, _onGetAdditionalData) {\r\n var data = {\r\n SigObj: \"GetAdditionalData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n captData: checkVar(captData),\r\n };\r\n function callback(server_data) {\r\n //server_data.additionalData is a string\r\n _onGetAdditionalData(\r\n thisptr,\r\n server_data.additionalData,\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetCrossedOut = function (_onGetCrossedOut) {\r\n var data = {\r\n SigObj: \"GetCrossedOut\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.crossedOut is a bool\r\n _onGetCrossedOut(\r\n thisptr,\r\n Boolean(1 == parseInt(server_data.crossedOut)),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // key is a string\r\n this.GetExtraData = function (key, _onGetExtraData) {\r\n var data = {\r\n SigObj: \"GetExtraData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n };\r\n function callback(server_data) {\r\n //server_data.extraData is a string\r\n _onGetExtraData(\r\n thisptr,\r\n server_data.extraData,\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetHeight = function (_onGetHeight) {\r\n var data = {\r\n SigObj: \"GetHeight\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.height is a number\r\n _onGetHeight(\r\n thisptr,\r\n parseInt(server_data.height),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetInk = function (_onGetInk) {\r\n var data = {\r\n SigObj: \"GetInk\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.ink is a string\r\n _onGetInk(thisptr, server_data.ink, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetIsCaptured = function (_onGetIsCaptured) {\r\n var data = {\r\n SigObj: \"GetIsCaptured\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.isCaptured is a bool\r\n _onGetIsCaptured(\r\n thisptr,\r\n Boolean(1 == parseInt(server_data.isCaptured)),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // key is a string\r\n this.GetProperty = function (key, _onGetProperty) {\r\n var data = {\r\n SigObj: \"GetProperty\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n };\r\n function callback(server_data) {\r\n var property = new sigsdkptr.Variant();\r\n property.Parse(server_data, \"property\");\r\n _onGetProperty(thisptr, property, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetSigData = function (_onGetSigData) {\r\n var data = {\r\n SigObj: \"GetSigData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.sigData is a sigsdkptr.Variant (if it's a VARIANT_TEXT, it's Base64 encoded)\r\n var sigData = new sigsdkptr.Variant();\r\n sigData.Parse(server_data, \"sigData\");\r\n _onGetSigData(thisptr, sigData, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetSigText = function (_onGetSigText) {\r\n var data = {\r\n SigObj: \"GetSigText\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.sigText is a string\r\n _onGetSigText(\r\n thisptr,\r\n server_data.sigText,\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n //timeZone is a sigsdkptr.TimeZone\r\n this.GetWhen = function (timeZone, _onGetWhen) {\r\n var data = {\r\n SigObj: \"GetWhen\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n timeZone: checkVar(timeZone),\r\n };\r\n function callback(server_data) {\r\n //server_data.when is a date\r\n var date = new Date(\r\n parseFloat(server_data.year),\r\n parseFloat(server_data.month) - 1,\r\n parseFloat(server_data.day),\r\n parseFloat(server_data.hour),\r\n parseFloat(server_data.minute),\r\n parseFloat(server_data.second)\r\n );\r\n date.dayOfWeek = parseFloat(server_data.dayOfWeek);\r\n _onGetWhen(thisptr, date, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetWho = function (_onGetWho) {\r\n var data = {\r\n SigObj: \"GetWho\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.who is a string\r\n _onGetWho(thisptr, server_data.who, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetWhy = function (_onGetWhy) {\r\n var data = {\r\n SigObj: \"GetWhy\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.why is a string\r\n _onGetWhy(thisptr, server_data.why, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetWidth = function (_onGetWidth) {\r\n var data = {\r\n SigObj: \"GetWidth\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.width is a number\r\n _onGetWidth(\r\n thisptr,\r\n parseInt(server_data.width),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // key is a string\r\n // value is a string\r\n this.PutExtraData = function (key, value, _onPutExtraData) {\r\n var data = {\r\n SigObj: \"PutExtraData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n value: checkVar(value),\r\n };\r\n function callback(server_data) {\r\n _onPutExtraData(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // ink is a string\r\n this.PutInk = function (ink, _onPutInk) {\r\n var data = {\r\n SigObj: \"PutInk\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n ink: checkVar(ink),\r\n };\r\n function callback(server_data) {\r\n _onPutInk(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // sigData type is sigsdkptr.Variant\r\n this.PutSigData = function (sigData, _onPutSigData) {\r\n var data = {\r\n SigObj: \"PutSigData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n sigData.Stringify(data, \"sigData\");\r\n function callback(server_data) {\r\n _onPutSigData(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // sigText is a string\r\n this.PutSigText = function (sigText, _onPutSigText) {\r\n var data = {\r\n SigObj: \"PutSigText\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n sigText: checkVar(sigText),\r\n };\r\n function callback(server_data) {\r\n _onPutSigText(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // bitmapURL type is a url\r\n this.ReadEncodedBitmap = function (bitmapURL, _onReadEncodedBitmap) {\r\n var data = {\r\n SigObj: \"ReadEncodedBitmap\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n var vBmpUrl = new sigsdkptr.Variant();\r\n vBmpUrl.type = sigsdkptr.VariantType.VARIANT_IMGURL;\r\n vBmpUrl.url = bitmapURL;\r\n vBmpUrl.Stringify(data, \"bitmapURL\");\r\n function callback(server_data) {\r\n _onReadEncodedBitmap(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // mime_type type is a string\r\n // width is an integer\r\n // height is an integer\r\n // ink_width is a real\r\n // ink_color is an OLE_COLOR number\r\n // background_color is an OLE_COLOR number\r\n // flags is a sigsdkptr.RBFlags\r\n // paddingX is a real\r\n // paddingY is a real\r\n this.RenderBitmap = function (\r\n mime_type,\r\n width,\r\n height,\r\n ink_width,\r\n ink_color,\r\n background_color,\r\n flags,\r\n paddingX,\r\n paddingY,\r\n _onRenderBitmap\r\n ) {\r\n var data = {\r\n SigObj: \"RenderBitmap\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n mimetype: checkVar(mime_type),\r\n width: checkVar(width),\r\n height: checkVar(height),\r\n ink_width: checkVar(ink_width),\r\n ink_color: checkVar(ink_color),\r\n bg_color: checkVar(background_color),\r\n flags: checkVar(flags),\r\n paddingX: checkVar(paddingX),\r\n paddingY: checkVar(paddingY),\r\n };\r\n function callback(server_data) {\r\n var status = parseInt(server_data.status);\r\n\r\n if (status == 0) {\r\n if (flags & sigsdkptr.RBFlags.RenderOutputPicture) {\r\n var bmp = new sigsdkptr.Bitmap();\r\n bmp.handle = server_data.bitmapHandle;\r\n bmp.isBase64 = 1 == server_data.isBase64 ? true : false;\r\n\r\n bmp.image.onload = function () {\r\n _onRenderBitmap(thisptr, bmp, status);\r\n };\r\n if (bmp.isBase64) {\r\n bmp.image.src =\r\n \"data:image/\" + mime_type + \";base64,\" + server_data.base64;\r\n } else {\r\n bmp.image.src =\r\n server_address +\r\n \"/\" +\r\n server_data.bitmapHandle +\r\n \"?session=\" +\r\n sigsdkptr.session;\r\n }\r\n } else if (1 == server_data.isBase64) {\r\n _onRenderBitmap(thisptr, server_data.base64, status);\r\n }\r\n } else {\r\n _onRenderBitmap(thisptr, null, status);\r\n }\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // key is a string\r\n // value is a sigsdkptr.Variant\r\n this.SetProperty = function (key, value, _onSetProperty) {\r\n var data = {\r\n SigObj: \"SetProperty\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n };\r\n value.Stringify(data, \"value\");\r\n function callback(server_data) {\r\n _onSetProperty(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n };\r\n\r\n this.DynamicCapture = function (_onConstructor) {\r\n var thisptr = this;\r\n this.handle = null;\r\n\r\n var data = {\r\n DynamicCapture: \"Constructor\",\r\n session: sigsdkptr.session,\r\n };\r\n function callback(server_data) {\r\n thisptr.handle = server_data.handle;\r\n _onConstructor(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n // sigCtl is a sigsdkptr.SigCtl\r\n // who is a string\r\n // why is a string\r\n // what is a sigsdkptr.Hash\r\n // key is a sigsdkptr.Key\r\n this.Capture = function (sigCtl, who, why, what, key, _onCapture) {\r\n var width =\r\n window.innerWidth ||\r\n document.documentElement.clientWidth ||\r\n document.body.clientWidth;\r\n var height =\r\n window.innerHeight ||\r\n document.documentElement.clientHeight ||\r\n document.body.clientHeight;\r\n var left = window.screenLeft ? window.screenLeft : window.screenX;\r\n var top = window.screenTop ? window.screenTop : window.screenY;\r\n var data = {\r\n DynamicCapture: \"Capture\",\r\n session: sigsdkptr.session,\r\n who: checkVar(who),\r\n why: checkVar(why),\r\n width: checkVar(width),\r\n height: checkVar(height),\r\n left: checkVar(left),\r\n top: checkVar(top),\r\n SigCtlHandle: checkVar(sigCtl.handle),\r\n handle: thisptr.handle,\r\n };\r\n var vWhat = new sigsdkptr.Variant();\r\n vWhat.Set(what);\r\n vWhat.Stringify(data, \"what\");\r\n var vKey = new sigsdkptr.Variant();\r\n vKey.Set(key);\r\n vKey.Stringify(data, \"key\");\r\n function callback(server_data) {\r\n var sigObj = new sigsdkptr.SigObj();\r\n sigObj.handle = server_data.handle;\r\n //server_data.status type is sigsdkptr.DynamicCaptureResult\r\n _onCapture(thisptr, sigObj, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetLicence = function (_onGetLicence) {\r\n var data = {\r\n DynamicCapture: \"GetLicence\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.licence type is string\r\n _onGetLicence(\r\n thisptr,\r\n server_data.licence,\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // key type is string\r\n this.GetProperty = function (key, _onGetProperty) {\r\n var data = {\r\n DynamicCapture: \"GetProperty\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n };\r\n function callback(server_data) {\r\n var property = new sigsdkptr.Variant();\r\n property.Parse(server_data, \"property\");\r\n _onGetProperty(thisptr, property, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // licence type is string\r\n this.PutLicence = function (licence, _onPutLicence) {\r\n var data = {\r\n DynamicCapture: \"PutLicence\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n licence: checkVar(licence),\r\n };\r\n function callback(server_data) {\r\n _onPutLicence(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // key type is string\r\n // value type is sigsdkptr.Variant\r\n this.SetProperty = function (key, value, _onSetProperty) {\r\n var data = {\r\n DynamicCapture: \"SetProperty\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n };\r\n value.Stringify(data, \"value\");\r\n function callback(server_data) {\r\n _onSetProperty(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n };\r\n\r\n this.SigCtl = function (_onConstructor) {\r\n var thisptr = this;\r\n this.handle = null;\r\n this.type = sigsdkptr.VariantType.VARIANT_SIGCTL;\r\n\r\n var data = {\r\n SigCtl: \"Constructor\",\r\n session: sigsdkptr.session,\r\n };\r\n function callback(server_data) {\r\n thisptr.handle = server_data.handle;\r\n _onConstructor(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n\r\n this.AboutBox = function (_onAboutBox) {\r\n var width =\r\n window.innerWidth ||\r\n document.documentElement.clientWidth ||\r\n document.body.clientWidth;\r\n var height =\r\n window.innerHeight ||\r\n document.documentElement.clientHeight ||\r\n document.body.clientHeight;\r\n var left = window.screenLeft ? window.screenLeft : window.screenX;\r\n var top = window.screenTop ? window.screenTop : window.screenY;\r\n var data = {\r\n SigCtl: \"AboutBox\",\r\n session: sigsdkptr.session,\r\n width: checkVar(width),\r\n height: checkVar(height),\r\n left: checkVar(left),\r\n top: checkVar(top),\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n _onAboutBox(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n //key is a string\r\n this.GetAppData = function (key, _onGetAppData) {\r\n var data = {\r\n SigCtl: \"GetAppData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n };\r\n function callback(server_data) {\r\n var appData = new sigsdkptr.Variant();\r\n appData.Parse(server_data, \"appData\");\r\n _onGetAppData(thisptr, appData, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n /*\r\n this.GetBackColor = function(_onGetBackColor)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetBackColor\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.appData is an OLE_COLOR (number)\r\n _onGetBackColor(thisptr, parseInt(server_data.backColor), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetBackStyle = function(_onGetBackStyle)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetBackStyle\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.backStyle is a number\r\n _onGetBackStyle(thisptr, parseInt(server_data.backStyle), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetBorderColor = function(_onGetBorderColor)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetBorderColor\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.borderColor is an OLE_COLOR (number)\r\n _onGetBorderColor(thisptr, parseInt(server_data.borderColor), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetBorderStyle = function(_onGetBorderStyle)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetBorderStyle\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.borderStyle is a number\r\n _onGetBorderStyle(thisptr, parseInt(server_data.borderStyle), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetBorderVisible = function(_onGetBorderVisible)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetBorderVisible\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.borderVisible is a bool\r\n _onGetBorderVisible(thisptr, Boolean(1 == parseInt(server_data.borderVisible)), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetBorderWidth = function(_onGetBorderWidth)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetBorderWidth\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.borderWidth is a number\r\n _onGetBorderWidth(thisptr, parseInt(server_data.borderWidth), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetCaption = function(_onGetCaption)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetCaption\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.caption is a string\r\n _onGetCaption(thisptr, server_data.caption, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetCtlPadding = function(_onGetCtlPadding)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetCtlPadding\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.ctlPadding is a number\r\n _onGetCtlPadding(thisptr, parseInt(server_data.ctlPadding), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetDisplayMode = function(_onGetDisplayMode)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetDisplayMode\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.displayMode is a sigsdkptr.DisplayMode\r\n _onGetDisplayMode(thisptr, parseInt(server_data.displayMode), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetEnabled = function(_onGetEnabled)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetEnabled\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.enabled is a bool\r\n _onGetEnabled(thisptr, Boolean(1 == parseInt(server_data.enabled)), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetForeColor = function(_onGetForeColor)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetForeColor\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.foreColor is an OLE_COLOR (number)\r\n _onGetForeColor(thisptr, parseInt(server_data.foreColor), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetInkColor = function(_onGetInkColor)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetInkColor\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.inkColor is an OLE_COLOR (number)\r\n _onGetInkColor(thisptr, parseInt(server_data.inkColor), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetInkWidth = function(_onGetInkWidth)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetInkWidth\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.inkWidth is a number\r\n _onGetInkWidth(thisptr, parseFloat(server_data.inkWidth), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n */\r\n this.GetInputData = function (_onGetInputData) {\r\n var data = {\r\n SigCtl: \"GetInputData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.inputData is a string\r\n _onGetInputData(\r\n thisptr,\r\n server_data.inputData,\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n /*\r\n this.GetInputSignature = function(_onGetInputSignature)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetInputSignature\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.inputSignature is a string\r\n _onGetInputSignature(thisptr, server_data.inputSignature, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetInputWho = function(_onGetInputWho)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetInputWho\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.inputWho is a string\r\n _onGetInputWho(thisptr, server_data.inputWho, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetInputWhy = function(_onGetInputWhy)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetInputWhy\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.inputWhy is a string\r\n _onGetInputWhy(thisptr, server_data.inputWhy, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n */\r\n this.GetLicence = function (_onGetLicence) {\r\n var data = {\r\n SigCtl: \"GetLicence\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.licence is a string\r\n _onGetLicence(\r\n thisptr,\r\n server_data.licence,\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n // key is a string\r\n this.GetProperty = function (key, _onGetProperty) {\r\n var data = {\r\n SigCtl: \"GetProperty\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n };\r\n function callback(server_data) {\r\n var property = new sigsdkptr.Variant();\r\n property.Parse(server_data, \"property\");\r\n _onGetProperty(thisptr, property, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n /*\r\n this.GetRotation = function(_onGetRotation)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetRotation\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.rotation is a number\r\n _onGetRotation(thisptr, parseInt(server_data.rotation), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetShowWhen = function(_onGetShowWhen)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetShowWhen\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.showWhen is a sigsdkptr.ShowText\r\n _onGetShowWhen(thisptr, parseInt(server_data.showWhen), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetShowWho = function(_onGetShowWho)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetShowWho\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.showWho is a sigsdkptr.ShowText\r\n _onGetShowWho(thisptr, parseInt(server_data.showWho), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetShowWhy = function(_onGetShowWhy)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetShowWhy\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.showWhy is a sigsdkptr.ShowText\r\n _onGetShowWhy(thisptr, parseInt(server_data.showWhy), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n */\r\n this.GetSignature = function (_onGetSignature) {\r\n var data = {\r\n SigCtl: \"GetSignature\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n var sigObj = new sigsdkptr.SigObj();\r\n sigObj.handle = server_data.signatureHandle;\r\n _onGetSignature(thisptr, sigObj, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n /*\r\n this.GetTabStop = function(_onGetTabStop)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetTabStop\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.tabStop is a bool\r\n _onGetTabStop(thisptr, Boolean(1 == parseInt(server_data.tabStop)), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetWhenFormat = function(_onGetWhenFormat)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetWhenFormat\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.whenFormat is a string\r\n _onGetWhenFormat(thisptr, server_data.whenFormat, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n \r\n this.GetZoom = function(_onGetZoom)\r\n {\r\n var data = { \r\n \"SigCtl\": \"GetZoom\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n function callback(server_data)\r\n {\r\n //server_data.zoom is a number\r\n _onGetZoom(thisptr, parseInt(server_data.zoom), parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }*/\r\n // key is a string\r\n // val is sigsdkptr.Variant\r\n this.PutAppData = function (key, val, _onPutAppData) {\r\n var data = {\r\n SigCtl: \"PutAppData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n };\r\n val.Stringify(data, \"val\");\r\n function callback(server_data) {\r\n _onPutAppData(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n /*// backColor type is OLE_COLOR (number)\r\n this.PutBackColor = function(backColor, _onPutBackColor)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutBackColor\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"backColor\": checkVar(backColor)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutBackColor(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // backStyle type is OLE_COLOR (number)\r\n this.PutBackStyle = function(backStyle, _onPutBackStyle)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutBackStyle\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"backStyle\": checkVar(backStyle)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutBackStyle(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // borderColor type is OLE_COLOR (number)\r\n this.PutBorderColor = function(borderColor, _onPutBorderColor)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutBorderColor\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"borderColor\": checkVar(borderColor)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutBorderColor(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // borderStyle type is a number\r\n this.PutBorderStyle = function(borderStyle, _onPutBorderStyle)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutBorderStyle\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"borderStyle\": checkVar(borderStyle)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutBorderStyle(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // borderVisible type is bool\r\n this.PutBorderVisible = function(borderVisible, _onPutBorderVisible)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutBorderVisible\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"borderVisible\": checkVar(borderVisible)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutBorderVisible(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // borderWidth is a number\r\n this.PutBorderWidth = function(borderWidth, _onPutBorderWidth)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutBorderWidth\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"borderWidth\": checkVar(borderWidth)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutBorderWidth(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // caption type is string\r\n this.PutCaption = function(caption, _onPutCaption)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutCaption\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"caption\": checkVar(caption)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutCaption(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // ctlPadding is a number\r\n this.PutCtlPadding = function(ctlPadding, _onPutCtlPadding)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutCtlPadding\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"ctlPadding\": checkVar(ctlPadding)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutCtlPadding(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // displayMode type is sigsdkptr.DisplayMode (number)\r\n this.PutDisplayMode = function(displayMode, _onPutDisplayMode)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutDisplayMode\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"displayMode\": checkVar(displayMode)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutDisplayMode(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // enabled type is bool\r\n this.PutEnabled = function(enabled, _onPutEnabled)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutEnabled\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"enabled\": checkVar(enabled)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutEnabled(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // foreColor type is OLE_COLOR (number)\r\n this.PutForeColor = function(foreColor, _onPutForeColor)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutForeColor\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"foreColor\": checkVar(foreColor)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutForeColor(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // inkColor type is OLE_COLOR (number)\r\n this.PutInkColor = function(inkColor, _onPutInkColor)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutInkColor\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"inkColor\": checkVar(inkColor)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutInkColor(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // inkWidth is a number\r\n this.PutInkWidth = function(inkWidth, _onPutInkWidth)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutInkWidth\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"inkWidth\": checkVar(inkWidth)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutInkWidth(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }*/\r\n // inputData type is string\r\n this.PutInputData = function (inputData, _onPutInputData) {\r\n var data = {\r\n SigCtl: \"PutInputData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n inputData: checkVar(inputData),\r\n };\r\n function callback(server_data) {\r\n _onPutInputData(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n /*// inputSignature type is string\r\n this.PutInputSignature = function(inputSignature, _onPutInputSignature)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutInputSignature\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"inputSignature\": checkVar(inputSignature)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutInputSignature(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // inputWho type is string\r\n this.PutInputWho = function(inputWho, _onPutInputWho)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutInputWho\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"inputWho\": checkVar(inputWho)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutInputWho(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // inputWhy type is string\r\n this.PutInputWhy = function(inputWhy, _onPutInputWhy)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutInputWhy\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"inputWhy\": checkVar(inputWhy)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutInputWhy(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }*/\r\n // licence type is string\r\n this.PutLicence = function (licence, _onPutLicence) {\r\n var data = {\r\n SigCtl: \"PutLicence\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n licence: checkVar(licence),\r\n };\r\n function callback(server_data) {\r\n _onPutLicence(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // properties type is string\r\n this.PutProperties = function (properties, _onPutProperties) {\r\n var data = {\r\n SigCtl: \"PutProperties\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n properties: checkVar(properties),\r\n };\r\n function callback(server_data) {\r\n _onPutProperties(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n /*// font type is sigsdkptr.Variant (sigsdkptr.VariantType.VARIANT_FONT)\r\n this.PutRefFont = function(font, _onPutRefFont)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutRefFont\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle\r\n };\r\n font.Stringify(data, \"font\");\r\n function callback(server_data)\r\n {\r\n _onPutRefFont(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // rotation is a number\r\n this.PutRotation = function(rotation, _onPutRotation)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutRotation\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"rotation\": checkVar(rotation)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutRotation(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // showWhen type is sigsdkptr.ShowText\r\n this.PutShowWhen = function(showWhen, _onPutShowWhen)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutShowWhen\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"showWhen\": checkVar(showWhen)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutShowWhen(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // showWho type is sigsdkptr.ShowText\r\n this.PutShowWho = function(showWho, _onPutShowWho)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutShowWho\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"showWho\": checkVar(showWho)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutShowWho(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // showWhy type is sigsdkptr.ShowText\r\n this.PutShowWhy = function(showWhy, _onPutShowWhy)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutShowWhy\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"showWhy\": checkVar(showWhy)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutShowWhy(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }*/\r\n // sigObj type is sigsdkptr.SigObj\r\n this.PutSignature = function (sigObj, _onPutSignature) {\r\n var data = {\r\n SigCtl: \"PutSignature\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n signatureHandle: checkVar(sigObj.handle),\r\n };\r\n function callback(server_data) {\r\n _onPutSignature(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n /*// tabStop type is bool\r\n this.PutTabStop = function(tabStop, _onPutTabStop)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutTabStop\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"tabStop\": checkVar(tabStop)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutTabStop(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // whenFormat type is string\r\n this.PutWhenFormat = function(whenFormat, _onPutWhenFormat)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutWhenFormat\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"whenFormat\": checkVar(whenFormat)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutWhenFormat(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }\r\n // zoom type is a number\r\n this.PutZoom = function(zoom, _onPutZoom)\r\n {\r\n var data = { \r\n \"SigCtl\": \"PutZoom\", \r\n \"session\": sigsdkptr.session,\r\n \"handle\": thisptr.handle,\r\n \"zoom\": checkVar(zoom)\r\n };\r\n function callback(server_data)\r\n {\r\n _onPutZoom(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n }*/\r\n // key is a string\r\n // value is sigsdkptr.Variant\r\n this.SetProperty = function (key, value, _onSetProperty) {\r\n var data = {\r\n SigCtl: \"SetProperty\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n };\r\n value.Stringify(data, \"value\");\r\n function callback(server_data) {\r\n _onSetProperty(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n };\r\n\r\n this.InputObj = function (_onConstructor) {\r\n var thisptr = this;\r\n this.handle = null;\r\n this.type = sigsdkptr.VariantType.VARIANT_INPUTOBJ;\r\n\r\n var data = {\r\n InputObj: \"Constructor\",\r\n session: sigsdkptr.session,\r\n };\r\n function callback(server_data) {\r\n thisptr.handle = server_data.handle;\r\n _onConstructor(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n\r\n this.Clear = function (_onClear) {\r\n var data = {\r\n InputObj: \"Clear\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n _onClear(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetData = function (_onGetData) {\r\n var data = {\r\n InputObj: \"GetData\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.data is a string\r\n _onGetData(thisptr, server_data.data, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetEncryptionType = function (_onGetEncryptionType) {\r\n var data = {\r\n InputObj: \"GetEncryptionType\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.encryptionType type is sigsdkptr.EncryptAlg\r\n _onGetEncryptionType(\r\n thisptr,\r\n parseInt(server_data.encryptionType),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetMaxLength = function (_onGetMaxLength) {\r\n var data = {\r\n InputObj: \"GetMaxLength\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.maxLength is an integer\r\n _onGetMaxLength(\r\n thisptr,\r\n parseInt(server_data.maxLength),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetMinLength = function (_onGetMinLength) {\r\n var data = {\r\n InputObj: \"GetMinLength\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.minLength is an integer\r\n _onGetMinLength(\r\n thisptr,\r\n parseInt(server_data.minLength),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetProperty = function (name, _onGetProperty) {\r\n var data = {\r\n InputObj: \"GetProperty\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n name: checkVar(name),\r\n };\r\n function callback(server_data) {\r\n var property = new sigsdkptr.Variant();\r\n property.Parse(server_data, \"property\");\r\n _onGetProperty(\r\n thisptr,\r\n server_data.property,\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetText = function (_onGetText) {\r\n var data = {\r\n InputObj: \"GetText\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.text is a string\r\n _onGetText(thisptr, server_data.text, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // maxLength is an integer\r\n this.PutMaxLength = function (maxLength, _onPutMaxLength) {\r\n var data = {\r\n InputObj: \"PutMaxLength\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n maxLength: checkVar(maxLength),\r\n };\r\n function callback(server_data) {\r\n _onPutMaxLength(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // minLength is an integer\r\n this.PutMinLength = function (minLength, _onPutMinLength) {\r\n var data = {\r\n InputObj: \"PutMinLength\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n minLength: checkVar(minLength),\r\n };\r\n function callback(server_data) {\r\n _onPutMinLength(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // type is a sigsdkptr.EncryptAlg\r\n // key is a sigsdkptr.Variant (with type either VARIANT_BASE64 or a base64 encoded VARIANT_TEXT string)\r\n this.SetEncryption = function (type, key, _onSetEncryption) {\r\n var data = {\r\n InputObj: \"SetEncryption\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n type: checkVar(type),\r\n };\r\n key.Stringify(data, \"key\");\r\n function callback(server_data) {\r\n _onSetEncryption(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // name is a string\r\n // value is a string\r\n this.SetProperty = function (name, value, _onSetProperty) {\r\n var data = {\r\n InputObj: \"SetProperty\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n name: checkVar(name),\r\n value: checkVar(value),\r\n };\r\n function callback(server_data) {\r\n _onSetProperty(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n };\r\n\r\n // _type type is sigsdkptr.ObjectOptionType\r\n this.ObjectOptions = function (/*_type*/) {\r\n var thisptr = this;\r\n this.type = sigsdkptr.VariantType.VARIANT_OBJECTOPTIONS; //_type;\r\n\r\n this.AddOption = function (name, value) {\r\n thisptr[name] = value;\r\n };\r\n };\r\n\r\n this.Variant = function () {\r\n var thisptr = this;\r\n\r\n this.type = sigsdkptr.VariantType.VARIANT_EMPTY;\r\n\r\n this.Parse = function (data, id) {\r\n var dataType = parseInt(data[id + \".type\"]);\r\n switch (dataType) {\r\n case sigsdkptr.VariantType.VARIANT_TEXT: {\r\n thisptr.type = dataType;\r\n thisptr.text = data[id + \".text\"];\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_NUM: {\r\n thisptr.type = dataType;\r\n thisptr.num = parseFloat(data[id + \".num\"]);\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_OBJECTOPTIONS: {\r\n thisptr.type = dataType;\r\n /////\r\n //TODO\r\n /////\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_SIGOBJ:\r\n case sigsdkptr.VariantType.VARIANT_SIGCTL:\r\n case sigsdkptr.VariantType.VARIANT_INPUTOBJ:\r\n case sigsdkptr.VariantType.VARIANT_HASH:\r\n case sigsdkptr.VariantType.VARIANT_KEY:\r\n case sigsdkptr.VariantType.VARIANT_DYNCAP:\r\n case sigsdkptr.VariantType.VARIANT_WIZCTL: {\r\n thisptr.type = dataType;\r\n thisptr.handle = data[id + \".handle\"];\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_BASE64: {\r\n thisptr.type = dataType;\r\n thisptr.base64 = data[id + \".base64\"];\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_IMGURL: {\r\n thisptr.type = dataType;\r\n thisptr.url = data[id + \".url\"];\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_FONT: {\r\n thisptr.type = dataType;\r\n thisptr.fontName = data[id + \".fontName\"];\r\n thisptr.fontSize = data[id + \".fontSize\"];\r\n thisptr.sWeight = data[id + \".sWeight\"];\r\n thisptr.sCharset = data[id + \".sCharset\"];\r\n thisptr.fItalic = data[id + \".fItalic\"];\r\n thisptr.fUnderline = data[id + \".fUnderline\"];\r\n thisptr.fStrikethrough = data[id + \".fStrikethrough\"];\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_EMPTY:\r\n default: {\r\n thisptr.type = sigsdkptr.VariantType.VARIANT_EMPTY;\r\n break;\r\n }\r\n }\r\n };\r\n\r\n this.Set = function (input) {\r\n if (\"string\" === typeof input) {\r\n thisptr.type = sigsdkptr.VariantType.VARIANT_TEXT;\r\n thisptr.text = input;\r\n } else if (\"number\" === typeof input) {\r\n thisptr.type = sigsdkptr.VariantType.VARIANT_NUM;\r\n thisptr.num = input;\r\n } else if (\r\n null != input &&\r\n \"object\" === typeof input &&\r\n \"undefined\" != typeof input.type &&\r\n null != input.type\r\n ) {\r\n switch (input.type) {\r\n case sigsdkptr.VariantType.VARIANT_OBJECTOPTIONS: {\r\n thisptr.type = sigsdkptr.VariantType.VARIANT_OBJECTOPTIONS;\r\n for (let o in input) {\r\n if (o != \"type\") {\r\n if (typeof input[o] == \"string\") {\r\n thisptr[o] = input[o];\r\n thisptr[o + \".type\"] =\r\n sigsdkptr.ObjectOptionType.OBJECTOPTION_STRING;\r\n } else if (typeof input[o] == \"number\") {\r\n // truncate: don't use Math.trunc() as it's ECMAScript6 experimental\r\n thisptr[o] =\r\n input[o] > 0 ? Math.floor(input[o]) : Math.ceil(input[o]);\r\n thisptr[o + \".type\"] =\r\n sigsdkptr.ObjectOptionType.OBJECTOPTION_INT;\r\n } else if (typeof input[o] == \"boolean\") {\r\n thisptr[o] = input[o] == true ? 1 : 0;\r\n thisptr[o + \".type\"] =\r\n sigsdkptr.ObjectOptionType.OBJECTOPTION_BOOL;\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_SIGOBJ:\r\n case sigsdkptr.VariantType.VARIANT_SIGCTL:\r\n case sigsdkptr.VariantType.VARIANT_INPUTOBJ:\r\n case sigsdkptr.VariantType.VARIANT_HASH:\r\n case sigsdkptr.VariantType.VARIANT_KEY:\r\n case sigsdkptr.VariantType.VARIANT_DYNCAP:\r\n case sigsdkptr.VariantType.VARIANT_WIZCTL: {\r\n thisptr.type = input.type;\r\n thisptr.handle = input.handle;\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_IMGURL: {\r\n thisptr.type = sigsdkptr.VariantType.VARIANT_IMGURL;\r\n thisptr.url = input.url;\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_BASE64: {\r\n thisptr.type = sigsdkptr.VariantType.VARIANT_BASE64;\r\n thisptr.base64 = input.base64;\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_FONT: {\r\n thisptr.type = sigsdkptr.VariantType.VARIANT_FONT;\r\n thisptr.fontName = input.fontName;\r\n thisptr.fontSize = input.fontSize;\r\n thisptr.sWeight = input.sWeight;\r\n thisptr.sCharset = input.sCharset;\r\n thisptr.fItalic = input.fItalic;\r\n thisptr.fUnderline = input.fUnderline;\r\n thisptr.fStrikethrough = input.fStrikethrough;\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_TEXT: {\r\n thisptr.type = input.type;\r\n thisptr.text = input.text;\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_NUM: {\r\n thisptr.type = input.type;\r\n thisptr.num = input.num;\r\n break;\r\n }\r\n case sigsdkptr.VariantType.VARIANT_EMPTY:\r\n default: {\r\n thisptr.type = sigsdkptr.VariantType.VARIANT_EMPTY;\r\n break;\r\n }\r\n }\r\n }\r\n };\r\n\r\n this.Stringify = function (datau, id) {\r\n for (var o in thisptr) {\r\n if (\r\n typeof o == \"string\" &&\r\n typeof thisptr[o] != \"function\" &&\r\n typeof thisptr[o] != \"symbol\" &&\r\n (typeof thisptr[o] == \"object\" ||\r\n typeof thisptr[o] == \"string\" ||\r\n typeof thisptr[o] == \"number\")\r\n ) {\r\n datau[id + \".\" + o] = thisptr[o.toString()];\r\n }\r\n }\r\n };\r\n };\r\n\r\n this.WizCtl = function (_onConstructor) {\r\n var thisptr = this;\r\n this.handle = null;\r\n\r\n var width =\r\n window.innerWidth ||\r\n document.documentElement.clientWidth ||\r\n document.body.clientWidth;\r\n var height =\r\n window.innerHeight ||\r\n document.documentElement.clientHeight ||\r\n document.body.clientHeight;\r\n var left = window.screenLeft ? window.screenLeft : window.screenX;\r\n var top = window.screenTop ? window.screenTop : window.screenY;\r\n\r\n var data = {\r\n WizCtl: \"Constructor\",\r\n session: sigsdkptr.session,\r\n width: width,\r\n height: height,\r\n left: left,\r\n top: top,\r\n };\r\n function callback(server_data) {\r\n thisptr.handle = server_data.handle;\r\n _onConstructor(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n\r\n //objType type is sigsdkptr.ObjectType\r\n //id type is string\r\n //X type type is a number, text or sigsdkptr.Variant\r\n //Y type type is a number, text or sigsdkptr.Variant\r\n //objData type is sigsdkptr.Variant\r\n //options type is sigsdkptr.Variant\r\n this.AddObject = function (\r\n objType,\r\n id,\r\n X,\r\n Y,\r\n objData,\r\n options,\r\n _onAddObject\r\n ) {\r\n var data = {\r\n WizCtl: \"AddObject\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n objType: checkVar(objType),\r\n id: checkVar(id),\r\n };\r\n var vX = new sigsdkptr.Variant();\r\n var vY = new sigsdkptr.Variant();\r\n vX.Set(X);\r\n vY.Set(Y);\r\n vX.Stringify(data, \"X\");\r\n vY.Stringify(data, \"Y\");\r\n objData.Stringify(data, \"objData\");\r\n options.Stringify(data, \"options\");\r\n function callback(server_data) {\r\n _onAddObject(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n //primType type is sigsdkptr.PrimitiveType\r\n //X1 type type is a number, text or sigsdkptr.Variant\r\n //Y1 type type is a number, text or sigsdkptr.Variant\r\n //X2 type type is a number, text or sigsdkptr.Variant\r\n //Y2 type type is a number, text or sigsdkptr.Variant\r\n //primData type is a VARIANT_NUM sigsdkptr.Variant that indicates the primitive width\r\n //options is a sigsdkptr.PrimitiveType flag variable as a VARIANT_NUM sigsdkptr.Variant\r\n this.AddPrimitive = function (\r\n primType,\r\n X1,\r\n Y1,\r\n X2,\r\n Y2,\r\n primData,\r\n options,\r\n _onAddPrimitive\r\n ) {\r\n var data = {\r\n WizCtl: \"AddPrimitive\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n primType: checkVar(primType),\r\n };\r\n var vX1 = new sigsdkptr.Variant();\r\n var vY1 = new sigsdkptr.Variant();\r\n var vX2 = new sigsdkptr.Variant();\r\n var vY2 = new sigsdkptr.Variant();\r\n vX1.Set(X1);\r\n vY1.Set(Y1);\r\n vX2.Set(X2);\r\n vY2.Set(Y2);\r\n vX1.Stringify(data, \"X1\");\r\n vY1.Stringify(data, \"Y1\");\r\n vX2.Stringify(data, \"X2\");\r\n vY2.Stringify(data, \"Y2\");\r\n primData.Stringify(data, \"primData\");\r\n options.Stringify(data, \"options\");\r\n function callback(server_data) {\r\n _onAddPrimitive(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.Close = function (_onClose) {\r\n var data = {\r\n WizCtl: \"Close\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n _onClose(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.Display = function (_onDisplay) {\r\n var data = {\r\n WizCtl: \"Display\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n _onDisplay(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // id type is string\r\n this.FireClick = function (id, _onFireClick) {\r\n var data = {\r\n WizCtl: \"FireClick\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n fireClickId: id,\r\n };\r\n function callback(server_data) {\r\n _onFireClick(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetBackColor = function (_onGetBackColor) {\r\n var data = {\r\n WizCtl: \"GetBackColor\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.backColor type is OLE_COLOR (number)\r\n _onGetBackColor(\r\n thisptr,\r\n parseInt(server_data.backColor),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetBorderColor = function (_onGetBorderColor) {\r\n var data = {\r\n WizCtl: \"GetBorderColor\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.backColor type is OLE_COLOR (number)\r\n _onGetBorderColor(\r\n thisptr,\r\n parseInt(server_data.borderColor),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetBorderStyle = function (_onGetBorderStyle) {\r\n var data = {\r\n WizCtl: \"GetBorderStyle\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.borderStyle type is a number\r\n _onGetBorderStyle(\r\n thisptr,\r\n parseInt(server_data.borderStyle),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetBorderVisible = function (_onGetBorderVisible) {\r\n var data = {\r\n WizCtl: \"GetBorderVisible\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.borderVisible is a bool\r\n _onGetBorderVisible(\r\n thisptr,\r\n Boolean(1 == parseInt(server_data.borderVisible)),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetBorderWidth = function (_onGetBorderWidth) {\r\n var data = {\r\n WizCtl: \"GetBorderWidth\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.borderWidth is a number\r\n _onGetBorderWidth(\r\n thisptr,\r\n parseInt(server_data.borderWidth),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetEnableWizardDisplay = function (_onGetEnableWizardDisplay) {\r\n var data = {\r\n WizCtl: \"GetEnableWizardDisplay\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.enableWD is a bool\r\n _onGetEnableWizardDisplay(\r\n thisptr,\r\n Boolean(1 == parseInt(server_data.enableWD)),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetFont = function (_onGetFont) {\r\n var data = {\r\n WizCtl: \"GetFont\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n var font = new sigsdkptr.Variant();\r\n font.Parse(server_data, \"font\");\r\n _onGetFont(thisptr, font, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetInkingPad = function (_onGetInkingPad) {\r\n var data = {\r\n WizCtl: \"GetInkingPad\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.inkingPad is a bool\r\n _onGetInkingPad(\r\n thisptr,\r\n Boolean(1 == parseInt(server_data.inkingPad)),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetLicence = function (_onGetLicence) {\r\n var data = {\r\n WizCtl: \"GetLicence\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.licence type is string\r\n _onGetLicence(\r\n thisptr,\r\n server_data.licence,\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // id type is string\r\n this.GetObjectState = function (id, _onGetObjectState) {\r\n var data = {\r\n WizCtl: \"GetObjectState\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n objectId: checkVar(id),\r\n };\r\n function callback(server_data) {\r\n var state = new sigsdkptr.Variant();\r\n state.Parse(server_data, \"objState\");\r\n _onGetObjectState(thisptr, state, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetPadHeight = function (_onGetPadHeight) {\r\n var data = {\r\n WizCtl: \"GetPadHeight\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.height type is a number\r\n _onGetPadHeight(\r\n thisptr,\r\n parseFloat(server_data.height),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetPadWidth = function (_onGetPadWidth) {\r\n var data = {\r\n WizCtl: \"GetPadWidth\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n //server_data.width type is a number\r\n _onGetPadWidth(\r\n thisptr,\r\n parseFloat(server_data.width),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // key is a string\r\n this.GetProperty = function (key, _onGetProperty) {\r\n var data = {\r\n WizCtl: \"GetProperty\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: checkVar(key),\r\n };\r\n function callback(server_data) {\r\n var property = new sigsdkptr.Variant();\r\n property.Parse(server_data, \"property\");\r\n _onGetProperty(thisptr, property, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetVisibleWindow = function (_onGetVisibleWindow) {\r\n var data = {\r\n WizCtl: \"GetVisibleWindow\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.visible type is boolean\r\n _onGetVisibleWindow(\r\n thisptr,\r\n Boolean(1 == parseInt(server_data.visible)),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.GetZoom = function (_onGetZoom) {\r\n var data = {\r\n WizCtl: \"GetZoom\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.zoom type is a number\r\n _onGetZoom(\r\n thisptr,\r\n parseFloat(server_data.zoom),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.PadConnect = function (_onPadConnect) {\r\n var data = {\r\n WizCtl: \"PadConnect\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n // server_data.padConnect type is a bool\r\n _onPadConnect(\r\n thisptr,\r\n Boolean(1 == parseInt(server_data.padConnect)),\r\n parseInt(server_data.status)\r\n );\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.PadDisconnect = function (_onPadDisconnect) {\r\n var data = {\r\n WizCtl: \"PadDisconnect\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n _onPadDisconnect(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // backColor type is OLE_COLOR (number)\r\n this.PutBackColor = function (backColor, _onPutBackColor) {\r\n var data = {\r\n WizCtl: \"PutBackColor\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n backColor: checkVar(backColor),\r\n };\r\n function callback(server_data) {\r\n _onPutBackColor(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // borderColor type is OLE_COLOR (number)\r\n this.PutBorderColor = function (borderColor, _onPutBorderColor) {\r\n var data = {\r\n WizCtl: \"PutBorderColor\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n borderColor: checkVar(borderColor),\r\n };\r\n function callback(server_data) {\r\n _onPutBorderColor(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // borderStyle type is a number\r\n this.PutBorderStyle = function (borderStyle, _onPutBorderStyle) {\r\n var data = {\r\n WizCtl: \"PutBorderStyle\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n borderStyle: checkVar(borderStyle),\r\n };\r\n function callback(server_data) {\r\n _onPutBorderStyle(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n // borderVisible type is bool\r\n this.PutBorderVisible = function (borderVisible, _onPutBorderVisible) {\r\n var data = {\r\n WizCtl: \"PutBorderVisible\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n borderVisible: checkVar(borderVisible),\r\n };\r\n function callback(server_data) {\r\n _onPutBorderVisible(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // borderWidth is a number\r\n this.PutBorderWidth = function (borderWidth, _onPutBorderWidth) {\r\n var data = {\r\n WizCtl: \"PutBorderWidth\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n borderWidth: checkVar(borderWidth),\r\n };\r\n function callback(server_data) {\r\n _onPutBorderWidth(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // enableWD is a bool\r\n this.PutEnableWizardDisplay = function (\r\n enableWD,\r\n _onPutEnableWizardDisplay\r\n ) {\r\n var data = {\r\n WizCtl: \"PutEnableWizardDisplay\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n enableWD: checkVar(enableWD),\r\n };\r\n function callback(server_data) {\r\n _onPutEnableWizardDisplay(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // font type is sigsdkptr.Variant (sigsdkptr.VariantType.VARIANT_FONT)\r\n this.PutFont = function (font, _onPutFont) {\r\n var data = {\r\n WizCtl: \"PutFont\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n font.Stringify(data, \"font\");\r\n function callback(server_data) {\r\n _onPutFont(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // licence type is a string\r\n this.PutLicence = function (licence, _onPutLicence) {\r\n var data = {\r\n WizCtl: \"PutLicence\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n licence: checkVar(licence),\r\n };\r\n function callback(server_data) {\r\n _onPutLicence(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // height type is a number\r\n this.PutPadHeight = function (height, _onPutPadHeight) {\r\n var data = {\r\n WizCtl: \"PutPadHeight\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n height: checkVar(height),\r\n };\r\n function callback(server_data) {\r\n _onPutPadHeight(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // width type is a number\r\n this.PutPadWidth = function (width, _onPutPadWidth) {\r\n var data = {\r\n WizCtl: \"PutPadWidth\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n width: checkVar(width),\r\n };\r\n function callback(server_data) {\r\n _onPutPadWidth(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // properties type is a string\r\n this.PutProperties = function (properties, _onPutProperties) {\r\n var data = {\r\n WizCtl: \"PutProperties\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n properties: checkVar(properties),\r\n };\r\n function callback(server_data) {\r\n _onPutProperties(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // font type is sigsdkptr.Variant (sigsdkptr.VariantType.VARIANT_FONT)\r\n this.PutRefFont = function (font, _onPutRefFont) {\r\n var data = {\r\n WizCtl: \"PutRefFont\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n font.Stringify(data, \"font\");\r\n function callback(server_data) {\r\n _onPutRefFont(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // visible type is boolean\r\n this.PutVisibleWindow = function (visible, _onPutVisibleWindow) {\r\n var data = {\r\n WizCtl: \"PutVisibleWindow\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n visible: Number(visible),\r\n };\r\n function callback(server_data) {\r\n _onPutVisibleWindow(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // zoom type is a real number\r\n this.PutZoom = function (zoom, _onPutZoom) {\r\n var data = {\r\n WizCtl: \"PutZoom\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n zoom: checkVar(zoom),\r\n };\r\n function callback(server_data) {\r\n _onPutZoom(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n this.Reset = function (_onReset) {\r\n var data = {\r\n WizCtl: \"Reset\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n function callback(server_data) {\r\n _onReset(thisptr, parseInt(server_data.status));\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n // key type is string\r\n // value type is sigsdkptr.Variant\r\n this.SetProperty = function (key, value, _onSetProperty) {\r\n var data = {\r\n WizCtl: \"SetProperty\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n key: key,\r\n };\r\n function callback(server_data) {\r\n _onSetProperty(thisptr, parseInt(server_data.status));\r\n }\r\n value.Stringify(data, \"value\");\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n\r\n var evh;\r\n this.SetEventHandler = function (eventHandler) {\r\n var data = {\r\n WizCtl: \"SetEventHandler\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n evh = eventHandler;\r\n\r\n function callback(server_data) {\r\n var update_data = {\r\n WizCtl: \"UpdateEventHandler\",\r\n session: sigsdkptr.session,\r\n handle: thisptr.handle,\r\n };\r\n if (0 == parseInt(server_data.status)) {\r\n JSONreq.getJSON(server_address + \"/wacom.js\", update_data, callback);\r\n } else if (\"undefined\" === typeof server_data.status) return;\r\n\r\n setTimeout(function () {\r\n evh(\r\n thisptr.handle,\r\n server_data[\"event-id\"],\r\n parseInt(server_data[\"event-type\"]),\r\n parseInt(server_data.status)\r\n );\r\n }, 0);\r\n }\r\n JSONreq.getJSON(server_address + \"/wacom.js\", data, callback);\r\n };\r\n }; // WizCtl\r\n}\r\n\r\nexport { WacomGSS_SignatureSDK, JSONreq };\r\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\nmodule.exports = function installComponents (component, components) {\n var options = typeof component.exports === 'function'\n ? component.exports.extendOptions\n : component.options\n\n if (typeof component.exports === 'function') {\n options.components = component.exports.options.components\n }\n\n options.components = options.components || {}\n\n for (var i in components) {\n options.components[i] = options.components[i] || components[i]\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__274__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h3',[_vm._v(\"Test Control\")]),_c('button',{on:{\"click\":_vm.hello}},[_vm._v(\"Press me\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.8\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-120.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Sample.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-120.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Sample.vue?vue&type=script&lang=js\"","/* 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) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\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) {\n // 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 () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\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 functional 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 ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Sample.vue?vue&type=template&id=754f8fec\"\nimport script from \"./Sample.vue?vue&type=script&lang=js\"\nexport * from \"./Sample.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"uk-container uk-container-expand\"},[_c('h1',{staticClass:\"uk-margin-small-bottom\"},[_vm._v(_vm._s(_vm.header))]),_c('hr',{staticClass:\"uk-margin-remove-top\"}),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-120.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CctUkLayout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-120.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CctUkLayout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CctUkLayout.vue?vue&type=template&id=5b8c0a08\"\nimport script from \"./CctUkLayout.vue?vue&type=script&lang=js\"\nexport * from \"./CctUkLayout.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('v-main',[_c('v-container',{staticClass:\"px-md-10\",attrs:{\"fluid\":\"\"}},[_c('h3',{staticClass:\"text-h3\"},[_vm._v(_vm._s(_vm.header))]),_c('hr',{staticClass:\"mb-5\"}),_vm._t(\"default\")],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-120.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CctVLayout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-120.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CctVLayout.vue?vue&type=script&lang=js\"","import Vue from 'vue'\nimport { PropType, RenderContext } from 'vue/types/options'\n\ninterface options extends Vue {\n theme: {\n isDark: boolean\n }\n}\n\n/* @vue/component */\nconst Themeable = Vue.extend().extend({\n name: 'themeable',\n\n provide (): object {\n return {\n theme: this.themeableProvide,\n }\n },\n\n inject: {\n theme: {\n default: {\n isDark: false,\n },\n },\n },\n\n props: {\n dark: {\n type: Boolean as PropType,\n default: null,\n },\n light: {\n type: Boolean as PropType,\n default: null,\n },\n },\n\n data () {\n return {\n themeableProvide: {\n isDark: false,\n },\n }\n },\n\n computed: {\n appIsDark (): boolean {\n return this.$vuetify.theme.dark || false\n },\n isDark (): boolean {\n if (this.dark === true) {\n // explicitly dark\n return true\n } else if (this.light === true) {\n // explicitly light\n return false\n } else {\n // inherit from parent, or default false if there is none\n return this.theme.isDark\n }\n },\n themeClasses (): object {\n return {\n 'theme--dark': this.isDark,\n 'theme--light': !this.isDark,\n }\n },\n /** Used by menus and dialogs, inherits from v-app instead of the parent */\n rootIsDark (): boolean {\n if (this.dark === true) {\n // explicitly dark\n return true\n } else if (this.light === true) {\n // explicitly light\n return false\n } else {\n // inherit from v-app\n return this.appIsDark\n }\n },\n rootThemeClasses (): Dictionary {\n return {\n 'theme--dark': this.rootIsDark,\n 'theme--light': !this.rootIsDark,\n }\n },\n },\n\n watch: {\n isDark: {\n handler (newVal, oldVal) {\n if (newVal !== oldVal) {\n this.themeableProvide.isDark = this.isDark\n }\n },\n immediate: true,\n },\n },\n})\n\nexport default Themeable\n\nexport function functionalThemeClasses (context: RenderContext): object {\n const vm = {\n ...context.props,\n ...context.injections,\n }\n const isDark = Themeable.options.computed.isDark.call(vm)\n return Themeable.options.computed.themeClasses.call({ isDark })\n}\n","/* eslint-disable max-len, import/export, no-use-before-define */\nimport Vue, { VueConstructor } from 'vue'\n\nexport default function mixins (...args: T): ExtractVue extends infer V ? V extends Vue ? VueConstructor : never : never\nexport default function mixins (...args: VueConstructor[]): VueConstructor\nexport default function mixins (...args: VueConstructor[]): VueConstructor {\n return Vue.extend({ mixins: args })\n}\n\n/**\n * Returns the instance type from a VueConstructor\n * Useful for adding types when using mixins().extend()\n */\nexport type ExtractVue = T extends (infer U)[]\n ? UnionToIntersection<\n U extends VueConstructor ? V : never\n >\n : T extends VueConstructor ? V : never\n\ntype UnionToIntersection =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import Vue from 'vue'\nimport { VNode, VNodeDirective } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return Vue.extend({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n props: {\n tag: {\n type: String,\n default: el,\n },\n },\n\n render (h, { data, props, children }): VNode {\n data.staticClass = (`${c} ${data.staticClass || ''}`).trim()\n\n return h(props.tag, data, children)\n },\n })\n}\n\nexport type BindingConfig = Pick\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {}),\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n const once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n },\n }) as EventListener & EventListenerOptions\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: (event: any) => void,\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function filterObjectOnKeys (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component\n\n // Look for overrides\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n const override = getObjectValueByPath(vm, iconPath, iconName)\n\n if (typeof override === 'string') iconName = override\n else return override\n }\n\n if (component == null) {\n return iconName\n }\n\n return {\n component,\n props: {\n icon: iconName,\n },\n }\n}\n\nexport function keys (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup[] {\n const key = groupBy[0]\n const groups: ItemGroup[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/**\n * Returns:\n * - 'normal' for old style slots - `