(function(scope){ var CryptoJS=CryptoJS||function(o){function t(){}var e={},n=e.lib={},i=n.Base={extend:function(e){t.prototype=this;var n=new t;return e&&n.mixIn(e),n.hasOwnProperty("init")||(n.init=function(){n.$super.init.apply(this,arguments)}),(n.init.prototype=n).$super=this,n},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var n in e)e.hasOwnProperty(n)&&(this[n]=e[n]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},d=n.WordArray=i.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=null!=n?n:4*e.length},toString:function(e){return(e||s).stringify(this)},concat:function(e){var n=this.words,t=e.words,i=this.sigBytes;if(e=e.sigBytes,this.clamp(),i%4)for(var r=0;r>>2]|=(t[r>>>2]>>>24-r%4*8&255)<<24-(i+r)%4*8;else if(65535>>2]=t[r>>>2];else n.push.apply(n,t);return this.sigBytes+=e,this},clamp:function(){var e=this.words,n=this.sigBytes;e[n>>>2]&=4294967295<<32-n%4*8,e.length=o.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var n=[],t=0;t>>2]>>>24-i%4*8&255;t.push((r>>>4).toString(16)),t.push((15&r).toString(16))}return t.join("")},parse:function(e){for(var n=e.length,t=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new d.init(t,n/2)}},a=r.Latin1={stringify:function(e){var n=e.words;e=e.sigBytes;for(var t=[],i=0;i>>2]>>>24-i%4*8&255));return t.join("")},parse:function(e){for(var n=e.length,t=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new d.init(t,n)}},l=r.Utf8={stringify:function(e){try{return decodeURIComponent(escape(a.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return a.parse(unescape(encodeURIComponent(e)))}},u=n.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var n=this._data,t=n.words,i=n.sigBytes,r=this.blockSize,s=i/(4*r);if(e=(s=e?o.ceil(s):o.max((0|s)-this._minBufferSize,0))*r,i=o.min(4*e,i),e){for(var a=0;a>>7)^(v<<14|v>>>18)^v>>>3)+m[c-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+m[c-16]}v=u+((o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25))+(o&d^~o&l)+f[c]+m[c],g=((i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22))+(i&r^i&s^r&s),u=l,l=d,d=o,o=a+v|0,a=s,s=r,r=i,i=v+g|0}t[0]=t[0]+i|0,t[1]=t[1]+r|0,t[2]=t[2]+s|0,t[3]=t[3]+a|0,t[4]=t[4]+o|0,t[5]=t[5]+d|0,t[6]=t[6]+l|0,t[7]=t[7]+u|0},_doFinalize:function(){var e=this._data,n=e.words,t=8*this._nDataBytes,i=8*e.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(64+i>>>9<<4)]=r.floor(t/4294967296),n[15+(64+i>>>9<<4)]=t,e.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});n.SHA256=i._createHelper(s),n.HmacSHA256=i._createHmacHelper(s)}(Math),function(){var l=CryptoJS.enc.Utf8;CryptoJS.algo.HMAC=CryptoJS.lib.Base.extend({init:function(e,n){e=this._hasher=new e.init,"string"==typeof n&&(n=l.parse(n));var t=e.blockSize,i=4*t;n.sigBytes>i&&(n=e.finalize(n)),n.clamp();for(var r=this._oKey=n.clone(),s=this._iKey=n.clone(),a=r.words,o=s.words,d=0;d>>2]>>>24-r%4*8&255)<<16|(n[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|n[r+2>>>2]>>>24-(r+2)%4*8&255,a=0;a<4&&r+.75*a>>6*(3-a)&63));if(n=i.charAt(64))for(;e.length%4;)e.push(n);return e.join("")},parse:function(e){var n=e.length,t=this._map;!(i=t.charAt(64))||-1!=(i=e.indexOf(i))&&(n=i);for(var i=[],r=0,s=0;s>>6-s%4*2;i[r>>>2]|=(a|o)<<24-r%4*8,r++}return d.create(i,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(e){var n,t,i,r,s,a,o,d,l,u,c,v,g;(n=e.EGAErrorSeverity||(e.EGAErrorSeverity={}))[n.Undefined=0]="Undefined",n[n.Debug=1]="Debug",n[n.Info=2]="Info",n[n.Warning=3]="Warning",n[n.Error=4]="Error",n[n.Critical=5]="Critical",(t=e.EGAProgressionStatus||(e.EGAProgressionStatus={}))[t.Undefined=0]="Undefined",t[t.Start=1]="Start",t[t.Complete=2]="Complete",t[t.Fail=3]="Fail",(i=e.EGAResourceFlowType||(e.EGAResourceFlowType={}))[i.Undefined=0]="Undefined",i[i.Source=1]="Source",i[i.Sink=2]="Sink",(r=e.EGAAdAction||(e.EGAAdAction={}))[r.Undefined=0]="Undefined",r[r.Clicked=1]="Clicked",r[r.Show=2]="Show",r[r.FailedShow=3]="FailedShow",r[r.RewardReceived=4]="RewardReceived",(s=e.EGAAdError||(e.EGAAdError={}))[s.Undefined=0]="Undefined",s[s.Unknown=1]="Unknown",s[s.Offline=2]="Offline",s[s.NoFill=3]="NoFill",s[s.InternalError=4]="InternalError",s[s.InvalidRequest=5]="InvalidRequest",s[s.UnableToPrecache=6]="UnableToPrecache",(a=e.EGAAdType||(e.EGAAdType={}))[a.Undefined=0]="Undefined",a[a.Video=1]="Video",a[a.RewardedVideo=2]="RewardedVideo",a[a.Playable=3]="Playable",a[a.Interstitial=4]="Interstitial",a[a.OfferWall=5]="OfferWall",a[a.Banner=6]="Banner",o=e.http||(e.http={}),(d=o.EGAHTTPApiResponse||(o.EGAHTTPApiResponse={}))[d.NoResponse=0]="NoResponse",d[d.BadResponse=1]="BadResponse",d[d.RequestTimeout=2]="RequestTimeout",d[d.JsonEncodeFailed=3]="JsonEncodeFailed",d[d.JsonDecodeFailed=4]="JsonDecodeFailed",d[d.InternalServerError=5]="InternalServerError",d[d.BadRequest=6]="BadRequest",d[d.Unauthorized=7]="Unauthorized",d[d.UnknownResponseCode=8]="UnknownResponseCode",d[d.Ok=9]="Ok",d[d.Created=10]="Created",l=e.events||(e.events={}),(u=l.EGASdkErrorCategory||(l.EGASdkErrorCategory={}))[u.Undefined=0]="Undefined",u[u.EventValidation=1]="EventValidation",u[u.Database=2]="Database",u[u.Init=3]="Init",u[u.Http=4]="Http",u[u.Json=5]="Json",(c=l.EGASdkErrorArea||(l.EGASdkErrorArea={}))[c.Undefined=0]="Undefined",c[c.BusinessEvent=1]="BusinessEvent",c[c.ResourceEvent=2]="ResourceEvent",c[c.ProgressionEvent=3]="ProgressionEvent",c[c.DesignEvent=4]="DesignEvent",c[c.ErrorEvent=5]="ErrorEvent",c[c.InitHttp=9]="InitHttp",c[c.EventsHttp=10]="EventsHttp",c[c.ProcessEvents=11]="ProcessEvents",c[c.AddEventsToStore=12]="AddEventsToStore",c[c.AdEvent=20]="AdEvent",(v=l.EGASdkErrorAction||(l.EGASdkErrorAction={}))[v.Undefined=0]="Undefined",v[v.InvalidCurrency=1]="InvalidCurrency",v[v.InvalidShortString=2]="InvalidShortString",v[v.InvalidEventPartLength=3]="InvalidEventPartLength",v[v.InvalidEventPartCharacters=4]="InvalidEventPartCharacters",v[v.InvalidStore=5]="InvalidStore",v[v.InvalidFlowType=6]="InvalidFlowType",v[v.StringEmptyOrNull=7]="StringEmptyOrNull",v[v.NotFoundInAvailableCurrencies=8]="NotFoundInAvailableCurrencies",v[v.InvalidAmount=9]="InvalidAmount",v[v.NotFoundInAvailableItemTypes=10]="NotFoundInAvailableItemTypes",v[v.WrongProgressionOrder=11]="WrongProgressionOrder",v[v.InvalidEventIdLength=12]="InvalidEventIdLength",v[v.InvalidEventIdCharacters=13]="InvalidEventIdCharacters",v[v.InvalidProgressionStatus=15]="InvalidProgressionStatus",v[v.InvalidSeverity=16]="InvalidSeverity",v[v.InvalidLongString=17]="InvalidLongString",v[v.DatabaseTooLarge=18]="DatabaseTooLarge",v[v.DatabaseOpenOrCreate=19]="DatabaseOpenOrCreate",v[v.JsonError=25]="JsonError",v[v.FailHttpJsonDecode=29]="FailHttpJsonDecode",v[v.FailHttpJsonEncode=30]="FailHttpJsonEncode",v[v.InvalidAdAction=31]="InvalidAdAction",v[v.InvalidAdType=32]="InvalidAdType",v[v.InvalidString=33]="InvalidString",(g=l.EGASdkErrorParameter||(l.EGASdkErrorParameter={}))[g.Undefined=0]="Undefined",g[g.Currency=1]="Currency",g[g.CartType=2]="CartType",g[g.ItemType=3]="ItemType",g[g.ItemId=4]="ItemId",g[g.Store=5]="Store",g[g.FlowType=6]="FlowType",g[g.Amount=7]="Amount",g[g.Progression01=8]="Progression01",g[g.Progression02=9]="Progression02",g[g.Progression03=10]="Progression03",g[g.EventId=11]="EventId",g[g.ProgressionStatus=12]="ProgressionStatus",g[g.Severity=13]="Severity",g[g.Message=14]="Message",g[g.AdAction=15]="AdAction",g[g.AdType=16]="AdType",g[g.AdSdkName=17]="AdSdkName",g[g.AdPlacement=18]="AdPlacement"}(gameanalytics=gameanalytics||{});var gameanalytics,EGAErrorSeverity=gameanalytics.EGAErrorSeverity,EGAProgressionStatus=gameanalytics.EGAProgressionStatus,EGAResourceFlowType=gameanalytics.EGAResourceFlowType;!function(e){!function(e){var t,n;(n=t=t||{})[n.Error=0]="Error",n[n.Warning=1]="Warning",n[n.Info=2]="Info",n[n.Debug=3]="Debug";var i=(r.setInfoLog=function(e){r.instance.infoLogEnabled=e},r.setVerboseLog=function(e){r.instance.infoLogVerboseEnabled=e},r.i=function(e){if(r.instance.infoLogEnabled){var n="Info/"+r.Tag+": "+e;r.instance.sendNotificationMessage(n,t.Info)}},r.w=function(e){var n="Warning/"+r.Tag+": "+e;r.instance.sendNotificationMessage(n,t.Warning)},r.e=function(e){var n="Error/"+r.Tag+": "+e;r.instance.sendNotificationMessage(n,t.Error)},r.ii=function(e){if(r.instance.infoLogVerboseEnabled){var n="Verbose/"+r.Tag+": "+e;r.instance.sendNotificationMessage(n,t.Info)}},r.d=function(e){if(r.debugEnabled){var n="Debug/"+r.Tag+": "+e;r.instance.sendNotificationMessage(n,t.Debug)}},r.prototype.sendNotificationMessage=function(e,n){switch(n){case t.Error:console.error(e);break;case t.Warning:console.warn(e);break;case t.Debug:"function"==typeof console.debug?console.debug(e):console.log(e);break;case t.Info:console.log(e)}},r.instance=new r,r.Tag="GameAnalytics",r);function r(){r.debugEnabled=!1}e.GALogger=i}(e.logging||(e.logging={}))}(gameanalytics=gameanalytics||{}),function(e){var n,l,t;function u(){}n=e.utilities||(e.utilities={}),l=e.logging.GALogger,u.getHmac=function(e,n){var t=CryptoJS.HmacSHA256(n,e);return CryptoJS.enc.Base64.stringify(t)},u.stringMatch=function(e,n){return!(!e||!n)&&n.test(e)},u.joinStringArray=function(e,n){for(var t="",i=0,r=e.length;i>2,r=(3&n)<<4|(t=e.charCodeAt(l++))>>4,s=(15&t)<<2|(o=e.charCodeAt(l++))>>6,d=63&o,isNaN(t)?s=d=64:isNaN(o)&&(d=64),a=a+u.keyStr.charAt(i)+u.keyStr.charAt(r)+u.keyStr.charAt(s)+u.keyStr.charAt(d),n=t=o=0,i=r=s=d=0,le)return d.w(s+" validation failed: array cannot exceed "+e+" values. It has "+r.length+" values."),!1;for(var a=0;av.MaxNumberOfEntries},v.select=function(e,n,t,i){void 0===n&&(n=[]),void 0===t&&(t=!1),void 0===i&&(i=0);var r=v.getStore(e);if(!r)return null;for(var s=[],a=0;ai&&(s=s.slice(0,i+1)),s},v.update=function(e,n,t){void 0===t&&(t=[]);var i=v.getStore(e);if(!i)return!1;for(var r=0;r=l.MaxCount)){var s=o.getHmac(i,t),a=new XMLHttpRequest;a.onreadystatechange=function(){if(4===a.readyState){if(!a.responseText)return;if(200!=a.status)return void d.w("sdk error failed. response code not 200. status code: "+a.status+", description: "+a.statusText+", body: "+a.responseText);l.countMap[n]=l.countMap[n]+1}},a.open("POST",e,!0),a.setRequestHeader("Content-Type","application/json"),a.setRequestHeader("Authorization",s);try{a.send(t)}catch(e){console.error(e)}}},l.MaxCount=10,l.countMap={},l.timestampMap={},t=l,n.SdkErrorTask=t}(gameanalytics=gameanalytics||{}),function(e){var u,p,S,c,h,A,v,g,f,m,n;function y(){this.protocol="https",this.hostName="api.gameanalytics.com",this.version="v2",this.remoteConfigsVersion="v1",this.baseUrl=this.protocol+"://"+this.hostName+"/"+this.version,this.remoteConfigsBaseUrl=this.protocol+"://"+this.hostName+"/remote_configs/"+this.remoteConfigsVersion,this.initializeUrlPath="init",this.eventsUrlPath="events",this.useGzip=!1}u=e.http||(e.http={}),p=e.state.GAState,S=e.logging.GALogger,c=e.utilities.GAUtilities,h=e.validators.GAValidator,A=e.tasks.SdkErrorTask,v=e.events.EGASdkErrorCategory,g=e.events.EGASdkErrorArea,f=e.events.EGASdkErrorAction,m=e.events.EGASdkErrorParameter,y.prototype.requestInit=function(e,n){var t=p.getGameKey(),i=this.remoteConfigsBaseUrl+"/"+this.initializeUrlPath+"?game_key="+t+"&interval_seconds=0&configs_hash="+e,r=p.getInitAnnotations(),s=JSON.stringify(r);if(s){var a=this.createPayloadData(s,this.useGzip),o=[];o.push(s),y.sendRequest(i,a,o,this.useGzip,y.initRequestCallback,n)}else n(u.EGAHTTPApiResponse.JsonEncodeFailed,null)},y.prototype.sendEventsInArray=function(e,n,t){if(0!=e.length){var i=p.getGameKey(),r=this.baseUrl+"/"+i+"/"+this.eventsUrlPath,s=JSON.stringify(e);if(s){var a=this.createPayloadData(s,this.useGzip),o=[];o.push(s),o.push(n),o.push(e.length.toString()),y.sendRequest(r,a,o,this.useGzip,y.sendEventInArrayRequestCallback,t)}else t(u.EGAHTTPApiResponse.JsonEncodeFailed,null,n,e.length)}},y.prototype.sendSdkErrorEvent=function(e,n,t,i,r,s,a){if(p.isEventSubmissionEnabled()&&h.validateSdkErrorEvent(s,a,e,n,t)){var o,d=this.baseUrl+"/"+s+"/"+this.eventsUrlPath,l="",u=p.getSdkErrorEventAnnotations(),c=y.sdkErrorCategoryString(e);l+=u.error_category=c;var v=y.sdkErrorAreaString(n);l+=":"+(u.error_area=v);var g=y.sdkErrorActionString(t);u.error_action=g;var f=y.sdkErrorParameterString(i);if(0y.MAX_ERROR_MESSAGE_LENGTH&&(m=r.substring(0,y.MAX_ERROR_MESSAGE_LENGTH)),u.reason=m}var E=[];E.push(u),(o=JSON.stringify(E))?A.execute(d,l,o,a):S.w("sendSdkErrorEvent: JSON encoding failed.")}},y.sendEventInArrayRequestCallback=function(e,n,t,i){void 0===i&&(i=null),i[0],i[1];var r,s,a=i[2],o=parseInt(i[3]);r=e.responseText,s=e.status;var d=y.instance.processRequestResponse(s,e.statusText,r,"Events");if(d==u.EGAHTTPApiResponse.Ok||d==u.EGAHTTPApiResponse.Created||d==u.EGAHTTPApiResponse.BadRequest){var l=r?JSON.parse(r):{};if(null==l)return t(u.EGAHTTPApiResponse.JsonDecodeFailed,null,a,o),void y.instance.sendSdkErrorEvent(v.Http,g.EventsHttp,f.FailHttpJsonDecode,m.Undefined,r,p.getGameKey(),p.getGameSecret());u.EGAHTTPApiResponse.BadRequest,t(d,l,a,o)}else t(d,null,a,o)},y.sendRequest=function(e,n,t,i,r,s){var a=new XMLHttpRequest,o=p.getGameSecret(),d=c.getHmac(o,n),l=[];for(var u in l.push(d),t)l.push(t[u]);if(a.onreadystatechange=function(){4===a.readyState&&r(a,e,s,l)},a.open("POST",e,!0),a.setRequestHeader("Content-Type","application/json"),a.setRequestHeader("Authorization",d),i)throw new Error("gzip not supported");try{a.send(n)}catch(e){console.error(e.stack)}},y.initRequestCallback=function(e,n,t,i){var r,s;void 0===i&&(i=null),i[0],i[1],r=e.responseText,s=e.status;var a=r?JSON.parse(r):{},o=y.instance.processRequestResponse(s,e.statusText,r,"Init");if(o==u.EGAHTTPApiResponse.Ok||o==u.EGAHTTPApiResponse.Created||o==u.EGAHTTPApiResponse.BadRequest){if(null==a)return t(u.EGAHTTPApiResponse.JsonDecodeFailed,null,"",0),void y.instance.sendSdkErrorEvent(v.Http,g.InitHttp,f.FailHttpJsonDecode,m.Undefined,r,p.getGameKey(),p.getGameSecret());if(o!==u.EGAHTTPApiResponse.BadRequest){var d=h.validateAndCleanInitRequestResponse(a,o===u.EGAHTTPApiResponse.Created);d?t(o,d,"",0):t(u.EGAHTTPApiResponse.BadResponse,null,"",0)}else t(o,null,"",0)}else t(o,null,"",0)},y.prototype.createPayloadData=function(e,n){if(n)throw new Error("gzip not supported");return e},y.prototype.processRequestResponse=function(e,n,t,i){return t?200===e?u.EGAHTTPApiResponse.Ok:201===e?u.EGAHTTPApiResponse.Created:0===e||401===e?u.EGAHTTPApiResponse.Unauthorized:400===e?u.EGAHTTPApiResponse.BadRequest:500===e?u.EGAHTTPApiResponse.InternalServerError:u.EGAHTTPApiResponse.UnknownResponseCode:u.EGAHTTPApiResponse.NoResponse},y.sdkErrorCategoryString=function(e){switch(e){case v.EventValidation:return"event_validation";case v.Database:return"db";case v.Init:return"init";case v.Http:return"http";case v.Json:return"json"}return""},y.sdkErrorAreaString=function(e){switch(e){case g.BusinessEvent:return"business";case g.ResourceEvent:return"resource";case g.ProgressionEvent:return"progression";case g.DesignEvent:return"design";case g.ErrorEvent:return"error";case g.InitHttp:return"init_http";case g.EventsHttp:return"events_http";case g.ProcessEvents:return"process_events";case g.AddEventsToStore:return"add_events_to_store"}return""},y.sdkErrorActionString=function(e){switch(e){case f.InvalidCurrency:return"invalid_currency";case f.InvalidShortString:return"invalid_short_string";case f.InvalidEventPartLength:return"invalid_event_part_length";case f.InvalidEventPartCharacters:return"invalid_event_part_characters";case f.InvalidStore:return"invalid_store";case f.InvalidFlowType:return"invalid_flow_type";case f.StringEmptyOrNull:return"string_empty_or_null";case f.NotFoundInAvailableCurrencies:return"not_found_in_available_currencies";case f.InvalidAmount:return"invalid_amount";case f.NotFoundInAvailableItemTypes:return"not_found_in_available_item_types";case f.WrongProgressionOrder:return"wrong_progression_order";case f.InvalidEventIdLength:return"invalid_event_id_length";case f.InvalidEventIdCharacters:return"invalid_event_id_characters";case f.InvalidProgressionStatus:return"invalid_progression_status";case f.InvalidSeverity:return"invalid_severity";case f.InvalidLongString:return"invalid_long_string";case f.DatabaseTooLarge:return"db_too_large";case f.DatabaseOpenOrCreate:return"db_open_or_create";case f.JsonError:return"json_error";case f.FailHttpJsonDecode:return"fail_http_json_decode";case f.FailHttpJsonEncode:return"fail_http_json_encode"}return""},y.sdkErrorParameterString=function(e){switch(e){case m.Currency:return"currency";case m.CartType:return"cart_type";case m.ItemType:return"item_type";case m.ItemId:return"item_id";case m.Store:return"store";case m.FlowType:return"flow_type";case m.Amount:return"amount";case m.Progression01:return"progression01";case m.Progression02:return"progression02";case m.Progression03:return"progression03";case m.EventId:return"event_id";case m.ProgressionStatus:return"progression_status";case m.Severity:return"severity";case m.Message:return"message"}return""},y.instance=new y,y.MAX_ERROR_MESSAGE_LENGTH=256,n=y,u.GAHTTPApi=n}(gameanalytics=gameanalytics||{}),function(E){var g,f,m,p,S,h,A,l,y,b,e;function C(){}g=E.events||(E.events={}),f=E.store.GAStore,m=E.store.EGAStore,p=E.store.EGAStoreArgsOperator,S=E.state.GAState,h=E.logging.GALogger,A=E.utilities.GAUtilities,l=E.http.EGAHTTPApiResponse,y=E.http.GAHTTPApi,b=E.validators.GAValidator,C.customEventFieldsErrorCallback=function(e,n){if(S.isEventSubmissionEnabled()){var t=new Date;C.timestampMap[e]||(C.timestampMap[e]=t),C.countMap[e]||(C.countMap[e]=0),3600<=(t.getTime()-C.timestampMap[e].getTime())/1e3&&(C.timestampMap[e]=t,C.countMap[e]=0),C.countMap[e]>=C.MAX_ERROR_COUNT||E.threading.GAThreading.performTaskOnGAThread(function(){C.addErrorEvent(E.EGAErrorSeverity.Warning,n,null,!0),C.countMap[e]=C.countMap[e]+1})}},C.addSessionStartEvent=function(){if(S.isEventSubmissionEnabled()){var e={};e.category=C.CategorySessionStart,S.incrementSessionNum(),f.setItem(S.getGameKey(),S.SessionNumKey,S.getSessionNum().toString()),C.addDimensionsToEvent(e);var n=S.instance.currentGlobalCustomEventFields;C.addCustomFieldsToEvent(e,S.validateAndCleanCustomFields(n,C.customEventFieldsErrorCallback)),C.addEventToStore(e),h.i("Add SESSION START event"),C.processEvents(C.CategorySessionStart,!1)}},C.addSessionEndEvent=function(){if(S.isEventSubmissionEnabled()){var e=S.getSessionStart(),n=S.getClientTsAdjusted()-e;n<0&&(h.w("Session length was calculated to be less then 0. Should not be possible. Resetting to 0."),n=0);var t={};t.category=C.CategorySessionEnd,t.length=n,C.addDimensionsToEvent(t);var i=S.instance.currentGlobalCustomEventFields;C.addCustomFieldsToEvent(t,S.validateAndCleanCustomFields(i,C.customEventFieldsErrorCallback)),C.addEventToStore(t),h.i("Add SESSION END event."),C.processEvents("",!1)}},C.addBusinessEvent=function(e,n,t,i,r,s,a){if(void 0===r&&(r=null),S.isEventSubmissionEnabled()){var o=b.validateBusinessEvent(e,n,r,t,i);if(null==o){var d={};S.incrementTransactionNum(),f.setItem(S.getGameKey(),S.TransactionNumKey,S.getTransactionNum().toString()),d.event_id=t+":"+i,d.category=C.CategoryBusiness,d.currency=e,d.amount=n,d[S.TransactionNumKey]=S.getTransactionNum(),r&&(d.cart_type=r),C.addDimensionsToEvent(d);var l={};if(s&&0C.MaxEventCount){if(!(a=f.select(m.Events,i,!0,C.MaxEventCount)))return;var o=a[a.length-1].client_ts;if(i.push(["client_ts",p.LessOrEqual,o]),!(a=f.select(m.Events,i)))return;r.push(["client_ts",p.LessOrEqual,o])}if(h.i("Event queue: Sending "+a.length+" events."),!f.update(m.Events,s,r))return;for(var d=[],l=0;l