mixpanel-browser 2.57.1 → 2.58.0

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  var Config = {
4
4
  DEBUG: false,
5
- LIB_VERSION: '2.57.1'
5
+ LIB_VERSION: '2.58.0'
6
6
  };
7
7
 
8
8
  // since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
@@ -4745,6 +4745,7 @@ var DEFAULT_CONFIG = {
4745
4745
  'hooks': {},
4746
4746
  'record_block_class': new RegExp('^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$'),
4747
4747
  'record_block_selector': 'img, video',
4748
+ 'record_canvas': false,
4748
4749
  'record_collect_fonts': false,
4749
4750
  'record_idle_timeout_ms': 30 * 60 * 1000, // 30 minutes
4750
4751
  'record_mask_text_class': new RegExp('^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$'),
@@ -4509,7 +4509,7 @@ define((function () { 'use strict';
4509
4509
 
4510
4510
  var Config = {
4511
4511
  DEBUG: false,
4512
- LIB_VERSION: '2.57.1'
4512
+ LIB_VERSION: '2.58.0'
4513
4513
  };
4514
4514
 
4515
4515
  // since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
@@ -7840,6 +7840,7 @@ define((function () { 'use strict';
7840
7840
 
7841
7841
  this.seqNo = 0;
7842
7842
  this.replayStartTime = null;
7843
+ this.replayStartUrl = null;
7843
7844
  this.batchStartUrl = null;
7844
7845
 
7845
7846
  this.idleTimeoutId = null;
@@ -7891,6 +7892,7 @@ define((function () { 'use strict';
7891
7892
 
7892
7893
  this.replayStartTime = new Date().getTime();
7893
7894
  this.batchStartUrl = _.info.currentUrl();
7895
+ this.replayStartUrl = _.info.currentUrl();
7894
7896
 
7895
7897
  if (shouldStopBatcher || this.recordMinMs > 0) {
7896
7898
  // the primary case for shouldStopBatcher is when we're starting recording after a reset
@@ -7927,9 +7929,17 @@ define((function () { 'use strict';
7927
7929
  'blockClass': this.getConfig('record_block_class'),
7928
7930
  'blockSelector': blockSelector,
7929
7931
  'collectFonts': this.getConfig('record_collect_fonts'),
7932
+ 'dataURLOptions': { // canvas image options (https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL)
7933
+ 'type': 'image/webp',
7934
+ 'quality': 0.6
7935
+ },
7930
7936
  'maskAllInputs': true,
7931
7937
  'maskTextClass': this.getConfig('record_mask_text_class'),
7932
- 'maskTextSelector': this.getConfig('record_mask_text_selector')
7938
+ 'maskTextSelector': this.getConfig('record_mask_text_selector'),
7939
+ 'recordCanvas': this.getConfig('record_canvas'),
7940
+ 'sampling': {
7941
+ 'canvas': 15
7942
+ }
7933
7943
  });
7934
7944
 
7935
7945
  if (typeof this._stopRecording !== 'function') {
@@ -8047,6 +8057,7 @@ define((function () { 'use strict';
8047
8057
  'replay_id': replayId,
8048
8058
  'replay_length_ms': replayLengthMs,
8049
8059
  'replay_start_time': this.replayStartTime / 1000,
8060
+ 'replay_start_url': this.replayStartUrl,
8050
8061
  'seq': this.seqNo
8051
8062
  };
8052
8063
  var eventsJson = _.JSONEncode(data);
@@ -9619,6 +9630,7 @@ define((function () { 'use strict';
9619
9630
  'hooks': {},
9620
9631
  'record_block_class': new RegExp('^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$'),
9621
9632
  'record_block_selector': 'img, video',
9633
+ 'record_canvas': false,
9622
9634
  'record_collect_fonts': false,
9623
9635
  'record_idle_timeout_ms': 30 * 60 * 1000, // 30 minutes
9624
9636
  'record_mask_text_class': new RegExp('^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$'),
@@ -4509,7 +4509,7 @@ var IncrementalSource = /* @__PURE__ */ ((IncrementalSource2) => {
4509
4509
 
4510
4510
  var Config = {
4511
4511
  DEBUG: false,
4512
- LIB_VERSION: '2.57.1'
4512
+ LIB_VERSION: '2.58.0'
4513
4513
  };
4514
4514
 
4515
4515
  // since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
@@ -7840,6 +7840,7 @@ var SessionRecording = function(options) {
7840
7840
 
7841
7841
  this.seqNo = 0;
7842
7842
  this.replayStartTime = null;
7843
+ this.replayStartUrl = null;
7843
7844
  this.batchStartUrl = null;
7844
7845
 
7845
7846
  this.idleTimeoutId = null;
@@ -7891,6 +7892,7 @@ SessionRecording.prototype.startRecording = function (shouldStopBatcher) {
7891
7892
 
7892
7893
  this.replayStartTime = new Date().getTime();
7893
7894
  this.batchStartUrl = _.info.currentUrl();
7895
+ this.replayStartUrl = _.info.currentUrl();
7894
7896
 
7895
7897
  if (shouldStopBatcher || this.recordMinMs > 0) {
7896
7898
  // the primary case for shouldStopBatcher is when we're starting recording after a reset
@@ -7927,9 +7929,17 @@ SessionRecording.prototype.startRecording = function (shouldStopBatcher) {
7927
7929
  'blockClass': this.getConfig('record_block_class'),
7928
7930
  'blockSelector': blockSelector,
7929
7931
  'collectFonts': this.getConfig('record_collect_fonts'),
7932
+ 'dataURLOptions': { // canvas image options (https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL)
7933
+ 'type': 'image/webp',
7934
+ 'quality': 0.6
7935
+ },
7930
7936
  'maskAllInputs': true,
7931
7937
  'maskTextClass': this.getConfig('record_mask_text_class'),
7932
- 'maskTextSelector': this.getConfig('record_mask_text_selector')
7938
+ 'maskTextSelector': this.getConfig('record_mask_text_selector'),
7939
+ 'recordCanvas': this.getConfig('record_canvas'),
7940
+ 'sampling': {
7941
+ 'canvas': 15
7942
+ }
7933
7943
  });
7934
7944
 
7935
7945
  if (typeof this._stopRecording !== 'function') {
@@ -8047,6 +8057,7 @@ SessionRecording.prototype._flushEvents = addOptOutCheckMixpanelLib(function (da
8047
8057
  'replay_id': replayId,
8048
8058
  'replay_length_ms': replayLengthMs,
8049
8059
  'replay_start_time': this.replayStartTime / 1000,
8060
+ 'replay_start_url': this.replayStartUrl,
8050
8061
  'seq': this.seqNo
8051
8062
  };
8052
8063
  var eventsJson = _.JSONEncode(data);
@@ -9619,6 +9630,7 @@ var DEFAULT_CONFIG = {
9619
9630
  'hooks': {},
9620
9631
  'record_block_class': new RegExp('^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$'),
9621
9632
  'record_block_selector': 'img, video',
9633
+ 'record_canvas': false,
9622
9634
  'record_collect_fonts': false,
9623
9635
  'record_idle_timeout_ms': 30 * 60 * 1000, // 30 minutes
9624
9636
  'record_mask_text_class': new RegExp('^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$'),
@@ -3,7 +3,7 @@
3
3
 
4
4
  var Config = {
5
5
  DEBUG: false,
6
- LIB_VERSION: '2.57.1'
6
+ LIB_VERSION: '2.58.0'
7
7
  };
8
8
 
9
9
  // since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
@@ -4746,6 +4746,7 @@
4746
4746
  'hooks': {},
4747
4747
  'record_block_class': new RegExp('^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$'),
4748
4748
  'record_block_selector': 'img, video',
4749
+ 'record_canvas': false,
4749
4750
  'record_collect_fonts': false,
4750
4751
  'record_idle_timeout_ms': 30 * 60 * 1000, // 30 minutes
4751
4752
  'record_mask_text_class': new RegExp('^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$'),
@@ -1,57 +1,57 @@
1
1
  (function() {
2
- var k=void 0,l=!0,r=null,B=!1;
2
+ var j=void 0,l=!0,r=null,B=!1;
3
3
  (function(){function Ua(){function a(){if(!a.Rc)ua=a.Rc=l,va=B,c.a(G,function(a){a.Ec()})}function b(){try{t.documentElement.doScroll("left")}catch(d){setTimeout(b,1);return}a()}if(t.addEventListener)"complete"===t.readyState?a():t.addEventListener("DOMContentLoaded",a,B);else if(t.attachEvent){t.attachEvent("onreadystatechange",a);var d=B;try{d=p.frameElement===r}catch(f){}t.documentElement.doScroll&&d&&b()}c.gc(p,"load",a,l)}function Va(){x.init=function(a,b,d){if(d)return x[d]||(x[d]=G[d]=W(a,
4
4
  b,d),x[d].ra()),x[d];d=x;if(G.mixpanel)d=G.mixpanel;else if(a)d=W(a,b,"mixpanel"),d.ra(),G.mixpanel=d;x=d;1===ia&&(p.mixpanel=x);Wa()}}function Wa(){c.a(G,function(a,b){"mixpanel"!==b&&(x[b]=a)});x._=c}function ja(a){a=c.g(a)?a:c.e(a)?{}:{days:a};return c.extend({},Xa,a)}function W(a,b,d){var f,g="mixpanel"===d?x:x[d];if(g&&0===ia)f=g;else{if(g&&!c.isArray(g)){o.error("You have already initialized "+d);return}f=new e}f.vb={};f.ba(a,b,d);f.people=new q;f.people.ba(f);if(!f.c("skip_first_touch_marketing")){var a=
5
5
  c.info.ca(r),h={},v=B;c.a(a,function(a,b){(h["initial_"+b]=a)&&(v=l)});v&&f.people.S(h)}L=L||f.c("debug");!c.e(g)&&c.isArray(g)&&(f.Ia.call(f.people,g.people),f.Ia(g));return f}function e(){}function R(){}function Ya(a){return a}function wa(a){throw Error(a+" not available in this build.");}function m(a){this.props={};this.Ud=B;this.name=a.persistence_name?"mp_"+a.persistence_name:"mp_"+a.token+"_mixpanel";var b=a.persistence;if("cookie"!==b&&"localStorage"!==b)o.D("Unknown persistence type "+b+"; falling back to cookie"),
6
6
  b=a.persistence="cookie";this.l="localStorage"===b&&c.localStorage.Ba()?c.localStorage:c.cookie;this.load();this.zc(a);this.Qd();this.save()}function q(){}function u(){}function D(a,b){this.O=b.O;this.ha=new E(a,{O:c.bind(this.h,this),v:b.v,qc:b.qc,q:b.q});this.F=b.F;this.rd=b.sd;this.sa=b.sa;this.Cd=b.Dd;this.I=this.F.batch_size;this.xa=this.F.batch_flush_interval_ms;this.ka=!this.F.batch_autostart;this.Ra=0;this.M={};this.Ob=b.Ob||B}function xa(a,b){var d=[];c.a(a,function(a){var c=a.id;if(c in
7
7
  b){if(c=b[c],c!==r)a.payload=c,d.push(a)}else d.push(a)});return d}function ya(a,b){var d=[];c.a(a,function(a){a.id&&!b[a.id]&&d.push(a)});return d}function E(a,b){b=b||{};this.T=a;if(this.q=b.q)this.v=b.v||new S,this.fb=new za(a,{l:b.qc||window.localStorage}),this.v.Q();this.h=b.O||c.bind(Aa.error,Aa);this.Da=b.Da||r;this.G=[];this.bb=B}function S(a){this.l=a||localStorage}function za(a,b){b=b||{};this.T=a;this.l=b.l||window.localStorage;this.dc=b.dc||100;this.tc=b.tc||2E3;this.ec=b.ec||y}function X(){this.ac=
8
8
  "submit"}function O(){this.ac="click"}function F(){}function Ba(a){var b=Za,d=a.split("."),d=d[d.length-1];if(4<d.length||"com"===d||"org"===d)b=$a;return(a=a.match(b))?a[0]:""}function ka(a){var b=Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10);return a?b.substring(0,a):b}function Y(a,b){if(la!==r&&!b)return la;var d=l;try{var a=a||p.localStorage,c="__mplss_"+ka(8);a.setItem(c,"xyz");"xyz"!==a.getItem(c)&&(d=B);a.removeItem(c)}catch(g){d=B}return la=d}function ma(a){return{log:na(o.log,
9
- a),error:na(o.error,a),D:na(o.D,a)}}function na(a,b){return function(){arguments[0]="["+b+"] "+arguments[0];return a.apply(o,arguments)}}function Z(a,b){oa.add(a,b);pa||(pa=ab(oa.Sc))}function Ca(a){var b,d=typeof a;if(a!==r&&("object"===d||"function"===d))b=a.then;return"function"===typeof b?b:B}function qa(){for(var a=0;a<this.C.length;a++){var b=1===this.state?this.C[a].Fd:this.C[a].Tc,d=this.C[a],c=k,g=k;try{b===B?d.reject(this.fa):(c=b===l?this.fa:b.call(k,this.fa),c===d.ib?d.reject(TypeError("Promise-chain cycle")):
9
+ a),error:na(o.error,a),D:na(o.D,a)}}function na(a,b){return function(){arguments[0]="["+b+"] "+arguments[0];return a.apply(o,arguments)}}function Z(a,b){oa.add(a,b);pa||(pa=ab(oa.Sc))}function Ca(a){var b,d=typeof a;if(a!==r&&("object"===d||"function"===d))b=a.then;return"function"===typeof b?b:B}function qa(){for(var a=0;a<this.C.length;a++){var b=1===this.state?this.C[a].Fd:this.C[a].Tc,d=this.C[a],c=j,g=j;try{b===B?d.reject(this.fa):(c=b===l?this.fa:b.call(j,this.fa),c===d.ib?d.reject(TypeError("Promise-chain cycle")):
10
10
  (g=Ca(c))?g.call(c,d.resolve,d.reject):d.resolve(c))}catch(h){d.reject(h)}}this.C.length=0}function Da(a){var b,d=this;if(!d.ma){d.ma=l;if(d.wa)d=d.wa;try{(b=Ca(a))?Z(function(){var c=new Ea(d);try{b.call(a,function(){Da.apply(c,arguments)},function(){T.apply(c,arguments)})}catch(f){T.call(c,f)}}):(d.fa=a,d.state=1,0<d.C.length&&Z(qa,d))}catch(c){T.call(new Ea(d),c)}}}function T(a){var b=this;if(!b.ma){b.ma=l;if(b.wa)b=b.wa;b.fa=a;b.state=2;0<b.C.length&&Z(qa,b)}}function Fa(a,b,d,c){for(var g=0;g<
11
- b.length;g++)(function(g){a.resolve(b[g]).then(function(a){d(g,a)},c)})(g)}function Ea(a){this.wa=a;this.ma=B}function bb(a){this.ib=a;this.state=0;this.ma=B;this.C=[];this.fa=k}function H(a){if("function"!==typeof a)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var b=new bb(this);this.then=function(a,d){var c={Fd:"function"===typeof a?a:l,Tc:"function"===typeof d?d:B};c.ib=new this.constructor(function(a,b){if("function"!==typeof a||"function"!==
12
- typeof b)throw TypeError("Not a function");c.resolve=a;c.reject=b});b.C.push(c);0!==b.state&&Z(qa,b);return c.ib};this["catch"]=function(a){return this.then(k,a)};try{a.call(k,function(a){Da.call(b,a)},function(a){T.call(b,a)})}catch(d){T.call(b,d)}}function cb(a,b){Ga(l,a,b)}function db(a,b){Ga(B,a,b)}function eb(a,b){return"1"===$(b).get(aa(a,b))}function Ha(a,b){if(fb(b))return o.warn('This browser has "Do Not Track" enabled. This will prevent the Mixpanel SDK from sending any data. To ignore the "Do Not Track" browser setting, initialize the Mixpanel instance with the config "ignore_dnt: true"'),
11
+ b.length;g++)(function(g){a.resolve(b[g]).then(function(a){d(g,a)},c)})(g)}function Ea(a){this.wa=a;this.ma=B}function bb(a){this.ib=a;this.state=0;this.ma=B;this.C=[];this.fa=j}function H(a){if("function"!==typeof a)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var b=new bb(this);this.then=function(a,d){var c={Fd:"function"===typeof a?a:l,Tc:"function"===typeof d?d:B};c.ib=new this.constructor(function(a,b){if("function"!==typeof a||"function"!==
12
+ typeof b)throw TypeError("Not a function");c.resolve=a;c.reject=b});b.C.push(c);0!==b.state&&Z(qa,b);return c.ib};this["catch"]=function(a){return this.then(j,a)};try{a.call(j,function(a){Da.call(b,a)},function(a){T.call(b,a)})}catch(d){T.call(b,d)}}function cb(a,b){Ga(l,a,b)}function db(a,b){Ga(B,a,b)}function eb(a,b){return"1"===$(b).get(aa(a,b))}function Ha(a,b){if(fb(b))return o.warn('This browser has "Do Not Track" enabled. This will prevent the Mixpanel SDK from sending any data. To ignore the "Do Not Track" browser setting, initialize the Mixpanel instance with the config "ignore_dnt: true"'),
13
13
  l;var d="0"===$(b).get(aa(a,b));d&&o.warn("You are opted out of Mixpanel tracking. This will prevent the Mixpanel SDK from sending any data.");return d}function M(a){return ra(a,function(a){return this.c(a)})}function I(a){return ra(a,function(a){return this.p(a)})}function P(a){return ra(a,function(a){return this.p(a)})}function gb(a,b){b=b||{};$(b).remove(aa(a,b),!!b.Jb,b.Hb)}function $(a){a=a||{};return"localStorage"===a.cc?c.localStorage:c.cookie}function aa(a,b){b=b||{};return(b.bc||hb)+a}function fb(a){if(a&&
14
14
  a.Sb)return B;var a=a&&a.window||p,b=a.navigator||{},d=B;c.a([b.doNotTrack,b.msDoNotTrack,a.doNotTrack],function(a){c.i([l,1,"1","yes"],a)&&(d=l)});return d}function Ga(a,b,d){!c.eb(b)||!b.length?o.error("gdpr."+(a?"optIn":"optOut")+" called with an invalid token"):(d=d||{},$(d).set(aa(b,d),a?1:0,c.Wb(d.Ib)?d.Ib:r,!!d.Jb,!!d.qd,!!d.Oc,d.Hb),d.o&&a&&d.o(d.Jd||"$opt_in",d.Kd,{send_immediately:l}))}function ra(a,b){return function(){var d=B;try{var c=b.call(this,"token"),g=b.call(this,"ignore_dnt"),
15
- h=b.call(this,"opt_out_tracking_persistence_type"),e=b.call(this,"opt_out_tracking_cookie_prefix"),i=b.call(this,"window");c&&(d=Ha(c,{Sb:g,cc:h,bc:e,window:i}))}catch(j){o.error("Unexpected error when checking tracking opt-out status: "+j)}if(!d)return a.apply(this,arguments);d=arguments[arguments.length-1];"function"===typeof d&&d(0)}}var L=B,p;if("undefined"===typeof window){var Ia={hostname:""};p={navigator:{userAgent:"",onLine:l},document:{location:Ia,referrer:""},screen:{width:0,height:0},location:Ia}}else p=
16
- window;var Ja=p.setImmediate,J,pa,oa,Ka=Object.prototype.toString,ab="undefined"!==typeof Ja?function(a){return Ja(a)}:setTimeout;try{Object.defineProperty({},"x",{}),J=function(a,b,d,c){return Object.defineProperty(a,b,{value:d,writable:l,configurable:c!==B})}}catch(ob){J=function(a,b,d){a[b]=d;return a}}oa=function(){function a(a,b){this.Vc=a;this.self=b;this.next=k}var b,d,c;return{add:function(g,h){c=new a(g,h);d?d.next=c:b=c;d=c;c=k},Sc:function(){var a=b;for(b=d=pa=k;a;)a.Vc.call(a.self),a=
15
+ h=b.call(this,"opt_out_tracking_persistence_type"),e=b.call(this,"opt_out_tracking_cookie_prefix"),i=b.call(this,"window");c&&(d=Ha(c,{Sb:g,cc:h,bc:e,window:i}))}catch(k){o.error("Unexpected error when checking tracking opt-out status: "+k)}if(!d)return a.apply(this,arguments);d=arguments[arguments.length-1];"function"===typeof d&&d(0)}}var L=B,p;if("undefined"===typeof window){var Ia={hostname:""};p={navigator:{userAgent:"",onLine:l},document:{location:Ia,referrer:""},screen:{width:0,height:0},location:Ia}}else p=
16
+ window;var Ja=p.setImmediate,J,pa,oa,Ka=Object.prototype.toString,ab="undefined"!==typeof Ja?function(a){return Ja(a)}:setTimeout;try{Object.defineProperty({},"x",{}),J=function(a,b,d,c){return Object.defineProperty(a,b,{value:d,writable:l,configurable:c!==B})}}catch(ob){J=function(a,b,d){a[b]=d;return a}}oa=function(){function a(a,b){this.Vc=a;this.self=b;this.next=j}var b,d,c;return{add:function(g,h){c=new a(g,h);d?d.next=c:b=c;d=c;c=j},Sc:function(){var a=b;for(b=d=pa=j;a;)a.Vc.call(a.self),a=
17
17
  a.next}}}();var La=J({},"constructor",H,B);H.prototype=La;J(La,"__NPO__",0,B);J(H,"resolve",function(a){return a&&"object"===typeof a&&1===a.__NPO__?a:new this(function(b,d){if("function"!==typeof b||"function"!==typeof d)throw TypeError("Not a function");b(a)})});J(H,"reject",function(a){return new this(function(b,d){if("function"!==typeof b||"function"!==typeof d)throw TypeError("Not a function");d(a)})});J(H,"all",function(a){var b=this;return"[object Array]"!==Ka.call(a)?b.reject(TypeError("Not an array")):
18
18
  0===a.length?b.resolve([]):new b(function(d,c){if("function"!==typeof d||"function"!==typeof c)throw TypeError("Not a function");var g=a.length,h=Array(g),e=0;Fa(b,a,function(a,b){h[a]=b;++e===g&&d(h)},c)})});J(H,"race",function(a){var b=this;return"[object Array]"!==Ka.call(a)?b.reject(TypeError("Not an array")):new b(function(d,c){if("function"!==typeof d||"function"!==typeof c)throw TypeError("Not a function");Fa(b,a,function(a,b){d(b)},c)})});var y;y="undefined"!==typeof Promise&&-1!==Promise.toString().indexOf("[native code]")?
19
19
  Promise:H;var ba=Array.prototype,Ma=Object.prototype,N=ba.slice,U=Ma.toString,ca=Ma.hasOwnProperty,z=p.console,K=p.navigator,t=p.document,da=p.opera,ea=p.screen,A=K.userAgent,sa=Function.prototype.bind,Na=ba.forEach,Oa=ba.indexOf,Pa=ba.map,ib=Array.isArray,ta={},c={trim:function(a){return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},o={log:function(){if(L&&!c.e(z)&&z)try{z.log.apply(z,arguments)}catch(a){c.a(arguments,function(a){z.log(a)})}},warn:function(){if(L&&!c.e(z)&&z){var a=["Mixpanel warning:"].concat(c.U(arguments));
20
20
  try{z.warn.apply(z,a)}catch(b){c.a(a,function(a){z.warn(a)})}}},error:function(){if(L&&!c.e(z)&&z){var a=["Mixpanel error:"].concat(c.U(arguments));try{z.error.apply(z,a)}catch(b){c.a(a,function(a){z.error(a)})}}},D:function(){if(!c.e(z)&&z){var a=["Mixpanel error:"].concat(c.U(arguments));try{z.error.apply(z,a)}catch(b){c.a(a,function(a){z.error(a)})}}}};c.bind=function(a,b){var d,f;if(sa&&a.bind===sa)return sa.apply(a,N.call(arguments,1));if(!c.cb(a))throw new TypeError;d=N.call(arguments,2);return f=
21
- function(){if(!(this instanceof f))return a.apply(b,d.concat(N.call(arguments)));var c={};c.prototype=a.prototype;var h=new c;c.prototype=r;c=a.apply(h,d.concat(N.call(arguments)));return Object(c)===c?c:h}};c.a=function(a,b,d){if(!(a===r||a===k))if(Na&&a.forEach===Na)a.forEach(b,d);else if(a.length===+a.length)for(var c=0,g=a.length;c<g&&!(c in a&&b.call(d,a[c],c,a)===ta);c++);else for(c in a)if(ca.call(a,c)&&b.call(d,a[c],c,a)===ta)break};c.extend=function(a){c.a(N.call(arguments,1),function(b){for(var d in b)b[d]!==
22
- k&&(a[d]=b[d])});return a};c.isArray=ib||function(a){return"[object Array]"===U.call(a)};c.cb=function(a){try{return/^\s*\bfunction\b/.test(a)}catch(b){return B}};c.cd=function(a){return!(!a||!ca.call(a,"callee"))};c.U=function(a){return!a?[]:a.U?a.U():c.isArray(a)||c.cd(a)?N.call(a):c.Sd(a)};c.map=function(a,b,d){if(Pa&&a.map===Pa)return a.map(b,d);var f=[];c.a(a,function(a){f.push(b.call(d,a))});return f};c.keys=function(a){var b=[];if(a===r)return b;c.a(a,function(a,c){b[b.length]=c});return b};
21
+ function(){if(!(this instanceof f))return a.apply(b,d.concat(N.call(arguments)));var c={};c.prototype=a.prototype;var h=new c;c.prototype=r;c=a.apply(h,d.concat(N.call(arguments)));return Object(c)===c?c:h}};c.a=function(a,b,d){if(!(a===r||a===j))if(Na&&a.forEach===Na)a.forEach(b,d);else if(a.length===+a.length)for(var c=0,g=a.length;c<g&&!(c in a&&b.call(d,a[c],c,a)===ta);c++);else for(c in a)if(ca.call(a,c)&&b.call(d,a[c],c,a)===ta)break};c.extend=function(a){c.a(N.call(arguments,1),function(b){for(var d in b)b[d]!==
22
+ j&&(a[d]=b[d])});return a};c.isArray=ib||function(a){return"[object Array]"===U.call(a)};c.cb=function(a){try{return/^\s*\bfunction\b/.test(a)}catch(b){return B}};c.cd=function(a){return!(!a||!ca.call(a,"callee"))};c.U=function(a){return!a?[]:a.U?a.U():c.isArray(a)||c.cd(a)?N.call(a):c.Sd(a)};c.map=function(a,b,d){if(Pa&&a.map===Pa)return a.map(b,d);var f=[];c.a(a,function(a){f.push(b.call(d,a))});return f};c.keys=function(a){var b=[];if(a===r)return b;c.a(a,function(a,c){b[b.length]=c});return b};
23
23
  c.Sd=function(a){var b=[];if(a===r)return b;c.a(a,function(a){b[b.length]=a});return b};c.ab=function(a,b){var d=B;if(a===r)return d;if(Oa&&a.indexOf===Oa)return-1!=a.indexOf(b);c.a(a,function(a){if(d||(d=a===b))return ta});return d};c.i=function(a,b){return-1!==a.indexOf(b)};c.Ub=function(a,b){a.prototype=new b;a.prototype.constructor=a;a.Gd=b.prototype};c.g=function(a){return a===Object(a)&&!c.isArray(a)};c.Aa=function(a){if(c.g(a)){for(var b in a)if(ca.call(a,b))return B;return l}return B};c.e=
24
- function(a){return a===k};c.eb=function(a){return"[object String]"==U.call(a)};c.dd=function(a){return"[object Date]"==U.call(a)};c.Wb=function(a){return"[object Number]"==U.call(a)};c.ed=function(a){return!!(a&&1===a.nodeType)};c.Ua=function(a){c.a(a,function(b,d){c.dd(b)?a[d]=c.Wc(b):c.g(b)&&(a[d]=c.Ua(b))});return a};c.timestamp=function(){Date.now=Date.now||function(){return+new Date};return Date.now()};c.Wc=function(a){function b(a){return 10>a?"0"+a:a}return a.getUTCFullYear()+"-"+b(a.getUTCMonth()+
25
- 1)+"-"+b(a.getUTCDate())+"T"+b(a.getUTCHours())+":"+b(a.getUTCMinutes())+":"+b(a.getUTCSeconds())};c.la=function(a){var b={};c.a(a,function(a,f){c.eb(a)&&0<a.length&&(b[f]=a)});return b};c.truncate=function(a,b){var d;"string"===typeof a?d=a.slice(0,b):c.isArray(a)?(d=[],c.a(a,function(a){d.push(c.truncate(a,b))})):c.g(a)?(d={},c.a(a,function(a,g){d[g]=c.truncate(a,b)})):d=a;return d};c.oa=function(){return function(a){function b(a,g){var h="",e=0,i=e="",i=0,j=h,n=[],s=g[a];s&&"object"===typeof s&&
26
- "function"===typeof s.toJSON&&(s=s.toJSON(a));switch(typeof s){case "string":return c(s);case "number":return isFinite(s)?""+s:"null";case "boolean":case "null":return""+s;case "object":if(!s)return"null";h+=" ";n=[];if("[object Array]"===U.apply(s)){i=s.length;for(e=0;e<i;e+=1)n[e]=b(e,s)||"null";return i=0===n.length?"[]":h?"[\n"+h+n.join(",\n"+h)+"\n"+j+"]":"["+n.join(",")+"]"}for(e in s)ca.call(s,e)&&(i=b(e,s))&&n.push(c(e)+(h?": ":":")+i);return i=0===n.length?"{}":h?"{"+n.join(",")+""+j+
24
+ function(a){return a===j};c.eb=function(a){return"[object String]"==U.call(a)};c.dd=function(a){return"[object Date]"==U.call(a)};c.Wb=function(a){return"[object Number]"==U.call(a)};c.ed=function(a){return!!(a&&1===a.nodeType)};c.Ua=function(a){c.a(a,function(b,d){c.dd(b)?a[d]=c.Wc(b):c.g(b)&&(a[d]=c.Ua(b))});return a};c.timestamp=function(){Date.now=Date.now||function(){return+new Date};return Date.now()};c.Wc=function(a){function b(a){return 10>a?"0"+a:a}return a.getUTCFullYear()+"-"+b(a.getUTCMonth()+
25
+ 1)+"-"+b(a.getUTCDate())+"T"+b(a.getUTCHours())+":"+b(a.getUTCMinutes())+":"+b(a.getUTCSeconds())};c.la=function(a){var b={};c.a(a,function(a,f){c.eb(a)&&0<a.length&&(b[f]=a)});return b};c.truncate=function(a,b){var d;"string"===typeof a?d=a.slice(0,b):c.isArray(a)?(d=[],c.a(a,function(a){d.push(c.truncate(a,b))})):c.g(a)?(d={},c.a(a,function(a,g){d[g]=c.truncate(a,b)})):d=a;return d};c.oa=function(){return function(a){function b(a,g){var h="",e=0,i=e="",i=0,k=h,n=[],s=g[a];s&&"object"===typeof s&&
26
+ "function"===typeof s.toJSON&&(s=s.toJSON(a));switch(typeof s){case "string":return c(s);case "number":return isFinite(s)?""+s:"null";case "boolean":case "null":return""+s;case "object":if(!s)return"null";h+=" ";n=[];if("[object Array]"===U.apply(s)){i=s.length;for(e=0;e<i;e+=1)n[e]=b(e,s)||"null";return i=0===n.length?"[]":h?"[\n"+h+n.join(",\n"+h)+"\n"+k+"]":"["+n.join(",")+"]"}for(e in s)ca.call(s,e)&&(i=b(e,s))&&n.push(c(e)+(h?": ":":")+i);return i=0===n.length?"{}":h?"{"+n.join(",")+""+k+
27
27
  "}":"{"+n.join(",")+"}"}}function c(a){var b=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,d={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};b.lastIndex=0;return b.test(a)?'"'+a.replace(b,function(a){var b=d[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}return b("",{"":a})}}();c.X=function(){function a(){switch(i){case "t":return g("t"),
28
- g("r"),g("u"),g("e"),l;case "f":return g("f"),g("a"),g("l"),g("s"),g("e"),B;case "n":return g("n"),g("u"),g("l"),g("l"),r}h('Unexpected "'+i+'"')}function b(){for(;i&&" ">=i;)g()}function c(){var a,b,d="",f;if('"'===i)for(;g();){if('"'===i)return g(),d;if("\\"===i)if(g(),"u"===i){for(b=f=0;4>b;b+=1){a=parseInt(g(),16);if(!isFinite(a))break;f=16*f+a}d+=String.fromCharCode(f)}else if("string"===typeof j[i])d+=j[i];else break;else d+=i}h("Bad string")}function f(){var a;a="";"-"===i&&(a="-",g("-"));
29
- for(;"0"<=i&&"9">=i;)a+=i,g();if("."===i)for(a+=".";g()&&"0"<=i&&"9">=i;)a+=i;if("e"===i||"E"===i){a+=i;g();if("-"===i||"+"===i)a+=i,g();for(;"0"<=i&&"9">=i;)a+=i,g()}a=+a;if(isFinite(a))return a;h("Bad number")}function g(a){a&&a!==i&&h("Expected '"+a+"' instead of '"+i+"'");i=n.charAt(e);e+=1;return i}function h(a){a=new SyntaxError(a);a.Td=e;a.text=n;throw a;}var e,i,j={'"':'"',"\\":"\\","/":"/",b:"\u0008",f:"\u000c",n:"\n",r:"\r",t:"\t"},n,s;s=function(){b();switch(i){case "{":var e;a:{var v,
30
- j={};if("{"===i){g("{");b();if("}"===i){g("}");e=j;break a}for(;i;){v=c();b();g(":");Object.hasOwnProperty.call(j,v)&&h('Duplicate key "'+v+'"');j[v]=s();b();if("}"===i){g("}");e=j;break a}g(",");b()}}h("Bad object")}return e;case "[":a:{e=[];if("["===i){g("[");b();if("]"===i){g("]");v=e;break a}for(;i;){e.push(s());b();if("]"===i){g("]");v=e;break a}g(",");b()}}h("Bad array")}return v;case '"':return c();case "-":return f();default:return"0"<=i&&"9">=i?f():a()}};return function(a){n=a;e=0;i=" ";
28
+ g("r"),g("u"),g("e"),l;case "f":return g("f"),g("a"),g("l"),g("s"),g("e"),B;case "n":return g("n"),g("u"),g("l"),g("l"),r}h('Unexpected "'+i+'"')}function b(){for(;i&&" ">=i;)g()}function c(){var a,b,d="",f;if('"'===i)for(;g();){if('"'===i)return g(),d;if("\\"===i)if(g(),"u"===i){for(b=f=0;4>b;b+=1){a=parseInt(g(),16);if(!isFinite(a))break;f=16*f+a}d+=String.fromCharCode(f)}else if("string"===typeof k[i])d+=k[i];else break;else d+=i}h("Bad string")}function f(){var a;a="";"-"===i&&(a="-",g("-"));
29
+ for(;"0"<=i&&"9">=i;)a+=i,g();if("."===i)for(a+=".";g()&&"0"<=i&&"9">=i;)a+=i;if("e"===i||"E"===i){a+=i;g();if("-"===i||"+"===i)a+=i,g();for(;"0"<=i&&"9">=i;)a+=i,g()}a=+a;if(isFinite(a))return a;h("Bad number")}function g(a){a&&a!==i&&h("Expected '"+a+"' instead of '"+i+"'");i=n.charAt(e);e+=1;return i}function h(a){a=new SyntaxError(a);a.Td=e;a.text=n;throw a;}var e,i,k={'"':'"',"\\":"\\","/":"/",b:"\u0008",f:"\u000c",n:"\n",r:"\r",t:"\t"},n,s;s=function(){b();switch(i){case "{":var e;a:{var v,
30
+ k={};if("{"===i){g("{");b();if("}"===i){g("}");e=k;break a}for(;i;){v=c();b();g(":");Object.hasOwnProperty.call(k,v)&&h('Duplicate key "'+v+'"');k[v]=s();b();if("}"===i){g("}");e=k;break a}g(",");b()}}h("Bad object")}return e;case "[":a:{e=[];if("["===i){g("[");b();if("]"===i){g("]");v=e;break a}for(;i;){e.push(s());b();if("]"===i){g("]");v=e;break a}g(",");b()}}h("Bad array")}return v;case '"':return c();case "-":return f();default:return"0"<=i&&"9">=i?f():a()}};return function(a){n=a;e=0;i=" ";
31
31
  a=s();b();i&&h("Syntax error");return a}}();c.Mc=function(a){var b,d,f,g,h=0,e=0,i="",i=[];if(!a)return a;a=c.Rd(a);do b=a.charCodeAt(h++),d=a.charCodeAt(h++),f=a.charCodeAt(h++),g=b<<16|d<<8|f,b=g>>18&63,d=g>>12&63,f=g>>6&63,g&=63,i[e++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(b)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(d)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(f)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(g);
32
32
  while(h<a.length);i=i.join("");switch(a.length%3){case 1:i=i.slice(0,-2)+"==";break;case 2:i=i.slice(0,-1)+"="}return i};c.Rd=function(a){var a=(a+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"),b="",c,f,g=0,h;c=f=0;g=a.length;for(h=0;h<g;h++){var e=a.charCodeAt(h),i=r;128>e?f++:i=127<e&&2048>e?String.fromCharCode(e>>6|192,e&63|128):String.fromCharCode(e>>12|224,e>>6&63|128,e&63|128);i!==r&&(f>c&&(b+=a.substring(c,f)),b+=i,c=f=h+1)}f>c&&(b+=a.substring(c,a.length));return b};c.tb=function(){function a(){function a(b,
33
33
  c){var d,f=0;for(d=0;d<c.length;d++)f|=h[d]<<8*d;return b^f}var b,c,h=[],e=0;for(b=0;b<A.length;b++)c=A.charCodeAt(b),h.unshift(c&255),4<=h.length&&(e=a(e,h),h=[]);0<h.length&&(e=a(e,h));return e.toString(16)}function b(){var a=1*new Date,b;if(p.performance&&p.performance.now)b=p.performance.now();else for(b=0;a==1*new Date;)b++;return a.toString(16)+Math.floor(b).toString(16)}return function(){var c=(ea.height*ea.width).toString(16);return b()+"-"+Math.random().toString(16).replace(".","")+"-"+a()+
34
34
  "-"+c+"-"+b()}}();var Qa="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".split(",");c.Vb=function(a){var b,a=a.toLowerCase();for(b=0;b<Qa.length;b++)if(-1!==a.indexOf(Qa[b]))return l;return B};c.sb=function(a){var b,d,f,g=
35
35
  [];c.e(b)&&(b="&");c.a(a,function(a,b){d=encodeURIComponent(a.toString());f=encodeURIComponent(b);g[g.length]=f+"="+d});return g.join(b)};c.Ya=function(a,b){var b=b.replace(/[[]/g,"\\[").replace(/[\]]/g,"\\]"),c=RegExp("[\\?&]"+b+"=([^&#]*)").exec(a);if(c===r||c&&"string"!==typeof c[1]&&c[1].length)return"";c=c[1];try{c=decodeURIComponent(c)}catch(f){o.error("Skipping decoding for malformed query param: "+c)}return c.replace(/\+/g," ")};c.cookie={get:function(a){for(var a=a+"=",b=t.cookie.split(";"),
36
- c=0;c<b.length;c++){for(var f=b[c];" "==f.charAt(0);)f=f.substring(1,f.length);if(0===f.indexOf(a))return decodeURIComponent(f.substring(a.length,f.length))}return r},parse:function(a){var b;try{b=c.X(c.cookie.get(a))||{}}catch(d){}return b},Xd:function(a,b,c,f,g,h,e){var i="",j="",n="";e?i="; domain="+e:f&&(i=(i=Ba(t.location.hostname))?"; domain=."+i:"");c&&(j=new Date,j.setTime(j.getTime()+1E3*c),j="; expires="+j.toGMTString());h&&(g=l,n="; SameSite=None");g&&(n+="; secure");t.cookie=a+"="+encodeURIComponent(b)+
37
- j+"; path=/"+i+n},set:function(a,b,c,f,g,h,e){var i="",j="",n="";e?i="; domain="+e:f&&(i=(i=Ba(t.location.hostname))?"; domain=."+i:"");c&&(j=new Date,j.setTime(j.getTime()+864E5*c),j="; expires="+j.toGMTString());h&&(g=l,n="; SameSite=None");g&&(n+="; secure");a=a+"="+encodeURIComponent(b)+j+"; path=/"+i+n;return t.cookie=a},remove:function(a,b,d){c.cookie.set(a,"",-1,b,B,B,d)}};var la=r;c.localStorage={Ba:function(a){(a=Y(r,a))||o.error("localStorage unsupported; falling back to cookie store");
36
+ c=0;c<b.length;c++){for(var f=b[c];" "==f.charAt(0);)f=f.substring(1,f.length);if(0===f.indexOf(a))return decodeURIComponent(f.substring(a.length,f.length))}return r},parse:function(a){var b;try{b=c.X(c.cookie.get(a))||{}}catch(d){}return b},Xd:function(a,b,c,f,g,h,e){var i="",k="",n="";e?i="; domain="+e:f&&(i=(i=Ba(t.location.hostname))?"; domain=."+i:"");c&&(k=new Date,k.setTime(k.getTime()+1E3*c),k="; expires="+k.toGMTString());h&&(g=l,n="; SameSite=None");g&&(n+="; secure");t.cookie=a+"="+encodeURIComponent(b)+
37
+ k+"; path=/"+i+n},set:function(a,b,c,f,g,h,e){var i="",k="",n="";e?i="; domain="+e:f&&(i=(i=Ba(t.location.hostname))?"; domain=."+i:"");c&&(k=new Date,k.setTime(k.getTime()+864E5*c),k="; expires="+k.toGMTString());h&&(g=l,n="; SameSite=None");g&&(n+="; secure");a=a+"="+encodeURIComponent(b)+k+"; path=/"+i+n;return t.cookie=a},remove:function(a,b,d){c.cookie.set(a,"",-1,b,B,B,d)}};var la=r;c.localStorage={Ba:function(a){(a=Y(r,a))||o.error("localStorage unsupported; falling back to cookie store");
38
38
  return a},error:function(a){o.error("localStorage error: "+a)},get:function(a){try{return p.localStorage.getItem(a)}catch(b){c.localStorage.error(b)}return r},parse:function(a){try{return c.X(c.localStorage.get(a))||{}}catch(b){}return r},set:function(a,b){try{p.localStorage.setItem(a,b)}catch(d){c.localStorage.error(d)}},remove:function(a){try{p.localStorage.removeItem(a)}catch(b){c.localStorage.error(b)}}};c.gc=function(){function a(a,f,g){return function(h){if(h=h||b(p.event)){var e=l,i;c.cb(g)&&
39
39
  (i=g(h));h=f.call(a,h);if(B===i||B===h)e=B;return e}}}function b(a){if(a)a.preventDefault=b.preventDefault,a.stopPropagation=b.stopPropagation;return a}b.preventDefault=function(){this.returnValue=B};b.stopPropagation=function(){this.cancelBubble=l};return function(b,c,g,h,e){b?b.addEventListener&&!h?b.addEventListener(c,g,!!e):(c="on"+c,b[c]=a(b,g,b[c])):o.error("No valid element provided to register_event")}}();var jb=/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/;c.Qc=function(){function a(a,
40
- b){return 0<=(" "+a.className+" ").replace(d," ").indexOf(" "+b+" ")}function b(b){if(!t.getElementsByTagName)return[];var b=b.split(" "),d,h,e,i,j,n,s,w=[t];for(i=0;i<b.length;i++)if(d=b[i].replace(/^\s+/,"").replace(/\s+$/,""),-1<d.indexOf("#")){h=d.split("#");d=h[0];w=t.getElementById(h[1]);if(!w||d&&w.nodeName.toLowerCase()!=d)return[];w=[w]}else if(-1<d.indexOf(".")){h=d.split(".");d=h[0];var C=h[1];d||(d="*");h=[];for(j=e=0;j<w.length;j++){s="*"==d?w[j].all?w[j].all:w[j].getElementsByTagName("*"):
41
- w[j].getElementsByTagName(d);for(n=0;n<s.length;n++)h[e++]=s[n]}w=[];for(j=d=0;j<h.length;j++)h[j].className&&c.eb(h[j].className)&&a(h[j],C)&&(w[d++]=h[j])}else if(h=d.match(jb)){d=h[1];var p=h[2],C=h[3],q=h[4];d||(d="*");h=[];for(j=e=0;j<w.length;j++){s="*"==d?w[j].all?w[j].all:w[j].getElementsByTagName("*"):w[j].getElementsByTagName(d);for(n=0;n<s.length;n++)h[e++]=s[n]}w=[];d=0;switch(C){case "=":C=function(a){return a.getAttribute(p)==q};break;case "~":C=function(a){return a.getAttribute(p).match(RegExp("\\b"+
42
- q+"\\b"))};break;case "|":C=function(a){return a.getAttribute(p).match(RegExp("^"+q+"-?"))};break;case "^":C=function(a){return 0===a.getAttribute(p).indexOf(q)};break;case "$":C=function(a){return a.getAttribute(p).lastIndexOf(q)==a.getAttribute(p).length-q.length};break;case "*":C=function(a){return-1<a.getAttribute(p).indexOf(q)};break;default:C=function(a){return a.getAttribute(p)}}w=[];for(j=d=0;j<h.length;j++)C(h[j])&&(w[d++]=h[j])}else{h=[];for(j=e=0;j<w.length;j++){s=w[j].getElementsByTagName(d);
43
- for(n=0;n<s.length;n++)h[e++]=s[n]}w=h}return w}var d=/[\t\r\n]/g;return function(a){return c.ed(a)?[a]:c.g(a)&&!c.e(a.length)?a:b.call(this,a)}}();var kb="utm_source,utm_medium,utm_campaign,utm_content,utm_term,utm_id,utm_source_platform,utm_campaign_id,utm_creative_format,utm_marketing_tactic".split(","),lb="dclid,fbclid,gclid,ko_click_id,li_fat_id,msclkid,sccid,ttclid,twclid,wbraid".split(",");c.info={ca:function(a){var b="",d={};c.a(kb,function(f){b=c.Ya(t.URL,f);b.length?d[f]=b:a!==k&&(d[f]=
40
+ b){return 0<=(" "+a.className+" ").replace(d," ").indexOf(" "+b+" ")}function b(b){if(!t.getElementsByTagName)return[];var b=b.split(" "),d,h,e,i,k,n,s,w=[t];for(i=0;i<b.length;i++)if(d=b[i].replace(/^\s+/,"").replace(/\s+$/,""),-1<d.indexOf("#")){h=d.split("#");d=h[0];w=t.getElementById(h[1]);if(!w||d&&w.nodeName.toLowerCase()!=d)return[];w=[w]}else if(-1<d.indexOf(".")){h=d.split(".");d=h[0];var C=h[1];d||(d="*");h=[];for(k=e=0;k<w.length;k++){s="*"==d?w[k].all?w[k].all:w[k].getElementsByTagName("*"):
41
+ w[k].getElementsByTagName(d);for(n=0;n<s.length;n++)h[e++]=s[n]}w=[];for(k=d=0;k<h.length;k++)h[k].className&&c.eb(h[k].className)&&a(h[k],C)&&(w[d++]=h[k])}else if(h=d.match(jb)){d=h[1];var p=h[2],C=h[3],q=h[4];d||(d="*");h=[];for(k=e=0;k<w.length;k++){s="*"==d?w[k].all?w[k].all:w[k].getElementsByTagName("*"):w[k].getElementsByTagName(d);for(n=0;n<s.length;n++)h[e++]=s[n]}w=[];d=0;switch(C){case "=":C=function(a){return a.getAttribute(p)==q};break;case "~":C=function(a){return a.getAttribute(p).match(RegExp("\\b"+
42
+ q+"\\b"))};break;case "|":C=function(a){return a.getAttribute(p).match(RegExp("^"+q+"-?"))};break;case "^":C=function(a){return 0===a.getAttribute(p).indexOf(q)};break;case "$":C=function(a){return a.getAttribute(p).lastIndexOf(q)==a.getAttribute(p).length-q.length};break;case "*":C=function(a){return-1<a.getAttribute(p).indexOf(q)};break;default:C=function(a){return a.getAttribute(p)}}w=[];for(k=d=0;k<h.length;k++)C(h[k])&&(w[d++]=h[k])}else{h=[];for(k=e=0;k<w.length;k++){s=w[k].getElementsByTagName(d);
43
+ for(n=0;n<s.length;n++)h[e++]=s[n]}w=h}return w}var d=/[\t\r\n]/g;return function(a){return c.ed(a)?[a]:c.g(a)&&!c.e(a.length)?a:b.call(this,a)}}();var kb="utm_source,utm_medium,utm_campaign,utm_content,utm_term,utm_id,utm_source_platform,utm_campaign_id,utm_creative_format,utm_marketing_tactic".split(","),lb="dclid,fbclid,gclid,ko_click_id,li_fat_id,msclkid,sccid,ttclid,twclid,wbraid".split(",");c.info={ca:function(a){var b="",d={};c.a(kb,function(f){b=c.Ya(t.URL,f);b.length?d[f]=b:a!==j&&(d[f]=
44
44
  a)});return d},Gb:function(){var a="",b={};c.a(lb,function(d){a=c.Ya(t.URL,d);a.length&&(b[d]=a)});return b},fd:function(){return c.extend(c.info.ca(),c.info.Gb())},od:function(a){return 0===a.search("https?://(.*)google.([^/?]*)")?"google":0===a.search("https?://(.*)bing.com")?"bing":0===a.search("https?://(.*)yahoo.com")?"yahoo":0===a.search("https?://(.*)duckduckgo.com")?"duckduckgo":r},pd:function(a){var b=c.info.od(a),d={};if(b!==r)d.$search_engine=b,a=c.Ya(a,"yahoo"!=b?"q":"p"),a.length&&(d.mp_keyword=
45
45
  a);return d},ta:function(a,b,d){return d||c.i(a," OPR/")?c.i(a,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(a)?"BlackBerry":c.i(a,"IEMobile")||c.i(a,"WPDesktop")?"Internet Explorer Mobile":c.i(a,"SamsungBrowser/")?"Samsung Internet":c.i(a,"Edge")||c.i(a,"Edg/")?"Microsoft Edge":c.i(a,"FBIOS")?"Facebook Mobile":c.i(a,"Chrome")?"Chrome":c.i(a,"CriOS")?"Chrome iOS":c.i(a,"UCWEB")||c.i(a,"UCBrowser")?"UC Browser":c.i(a,"FxiOS")?"Firefox iOS":c.i(b||"","Apple")?c.i(a,"Mobile")?"Mobile Safari":
46
46
  "Safari":c.i(a,"Android")?"Android Mobile":c.i(a,"Konqueror")?"Konqueror":c.i(a,"Firefox")?"Firefox":c.i(a,"MSIE")||c.i(a,"Trident/")?"Internet Explorer":c.i(a,"Gecko")?"Mozilla":""},Qa:function(a,b,d){b={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/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+)?)/,
47
- Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[c.info.ta(a,b,d)];if(b===k)return r;a=a.match(b);return!a?r:parseFloat(a[a.length-2])},$b:function(){return/Windows/i.test(A)?/Phone/.test(A)||/WPDesktop/.test(A)?"Windows Phone":"Windows":
47
+ Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[c.info.ta(a,b,d)];if(b===j)return r;a=a.match(b);return!a?r:parseFloat(a[a.length-2])},$b:function(){return/Windows/i.test(A)?/Phone/.test(A)||/WPDesktop/.test(A)?"Windows Phone":"Windows":
48
48
  /(iPhone|iPad|iPod)/.test(A)?"iOS":/Android/.test(A)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(A)?"BlackBerry":/Mac/i.test(A)?"Mac OS X":/Linux/.test(A)?"Linux":/CrOS/.test(A)?"Chrome OS":""},Nb:function(a){return/Windows Phone/i.test(a)||/WPDesktop/.test(a)?"Windows Phone":/iPad/.test(a)?"iPad":/iPod/.test(a)?"iPod Touch":/iPhone/.test(a)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(a)?"BlackBerry":/Android/.test(a)?"Android":""},fc:function(a){a=a.split("/");return 3<=a.length?a[2]:""},Ta:function(){return p.location.href},
49
- ga:function(a){"object"!==typeof a&&(a={});return c.extend(c.la({$os:c.info.$b(),$browser:c.info.ta(A,K.vendor,da),$referrer:t.referrer,$referring_domain:c.info.fc(t.referrer),$device:c.info.Nb(A)}),{$current_url:c.info.Ta(),$browser_version:c.info.Qa(A,K.vendor,da),$screen_height:ea.height,$screen_width:ea.width,mp_lib:"web",$lib_version:"2.57.1",$insert_id:ka(),time:c.timestamp()/1E3},c.la(a))},kd:function(){return c.extend(c.la({$os:c.info.$b(),$browser:c.info.ta(A,K.vendor,da)}),{$browser_version:c.info.Qa(A,
49
+ ga:function(a){"object"!==typeof a&&(a={});return c.extend(c.la({$os:c.info.$b(),$browser:c.info.ta(A,K.vendor,da),$referrer:t.referrer,$referring_domain:c.info.fc(t.referrer),$device:c.info.Nb(A)}),{$current_url:c.info.Ta(),$browser_version:c.info.Qa(A,K.vendor,da),$screen_height:ea.height,$screen_width:ea.width,mp_lib:"web",$lib_version:"2.58.0",$insert_id:ka(),time:c.timestamp()/1E3},c.la(a))},kd:function(){return c.extend(c.la({$os:c.info.$b(),$browser:c.info.ta(A,K.vendor,da)}),{$browser_version:c.info.Qa(A,
50
50
  K.vendor,da)})},gd:function(){return c.la({current_page_title:t.title,current_domain:p.location.hostname,current_url_path:p.location.pathname,current_url_protocol:p.location.protocol,current_url_search:p.location.search})}};var $a=/[a-z0-9][a-z0-9-]*\.[a-z]+$/i,Za=/[a-z0-9][a-z0-9-]+\.[a-z.]{2,6}$/i,fa=r,ga=r;if("undefined"!==typeof JSON)fa=JSON.stringify,ga=JSON.parse;fa=fa||c.oa;ga=ga||c.X;c.toArray=c.U;c.isObject=c.g;c.JSONEncode=c.oa;c.JSONDecode=c.X;c.isBlockedUA=c.Vb;c.isEmptyObject=c.Aa;c.info=
51
51
  c.info;c.info.device=c.info.Nb;c.info.browser=c.info.ta;c.info.browserVersion=c.info.Qa;c.info.properties=c.info.ga;c.NPO=H;F.prototype.va=function(){};F.prototype.Wa=function(){};F.prototype.Oa=function(){};F.prototype.Q=function(a){this.Xb=a;return this};F.prototype.o=function(a,b,d,f){var g=this,e=c.Qc(a);if(0===e.length)o.error("The DOM query ("+a+") returned 0 elements");else return c.a(e,function(a){c.gc(a,this.ac,function(a){var c={},e=g.va(d,this),h=g.Xb.c("track_links_timeout");g.Wa(a,this,
52
52
  c);window.setTimeout(g.vc(f,e,c,l),h);g.Xb.o(b,e,g.vc(f,e,c))})},this),l};F.prototype.vc=function(a,b,c,f){var f=f||B,g=this;return function(){if(!c.Nc)c.Nc=l,a&&a(f,b)===B||g.Oa(b,c,f)}};F.prototype.va=function(a,b){return"function"===typeof a?a(b):c.extend({},a)};c.Ub(O,F);O.prototype.va=function(a,b){var c=O.Gd.va.apply(this,arguments);if(b.href)c.url=b.href;return c};O.prototype.Wa=function(a,b,c){c.Yb=2===a.which||a.metaKey||a.ctrlKey||"_blank"===b.target;c.href=b.href;c.Yb||a.preventDefault()};
53
53
  O.prototype.Oa=function(a,b){b.Yb||setTimeout(function(){window.location=b.href},0)};c.Ub(X,F);X.prototype.Wa=function(a,b,c){c.element=b;a.preventDefault()};X.prototype.Oa=function(a,b){setTimeout(function(){b.element.submit()},0)};var mb=ma("lock");za.prototype.rb=function(a,b){return new this.ec(c.bind(function(c,f){function g(){function b(){m.removeItem(u);m.getItem(t)===n&&m.removeItem(t);m.getItem(o)===n&&m.removeItem(o)}m.setItem(u,"1");a().then(function(a){b();c(a)}).catch(function(a){b();
54
- f(a)})}function e(){m.setItem(o,n);i(v,function(){m.getItem(o)===n?g():j(function(){m.getItem(t)!==n?e():i(function(){return!m.getItem(u)},g)})})}function v(){var a=m.getItem(t);if(a&&a!==n)return B;m.setItem(t,n);if(m.getItem(t)===n)return l;Y(m,l)||f(Error("localStorage support dropped while acquiring lock"));return B}function i(a,b){a()?b():j(function(){i(a,b)})}function j(a){(new Date).getTime()-p>q?(mb.error("Timeout waiting for mutex on "+w+"; clearing lock. ["+n+"]"),m.removeItem(u),m.removeItem(t),
54
+ f(a)})}function e(){m.setItem(o,n);i(v,function(){m.getItem(o)===n?g():k(function(){m.getItem(t)!==n?e():i(function(){return!m.getItem(u)},g)})})}function v(){var a=m.getItem(t);if(a&&a!==n)return B;m.setItem(t,n);if(m.getItem(t)===n)return l;Y(m,l)||f(Error("localStorage support dropped while acquiring lock"));return B}function i(a,b){a()?b():k(function(){i(a,b)})}function k(a){(new Date).getTime()-p>q?(mb.error("Timeout waiting for mutex on "+w+"; clearing lock. ["+n+"]"),m.removeItem(u),m.removeItem(t),
55
55
  e()):setTimeout(function(){try{a()}catch(b){f(b)}},C*(Math.random()+0.1))}var n=b||(new Date).getTime()+"|"+Math.random(),p=(new Date).getTime(),w=this.T,C=this.dc,q=this.tc,m=this.l,o=w+":X",t=w+":Y",u=w+":Z";try{if(Y(m,l))e();else throw Error("localStorage support check failed");}catch(x){f(x)}},this))};S.prototype.Q=function(){return y.resolve()};S.prototype.setItem=function(a,b){return new y(c.bind(function(c,f){try{this.l.setItem(a,b)}catch(g){f(g)}c()},this))};S.prototype.getItem=function(a){return new y(c.bind(function(b,
56
56
  c){var f;try{f=this.l.getItem(a)}catch(g){c(g)}b(f)},this))};S.prototype.removeItem=function(a){return new y(c.bind(function(b,c){try{this.l.removeItem(a)}catch(f){c(f)}b()},this))};var Aa=ma("batch");E.prototype.K=function(){return this.bb?y.resolve():this.v.Q().then(c.bind(function(){this.bb=l},this)).catch(c.bind(function(a){this.h("Error initializing queue persistence. Disabling persistence",a);this.bb=l;this.q=B},this))};E.prototype.Va=function(a,b){var d={id:ka(),flushAfter:(new Date).getTime()+
57
57
  2*b,payload:a};if(this.q)return this.fb.rb(c.bind(function(){return this.K().then(c.bind(function(){return this.ja()},this)).then(c.bind(function(a){a.push(d);return this.kb(a)},this)).then(c.bind(function(a){a&&this.G.push(d);return a},this)).catch(c.bind(function(b){this.h("Error enqueueing item",b,a);return B},this))},this),this.Da).catch(c.bind(function(a){this.h("Error acquiring storage lock",a);return B},this));this.G.push(d);return y.resolve(l)};E.prototype.Uc=function(a){var b=this.G.slice(0,
@@ -61,10 +61,10 @@ a},this)).catch(c.bind(function(a){this.h("Error clearing queue",a);return B},th
61
61
  y.resolve(l)};E.prototype.ja=function(){return this.K().then(c.bind(function(){return this.v.getItem(this.T)},this)).then(c.bind(function(a){a&&(a=ga(a),c.isArray(a)||(this.h("Invalid storage entry:",a),a=r));return a||[]},this)).catch(c.bind(function(a){this.h("Error retrieving queue",a);return[]},this))};E.prototype.kb=function(a){try{var b=fa(a)}catch(d){return this.h("Error serializing queue",d),y.resolve(B)}return this.K().then(c.bind(function(){return this.v.setItem(this.T,b)},this)).then(function(){return l}).catch(c.bind(function(a){this.h("Error saving queue",
62
62
  a);return B},this))};E.prototype.clear=function(){this.G=[];return this.q?this.K().then(c.bind(function(){return this.v.removeItem(this.T)},this)):y.resolve()};var V=ma("batch");D.prototype.Va=function(a){return this.ha.Va(a,this.xa)};D.prototype.start=function(){this.ka=B;this.Ra=0;return this.flush()};D.prototype.stop=function(){this.ka=l;if(this.nb)clearTimeout(this.nb),this.nb=r};D.prototype.clear=function(){return this.ha.clear()};D.prototype.ic=function(){this.I=this.F.batch_size};D.prototype.R=
63
63
  function(){this.kc(this.F.batch_flush_interval_ms)};D.prototype.kc=function(a){this.xa=a;if(!this.ka)this.nb=setTimeout(c.bind(function(){this.ka||this.flush()},this),this.xa)};D.prototype.td=function(a,b){return new y(c.bind(function(c){this.rd(a,b,c)},this))};D.prototype.flush=function(a){if(this.jb)return V.log("Flush: Request already in progress"),y.resolve();this.jb=l;var a=a||{},b=this.F.batch_request_timeout_ms,d=(new Date).getTime(),f=this.I;return this.ha.Uc(f).then(c.bind(function(g){var e=
64
- g.length===f,v=[],i={};c.a(g,function(a){var b=a.payload;this.sa&&!a.jd&&(b=this.sa(b));if(b){b.event&&b.properties&&(b.properties=c.extend({},b.properties,{mp_sent_by_lib_version:"2.57.1"}));var d=l,f=a.id;if(f){if(5<(this.M[f]||0))this.h("[dupe] item ID sent too many times, not sending",{item:a,I:g.length,Id:this.M[f]}),d=B}else this.h("[dupe] found item with no ID",{item:a});d&&v.push(b)}i[a.id]=b},this);if(1>v.length)return this.jb=B,this.R(),y.resolve();var j=c.bind(function(){return this.ha.ld(c.map(g,
64
+ g.length===f,v=[],i={};c.a(g,function(a){var b=a.payload;this.sa&&!a.jd&&(b=this.sa(b));if(b){b.event&&b.properties&&(b.properties=c.extend({},b.properties,{mp_sent_by_lib_version:"2.58.0"}));var d=l,f=a.id;if(f){if(5<(this.M[f]||0))this.h("[dupe] item ID sent too many times, not sending",{item:a,I:g.length,Id:this.M[f]}),d=B}else this.h("[dupe] found item with no ID",{item:a});d&&v.push(b)}i[a.id]=b},this);if(1>v.length)return this.jb=B,this.R(),y.resolve();var k=c.bind(function(){return this.ha.ld(c.map(g,
65
65
  function(a){return a.id})).then(c.bind(function(a){c.a(g,c.bind(function(a){var b=a.id;b?(this.M[b]=this.M[b]||0,this.M[b]++,5<this.M[b]&&this.h("[dupe] item ID sent too many times",{item:a,I:g.length,Id:this.M[b]})):this.h("[dupe] found item with no ID while removing",{item:a})},this));if(a){this.Ra=0;return this.Ob&&!e?(this.R(),y.resolve()):this.flush()}5<++this.Ra?(this.h("Too many queue failures; disabling batching system."),this.Cd()):this.R();return y.resolve()},this))},this),n=c.bind(function(e){this.jb=
66
66
  B;try{if(a.xc)return this.ha.Pd(i);if(c.g(e)&&"timeout"===e.error&&(new Date).getTime()-d>=b)return this.h("Network timeout; retrying"),this.flush();var h;if(h=c.g(e)){var v;if(!(v=500<=e.za)){var n;if(!(n=429===e.za)){var m;if(m=0>=e.za){var q=p.navigator.onLine;m=!(c.e(q)||q)}n=m||"timeout"===e.error}v=n}h=v}if(h){var s=2*this.xa;e.jc&&(s=1E3*parseInt(e.jc,10)||s);s=Math.min(6E5,s);this.h("Error; retry in "+s+" ms");this.kc(s);return y.resolve()}if(c.g(e)&&413===e.za){if(1<g.length){var o=Math.max(1,
67
- Math.floor(f/2));this.I=Math.min(this.I,o,g.length-1);this.h("413 response; reducing batch size to "+this.I);this.R();return y.resolve()}this.h("Single-event request too large; dropping",g);this.ic()}return j()}catch(t){this.h("Error handling API response",t),this.R()}},this),m={method:"POST",Bc:l,ad:l,uc:b};if(a.xc)m.pb="sendBeacon";V.log("MIXPANEL REQUEST:",v);return this.td(v,m).then(n)},this)).catch(c.bind(function(a){this.h("Error flushing request queue",a);this.R()},this))};D.prototype.h=function(a,
67
+ Math.floor(f/2));this.I=Math.min(this.I,o,g.length-1);this.h("413 response; reducing batch size to "+this.I);this.R();return y.resolve()}this.h("Single-event request too large; dropping",g);this.ic()}return k()}catch(t){this.h("Error handling API response",t),this.R()}},this),m={method:"POST",Bc:l,ad:l,uc:b};if(a.xc)m.pb="sendBeacon";V.log("MIXPANEL REQUEST:",v);return this.td(v,m).then(n)},this)).catch(c.bind(function(a){this.h("Error flushing request queue",a);this.R()},this))};D.prototype.h=function(a,
68
68
  b){V.error.apply(V.error,arguments);if(this.O)try{b instanceof Error||(b=Error(a)),this.O(a,b)}catch(c){V.error(c)}};var hb="__mp_opt_in_out_",Ra={mc:function(a,b){var d={},f={};c.g(a)?c.a(a,function(a,b){this.B(b)||(f[b]=a)},this):f[a]=b;d.$set=f;return d},yc:function(a){var b={},d=[];c.isArray(a)||(a=[a]);c.a(a,function(a){this.B(a)||d.push(a)},this);b.$unset=d;return b},pc:function(a,b){var d={},f={};c.g(a)?c.a(a,function(a,b){this.B(b)||(f[b]=a)},this):f[a]=b;d.$set_once=f;return d},wc:function(a,
69
69
  b){var d={},f={};c.g(a)?c.a(a,function(a,b){this.B(b)||(f[b]=c.isArray(a)?a:[a])},this):f[a]=c.isArray(b)?b:[b];d.$union=f;return d},Lc:function(a,b){var d={},f={};c.g(a)?c.a(a,function(a,b){this.B(b)||(f[b]=a)},this):f[a]=b;d.$append=f;return d},hc:function(a,b){var d={},f={};c.g(a)?c.a(a,function(a,b){this.B(b)||(f[b]=a)},this):f[a]=b;d.$remove=f;return d},Vd:function(){return{$delete:""}}};c.extend(u.prototype,Ra);u.prototype.ba=function(a,b,c){this.d=a;this.Ka=b;this.Ja=c};u.prototype.set=P(function(a,
70
70
  b,d){var f=this.mc(a,b);c.g(a)&&(d=b);return this.j(f,d)});u.prototype.S=P(function(a,b,d){var f=this.pc(a,b);c.g(a)&&(d=b);return this.j(f,d)});u.prototype.Ea=P(function(a,b){return this.j(this.yc(a),b)});u.prototype.na=P(function(a,b,d){c.g(a)&&(d=b);return this.j(this.wc(a,b),d)});u.prototype["delete"]=P(function(a){return this.j({$delete:""},a)});u.prototype.remove=P(function(a,b,c){return this.j(this.hc(a,b),c)});u.prototype.j=function(a,b){a.$group_key=this.Ka;a.$group_id=this.Ja;a.$token=this.p("token");
@@ -74,20 +74,20 @@ u.prototype.toString;c.extend(q.prototype,Ra);q.prototype.ba=function(a){this.d=
74
74
  return}return this.append("$transactions",c.extend({$amount:a},b),d)});q.prototype.Eb=function(a){return this.set("$transactions",[],a)};q.prototype.Mb=function(){if(this.La())return this.j({$delete:this.d.L()});o.error("mixpanel.people.delete_user() requires you to call identify() first")};q.prototype.toString=function(){return this.d.toString()+".people"};q.prototype.j=function(a,b){a.$token=this.p("token");a.$distinct_id=this.d.L();var d=this.d.u("$device_id"),f=this.d.u("$user_id"),e=this.d.u("$had_persisted_distinct_id");
75
75
  d&&(a.$device_id=d);f&&(a.$user_id=f);e&&(a.$had_persisted_distinct_id=e);d=c.Ua(a);return!this.La()?(this.Fc(a),c.e(b)||(this.p("verbose")?b({status:-1,error:r}):b(-1)),c.truncate(d,255)):this.d.Na({type:"people",data:d,J:this.p("api_host")+"/"+this.p("api_routes").engage,Pa:this.d.w.hb},b)};q.prototype.p=function(a){return this.d.c(a)};q.prototype.La=function(){return this.d.Z.Rb===l};q.prototype.Fc=function(a){"$set"in a?this.d.persistence.s("$set",a):"$set_once"in a?this.d.persistence.s("$set_once",
76
76
  a):"$unset"in a?this.d.persistence.s("$unset",a):"$add"in a?this.d.persistence.s("$add",a):"$append"in a?this.d.persistence.s("$append",a):"$remove"in a?this.d.persistence.s("$remove",a):"$union"in a?this.d.persistence.s("$union",a):o.error("Invalid call to _enqueue():",a)};q.prototype.$=function(a,b,d,f){var e=this,h=c.extend({},this.d.persistence.ea(a)),v=h;!c.e(h)&&c.g(h)&&!c.Aa(h)&&(e.d.persistence.z(a,h),e.d.persistence.save(),f&&(v=f(h)),b.call(e,v,function(b,f){0===b&&e.d.persistence.s(a,h);
77
- c.e(d)||d(b,f)}))};q.prototype.Gc=function(a,b,d,f,e,h,v){var i=this;this.$("$set",this.set,a);this.$("$set_once",this.S,f);this.$("$unset",this.Ea,h,function(a){return c.keys(a)});this.$("$add",this.Tb,b);this.$("$union",this.na,e);a=this.d.persistence.ea("$append");if(!c.e(a)&&c.isArray(a)&&a.length)for(var j,b=function(a,b){0===a&&i.d.persistence.s("$append",j);c.e(d)||d(a,b)},f=a.length-1;0<=f;f--)a=this.d.persistence.ea("$append"),j=a.pop(),i.d.persistence.save(),c.Aa(j)||i.append(j,b);a=this.d.persistence.ea("$remove");
77
+ c.e(d)||d(b,f)}))};q.prototype.Gc=function(a,b,d,f,e,h,v){var i=this;this.$("$set",this.set,a);this.$("$set_once",this.S,f);this.$("$unset",this.Ea,h,function(a){return c.keys(a)});this.$("$add",this.Tb,b);this.$("$union",this.na,e);a=this.d.persistence.ea("$append");if(!c.e(a)&&c.isArray(a)&&a.length)for(var k,b=function(a,b){0===a&&i.d.persistence.s("$append",k);c.e(d)||d(a,b)},f=a.length-1;0<=f;f--)a=this.d.persistence.ea("$append"),k=a.pop(),i.d.persistence.save(),c.Aa(k)||i.append(k,b);a=this.d.persistence.ea("$remove");
78
78
  if(!c.e(a)&&c.isArray(a)&&a.length)for(var n,b=function(a,b){0===a&&i.d.persistence.s("$remove",n);c.e(v)||v(a,b)},f=a.length-1;0<=f;f--)a=this.d.persistence.ea("$remove"),n=a.pop(),i.d.persistence.save(),c.Aa(n)||i.remove(n,b)};q.prototype.B=function(a){return"$distinct_id"===a||"$token"===a||"$device_id"===a||"$user_id"===a||"$had_persisted_distinct_id"===a};q.prototype.set=q.prototype.set;q.prototype.set_once=q.prototype.S;q.prototype.unset=q.prototype.Ea;q.prototype.increment=q.prototype.Tb;q.prototype.append=
79
79
  q.prototype.append;q.prototype.remove=q.prototype.remove;q.prototype.union=q.prototype.na;q.prototype.track_charge=q.prototype.Ld;q.prototype.clear_charges=q.prototype.Eb;q.prototype.delete_user=q.prototype.Mb;q.prototype.toString=q.prototype.toString;var nb="__mps,__mpso,__mpus,__mpa,__mpap,__mpr,__mpu,$people_distinct_id,__alias,__timers".split(",");m.prototype.ga=function(){var a={};this.load();c.a(this.props,function(b,d){c.ab(nb,d)||(a[d]=b)});return a};m.prototype.load=function(){if(!this.disabled){var a=
80
80
  this.l.parse(this.name);a&&(this.props=c.extend({},a))}};m.prototype.Qd=function(){var a;this.l===c.localStorage?(a=c.cookie.parse(this.name),c.cookie.remove(this.name),c.cookie.remove(this.name,l),a&&this.A(a)):this.l===c.cookie&&(a=c.localStorage.parse(this.name),c.localStorage.remove(this.name),a&&this.A(a))};m.prototype.save=function(){this.disabled||this.l.set(this.name,c.oa(this.props),this.Xa,this.Sa,this.lc,this.Kb,this.ua)};m.prototype.Ca=function(a){this.load();return this.props[a]};m.prototype.remove=
81
81
  function(){this.l.remove(this.name,B,this.ua);this.l.remove(this.name,l,this.ua)};m.prototype.clear=function(){this.remove();this.props={}};m.prototype.A=function(a,b,d){return c.g(a)?("undefined"===typeof b&&(b="None"),this.Xa="undefined"===typeof d?this.Lb:d,this.load(),c.a(a,function(a,c){if(!this.props.hasOwnProperty(c)||this.props[c]===b)this.props[c]=a},this),this.save(),l):B};m.prototype.m=function(a,b){return c.g(a)?(this.Xa="undefined"===typeof b?this.Lb:b,this.load(),c.extend(this.props,
82
82
  a),this.save(),l):B};m.prototype.W=function(a){this.load();a in this.props&&(delete this.props[a],this.save())};m.prototype.Ac=function(a){this.m(c.info.pd(a))};m.prototype.qb=function(a){this.A({$initial_referrer:a||"$direct",$initial_referring_domain:c.info.fc(a)||"$direct"},"")};m.prototype.Zc=function(){return c.la({$initial_referrer:this.props.$initial_referrer,$initial_referring_domain:this.props.$initial_referring_domain})};m.prototype.zc=function(a){this.Lb=this.Xa=a.cookie_expiration;this.oc(a.disable_persistence);
83
83
  this.vd(a.cookie_domain);this.wd(a.cross_site_cookie);this.xd(a.cross_subdomain_cookie);this.Ad(a.secure_cookie)};m.prototype.oc=function(a){(this.disabled=a)?this.remove():this.save()};m.prototype.vd=function(a){if(a!==this.ua)this.remove(),this.ua=a,this.save()};m.prototype.wd=function(a){if(a!==this.Kb)this.Kb=a,this.remove(),this.save()};m.prototype.xd=function(a){if(a!==this.Sa)this.Sa=a,this.remove(),this.save()};m.prototype.Xc=function(){return this.Sa};m.prototype.Ad=function(a){if(a!==this.lc)this.lc=
84
- a?l:B,this.remove(),this.save()};m.prototype.s=function(a,b){var d=this.qa(a),f=b[a],e=this.H("$set"),h=this.H("$set_once"),v=this.H("$unset"),i=this.H("$add"),j=this.H("$union"),n=this.H("$remove",[]),m=this.H("$append",[]);"__mps"===d?(c.extend(e,f),this.z("$add",f),this.z("$union",f),this.z("$unset",f)):"__mpso"===d?(c.a(f,function(a,b){b in h||(h[b]=a)}),this.z("$unset",f)):"__mpus"===d?c.a(f,function(a){c.a([e,h,i,j],function(b){a in b&&delete b[a]});c.a(m,function(b){a in b&&delete b[a]});v[a]=
85
- l}):"__mpa"===d?(c.a(f,function(a,b){b in e?e[b]+=a:(b in i||(i[b]=0),i[b]+=a)},this),this.z("$unset",f)):"__mpu"===d?(c.a(f,function(a,b){c.isArray(a)&&(b in j||(j[b]=[]),j[b]=j[b].concat(a))}),this.z("$unset",f)):"__mpr"===d?(n.push(f),this.z("$append",f)):"__mpap"===d&&(m.push(f),this.z("$unset",f));o.log("MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):");o.log(b);this.save()};m.prototype.z=function(a,b){var d=this.props[this.qa(a)];c.e(d)||c.a(b,function(b,e){"$append"===a||"$remove"===a?
84
+ a?l:B,this.remove(),this.save()};m.prototype.s=function(a,b){var d=this.qa(a),f=b[a],e=this.H("$set"),h=this.H("$set_once"),v=this.H("$unset"),i=this.H("$add"),k=this.H("$union"),n=this.H("$remove",[]),m=this.H("$append",[]);"__mps"===d?(c.extend(e,f),this.z("$add",f),this.z("$union",f),this.z("$unset",f)):"__mpso"===d?(c.a(f,function(a,b){b in h||(h[b]=a)}),this.z("$unset",f)):"__mpus"===d?c.a(f,function(a){c.a([e,h,i,k],function(b){a in b&&delete b[a]});c.a(m,function(b){a in b&&delete b[a]});v[a]=
85
+ l}):"__mpa"===d?(c.a(f,function(a,b){b in e?e[b]+=a:(b in i||(i[b]=0),i[b]+=a)},this),this.z("$unset",f)):"__mpu"===d?(c.a(f,function(a,b){c.isArray(a)&&(b in k||(k[b]=[]),k[b]=k[b].concat(a))}),this.z("$unset",f)):"__mpr"===d?(n.push(f),this.z("$append",f)):"__mpap"===d&&(m.push(f),this.z("$unset",f));o.log("MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):");o.log(b);this.save()};m.prototype.z=function(a,b){var d=this.props[this.qa(a)];c.e(d)||c.a(b,function(b,e){"$append"===a||"$remove"===a?
86
86
  c.a(d,function(a){a[e]===b&&delete a[e]}):delete d[e]},this)};m.prototype.ea=function(a){return this.Ca(this.qa(a))};m.prototype.qa=function(a){if("$set"===a)return"__mps";if("$set_once"===a)return"__mpso";if("$unset"===a)return"__mpus";if("$add"===a)return"__mpa";if("$append"===a)return"__mpap";if("$remove"===a)return"__mpr";if("$union"===a)return"__mpu";o.error("Invalid queue:",a)};m.prototype.H=function(a,b){var d=this.qa(a),b=c.e(b)?{}:b;return this.props[d]||(this.props[d]=b)};m.prototype.yd=
87
87
  function(a){var b=(new Date).getTime(),c=this.Ca("__timers")||{};c[a]=b;this.props.__timers=c;this.save()};m.prototype.md=function(a){var b=(this.Ca("__timers")||{})[a];c.e(b)||(delete this.props.__timers[a],this.save());return b};var ia,x,Q=p.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest,va=!Q&&-1===A.indexOf("MSIE")&&-1===A.indexOf("Mozilla"),ha=r;K.sendBeacon&&(ha=function(){return K.sendBeacon.apply(K,arguments)});var Sa={track:"track/",engage:"engage/",groups:"groups/",record:"record/"},
88
88
  Ta={api_host:"https://api-js.mixpanel.com",api_routes:Sa,api_method:"POST",api_transport:"XHR",api_payload_format:"base64",app_host:"https://mixpanel.com",cdn:"https://cdn.mxpnl.com",cross_site_cookie:B,cross_subdomain_cookie:l,error_reporter:R,persistence:"cookie",persistence_name:"",cookie_domain:"",cookie_name:"",loaded:R,mp_loader:r,track_marketing:l,track_pageview:B,skip_first_touch_marketing:B,store_google:l,stop_utm_persistence:B,save_referrer:l,test:B,verbose:B,img:B,debug:B,track_links_timeout:300,
89
89
  cookie_expiration:365,upgrade:B,disable_persistence:B,disable_cookie:B,secure_cookie:B,ip:l,opt_out_tracking_by_default:B,opt_out_persistence_by_default:B,opt_out_tracking_persistence_type:"localStorage",opt_out_tracking_cookie_prefix:r,property_blacklist:[],xhr_headers:{},ignore_dnt:B,batch_requests:l,batch_size:50,batch_flush_interval_ms:5E3,batch_request_timeout_ms:9E4,batch_autostart:l,hooks:{},record_block_class:/^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$/,record_block_selector:"img, video",
90
- record_collect_fonts:B,record_idle_timeout_ms:18E5,record_mask_text_class:/^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$/,record_mask_text_selector:"*",record_max_ms:864E5,record_min_ms:0,record_sessions_percent:0,recorder_src:"https://cdn.mxpnl.com/libs/mixpanel-recorder.min.js"},ua=B;e.prototype.Q=function(a,b,d){if(c.e(d))this.k("You must name your new library: init(token, config, name)");else if("mixpanel"===d)this.k("You must initialize the main mixpanel object right after you include the Mixpanel js snippet");
90
+ record_canvas:B,record_collect_fonts:B,record_idle_timeout_ms:18E5,record_mask_text_class:/^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$/,record_mask_text_selector:"*",record_max_ms:864E5,record_min_ms:0,record_sessions_percent:0,recorder_src:"https://cdn.mxpnl.com/libs/mixpanel-recorder.min.js"},ua=B;e.prototype.Q=function(a,b,d){if(c.e(d))this.k("You must name your new library: init(token, config, name)");else if("mixpanel"===d)this.k("You must initialize the main mixpanel object right after you include the Mixpanel js snippet");
91
91
  else return a=W(a,b,d),x[d]=a,a.ra(),a};e.prototype.ba=function(a,b,d){b=b||{};this.__loaded=l;this.config={};var e={};"api_payload_format"in b||(b.api_host||Ta.api_host).match(/\.mixpanel\.com/)&&(e.api_payload_format="json");this.nc(c.extend({},Ta,e,b,{name:d,token:a,callback_fn:("mixpanel"===d?d:"mixpanel."+d)+"._jsc"}));this._jsc=R;this.Ga=[];this.Ha=[];this.Fa=[];this.Z={disable_all_events:B,identify_called:B};this.w={};if(this.Y=this.c("batch_requests"))if(!c.localStorage.Ba(l)||!Q)this.Y=B,
92
92
  o.log("Turning off Mixpanel request-queueing; needs XHR and localStorage support"),c.a(this.Pb(),function(a){o.log("Clearing batch queue "+a.ia);c.localStorage.remove(a.ia)});else if(this.bd(),ha&&p.addEventListener){var g=c.bind(function(){this.w.P.ka||this.w.P.flush({xc:l})},this);p.addEventListener("pagehide",function(a){a.persisted&&g()});p.addEventListener("visibilitychange",function(){"hidden"===t.visibilityState&&g()})}this.persistence=this.cookie=new m(this.config);this.V={};this.Hc();a=c.tb();
93
93
  this.L()||this.A({distinct_id:"$device:"+a,$device_id:a},"");(a=this.c("track_pageview"))&&this.Ic(a);0<this.c("record_sessions_percent")&&100*Math.random()<=this.c("record_sessions_percent")&&this.sc()};e.prototype.sc=M(function(){if(p.MutationObserver){var a=c.bind(function(){this.N=this.N||new p.__mp_recorder(this);this.N.startRecording()},this);c.e(p.__mp_recorder)?wa(this.c("recorder_src"),a):a()}else o.D("Browser does not support MutationObserver; skipping session recording")});e.prototype.Ed=
@@ -96,19 +96,19 @@ if(this.c("store_google")&&this.c("stop_utm_persistence")){var a=c.info.ca(r);c.
96
96
  function(a,b){if(this.c("img"))return this.k("You can't use DOM tracking functions with img = true."),B;if(!ua)return this.Ga.push([a,b]),B;var c=(new a).Q(this);return c.o.apply(c,b)};e.prototype.Ic=function(a){var b="";this.ob()&&(b=c.info.Ta());if(c.ab(["full-url","url-with-path-and-query-string","url-with-path"],a)){p.addEventListener("popstate",function(){p.dispatchEvent(new Event("mp_locationchange"))});p.addEventListener("hashchange",function(){p.dispatchEvent(new Event("mp_locationchange"))});
97
97
  var d=p.history.pushState;if("function"===typeof d)p.history.pushState=function(a,b,c){d.call(p.history,a,b,c);p.dispatchEvent(new Event("mp_locationchange"))};var e=p.history.replaceState;if("function"===typeof e)p.history.replaceState=function(a,b,c){e.call(p.history,a,b,c);p.dispatchEvent(new Event("mp_locationchange"))};p.addEventListener("mp_locationchange",function(){var d=c.info.Ta(),e=B;"full-url"===a?e=d!==b:"url-with-path-and-query-string"===a?e=d.split("#")[0]!==b.split("#")[0]:"url-with-path"===
98
98
  a&&(e=d.split("#")[0].split("?")[0]!==b.split("#")[0].split("?")[0]);e&&this.ob()&&(b=d)}.bind(this))}};e.prototype.zb=function(a,b){if(c.e(a))return r;if(Q)return function(c){a(c,b)};var d=this._jsc,e=""+Math.floor(1E8*Math.random()),g=this.c("callback_fn")+"["+e+"]";d[e]=function(c){delete d[e];a(c,b)};return g};e.prototype.j=function(a,b,d,e){var g=l;if(va)return this.Ha.push(arguments),g;var h={method:this.c("api_method"),pb:this.c("api_transport"),Bc:this.c("verbose")},m=r;if(!e&&(c.cb(d)||"string"===
99
- typeof d))e=d,d=r;d=c.extend(h,d||{});if(!Q)d.method="GET";var h="POST"===d.method,i=ha&&h&&"sendbeacon"===d.pb.toLowerCase(),j=d.Bc;b.verbose&&(j=l);this.c("test")&&(b.test=1);j&&(b.verbose=1);this.c("img")&&(b.img=1);if(!Q)if(e)b.callback=e;else if(j||this.c("test"))b.callback="(function(){})";b.ip=this.c("ip")?1:0;b._=(new Date).getTime().toString();h&&(m="data="+encodeURIComponent(b.data),delete b.data);var a=a+("?"+c.sb(b)),n=this;if("img"in b)m=t.createElement("img"),m.src=a,t.body.appendChild(m);
100
- else if(i){try{g=ha(a,m)}catch(p){n.k(p),g=B}try{e&&e(g?1:0)}catch(q){n.k(q)}}else if(Q)try{var o=new XMLHttpRequest;o.open(d.method,a,l);var u=this.c("xhr_headers");h&&(u["Content-Type"]="application/x-www-form-urlencoded");c.a(u,function(a,b){o.setRequestHeader(b,a)});if(d.uc&&"undefined"!==typeof o.timeout){o.timeout=d.uc;var x=(new Date).getTime()}o.withCredentials=l;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){if(e)if(j){var a;try{a=c.X(o.responseText)}catch(b){if(n.k(b),
101
- d.ad)a=o.responseText;else return}e(a)}else e(Number(o.responseText))}else a=o.timeout&&!o.status&&(new Date).getTime()-x>=o.timeout?"timeout":"Bad HTTP status: "+o.status+" "+o.statusText,n.k(a),e&&(j?e({status:0,za:o.status,error:a,jc:(o.responseHeaders||{})["Retry-After"]}):e(0))};o.send(m)}catch(y){n.k(y),g=B}else m=t.createElement("script"),m.type="text/javascript",m.async=l,m.defer=l,m.src=a,u=t.getElementsByTagName("script")[0],u.parentNode.insertBefore(m,u);return g};e.prototype.Ia=function(a){function b(a,
99
+ typeof d))e=d,d=r;d=c.extend(h,d||{});if(!Q)d.method="GET";var h="POST"===d.method,i=ha&&h&&"sendbeacon"===d.pb.toLowerCase(),k=d.Bc;b.verbose&&(k=l);this.c("test")&&(b.test=1);k&&(b.verbose=1);this.c("img")&&(b.img=1);if(!Q)if(e)b.callback=e;else if(k||this.c("test"))b.callback="(function(){})";b.ip=this.c("ip")?1:0;b._=(new Date).getTime().toString();h&&(m="data="+encodeURIComponent(b.data),delete b.data);var a=a+("?"+c.sb(b)),n=this;if("img"in b)m=t.createElement("img"),m.src=a,t.body.appendChild(m);
100
+ else if(i){try{g=ha(a,m)}catch(p){n.k(p),g=B}try{e&&e(g?1:0)}catch(q){n.k(q)}}else if(Q)try{var o=new XMLHttpRequest;o.open(d.method,a,l);var u=this.c("xhr_headers");h&&(u["Content-Type"]="application/x-www-form-urlencoded");c.a(u,function(a,b){o.setRequestHeader(b,a)});if(d.uc&&"undefined"!==typeof o.timeout){o.timeout=d.uc;var x=(new Date).getTime()}o.withCredentials=l;o.onreadystatechange=function(){if(4===o.readyState)if(200===o.status){if(e)if(k){var a;try{a=c.X(o.responseText)}catch(b){if(n.k(b),
101
+ d.ad)a=o.responseText;else return}e(a)}else e(Number(o.responseText))}else a=o.timeout&&!o.status&&(new Date).getTime()-x>=o.timeout?"timeout":"Bad HTTP status: "+o.status+" "+o.statusText,n.k(a),e&&(k?e({status:0,za:o.status,error:a,jc:(o.responseHeaders||{})["Retry-After"]}):e(0))};o.send(m)}catch(y){n.k(y),g=B}else m=t.createElement("script"),m.type="text/javascript",m.async=l,m.defer=l,m.src=a,u=t.getElementsByTagName("script")[0],u.parentNode.insertBefore(m,u);return g};e.prototype.Ia=function(a){function b(a,
102
102
  b){c.a(a,function(a){if(c.isArray(a[0])){var d=b;c.a(a,function(a){d=d[a[0]].apply(d,a.slice(1))})}else this[a[0]].apply(this,a.slice(1))},b)}var d,e=[],g=[],h=[];c.a(a,function(a){a&&(d=a[0],c.isArray(d)?h.push(a):"function"===typeof a?a.call(this):c.isArray(a)&&"alias"===d?e.push(a):c.isArray(a)&&-1!==d.indexOf("track")&&"function"===typeof this[d]?h.push(a):g.push(a))},this);b(e,this);b(g,this);b(h,this)};e.prototype.Db=function(){return!!this.w.P};e.prototype.Pb=function(){var a="__mpq_"+this.c("token"),
103
103
  b=this.c("api_routes");return this.ub=this.ub||{P:{type:"events",J:"/"+b.track,ia:a+"_ev"},hb:{type:"people",J:"/"+b.engage,ia:a+"_pp"},Za:{type:"groups",J:"/"+b.groups,ia:a+"_gr"}}};e.prototype.bd=function(){if(!this.Db()){var a=c.bind(function(a){return new D(a.ia,{F:this.config,O:this.c("error_reporter"),sd:c.bind(function(b,c,e){this.j(this.c("api_host")+a.J,this.wb(b),c,this.zb(e,b))},this),sa:c.bind(function(b){return this.Bb("before_send_"+a.type,b)},this),Dd:c.bind(this.mb,this),q:l})},this),
104
104
  b=this.Pb();this.w={P:a(b.P),hb:a(b.hb),Za:a(b.Za)}}this.c("batch_autostart")&&this.lb()};e.prototype.lb=function(){this.Cc=l;if(this.Db())this.Y=l,c.a(this.w,function(a){a.start()})};e.prototype.mb=function(){this.Y=B;c.a(this.w,function(a){a.stop();a.clear()})};e.prototype.push=function(a){this.Ia([a])};e.prototype.disable=function(a){"undefined"===typeof a?this.Z.Pc=l:this.Fa=this.Fa.concat(a)};e.prototype.wb=function(a){a=c.oa(a);"base64"===this.c("api_payload_format")&&(a=c.Mc(a));return{data:a}};
105
- e.prototype.Na=function(a,b){var d=c.truncate(a.data,255),e=a.J,g=a.Pa,h=a.Bd,m=a.ud||{},b=b||R,i=l,j=c.bind(function(){m.rc||(d=this.Bb("before_send_"+a.type,d));return d?(o.log("MIXPANEL REQUEST:"),o.log(d),this.j(e,this.wb(d),m,this.zb(b,d))):r},this);this.Y&&!h?g.Va(d).then(function(a){a?b(1,d):j()}):i=j();return i&&d};e.prototype.o=M(function(a,b,d,e){!e&&"function"===typeof d&&(e=d,d=r);var d=d||{},g=d.transport;if(g)d.pb=g;g=d.send_immediately;"function"!==typeof e&&(e=R);if(c.e(a))this.k("No event name provided to mixpanel.track");
105
+ e.prototype.Na=function(a,b){var d=c.truncate(a.data,255),e=a.J,g=a.Pa,h=a.Bd,m=a.ud||{},b=b||R,i=l,k=c.bind(function(){m.rc||(d=this.Bb("before_send_"+a.type,d));return d?(o.log("MIXPANEL REQUEST:"),o.log(d),this.j(e,this.wb(d),m,this.zb(b,d))):r},this);this.Y&&!h?g.Va(d).then(function(a){a?b(1,d):k()}):i=k();return i&&d};e.prototype.o=M(function(a,b,d,e){!e&&"function"===typeof d&&(e=d,d=r);var d=d||{},g=d.transport;if(g)d.pb=g;g=d.send_immediately;"function"!==typeof e&&(e=R);if(c.e(a))this.k("No event name provided to mixpanel.track");
106
106
  else if(this.xb(a))e(0);else{b=c.extend({},b);b.token=this.c("token");var h=this.persistence.md(a);c.e(h)||(b.$duration=parseFloat((((new Date).getTime()-h)/1E3).toFixed(3)));this.Cb();h=this.c("track_marketing")?c.info.fd():{};b=c.extend({},c.info.ga({mp_loader:this.c("mp_loader")}),h,this.persistence.ga(),this.V,this.Qb(),b);h=this.c("property_blacklist");c.isArray(h)?c.a(h,function(a){delete b[a]}):this.k("Invalid value for property_blacklist config: "+h);return this.Na({type:"events",data:{event:a,
107
- properties:b},J:this.c("api_host")+"/"+this.c("api_routes").track,Pa:this.w.P,Bd:g,ud:d},e)}});e.prototype.zd=M(function(a,b,d){c.isArray(b)||(b=[b]);var e={};e[a]=b;this.m(e);return this.people.set(a,b,d)});e.prototype.Jc=M(function(a,b,c){var e=this.u(a),g={};e===k?(g[a]=[b],this.m(g)):-1===e.indexOf(b)&&(e.push(b),g[a]=e,this.m(g));return this.people.na(a,b,c)});e.prototype.nd=M(function(a,b,c){var e=this.u(a);if(e!==k){var g=e.indexOf(b);-1<g&&(e.splice(g,1),this.m({Wd:e}));0===e.length&&this.W(a)}return this.people.remove(a,
108
- b,c)});e.prototype.Od=M(function(a,b,d,e){var g=c.extend({},b||{});c.a(d,function(a,b){a!==r&&a!==k&&(g[b]=a)});return this.o(a,g,e)});e.prototype.Dc=function(a,b){return a+"_"+JSON.stringify(b)};e.prototype.Yc=function(a,b){var c=this.Dc(a,b),e=this.vb[c];if(e===k||e.Ka!==a||e.Ja!==b)e=new u,e.ba(this,a,b),this.vb[c]=e;return e};e.prototype.ob=M(function(a,b){"object"!==typeof a&&(a={});var b=b||{},d=b.event_name||"$mp_web_page_view",e=c.extend(c.info.gd(),c.info.ca(),c.info.Gb()),e=c.extend({},
107
+ properties:b},J:this.c("api_host")+"/"+this.c("api_routes").track,Pa:this.w.P,Bd:g,ud:d},e)}});e.prototype.zd=M(function(a,b,d){c.isArray(b)||(b=[b]);var e={};e[a]=b;this.m(e);return this.people.set(a,b,d)});e.prototype.Jc=M(function(a,b,c){var e=this.u(a),g={};e===j?(g[a]=[b],this.m(g)):-1===e.indexOf(b)&&(e.push(b),g[a]=e,this.m(g));return this.people.na(a,b,c)});e.prototype.nd=M(function(a,b,c){var e=this.u(a);if(e!==j){var g=e.indexOf(b);-1<g&&(e.splice(g,1),this.m({Wd:e}));0===e.length&&this.W(a)}return this.people.remove(a,
108
+ b,c)});e.prototype.Od=M(function(a,b,d,e){var g=c.extend({},b||{});c.a(d,function(a,b){a!==r&&a!==j&&(g[b]=a)});return this.o(a,g,e)});e.prototype.Dc=function(a,b){return a+"_"+JSON.stringify(b)};e.prototype.Yc=function(a,b){var c=this.Dc(a,b),e=this.vb[c];if(e===j||e.Ka!==a||e.Ja!==b)e=new u,e.ba(this,a,b),this.vb[c]=e;return e};e.prototype.ob=M(function(a,b){"object"!==typeof a&&(a={});var b=b||{},d=b.event_name||"$mp_web_page_view",e=c.extend(c.info.gd(),c.info.ca(),c.info.Gb()),e=c.extend({},
109
109
  e,a);return this.o(d,e)});e.prototype.Nd=function(){return this.Ma.call(this,O,arguments)};e.prototype.Md=function(){return this.Ma.call(this,X,arguments)};e.prototype.Hd=function(a){c.e(a)?this.k("No event name provided to mixpanel.time_event"):this.xb(a)||this.persistence.yd(a)};var Xa={persistent:l};e.prototype.m=function(a,b){var d=ja(b);d.persistent?this.persistence.m(a,d.days):c.extend(this.V,a)};e.prototype.A=function(a,b,d){d=ja(d);d.persistent?this.persistence.A(a,b,d.days):("undefined"===
110
- typeof b&&(b="None"),c.a(a,function(a,c){if(!this.V.hasOwnProperty(c)||this.V[c]===b)this.V[c]=a},this))};e.prototype.W=function(a,b){b=ja(b);b.persistent?this.persistence.W(a):delete this.V[a]};e.prototype.Ab=function(a,b){var c={};c[a]=b;this.m(c)};e.prototype.$a=function(a,b,c,e,g,h,m,i){var j=this.L();if(a&&j!==a){if("string"===typeof a&&0===a.indexOf("$device:"))return this.k("distinct_id cannot have $device: prefix"),-1;this.m({$user_id:a})}this.u("$device_id")||this.A({$had_persisted_distinct_id:l,
111
- $device_id:j},"");a!==j&&a!==this.u("__alias")&&(this.W("__alias"),this.m({distinct_id:a}));this.Z.Rb=l;this.people.Gc(b,c,e,g,h,m,i);a!==j&&this.o("$identify",{distinct_id:a,$anon_distinct_id:j},{rc:l})};e.prototype.reset=function(){this.persistence.clear();this.Z.Rb=B;var a=c.tb();this.A({distinct_id:"$device:"+a,$device_id:a},"")};e.prototype.L=function(){return this.u("distinct_id")};e.prototype.Kc=function(a,b){if(a===this.u("$people_distinct_id"))return this.k("Attempting to create alias for existing People user - aborting."),
110
+ typeof b&&(b="None"),c.a(a,function(a,c){if(!this.V.hasOwnProperty(c)||this.V[c]===b)this.V[c]=a},this))};e.prototype.W=function(a,b){b=ja(b);b.persistent?this.persistence.W(a):delete this.V[a]};e.prototype.Ab=function(a,b){var c={};c[a]=b;this.m(c)};e.prototype.$a=function(a,b,c,e,g,h,m,i){var k=this.L();if(a&&k!==a){if("string"===typeof a&&0===a.indexOf("$device:"))return this.k("distinct_id cannot have $device: prefix"),-1;this.m({$user_id:a})}this.u("$device_id")||this.A({$had_persisted_distinct_id:l,
111
+ $device_id:k},"");a!==k&&a!==this.u("__alias")&&(this.W("__alias"),this.m({distinct_id:a}));this.Z.Rb=l;this.people.Gc(b,c,e,g,h,m,i);a!==k&&this.o("$identify",{distinct_id:a,$anon_distinct_id:k},{rc:l})};e.prototype.reset=function(){this.persistence.clear();this.Z.Rb=B;var a=c.tb();this.A({distinct_id:"$device:"+a,$device_id:a},"")};e.prototype.L=function(){return this.u("distinct_id")};e.prototype.Kc=function(a,b){if(a===this.u("$people_distinct_id"))return this.k("Attempting to create alias for existing People user - aborting."),
112
112
  -2;var d=this;c.e(b)&&(b=this.L());if(a!==b)return this.Ab("__alias",a),this.o("$create_alias",{alias:a,distinct_id:b},{rc:l},function(){d.$a(a)});this.k("alias matches current distinct_id - skipping api call.");this.$a(a);return-1};e.prototype.hd=function(a){this.Ab("mp_name_tag",a)};e.prototype.nc=function(a){if(c.g(a))c.extend(this.config,a),a.batch_size&&c.a(this.w,function(a){a.ic()}),this.c("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.c("disable_persistence")||
113
113
  (this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.zc(this.config),L=L||this.c("debug")};e.prototype.c=function(a){return this.config[a]};e.prototype.Bb=function(a){var b=(this.config.hooks[a]||Ya).apply(this,N.call(arguments,1));"undefined"===typeof b&&(this.k(a+" hook did not return a value"),b=r);return b};e.prototype.u=function(a){return this.persistence.Ca([a])};e.prototype.toString=function(){var a=this.c("name");"mixpanel"!==a&&(a="mixpanel."+a);
114
114
  return a};e.prototype.xb=function(a){return c.Vb(A)||this.Z.Pc||c.ab(this.Fa,a)};e.prototype.Hc=function(){"localStorage"===this.c("opt_out_tracking_persistence_type")&&c.localStorage.Ba()&&(!this.ya()&&this.ya({persistence_type:"cookie"})&&this.Zb({enable_persistence:B}),!this.da()&&this.da({persistence_type:"cookie"})&&this.gb({clear_persistence:B}),this.Fb({persistence_type:"cookie",enable_persistence:B}));if(this.da())this.pa({clear_persistence:l});else if(!this.ya()&&(this.c("opt_out_tracking_by_default")||
@@ -4507,7 +4507,7 @@ var IncrementalSource = /* @__PURE__ */ ((IncrementalSource2) => {
4507
4507
 
4508
4508
  var Config = {
4509
4509
  DEBUG: false,
4510
- LIB_VERSION: '2.57.1'
4510
+ LIB_VERSION: '2.58.0'
4511
4511
  };
4512
4512
 
4513
4513
  // since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
@@ -7838,6 +7838,7 @@ var SessionRecording = function(options) {
7838
7838
 
7839
7839
  this.seqNo = 0;
7840
7840
  this.replayStartTime = null;
7841
+ this.replayStartUrl = null;
7841
7842
  this.batchStartUrl = null;
7842
7843
 
7843
7844
  this.idleTimeoutId = null;
@@ -7889,6 +7890,7 @@ SessionRecording.prototype.startRecording = function (shouldStopBatcher) {
7889
7890
 
7890
7891
  this.replayStartTime = new Date().getTime();
7891
7892
  this.batchStartUrl = _.info.currentUrl();
7893
+ this.replayStartUrl = _.info.currentUrl();
7892
7894
 
7893
7895
  if (shouldStopBatcher || this.recordMinMs > 0) {
7894
7896
  // the primary case for shouldStopBatcher is when we're starting recording after a reset
@@ -7925,9 +7927,17 @@ SessionRecording.prototype.startRecording = function (shouldStopBatcher) {
7925
7927
  'blockClass': this.getConfig('record_block_class'),
7926
7928
  'blockSelector': blockSelector,
7927
7929
  'collectFonts': this.getConfig('record_collect_fonts'),
7930
+ 'dataURLOptions': { // canvas image options (https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL)
7931
+ 'type': 'image/webp',
7932
+ 'quality': 0.6
7933
+ },
7928
7934
  'maskAllInputs': true,
7929
7935
  'maskTextClass': this.getConfig('record_mask_text_class'),
7930
- 'maskTextSelector': this.getConfig('record_mask_text_selector')
7936
+ 'maskTextSelector': this.getConfig('record_mask_text_selector'),
7937
+ 'recordCanvas': this.getConfig('record_canvas'),
7938
+ 'sampling': {
7939
+ 'canvas': 15
7940
+ }
7931
7941
  });
7932
7942
 
7933
7943
  if (typeof this._stopRecording !== 'function') {
@@ -8045,6 +8055,7 @@ SessionRecording.prototype._flushEvents = addOptOutCheckMixpanelLib(function (da
8045
8055
  'replay_id': replayId,
8046
8056
  'replay_length_ms': replayLengthMs,
8047
8057
  'replay_start_time': this.replayStartTime / 1000,
8058
+ 'replay_start_url': this.replayStartUrl,
8048
8059
  'seq': this.seqNo
8049
8060
  };
8050
8061
  var eventsJson = _.JSONEncode(data);
@@ -9617,6 +9628,7 @@ var DEFAULT_CONFIG = {
9617
9628
  'hooks': {},
9618
9629
  'record_block_class': new RegExp('^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$'),
9619
9630
  'record_block_selector': 'img, video',
9631
+ 'record_canvas': false,
9620
9632
  'record_collect_fonts': false,
9621
9633
  'record_idle_timeout_ms': 30 * 60 * 1000, // 30 minutes
9622
9634
  'record_mask_text_class': new RegExp('^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$'),
@@ -4513,7 +4513,7 @@
4513
4513
 
4514
4514
  var Config = {
4515
4515
  DEBUG: false,
4516
- LIB_VERSION: '2.57.1'
4516
+ LIB_VERSION: '2.58.0'
4517
4517
  };
4518
4518
 
4519
4519
  // since es6 imports are static and we run unit tests from the console, window won't be defined when importing this file
@@ -7844,6 +7844,7 @@
7844
7844
 
7845
7845
  this.seqNo = 0;
7846
7846
  this.replayStartTime = null;
7847
+ this.replayStartUrl = null;
7847
7848
  this.batchStartUrl = null;
7848
7849
 
7849
7850
  this.idleTimeoutId = null;
@@ -7895,6 +7896,7 @@
7895
7896
 
7896
7897
  this.replayStartTime = new Date().getTime();
7897
7898
  this.batchStartUrl = _.info.currentUrl();
7899
+ this.replayStartUrl = _.info.currentUrl();
7898
7900
 
7899
7901
  if (shouldStopBatcher || this.recordMinMs > 0) {
7900
7902
  // the primary case for shouldStopBatcher is when we're starting recording after a reset
@@ -7931,9 +7933,17 @@
7931
7933
  'blockClass': this.getConfig('record_block_class'),
7932
7934
  'blockSelector': blockSelector,
7933
7935
  'collectFonts': this.getConfig('record_collect_fonts'),
7936
+ 'dataURLOptions': { // canvas image options (https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL)
7937
+ 'type': 'image/webp',
7938
+ 'quality': 0.6
7939
+ },
7934
7940
  'maskAllInputs': true,
7935
7941
  'maskTextClass': this.getConfig('record_mask_text_class'),
7936
- 'maskTextSelector': this.getConfig('record_mask_text_selector')
7942
+ 'maskTextSelector': this.getConfig('record_mask_text_selector'),
7943
+ 'recordCanvas': this.getConfig('record_canvas'),
7944
+ 'sampling': {
7945
+ 'canvas': 15
7946
+ }
7937
7947
  });
7938
7948
 
7939
7949
  if (typeof this._stopRecording !== 'function') {
@@ -8051,6 +8061,7 @@
8051
8061
  'replay_id': replayId,
8052
8062
  'replay_length_ms': replayLengthMs,
8053
8063
  'replay_start_time': this.replayStartTime / 1000,
8064
+ 'replay_start_url': this.replayStartUrl,
8054
8065
  'seq': this.seqNo
8055
8066
  };
8056
8067
  var eventsJson = _.JSONEncode(data);
@@ -9623,6 +9634,7 @@
9623
9634
  'hooks': {},
9624
9635
  'record_block_class': new RegExp('^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$'),
9625
9636
  'record_block_selector': 'img, video',
9637
+ 'record_canvas': false,
9626
9638
  'record_collect_fonts': false,
9627
9639
  'record_idle_timeout_ms': 30 * 60 * 1000, // 30 minutes
9628
9640
  'record_mask_text_class': new RegExp('^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mixpanel-browser",
3
- "version": "2.57.1",
3
+ "version": "2.58.0",
4
4
  "description": "The official Mixpanel JavaScript browser client library",
5
5
  "main": "dist/mixpanel.cjs.js",
6
6
  "module": "dist/mixpanel.module.js",
package/src/config.js CHANGED
@@ -1,6 +1,6 @@
1
1
  var Config = {
2
2
  DEBUG: false,
3
- LIB_VERSION: '2.57.1'
3
+ LIB_VERSION: '2.58.0'
4
4
  };
5
5
 
6
6
  export default Config;
@@ -147,6 +147,7 @@ var DEFAULT_CONFIG = {
147
147
  'hooks': {},
148
148
  'record_block_class': new RegExp('^(mp-block|fs-exclude|amp-block|rr-block|ph-no-capture)$'),
149
149
  'record_block_selector': 'img, video',
150
+ 'record_canvas': false,
150
151
  'record_collect_fonts': false,
151
152
  'record_idle_timeout_ms': 30 * 60 * 1000, // 30 minutes
152
153
  'record_mask_text_class': new RegExp('^(mp-mask|fs-mask|amp-mask|rr-mask|ph-mask)$'),