@zoho_apptics/apptics-js-sdk 2.0.0-beta → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/CHANGELOG.md +191 -21
  2. package/README.md +519 -333
  3. package/dist/apptics.esm.min.js +2 -2
  4. package/dist/apptics.esm.min.js.map +1 -1
  5. package/dist/apptics.min.js +2 -2
  6. package/dist/apptics.min.js.map +1 -1
  7. package/dist/chunks/lifecycle-C6m1W7jo.min.js +3 -0
  8. package/dist/chunks/lifecycle-C6m1W7jo.min.js.map +1 -0
  9. package/dist/chunks/send-CgUO82ne.min.js +3 -0
  10. package/dist/chunks/send-CgUO82ne.min.js.map +1 -0
  11. package/dist/cjs/core/attempts.js +1 -1
  12. package/dist/cjs/core/batch.js +2 -2
  13. package/dist/cjs/core/consent.d.ts +18 -4
  14. package/dist/cjs/core/consent.js +31 -15
  15. package/dist/cjs/core/constants.d.ts +57 -27
  16. package/dist/cjs/core/constants.js +52 -33
  17. package/dist/cjs/core/db.d.ts +12 -4
  18. package/dist/cjs/core/db.js +167 -34
  19. package/dist/cjs/core/debug.js +1 -1
  20. package/dist/cjs/core/env.d.ts +0 -3
  21. package/dist/cjs/core/env.js +1 -9
  22. package/dist/cjs/core/framework-id.d.ts +1 -1
  23. package/dist/cjs/core/framework-id.js +3 -3
  24. package/dist/cjs/core/guard.d.ts +9 -0
  25. package/dist/cjs/core/guard.js +27 -13
  26. package/dist/cjs/core/hooks.d.ts +7 -4
  27. package/dist/cjs/core/hooks.js +3 -3
  28. package/dist/cjs/core/locks.d.ts +9 -0
  29. package/dist/cjs/core/locks.js +22 -0
  30. package/dist/cjs/core/logger.d.ts +3 -4
  31. package/dist/cjs/core/logger.js +4 -40
  32. package/dist/cjs/core/state.d.ts +9 -6
  33. package/dist/cjs/core/state.js +3 -5
  34. package/dist/cjs/core/storage.d.ts +20 -5
  35. package/dist/cjs/core/storage.js +115 -20
  36. package/dist/cjs/core/stylesheet.d.ts +8 -0
  37. package/dist/cjs/core/stylesheet.js +29 -0
  38. package/dist/cjs/core/transport.d.ts +2 -0
  39. package/dist/cjs/core/transport.js +30 -18
  40. package/dist/cjs/core/utils.js +1 -1
  41. package/dist/cjs/core/validate.js +2 -2
  42. package/dist/cjs/device/appversion.d.ts +10 -6
  43. package/dist/cjs/device/appversion.js +38 -3
  44. package/dist/cjs/device/index.d.ts +28 -2
  45. package/dist/cjs/device/index.js +312 -44
  46. package/dist/cjs/engagement/api-rules.d.ts +32 -67
  47. package/dist/cjs/engagement/api-rules.js +144 -157
  48. package/dist/cjs/engagement/auto-api.js +2 -2
  49. package/dist/cjs/engagement/auto-screen.d.ts +2 -0
  50. package/dist/cjs/engagement/auto-screen.js +67 -3
  51. package/dist/cjs/engagement/defined-events.js +1 -1
  52. package/dist/cjs/engagement/send.js +12 -3
  53. package/dist/cjs/engagement/session.d.ts +29 -3
  54. package/dist/cjs/engagement/session.js +253 -26
  55. package/dist/cjs/engagement/track.d.ts +4 -4
  56. package/dist/cjs/engagement/track.js +58 -30
  57. package/dist/cjs/errors/send.js +2 -2
  58. package/dist/cjs/errors/track.d.ts +2 -1
  59. package/dist/cjs/errors/track.js +49 -7
  60. package/dist/cjs/feedback/controls.d.ts +12 -0
  61. package/dist/cjs/feedback/controls.js +104 -25
  62. package/dist/cjs/feedback/index.d.ts +8 -7
  63. package/dist/cjs/feedback/index.js +32 -13
  64. package/dist/cjs/feedback/logs.d.ts +13 -11
  65. package/dist/cjs/feedback/logs.js +57 -28
  66. package/dist/cjs/feedback/quartz.d.ts +18 -0
  67. package/dist/cjs/feedback/quartz.js +105 -0
  68. package/dist/cjs/feedback/send.d.ts +5 -2
  69. package/dist/cjs/feedback/send.js +30 -28
  70. package/dist/cjs/feedback/styles.d.ts +10 -0
  71. package/dist/cjs/feedback/styles.js +8 -0
  72. package/dist/cjs/feedback/template.d.ts +1 -1
  73. package/dist/cjs/feedback/template.js +20 -12
  74. package/dist/cjs/feedback/ui.d.ts +21 -6
  75. package/dist/cjs/feedback/ui.js +283 -70
  76. package/dist/cjs/heatmap/send.d.ts +2 -0
  77. package/dist/cjs/heatmap/send.js +3 -5
  78. package/dist/cjs/heatmap/track.d.ts +1 -1
  79. package/dist/cjs/heatmap/track.js +87 -16
  80. package/dist/cjs/index.d.ts +16 -63
  81. package/dist/cjs/index.js +144 -95
  82. package/dist/cjs/lifecycle.d.ts +21 -3
  83. package/dist/cjs/lifecycle.js +353 -89
  84. package/dist/cjs/remoteconfig/country.d.ts +4 -0
  85. package/dist/cjs/remoteconfig/country.js +73 -0
  86. package/dist/cjs/remoteconfig/custom.d.ts +7 -7
  87. package/dist/cjs/remoteconfig/custom.js +31 -51
  88. package/dist/cjs/remoteconfig/evaluate.d.ts +3 -3
  89. package/dist/cjs/remoteconfig/evaluate.js +56 -43
  90. package/dist/cjs/remoteconfig/fetch.d.ts +16 -9
  91. package/dist/cjs/remoteconfig/fetch.js +120 -39
  92. package/dist/cjs/remoteconfig/index.d.ts +19 -8
  93. package/dist/cjs/remoteconfig/index.js +81 -39
  94. package/dist/cjs/remoteconfig/store.d.ts +15 -7
  95. package/dist/cjs/remoteconfig/store.js +68 -35
  96. package/dist/cjs/remoteconfig/tz-countries.d.ts +8 -0
  97. package/dist/cjs/remoteconfig/tz-countries.js +13 -0
  98. package/dist/{esm/core → cjs/remotelog}/callsite.d.ts +11 -4
  99. package/dist/cjs/{core → remotelog}/callsite.js +30 -7
  100. package/dist/cjs/remotelog/gate.d.ts +2 -11
  101. package/dist/cjs/remotelog/gate.js +9 -35
  102. package/dist/cjs/remotelog/index.d.ts +4 -21
  103. package/dist/cjs/remotelog/logger.d.ts +11 -17
  104. package/dist/cjs/remotelog/logger.js +31 -59
  105. package/dist/cjs/remotelog/send.js +11 -11
  106. package/dist/cjs/remotelogger/index.d.ts +12 -0
  107. package/dist/cjs/remotelogger/index.js +18 -0
  108. package/dist/cjs/scheduler.d.ts +3 -1
  109. package/dist/cjs/scheduler.js +25 -22
  110. package/dist/cjs/types.d.ts +208 -90
  111. package/dist/cjs/user/index.js +16 -7
  112. package/dist/esm/core/attempts.js +1 -1
  113. package/dist/esm/core/batch.js +2 -2
  114. package/dist/esm/core/consent.d.ts +18 -4
  115. package/dist/esm/core/consent.js +32 -17
  116. package/dist/esm/core/constants.d.ts +57 -27
  117. package/dist/esm/core/constants.js +51 -33
  118. package/dist/esm/core/db.d.ts +12 -4
  119. package/dist/esm/core/db.js +164 -35
  120. package/dist/esm/core/debug.js +1 -1
  121. package/dist/esm/core/env.d.ts +0 -3
  122. package/dist/esm/core/env.js +2 -9
  123. package/dist/esm/core/framework-id.d.ts +1 -1
  124. package/dist/esm/core/framework-id.js +3 -3
  125. package/dist/esm/core/guard.d.ts +9 -0
  126. package/dist/esm/core/guard.js +27 -14
  127. package/dist/esm/core/hooks.d.ts +7 -4
  128. package/dist/esm/core/hooks.js +3 -3
  129. package/dist/esm/core/locks.d.ts +9 -0
  130. package/dist/esm/core/locks.js +20 -0
  131. package/dist/esm/core/logger.d.ts +3 -4
  132. package/dist/esm/core/logger.js +4 -40
  133. package/dist/esm/core/state.d.ts +9 -6
  134. package/dist/esm/core/state.js +3 -5
  135. package/dist/esm/core/storage.d.ts +20 -5
  136. package/dist/esm/core/storage.js +113 -21
  137. package/dist/esm/core/stylesheet.d.ts +8 -0
  138. package/dist/esm/core/stylesheet.js +27 -0
  139. package/dist/esm/core/transport.d.ts +2 -0
  140. package/dist/esm/core/transport.js +30 -19
  141. package/dist/esm/core/utils.js +1 -1
  142. package/dist/esm/core/validate.js +2 -2
  143. package/dist/esm/device/appversion.d.ts +10 -6
  144. package/dist/esm/device/appversion.js +37 -4
  145. package/dist/esm/device/index.d.ts +28 -2
  146. package/dist/esm/device/index.js +313 -49
  147. package/dist/esm/engagement/api-rules.d.ts +32 -67
  148. package/dist/esm/engagement/api-rules.js +143 -155
  149. package/dist/esm/engagement/auto-api.js +3 -3
  150. package/dist/esm/engagement/auto-screen.d.ts +2 -0
  151. package/dist/esm/engagement/auto-screen.js +67 -4
  152. package/dist/esm/engagement/defined-events.js +1 -1
  153. package/dist/esm/engagement/send.js +12 -3
  154. package/dist/esm/engagement/session.d.ts +29 -3
  155. package/dist/esm/engagement/session.js +251 -30
  156. package/dist/esm/engagement/track.d.ts +4 -4
  157. package/dist/esm/engagement/track.js +65 -37
  158. package/dist/esm/errors/send.js +2 -2
  159. package/dist/esm/errors/track.d.ts +2 -1
  160. package/dist/esm/errors/track.js +49 -7
  161. package/dist/esm/feedback/controls.d.ts +12 -0
  162. package/dist/esm/feedback/controls.js +103 -26
  163. package/dist/esm/feedback/index.d.ts +8 -7
  164. package/dist/esm/feedback/index.js +34 -13
  165. package/dist/esm/feedback/logs.d.ts +13 -11
  166. package/dist/esm/feedback/logs.js +59 -30
  167. package/dist/esm/feedback/quartz.d.ts +18 -0
  168. package/dist/esm/feedback/quartz.js +99 -0
  169. package/dist/esm/feedback/send.d.ts +5 -2
  170. package/dist/esm/feedback/send.js +31 -31
  171. package/dist/esm/feedback/styles.d.ts +10 -0
  172. package/dist/esm/feedback/styles.js +4 -0
  173. package/dist/esm/feedback/template.d.ts +1 -1
  174. package/dist/esm/feedback/template.js +20 -12
  175. package/dist/esm/feedback/ui.d.ts +21 -6
  176. package/dist/esm/feedback/ui.js +283 -71
  177. package/dist/esm/heatmap/send.d.ts +2 -0
  178. package/dist/esm/heatmap/send.js +3 -5
  179. package/dist/esm/heatmap/track.d.ts +1 -1
  180. package/dist/esm/heatmap/track.js +87 -16
  181. package/dist/esm/index.d.ts +16 -63
  182. package/dist/esm/index.js +148 -83
  183. package/dist/esm/lifecycle.d.ts +21 -3
  184. package/dist/esm/lifecycle.js +359 -98
  185. package/dist/esm/remoteconfig/country.d.ts +4 -0
  186. package/dist/esm/remoteconfig/country.js +70 -0
  187. package/dist/esm/remoteconfig/custom.d.ts +7 -7
  188. package/dist/esm/remoteconfig/custom.js +32 -52
  189. package/dist/esm/remoteconfig/evaluate.d.ts +3 -3
  190. package/dist/esm/remoteconfig/evaluate.js +57 -44
  191. package/dist/esm/remoteconfig/fetch.d.ts +16 -9
  192. package/dist/esm/remoteconfig/fetch.js +120 -39
  193. package/dist/esm/remoteconfig/index.d.ts +19 -8
  194. package/dist/esm/remoteconfig/index.js +82 -40
  195. package/dist/esm/remoteconfig/store.d.ts +15 -7
  196. package/dist/esm/remoteconfig/store.js +68 -36
  197. package/dist/esm/remoteconfig/tz-countries.d.ts +8 -0
  198. package/dist/esm/remoteconfig/tz-countries.js +11 -0
  199. package/dist/{cjs/core → esm/remotelog}/callsite.d.ts +11 -4
  200. package/dist/esm/{core → remotelog}/callsite.js +30 -8
  201. package/dist/esm/remotelog/gate.d.ts +2 -11
  202. package/dist/esm/remotelog/gate.js +10 -32
  203. package/dist/esm/remotelog/index.d.ts +4 -21
  204. package/dist/esm/remotelog/logger.d.ts +11 -17
  205. package/dist/esm/remotelog/logger.js +33 -61
  206. package/dist/esm/remotelog/send.js +13 -13
  207. package/dist/esm/remotelogger/index.d.ts +12 -0
  208. package/dist/esm/remotelogger/index.js +13 -0
  209. package/dist/esm/scheduler.d.ts +3 -1
  210. package/dist/esm/scheduler.js +26 -24
  211. package/dist/esm/types.d.ts +208 -90
  212. package/dist/esm/user/index.js +18 -8
  213. package/dist/feedback.esm.min.js +2 -2
  214. package/dist/feedback.esm.min.js.map +1 -1
  215. package/dist/remoteconfig.esm.min.js +3 -0
  216. package/dist/remoteconfig.esm.min.js.map +1 -0
  217. package/dist/remotelogger.esm.min.js +3 -0
  218. package/dist/remotelogger.esm.min.js.map +1 -0
  219. package/package.json +16 -17
  220. package/dist/chunks/batch-BU_mTpm1.min.js +0 -3
  221. package/dist/chunks/batch-BU_mTpm1.min.js.map +0 -1
  222. package/dist/chunks/logs-Bea5zUW_.min.js +0 -3
  223. package/dist/chunks/logs-Bea5zUW_.min.js.map +0 -1
  224. package/dist/cjs/auto-init.d.ts +0 -8
  225. package/dist/cjs/auto-init.js +0 -32
  226. package/dist/cjs/heatmap/index.d.ts +0 -16
  227. package/dist/cjs/heatmap/index.js +0 -22
  228. package/dist/cjs/remotelog/index.js +0 -55
  229. package/dist/esm/auto-init.d.ts +0 -8
  230. package/dist/esm/auto-init.js +0 -29
  231. package/dist/esm/heatmap/index.d.ts +0 -16
  232. package/dist/esm/heatmap/index.js +0 -17
  233. package/dist/esm/remotelog/index.js +0 -51
  234. package/dist/heatmap.esm.min.js +0 -3
  235. package/dist/heatmap.esm.min.js.map +0 -1
  236. package/dist/style.css +0 -1
@@ -0,0 +1,3 @@
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.2 | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ import{u as e,C as t,_ as n,c as r,w as i,p as o,U as a,V as s,S as c,n as u,W as d,G as f,X as p,Q as l,d as g,Y as _,Z as h,$ as v,a0 as m,a1 as y,a2 as k,r as E,T as b,l as S,a3 as w,a4 as A,D as P,k as O,a5 as T,a6 as R,m as N,a7 as I,a8 as x,z as C,B as q,b as U,j as D,e as L,a9 as j,aa as z,q as H,I as M,ab as G,ac as J,i as F,K as W,h as B,ad as Z,ae as $,af as V,s as K,ag as Y,L as X,M as Q,ah as ee,ai as te,aj as ne,ak as re,A as ie,al as oe,am as ae,E as se,an as ce,R as ue,ao as de,J as fe,ap as pe,f as le,aq as ge,ar as _e,as as he,at as ve,au as me,av as ye}from"./send-CgUO82ne.min.js";function ke(name,e){var t="undefined"!=typeof navigator?navigator.locks:void 0;return t&&"function"==typeof t.request?t.request("apptics-"+name,function(){return e()}):e()}const Ee="registerAppVersion",be="app_version_info",Se=["apid","mapid","aaid","appversionid","appreleaseversionid","platformid","projectid","portalid"];var we=null;function Ae(){var t=e.item(be);return t&&"object"==typeof t?t:{}}const Pe=["aaid","portalid","projectid","apid","mapid","appversionid"];function Oe(e){return Pe.filter(function(key){return r(e[key])})}function Te(key){var e=r(key)?"":String(key);if(""===e)return"";for(var t=2166136261,n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return("0000000"+t.toString(16)).slice(-8)}function Re(e){Se.forEach(function(key){r(e[key])||(n._device_info[key]=e[key])}),r(e.aaid)||(n._defaultoptions.aaid=e.aaid),r(e.portalid)||(n._defaultoptions.zsoid=String(e.portalid)),r(e.projectid)||(n._defaultoptions.projectID=String(e.projectid)),r(e.apid)||(n._apid=String(e.apid)),r(e.mapid)||(n._mapid=String(e.mapid))}var Ne=!1;function Ie(){return Ne}function xe(){if(Ne=!1,0===Oe(c=Ae()).length&&c.appversion===n._defaultoptions.appversion&&c.identifier===n._defaultoptions.identifier&&c.serviceUrl===n._defaultoptions.serviceUrl&&c.zakhash===Te(n._defaultoptions.zak))return Re(Ae()),t.log(Ee+": reusing the ids stored for "+n._defaultoptions.appversion),Promise.resolve(!0);var c;if(null!==we)return we;var u=r(n._device_info.frameworkid)?n._frameworkID:n._device_info.frameworkid;return 0===u&&i(Ee+": this build has no registered framework id; build the package with npm pack"),r(u)||r(n._defaultoptions.identifier)||r(n._defaultoptions.zak)?(i(Ee+": need zak, an identifier and a frameworkid to register this app version"),Promise.resolve(!1)):we=o("addversion","",{zak:a("zak")},Ee).then(function(o){if(!s(o)||!o.data)return i(Ee+": the server did not return the app ids"),!1;var a=o.data,c=Oe(a);if(c.length>0)return i(Ee+": the answer has no "+c.join(", ")),!1;Re(a);var u={appversion:n._defaultoptions.appversion,identifier:n._defaultoptions.identifier,serviceUrl:n._defaultoptions.serviceUrl,zakhash:Te(n._defaultoptions.zak)};return Se.forEach(function(key){r(a[key])||(u[key]=a[key])}),e.add(be,u),t.log(Ee+": registered "+n._defaultoptions.appversion+" as apid "+a.apid),!0}).catch(function(e){return Ne=!(e&&e.serverResult)||!1===navigator.onLine,i(Ee+": could not register this app version: "+String(e&&e.message?e.message:e)),!1}).then(function(e){return we=null,e})}const Ce=["devicetype","osversion","timezone","screenheight","screenwidth","referrer","referringdomain","browser","browserversion","donottrackenabled","platformid"],qe=["screenheight","screenwidth","donottrackenabled","platformid"];function Ue(e){var t={};return Ce.forEach(function(key){var value=e[key],n=-1!==qe.indexOf(key);t[key]=r(value)?n?0:"":value}),JSON.stringify(t)}const De=["osversion","browser","browserversion","devicetype","screenheight","screenwidth","timezone","donottrackenabled","frameworkid"];function Le(e){var t={};return De.forEach(function(key){t[key]=e?e[key]:void 0}),t}function je(){var i=e.item("device_info");n._device_info={osversion:k(),browser:y(),browserversion:String(m()),donottrackenabled:v()?1:0,devicetype:h(),screenheight:screen.height,screenwidth:screen.width,referrer:_(),connectionType:g(),referringdomain:window.location.hostname||"",deviceid:d("deviceid"),anonymousid:d("anonymousid"),frameworkid:n._frameworkID,mapid:d("mapid"),aaid:d("aaid"),apid:d("apid"),appversionid:d("appversionid"),platformid:d("platformid"),devicetypeid:d("devicetypeid"),osversionid:d("osversionid"),timezoneid:d("timezoneid"),modelid:d("modelid"),appreleaseversionid:d("appreleaseversionid"),timezone:l(),uuid:n._uuid||d("uuid"),hadsession:!0===d("hadsession")||void 0},Re(Ae()),e.add("device_info",n._device_info),function(i,c){var u=void 0!==c?c:e.item("device_info")||{};ze(i)&&null!=i.frameworkid?r(u)||w(Le(i),Le(u))||(t.log("addOrUpdateDeviceID: Device info changed, so updating new changes"),t.dir(Le(i)),Be(i).catch(function(e){t.log("addOrUpdateDeviceID: Error updating the device: "+e)})):(i.frameworkid=n._frameworkID,t.log("addOrUpdateDeviceID: Initiated register the device"),function(){var i="registerDeviceWithApptics",s=E(i);if(s)return s;if(!n._token)return t.warn(i+": You must call Apptics.init() first"),Promise.reject(i+": You must call Apptics.init() first");var c=b(i);if(c)return c;if(ze(n._device_info))return Promise.resolve(n._device_info);return new Promise((s,c)=>{if(n._regDeviceSending)return n._regDeviceResolve.push(s),void n._regDeviceReject.push(c);n._regDeviceSending=!0,R(["device_info"]).then(function(){var i=e.item("device_info")||{};return ze(i)?(r(i.uuid)||(n._uuid=i.uuid),t.log("registerDeviceWithApptics: another tab registered this browser, using its device "+i.deviceid),Me(i).then(function(){return{result:"success",data:i}})):null}).then(function(e){if(e)return e;var t=Ue(n._device_info),r={zak:a("zak"),uuid:a("uuid"),...S()};return o("regdevice",t,r,i).then(function(e){return Me(e.data||{}).then(function(){return e})})}).then(function(e){We(!0,e),s(e),it()}).catch(function(e){We(!1,e),c(e)})})}().then(function(e){s(e)?(t.log("addOrUpdateDeviceID: Success register the device "+JSON.stringify(e.data)),t.dir(e.data)):t.log("addOrUpdateDeviceID: Error registering the device: "+e)}).catch(function(e){t.log("addOrUpdateDeviceID: Error registering the device: "+e)}))}(n._device_info,i)}function ze(e){return!!e&&!r(e.deviceid)}const He=["deviceid","anonymousid","aaid","apid","mapid","appversionid","osversionid","timezoneid","platformid","devicetypeid","modelid"];function Me(t){return He.forEach(function(key){r(t[key])||(n._device_info[key]=t[key])}),r(t.apid)||(n._apid=t.apid),r(t.mapid)||(n._mapid=t.mapid),e.save("device_info",n._device_info)}function Ge(){var e=d("uuid");r(e)&&(e=f(),p("uuid",e)),n._uuid=e}function Je(){return ze(e.item("device_info")||{})?(Ge(),je(),Promise.resolve()):new Promise(function(e){ke("device",function(){return R(["device_info"]).then(function(){return Ge(),je(),e(),Fe()})}).catch(function(e){t.log("prepareDevice: "+e)}).then(function(){e()})})}function Fe(){return n._regDeviceSending?new Promise(function(e){n._regDeviceResolve.push(function(){e()}),n._regDeviceReject.push(function(){e()})}):Promise.resolve()}function We(e,value){var t=e?n._regDeviceResolve:n._regDeviceReject;n._regDeviceSending=!1,n._regDeviceResolve=[],n._regDeviceReject=[],t.forEach(function(e){e(value)})}function Be(e){var t="updateDeviceWithApptics",n=E(t)||b(t);if(n)return n;var r=Ue(e),i={zak:a("zak"),uuid:a("uuid"),...S()};return o("regdevice",r,i,t).then(function(e){return Me(e.data||{}),e})}function Ze(status,id){var e=status[id];return!e||"object"!=typeof e||!1!==e.enabled}function $e(e){var status=e.tracking_status&&"object"==typeof e.tracking_status?e.tracking_status:{},t=Object.keys(status).length>0;if(e.hasOwnProperty("tracking_enabled"))n._shouldTrack=!1!==e.tracking_enabled;else if(e.hasOwnProperty("shouldtrack"))n._shouldTrack=!1!==e.shouldtrack;else{var i=!(e.hasOwnProperty("versionarchivestatus")&&!r(e.versionarchivestatus))||e.versionarchivestatus,o=!(e.hasOwnProperty("customergrouptracking")&&!r(e.customergrouptracking))||e.customergrouptracking;n._shouldTrack=i||!o}if(t)n._engagementTracking={event:Ze(status,c.EVENT),api:Ze(status,c.API),screen:Ze(status,c.SCREEN),session:Ze(status,c.SESSION)},n._errorTracking=Ze(status,c.JS_ERROR),n._heatmapTracking=Ze(status,c.HEATMAP),n._remoteLoggerEnabled=Ze(status,c.REMOTE_LOGGER),n._feedbackEnabled=Ze(status,c.FEEDBACK),n._remoteConfigEnabled=Ze(status,c.REMOTE_CONFIG);else{var a=e.engagement&&"object"==typeof e.engagement?e.engagement:null,s=function(t){return a?!1!==a[t]:!1!==e.engagementtracking};n._engagementTracking={event:s("event"),api:s("api"),screen:s("screen"),session:s("session")};var d=function(key,t){return!1!==(e.hasOwnProperty(key)?e[key]:e[t])};n._errorTracking=d("error","errortracking"),n._heatmapTracking=d("heatmap","heatmaptracking"),n._remoteLoggerEnabled=d("remotelogger","remoteloggerenabled"),n._feedbackEnabled=d("feedback","feedbackenabled")}var f=e.quartz&&"object"==typeof e.quartz?e.quartz:{},p=function(value){return"string"==typeof value?value.trim():""};n._quartz={enabled:f.hasOwnProperty("quartz_enabled")?!0===f.quartz_enabled:!0===e.quartzenabled,workspace:p(f.quartz_workspace),department:p(f.quartz_department),domain:p(f.quartz_domain),cdnUrl:p(f.quartz_cdn_url)},n._nextConfigCheck=function(value,e){if("number"!=typeof value||!(value>0))return 0;return value>=1e12?value:e+value}(e.next_check_after,u()),n._trackinfo={engagement:n._engagementTracking,error:n._errorTracking,heatmap:n._heatmapTracking,remotelogger:n._remoteLoggerEnabled,feedback:n._feedbackEnabled,quartz:{quartz_enabled:n._quartz.enabled,quartz_workspace:n._quartz.workspace,quartz_department:n._quartz.department,quartz_domain:n._quartz.domain,quartz_cdn_url:n._quartz.cdnUrl},shouldtrack:n._shouldTrack,next_check_after:n._nextConfigCheck}}var Ve=["engagementtracking","errortracking","heatmaptracking","remoteloggerenabled","feedbackenabled"];var Ke=2147483647,Ye=null,Xe=!1,Qe=0,et=!1,tt=!1,nt=0;function rt(){if(!(Xe||!A()||r(a("apid"))&&r(a("mapid")))){null!==Ye&&(clearTimeout(Ye),Ye=null),Xe=!0,et=!0,function(){try{sessionStorage.setItem(ot,"1")}catch(e){}}();var i,s=Qe,c=u();(i="getUpdatesFromServer",b(i)||O(i)||o("sdkconfig","",S(),i).then(function(r){var i=r.data||{};$e(i),0===n._nextConfigCheck&&(n._nextConfigCheck=u()+P("getupdates_interval"),n._trackinfo.next_check_after=n._nextConfigCheck);var o=T();return e.add("trackinfo",void 0===o?n._trackinfo:Object.assign({},n._trackinfo,{tracking_status:o})),t.log("getUpdatesFromServer: "+JSON.stringify(n._trackinfo)),i})).catch(function(e){t.log(e)}).then(function(){if(s===Qe){if(Xe=!1,tt)return tt=!1,void rt();nt=n._nextConfigCheck>u()?n._nextConfigCheck:c+P("getupdates_interval"),at()}})}}function it(){if(!et)return function(){try{return"1"===sessionStorage.getItem(ot)}catch(e){return!1}}()&&n._nextConfigCheck>u()?(t.log("getsdkconfig: the saved answer is still current"),et=!0,nt=n._nextConfigCheck,void at()):void rt()}var ot="_apptics_sdkconfig_asked";function at(){null!==Ye&&clearTimeout(Ye);var e=Math.min(Math.max(nt-u(),0),Ke);t.log("getsdkconfig: next check in "+e+" ms"),Ye=setTimeout(function(){Ye=null,rt()},e)}function st(id,e){return r(id)?Promise.resolve():(n._current_screen&&n._current_screen.id===id&&!n._current_screen.endtime&&(n._current_screen=Object.assign({},n._current_screen,{endtime:e})),I.all().then(function(t){var n=t.filter(function(e){return e.type==x.SCREEN&&e.id===id&&0===e.endtime})[0];if(n)return I.update(Object.assign({},n,{endtime:Math.max(e,n.starttime)}))}))}function ct(){var e=n._current_screen;return e&&e.id?st(e.id,u()):Promise.resolve()}function ut(e,t){return I.all().then(function(n){return n.filter(function(t){return t.type==x.SCREEN&&0===t.endtime&&t.sessionstarttime===e.starttime}).reduce(function(e,n){return e.then(function(){return I.update(Object.assign({},n,{endtime:Math.max(t,n.starttime)}))})},Promise.resolve())})}function dt(e){if(!z("trackSession",x.SESSION))return Promise.resolve();if(e&&"object"!=typeof e)return C(q.SESSION,"apptics.trackSession: sessionData param must be an object"),Promise.resolve();var n=I.add(e);return t.log("apptics.trackSession("+JSON.stringify(e||{})+")"),t.dir(e),n}function ft(){var e=Et();return I.all().then(function(t){if(e){var n=t.filter(function(t){return t.type==x.SESSION&&t.id===e&&0===t.endtime})[0];if(n)return n}return function(e,t){return t.filter(function(t){return t.type==e&&0===t.endtime}).sort(function(e,t){return t.starttime-e.starttime})[0]}(x.SESSION,t)})}N.updateDevice=Be,N.refreshDeviceInfo=je,N.askServerSettings=function(){Xe?tt=!0:rt()};var pt="";function lt(){return""===pt&&(pt=f()),pt}function gt(e){return Array.isArray(e.tabs)?e.tabs.slice():[]}const _t="apptics-tab-";function ht(){var e="undefined"!=typeof navigator?navigator.locks:void 0;return e&&"function"==typeof e.request&&"function"==typeof e.query?e:void 0}var vt=!1;function mt(){var e=ht();if(!e)return Promise.resolve();var n=lt();return e.query().then(function(e){var r={};(e.held||[]).concat(e.pending||[]).forEach(function(e){e.name&&0===e.name.indexOf(_t)&&(r[e.name.slice(12)]=!0)});var i=u();return I.all().then(function(e){var o=e.filter(function(e){return e.type==x.SCREEN&&0===e.endtime&&"string"==typeof e.tab&&e.tab!==n&&!r[e.tab]&&i-e.starttime>5e3});return o.length&&t.log("closeScreensOfGoneTabs: ending "+o.length+" screen view(s) left open by a tab that is gone"),o.reduce(function(e,t){var n=Math.max(t.starttime,Number(t.lastseen)||t.starttime);return e.then(function(){return I.update(Object.assign({},t,{endtime:n}))})},Promise.resolve())})}).catch(function(e){t.log("closeScreensOfGoneTabs: "+e)})}function yt(e){return ke("session",e)}const kt="apptics-session";function Et(){try{return sessionStorage.getItem(kt)||""}catch(e){return""}}const bt="hadsession";var St=null,wt=null;function At(){null!==wt&&(clearTimeout(wt),wt=null)}function Pt(){if(!St)return Promise.resolve();var e=St;return St=null,At(),e.firstsession&&p(bt,!0),dt(e)}function Ot(e){n._current_session={id:f(),type:x.SESSION,starttime:e,endtime:0,edge:g(),orientation:L(),firstsession:!0!==d(bt),networkstatus:D(),lastactivetime:e,tabs:[lt()]};var t=j();r(t)||(n._current_session.ram=t),function(id){try{sessionStorage.setItem(kt,id)}catch(e){}}(n._current_session.id);var i=Number(P("min_session_duration"));return i>0?(St=n._current_session,At(),wt=setTimeout(function(){wt=null,Pt()},i),Promise.resolve()):function(e){e.firstsession&&p(bt,!0);return dt(e)}(n._current_session)}var Tt=!1,Rt=null;function Nt(e){var r=!Tt;return Tt=!0,null!==Rt&&clearTimeout(Rt),Rt=setTimeout(function(){Rt=null,function(){if(!n._token||U())return Promise.resolve(!1);var e=!1;return yt(function(){return ft().then(function(r){if(r&&0===r.endtime){var i=Number(r.lastactivetime)||u();if(!(u()-i<60*n.inactiveduration*1e3)){var o=gt(r).filter(function(e){return e!==lt()});if(o.length>0){var a=Object.assign({},r,{tabs:o});return n._current_session=a,I.update(a)}var s=Math.max(i,Number(r.starttime)||i),c=Object.assign({},r,{endtime:s,tabs:[]});return n._current_session=c,e=!0,t.log("session: inactive for "+n.inactiveduration+" minutes, so it ends when the user left, "+s),I.update(c).then(function(){return ut(c,s)})}}})}).then(function(){return e})}().then(function(t){t&&e()})},60*n.inactiveduration*1e3+1e3),r?yt(qt):Promise.resolve()}function It(){Tt=!1,null!==Rt&&(clearTimeout(Rt),Rt=null)}function xt(){var e=u(),r=Tt;return It(),St&&(t.log("session: dropped, shorter than the minimum with nothing tracked in it"),St=null,At(),1)?Promise.resolve():yt(function(){return function(e,r){return ft().then(function(i){if(i&&0===i.endtime){var o=Number(i.lastactivetime)||0,a=r&&o>0?Math.max(Math.min(o,e),Number(i.starttime)||0):e,s=gt(i).filter(function(e){return e!==lt()});if(s.length>0){var c=Object.assign({},i,{tabs:s,lastactivetime:a});return n._current_session=c,t.log("endCurrentSession: "+s.length+" other tab(s) still on this session, so it stays open"),I.update(c)}var u=Object.assign({},i,{endtime:a,lastactivetime:a,tabs:[]});return n._current_session=u,t.log("endCurrentSession: closing the session opened at "+u.starttime),I.update(u).then(function(){return ut(u,a)})}})}(e,r)})}function Ct(){if(!n._token)return C(q.SESSION,"checkAndUpdateSession: You must call Apptics.init() first"),Promise.resolve();if(U())return Promise.resolve();var e=u();return yt(function(){return function(e){return(r=u()-60*n.inactiveduration*1e3,i=Et(),I.all().then(function(e){var n=e.filter(function(e){return e.type==x.SESSION&&0===e.endtime&&e.id!==i&&e.lastactivetime<r});return n.length?(t.log("closeAbandonedSessions: closing "+n.length+" session(s) left open by a closed tab"),n.reduce(function(e,t){return e.then(function(){return I.update(Object.assign({},t,{endtime:t.lastactivetime}))}).then(function(){return ut(t,t.lastactivetime)})},Promise.resolve())):Promise.resolve()})).then(mt).then(ft).then(function(r){if(!r||0!==r.endtime)return Ot(e);if(n._current_session=r,e-r.lastactivetime>1e3*n.inactiveduration*60){t.log("checkAndUpdateSession: User is inactive for the past "+n.inactiveduration+" minutes so starting a new session");var i=Object.assign({},r,{endtime:r.lastactivetime});return t.log("checkAndUpdateSession: ("+JSON.stringify(i)+")"),t.dir(i),I.update(i).then(function(){return ut(i,i.endtime)}).then(function(){return Ot(e)})}return t.log("checkAndUpdateSession: User is back before "+n.inactiveduration+" minutes so updating the lastactivitytime - "+e),qt()});var r,i}(e)})}function qt(){var e=u();return St?(St.lastactivetime=e,n._current_session=St,Promise.resolve()):ft().then(function(r){if(r){t.log("updateLastActiveTimeOfSession: Updating the lastactivitytime - "+e);var i,o,a=Object.assign({},r,{lastactivetime:e,tabs:(i=r,o=gt(i),-1===o.indexOf(lt())&&o.push(lt()),o)});return n._current_session=a,I.update(a)}}).then(function(){return function(e){var t=n._current_screen;return t&&t.id&&!t.endtime?I.all().then(function(n){var r=n.filter(function(e){return e.type==x.SCREEN&&e.id===t.id&&0===e.endtime})[0];return r?I.update(Object.assign({},r,{lastseen:e})):void 0}):Promise.resolve()}(e)})}const Ut=/^ap_/i;function Dt(e){if(!e||""===e)return t.warn("validateEventOrGroup: Invalid event or group name"),!1;return Ut.test(e)?(t.warn('validateEventOrGroup: "'+e+'" starts with ap_, which is reserved for defined events'),!1):/^[a-zA-Z][a-zA-Z0-9_]{0,99}$/.test(e)}const Lt=/^[a-zA-Z][a-zA-Z0-9_]{0,49}$/;function jt(e){if(r(e)||H(e))return{};var n=e,i={},o={},a=[],s=[],c=[];function u(e){-1===a.indexOf(e)&&a.push(e)}return Object.keys(n).forEach(function(key){if(!Lt.test(key)||Ut.test(key))return t.warn("validateJSON: dropped the property '"+key+"': a key is a letter, then up to 49 letters, digits or _, and not ap_"),s.push(key.substring(0,50)),void u(103);var e=function(value){if("number"==typeof value&&isFinite(value))return{value:value,type:"Number"};if("boolean"==typeof value)return{value:value?1:0,type:"Boolean"};if("string"==typeof value)return{value:value,type:"String"};var e;try{e=void 0===value?"undefined":JSON.stringify(value)}catch(t){e=String(value)}return{value:void 0===e?String(value):e,type:"String"}}(n[key]);if(String(e.value).length>250)return t.warn("validateJSON: dropped the property '"+key+"': its value is longer than 250 characters"),c.push(key),void u(104);if(Object.keys(i).length>=24)return t.warn("validateJSON: dropped the property '"+key+"': at most 24 properties"),void u(102);var r=Object.assign({},i);if(r[key]=e.value,JSON.stringify(r).length>7666)return t.warn("validateJSON: dropped the property '"+key+"': properties are at most 7666 characters in all"),void u(101);i[key]=e.value,o[key]=e.type}),Object.keys(i).length>0?{data:i,datatype:o,isvalid:!0}:0===a.length?{}:{isvalid:!1,message:{code:a,keys:s,valuekeys:c}}}function zt(e){const t={},n={},message=[],r={101:[],102:[],103:[],104:[]},i=/^[a-zA-Z][a-zA-Z0-9_]{0,49}$/,o=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;let a=0;const s=["first_name","last_name","company_name","contact_number","country","region","city","geo_location","gender","plan_type","timezone","language"],c=["engagement_score","date_of_birth"];for(const[key,value]of Object.entries(e))if(a++,"string"!=typeof key||key.length>50||!i.test(key))r[103].push(key);else if(s.includes(key)){if("string"!=typeof value||value.length>255){r[103].push(key);continue}t[key]=value,n[key]="String"}else if("email_address"!==key)if(c.includes(key)){if("number"!=typeof value||!Number.isFinite(value)){r[103].push(key);continue}t[key]=value,n[key]="Number"}else if("boolean"==typeof value)t[key]=value,n[key]="Boolean";else if("string"==typeof value){if(value.length>255){r[103].push(key);continue}t[key]=value,n[key]="String"}else{if("number"!=typeof value){r[104].push(key);continue}if(!Number.isFinite(value)){r[104].push(key);continue}t[key]=value,n[key]="Number"}else{if("string"!=typeof value||value.length>255||!o.test(value)){r[103].push(key);continue}t[key]=value,n[key]="String"}a>45&&(r[102]=Object.keys(e));JSON.stringify(t).length+JSON.stringify(n).length>1e4&&(r[101]=Object.keys(e));for(const e of[101,102,103,104])r[e].length>0&&message.push({code:e,keys:r[e]});return{data:t,datatype:n,message:message}}function Ht(e){if(!e||""===e)return t.warn("validateScreenName: Invalid screenName"),!1;return/^[\w\s.\-_&/:*]{0,99}$/.test(e)}function Mt(e){try{var url=new URL(String(e).trim());if("http:"!==url.protocol&&"https:"!==url.protocol)return"";var t=url.pathname.length>1?url.pathname.replace(/\/+$/,""):url.pathname;return url.protocol+"//"+url.host.toLowerCase()+t}catch(e){return""}}function Gt(method,e){var t=[];return e.forEach(function(value){var url="string"==typeof value?Mt(value):"";""!==url?-1===t.indexOf(url)&&t.push(url):i("ApiTrackingBuilder."+method+": "+JSON.stringify(value)+" is not a full http(s) URL, as https://api.example.com/health, and is left out")}),t}function Jt(method,e){var t=[];return e.forEach(function(value){if(value instanceof RegExp)t.push(value);else{if("string"==typeof value&&""!==value)try{return void t.push(new RegExp(value))}catch(e){}i("ApiTrackingBuilder."+method+": "+String(value)+" is not a regular expression, and is left out")}}),t}class Ft{constructor(){this.rules={allowEquals:[],ignoreEquals:[],allowRegex:[],ignoreRegex:[]}}allowEquals(...e){return this.rules.allowEquals.push(...Gt("allowEquals",e)),this}ignoreEquals(...e){return this.rules.ignoreEquals.push(...Gt("ignoreEquals",e)),this}allowRegex(...e){return this.rules.allowRegex.push(...Jt("allowRegex",e)),this}ignoreRegex(...e){return this.rules.ignoreRegex.push(...Jt("ignoreRegex",e)),this}build(){return{allowEquals:this.rules.allowEquals.slice(),ignoreEquals:this.rules.ignoreEquals.slice(),allowRegex:this.rules.allowRegex.slice(),ignoreRegex:this.rules.ignoreRegex.slice()}}}const Wt=Object.freeze({ignoreDomains:"ignoreRegex",allowOnlyDomains:"allowRegex",allowOnlyTLDs:"allowRegex",ignoreTLDs:"ignoreRegex",ignoreDomainPrefixes:"ignoreRegex",ignoreDomainSuffixes:"ignoreRegex",groupDomains:"",ignoreEndpoint:"ignoreEquals or ignoreRegex",addPattern:"",preserveSegments:"",autoDetection:""});Object.keys(Wt).forEach(function(name){Object.defineProperty(Ft.prototype,name,{configurable:!0,value:function(){var e=Wt[name];throw new TypeError("ApiTrackingBuilder."+name+"() is no longer supported: "+(e?"use "+e+", which match the URL without its query":"ids, UUIDs and tokens in a path become * on their own"))}})});var Bt={allowEquals:[],ignoreEquals:[],allowRegex:[],ignoreRegex:[]};function Zt(value,e){return Array.isArray(value)?value.filter(e):[]}function $t(config){var e=config instanceof Ft?config.build():config;if(e&&"object"==typeof e){var t=function(e){return"string"==typeof e},n=function(e){return e instanceof RegExp};Bt={allowEquals:Gt("allowEquals",Zt(e.allowEquals,t)),ignoreEquals:Gt("ignoreEquals",Zt(e.ignoreEquals,t)),allowRegex:Zt(e.allowRegex,n).concat(Jt("allowRegex",Zt(e.allowRegex,t))),ignoreRegex:Zt(e.ignoreRegex,n).concat(Jt("ignoreRegex",Zt(e.ignoreRegex,t)))}}else Bt={allowEquals:[],ignoreEquals:[],allowRegex:[],ignoreRegex:[]}}function Vt(e,url){return e.lastIndex=0,e.test(url)}function Kt(url){var e=Mt(url);return""!==e&&(-1===Bt.ignoreEquals.indexOf(e)&&!Bt.ignoreRegex.some(function(t){return Vt(t,e)})&&(0===Bt.allowEquals.length&&0===Bt.allowRegex.length||(-1!==Bt.allowEquals.indexOf(e)||Bt.allowRegex.some(function(t){return Vt(t,e)}))))}const Yt=/^\d+$/,Xt=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Qt=/^eyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/;function en(e){return function(e){var t=String(e||"").split(/[?#]/)[0];return""===t?"/":t}(e).split("/").map(function(e){return""!==e&&(Yt.test(e)||Xt.test(e)||Qt.test(e))?"*":e}).join("/")}const tn={AP_APP_LIFE_CYCLE:["AP_APP_INSTALL","AP_APP_UNINSTALL","AP_APP_UPDATE","AP_APP_CRACKED","AP_APP_OPEN","AP_APP_CLEAR_DATA","AP_APP_FOREGROUND","AP_APP_BACKGROUND","AP_APP_OUT_OF_MEMORY","AP_APP_FIRST_OPEN","AP_APP_LAUNCHING","AP_APP_RESIGN_ACTIVE","AP_APP_WILL_CONNECT"],AP_USER_LIFE_CYCLE:["AP_USER_SIGNUP","AP_USER_LOGIN","AP_USER_LOGOUT"],AP_APPLICATION:["AP_DEEP_LINK_OPEN","AP_DEEP_LINK_UPDATE","AP_DEEP_LINK_FIRST_OPEN","AP_IN_APP_PURCHASE","AP_NOTIFICATION_RECEIVE","AP_NOTIFICATION_OPEN","AP_NOTIFICATION_DISMISS","AP_NOTIFICATION_FOREGROUND","AP_SEARCH","AP_BATTERY_LOW","AP_BATTERY_FULL","AP_LOW_POWER_MODE_ON","AP_LOW_POWER_MODE_OFF"],AP_OTHERS:["AP_NETWORK_REACHABILITY_CHANGE","AP_NETWORK_BANDWIDTH_CHANGE","AP_SWITCH_THEME_LIGHT","AP_SWITCH_THEME_DARK","AP_SWITCH_THEME_CUSTOM","AP_SWITCH_ORIENTATION_LANDSCAPE","AP_SWITCH_ORIENTATION_PORTRAIT"],AP_OS:["AP_OS_UPDATE","AP_OS_UNSUPPORTED"]};const nn=(rn={},Object.keys(tn).forEach(function(e){tn[e].forEach(function(t){rn[t]=Object.freeze({event:t,group:e})})}),Object.freeze(rn));var rn;function an(e){var t=String(e||"").split(/[?#]/)[0]||"/";return t.length>1?t.replace(/\/+$/,""):t}const sn=/[^\w\s.\-&/:*]/g;var cn=!1,un="",dn=null,fn=300,pn="",ln=null,gn=!1,_n=0,hn=null,vn=null,mn=null,yn=null;function kn(e){return"*"===e||/^\{[^/]*\}$/.test(e)||/^:[^/]+$/.test(e)}function En(e,t){var n=an(e).split("/"),r=t.split("/");if(n.length!==r.length)return!1;for(var i=0;i<n.length;i++){var o=n[i];if(!kn(o)&&o!==r[i])return!1}return!0}function bn(){try{return function(e){var name=e;try{name=decodeURIComponent(e)}catch(e){}return name.replace(sn,"_").trim().slice(0,99)}(function(e){var t=n._config.screen_routes;if(!t||0===t.length)return e;for(var r=an(e),i=0;i<t.length;i++){var o=t[i];if("equals"===o.kind&&o.path===r)return o.name;if("regex"===o.kind&&(o.regex.lastIndex=0,o.regex.test(r)))return o.name;if("pattern"===o.kind&&En(o.pattern,r))return an(o.pattern).split("/").map(e=>kn(e)?"*":e).join("/")}return e}(function(url){var e=url.pathname,t=url.hash;if(/^#!?\//.test(t)){var n=t.replace(/^#!?/,"").split("?")[0];e=e.replace(/\/+$/,"")+n}return e}(new URL(window.location.href))))}catch(e){return""}}function Sn(){if(dn=null,cn){var name=bn();""!==name&&name!==un&&(un=name,gn||(n._current_screen=Object.assign({},n._current_screen,{screen:name}),pn=name,_n=u(),ln=setTimeout(wn,fn)))}}function wn(){ln=null;var name=pn;if(pn="",cn&&!gn&&""!==name)try{Cn(name,void 0,void 0,_n||void 0)}catch(e){t.log("automatic screen tracking: "+String(e))}}function An(){null!==ln&&(clearTimeout(ln),ln=null),pn=""}function Pn(){var name=bn();""!==name&&(name===pn||""===pn&&name===un)||null===dn&&(gn=!1,An(),dn=setTimeout(Sn,0))}function On(enabled,e){var on="boolean"!=typeof enabled||enabled;if(on&&(fn=300),on!==cn){if(on)return un="",n=history.pushState,r=history.replaceState,mn=n,yn=r,hn=function(){var e=n.apply(this,arguments);return Pn(),e},vn=function(){var e=r.apply(this,arguments);return Pn(),e},history.pushState=hn,history.replaceState=vn,window.addEventListener("popstate",Pn),window.addEventListener("hashchange",Pn),cn=!0,t.log("automatic screen tracking: on"),void(null===dn&&(dn=setTimeout(Sn,0)));var n,r;hn&&history.pushState===hn&&mn&&(history.pushState=mn),vn&&history.replaceState===vn&&yn&&(history.replaceState=yn),hn=vn=mn=yn=null,window.removeEventListener("popstate",Pn),window.removeEventListener("hashchange",Pn),null!==dn&&(clearTimeout(dn),dn=null),An(),cn=!1,un="",gn=!1,t.log("automatic screen tracking: off")}}N.screenTrackedByApp=function(){gn=!0,An()};var Tn={};function Rn(e,message){C(e,message),Tn[message]||(Tn[message]=!0,i(message))}function Nn(eventName,groupName,e){if(z("trackEvent",x.EVENT)){var r=function(value){if(value&&"object"==typeof value){var e=value.event;return"string"==typeof e&&nn[e]===value?value:void 0}}(eventName);if(r)e=groupName&&"object"==typeof groupName?groupName:e,groupName=r.group,eventName=r.event;else{if("string"!=typeof eventName||!Dt(eventName))return void Rn(q.EVENT,"AppticsEvent.addEvent: Invalid eventName: "+String(eventName));if(null==groupName||""===groupName||"object"==typeof groupName)return void Rn(q.EVENT,'AppticsEvent.addEvent: groupName is required for "'+eventName+'": addEvent(eventName, groupName, properties?)');if("string"!=typeof groupName||!Dt(groupName))return void Rn(q.EVENT,'AppticsEvent.addEvent: Invalid groupName for "'+eventName+'": '+String(groupName))}var i=jt(e=e||{}),o=u(),a={id:f(),type:x.EVENT,group:groupName,event:eventName,starttime:o,endtime:o,edge:n._device_info.connectionType||g(),networkstatus:D(),screen:n._current_screen.screen||"",sessionstarttime:n._current_session.starttime||o,customproperties:i};Pt(),M(),I.add(a),t.log("AppticsEvent.addEvent('"+eventName+"','"+groupName+"',"+JSON.stringify(i||{})+")"),t.dir(a)}}function In(screenName,e,id,t){Ht(screenName)?(N.screenTrackedByApp(),Cn(screenName,e,id,t)):Rn(q.SCREEN,"AppticsScreen.inScreen: Invalid screenName: "+String(screenName))}function xn(id,e){r(id)?C(q.SCREEN,"AppticsScreen.outScreen: no screen id given"):st(id,e)}function Cn(screenName,e,id,r,i){if(z("inScreen",x.SCREEN))if(Ht(screenName)){var o=jt(e=e||{}),a="number"==typeof r?r:u(),s={id:id||f(),type:x.SCREEN,screen:screenName,starttime:a,endtime:0,edge:n._device_info.connectionType||g(),networkstatus:D(),orientation:L(),sessionstarttime:n._current_session.starttime||a,customproperties:o,tab:lt()},c=n._current_screen&&n._current_screen.id;c&&c!==s.id&&st(c,a),Pt(),M(),I.add(s),n._current_screen=i?Object.assign({},s,{implicit:!0}):s,t.log("AppticsScreen.inScreen('"+screenName+"',"+JSON.stringify(o||{})+")"),t.dir(s)}else Rn(q.SCREEN,"AppticsScreen.inScreen: Invalid screenName: "+String(screenName))}function qn(){var e=n._current_screen;if(e&&!r(e.screen)&&!e.implicit)return String(e.screen);var name=bn()||"/";return e&&e.id&&e.screen===name&&!e.endtime||Cn(name,void 0,void 0,void 0,!0),name}function Un(){var e=n._current_screen;e&&e.id&&e.endtime&&!r(e.screen)&&Cn(String(e.screen))}const Dn=/^([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Ln=/[^a-zA-Z0-9\-._*\/]+/g;function jn(e){if(z("trackApi",x.API)){var i,o=(e=e||{}).url||e.path||"",method=(e.method||"GET").toString(),a="number"==typeof e.responsecode?e.responsecode:"number"==typeof e.status?e.status:0,s=e.responsemessage||e.statusText||e.error||"-",c=u(),d="number"==typeof e.starttime?e.starttime:c;i="number"==typeof e.endtime?e.endtime:"number"==typeof e.duration?d+e.duration:c;var p=e.scheme||"",l=e.hostname||"",_="number"==typeof e.port?e.port:0,h=e.path||"",v=r(e.url)&&!r(e.hostname);if(!r(o))try{var m=new URL(o,window.location.origin);r(p)&&!v&&(p=m.protocol.replace(":","")),r(l)&&(l=m.hostname),_||v||(_=m.port?parseInt(m.port,10):"https:"===m.protocol?443:80),r(h)&&(h=m.pathname)}catch(e){r(h)&&(h=o)}if(p="https"===p||"http"===p?p:"https",_||(_="https"===p?443:80),Dn.test(l))if(Kt(p+"://"+l+(_&&!("https"===p&&443===_||"http"===p&&80===_)?":"+_:"")+("/"===String(h).charAt(0)?"":"/")+h)){h=function(e){if(r(e))return"/";var t=e.replace(Ln,"*");return"/"===t.charAt(0)?t:"/"+t}(en(h));var y=n._current_session.starttime||d,k={id:f(),type:x.API,scheme:p,port:_,hostname:l,path:h,method:method,responsecode:a,responsemessage:s,starttime:d,endtime:i,sessionstarttime:y,networkstatus:D(),edge:n._device_info.connectionType||g()};Pt(),M(),I.add(k),t.log("AppticsApi('"+method+" "+p+"://"+l+h+"')"),t.dir(k)}else t.log("AppticsApi: "+l+function(e){return String(e||"").split(/[?#]/)[0]}(h)+" is left out by configureApiTracking");else C(q.API,"AppticsApi: hostname not accepted by the server: "+String(l))}}var zn={},Hn=[];function startTrackApi(url,method){var id=f();return zn[id]={url:String(url||""),method:String(method||"GET").toUpperCase(),starttime:u()},Hn.push(id),Hn.length>500&&delete zn[Hn.shift()],id}function Mn(id,responseCode,responseMessage,e){var t=zn[id];t?(delete zn[id],Hn=Hn.filter(function(e){return e!==id}),jn({url:t.url,method:t.method,responsecode:"number"==typeof responseCode?responseCode:0,responsemessage:responseMessage,starttime:t.starttime,endtime:e})):C(q.API,"AppticsApi.endTrackApi: no call started with id "+String(id))}var Gn=!1,Jn=null,Fn=null,Wn=null;function Bn(e){if(r(e))return!1;var t;try{t=new URL(e,window.location.href)}catch(e){return!1}return("https:"===t.protocol||"http:"===t.protocol)&&(!function(url,e){for(var t=[n._defaultoptions.base_domain,n._defaultoptions.serviceUrl],i=0;i<t.length;i++)if(!r(t[i])&&0===url.indexOf(t[i]))return!0;var o=P("endpoint");return!r(o)&&0===e.indexOf(o)}(t.href,t.pathname)&&Kt(t.href))}function Zn(method,url,e,n,r){try{jn({url:url,method:method,responsecode:n,responsemessage:r,starttime:e,endtime:u()})}catch(e){t.log("auto api tracking: "+String(e))}}function $n(){"function"==typeof fetch&&(Wn=fetch,window.fetch=function(e,t){var url,method,n;try{url=function(e){return"string"==typeof e?e:"undefined"!=typeof Request&&e instanceof Request?e.url:String(e)}(e),method=function(e,t){return t&&t.method?t.method:"undefined"!=typeof Request&&e instanceof Request?e.method:"GET"}(e,t),n=u()}catch(n){return Wn(e,t)}return Bn(url)?Wn(e,t).then(function(e){return Zn(method,url,n,e.status,e.statusText||"-"),e},function(e){throw Zn(method,url,n,0,String(e&&e.message?e.message:e)||"Network Error"),e}):Wn(e,t)})}function enableApiTracking(enabled){var on="boolean"!=typeof enabled||enabled;if(on!==Gn){if(on)return"function"==typeof XMLHttpRequest&&(Jn=XMLHttpRequest.prototype.open,Fn=XMLHttpRequest.prototype.send,XMLHttpRequest.prototype.open=function(method,url){try{var e=String(url);Bn(e)?this._ap_api={method:String(method||"GET"),url:e,starttime:0}:this._ap_api=void 0}catch(e){this._ap_api=void 0}return Jn.apply(this,arguments)},XMLHttpRequest.prototype.send=function(){const e=this._ap_api;return e&&(e.starttime=u(),this.addEventListener("loadend",function(){var message=0===this.status?"Network Error":this.statusText||"-";Zn(e.method,e.url,e.starttime,this.status,message)})),Fn.apply(this,arguments)}),$n(),Gn=!0,void t.log("automatic api tracking: on");Jn&&(XMLHttpRequest.prototype.open=Jn),Fn&&(XMLHttpRequest.prototype.send=Fn),Wn&&(window.fetch=Wn),Jn=Fn=Wn=null,Gn=!1,t.log("automatic api tracking: off")}}function trackError(e,i){if(G("trackError"))if(r(e))t.warn("AppticsError.trackError: Invalid error");else{var o=jt(i),a=function(e){var t=e.reason?.stack||e.error?.stack||e.stack||"";if(!r(t))return t;var n=e.filename||e.fileName||"";if(r(n))return"";var i=void 0!==e.lineno?e.lineno:e.lineNumber,o=void 0!==e.colno?e.colno:e.columnNumber;return"at "+n+(r(i)?"":":"+i)+(r(o)?"":":"+o)}(e),s=function(e){let t="";if(r(e))return t;const n=e.split("\n");if(n.length<2)return t;const i=/at (\S+) \(/,o=/^(\w+)@/;for(let e of n){const n=e.match(i),r=e.match(o);if(n&&n[1]){const r=/\((.*)\)/.exec(e),url=r?r[1]:"Unknown URL";t=n[1],url.split("/").pop();break}if(r&&r[1]){t=r[1],e.split("@")[1].split("/").pop();break}}return t}(a)||"",c=e.type||"",d=function(e){if(null==e)return"";if("object"!=typeof e)return String(e);if(e instanceof Error||"string"==typeof e.message&&"string"==typeof e.name)return String(e);if("undefined"!=typeof Event&&e instanceof Event)return'Event "'+e.type+'"'+function(e){var t=e;if(!t||"string"!=typeof t.tagName)return"";var n=t.tagName.toLowerCase(),url=t.currentSrc||t.src||t.href||"";return" on <"+n+(url?(t.href&&!t.src?' href="':' src="')+url+'"':"")+">"}(e.target);var t=String(e);if("[object Object]"!==t)return t;try{return JSON.stringify(e).slice(0,300)}catch(e){return t}}(e.reason||e.error||e.message||""),message=(r(String(d))?r(c)?"Unknown error":String(c):String(d))+(r(s)?"":" at "+s),p=u(),l={id:f(),type:x.ERROR,edge:n._device_info.connectionType||g(),networkstatus:D(),happenedat:p,issuename:message,message:r(a)?r(String(d))?"no stack available":String(d):a,screenname:n._current_screen.screen||window.location.pathname,sessionstarttime:n._current_session.starttime||p,customproperties:o};Pt(),M(),J.add(l),t.log("AppticsError.trackError('"+c+"','"+message+"',"+JSON.stringify(o||{})+")"),t.dir(l)}}function setErrorTracking(status){n._config.track_error="boolean"!=typeof status||status,t.log("automatic error tracking: "+(n._config.track_error?"on":"off"))}function Vn(e){n._deferSendTimer&&clearTimeout(n._deferSendTimer),n._deferSendTimer=setTimeout(e,500)}function Kn(){n._deferSendTimer&&(clearTimeout(n._deferSendTimer),n._deferSendTimer=null)}function Yn(name,e){var t="undefined"!=typeof navigator?navigator.locks:void 0;return t&&"function"==typeof t.request?t.request("apptics-send-"+name,{ifAvailable:!0},function(t){return t?e():void 0}).then(function(){}):e()}function Xn(e,t,n){return e.payload().then(function(r){var i=[],o=[];return r.forEach(function(e){t(e)&&(F(n(e))?o:i).push(e)}),o.length?e.remove(o).then(function(){return i}):i})}function Qn(e,n,r,a){var s=E(n);if(s)return s;if(!W())return Promise.reject(n+": tracking is off");if(H(r))return Promise.reject(n+": nothing to send");var c=O(n);if(c)return c;if(r.hasOwnProperty("meta")||(r.meta=B()),Z(e))return i("apptics: dropping a "+n+" batch after "+$+" attempts"),V(e),Promise.resolve({result:"success"});t.log(n+": Payload size : "+K(r)/1024);var u=JSON.stringify(r);return a?Y(e,u,S(),n):o(e,u,S(),n)}function er(e,n,r){if(!n)return e.then(function(){});e.catch(function(e){t.log(r+": not confirmed before the page closed, kept for the next send: "+String(e))})}function tr(e){return U()||!W()?Promise.resolve():0==navigator.onLine?(t.warn("sendEngagementData: No Network"),Promise.resolve()):n._sending?(Vn(tr),Promise.resolve()):(n._sending=!0,Kn(),Yn("engagements",function(){return Xn(I,function(e){return 0!=e.endtime},function(e){return e.starttime}).then(function(t){if(0==t.length)return;let r=[],o=[],a=[],s=[];var c={},u=[];return X(t).forEach(function(e){if(!1===n._engagementTracking[e.type])return;const t={...e};if(e.type==x.EVENT)a.push(e);else if(e.type==x.SCREEN)o.push(e);else if(e.type==x.SESSION)r.push(e);else{if(e.type!=x.API)return;s.push(e)}u.push(t),delete e.id,delete e.type,delete e.tabs,delete e.tab,delete e.lastseen}),a.length>0&&(c.events=a),o.length>0&&(c.screens=o),r.length>0&&(c.sessions=r),s.length>0&&(c.apis=s),H(c)?void 0:er(function(e,t){return Qn("engagement","requestToSendEngagements",e,t)}(c,e).then(function(){return I.remove(u)},function(e){return Q(e)?(i("apptics: the server refused these engagement items, so they were dropped: "+String(e&&e.message)),I.remove(u)):Promise.reject(e)}),e,"sendEngagementData")})}).catch(function(e){C(q.API,"sendEngagementData: "+e)}).then(function(){n._sending=!1}))}function nr(e){return!U()&&W()&&n._errorTracking?0==navigator.onLine?(t.warn("sendErrorData: No Network"),Promise.resolve()):n._sending?(Vn(nr),Promise.resolve()):(n._sending=!0,Kn(),Yn("errors",function(){return Xn(J,function(e){return 0!=e.happenedat},function(e){return e.happenedat}).then(function(t){if(0==t.length)return;let n=[];var r=[];return X(t).forEach(function(e){r.push({...e}),e.hasOwnProperty("screenname")||(e.screenname=""),delete e.id,delete e.type,n.push(e)}),er(function(e,t){return Qn("error","requestToSendErrors",e,t)}({exceptiondetails:n},e).then(function(){return J.remove(r)},function(e){return Q(e)?(i("apptics: the server refused these errors, so they were dropped: "+String(e&&e.message)),J.remove(r)):Promise.reject(e)}),e,"sendErrorData")})}).catch(function(e){t.log("sendErrorData:"+e)}).then(function(){n._sending=!1})):Promise.resolve()}function flush(e){return ee("flush")?(n._sending=!1,tr(e).then(function(){return nr(e)}).then(function(){return N.sendHeatmaps(e)})):Promise.resolve()}var rr=0;function ir(){var e=u();return rr>0&&e-rr<15e3?(t.log("Apptics.flush: sent "+(e-rr)+" ms ago; it sends at most once every 15000 ms, and the timer sends the rest"),Promise.resolve()):(rr=e,flush())}var or=null;function ar(){null===or&&(or=setInterval(function(){te(),t.log("scheduleToSendDataToServer: Scheduling to send engagement data to the server after sometime"),tr().then(function(){return nr()}).then(function(){return N.sendHeatmaps()})},P("batch_flush_interval")))}function sr(){null!==or&&clearInterval(or),or=null,Kn(),null!==Ye&&clearTimeout(Ye),Ye=null,Qe++,Xe=!1,et=!1,tt=!1,nt=0,rr=0}function getUser(){return n._user_info||{}}function setUser(userid,groupid,i){let a=i||{};if(userid=userid||"",groupid=groupid||"",ee("setUser"))if(r(userid))C(q.PROPERTIES,"AppticsUser.setUser: Invalid userid");else{var s={mam:userid,customergroupid:groupid,appversionid:n._device_info.appversionid||"",status:1,happendat:u()};H(a)||(s.userproperties=function(e){var t=e,n=t&&"object"==typeof t&&t.data&&t.datatype?t:zt(e);return n.message.forEach(function(e){C(q.PROPERTIES,"AppticsUser.setUser: dropped "+e.keys.join(", ")+" (error "+e.code+")")}),n}(a)),function(t){var n="registerUserWithApptics",r=E(n)||b(n);if(r)return r;if(H(t))return Promise.reject(n+": nothing to register");var i=O(n);if(i)return i;var a=JSON.stringify(ne(t,["userid","groupid","happendat"]));return o("reguser",a,S(),n).then(function(n){var r=n.data||{};return t.userid=r.userid,t.groupid=r.customergroupid,re(ie.USAGE_TRACKING_WITH_PII),function(t){t.status=1;var n=e.item("users")||[],r=(n=n.map(e=>({...e,status:0}))).findIndex(e=>e.userid===t.userid);-1!==r?n[r]={...n[r],...t}:n.push(t);e.add("users",n),e.add("user_info",n[-1!==r?r:n.length-1])}(t),cr(),N.remoteConfigUserChanged(),N.askServerSettings(),r})}(s).then(function(e){t.log("setUser: "+JSON.stringify(e))}).catch(function(e){t.log(e)})}}function cr(){var t=e.item("user_info");if(!t||"object"!=typeof t||r(t.userid)){var i=e.item("users")||[],o={};i.length>0&&(o=i.filter(e=>1===e.status)[0]||{}),n._user_info=o}else n._user_info=t}class ur{setFirstName(e){return this.first_name=e,this}setLastName(e){return this.last_name=e,this}setCompanyName(e){return this.company_name=e,this}setEmailAddress(e){return this.email_address=e,this}setContactNumber(e){return this.contact_number=e,this}setCountry(e){return this.country=e,this}setRegion(e){return this.region=e,this}setCity(e){return this.city=e,this}setGeoLocation(e){return this.geo_location=e,this}setGender(e){return this.gender=e,this}setPlanType(e){return this.plan_type=e,this}setTimezone(e){return this.timezone=e,this}setLanguage(e){return this.language=e,this}setEngagementScore(e){return this.engagement_score=e,this}setDateOfBirth(e){return this.date_of_birth=e,this}addStringProperty(key,value){return"string"==typeof value&&(this[key]=value),this}addBooleanProperty(key,value){return"boolean"==typeof value&&(this[key]=value),this}addNumberProperty(key,value){return"number"==typeof value&&Number.isFinite(value)&&(this[key]=value),this}setCustomProperties(e){if("object"==typeof e&&null!==e)for(const[key,value]of Object.entries(e))this[key]=value;return this}build(){const e={},t=["first_name","last_name","company_name","email_address","contact_number","country","region","city","geo_location","gender","plan_type","timezone","language","engagement_score","date_of_birth"];return t.forEach(t=>{void 0!==this[t]&&(e[t]=this[t])}),Object.entries(this).forEach(([key,value])=>{-1===t.indexOf(key)&&"function"!=typeof value&&(e[key]=value)}),zt(e)}}let dr=!1,fr=null,pr=0;function lr(config){var e=Object.assign({},config);return Object.keys(ae).forEach(function(key){var t=ae[key];r(config[key])?(delete e[t],Object.keys(ge).forEach(function(n){ge[n]!==key||r(config[n])||(i("Apptics.init: "+n+" is now "+key+"; rename it in your config"),r(e[t])&&(e[t]=config[n]))})):e[t]=config[key]}),r(e.serviceUrl)||(e.serviceUrl=String(e.serviceUrl).replace(/\/+$/,"")),e.appversion=function(value){if("number"==typeof value)return isFinite(value)?String(value):"";return"string"==typeof value?value.trim():""}(e.appversion),e}const gr=["YOUR_APP_VERSION","YOUR_BUILD_OR_APP_VERSION","YOUR_APPVERSION"];function _r(e){return e.serviceUrl+"|"+e.identifier}var hr="";const vr=Object.freeze([{key:"batch_flush_interval",min:1e3,max:36e5},{key:"getupdates_interval",min:1e4,max:864e5},{key:"batch_size",min:1,max:500},{key:"batch_request_timeout",min:1,max:30},{key:"min_session_duration",min:0,max:6e4},{key:"heatmap_max_per_session",min:0,max:1e4}]);function mr(){return de(),e.clear(),Promise.all([I,J,fe,pe,le].map(function(e){return e.clear()})).then(function(){})}function init(config){if(!config||"object"!=typeof config)return i("Apptics.init: a config object is required, e.g. Apptics.init({ base_url, auth_key, app_domain, appversion })"),!1;if(n._initialised)return t.warn("Apptics.init: already initialised; call Apptics.reset() to start again"),!1;if(!function(){if("undefined"==typeof window||"undefined"==typeof document||"undefined"==typeof Promise)return!1;try{return"undefined"!=typeof indexedDB||!!window.localStorage}catch(e){return!1}}())return i("Apptics.init: skipped, no browser with storage and Promise support"),!1;var o,a=lr(config),s=oe.filter(function(key){return r(a[ae[key]||key])});if(s.length>0)return i("Apptics.init: missing required config: "+s.join(", ")),!1;if(o=a.appversion,-1!==gr.indexOf(o.toUpperCase()))return i('Apptics.init: appversion is still the placeholder "'+a.appversion+"\"; replace it with your app's version or build number, e.g. '2.4.0'"),!1;n._defaultoptions=a,n._defaultoptions.base_domain=a.serviceUrl,n._frameworkID=function(e){var t=e;try{t=new URL(e).hostname}catch(e){}return-1!==t.indexOf("localzoho")?5970:_e}(a.serviceUrl),n._token=a.identifier,r(config.console_log)||(n._config.debug=!!config.console_log),"boolean"==typeof config.ignore_do_not_track&&(n._config.ignore_do_not_track=config.ignore_do_not_track),n._config.debug_api="boolean"==typeof config.debug?config.debug:"boolean"==typeof config.debug_api?config.debug_api:se.debug_api,ce(n._config.debug_api),n._config.device_name="string"==typeof config.device_name?config.device_name:se.device_name,void 0!==config.remote_log&&i("Apptics.init: remote_log is no longer read; the Remote Logger page shows the lines your app logs with AppticsLogger"),void 0!==config.show_logs&&i("Apptics.init: show_logs is no longer read; AppticsLogger lines are not printed to the browser console"),n._config.track_api=se.track_api,["track_api_hosts","track_api_exclude_hosts"].forEach(function(key){void 0!==config[key]&&i("Apptics.init: "+key+" is no longer supported; use AppticsApi.configure(new AppticsApi.ApiTrackingBuilder()."+("track_api_hosts"===key?"allowOnlyDomains":"ignoreDomains")+"(...).build())")}),["DC","quartz_workspace_key","quartz_department_key"].forEach(function(key){void 0!==config[key]&&i("Apptics.init: "+key+" is no longer read; screen recording in the feedback form is set up from the Apptics console")}),void 0!==config.track_session&&i("Apptics.init: track_session is no longer read; sessions are always recorded. To stop tracking, use AppticsSettings.setTrackingStatus(AppticsSettings.AP_TRACKING_STATUS.NO_TRACKING)"),"boolean"==typeof config.track_api&&(n._config.track_api=config.track_api),enableApiTracking(n._config.track_api),n._config.track_heatmap="boolean"==typeof config.track_heatmap?config.track_heatmap:se.track_heatmap,N.trackHeatmap(n._config.track_heatmap),n._config.track_screen="boolean"==typeof config.track_screen?config.track_screen:se.track_screen,n._config.screen_routes=function(e){if(!Array.isArray(e))return[];var t=[];return e.forEach(function(e){if("string"!=typeof e){var n=e&&"object"==typeof e?e:null,name=n&&"string"==typeof n.name?n.name.trim():"";if(n&&""!==name&&"string"==typeof n.equals&&""!==n.equals.trim())t.push({kind:"equals",path:an(n.equals.trim()),name:name});else{if(n&&""!==name&&void 0!==n.regex){var r=null;if(n.regex instanceof RegExp)r=n.regex;else if("string"==typeof n.regex&&""!==n.regex)try{r=new RegExp(n.regex)}catch(e){r=null}if(r)return void t.push({kind:"regex",regex:r,name:name})}i("Apptics.init: screen_routes entry "+function(value){try{return JSON.stringify(value,function(e,t){return t instanceof RegExp?String(t):t})||String(value)}catch(e){return String(value)}}(e)+" is left out: give a route pattern, { equals, name } or { regex, name }")}}else""!==e.trim()&&t.push({kind:"pattern",pattern:e.trim()})}),t}(config.screen_routes),n._config.track_error="boolean"==typeof config.track_error?config.track_error:se.track_error,n._config.track_click="boolean"==typeof config.track_click?config.track_click:se.track_click,"light"!==config.feedback_theme&&"dark"!==config.feedback_theme&&"auto"!==config.feedback_theme||(n._config.feedback_theme=config.feedback_theme),function(config){if(vr.forEach(function(e){var value=config[e.key];if(n._config[e.key]=se[e.key],!r(value)){var o=Number(value);!isFinite(o)||o<e.min||o>e.max?i("Apptics.init: "+e.key+" must be between "+e.min+" and "+e.max+", keeping "+n._config[e.key]):(n._config[e.key]=o,t.log("Apptics.init: "+e.key+" set to "+o))}}),n.inactiveduration=he,!r(config.inactiveduration)){var e=Number(config.inactiveduration);!isFinite(e)||e<1||e>1440?i("Apptics.init: inactiveduration must be between 1 and 1440 minutes, keeping "+n.inactiveduration):(n.inactiveduration=e,t.log("Apptics.init: inactiveduration set to "+e))}}(config),fr=config,n._initialised=!0,n._ready=!1,n._pending=[];var c=++pr;return n._readyPromise=ue().then(function(o){return c===pr&&(o?function(n){var i=e.item("app_version_info")||{},o=r(i.serviceUrl)||r(i.identifier)?e.item("appkey"):_r(i);hr=String((r(i.appversion)?e.item("appversion"):i.appversion)||""),e.add("appkey",void 0),e.add("appversion",void 0);var a=!r(o)&&o!==_r(n),s=!r(i.zakhash)&&i.zakhash!==Te(n.zak);return a||s?(t.log("init: stored data was registered with another "+(a?"base_url or app_domain":"auth_key")+", clearing it and starting as a first visit"),hr="",N.resetRemoteConfig(),mr()):Promise.resolve()}(n._defaultoptions).then(function(){return c===pr&&function(config,e){return xe().then(function(t){return e===pr&&(!t&&Ie()?(i("Apptics.init: offline, so app/addversion is tried again when the browser is back online; calls made until then are kept"),function(e){return new Promise(function(t){var n=null,r=!1;function o(e){window.removeEventListener("online",a),null!==n&&clearInterval(n),t(e)}function a(){e===pr?r||!1===navigator.onLine||(r=!0,xe().then(function(e){r=!1,e?o(!0):Ie()||(i("Apptics.init: app/addversion did not return the app ids, not starting"),o(!1))})):o(!1)}window.addEventListener("online",a),n=setInterval(a,yr)})}(e).then(function(t){return e===pr&&(t?kr(config,e):(n._initialised=!1,n._token="",n._pending=[],!1))})):t?kr(config,e):(i("Apptics.init: app/addversion did not return the app ids, not starting"),n._initialised=!1,n._token="",n._pending=[],!1))})}(config,c)}):(i("Apptics.init: no usable storage (IndexedDB or localStorage), not starting"),n._initialised=!1,n._token="",n._pending=[],!1))}).catch(function(e){return t.error("Apptics.init: start-up failed",e),!1}),!0}const yr=6e4;function ready(){return n._readyPromise||Promise.resolve(!1)}function kr(config,i){var o,c;(o=ht())&&!vt&&(vt=!0,o.request(_t+lt(),function(){return new Promise(function(){})}).catch(function(){vt=!1})),n._token=String(n._defaultoptions.aaid),(c=e.item("trackinfo"))&&"object"==typeof c&&($e(c),Ve.some(function(key){return c.hasOwnProperty(key)})&&e.add("trackinfo",void 0===c.tracking_status?n._trackinfo:Object.assign({},n._trackinfo,{tracking_status:c.tracking_status})),t.log("restoreServerSettings: "+JSON.stringify(n._trackinfo))),cr();var u=""!==hr&&hr!=n._defaultoptions.appversion;return n._ignoreDnt=n._config.ignore_do_not_track,ve.update_status(ve.opt_in_status()),Je().then(function(){return i===pr&&function(e,i){it(),e&&(n._device_info.appversionid="",Be(n._device_info).then(function(e){s(e)&&t.log("init: appversion updated to "+n._defaultoptions.appversion)}).catch(function(e){t.log("init: error updating appversion: "+e)}));return n._device_info.connectionType=g(),function(){if(dr)return;dr=!0;var e=navigator.connection||navigator.mozConnection||navigator.webkitConnection;e&&e.addEventListener&&e.addEventListener("change",function(){n._device_info.connectionType=g()});window.addEventListener("blur",function(){Er()&&(document.activeElement&&"IFRAME"===document.activeElement.tagName||(t.log("Window lost focus, user switched to another window or application"),Nt(Ar)))}),window.addEventListener("focus",function(){Er()&&(t.log("Window regained focus, user switched back to the window"),It(),Ct(),ar())}),window.addEventListener("pagehide",Pr),window.addEventListener("pageshow",function(e){Er()&&e.persisted&&(t.log("restored from the back/forward cache: starting a new session"),It(),Ct().then(Un),ar())}),document.addEventListener("visibilitychange",function(){Er()&&("hidden"!==document.visibilityState?(It(),Ct().then(Un)):function(){if(!Er())return;Nt(Ar),ct(),flush(!0),t.log("page hidden: closing the open screen and flushing")}())}),window.addEventListener(window.cordova?"deviceready":"load",function(){Er()&&Ct()},{passive:!0}),window.addEventListener("online",function(){if(Er()){if(r(a("apid"))&&r(a("mapid"))||!A())return t.log("back online: registering this device before sending"),void Je().then(Fe).then(function(){Er()&&(flush(),me())});flush(),me()}},{passive:!0}),window.screen&&window.screen.orientation&&"function"==typeof window.screen.orientation.addEventListener&&window.screen.orientation.addEventListener("change",function(){n._properties.orientation=L()});window.addEventListener("unhandledrejection",function(e){Er()&&n._config.track_error&&trackError(e)}),window.addEventListener("error",function(e){if(Er()&&n._config.track_error){var t=e.target;t&&t!==window&&"string"==typeof t.tagName?trackError({type:"error",reason:e}):trackError(e)}},!0),window.addEventListener("click",wr,!0)}(),n._properties.orientation=L(),Ct().then(function(){if(i!==pr)return!1;ar(),me(),n._ready=!0;var e=n._pending;return n._pending=[],e.forEach(function(e){try{e()}catch(e){t.error("apptics: buffered call failed",e)}}),On(n._config.track_screen),N.remoteConfigStarted(),window.appticsReadyStatus=!0,"function"==typeof window.appticsReady&&window.appticsReady(),!0})}(u,i)})}function reset(){pr++,sr(),It(),enableApiTracking(!1),On(!1),we=null,e.add(be,void 0),N.trackHeatmap(!1),N.resetHeatmap(),N.resetRemoteConfig(),mr(),n._initialised=!1,n._ready=!1,n._pending=[],n._readyPromise=null,n._device_info={},n._user_info={},n._current_screen={},n._current_session={},n._uuid="",n._apid="",n._mapid="",n._sending=!1,t.log("Apptics.reset()"),fr&&init(fr)}function Er(){return n._ready}function setClickTracking(enabled){n._config.track_click="boolean"!=typeof enabled||enabled,t.log("click tracking: "+(n._config.track_click?"on":"off"))}function setScreenTracking(enabled){n._config.track_screen="boolean"!=typeof enabled||enabled,Er()&&On(n._config.track_screen)}function br(e,name){var value=e.getAttribute(name);return null!==value&&""!==value?value:e.getAttribute("data-"+name)}function Sr(name){return"["+name+"]:not(["+name+'=""]),[data-'+name+"]:not([data-"+name+'=""])'}function wr(e){if(window.appticsReadyStatus&&Er()&&n._config.track_click){var i=e.target;if(i&&"function"!=typeof i.closest&&(i=i.parentElement),i){var o=i.closest(Sr("apeventaction"));if(o){var eventName=br(o,"apeventaction")||"",a=o.closest(Sr("apgroupaction")),groupName=a&&br(a,"apgroupaction")||void 0,s={},c=br(o,"apeventprops");if(!r(c))try{s=JSON.parse(c)}catch(e){t.warn('apptics: invalid JSON in apeventprops for "'+eventName+'", sending no properties'),s={}}r(eventName)||Nn(eventName,groupName,s)}}}}function Ar(){Er()&&flush()}function Pr(){Er()&&(t.log("page closing: ending the session and sending what is queued"),ct(),ye(),xt().then(function(){return flush(!0)}))}export{Ft as A,Fe as B,nn as D,ur as U,Kn as a,er as b,Pt as c,Vn as d,Qn as e,Xn as f,Mn as g,reset as h,In as i,ir as j,init as k,enableApiTracking as l,$t as m,startTrackApi as n,xn as o,setErrorTracking as p,setClickTracking as q,ready as r,qn as s,trackError as t,Nn as u,Ht as v,Yn as w,setScreenTracking as x,getUser as y,setUser as z};
3
+ //# sourceMappingURL=lifecycle-C6m1W7jo.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-C6m1W7jo.min.js","sources":["../../src/core/locks.ts","../../src/device/appversion.ts","../../src/device/index.ts","../../src/engagement/session.ts","../../src/core/validate.ts","../../src/engagement/api-rules.ts","../../src/engagement/defined-events.ts","../../src/engagement/auto-screen.ts","../../src/engagement/track.ts","../../src/engagement/auto-api.ts","../../src/errors/track.ts","../../src/core/batch.ts","../../src/engagement/send.ts","../../src/errors/send.ts","../../src/scheduler.ts","../../src/user/index.ts","../../src/lifecycle.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["withLock","name","run","locks","navigator","undefined","request","LABEL","STORE_KEY","RESULT_KEYS","inFlight","stored","saved","user_defaults","item","REQUIRED_KEYS","missingKeys","data","filter","key","isEmpty","keyFingerprint","text","String","hash","i","length","charCodeAt","Math","imul","toString","slice","apply","forEach","_ZAP","_device_info","aaid","_defaultoptions","portalid","zsoid","projectid","projectID","apid","_apid","mapid","_mapid","failedForNetwork","appVersionFailedForNetwork","registerAppVersion","appversion","identifier","serviceUrl","zakhash","zak","Console","log","Promise","resolve","frameworkid","_frameworkID","warnAlways","postToApptics","getHeaderParams","then","result","isSuccess","missing","join","keep","add","catch","err","serverResult","onLine","message","ok","DEVICE_BODY_KEYS","DEVICE_BODY_NUMERIC","deviceBody","info","out","value","numeric","indexOf","JSON","stringify","DEVICE_IDENTITY_KEYS","deviceIdentity","identity","checkAndUpdateDeviceInfo","previous","osversion","getOS","browser","getBrowser","browserversion","getBrowserVersion","donottrackenabled","hasDoNotTrackEnabled","devicetype","getDevice","screenheight","screen","height","screenwidth","width","referrer","getReferringURL","connectionType","getConnectionType","referringdomain","window","location","hostname","deviceid","getKeyFromDeviceInfo","anonymousid","appversionid","platformid","devicetypeid","osversionid","timezoneid","modelid","appreleaseversionid","timezone","getTimeZone","uuid","_uuid","hadsession","device_info","old_device_info","isRegistered","compareTwoObjects","dir","updateDeviceWithApptics","label","blocked","rejectIfDisabled","_token","warn","reject","offline","rejectIfOffline","_regDeviceSending","_regDeviceResolve","push","_regDeviceReject","reloadSettings","applyDeviceResponse","adopted","payload","headers","apiHeaders","settleRegistration","startServerSettingChecks","registerDeviceWithApptics","result_device_info","addOrUpdateDeviceID","DEVICE_RESPONSE_KEYS","save","useStoredUuid","getNewUUID","setDeviceInfoKey","prepareDevice","deviceReady","waiters","fn","moduleEnabled","status","id","entry","enabled","applyServerFlags","tracking_status","hasModules","Object","keys","hasOwnProperty","_shouldTrack","tracking_enabled","shouldtrack","versionArchived","versionarchivestatus","customerGroupTracking","customergrouptracking","_engagementTracking","event","SDK_MODULE","EVENT","api","API","SCREEN","session","SESSION","_errorTracking","JS_ERROR","_heatmapTracking","HEATMAP","_remoteLoggerEnabled","REMOTE_LOGGER","_feedbackEnabled","FEEDBACK","_remoteConfigEnabled","REMOTE_CONFIG","engagement","kindOn","kind","engagementtracking","flagOn","oldKey","quartz","trim","_quartz","quartz_enabled","quartzenabled","workspace","quartz_workspace","department","quartz_department","domain","quartz_domain","cdnUrl","quartz_cdn_url","_nextConfigCheck","now","nextCheckTime","next_check_after","nowMs","_trackinfo","error","heatmap","remotelogger","feedback","OLD_TRACKINFO_KEYS","MAX_TIMEOUT","configTimer","configInFlight","configRound","configAsked","configAskAgain","configDueAt","refreshServerSettings","hasDeviceId","clearTimeout","sessionStorage","setItem","TAB_ASKED_KEY","e","markTabAsked","round","askedAt","rejectIfNoDeviceIds","getConfig","storedTrackingStatus","assign","scheduleServerSettingCheck","getItem","tabHasAsked","wait","min","max","setTimeout","closeScreen","time","_current_screen","endtime","engagement_transactions","all","items","open","type","AP_CONSTANTS","update","starttime","updateScreenWithEndtime","current","closeScreensOf","sessionstarttime","reduce","done","trackSession","sessionData","canTrackEngagement","logFailure","AP_LOG_MODULE","written","currentSession","mine","tabSessionId","ours","sort","a","b","latestOpen","hooks","updateDevice","refreshDeviceInfo","askServerSettings","tabIdValue","tabId","tabsOf","Array","isArray","tabs","TAB_LOCK_PREFIX","tabLocks","query","holdingTabLock","closeScreensOfGoneTabs","state","alive","held","concat","pending","lock","gone","tab","end","Number","lastseen","withSessionLock","TAB_KEY","HAD_SESSION_KEY","pendingSession","pendingTimer","clearPendingTimer","commitPendingSession","firstsession","startNewSession","_current_session","edge","orientation","getOrientation","networkstatus","getNetworkStatus","lastactivetime","ram","getRam","rememberTabSession","minimum","commitNow","inactive","inactivityTimer","markTabInactive","onEnded","first","is_apptics_disabled","ended","_currentSession","lastActive","inactiveduration","others","left","endAt","closed","endInactiveSession","touchSession","markTabActive","endCurrentSession","wasInactive","closeOrLeaveSession","checkAndUpdateSession","cutoff","abandoned","_newSession","settleSession","markScreenSeen","RESERVED_PREFIX","validateEventOrGroup","str","test","PROPERTY_KEY","validateJSON","jsonObj","isEmptyObj","obj","datatype","codes","badKeys","longKeys","note","code","substring","typed","isFinite","typedValue","withIt","isvalid","valuekeys","userValidateJSON","errorMap","keyRegex","emailRegex","propCount","stringFields","numberFields","entries","includes","validateScreenName","ruleUrl","raw","url","URL","protocol","path","pathname","replace","host","toLowerCase","cleanUrls","method","values","cleanRegexes","RegExp","ApiTrackingBuilder","constructor","this","rules","allowEquals","ignoreEquals","allowRegex","ignoreRegex","urls","patterns","build","RETIRED_METHODS","freeze","ignoreDomains","allowOnlyDomains","allowOnlyTLDs","ignoreTLDs","ignoreDomainPrefixes","ignoreDomainSuffixes","groupDomains","ignoreEndpoint","addPattern","preserveSegments","autoDetection","defineProperty","prototype","configurable","instead","TypeError","listOf","configureApiTracking","config","built","isString","one","isRegExp","regexMatches","re","lastIndex","urlTracked","target","some","NUMERIC","UUID","JWT","normalizeApiPath","cut","split","withoutQuery","map","segment","GROUPS","AP_APP_LIFE_CYCLE","AP_USER_LIFE_CYCLE","AP_APPLICATION","AP_OTHERS","AP_OS","DefinedEvents","group","routePath","bare","NAME_DISALLOWED","installed","lastName","timer","settleMs","pendingName","settleTimer","claimed","pendingAt","wrappedPush","wrappedReplace","originalPush","originalReplace","isWildcard","patternMatches","pattern","segments","actual","j","seg","currentName","decodeURIComponent","cleanName","routes","_config","screen_routes","route","regex","s","applyRoutes","nameFromUrl","href","check","settle","recordScreen","cancelPending","navigated","enableScreenTracking","on","history","pushState","replaceState","arguments","addEventListener","removeEventListener","screenTrackedByApp","refusedSaid","refused","module","trackEvent","eventName","groupName","defined","named","asDefinedEvent","_jsonObj","eventData","customproperties","noteDebugActivity","inScreenAt","screenName","startedAt","outScreenAt","endedAt","implicit","screenData","screenForRecord","resumeScreen","API_HOSTNAME","API_PATH_DISALLOWED","trackApi","rawUrl","responsecode","responsemessage","statusText","duration","scheme","port","partsOnly","urlObj","origin","parseInt","charAt","cleaned","sanitizeApiPath","sessionStart","apiData","withoutQueryForLog","openCalls","openOrder","startTrackApi","toUpperCase","shift","endTrackApiAt","responseCode","responseMessage","originalOpen","originalSend","originalFetch","shouldTrack","absolute","own","base_domain","endpoint","isOwnRequest","record","installFetch","fetch","input","init","Request","fetchUrl","fetchMethod","response","enableApiTracking","XMLHttpRequest","send","_ap_api","tracked","trackError","errorEvent","canTrackErrors","stack","reason","file","filename","fileName","line","lineno","lineNumber","column","colno","columnNumber","stackOf","methodName","stackTrace","lines","methodNamePattern1","methodNamePattern2","match1","match","match2","urlMatch","exec","pop","extractMethodNameFromStackTrace","issuetype","thrown","Error","Event","el","tagName","tag","currentSrc","src","describeTarget","describeThrown","errorData","ERROR","happenedat","issuename","screenname","error_transactions","setErrorTracking","track_error","defer","_deferSendTimer","clearDefer","withSendLock","ifAvailable","freshItems","queue","isClosed","timeOf","fresh","expired","isExpired","remove","sendBatch","_payload","forget","shouldTrackOrSendData","meta","getMetaObj","attemptsExhausted","MAX_ATTEMPTS","resetAttempts","sizeof","body","postKeepalive","awaitUnlessClosing","landed","sendEngagementData","_sending","engagement_items","sessionObj","screenObj","eventObj","apiObj","sent","cloneObject","itemWithId","events","screens","sessions","apis","requestToSendEngagements","isPermanentRefusal","sendErrorData","error_items","exceptiondetails","requestToSendErrors","flush","canTrack","sendHeatmaps","calledFlushAt","calledFlush","sendingInterval","startTimers","setInterval","expireDebugIfIdle","stopTimers","clearInterval","getUser","_user_info","setUser","userid","groupid","PROPERTIES","user_info","mam","customergroupid","happendat","userproperties","maybeBuilt","problem","asUserProperties","cloneMapExcludingKeys","recordTrackingStatus","AP_TRACKING_STATUS","USAGE_TRACKING_WITH_PII","users","index","findIndex","userobj","addOrUpdateUser","getUserInfo","remoteConfigUserChanged","registerUserWithApptics","activeuser","UserBuilder","setFirstName","first_name","setLastName","last_name","setCompanyName","company_name","setEmailAddress","email_address","setContactNumber","contact_number","setCountry","country","setRegion","region","setCity","city","setGeoLocation","geo_location","setGender","gender","setPlanType","plan_type","setTimezone","setLanguage","language","setEngagementScore","engagement_score","setDateOfBirth","date_of_birth","addStringProperty","addBooleanProperty","addNumberProperty","setCustomProperties","user","knownFields","field","listenersAttached","lastConfig","generation","normaliseConfig","settings","CONFIG_KEYS","inside","RETIRED_CONFIG_NAMES","old","appVersionText","APPVERSION_PLACEHOLDERS","appKey","previousAppVersion","TUNABLE","clearStorage","clearAttempts","clear","heatmap_transactions","remotelog_transactions","feedbacklog_transactions","_initialised","document","indexedDB","localStorage","isBrowser","version","REQUIRED_CONFIG","FRAMEWORK_ID","frameworkIdFor","console_log","debug","ignore_do_not_track","debug_api","AP_CONFIG","applyDebugConfig","device_name","remote_log","show_logs","track_api","track_session","track_heatmap","trackHeatmap","track_screen","rule","equals","_key","safeJson","screenRouteRules","track_click","feedback_theme","num","DEFAULT_INACTIVE_MINUTES","minutes","applyIntervals","_ready","_pending","myGeneration","_readyPromise","storageReady","backend","otherApp","otherKey","resetRemoteConfig","discardOtherAppData","registered","trying","attempt","OFFLINE_RETRY_MS","registerWhenOnline","start","startUp","ready","appVersionChanged","_ignoreDnt","tracking_preference","update_status","opt_in_status","connection","mozConnection","webkitConnection","isActive","activeElement","sendEndedSession","onPageClosing","persisted","visibilityState","onPageHidden","cordova","passive","sendStoredLogs","_properties","onDocumentClick","attachListeners","call","remoteConfigStarted","appticsReadyStatus","appticsReady","startTracking","reset","resetHeatmap","setClickTracking","setScreenTracking","trackingAttribute","getAttribute","trackingSelector","closest","parentElement","targetElem","groupElem","eventProps","rawProps","parse","forgetStoredLogs"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.2 | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ const e=Object.freeze({USAGE_TRACKING_WITH_PII:1,USAGE_TRACKING_WITHOUT_PII:4,NO_TRACKING:-1}),t=Object.freeze({BUG:0,FEEDBACK:1,HELP:2,REPORT:3}),n=Object.freeze({SCREEN:"screen",SESSION:"session",EVENT:"event",API:"api",ERROR:"error",SUCCESS:"success",BROWSER:"Browser"}),r=Object.freeze({addversion:"app/addversion",regdevice:"device/add",reguser:"user/register",engagement:"engagement/add",error:"exception/error",feedback:"feedback/add",sdkconfig:"getsdkconfig",getupdates:"getupdates",consolelog:"log/add",heatmap:"heatmap/add"}),o=Object.freeze({addversion:"v2",regdevice:"v2",engagement:"v2",error:"v2",reguser:"v2",feedback:"v2",sdkconfig:"v2",getupdates:"v2",consolelog:"v2",heatmap:"v2"}),i=Object.freeze({SESSION:"Session",SCREEN:"Screen",EVENT:"Event",API:"API",HEATMAP:"Heatmap",PROPERTIES:"Properties"}),a=Object.freeze({REMOTE_CONFIG:"2",EVENT:"5",API:"6",SCREEN:"10",SESSION:"11",FEEDBACK:"12",JS_ERROR:"15",REMOTE_LOGGER:"17",HEATMAP:"18"}),s=100,c=36e5,u=30,d=Object.freeze({endpoint:"/sdk/web/",method:"POST",batch_size:50,batch_flush_interval:3e4,getupdates_interval:12e4,batch_request_timeout:7,debug:!1,ignore_do_not_track:!1,track_api:!1,track_screen:!0,track_error:!0,track_click:!0,screen_routes:[],feedback_theme:"auto",min_session_duration:5e3,track_heatmap:!1,debug_api:!1,device_name:"",heatmap_max_per_session:500}),f=Object.freeze(["base_url","auth_key","app_domain","appversion"]),l=Object.freeze({base_url:"serviceUrl",auth_key:"zak",app_domain:"identifier"}),g=Object.freeze({engagement:!0,error:!0,consolelog:!0}),p=Object.freeze({regdevice:!0,reguser:!0,engagement:!0,error:!0,heatmap:!0,consolelog:!0,feedback:!0,getupdates:!0}),m=Object.freeze({addversion:!0}),v=Object.freeze({serviceUrl:"base_url",base_domain:"base_url",zak:"auth_key",token:"auth_key",identifier:"app_domain"}),_=Object.freeze(["ahrefsbot","ahrefssiteaudit","baiduspider","bingbot","bingpreview","chrome-lighthouse","facebookexternal","petalbot","pinterest","screaming frog","yahoo! slurp","yandexbot","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleweblight","mediapartners-google","storebot-google"]),h={};function b(){return Math.round((new Date).getTime())}function S(e){return!!e&&"object"==typeof e&&e.result==n.SUCCESS}function k(e){return null==e||""===e}function y(e){return!!e&&"object"==typeof e&&0===Object.keys(e).length&&e.constructor===Object}function w(e,t){return JSON.stringify(e)===JSON.stringify(t)}function O(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let key in e)if(!t.hasOwnProperty(key))return!1;for(let key in e)if(!w(e[key],t[key]))return!1;return!0}function A(e,t){const n={};for(let key in e)t.includes(key)||(n[key]=e[key]);return n}function E(e){return JSON.parse(JSON.stringify(e))}function I(e){let t=0;return function e(value){if(null!==value&&"object"==typeof value)for(const key in value)Object.prototype.hasOwnProperty.call(value,key)&&(t+=2*key.length,e(value[key]));else"string"==typeof value?t+=2*value.length:"number"==typeof value?t+=8:"boolean"==typeof value&&(t+=4)}(e),t}function P(e,t){return-1!==e.indexOf(t)}function j(){var e=function(){for(var e=Date.now(),t=0;e==Date.now();)t++;return e.toString(16)+t.toString(16)},t=(screen.height*screen.width).toString(16);return e()+"-"+Math.random().toString(16).replace(".","")+"-"+function(){var e,t,n=navigator.userAgent,r=[],o=0;function i(e,t){var n,o=0;for(n=0;n<t.length;n++)o|=r[n]<<8*n;return e^o}for(e=0;e<n.length;e++)t=n.charCodeAt(e),r.unshift(255&t),r.length>=4&&(o=i(o,r),r=[]);return r.length>0&&(o=i(o,r)),o.toString(16)}()+"-"+t+"-"+e()}const T=6003;const C={_initialised:!1,_ready:!1,_pending:[],_readyPromise:null,_regDeviceSending:!1,_regDeviceResolve:[],_regDeviceReject:[],_sending:!1,_deferSendTimer:null,_config:{...d},_defaultoptions:{},inactiveduration:30,_token:"",_frameworkID:6003,_platform:n.BROWSER,_devicestatus:e.USAGE_TRACKING_WITHOUT_PII,_uuid:"",_apid:"",_mapid:"",_device_info:{},_user_info:{},_current_screen:{},_current_session:{},_properties:{},_ignoreDnt:!1,_shouldTrack:!0,_engagementTracking:{event:!0,screen:!0,session:!0,api:!0},_heatmapTracking:!0,_remoteLoggerEnabled:!0,_remoteConfigEnabled:!0,_remoteConfigReported:!0,_feedbackEnabled:!0,_nextConfigCheck:0,_debugUntil:0,_errorTracking:!0,_quartz:{enabled:!1,workspace:"",department:"",domain:"",cdnUrl:""},_trackinfo:{}};function N(key){return C._config[key]}function R(e){return!("number"!=typeof e||!isFinite(e))&&(e<b()-24*N("batch_request_timeout")*60*60*1e3||e>b()+6e4)}const x="undefined"!=typeof console?console:null;function U(method){return function(...e){if(C._config.debug&&x)try{x[method].apply(x,e)}catch(t){!function(e,t,n){if(null!=e)if(Array.prototype.forEach&&e.forEach===Array.prototype.forEach)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,o=e.length;r<o;r++)if(r in e&&t.call(n,e[r],r,e)===h)return}else for(var key in e)if(Object.prototype.hasOwnProperty.call(e,key)&&t.call(n,e[key],key,e)===h)return}(e,function(e){x[method](e)})}}}const D={log:U("log"),warn:U("warn"),error:U("error"),info:U("info"),dir(e){C._config.debug&&x&&x.dir(e)}};function B(...e){x&&x.warn(...e)}function M(e,...t){D.error.apply(null,t)}const q={"Apptics.init":!0,"Apptics.ready":!0,"Apptics.reset":!0,"AppticsUser.getUser":!0,"AppticsSettings.getTrackingStatus":!0,"AppticsFeedback.sendFeedback":!0,"AppticsFeedback.addFeedbackLog":!0,"AppticsFeedback.addDiagnosticsInfo":!0,"AppticsFeedback.setFeedbackTheme":!0,"AppticsApi.configure":!0,"AppticsApi.startTrackApi":!0,"AppticsRemoteConfig.fetchValue":!0,"AppticsRemoteConfig.fetchValues":!0,"AppticsRemoteConfig.setCustomConditionValue":!0,"Apptics.enableDebug":!0,"Apptics.disableDebug":!0},z={"AppticsEvent.addEvent":!0,"AppticsScreen.inScreen":!0,"AppticsScreen.outScreen":!0,"AppticsApi.endTrackApi":!0,"AppticsError.trackError":!0,"AppticsUser.setUser":!0,"Apptics.flush":!0,AppticsLogger:!0,"AppticsFeedback.sendFeedback":!0,"AppticsRemoteConfig.fetchValue":!0,"AppticsRemoteConfig.fetchValues":!0};function F(name){return 0===name.indexOf("Apptics")?name:"apptics."+name}var G=!1;function K(name,e){const t=function(...n){if(C._initialised||!z[name]||G||(G=!0,B(F(name)+": the SDK has not started, so this call is ignored. Call Apptics.init() first, and check its warnings if you did.")),!C._initialised||C._ready||q[name])try{return e(...n)}catch(e){return B(F(name)+" failed:",e),void M(0,e)}else C._pending.push(function(){t(...n)})};return t}function L(e,t){return e.apply(null,Array.prototype.slice.call(t))}const W="apptics",J=["engagements","errors","feedbacklogs","remotelogs","heatmaps"],H="queue",V="seq",X=[["logs","feedbacklogs"],["consolelogs","remotelogs"]],Y="feedbacklog",Z="feedbackdiagnostics",Q=Object.freeze({log:Y,diagnostics:Z});function $(e){var t=e&&"string"==typeof e.type?Q[e.type]:void 0;return t?{...e,type:t}:e}const ee=Object.freeze({settings:"apptics-device-info",engagements:"apptics-engagements-transactions",errors:"apptics-errors-transactions",logs:"apptics-log-transactions",consolelogs:"apptics-consolelog-transactions"}),te=Object.freeze({settings:ee.settings,engagements:ee.engagements,errors:ee.errors,feedbacklogs:"apptics-feedbacklog-transactions",remotelogs:"apptics-remotelog-transactions",heatmaps:"apptics-heatmap-transactions"});function ne(value){return Array.isArray(value)?value:[]}function re(value){return value&&"object"==typeof value&&!Array.isArray(value)?value:{}}function oe(key){try{const e=localStorage.getItem(key);return null===e||""===e?null:JSON.parse(e)}catch(e){return D.warn("apptics: could not read "+key+", treating it as empty"),null}}function ie(key,value){try{localStorage.setItem(key,JSON.stringify(value))}catch(e){D.warn("apptics: could not write "+key+": "+String(e))}}function ae(){return[[ee.logs,te.feedbacklogs],[ee.consolelogs,te.remotelogs]].forEach(function(e){try{var t=e[0],n=e[1],r=localStorage.getItem(t);if(null===r)return;if(null===localStorage.getItem(n)){var o=ne(JSON.parse(r));localStorage.setItem(n,JSON.stringify(n===te.feedbacklogs?o.map($):o))}localStorage.removeItem(t)}catch(e){}}),{kind:"localstorage",loadSettings:()=>Promise.resolve(re(oe(te.settings))),putSetting(key,value){const e=re(oe(te.settings));return e[key]=value,ie(te.settings,e),Promise.resolve()},deleteSetting(key){const e=re(oe(te.settings));return delete e[key],ie(te.settings,e),Promise.resolve()},clearSettings:()=>(ie(te.settings,{}),Promise.resolve()),queueAll:e=>Promise.resolve(ne(oe(te[e]))),queuePut(e,t){const n=ne(oe(te[e]));return t.forEach(function(e){const t=n.findIndex(function(t){return t.id===e.id});-1===t?n.push(e):n[t]=e}),ie(te[e],n),Promise.resolve()},queueDelete(e,t){const n=ne(oe(te[e])).filter(function(e){return-1===t.indexOf(e.id)});return ie(te[e],n),Promise.resolve()},queueClear:e=>(ie(te[e],[]),Promise.resolve())}}let se=0;function ce(){const e=1e3*b();return se=e>se?e:se+1,se}function ue(e){return new Promise(function(t,n){e.onsuccess=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function de(e){return new Promise(function(t,n){e.oncomplete=function(){t()},e.onerror=function(){n(e.error)},e.onabort=function(){n(e.error)}})}const fe=Object.freeze({engagements:"engagement",errors:"error",feedbacklogs:Y,remotelogs:"remotelog",heatmaps:"heatmap"});function le(e,t){return t&&"string"==typeof t.type&&""!==t.type?t.type:fe[e]||e}function ge(e,t,n){const id=String(t.id),r=e.get(id);r.onsuccess=function(){const o=r.result;o&&n||e.put({id:id,queue:o?o.queue:ce(),type:le(e.name,t),item:t})}}function pe(e){return e.objectStoreNames.contains("settings")&&J.every(function(name){return e.objectStoreNames.contains(name)})}function me(e=indexedDB,t=3e3){return ve(e,t).then(function(n){return pe(n)?n:(D.warn('apptics: the "'+W+'" database is missing its stores, recreating it'),n.close(),function(e){return new Promise(function(t){var n=e.deleteDatabase(W);n.onsuccess=function(){t()},n.onerror=function(){t()},n.onblocked=function(){t()}})}(e).then(function(){return ve(e,t)}).then(function(e){if(!pe(e))throw e.close(),new Error("indexedDB: stores could not be created");return e}))})}function ve(e,t){return new Promise(function(n,r){let o=!1;const i=function(e){o||(o=!0,clearTimeout(a),r(e))},a=setTimeout(function(){i(new Error("indexedDB open timed out"))},t);let s;try{s=e.open(W,4)}catch(e){return void i(e)}s.onupgradeneeded=function(){!function(e,t){e.objectStoreNames.contains("settings")||e.createObjectStore("settings");J.forEach(function(name){e.objectStoreNames.contains(name)||e.createObjectStore(name,{keyPath:"id"}).createIndex(H,H)}),J.forEach(function(name){const e=t.objectStore(name);e.indexNames.contains(V)&&(e.deleteIndex(V),e.indexNames.contains(H)||e.createIndex(H,H),_e(e,function(e,t){t.update(he(e,!1,name))}))}),X.forEach(function(n){const r=n[0],o=n[1];if(!e.objectStoreNames.contains(r))return;const i=t.objectStore(r),a=t.objectStore(o);_e(i,function(e){a.put(he(e,"feedbacklogs"===o,o))},function(){e.deleteObjectStore(r)})})}(s.result,s.transaction)},s.onsuccess=function(){o?s.result.close():(o=!0,clearTimeout(a),s.result.onversionchange=function(){D.warn("apptics: another tab is upgrading the database, closing this connection"),s.result.close()},n(s.result))},s.onerror=function(){i(s.error)},s.onblocked=function(){D.warn("apptics: waiting for another tab to release the database")}})}function _e(e,t,n){const r=e.openCursor();r.onsuccess=function(){const e=r.result;e?(t(e.value,e),e.continue()):n&&n()}}function he(e,t,n){const r="number"==typeof e[H]?e[H]:"number"==typeof e[V]?e[V]:ce(),o=t?$(e.item):e.item;return{id:String(e.id),queue:r,type:le(n,o),item:o}}function be(e){return{kind:"indexeddb",loadSettings(){const t=e.transaction("settings","readonly").objectStore("settings");return Promise.all([ue(t.getAllKeys()),ue(t.getAll())]).then(function([e,t]){const n={};return e.forEach(function(key,e){n[String(key)]=t[e]}),n})},putSetting(key,value){const t=e.transaction("settings","readwrite");return t.objectStore("settings").put(value,key),de(t)},deleteSetting(key){const t=e.transaction("settings","readwrite");return t.objectStore("settings").delete(key),de(t)},clearSettings(){const t=e.transaction("settings","readwrite");return t.objectStore("settings").clear(),de(t)},queueAll:t=>ue(e.transaction(t,"readonly").objectStore(t).index(H).getAll()).then(function(e){return e.map(function(e){return e.item})}),queuePut(t,n){const r=e.transaction(t,"readwrite"),o=r.objectStore(t);return n.forEach(function(e){ge(o,e,!1)}),de(r)},queueDelete(t,n){const r=e.transaction(t,"readwrite"),o=r.objectStore(t);return n.forEach(function(id){o.delete(id)}),de(r)},queueClear(t){const n=e.transaction(t,"readwrite");return n.objectStore(t).clear(),de(n)},importAll(t,n){const r=e.transaction(["settings"].concat(J),"readwrite"),o=r.objectStore("settings");return Object.keys(t).forEach(function(key){const e=o.get(key);e.onsuccess=function(){void 0===e.result&&o.put(t[key],key)}}),J.forEach(function(name){const e=r.objectStore(name);n[name].forEach(function(t){ge(e,t,!0)})}),de(r)}}}function Se(){const e=function(e){return D.warn("apptics: IndexedDB unavailable ("+String(e)+"), using localStorage"),function(){try{const e="__apptics_probe__";return localStorage.setItem(e,"1"),localStorage.removeItem(e),!0}catch(e){return!1}}()?ae():null};let t;try{t="undefined"!=typeof indexedDB?indexedDB:void 0}catch(e){t=void 0}return t?me(t).then(be,e):Promise.resolve(e("not supported"))}var ke=null,ye={};function we(e,t,n){return Oe().then(function(e){return e?n(e):t}).catch(function(n){return D.warn("apptics: storage "+e+" failed: "+String(n)),t})}function Oe(){return ke||(ke=Se().then(function(e){return e?function(e){if("indexeddb"!==e.kind||!e.importAll)return Promise.resolve();var t;try{t={settings:localStorage.getItem(ee.settings),engagements:localStorage.getItem(ee.engagements),errors:localStorage.getItem(ee.errors),logs:localStorage.getItem(ee.logs),consolelogs:localStorage.getItem(ee.consolelogs)}}catch(e){return Promise.resolve()}if(null===t.settings&&null===t.engagements&&null===t.errors&&null===t.logs&&null===t.consolelogs)return Promise.resolve();var n=function(e){try{return null===e?null:JSON.parse(e)}catch(e){return null}},r={engagements:ne(n(t.engagements)),errors:ne(n(t.errors)),feedbacklogs:ne(n(t.logs)).map($),remotelogs:ne(n(t.consolelogs)),heatmaps:[]};r.engagements.concat(r.errors,r.feedbacklogs,r.remotelogs).forEach(function(e){e.id||(e.id=j())});var o=e.importAll.bind(e);return Promise.resolve().then(function(){return o(re(n(t.settings)),r)}).then(function(){Object.values(ee).forEach(function(key){try{localStorage.removeItem(key)}catch(e){}}),D.log("apptics: moved 1.x data from localStorage to IndexedDB")}).catch(function(e){D.warn("apptics: 1.x data migration failed, will retry next load: "+String(e))})}(e).then(function(){return e.loadSettings()}).then(function(t){return ye=Object.assign({},t,ye),function(){var e=ye.device_info&&"object"==typeof ye.device_info?ye.device_info:null;void 0===ye.uuid&&void 0===ye.hadsession||(k((e=Object.assign({},e||{})).uuid)&&!k(ye.uuid)&&(e.uuid=ye.uuid),!0===ye.hadsession&&(e.hadsession=!0),Re("device_info",e),Re("uuid",void 0),Re("hadsession",void 0));if(void 0!==ye.tracking_status){var t=Object.assign({},ye.trackinfo&&"object"==typeof ye.trackinfo?ye.trackinfo:{});void 0===t.tracking_status&&(t.tracking_status=ye.tracking_status),Re("trackinfo",t),Re("tracking_status",void 0)}void 0!==ye.token&&Re("token",void 0)}(),e}):null}).catch(function(e){return D.warn("apptics: storage unavailable: "+String(e)),null})),ke}function Ae(e){let t=0;const n=[];for(const r of e.slice(0,N("batch_size"))){const e=I(JSON.stringify(r));if(t+e>1048576)break;n.push(r),t+=e}return n}function Ee(name){const e={name:name,all:()=>we("read "+name,[],function(e){return e.queueAll(name)}),payload:()=>e.all().then(Ae),add:e=>(e.id||(e.id=j()),R(function(e){return void 0!==e.starttime?e.starttime:e.happenedat}(e))?(D.warn("apptics: dropping a "+name+" item older than "+N("batch_request_timeout")+" days"),Promise.resolve()):we("add "+name,void 0,function(t){return t.queuePut(name,[e])})),update:e=>we("update "+name,void 0,function(t){return t.queuePut(name,[e])}),remove(e){const t=(e||[]).map(function(e){return String(e.id)});return we("remove "+name,void 0,function(e){return e.queueDelete(name,t)})},clear:()=>we("clear "+name,void 0,function(e){return e.queueClear(name)})};return e}const Ie=Ee("engagements"),Pe=Ee("errors"),je=Ee("feedbacklogs"),Te=Ee("heatmaps"),Ce=Ee("remotelogs");function Ne(e,key){return void 0===ye[key]?e.deleteSetting(key):e.putSetting(key,ye[key])}function Re(key,value){void 0===value?delete ye[key]:ye[key]=E(value),we("save "+key,void 0,function(e){return Ne(e,key)})}function xe(key,value){var e=Object.assign({},ye.device_info&&"object"==typeof ye.device_info?ye.device_info:{});e[key]=value,C._device_info&&"object"==typeof C._device_info&&(C._device_info[key]=value),Re("device_info",e)}const Ue={all:()=>E(ye),item(key){const value=ye[key];return void 0===value?void 0:E(value)},add(key,value){Re(key,value)},save:(key,value)=>(void 0===value?delete ye[key]:ye[key]=E(value),we("save "+key,void 0,function(e){return Ne(e,key)})),clear(){ye={},we("clear settings",void 0,function(e){return e.clearSettings()})}};function De(e){return we("reload settings",void 0,function(t){return t.loadSettings().then(function(t){e.forEach(function(key){void 0!==t[key]&&(ye[key]=t[key])})})})}function Be(){var t=ye.trackinfo,status=t&&"object"==typeof t?t.tracking_status:void 0;return status===e.USAGE_TRACKING_WITH_PII||status===e.USAGE_TRACKING_WITHOUT_PII||status===e.NO_TRACKING?status:void 0}const Me={_tracking_status:"tracking_status",all:()=>Ue.all(),opt_in_status:()=>Be()||e.USAGE_TRACKING_WITHOUT_PII,update_status(e){C._devicestatus=e;var t=Object.assign({},ye.trackinfo&&"object"==typeof ye.trackinfo?ye.trackinfo:{});t.tracking_status=e,C._trackinfo&&"object"==typeof C._trackinfo&&(C._trackinfo.tracking_status=e),Re("trackinfo",t)}};function qe(key){var e=ye.device_info;return null!=e&&""!==e&&void 0!==e[key]&&null!==e[key]&&""!==e[key]?E(e[key]):null}const ze={updateDevice:()=>Promise.reject("apptics: device module not loaded"),refreshDeviceInfo:()=>{},feedbackUser:()=>null,sendHeatmaps:()=>Promise.resolve(),trackHeatmap:()=>{},resetHeatmap:()=>{},resetRemoteConfig:()=>{},screenTrackedByApp:()=>{},remoteConfigStarted:()=>{},remoteConfigUserChanged:()=>{},askServerSettings:()=>{}};function Fe(){return!0===C._config.debug_api&&!Ge()}function Ge(){return C._debugUntil>0&&b()>C._debugUntil}function Ke(){!0===C._config.debug_api&&(C._debugUntil=b()+c)}function Le(){Ge()&&(D.log("apptics: debug mode has been idle for an hour, switching it off"),Je(!1))}var We=null;function Je(on){C._config.debug_api=on,C._debugUntil=on?b()+c:0,D.log("apptics: debug mode "+(on?"on":"off"))}function enableDebug(){We=!0,Je(!0)}function disableDebug(){We=!1,Je(!1)}function He(e){Je(null!==We?We:e)}function Ve(){var e=navigator.deviceMemory;return"number"==typeof e&&e>0?e+" GB":""}function Xe(){var e=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{};return e.effectiveType||e.type||""}function Ye(){return window.navigator.onLine?0:-1}function Ze(){try{var e=navigator.getBattery;return"function"!=typeof e?Promise.resolve(null):e.call(navigator).then(function(e){var t=e&&"number"==typeof e.level?e.level:-1;return t>=0&&t<=1?Math.round(100*t):null},function(){return null})}catch(e){return Promise.resolve(null)}}function Qe(){var e=window.screen&&window.screen.orientation&&window.screen.orientation.type||"";return P(e,"portrait-primary")?0:P(e,"landscape-primary")?1:P(e,"landscape-secondary")?2:P(e,"portrait-secondary")?3:-1}function $e(){var e=navigator.userAgent;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":/Mac/i.test(e)?"Mac":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome":""}function et(){var e=navigator.userAgent;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(e)?"iOS":/Android/.test(e)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Mac/i.test(e)?"Mac OS X":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome OS":""}function tt(){var e=navigator.userAgent,t=navigator.vendor||"";return window.opera||P(e," OPR/")?P(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":P(e,"IEMobile")||P(e,"WPDesktop")?"Internet Explorer Mobile":P(e,"SamsungBrowser/")?"Samsung Internet":P(e,"Edge")||P(e,"Edg/")?"Microsoft Edge":P(e,"FBIOS")?"Facebook Mobile":P(e,"Chrome")?"object"==typeof ulaa?"Ulaa":null!=window.navigator.brave&&"isBrave"==window.navigator.brave.isBrave.name?"Brave":"Chrome":P(e,"CriOS")?"Chrome iOS":P(e,"UCWEB")||P(e,"UCBrowser")?"UC Browser":P(e,"FxiOS")?"Firefox iOS":P(t,"Apple")?P(e,"Mobile")?"Mobile Safari":"Safari":P(e,"Android")?"Android Mobile":P(e,"Konqueror")?"Konqueror":P(e,"Firefox")?"Firefox":P(e,"MSIE")||P(e,"Trident/")?"Internet Explorer":P(e,"Gecko")?"Mozilla":""}function nt(){var e=tt(),t=navigator.userAgent;if("Ulaa"===e&&"object"==typeof ulaa)return ulaa.getVersion();var n={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edg\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,Brave:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[e];if(void 0===n)return"";var r=t.match(n);return r?parseFloat(r[r.length-2]):""}function rt(){var e=String(window.location.href||"").split(window.location.pathname);return e.length>=2?e[1].length>500?e[1].substring(0,500):e[1]:""}function ot(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function it(){return"undefined"==typeof navigator||function(e){var t;for(e=e.toLowerCase(),t=0;t<_.length;t++)if(-1!==e.indexOf(_[t]))return!0;return!1}(navigator.userAgent||"")}function at(){return!C._ignoreDnt&&(e=window.navigator||{},t=[!0,1,"1","yes"],!![e.doNotTrack,e.msDoNotTrack,window.doNotTrack].some(function(e){return P(t,e)})&&(D.warn("hasDoNotTrackEnabled: DoNotTrack is enabled, so nothing is tracked"),!0));var e,t}function st(){if(at())return D.warn('opt_in_status: It seems "Do Not Track" is enabled in this browser. Please enable tracking in the browser settings to continue tracking.'),e.NO_TRACKING;var status=Me.opt_in_status();return-1==status&&D.warn("opt_in_status: You are opted out of Apptics tracking. This will prevent the our SDK from sending no data to our server."),status}function ct(){return st()>-1&&C._shouldTrack}function ut(e){return C._token?!it()&&ct():(D.warn("apptics."+e+": You must call Apptics.init() first"),!1)}function dt(e,t){return!!ut(e)&&(!!C._engagementTracking[t]||(D.log("apptics."+e+": "+t+" tracking is turned off by the server"),!1))}function ft(e){return!!ut(e)&&(!!C._heatmapTracking||(D.log("apptics."+e+": heatmap tracking is turned off by the server"),!1))}function lt(e){return!!ut(e)&&(!!C._errorTracking||(D.log("apptics."+e+": error tracking is turned off by the server"),!1))}function gt(e){return Me.opt_in_status()!=e&&(Me.update_status(e),C._devicestatus=Me.opt_in_status(),!0)}function setTrackingStatus(t){k(t)?D.warn("setTrackingStatus: trackingStatus is Empty"):gt(t)&&Me.opt_in_status()!=e.NO_TRACKING&&(D.log("setTrackingStatus: Updating device info with new tracking status"),ze.updateDevice(C._device_info).then(function(e){S(e)?(D.log("setTrackingStatus: Device info updated with new tracking status"+JSON.stringify(e.data)),D.dir(e.data)):D.log("setTrackingStatus: Error updating device info with new tracking status: "+JSON.stringify(e))}).catch(function(e){D.warn("setTrackingStatus: Error updating device info with new tracking status: "+JSON.stringify(e))}))}function getTrackingStatus(){return st()}const pt=5,mt="sendstate";function vt(){var e=Ue.item(mt);return e&&"object"==typeof e?e:{}}function _t(e){var t=vt()[e];return t&&"object"==typeof t?{attempt:Number(t.attempt)||1,firstattempttime:Number(t.firstattempttime)||0,lst:Number(t.lst)||0}:{attempt:1,firstattempttime:0,lst:0}}function ht(e,t){var n=vt();n[e]=t,Ue.add(mt,n)}function bt(e){return _t(e).attempt>5}function St(e){if(!p[e])return{};var t=_t(e),n=b();(t.attempt<=1||0===t.firstattempttime)&&(t.attempt=1,t.firstattempttime=n);var r={attempt:String(Math.min(t.attempt,5)),firstattempttime:t.firstattempttime};return t.lst>0&&(r.lst=t.lst),ht(e,{attempt:t.attempt+1,firstattempttime:t.firstattempttime,lst:t.lst}),r}function kt(e){p[e]&&ht(e,{attempt:1,firstattempttime:0,lst:_t(e).lst})}function yt(){Ue.add(mt,void 0)}function wt(url,method,e,t){return new Promise((n,r)=>{let o=new XMLHttpRequest;o.open(method,url),t&&Object.keys(t).forEach(key=>{o.setRequestHeader(key,t[key])}),o.withCredentials=!1,o.timeout=3e4,o.onreadystatechange=function(){4===o.readyState&&(200==o.status?n(o.responseText):r(o.statusText))},o.onerror=function(){r("makeRequest: Network Error")},o.ontimeout=function(){r("makeRequest: timed out after 30000 ms")},o.send(e)})}function Ot(key){return"zak"==key?C._defaultoptions.zak:"uuid"==key?C._uuid:"apid"==key?C._apid||qe(key):"mapid"==key?C._mapid||qe(key):""}function At(e){var t="",n=C._device_info.appversionid,r=k(C._device_info.frameworkid)?C._frameworkID:C._device_info.frameworkid;return k(n)||(t+="&appversionid="+encodeURIComponent(String(n))),k(r)||(t+="&frameworkid="+encodeURIComponent(String(r))),""===t?t:void 0===e||""===e?"?"+t.slice(1):t}function Et(e,t){if(!g[e])return"";var n=N("device_name"),name=k(n)?Fe()?function(){var e=C._device_info,t=k(e.browser)?"":String(e.browser),n=k(e.browserversion)?"":String(e.browserversion),r=k(e.osversion)?"":String(e.osversion),name=""===t?"":""===n?t:t+" "+n;return""===r?name:""===name?r:name+" on "+r}():"":String(n);return""===name?"":(""===t?"?":"&")+("devicename="+encodeURIComponent(name.slice(0,100)))}function It(t,n){var url=C._defaultoptions.base_domain+N("endpoint")+o[t]+"/"+(m[t]?"":C._defaultoptions.zsoid+"/"+C._defaultoptions.projectID+"/")+((function(e){return Fe()&&!0===g[e]}(t)?"debug/":"")+r[t])+function(t){let n="";if("addversion"==t){var r=k(C._device_info.frameworkid)?C._frameworkID:C._device_info.frameworkid;return"?version="+encodeURIComponent(C._defaultoptions.appversion)+"&platform="+encodeURIComponent(C._platform)+"&identifier="+encodeURIComponent(C._defaultoptions.identifier)+"&frameworkid="+encodeURIComponent(String(r))}if("regdevice"==t)return n="?isanonrequired=false&devicestatus="+C._devicestatus,k(C._device_info.deviceid)||(n+="&deviceid="+encodeURIComponent(String(C._device_info.deviceid))),n+At(n);if("sdkconfig"!=t){if(k(C._device_info.deviceid))return ze.refreshDeviceInfo(),n+At(n);n="?deviceid="+encodeURIComponent(String(C._device_info.deviceid))}if("feedback"===t){var o=ze.feedbackUser();return o&&(n+="&userid="+encodeURIComponent(String(o.userid)),k(o.groupid)||(n+="&customergroupid="+encodeURIComponent(String(o.groupid)))),n+At(n)}return"reguser"!=t&&"getupdates"!=t&&st()==e.USAGE_TRACKING_WITH_PII&&(C._user_info.hasOwnProperty("userid")&&!k(C._user_info.userid)&&(n+=(""===n?"?":"&")+"userid="+encodeURIComponent(String(C._user_info.userid))),C._user_info.hasOwnProperty("groupid")&&!k(C._user_info.groupid)&&(n+=(""===n?"?":"&")+"customergroupid="+encodeURIComponent(String(C._user_info.groupid)))),n+=Et(t,n),n+At(n)}(t);if(!n)return url;var i=-1===url.indexOf("?")?"?":"&";return Object.keys(n).forEach(function(key){void 0!==n[key]&&null!==n[key]&&""!==n[key]&&(url+=i+key+"="+encodeURIComponent(String(n[key])),i="&")}),url}function Pt(){return{apid:Ot("apid"),mapid:Ot("mapid")}}const jt={PATTERN_NOT_MATCHED:!0,EXTRA_PARAM_FOUND:!0,INVALID_INPUTSTREAM:!0,INVALID_PARAM:!0};function Tt(e){var t=e?e.serverResult:void 0,n=t?t.error_code:void 0;return!k(n)&&!0===jt[String(n)]}function Ct(e,t,n){var r=JSON.parse(n);if(S(r))return function(e){p[e]&&ht(e,{attempt:1,firstattempttime:0,lst:b()})}(e),function(e,t){var n=t.data;n&&!k(n.req_id)&&D.log(e+": req_id "+String(n.req_id)+(k(n.path)?"":", path "+String(n.path))+(k(n.producerLogsUrl)?"":", logs "+String(n.producerLogsUrl)))}(t,r),Promise.resolve(r);var o=function(e,t,n){var r=t&&!k(t.error_code)?String(t.error_code):String(t?t.result:n),o=new Error(e+": "+r);return t&&(o.serverResult=t),o}(t,r,n);return Promise.reject(o)}function Nt(e,t,n,r,o){return wt(It(e,Object.assign(St(e),{})),N("method"),t,n).then(function(t){return Ct(e,r,t)},function(e){return Promise.reject(r+": "+e)})}var Rt=0;function xt(e,t,n,r,o){var i=function(e){if(null==e)return 0;if("string"==typeof e)return"function"==typeof TextEncoder?(new TextEncoder).encode(e).length:3*e.length;var t=e;return Number(t.size||t.byteLength||0)}(t);if("function"==typeof fetch&&Rt+i>61440)return D.log(r+": "+i+" bytes is over the keepalive budget, kept for the next send"),Promise.reject(r+": too large to send while the page closes");var url=It(e,Object.assign(St(e),{}));if("function"==typeof fetch){var a;try{a=fetch(url,{method:N("method"),headers:Object.assign({"content-type":"text/plain"},n),body:t,keepalive:!0,credentials:"omit"})}catch(e){return Promise.reject(r+": keepalive send not accepted: "+String(e))}Rt+=i;var s=function(){Rt=Math.max(0,Rt-i)};return a.then(function(t){if(s(),!t||!0!==t.ok){var status=t?String(t.status):"";return Promise.reject(r+": "+status)}return("function"==typeof t.text?t.text():Promise.resolve("")).then(function(t){return k(t)?Ct(e,r,JSON.stringify({result:"success"})):Ct(e,r,t)})},function(e){return s(),Promise.reject(r+": "+String(e))})}return wt(url,N("method"),t,n).then(function(t){return Ct(e,r,t)},function(e){return Promise.reject(r+": "+e)})}function Ut(e){return it()?Promise.reject(e+": apptics is disabled for this client"):null}function Dt(e){return 0==navigator.onLine?(D.warn(e+": No Network"),Promise.reject(e+": No Network")):null}function Bt(){return{frameworkid:C._device_info.frameworkid||qe("frameworkid"),aaid:C._device_info.aaid||qe("aaid"),apid:C._device_info.apid||qe("apid"),appversionid:C._device_info.appversionid||qe("appversionid"),modelid:C._device_info.modelid||qe("modelid"),appreleaseversionid:C._device_info.appreleaseversionid||qe("appreleaseversionid"),osversionid:C._device_info.osversionid||qe("osversionid"),timezoneid:C._device_info.timezoneid||qe("timezoneid"),platformid:C._device_info.platformid||qe("platformid"),devicetypeid:C._device_info.devicetypeid||qe("devicetypeid")}}function Mt(e){return k(Ot("apid"))&&k(Ot("mapid"))?(ze.refreshDeviceInfo(),Promise.reject(e+": You must call Apptics.init() first")):qt()?null:(ze.refreshDeviceInfo(),Promise.reject(e+": the device is not registered yet, kept for the next send"))}function qt(){return!k(C._device_info&&C._device_info.deviceid)||!k(qe("deviceid"))}function zt(){return!(!C._token||it())&&(!!C._remoteLoggerEnabled&&ct())}const Ft="remoteLog";let Gt=!1,Kt=!1;function Lt(e){var t={sessionstarttime:C._current_session.starttime||e.happenedat||b(),logtime:e.happenedat||b(),level:Number(e.level)||3,logmessage:String(e.exceptionlog).slice(0,1e4),function:String(e.module||"SDK").slice(0,100),linenumber:Number(e.linenumber)||0};return k(e.filename)||(t.filename=String(e.filename).slice(0,100)),t}function Wt(e){return JSON.stringify({logs:e.map(Lt),meta:Bt()})}function Jt(){Gt||(Gt=!0,setTimeout(function(){Gt=!1,Ht()},1e3))}function Ht(){return Kt||!zt()||!1===navigator.onLine?Promise.resolve():(Kt=!0,Ce.all().then(function(e){var t=function(e){for(var t=0,n=e.length,r=e.length-1;r>=0&&!((t+=JSON.stringify(e[r]).length)>1048576);r--)n=r;return 0===n?e:(Ce.remove(e.slice(0,n)),e.slice(n))}(e).slice(0,50);if(0!==t.length)return Nt("consolelog",Wt(t),Pt(),Ft).then(function(){return Ce.remove(t)},function(e){if(Tt(e))return B("apptics: the server refused these log lines, so they were dropped: "+String(e&&e.message)),Ce.remove(t);D.log(Ft+": "+String(e))})}).then(function(){Kt=!1}).catch(function(){Kt=!1}))}function Vt(){return zt()?Ce.all().then(function(e){if(0!==e.length){var t=e.slice(0,50);xt("consolelog",Wt(t),Pt(),Ft).then(function(){return Ce.remove(t)},function(e){if(Tt(e))return Ce.remove(t);D.log(Ft+": "+String(e))})}}):Promise.resolve()}export{at as $,e as A,i as B,D as C,N as D,d as E,Y as F,j as G,getTrackingStatus as H,Ke as I,Te as J,ct as K,E as L,Tt as M,disableDebug as N,enableDebug as O,setTrackingStatus as P,ot as Q,Oe as R,a as S,Dt as T,Ot as U,S as V,qe as W,xe as X,rt as Y,$e as Z,C as _,Z as a,nt as a0,tt as a1,et as a2,O as a3,qt as a4,Be as a5,De as a6,Ie as a7,n as a8,Ve as a9,dt as aa,lt as ab,Pe as ac,bt as ad,pt as ae,kt as af,xt as ag,ut as ah,Le as ai,A as aj,gt as ak,f as al,l as am,He as an,yt as ao,Ce as ap,v as aq,T as ar,u as as,Me as at,Ht as au,Vt as av,zt as aw,Jt as ax,s as ay,it as b,k as c,Xe as d,Qe as e,je as f,Ze as g,Bt as h,R as i,Ye as j,Mt as k,Pt as l,ze as m,b as n,st as o,Nt as p,y as q,Ut as r,I as s,t,Ue as u,L as v,B as w,K as x,ft as y,M as z};
3
+ //# sourceMappingURL=send-CgUO82ne.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-CgUO82ne.min.js","sources":["../../src/core/constants.ts","../../src/core/utils.ts","../../src/core/framework-id.ts","../../src/core/state.ts","../../src/core/logger.ts","../../src/core/guard.ts","../../src/core/db.ts","../../src/core/storage.ts","../../src/core/hooks.ts","../../src/core/debug.ts","../../src/core/env.ts","../../src/core/consent.ts","../../src/core/attempts.ts","../../src/core/transport.ts","../../src/remotelog/gate.ts","../../src/remotelog/send.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["AP_TRACKING_STATUS","Object","freeze","USAGE_TRACKING_WITH_PII","USAGE_TRACKING_WITHOUT_PII","NO_TRACKING","AP_FEEDBACK_TYPE","BUG","FEEDBACK","HELP","REPORT","AP_CONSTANTS","SCREEN","SESSION","EVENT","API","ERROR","SUCCESS","BROWSER","DEFAULT_API_PATHS","addversion","regdevice","reguser","engagement","error","feedback","sdkconfig","getupdates","consolelog","heatmap","API_VERSIONS","AP_LOG_MODULE","HEATMAP","PROPERTIES","SDK_MODULE","REMOTE_CONFIG","JS_ERROR","REMOTE_LOGGER","LOG_FUNCTION_MAX","DEBUG_IDLE_MS","DEFAULT_INACTIVE_MINUTES","AP_CONFIG","endpoint","method","batch_size","batch_flush_interval","getupdates_interval","batch_request_timeout","debug","ignore_do_not_track","track_api","track_screen","track_error","track_click","screen_routes","feedback_theme","min_session_duration","track_heatmap","debug_api","device_name","heatmap_max_per_session","REQUIRED_CONFIG","CONFIG_KEYS","base_url","auth_key","app_domain","DEBUG_CAPABLE_PATHS","RETRY_CAPABLE_PATHS","PATHS_WITHOUT_ORG","RETIRED_CONFIG_NAMES","serviceUrl","base_domain","zak","token","identifier","BLOCKED_WS","BREAKER","nowMs","Math","round","Date","getTime","isSuccess","result","isEmpty","val","isEmptyObj","obj","keys","length","constructor","objectsAreEqual","obj1","obj2","JSON","stringify","compareTwoObjects","_newmap","_oldmap","key","hasOwnProperty","cloneMapExcludingKeys","originalObj","excludeKeys","clonedObj","includes","cloneObject","parse","sizeof","bytes","sizeOf","value","prototype","call","haystack","needle","indexOf","getNewUUID","T","d","now","i","toString","se","screen","height","width","random","replace","ch","ua","navigator","userAgent","buffer","ret","xor","byte_array","j","tmp","charCodeAt","unshift","UA","FRAMEWORK_ID","_ZAP","_initialised","_ready","_pending","_readyPromise","_regDeviceSending","_regDeviceResolve","_regDeviceReject","_sending","_deferSendTimer","_config","_defaultoptions","inactiveduration","_token","_frameworkID","_platform","_devicestatus","_uuid","_apid","_mapid","_device_info","_user_info","_current_screen","_current_session","_properties","_ignoreDnt","_shouldTrack","_engagementTracking","event","session","api","_heatmapTracking","_remoteLoggerEnabled","_remoteConfigEnabled","_remoteConfigReported","_feedbackEnabled","_nextConfigCheck","_debugUntil","_errorTracking","_quartz","enabled","workspace","department","domain","cdnUrl","_trackinfo","getConfig","isExpired","time","isFinite","APConsole","console","gated","args","apply","err","iterator","context","Array","forEach","l","each","arg","Console","log","warn","info","dir","warnAlways","logFailure","module","RUN_BEFORE_READY","NEEDS_INIT","AppticsLogger","publicName","name","warnedNotStarted","guard","fn","guarded","push","forward","slice","DB_NAME","QUEUES","QUEUE_KEY","OLD_QUEUE_KEY","RENAMED_STORES","FEEDBACK_LOG","FEEDBACK_DIAGNOSTICS","OLD_FEEDBACK_TYPES","diagnostics","renameFeedbackType","item","renamed","type","undefined","LEGACY_KEYS","settings","engagements","errors","logs","consolelogs","LOCAL_KEYS","feedbacklogs","remotelogs","heatmaps","asList","isArray","asDict","readJSON","raw","localStorage","getItem","writeJSON","setItem","String","createLocalStorageBackend","pair","from","to","old","items","map","removeItem","kind","loadSettings","Promise","resolve","putSetting","all","deleteSetting","clearSettings","queueAll","store","queuePut","list","index","findIndex","existing","id","queueDelete","ids","remaining","filter","queueClear","lastQueue","nextQueue","base","request","req","reject","onsuccess","onerror","completed","tx","oncomplete","onabort","STORE_TYPES","recordType","storeName","putRecord","keepExisting","lookup","get","put","queue","hasAllStores","db","objectStoreNames","contains","every","openIndexedDB","factory","indexedDB","timeoutMs","openOnce","then","close","deleteDatabase","onblocked","fresh","Error","settled","fail","reason","clearTimeout","timer","setTimeout","open","onupgradeneeded","createObjectStore","keyPath","createIndex","objectStore","indexNames","deleteIndex","eachRecord","record","cursor","update","renamedRecord","source","target","deleteObjectStore","upgrade","transaction","onversionchange","done","openCursor","continue","createIndexedDBBackend","getAllKeys","getAll","values","out","delete","clear","records","importAll","queues","concat","settingsStore","openBackend","fallback","probe","localStorageUsable","readyPromise","withBackend","label","op","storageReady","b","catch","text","bind","migrateLegacy","loaded","assign","device","device_info","uuid","hadsession","setSetting","tracking_status","track","trackinfo","moveRetiredSettings","takeBatch","dataSize","size","createQueue","payload","add","starttime","happenedat","itemTime","remove","itemsToRemove","engagement_transactions","error_transactions","feedbacklog_transactions","heatmap_transactions","remotelog_transactions","writeSetting","setDeviceInfoKey","user_defaults","save","reloadSettings","storedTrackingStatus","status","tracking_preference","_tracking_status","opt_in_status","update_status","getKeyFromDeviceInfo","current_device_info","hooks","updateDevice","refreshDeviceInfo","feedbackUser","sendHeatmaps","trackHeatmap","resetHeatmap","resetRemoteConfig","screenTrackedByApp","remoteConfigStarted","remoteConfigUserChanged","askServerSettings","debugEnabled","debugIdle","noteDebugActivity","expireDebugIfIdle","setDebug","chosen","on","enableDebug","disableDebug","applyDebugConfig","configured","getRam","gb","deviceMemory","getConnectionType","connection","mozConnection","webkitConnection","effectiveType","getNetworkStatus","window","onLine","getBatteryPercent","getBattery","battery","level","getOrientation","orientation","getDevice","test","getOS","getBrowser","vendor","opera","ulaa","brave","isBrave","getBrowserVersion","browser","getVersion","regex","Chrome","Brave","Safari","Opera","Firefox","Konqueror","BlackBerry","Mozilla","matches","match","parseFloat","getReferringURL","split","location","href","pathname","substring","getTimeZone","Intl","DateTimeFormat","resolvedOptions","timeZone","is_apptics_disabled","toLowerCase","isBlockedWS","hasDoNotTrackEnabled","nav","dntValues","doNotTrack","msDoNotTrack","some","dntValue","shouldTrackOrSendData","canTrack","caller","canTrackEngagement","canTrackHeatmap","canTrackErrors","recordTrackingStatus","trackingState","setTrackingStatus","data","getTrackingStatus","MAX_ATTEMPTS","STORE_KEY","allState","saved","stateOf","path","state","attempt","Number","firstattempttime","lst","attemptsExhausted","beginAttempt","at","params","min","resetAttempts","clearAttempts","makeRequest","url","headers","xhr","XMLHttpRequest","setRequestHeader","withCredentials","timeout","onreadystatechange","readyState","responseText","statusText","ontimeout","send","getHeaderParams","mandatoryParams","appversionid","frameworkid","encodeURIComponent","deviceNameParam","given","version","browserversion","os","osversion","derivedDeviceName","getUrlWithParams","extra","zsoid","projectID","usesDebugApi","returnVal","appversion","deviceid","picked","userid","groupid","getParameters","joiner","apiHeaders","apid","mapid","PERMANENT_REFUSALS","PATTERN_NOT_MATCHED","EXTRA_PARAM_FOUND","INVALID_INPUTSTREAM","INVALID_PARAM","isPermanentRefusal","serverResult","code","error_code","settle","response","_result","attemptSucceeded","req_id","producerLogsUrl","reportDebugTrace","refused","refusalOf","postToApptics","keepaliveInFlight","postKeepalive","TextEncoder","encode","sized","byteLength","fetch","answer","body","keepalive","credentials","release","max","ok","rejectIfDisabled","rejectIfOffline","getMetaObj","aaid","modelid","appreleaseversionid","osversionid","timezoneid","platformid","devicetypeid","rejectIfNoDeviceIds","hasDeviceId","remoteLoggerReachable","LABEL","sendScheduled","sending","entryFor","entry","sessionstarttime","logtime","logmessage","exceptionlog","function","linenumber","filename","bodyFor","meta","scheduleSend","sendStoredLogs","stored","batch","total","keepFrom","trim","message","forgetStoredLogs"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.2 | (c) Zoho Corporation Private Limited | see LICENSE */
2
2
  'use strict';
3
3
 
4
4
  var constants = require('./constants.js');
@@ -1,10 +1,10 @@
1
- /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.2 | (c) Zoho Corporation Private Limited | see LICENSE */
2
2
  'use strict';
3
3
 
4
4
  var state = require('./state.js');
5
5
  var logger = require('./logger.js');
6
6
  var utils = require('./utils.js');
7
- require('./constants.js');
7
+ require('./db.js');
8
8
  var consent = require('./consent.js');
9
9
  var attempts = require('./attempts.js');
10
10
  var transport = require('./transport.js');