{"version":3,"sources":["webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.io.js","webpack:///./node_modules/lodash/property.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_updateWrapDetails.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/_createPartial.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_baseIsNaN.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_insertWrapDetails.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/curry.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/simplerestclients/dist/utils.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/Enums.js","webpack:///./node_modules/lodash/map.js","webpack:///./node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/lodash/memoize.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTLogManager.js","webpack:///./node_modules/lodash/_hasPath.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTSemanticContext.js","webpack:///./node_modules/lodash/_createRecurry.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTSerializer.js","webpack:///./node_modules/lodash/_replaceHolders.js","webpack:///./node_modules/lodash/_createWrap.js","webpack:///./node_modules/lodash/_LodashWrapper.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/_baseProperty.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/DataModels.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTLogManagerSettings.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTEventProperties.js","webpack:///./node_modules/lodash/_shortOut.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/Utils.js","webpack:///./node_modules/lodash/_setData.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/lodash/_strictIndexOf.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_getFuncName.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AriaSDK.js","webpack:///./node_modules/lodash/_createCtor.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/simplerestclients/dist/GenericRestClient.js","webpack:///./node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/lodash/_matchesStrictComparable.js","webpack:///./node_modules/lodash/_baseForOwn.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/_realNames.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTHttpManager.js","webpack:///./node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/ua-parser-js/src/ua-parser.js","webpack:///./node_modules/lodash/_getData.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/wrapperLodash.js","webpack:///./node_modules/lodash/_baseFindIndex.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/_composeArgsRight.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTRetryPolicy.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/_isLaziable.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/simplerestclients/index.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTStatsManager.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_getMatchData.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/lodash/_baseLodash.js","webpack:///./node_modules/lodash/_createCurry.js","webpack:///./node_modules/lodash/_baseEach.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./node_modules/lodash/_setWrapToString.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTLogger.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/Version.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_getHolder.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/lodash/_LazyWrapper.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///./node_modules/lodash/_baseMatches.js","webpack:///./node_modules/lodash/_baseGet.js","webpack:///./node_modules/lodash/_createHybrid.js","webpack:///./node_modules/lodash/_metaMap.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/Enums.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.floatutils.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTTransmissionManagerCore.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.primitives.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_arrayEach.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.utils.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/hasIn.js","webpack:///./node_modules/lodash/_createBind.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/lodash/_arrayIncludes.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/simplerestclients/dist/SimpleWebRequest.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTAutoCollection.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/_baseMap.js","webpack:///./node_modules/lodash/_createBaseEach.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_baseIsMatch.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTKillSwitch.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/get.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/simplerestclients/dist/ExponentialTime.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/simplerestclients/dist/SimpleRestClients.js","webpack:///./node_modules/lodash/_reorder.js","webpack:///./node_modules/lodash/_mergeData.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/microsoft.bond.encoding.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTQueueManager.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/bond/bond_const.js","webpack:///./node_modules/lodash/_baseSetData.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_countHolders.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTRecordBatcher.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_getWrapDetails.js","webpack:///./node_modules/lodash/_baseIteratee.js","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTNotificationManager.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/common/AWTClockSkewManager.js","webpack:///./node_modules/lodash/_wrapperClone.js","webpack:///./node_modules/@aria/webjs-sdk/dist/src/webjs/AWTTransmissionManager.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_composeArgs.js","webpack:///./node_modules/lodash/_Set.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/synctasks/dist/SyncTasks.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/lodash/_baseToString.js"],"names":["assocIndexOf","module","exports","key","this","__data__","Object","defineProperty","value","microsoft_bond_primitives_1","MemoryStream","_buffer","prototype","_WriteByte","byte","push","Number","_ToByte","_Write","buffer","offset","count","_GetBuffer","baseProperty","basePropertyDeep","isKey","toKey","path","baseGetTag","isObjectLike","arrayEach","arrayIncludes","wrapFlags","details","bitmask","pair","sort","baseIsArguments","objectProto","hasOwnProperty","propertyIsEnumerable","isArguments","arguments","call","apply","createCtor","root","func","thisArg","partials","isBind","Ctor","wrapper","argsIndex","argsLength","length","leftIndex","leftLength","args","Array","fn","ListCache","Map","MapCache","data","pairs","LARGE_ARRAY_SIZE","size","set","setCacheAdd","setCacheHas","SetCache","values","index","add","has","coreJsData","reWrapComment","source","lastIndex","join","replace","createWrap","curry","arity","guard","result","undefined","placeholder","funcToString","Function","toString","e","__assign","assign","t","s","i","n","p","assert","cond","message","Error","isObject","isString","attempt","_i","remove","array","splice","clone","isArray","map","keys","reduce","res","_a","AWTPropertyType","AWTPiiKind","AWTCustomerContentKind","AWTEventPriority","AWTEventsDroppedReason","AWTEventsRejectedReason","arrayMap","baseIteratee","baseMap","collection","iteratee","baseGet","object","memoize","resolver","TypeError","memoized","cache","get","Cache","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","entries","clear","entry","Enums_1","Enums_2","AWTLogManagerSettings_1","AWTLogger_1","AWTTransmissionManagerCore_1","AWTNotificationManager_1","AWTAutoCollection_1","AWTLogManager","initialize","tenantToken","configuration","_isInitialized","default","defaultTenantToken","_overrideValuesFromConfig","_config","disableCookiesUsage","propertyStorageOverride","sessionEnabled","addPropertyStorageOverride","autoCollect","semanticContext","userAgent","loggingEnabled","enableAutoUserSession","getLogger","logSession","AWTSessionState","Started","window","addEventListener","flushAndTeardown","getSemanticContext","flush","callback","_isDestroyed","Ended","pauseTransmission","resumeTransmision","setTransmitProfile","profileName","loadTransmitProfiles","profiles","setContext","name","type","Unspecified","logManagerContext","setProperty","setContextWithPii","pii","setPropertyWithPii","setContextWithCustomerContent","customerContent","setPropertyWithCustomerContent","_loggers","addNotificationListener","listener","removeNotificationListener","config","collectorUri","cacheMemorySizeLimitInNumberOfEvents","httpXHROverride","sendPOST","getProperty","canSendStatEvent","clockSkewRefreshDurationInMins","eventName","castPath","isIndex","isLength","hasFunc","stringToPath","AWTSemanticContext","_allowDeviceFields","_properties","setAppId","appId","_addContext","setAppVersion","appVersion","setAppLanguage","appLanguage","setDeviceId","deviceId","checkAndSaveDeviceId","setDeviceOsName","deviceOsName","setDeviceOsVersion","deviceOsVersion","setDeviceBrowserName","deviceBrowserName","setDeviceBrowserVersion","deviceBrowserVersion","setDeviceMake","deviceMake","setDeviceModel","deviceModel","setUserId","userId","userIdType","isNaN","inferredUserIdType","SipAddress","AWTUserIdType","PhoneNumber","SmtpAddress","EmailAddress","Unknown","NotSet","Skype","Identity","_addContextWithPii","setUserAdvertisingId","userAdvertisingId","setUserTimeZone","userTimeZone","setUserLanguage","userLanguage","isLaziable","setData","setWrapToString","wrapFunc","holders","argPos","ary","isCurry","newData","Bond","Utils","AWTSerializer","getPayloadBlob","requestDictionary","tokenCount","remainingRequest","stream","IO","writer","CompactBinaryProtocolWriter","token","_WriteFieldBegin","_BondDataType","_BT_MAP","_WriteMapContainerBegin","_BT_STRING","_BT_LIST","_WriteString","dataPackage","_WriteContainerBegin","_BT_STRUCT","newGuid","_BT_INT64","_WriteInt64","numberToBondInt64","Date","now","dpSizePos","dpSizeSerialized","currentStreamPos","writeEvent","eventsRejected","SizeLimitExceeded","_addNewDataPackageSize","_WriteStructEnd","payloadBlob","oldDpSize","streamPos","newRecordCountSerialized","_Encoding","_Varint_GetBytes","_ToUInt32","j","slice","eventData","id","timestamp","propsString","propStringCount","propsInt64","propInt64Count","propsDouble","propDoubleCount","propsBool","propBoolCount","propsDate","propDateCount","piiProps","piiPropCount","ccProps","ccPropCount","properties","property","cc","String","Int64","Double","Boolean","_BT_INT32","_WriteInt32","_BT_BOOL","_WriteBool","_BT_DOUBLE","_WriteDouble","base64Encode","_Base64_GetString","resIndex","baseSetData","createBind","createCurry","createHybrid","createPartial","getData","mergeData","toInteger","nativeMax","Math","max","isBindKey","partialsRight","holdersRight","baseCreate","baseLodash","LodashWrapper","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","constructor","AWT_REAL_TIME","AWT_NEAR_REAL_TIME","AWT_BEST_EFFORT","AWTEventProperties_1","AWTSemanticContext_1","AWTLogManagerSettings","arrayLikeKeys","baseKeys","isArrayLike","forEach","AWTEventProperties","_event","setName","getName","setType","getType","setTimestamp","timestampInEpochMillis","getTimestamp","setEventPriority","priority","getEventPriority","sanitizeProperty","getPropertyMap","getEvent","nativeNow","lastCalled","stamp","remaining","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","GuidRegex","EventNameAndTypeRegex","EventNameDotRegex","PropertyNameRegex","StatsApiKey","beaconsSupported","uInt8ArraySupported","useXDR","isNumber","isBoolean","isDate","msToTicks","timeInMs","isReactNative","navigator","product","twoDigit","isNotDefined","bond_value","low","high","floor","c","r","random","getTenantId","apiKey","indexTenantId","indexOf","substring","isBeaconsSupported","sendBeacon","isUint8ArrayAvailable","Uint8Array","ua","toLowerCase","isSafariOrFirefox","isPriority","test","isPropertyType","getCorrectType","NaN","getTime","sanitizePropertyType","isPii","isCustomerContent","getISOString","date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","threeDigit","getUTCMilliseconds","useXDomainRequest","conn","XMLHttpRequest","withCredentials","XDomainRequest","shortOut","isSymbol","reIsDeepProp","reIsPlainProp","css","location","baseUrl","protocol","host","currentDir","pathname","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","o","$1","JSON","stringify","isPrototype","nativeKeys","Symbol","nativeObjectToString","symToStringTag","toStringTag","isOwn","tag","unmasked","fromIndex","baseIsNative","getValue","stubFalse","freeExports","nodeType","freeModule","Buffer","isBuffer","uid","maskSrcKey","exec","IE_PROTO","realNames","otherFunc","DataModels_1","AWTLogger","AWTLogManager_1","AWTTransmissionManager_1","AWTTransmissionManager","AWTSerializer_1","AWT_COLLECTOR_URL_UNITED_STATES","AWT_COLLECTOR_URL_GERMANY","AWT_COLLECTOR_URL_JAPAN","AWT_COLLECTOR_URL_AUSTRALIA","AWT_COLLECTOR_URL_EUROPE","AWT_COLLECTOR_URL_USGOV_DOD","AWT_COLLECTOR_URL_USGOV_DOJ","thisBinding","utils_1","SimpleWebRequest_1","GenericRestClient","endpointUrl","_defaultOptions","excludeEndpointUrl","retries","_endpointUrl","_performApiCall","apiPath","action","objToPost","givenOptions","_this","options","sendData","eTag","augmentHeaders","contentType","finalUrl","SimpleWebRequest","_getHeaders","_blockRequestUntil","start","then","response","_processSuccessResponse","resp","performApiGet","performApiGetDetailed","body","performApiPost","performApiPostDetailed","performApiPatch","objToPatch","performApiPatchDetailed","performApiPut","objToPut","performApiPutDetailed","performApiDelete","objToDelete","performApiDeleteDetailed","baseIsEqual","hasIn","isStrictComparable","matchesStrictComparable","srcValue","objValue","COMPARE_PARTIAL_FLAG","memoizeCapped","rePropName","reEscapeChar","string","charCodeAt","match","number","quote","subString","getMapData","eq","equalArrays","mapToArray","setToArray","symbolProto","symbolValueOf","valueOf","other","customizer","equalFunc","stack","byteLength","byteOffset","convert","isPartial","stacked","Promise","getNative","useSourceMap","list","item","content","cssMapping","btoa","sourceMapping","sourceMap","unescape","encodeURIComponent","sourceURLs","sources","sourceRoot","cssWithMappingToString","modules","mediaQuery","alreadyImportedModules","baseFor","nativeCreate","AWTRetryPolicy_1","AWTKillSwitch_1","AWTClockSkewManager_1","Version","AWTHttpManager","_requestQueue","collectorUrl","_queueManager","_httpInterface","_urlString","FullVersionString","_killSwitch","_paused","_useBeacons","_activeConnections","_clockSkewManager","urlString","ontimeout","onerror","onload","sync","xdr","open","send","fetch","method","headerMap","headers","status","catch","error","xhr_1","_convertAllHeadersToMap","getAllResponseHeaders","hasIdleConnection","sendQueuedRequests","allowRequestSending","_sendRequest","shift","scheduleTimer","isCompletelyIdle","teardown","pause","resume","removeQueuedRequests","sendSynchronousRequest","request","High","retryCount","isTeardown","isSynchronous","addBackRequest","tokenCount_1","apikey_1","isTenantKilled","KillSwitch","payloadResult","shouldAddClockSkewHeaders","getClockSkewHeaderValue","sendAttempt","_retryRequestIfNeeded","_handleRequestFinished","apikey","shouldRetry","killedTokens","setKillSwitchTenants","setClockSkew","shouldRetryForStatus","eventsRetrying","getMillisToBackoffForRetry","backOffTransmission","success","clearBackOff","eventsSent","eventsDropped","NonRetryableStatus","headersString","headersArray","split","header","MODEL","NAME","TYPE","VENDOR","VERSION","MOBILE","TABLET","SMARTTV","enumerize","arr","enums","toUpperCase","str1","str2","lowerize","str","rgxMapper","arrays","k","q","matches","regex","props","strMapper","windowsVersionMap","regexes","OPERA","FIREFOX","CHROME","cpu","device","APPLE","engine","EDGE","os","UAParser","extensions","getResult","_ua","_rgxmap","mergedRegexes","extend","getBrowser","_browser","major","getCPU","_cpu","getDevice","_device","getEngine","_engine","getOS","_os","getUA","setUA","BROWSER","CPU","DEVICE","ENGINE","OS","$","jQuery","Zepto","parser","prop","metaMap","LazyWrapper","wrapperClone","lodash","predicate","fromRight","freeGlobal","freeSelf","self","isCurried","holdersIndex","holdersLength","rightIndex","rightLength","rangeLength","isUncurried","isFunction","bond_const_1","UInt64","_stream","_WriteBlob","blob","elementType","_WriteUInt8","_WriteUInt32","keyType","valueType","_Double_GetBytes","metadata","_Zigzag_EncodeZigzag32","_WriteUInt64","_Zigzag_EncodeZigzag64","_Utf8_GetBytes","isBase","_BT_STOP_BASE","_BT_STOP","_Varint64_GetBytes","_ToUInt8","AWTRetryPolicy","httpStatusCode","retriesSoFar","waitDuration","randomBackoff","BaseBackoff","pow","min","arrayFilter","stubArray","nativeGetSymbols","getOwnPropertySymbols","getSymbols","symbol","getFuncName","funcName","isMasked","toSource","reIsHostCtor","funcProto","reIsNative","RegExp","getRawTag","objectToString","AWTStatsManager","sendStats","_sendStats","_isInitalized","events","_addStat","reason","QueueFull","InvalidEvent","eventReceived","tenantId","_stats","statName","WeakMap","__webpack_amd_options__","isKeyable","DataView","Set","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ArrayBuffer","resolve","ctorString","baseFindIndex","baseIsNaN","strictIndexOf","createRecurry","getHolder","replaceHolders","baseForOwn","baseEach","createBaseEach","toFinite","remainder","getWrapDetails","insertWrapDetails","setToString","updateWrapDetails","reference","reWhitespace","charAt","AWTStatsManager_1","_apiKey","_contextProperties","_semanticContext","_sessionStartTime","_createInitId","logEvent","event","sanitizeProperties","_logEvent","_getInternalEvent","state","sessionEvent","_addPropertiesToEvent","_sessionId","sessionDurationSec","_getSessionDurationFromTime","firstLaunchTime","getSessionId","logFailure","signature","detail","category","failureEvent","logPageView","pageName","uri","referrerUri","pageViewEvent","_initIdMap","propertiesEvent","name_1","timeInSec","eventWithMetaData","contextProperties","_addContextIfAbsent","_setDefaultProperty","_getInitId","_getSequenceId","toISOString","Normal","_sendEvent","name_2","sendEvent","name_3","internalEvent","_sequenceIdMap","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","setImmediate","global","clearImmediate","overArg","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","registerImmediate","html","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","document","attachTo","getPrototypeOf","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","createElement","documentElement","script","onreadystatechange","removeChild","appendChild","attachEvent","task","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","webpackPolyfill","deprecate","paths","children","enumerable","l","toNumber","baseIsMatch","getMatchData","matchData","composeArgs","composeArgsRight","countHolders","reorder","isAry","isFlip","holdersCount","newHolders","reverse","memo","stylesInDom","isOldIE","all","atob","getTarget","target","querySelector","getElement","styleTarget","HTMLIFrameElement","contentDocument","head","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","domStyle","refs","parts","addStyle","listToStyles","newStyles","base","part","media","insertStyleElement","style","insertInto","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","before","removeStyleElement","parentNode","idx","createStyleElement","attrs","addAttrs","el","setAttribute","obj","update","transform","styleIndex","applyToSingletonTag","bind","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","updateLink","href","applyToTag","newObj","DEBUG","newList","mayRemove","textStore","replaceText","replacement","filter","styleSheet","cssText","cssNode","createTextNode","childNodes","autoFixUrls","convertToAbsoluteUrls","oldSrc","pop","baseTimes","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","FloatUtils","_ConvertNumberToArray","num","isDouble","_doubleZero","_floatZero","precisionBits","bias","minExponent","maxExponent","sign","abs","intPart","floatPart","firstBit","exponent","lastBit","_doubleNegInifinity","_floatNegInifinity","_doubleInifinity","_floatInifinity","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","createBaseFor","AWTQueueManager_1","AWTTransmissionManagerCore","setEventsHandler","eventsHandler","_eventHandler","getEventsHandler","timer","_profiles","_currentProfile","_timeout","hasEvents","_currentBackoffCount","_batchAndSendEvents","_timerCount","_newEventsAllowed","_initializeProfiles","stats","event_1","statKey","_resetTransmitProfiles","timerMultiplier","ceil","Immediate_sync","addEvent","currentTime","_lastUploadNowCall","uploadNow","resumeTransmission","Low","sendEventsForPriorityAndAbove","typedArrayTags","objectCreate","create","proto","baseToString","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","Stack","equalByTag","equalObjects","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","arrayPush","keysFunc","symbolsFunc","numberStr","parseInt","_Equals","tmp","_ToInt32","stackClear","stackDelete","stackGet","stackHas","stackSet","BrowserChecker","_IsDataViewSupport","baseHasIn","hasPath","trimmedEndIndex","reTrimStart","baseIndexOf","extendStatics","__extends","d","b","setPrototypeOf","__proto__","__","WebRequestPriority","ErrorHandlingType","SyncTasks","ExponentialTime_1","isJsonContentType","ct","DefaultErrorHandler","webRequest","errResp","canceled","statusCode","DoNotRetry","RetryCountedWithBackoff","DefaultOptions","SimpleWebRequestOptions","MaxSimultaneousRequests","HungRequestCleanupIntervalMs","timeoutMs","hungRequestCleanupTimer","requestQueue","blockedList","executingList","onLoadErrorSupportStatus","timeoutSupportStatus","SimpleWebRequestBase","_action","_url","_aborted","_timedOut","_created","_finishHandled","_retryExponentialTime","ExponentialTime","_options","getPriority","DontCare","checkQueueProcessing","_loop_1","req","Resolved","finally","_scheduleHungRequestCleanupIfNeeded","_fire","_enqueue","err","_respond","_hungRequestCleanupTimerCallback","_removeFromQueue","_assertAndClean","expression","console","_xhr","_xhrRequestHeaders","openError","timeoutSupported_1","_requestTimeoutTimer","abort","onLoadErrorSupported","readyState","streamingDownloadProgress","responseText","onabort","upload","onProgress","onprogress","acceptType","responseType","customResponseType","_getResponseType","responseTypeError","_setRequestHeader","mapContentType","nextHeaders","getRequestHeaders","headersCheck","headerLower","warn","mapBody","xhr","xhrRequestHeaders","val","setRequestHeader","params_1","param","isFormDataContentType","formData_1","FormData","params_2","append","setUrl","setHeader","overrideGetHeaders","getOptions","setPriority","newPriority","resumeRetrying","findIndex","_super","url","getHeaders","blockRequestUntil","_retryTimer","_deferred","Rejected","Defer","onCancel","promise","errorStatusText","statusText","responseParsingException","line","substr","check","getResponseHeader","parse","ex","responseURL","requestOptions","requestHeaders","timedOut","augmentErrorResponse","handleResponse","customErrorHandler","PauseUntilResumed","RetryUncountedImmediately","RetryUncountedWithBackoff","getTimeAndCalculateNext","reject","DEVICE_ID_COOKIE","FIRSTLAUNCHTIME_COOKIE","BROWSERS","OPERATING_SYSTEMS","OSNAMEREGEX","VERSION_MAPPINGS","AWTAutoCollection","propertyStorage","_propertyStorage","disableCookies","_disableCookies","_autoCollect","_autoCollectFromUserAgent","_deleteCookie","_areCookiesAvailable","_autoCollectDeviceId","oldDeviceId","_getData","flt","_saveData","_setFirstLaunchTime","lang","language","timeZone","getTimezoneOffset","minutes","hours","timeZonePrefix","browserName","_getBrowserName","_getBrowserVersion","osName","_getOsName","_getOsVersion","_userAgentContainsString","fltDate","setTime","searchString","_getIeVersion","_getOtherVersion","classicIeVersionMatches","ieVersionMatches","browserString","_getGenericOsVersion","_getMacOsxVersion","ntVersionMatches","macOsxVersionInUserAgentMatches","versionString","delimiter","_getDelimiter","expires","toUTCString","cookie","ca","arg","eachFunc","iterable","noCustomizer","AWTKillSwitch","_killedTokenDictionary","killTokens","killDuration","durationMs","freeProcess","types","require","defaultValue","DEFAULT_TIME_GROW_FACTOR","DEFAULT_TIME_JITTER","_initialTime","_maxTime","_growFactor","_jitterFactor","reset","_incrementCount","_currentTime","round","getIncrementCount","calculateNext","delay","arraySome","cacheHas","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","constant","identity","baseSetToString","__export","m","copyArray","nativeMin","indexes","oldArray","srcBitmask","newBitmask","isCommon","isCombo","baseGetAllKeys","microsoft_bond_floatutils_1","microsoft_bond_utils_1","char","inArray","lookup","output","paddingBytes","length_1","temp","temp2","view","setFloat64","getUint8","tmpH","tmpL","AWTHttpManager_1","AWTRecordBatcher_1","AWTQueueManager","_queueSizeLimit","xhrOverride","_isCurrentlyUploadingNow","_uploadNowQueue","_shouldDropEventsOnPause","_queueSize","_outboundQueue","_inboundQueues","_addEmptyQueues","_batcher","_httpManager","addEventToBatch","_dropEventWithPriorityOrLess","_addEventToProperQueue","_batchEvents","hasBatch","_uploadNow","shouldDropEventsOnPause","_removeFirstQueues","currentPriority","priorityToProcess","flushBatch","_checkOutboundQueueEmptyAndSent","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","AWTRecordBatcher","_maxNumberOfEvents","_currentBatch","_currentNumEventsInBatch","immediateBatch","reWrapDetails","reSplitDetails","baseMatches","baseMatchesProperty","AWTNotificationManager","this_1","_loop_2","this_2","_loop_3","this_3","_loop_4","this_4","baseIsEqualDeep","reIsUint","AWTClockSkewManager","_reset","_isFirstRequest","_clockSkewSet","_allowRequestSending","_shouldAddClockSkewHeaders","_clockSkewHeaderValue","timeDeltaInMillis","g","isThenable","isCancelable","cancel","trier","catcher","catchExceptions","exceptionsToConsole","traceEnabled","exceptionHandler","unhandledErrorHandler","fromThenable","thenable","deferred","thenAsync","x","Internal","asyncCallbacks","useSetImmediate","asyncCallback","resolveAsyncCallbacks","savedCallbacks","SyncTask","race","items","outTask","hasSettled","cancelOtherInternal","_completedSuccess","_completedFail","_traceEnabled","_cancelCallbacks","_wasCanceled","_wasExplicitlyCanceled","_resolving","_storedCallbackSets","_mustHandleError","_addCallbackSet","callbackWillChain","context","wasCanceled","cancelContext","_cancelInternal","_resolveSuccesses","_resolveFailures","_cancelContext","successFunc","errorFunc","failFunc","always","setTracingEnabled","enabled","done","fail","_checkState","_storedResolution","_storedErrResolution","_enforceErrorHandled","_completeStack","_rejectedTasks","_enforceErrorHandledTimer","rejectedTasks","rejectedTask","callbacks","_resolveSuccessCallback","ret","_handleException","_resolveFailureCallback","toEs6Promise","foundError","countRemaining","results","checkFinish","raceTimer","timeMs","timerDef","symbolToString"],"mappings":"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","file":"js/vendors~meetings~meetnow~mnJoin.10b84ba66a4a22a1c547.js","sourcesContent":["var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* microsoft.bond.io.ts\r\n* Copyright: Microsoft 2016\r\n*/\r\nvar microsoft_bond_primitives_1 = require(\"./microsoft.bond.primitives\");\r\nvar MemoryStream = /** @class */ (function () {\r\n function MemoryStream() {\r\n this._buffer = [];\r\n }\r\n /*override*/\r\n MemoryStream.prototype._WriteByte = function (byte) {\r\n this._buffer.push(microsoft_bond_primitives_1.Number._ToByte(byte));\r\n };\r\n /*override*/\r\n MemoryStream.prototype._Write = function (buffer, offset, count) {\r\n while (count--) {\r\n this._WriteByte(buffer[offset++]);\r\n }\r\n };\r\n /**\r\n * Returns the array of unsigned bytes from which this stream was created.\r\n */\r\n MemoryStream.prototype._GetBuffer = function () {\r\n return this._buffer;\r\n };\r\n return MemoryStream;\r\n}());\r\nexports.MemoryStream = MemoryStream;\r\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var arrayEach = require('./_arrayEach'),\n arrayIncludes = require('./_arrayIncludes');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n/** Used to associate wrap methods with their bit flags. */\nvar wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n];\n\n/**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\nfunction updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n}\n\nmodule.exports = updateWrapDetails;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var apply = require('./_apply'),\n createCtor = require('./_createCtor'),\n root = require('./_root');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n}\n\nmodule.exports = createPartial;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Used to match wrap detail comments. */\nvar reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;\n\n/**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\nfunction insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n}\n\nmodule.exports = insertWrapDetails;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","var createWrap = require('./_createWrap');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8;\n\n/**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\nfunction curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurry.placeholder = {};\n\nmodule.exports = curry;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","\"use strict\";\n/**\n * utils.ts\n * Copyright: Microsoft 2019\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assert = function (cond, message) {\n if (!cond) {\n throw new Error(message);\n }\n};\nexports.isObject = function (value) { return (value !== null && typeof value === 'object'); };\nexports.isString = function (value) { return (typeof value === 'string'); };\nexports.attempt = function (func) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n try {\n return func.apply(void 0, args);\n }\n catch (e) {\n return new Error(e);\n }\n};\nexports.remove = function (array, value) {\n for (var i = array.length - 1; i >= 0; i--) {\n if (array[i] === value) {\n array.splice(i, 1);\n }\n }\n};\nexports.clone = function (value) {\n if (Array.isArray(value)) {\n return value.map(exports.clone);\n }\n if (exports.isObject(value)) {\n return Object.keys(value)\n .reduce(function (res, key) {\n var _a;\n return (__assign(__assign({}, res), (_a = {}, _a[key] = exports.clone(value[key]), _a)));\n }, {});\n }\n return value;\n};\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* Enums.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n* File containing the enums.\r\n*/\r\n/**\r\n * The AWTPropertyType enumeration contains a set of values that specify types of properties.\r\n * @enum {number}\r\n */\r\nvar AWTPropertyType;\r\n(function (AWTPropertyType) {\r\n /**\r\n * Property type is unspecified.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Unspecified\"] = 0] = \"Unspecified\";\r\n /**\r\n * A string.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"String\"] = 1] = \"String\";\r\n /**\r\n * A 64-bit integer.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Int64\"] = 2] = \"Int64\";\r\n /**\r\n * A double.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Double\"] = 3] = \"Double\";\r\n /**\r\n * A boolean.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Boolean\"] = 4] = \"Boolean\";\r\n /**\r\n * A date.\r\n */\r\n AWTPropertyType[AWTPropertyType[\"Date\"] = 5] = \"Date\";\r\n})(AWTPropertyType = exports.AWTPropertyType || (exports.AWTPropertyType = {}));\r\n/**\r\n * The AWTPiiKind enumeration contains a set of values that specify the kind of PII (Personal Identifiable Information).\r\n * @enum {number}\r\n */\r\nvar AWTPiiKind;\r\n(function (AWTPiiKind) {\r\n /**\r\n * No kind.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"NotSet\"] = 0] = \"NotSet\";\r\n /**\r\n * An LDAP distinguished name. For example, CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"DistinguishedName\"] = 1] = \"DistinguishedName\";\r\n /**\r\n * Generic information.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"GenericData\"] = 2] = \"GenericData\";\r\n /**\r\n * An IPV4 Internet address. For example, 192.0.2.1.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"IPV4Address\"] = 3] = \"IPV4Address\";\r\n /**\r\n * An IPV6 Internet address. For example, 2001:0db8:85a3:0000:0000:8a2e:0370:7334.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"IPv6Address\"] = 4] = \"IPv6Address\";\r\n /**\r\n * The Subject of an e-mail message.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"MailSubject\"] = 5] = \"MailSubject\";\r\n /**\r\n * A telephone number.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"PhoneNumber\"] = 6] = \"PhoneNumber\";\r\n /**\r\n * A query string.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"QueryString\"] = 7] = \"QueryString\";\r\n /**\r\n * An SIP (Session Internet Protocol) address.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"SipAddress\"] = 8] = \"SipAddress\";\r\n /**\r\n * An e-mail address.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"SmtpAddress\"] = 9] = \"SmtpAddress\";\r\n /**\r\n * An user ID.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"Identity\"] = 10] = \"Identity\";\r\n /**\r\n * A URI (Uniform Resource Identifier).\r\n */\r\n AWTPiiKind[AWTPiiKind[\"Uri\"] = 11] = \"Uri\";\r\n /**\r\n * The fully-qualified domain name.\r\n */\r\n AWTPiiKind[AWTPiiKind[\"Fqdn\"] = 12] = \"Fqdn\";\r\n /**\r\n * Scrubs the last octet in a IPV4 Internet address.\r\n * For example: 10.121.227.147 becomes 10.121.227.*\r\n */\r\n AWTPiiKind[AWTPiiKind[\"IPV4AddressLegacy\"] = 13] = \"IPV4AddressLegacy\";\r\n})(AWTPiiKind = exports.AWTPiiKind || (exports.AWTPiiKind = {}));\r\n/**\r\n * The AWTCustomerContentKind enumeration contains a set of values that specify the kind of customer content.\r\n * @enum {number}\r\n */\r\nvar AWTCustomerContentKind;\r\n(function (AWTCustomerContentKind) {\r\n /**\r\n * No kind.\r\n */\r\n AWTCustomerContentKind[AWTCustomerContentKind[\"NotSet\"] = 0] = \"NotSet\";\r\n /**\r\n * Generic content.\r\n */\r\n AWTCustomerContentKind[AWTCustomerContentKind[\"GenericContent\"] = 1] = \"GenericContent\";\r\n})(AWTCustomerContentKind = exports.AWTCustomerContentKind || (exports.AWTCustomerContentKind = {}));\r\n/**\r\n * The AWTEventPriority enumeration contains a set of values that specify an event's priority.\r\n * @enum {number}\r\n */\r\nvar AWTEventPriority;\r\n(function (AWTEventPriority) {\r\n /**\r\n * Low priority.\r\n */\r\n AWTEventPriority[AWTEventPriority[\"Low\"] = 1] = \"Low\";\r\n /**\r\n * Normal priority.\r\n */\r\n AWTEventPriority[AWTEventPriority[\"Normal\"] = 2] = \"Normal\";\r\n /**\r\n * High priority.\r\n */\r\n AWTEventPriority[AWTEventPriority[\"High\"] = 3] = \"High\";\r\n /**\r\n * Immediate_sync priority (Events are sent sync immediately).\r\n */\r\n AWTEventPriority[AWTEventPriority[\"Immediate_sync\"] = 5] = \"Immediate_sync\";\r\n})(AWTEventPriority = exports.AWTEventPriority || (exports.AWTEventPriority = {}));\r\n/**\r\n * The AWTEventsDroppedReason enumeration contains a set of values that specify the reason for dropping an event.\r\n * @enum {number}\r\n */\r\nvar AWTEventsDroppedReason;\r\n(function (AWTEventsDroppedReason) {\r\n /**\r\n * Status set to non-retryable.\r\n */\r\n AWTEventsDroppedReason[AWTEventsDroppedReason[\"NonRetryableStatus\"] = 1] = \"NonRetryableStatus\";\r\n /**\r\n * The event queue is full.\r\n */\r\n AWTEventsDroppedReason[AWTEventsDroppedReason[\"QueueFull\"] = 3] = \"QueueFull\";\r\n})(AWTEventsDroppedReason = exports.AWTEventsDroppedReason || (exports.AWTEventsDroppedReason = {}));\r\n/**\r\n * The AWTEventsRejectedReason enumeration contains a set of values that specify the reason for rejecting an event.\r\n * @enum {number}\r\n */\r\nvar AWTEventsRejectedReason;\r\n(function (AWTEventsRejectedReason) {\r\n /**\r\n * The event is invalid.\r\n */\r\n AWTEventsRejectedReason[AWTEventsRejectedReason[\"InvalidEvent\"] = 1] = \"InvalidEvent\";\r\n /**\r\n * The size of the event is too large.\r\n */\r\n AWTEventsRejectedReason[AWTEventsRejectedReason[\"SizeLimitExceeded\"] = 2] = \"SizeLimitExceeded\";\r\n /**\r\n * The server is not accepting events from this token.\r\n */\r\n AWTEventsRejectedReason[AWTEventsRejectedReason[\"KillSwitch\"] = 3] = \"KillSwitch\";\r\n})(AWTEventsRejectedReason = exports.AWTEventsRejectedReason || (exports.AWTEventsRejectedReason = {}));\r\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar Enums_2 = require(\"./Enums\");\r\nvar AWTLogManagerSettings_1 = require(\"./AWTLogManagerSettings\");\r\nvar AWTLogger_1 = require(\"./AWTLogger\");\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\nvar AWTNotificationManager_1 = require(\"../common/AWTNotificationManager\");\r\nvar AWTAutoCollection_1 = require(\"./AWTAutoCollection\");\r\n/**\r\n* The AWTLogManager class manages the Aria SDK.\r\n*/\r\nvar AWTLogManager = /** @class */ (function () {\r\n function AWTLogManager() {\r\n }\r\n /**\r\n * Initializes the log manager. After this method is called, events are\r\n * accepted for transmission.\r\n * @param {string} tenantToken - A string that contains the default tenant token.\r\n * @param {object} config - [Optional] Configuration settings for initialize, as an AWTLogConfiguration object.\r\n */\r\n AWTLogManager.initialize = function (tenantToken, configuration) {\r\n if (configuration === void 0) { configuration = {}; }\r\n if (this._isInitialized) {\r\n return;\r\n }\r\n this._isInitialized = true;\r\n AWTLogManagerSettings_1.default.defaultTenantToken = tenantToken;\r\n this._overrideValuesFromConfig(configuration);\r\n if (this._config.disableCookiesUsage && !this._config.propertyStorageOverride) {\r\n AWTLogManagerSettings_1.default.sessionEnabled = false;\r\n }\r\n AWTAutoCollection_1.default.addPropertyStorageOverride(this._config.propertyStorageOverride);\r\n AWTAutoCollection_1.default.autoCollect(AWTLogManagerSettings_1.default.semanticContext, this._config.disableCookiesUsage, this._config.userAgent);\r\n //Create sender\r\n AWTTransmissionManagerCore_1.default.initialize(this._config);\r\n AWTLogManagerSettings_1.default.loggingEnabled = true;\r\n //Autolog session events for browsers\r\n if (this._config.enableAutoUserSession) {\r\n this.getLogger().logSession(Enums_2.AWTSessionState.Started);\r\n window.addEventListener('beforeunload', this.flushAndTeardown);\r\n }\r\n return this.getLogger();\r\n };\r\n /**\r\n * Gets the global semantic context.\r\n *\r\n * @return A AWTSemanticContext object, through which you can set common semantic properties.\r\n */\r\n AWTLogManager.getSemanticContext = function () {\r\n return AWTLogManagerSettings_1.default.semanticContext;\r\n };\r\n /**\r\n * Asynchronously sends events currently in the queue. New events added\r\n * are sent after the current flush finishes. The passed callback is\r\n * called when flush finishes. Note: If LogManager is paused, or if\r\n * flush is called again in less than 30 seconds, then flush is no-op, and\r\n * the callback is not called.\r\n * @param {function} callback - The function that is called when flush finishes.\r\n */\r\n AWTLogManager.flush = function (callback) {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.flush(callback);\r\n }\r\n };\r\n /**\r\n * Prevents new events from being added for transmission. It also batches all\r\n * events currently in the queue, and creates requests for them to be sent. If\r\n * HTML5 Beacons are supported, then they will be used.\r\n */\r\n AWTLogManager.flushAndTeardown = function () {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n if (this._config.enableAutoUserSession) {\r\n this.getLogger().logSession(Enums_2.AWTSessionState.Ended);\r\n }\r\n AWTTransmissionManagerCore_1.default.flushAndTeardown();\r\n AWTLogManagerSettings_1.default.loggingEnabled = false;\r\n this._isDestroyed = true;\r\n }\r\n };\r\n /**\r\n * Pasues the transmission of events.\r\n */\r\n AWTLogManager.pauseTransmission = function () {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.pauseTransmission();\r\n }\r\n };\r\n /**\r\n * Resumes the tranmission of events.\r\n */\r\n AWTLogManager.resumeTransmision = function () {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.resumeTransmision();\r\n }\r\n };\r\n /**\r\n * Sets the transmit profile. This changes the transmission timers\r\n * based on the transmit profile.\r\n * @param {string} profileName - A string that contains the name of the transmit profile.\r\n */\r\n AWTLogManager.setTransmitProfile = function (profileName) {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.setTransmitProfile(profileName);\r\n }\r\n };\r\n /**\r\n * Loads custom transmission profiles. Each profile should have timers for\r\n * high, normal, and low. Each profile should make sure\r\n * that a each priority timer is a multiple of the priority higher than it.\r\n * Setting the timer value to -1 means the events for that priority will\r\n * not be sent. Note that once a priority has been set to not send, then all priorities\r\n * below it will also not be sent. The timers should be in the form of [low, normal, high].\r\n * E.g, Custom: [30,10,5].\r\n * This method removes any previously loaded custom profiles.\r\n * @param {object} profiles - A dictionary that contains the transmit profiles.\r\n */\r\n AWTLogManager.loadTransmitProfiles = function (profiles) {\r\n if (this._isInitialized && !this._isDestroyed) {\r\n AWTTransmissionManagerCore_1.default.loadTransmitProfiles(profiles);\r\n }\r\n };\r\n /**\r\n * Sets the context sent with every event.\r\n * @param {string} name - A string that contains the name of the context property.\r\n * @param {string|number|boolean} value - The value of the context property.\r\n * @param {enum} type - [Optional] The type for the context property value, as one of the\r\n * AWTPropertyType enumeration values.\r\n */\r\n AWTLogManager.setContext = function (name, value, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n AWTLogManagerSettings_1.default.logManagerContext.setProperty(name, value, type);\r\n };\r\n /**\r\n * Sets the context sents with every event, and tags it as PII.\r\n * @param {string} name - A string that contains the name of the context property.\r\n * @param {string|number|boolean} value - The value of the context property.\r\n * @param {enum} pii - The kind of PII for the context property.\r\n * @param {enum} type - [Optional] The type for the context property value, as one of the\r\n * AWTPropertyType enumeration values.\r\n */\r\n AWTLogManager.setContextWithPii = function (name, value, pii, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n AWTLogManagerSettings_1.default.logManagerContext.setPropertyWithPii(name, value, pii, type);\r\n };\r\n /**\r\n * Sets the context sent with every event from this logger, and tags it as customer content.\r\n * @param {string} name - A string that contains the name of the context property.\r\n * @param {string|number|boolean} value - The value of the context property.\r\n * @param {enum} customerContent - The kind of customer content for the context property, as one of the\r\n * AWTCustomerContentKind enumeration values.\r\n * @param {enum} type - [Optional] The type for the context property value, as one of the\r\n * AWTPropertyType enumeration values.\r\n */\r\n AWTLogManager.setContextWithCustomerContent = function (name, value, customerContent, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n AWTLogManagerSettings_1.default.logManagerContext.setPropertyWithCustomerContent(name, value, customerContent, type);\r\n };\r\n /**\r\n * Gets the logger for the specified tenant token.\r\n * @param {string} tenantToken - A string that contains the tenant token.\r\n * @return An AWTLogger object which sends data with the specified tenant token. If the tenant token is\r\n * undefined, or null, or empty, then undefined is returned.\r\n */\r\n AWTLogManager.getLogger = function (tenantToken) {\r\n var key = tenantToken;\r\n if (!key || key === AWTLogManagerSettings_1.default.defaultTenantToken) {\r\n key = '';\r\n }\r\n if (!this._loggers[key]) {\r\n this._loggers[key] = new AWTLogger_1.default(key);\r\n }\r\n return this._loggers[key];\r\n };\r\n /**\r\n * Adds a notification listener. The Aria SDK calls methods on the listener\r\n * when an appropriate notification is raised.\r\n * @param {object} listener - An AWTNotificationListener object.\r\n */\r\n AWTLogManager.addNotificationListener = function (listener) {\r\n AWTNotificationManager_1.default.addNotificationListener(listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {object} listener - AWTNotificationListener to remove.\r\n */\r\n AWTLogManager.removeNotificationListener = function (listener) {\r\n AWTNotificationManager_1.default.removeNotificationListener(listener);\r\n };\r\n AWTLogManager._overrideValuesFromConfig = function (config) {\r\n if (config.collectorUri) {\r\n this._config.collectorUri = config.collectorUri;\r\n }\r\n if (config.cacheMemorySizeLimitInNumberOfEvents > 0) {\r\n this._config.cacheMemorySizeLimitInNumberOfEvents = config.cacheMemorySizeLimitInNumberOfEvents;\r\n }\r\n if (config.httpXHROverride && config.httpXHROverride.sendPOST) {\r\n this._config.httpXHROverride = config.httpXHROverride;\r\n }\r\n if (config.propertyStorageOverride && config.propertyStorageOverride.getProperty &&\r\n config.propertyStorageOverride.setProperty) {\r\n this._config.propertyStorageOverride = config.propertyStorageOverride;\r\n }\r\n if (config.userAgent) {\r\n this._config.userAgent = config.userAgent;\r\n }\r\n if (config.disableCookiesUsage) {\r\n this._config.disableCookiesUsage = config.disableCookiesUsage;\r\n }\r\n if (config.canSendStatEvent) {\r\n this._config.canSendStatEvent = config.canSendStatEvent;\r\n }\r\n if (config.enableAutoUserSession && typeof window !== 'undefined' && window.addEventListener) {\r\n this._config.enableAutoUserSession = config.enableAutoUserSession;\r\n }\r\n if (config.clockSkewRefreshDurationInMins > 0) {\r\n this._config.clockSkewRefreshDurationInMins = config.clockSkewRefreshDurationInMins;\r\n }\r\n };\r\n AWTLogManager._loggers = {};\r\n AWTLogManager._isInitialized = false;\r\n AWTLogManager._isDestroyed = false;\r\n AWTLogManager._config = {\r\n collectorUri: 'https://browser.pipe.aria.microsoft.com/Collector/3.0/',\r\n cacheMemorySizeLimitInNumberOfEvents: 10000,\r\n disableCookiesUsage: false,\r\n canSendStatEvent: function (eventName) { return true; },\r\n clockSkewRefreshDurationInMins: 0\r\n };\r\n return AWTLogManager;\r\n}());\r\nexports.default = AWTLogManager;\r\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar AWTAutoCollection_1 = require(\"./AWTAutoCollection\");\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar Enums_2 = require(\"./Enums\");\r\nvar UI_IDTYPE = 'UserInfo.IdType';\r\n/**\r\n * Class to allow users to set semantic context properties.\r\n */\r\nvar AWTSemanticContext = /** @class */ (function () {\r\n /**\r\n * @constructor\r\n * @param {boolean} _allowDeviceFields - Allow setting of device semantic context.\r\n * @param {object} _properties - The event properties where to add the semantic context.\r\n */\r\n function AWTSemanticContext(_allowDeviceFields, _properties) {\r\n this._allowDeviceFields = _allowDeviceFields;\r\n this._properties = _properties;\r\n }\r\n /**\r\n * Sets the field AppInfo.Id with the given value.\r\n * @param {string} appId - The Id uniquely identifies the App from this this event originated.\r\n * In the multi-tenant Aria Platform, this is the Application Id of the\r\n * registered Application. Example, \"735d47645f7c4de69964e2c01888d6b6\".\r\n */\r\n AWTSemanticContext.prototype.setAppId = function (appId) {\r\n this._addContext('AppInfo.Id', appId);\r\n };\r\n /**\r\n * Sets the field AppInfo.Version with the given value.\r\n * @param {string} appVersion - The version of the App, retrieved programmatically where possible. This\r\n * is app/platform dependent. Examples such as \"7.0.0.100\" for Skype,\r\n * or \"12.0.30723.00 Update 3\" for Microsoft Visual Studio Ultimate 2013\r\n */\r\n AWTSemanticContext.prototype.setAppVersion = function (appVersion) {\r\n this._addContext('AppInfo.Version', appVersion);\r\n };\r\n /**\r\n * Sets the field AppInfo.Language with the given value.\r\n * @param {string} appLanguage - Language of the App in IETF language tag format, as described in RFC 4646.\r\n * Examples of acceptable values include \"en\", \"pt-BR\" and \"zh-Hant-CN\".\r\n */\r\n AWTSemanticContext.prototype.setAppLanguage = function (appLanguage) {\r\n this._addContext('AppInfo.Language', appLanguage);\r\n };\r\n /**\r\n * Sets the field DeviceInfo.Id with the given value.\r\n * @param {string} deviceId - The device Id uniquely identifies the physical device, using platform\r\n * available API's. This allows correlation against Aria Hardware Inventory.\r\n */\r\n AWTSemanticContext.prototype.setDeviceId = function (deviceId) {\r\n if (this._allowDeviceFields) {\r\n AWTAutoCollection_1.default.checkAndSaveDeviceId(deviceId);\r\n this._addContext('DeviceInfo.Id', deviceId);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.OsName with the given value.\r\n * @param {string} deviceOsName - The name of the OS. The SDK should ensure this is a limited normalized\r\n * set. Asimov is using very high level value e.g. Windows/Android/iOS.\r\n * Examples such as \"iOS\" or \"Windows Phone\".\r\n */\r\n AWTSemanticContext.prototype.setDeviceOsName = function (deviceOsName) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.OsName', deviceOsName);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.OsVersion with the given value.\r\n * @param {string} deviceOsVersion - The version of the OS, retrieved programmatically, which can be used\r\n * for aggregation or filtering for scenarios like real time monitoring\r\n * or metrics reporting. Flurry and GA provide aggregation at this level.\r\n * Examples such as \"8.1.2\" for iOS, or \"8.1\" for Windows Phone.\r\n */\r\n AWTSemanticContext.prototype.setDeviceOsVersion = function (deviceOsVersion) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.OsVersion', deviceOsVersion);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.Id with the given value.\r\n * @param {string} deviceBrowserName - he name of the OS. The SDK should ensure this is a limited normalized set.\r\n * Examples such as \"Chrome\" or \"Edge\".\r\n */\r\n AWTSemanticContext.prototype.setDeviceBrowserName = function (deviceBrowserName) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.BrowserName', deviceBrowserName);\r\n }\r\n };\r\n /**\r\n * Sets the field DeviceInfo.Id with the given value.\r\n * @param {string} deviceBrowserVersion - The version of the browser, retrieved programmatically, which can be used\r\n * for aggregation or filtering for scenarios like real time monitoring or metrics reporting.\r\n * Examples such as \"57.0.2987.133\" for Chrome, or \"15.15063\" for Edge.\r\n */\r\n AWTSemanticContext.prototype.setDeviceBrowserVersion = function (deviceBrowserVersion) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.BrowserVersion', deviceBrowserVersion);\r\n }\r\n };\r\n /**\r\n * Set the device manufacturer context information of telemetry event.\r\n * Can only be set at the LogManager level. Setting it via the object obtained from ILogger\r\n * will be no-op.\r\n * @param {string} deviceMake The manufacturer of the device, retrieved\r\n * programmatically where possible and is app/platform specific\r\n */\r\n AWTSemanticContext.prototype.setDeviceMake = function (deviceMake) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.Make', deviceMake);\r\n }\r\n };\r\n /**\r\n * Set the device model context information of telemetry event.\r\n * Can only be set at the LogManager level. Setting it via the object obtained from ILogger\r\n * will be no-op.\r\n * @param {string} deviceModel The model of the device, retrieved programmatically\r\n * where possible and is app/platform specific\r\n */\r\n AWTSemanticContext.prototype.setDeviceModel = function (deviceModel) {\r\n if (this._allowDeviceFields) {\r\n this._addContext('DeviceInfo.Model', deviceModel);\r\n }\r\n };\r\n /**\r\n * Sets the field UserInfo.Id with the given value.\r\n * @param {string} userId - The id uniquely identifies the user in an application-specific\r\n * user namespace, such as a Skype ID in the Skype App. This may be empty for Apps\r\n * which do not require user sign-in.\r\n * @param {enum} pii - Optional pii type for the user id.\r\n * @param {enum} userIdType - Optional id type for the user id.\r\n */\r\n AWTSemanticContext.prototype.setUserId = function (userId, pii, userIdType) {\r\n if (!isNaN(userIdType) && userIdType !== null && userIdType >= 0 && userIdType <= 12) {\r\n this._addContext(UI_IDTYPE, userIdType.toString());\r\n }\r\n else {\r\n var inferredUserIdType = void 0;\r\n switch (pii) {\r\n case Enums_1.AWTPiiKind.SipAddress:\r\n inferredUserIdType = Enums_2.AWTUserIdType.SipAddress;\r\n break;\r\n case Enums_1.AWTPiiKind.PhoneNumber:\r\n inferredUserIdType = Enums_2.AWTUserIdType.PhoneNumber;\r\n break;\r\n case Enums_1.AWTPiiKind.SmtpAddress:\r\n inferredUserIdType = Enums_2.AWTUserIdType.EmailAddress;\r\n break;\r\n default:\r\n inferredUserIdType = Enums_2.AWTUserIdType.Unknown;\r\n break;\r\n }\r\n this._addContext(UI_IDTYPE, inferredUserIdType.toString());\r\n }\r\n if (isNaN(pii) || pii === null || pii === Enums_1.AWTPiiKind.NotSet || pii > 13) {\r\n switch (userIdType) {\r\n case Enums_2.AWTUserIdType.Skype:\r\n pii = Enums_1.AWTPiiKind.Identity;\r\n break;\r\n case Enums_2.AWTUserIdType.EmailAddress:\r\n pii = Enums_1.AWTPiiKind.SmtpAddress;\r\n break;\r\n case Enums_2.AWTUserIdType.PhoneNumber:\r\n pii = Enums_1.AWTPiiKind.PhoneNumber;\r\n break;\r\n case Enums_2.AWTUserIdType.SipAddress:\r\n pii = Enums_1.AWTPiiKind.SipAddress;\r\n break;\r\n default:\r\n pii = Enums_1.AWTPiiKind.NotSet;\r\n break;\r\n }\r\n }\r\n this._addContextWithPii('UserInfo.Id', userId, pii);\r\n };\r\n /**\r\n * Sets the field UserInfo.AdvertisingId with the given value.\r\n * @param {string} userAdvertisingId - The AdvertisingId is the user-specific device id obtainable through\r\n * platform API's. This may not be available if users choose to opt-out\r\n * of this id, or if the underlying platform does not support it.\r\n */\r\n AWTSemanticContext.prototype.setUserAdvertisingId = function (userAdvertisingId) {\r\n this._addContext('UserInfo.AdvertisingId', userAdvertisingId);\r\n };\r\n /**\r\n * Sets the field UserInfo.TimeZone with the given value.\r\n * @param {string} userTimeZone - The user's time zone relative to UTC, in ISO 8601 time zone format.\r\n * Examples of acceptable values include \"+00\", \"+07:00\", and \"-1130\".\r\n */\r\n AWTSemanticContext.prototype.setUserTimeZone = function (userTimeZone) {\r\n this._addContext('UserInfo.TimeZone', userTimeZone);\r\n };\r\n /**\r\n * Sets the field UserInfo.Language with the given value.\r\n * @param {string} userLanguage - The user's language in IETF language tag format, as described in RFC 4646.\r\n * Examples of acceptable values include \"en\", \"pt-BR\" and \"zh-Hant-CN\".\r\n */\r\n AWTSemanticContext.prototype.setUserLanguage = function (userLanguage) {\r\n this._addContext('UserInfo.Language', userLanguage);\r\n };\r\n AWTSemanticContext.prototype._addContext = function (key, value) {\r\n if (typeof value === 'string') {\r\n this._properties.setProperty(key, value);\r\n }\r\n };\r\n AWTSemanticContext.prototype._addContextWithPii = function (key, value, pii) {\r\n if (typeof value === 'string') {\r\n this._properties.setPropertyWithPii(key, value, pii);\r\n }\r\n };\r\n return AWTSemanticContext;\r\n}());\r\nexports.default = AWTSemanticContext;\r\n","var isLaziable = require('./_isLaziable'),\n setData = require('./_setData'),\n setWrapToString = require('./_setWrapToString');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n}\n\nmodule.exports = createRecurry;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTSerializer.ts\r\n* @author Brent Erickson (brericks) and Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar Bond = require(\"../bond/microsoft.bond\");\r\nvar Enums_1 = require(\"./Enums\");\r\nvar AWTNotificationManager_1 = require(\"./AWTNotificationManager\");\r\nvar Utils = require(\"./Utils\");\r\nvar RequestSizeLimitBytes = 2936012; //approx 2.8 Mb\r\n/**\r\n* Class to handle serialization of event and request.\r\n* Currently uses Bond for serialization. Please note that this may be subject to change.\r\n*/\r\nvar AWTSerializer = /** @class */ (function () {\r\n function AWTSerializer() {\r\n }\r\n /**\r\n * Serialies a request using Bond.\r\n * @param {object} requestDictionary - A dictionary containing the token to event mapping.\r\n * @param {number} tokenCount - Number of tenant tokens to be sent in the request.\r\n * @return {number[]} The serialized bond request.\r\n */\r\n AWTSerializer.getPayloadBlob = function (requestDictionary, tokenCount) {\r\n var requestFull = false;\r\n var remainingRequest;\r\n var stream = new Bond.IO.MemoryStream();\r\n var writer = new Bond.CompactBinaryProtocolWriter(stream);\r\n //Write TokenToDataPackagesMap\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 3, null);\r\n writer._WriteMapContainerBegin(tokenCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_LIST);\r\n for (var token in requestDictionary) {\r\n if (!requestFull) {\r\n if (requestDictionary.hasOwnProperty(token)) {\r\n //write token\r\n writer._WriteString(token);\r\n var dataPackage = requestDictionary[token];\r\n // Write list of DataPackages\r\n writer._WriteContainerBegin(1, Bond._BondDataType._BT_STRUCT);\r\n // Source\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 2, null);\r\n writer._WriteString('act_default_source');\r\n // DataPackageId\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 5, null);\r\n writer._WriteString(Utils.newGuid());\r\n // Timestamp\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT64, 6, null);\r\n writer._WriteInt64(Utils.numberToBondInt64(Date.now()));\r\n // Records\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_LIST, 8, null);\r\n //Advance position by 1 for the elementy type which is always struct\r\n var dpSizePos = stream._GetBuffer().length + 1;\r\n writer._WriteContainerBegin(requestDictionary[token].length, Bond._BondDataType._BT_STRUCT);\r\n var dpSizeSerialized = stream._GetBuffer().length - dpSizePos;\r\n for (var i = 0; i < dataPackage.length; ++i) {\r\n var currentStreamPos = stream._GetBuffer().length;\r\n this.writeEvent(dataPackage[i], writer);\r\n if (stream._GetBuffer().length - currentStreamPos > RequestSizeLimitBytes) {\r\n //single event too big\r\n AWTNotificationManager_1.default.eventsRejected([dataPackage[i]], Enums_1.AWTEventsRejectedReason.SizeLimitExceeded);\r\n //move i one place back so that we can evaluate the next element once we delete the current element at pos i\r\n dataPackage.splice(i--, 1);\r\n stream._GetBuffer().splice(currentStreamPos);\r\n //Bond serialization to change the datapackage length since we couldnt send this event\r\n this._addNewDataPackageSize(dataPackage.length, stream, dpSizeSerialized, dpSizePos);\r\n continue;\r\n }\r\n if (stream._GetBuffer().length > RequestSizeLimitBytes) {\r\n //Adding this event exceeded the max request size. We should rever this event and send the serialized request.\r\n //The remaining events should be returned to send in a separate request.\r\n stream._GetBuffer().splice(currentStreamPos);\r\n if (!remainingRequest) {\r\n remainingRequest = {};\r\n }\r\n requestDictionary[token] = dataPackage.splice(0, i);\r\n remainingRequest[token] = dataPackage;\r\n this._addNewDataPackageSize(requestDictionary[token].length, stream, dpSizeSerialized, dpSizePos);\r\n break;\r\n }\r\n }\r\n writer._WriteStructEnd(false);\r\n }\r\n }\r\n else {\r\n if (!remainingRequest) {\r\n remainingRequest = {};\r\n }\r\n remainingRequest[token] = requestDictionary[token];\r\n delete requestDictionary[token];\r\n }\r\n }\r\n // End ClientCollector\r\n writer._WriteStructEnd(false);\r\n return { payloadBlob: stream._GetBuffer(), remainingRequest: remainingRequest };\r\n };\r\n AWTSerializer._addNewDataPackageSize = function (size, stream, oldDpSize, streamPos) {\r\n //Bond serialization to change the datapackage length since we couldnt send everything\r\n var newRecordCountSerialized = Bond._Encoding._Varint_GetBytes(Bond.Number._ToUInt32(size));\r\n for (var j = 0; j < oldDpSize; ++j) {\r\n if (j < newRecordCountSerialized.length) {\r\n stream._GetBuffer()[streamPos + j] = newRecordCountSerialized[j];\r\n }\r\n else {\r\n stream._GetBuffer().slice(streamPos + j, oldDpSize - j);\r\n break;\r\n }\r\n }\r\n };\r\n /**\r\n * Bond serialize the event.\r\n * @param {object} eventData - The event that needs to be serialized.\r\n * @return {number[]} The serialized bond event.\r\n */\r\n AWTSerializer.writeEvent = function (eventData, writer) {\r\n // ID\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 1, null);\r\n writer._WriteString(eventData.id);\r\n // Timestamp\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT64, 3, null);\r\n writer._WriteInt64(Utils.numberToBondInt64(eventData.timestamp));\r\n // Type\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 5, null);\r\n writer._WriteString(eventData.type);\r\n // Event Type\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 6, null);\r\n writer._WriteString(eventData.name);\r\n var propsString = {};\r\n var propStringCount = 0;\r\n var propsInt64 = {};\r\n var propInt64Count = 0;\r\n var propsDouble = {};\r\n var propDoubleCount = 0;\r\n var propsBool = {};\r\n var propBoolCount = 0;\r\n var propsDate = {};\r\n var propDateCount = 0;\r\n var piiProps = {};\r\n var piiPropCount = 0;\r\n var ccProps = {};\r\n var ccPropCount = 0;\r\n // Iterate across event data properties and separate based on pii\r\n for (var key in eventData.properties) {\r\n if (eventData.properties.hasOwnProperty(key)) {\r\n var property = eventData.properties[key];\r\n if (property.cc > 0) {\r\n ccProps[key] = property;\r\n ccPropCount++;\r\n }\r\n else if (property.pii > 0) {\r\n piiProps[key] = property;\r\n piiPropCount++;\r\n }\r\n else {\r\n switch (property.type) {\r\n case Enums_1.AWTPropertyType.String:\r\n propsString[key] = property.value;\r\n propStringCount++;\r\n break;\r\n case Enums_1.AWTPropertyType.Int64:\r\n propsInt64[key] = property.value;\r\n propInt64Count++;\r\n break;\r\n case Enums_1.AWTPropertyType.Double:\r\n propsDouble[key] = property.value;\r\n propDoubleCount++;\r\n break;\r\n case Enums_1.AWTPropertyType.Boolean:\r\n propsBool[key] = property.value;\r\n propBoolCount++;\r\n break;\r\n case Enums_1.AWTPropertyType.Date:\r\n propsDate[key] = property.value;\r\n propDateCount++;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n //Extension map\r\n if (propStringCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 13, null);\r\n writer._WriteMapContainerBegin(propStringCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_STRING);\r\n for (var key in propsString) {\r\n if (propsString.hasOwnProperty(key)) {\r\n var value = propsString[key];\r\n writer._WriteString(key);\r\n writer._WriteString(value.toString());\r\n }\r\n }\r\n }\r\n // Pii\r\n if (piiPropCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 30, null);\r\n writer._WriteMapContainerBegin(piiPropCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_STRUCT);\r\n for (var key in piiProps) {\r\n if (piiProps.hasOwnProperty(key)) {\r\n var property = piiProps[key];\r\n writer._WriteString(key);\r\n // PII Data\r\n // O365 scrubber type\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT32, 1, null);\r\n writer._WriteInt32(1);\r\n // PII Kind\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT32, 2, null);\r\n writer._WriteInt32(property.pii);\r\n // Value\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 3, null);\r\n writer._WriteString(property.value.toString());\r\n writer._WriteStructEnd(false);\r\n }\r\n }\r\n }\r\n // TypedExtensionBoolean map\r\n if (propBoolCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 31, null);\r\n writer._WriteMapContainerBegin(propBoolCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_BOOL);\r\n for (var key in propsBool) {\r\n if (propsBool.hasOwnProperty(key)) {\r\n var value = propsBool[key];\r\n writer._WriteString(key);\r\n writer._WriteBool(value);\r\n }\r\n }\r\n }\r\n //TypedExtensionDateTime map\r\n if (propDateCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 32, null);\r\n writer._WriteMapContainerBegin(propDateCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_INT64);\r\n for (var key in propsDate) {\r\n if (propsDate.hasOwnProperty(key)) {\r\n var value = propsDate[key];\r\n writer._WriteString(key);\r\n writer._WriteInt64(Utils.numberToBondInt64(value));\r\n }\r\n }\r\n }\r\n //TypedExtensionInt64 map\r\n if (propInt64Count) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 33, null);\r\n writer._WriteMapContainerBegin(propInt64Count, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_INT64);\r\n for (var key in propsInt64) {\r\n if (propsInt64.hasOwnProperty(key)) {\r\n var value = propsInt64[key];\r\n writer._WriteString(key);\r\n writer._WriteInt64(Utils.numberToBondInt64(value));\r\n }\r\n }\r\n }\r\n //TypedExtensionDouble map\r\n if (propDoubleCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 34, null);\r\n writer._WriteMapContainerBegin(propDoubleCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_DOUBLE);\r\n for (var key in propsDouble) {\r\n if (propsDouble.hasOwnProperty(key)) {\r\n var value = propsDouble[key];\r\n writer._WriteString(key);\r\n writer._WriteDouble(value);\r\n }\r\n }\r\n }\r\n //CustomerContentExtensions map\r\n if (ccPropCount) {\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_MAP, 36, null);\r\n writer._WriteMapContainerBegin(ccPropCount, Bond._BondDataType._BT_STRING, Bond._BondDataType._BT_STRUCT);\r\n for (var key in ccProps) {\r\n if (ccProps.hasOwnProperty(key)) {\r\n var property = ccProps[key];\r\n writer._WriteString(key);\r\n // CustomerContent Data\r\n // CustomerContentKind\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_INT32, 1, null);\r\n writer._WriteInt32(property.cc);\r\n // RawContent\r\n writer._WriteFieldBegin(Bond._BondDataType._BT_STRING, 2, null);\r\n writer._WriteString(property.value.toString());\r\n writer._WriteStructEnd(false);\r\n }\r\n }\r\n }\r\n writer._WriteStructEnd(false);\r\n };\r\n /**\r\n * Base64 encode the given number[].\r\n * @param {number[]} data - The data to be base64 encoded.\r\n * @return {string} The base64 encoded data.\r\n */\r\n AWTSerializer.base64Encode = function (data) {\r\n return Bond._Encoding._Base64_GetString(data);\r\n };\r\n return AWTSerializer;\r\n}());\r\nexports.default = AWTSerializer;\r\n","/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\nfunction replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n}\n\nmodule.exports = replaceHolders;\n","var baseSetData = require('./_baseSetData'),\n createBind = require('./_createBind'),\n createCurry = require('./_createCurry'),\n createHybrid = require('./_createHybrid'),\n createPartial = require('./_createPartial'),\n getData = require('./_getData'),\n mergeData = require('./_mergeData'),\n setData = require('./_setData'),\n setWrapToString = require('./_setWrapToString'),\n toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n}\n\nmodule.exports = createWrap;\n","var baseCreate = require('./_baseCreate'),\n baseLodash = require('./_baseLodash');\n\n/**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\nfunction LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n}\n\nLodashWrapper.prototype = baseCreate(baseLodash.prototype);\nLodashWrapper.prototype.constructor = LodashWrapper;\n\nmodule.exports = LodashWrapper;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.AWT_REAL_TIME = 'REAL_TIME';\r\nexports.AWT_NEAR_REAL_TIME = 'NEAR_REAL_TIME';\r\nexports.AWT_BEST_EFFORT = 'BEST_EFFORT';\r\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTLogManagerSettings.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar AWTEventProperties_1 = require(\"./AWTEventProperties\");\r\nvar AWTSemanticContext_1 = require(\"./AWTSemanticContext\");\r\n/**\r\n* Class that stores LogManagers context.\r\n*/\r\nvar AWTLogManagerSettings = /** @class */ (function () {\r\n function AWTLogManagerSettings() {\r\n }\r\n AWTLogManagerSettings.logManagerContext = new AWTEventProperties_1.default();\r\n AWTLogManagerSettings.sessionEnabled = true;\r\n AWTLogManagerSettings.loggingEnabled = false;\r\n AWTLogManagerSettings.defaultTenantToken = '';\r\n AWTLogManagerSettings.semanticContext = new AWTSemanticContext_1.default(true, AWTLogManagerSettings.logManagerContext);\r\n return AWTLogManagerSettings;\r\n}());\r\nexports.default = AWTLogManagerSettings;\r\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTEventProperties.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n*/\r\nvar Utils = require(\"../common/Utils\");\r\nvar Enums_1 = require(\"../common/Enums\");\r\n/**\r\n* The AWTEventProperties class is used for creating an event.\r\n*/\r\nvar AWTEventProperties = /** @class */ (function () {\r\n /**\r\n * The AWTEventProperties class constructor.\r\n * @constructor\r\n * @param {string} - [Optional] The name of the event.\r\n */\r\n function AWTEventProperties(name) {\r\n this._event = { name: '', properties: {} };\r\n if (name) {\r\n this.setName(name);\r\n }\r\n }\r\n /**\r\n * Sets the name of the event.\r\n * @param {string} name - The name of the event.\r\n */\r\n AWTEventProperties.prototype.setName = function (name) {\r\n this._event.name = name;\r\n };\r\n /**\r\n * Gets the name of the event.\r\n * @return {string|undefined} - The name of the event, or undefined if the name has not been set.\r\n */\r\n AWTEventProperties.prototype.getName = function () {\r\n return this._event.name;\r\n };\r\n /**\r\n * Sets the base type of the event.\r\n * @param {string} type - The base type of the event.\r\n */\r\n AWTEventProperties.prototype.setType = function (type) {\r\n this._event.type = type;\r\n };\r\n /**\r\n * Gets the base type of the event.\r\n * @return {string|undefined} The base type of the event, or undefined if the base type has not been set.\r\n */\r\n AWTEventProperties.prototype.getType = function () {\r\n return this._event.type;\r\n };\r\n /**\r\n * Sets the timestamp for the event.\r\n * @param {number} timestampInEpochMillis - The timestamp (in milliseconds) since UNIX Epoch.\r\n */\r\n AWTEventProperties.prototype.setTimestamp = function (timestampInEpochMillis) {\r\n this._event.timestamp = timestampInEpochMillis;\r\n };\r\n /**\r\n * Gets the timestamp for the event.\r\n * @return {number|undefined} The timestamp for the event, or undefined if it has not been set.\r\n */\r\n AWTEventProperties.prototype.getTimestamp = function () {\r\n return this._event.timestamp;\r\n };\r\n /**\r\n * Sets the priority for sending the event. The default priority\r\n * of the event is Normal.\r\n * @param {enum} priority - An AWTEventPriority enumeration value that specifies the priority of the event.\r\n */\r\n AWTEventProperties.prototype.setEventPriority = function (priority) {\r\n this._event.priority = priority;\r\n };\r\n /**\r\n * Gets the priority for the event.\r\n * @return {AWTEventPriority} - An AWTEventPriority enumeration value that specifies the priority of the event.\r\n */\r\n AWTEventProperties.prototype.getEventPriority = function () {\r\n return this._event.priority;\r\n };\r\n /**\r\n * Sets a property with a name and value. Optionally sets the property type.\r\n * @param {string} name - The name of the property.\r\n * @param {string|number|boolean|Date} value - The property's value.\r\n * @param {enum} type - [Optional] One of the AWTPropertyType enumeration values that specifies\r\n * the type for the property.\r\n */\r\n AWTEventProperties.prototype.setProperty = function (name, value, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n var property = { value: value, type: type, pii: Enums_1.AWTPiiKind.NotSet, cc: Enums_1.AWTCustomerContentKind.NotSet };\r\n property = Utils.sanitizeProperty(name, property);\r\n if (property === null) {\r\n delete this._event.properties[name];\r\n return;\r\n }\r\n this._event.properties[name] = property;\r\n };\r\n /**\r\n * Sets a property with a name, a value, and a PII. Optionally sets the property type.\r\n * @param {string} name - The name of the property.\r\n * @param {string|number|boolean|Date} value - The property's value.\r\n * @param {enum} pii - The kind of PII for the property.\r\n * @param {enum} type - [Optional] One of the AWTPropertyType enumeration values that specifies\r\n * the type for the property.\r\n */\r\n AWTEventProperties.prototype.setPropertyWithPii = function (name, value, pii, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n var property = { value: value, type: type, pii: pii, cc: Enums_1.AWTCustomerContentKind.NotSet };\r\n property = Utils.sanitizeProperty(name, property);\r\n if (property === null) {\r\n delete this._event.properties[name];\r\n return;\r\n }\r\n this._event.properties[name] = property;\r\n };\r\n /**\r\n * Sets a property with name, value and customer content. Optionally set the property type of the value.\r\n * @param {string} name - The name of the property.\r\n * @param {string|number|boolean|Date} value - The property's value.\r\n * @param {enum} customerContent - The customer content kind for the property.\r\n * @param {enum} type - [Optional] One of the AWTPropertyType enumeration values that specifies\r\n * the type for the property.\r\n */\r\n AWTEventProperties.prototype.setPropertyWithCustomerContent = function (name, value, customerContent, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n var property = { value: value, type: type, pii: Enums_1.AWTPiiKind.NotSet, cc: customerContent };\r\n property = Utils.sanitizeProperty(name, property);\r\n if (property === null) {\r\n delete this._event.properties[name];\r\n return;\r\n }\r\n this._event.properties[name] = property;\r\n };\r\n /**\r\n * Gets the properties currently added to the event.\r\n * @return {object} A Map containing the current properties.\r\n */\r\n AWTEventProperties.prototype.getPropertyMap = function () {\r\n return this._event.properties;\r\n };\r\n /**\r\n * Gets the event from this event properties object.\r\n * @return {object} The event properties compiled into AWTEventData.\r\n */\r\n AWTEventProperties.prototype.getEvent = function () {\r\n return this._event;\r\n };\r\n return AWTEventProperties;\r\n}());\r\nexports.default = AWTEventProperties;\r\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* Utils.ts\r\n* @author Brent Erickson (brericks) and Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n* File containing utility functions.\r\n*/\r\nvar microsoft_bond_primitives_1 = require(\"../bond/microsoft.bond.primitives\");\r\nvar Enums_1 = require(\"./Enums\");\r\nvar GuidRegex = /[xy]/g;\r\nvar MSTillUnixEpoch = 62135596800000;\r\nvar MSToTicksMultiplier = 10000;\r\nvar NullValue = null;\r\nexports.EventNameAndTypeRegex = /^[a-zA-Z]([a-zA-Z0-9]|_){2,98}[a-zA-Z0-9]$/;\r\nexports.EventNameDotRegex = /\\./g;\r\nexports.PropertyNameRegex = /^[a-zA-Z](([a-zA-Z0-9|_|\\.]){0,98}[a-zA-Z0-9])?$/;\r\nexports.StatsApiKey = 'a387cfcf60114a43a7699f9fbb49289e-9bceb9fe-1c06-460f-96c5-6a0b247358bc-7238';\r\nvar beaconsSupported = NullValue;\r\nvar uInt8ArraySupported = NullValue;\r\nvar useXDR = NullValue;\r\n/**\r\n * Converts a number to Bond Int64.\r\n * @param {number} value - The number to be converted.\r\n * @return {object} The Int64 value for the passed number.\r\n */\r\nfunction numberToBondInt64(value) {\r\n // Construct bond timestamp for aria\r\n var bond_value = new microsoft_bond_primitives_1.Int64('0');\r\n bond_value.low = value & 0xffffffff;\r\n bond_value.high = Math.floor(value / 0x100000000);\r\n return bond_value;\r\n}\r\nexports.numberToBondInt64 = numberToBondInt64;\r\n/**\r\n * Creates a new GUID.\r\n * @return {string} A GUID.\r\n */\r\nfunction newGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(GuidRegex, function (c) {\r\n var r = (Math.random() * 16 | 0), v = (c === 'x' ? r : r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n}\r\nexports.newGuid = newGuid;\r\n/**\r\n * Checks if the type of value is a string.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a string, false otherwise.\r\n */\r\nfunction isString(value) {\r\n return typeof value === 'string';\r\n}\r\nexports.isString = isString;\r\n/**\r\n * Checks if the type of value is a number.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a number, false otherwise.\r\n */\r\nfunction isNumber(value) {\r\n return typeof value === 'number';\r\n}\r\nexports.isNumber = isNumber;\r\n/**\r\n * Checks if the type of value is a boolean.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a boolean, false otherwise.\r\n */\r\nfunction isBoolean(value) {\r\n return typeof value === 'boolean';\r\n}\r\nexports.isBoolean = isBoolean;\r\n/**\r\n * Check if the type of value is a date.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a date, false otherwise.\r\n */\r\nfunction isDate(value) {\r\n return value instanceof Date;\r\n}\r\nexports.isDate = isDate;\r\n/**\r\n * Converts milliseconds to ticks since 00:00:00 Jan 1, 0001.\r\n * @param {number} msToTicks - The milliseconds value to be converted.\r\n * @return {number} The value of the milliseconds in .Net Ticks.\r\n */\r\nfunction msToTicks(timeInMs) {\r\n return (timeInMs + MSTillUnixEpoch) * MSToTicksMultiplier;\r\n}\r\nexports.msToTicks = msToTicks;\r\n/**\r\n * Gets the tenant id from the tenant token.\r\n * @param {string} apiKey - The token from which the tenant id is to be extracted.\r\n * @return {string} The tenant id.\r\n */\r\nfunction getTenantId(apiKey) {\r\n var indexTenantId = apiKey.indexOf('-');\r\n if (indexTenantId > -1) {\r\n return apiKey.substring(0, indexTenantId);\r\n }\r\n return '';\r\n}\r\nexports.getTenantId = getTenantId;\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @return {boolean} True if supported, false otherwise.\r\n */\r\nfunction isBeaconsSupported() {\r\n if (beaconsSupported === NullValue) {\r\n beaconsSupported = typeof navigator !== 'undefined' && Boolean(navigator.sendBeacon);\r\n }\r\n return beaconsSupported;\r\n}\r\nexports.isBeaconsSupported = isBeaconsSupported;\r\n/**\r\n * Checks if Uint8Array are available in the current environment. Safari and Firefox along with\r\n * ReactNative are known to not support Uint8Array properly.\r\n * @return {boolean} True if available, false otherwise.\r\n */\r\nfunction isUint8ArrayAvailable() {\r\n if (uInt8ArraySupported === NullValue) {\r\n uInt8ArraySupported = typeof Uint8Array !== 'undefined' && !isSafariOrFirefox() && !isReactNative();\r\n }\r\n return uInt8ArraySupported;\r\n}\r\nexports.isUint8ArrayAvailable = isUint8ArrayAvailable;\r\n/**\r\n * Checks if the value is an AWTEventPriority.\r\n * @param {enum} value - The value that needs to be checked.\r\n * @return {boolean} True if the value is in AWTEventPriority, false otherwise.\r\n */\r\nfunction isPriority(value) {\r\n if (isNumber(value) && ((value >= 1 && value <= 3) || value === 5)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexports.isPriority = isPriority;\r\n/**\r\n * Sanitizes the Property. It checks the that the property name and value are valid. It also\r\n * checks/populates the correct type and pii of the property value.\r\n * @param {string} name - The property name.\r\n * @param {string|number|boolean|Date|object} property - The property value or an AWTEventProperty containing value,\r\n * type ,pii and customer content.\r\n * @return {object} AWTEventProperty containing valid name, value, pii and type or null if invalid.\r\n */\r\nfunction sanitizeProperty(name, property) {\r\n //Check that property is valid\r\n if (!exports.PropertyNameRegex.test(name) || isNotDefined(property)) {\r\n return NullValue;\r\n }\r\n //Check if type is AWTEventProperty. If not convert to AWTEventProperty\r\n if (isNotDefined(property.value)) {\r\n property = { value: property, type: Enums_1.AWTPropertyType.Unspecified };\r\n }\r\n property.type = sanitizePropertyType(property.value, property.type);\r\n if (!property.type) {\r\n return NullValue;\r\n }\r\n //If value is date. Then convert to number in Ticks.\r\n if (isDate(property.value)) {\r\n property.value = msToTicks(property.value.getTime());\r\n }\r\n //Ensure that only one of pii or customer content can be set\r\n if (property.pii > 0 && property.cc > 0) {\r\n return NullValue;\r\n }\r\n //If pii is set we need to validate its enum value.\r\n if (property.pii) {\r\n return isPii(property.pii) ? property : NullValue;\r\n }\r\n //If cc is set we need to validate its enum value.\r\n if (property.cc) {\r\n return isCustomerContent(property.cc) ? property : NullValue;\r\n }\r\n return property;\r\n}\r\nexports.sanitizeProperty = sanitizeProperty;\r\n/**\r\n * Converts a date object into an ISO string. This is needed because not all browsers support ISO string format\r\n * on the date.\r\n * @param {object} date - The date which needs to be converted to ISO format.\r\n * @return {string} The date in ISO format.\r\n */\r\nfunction getISOString(date) {\r\n return date.getUTCFullYear() + '-' +\r\n twoDigit(date.getUTCMonth() + 1) + '-' +\r\n twoDigit(date.getUTCDate()) + 'T' +\r\n twoDigit(date.getUTCHours()) + ':' +\r\n twoDigit(date.getUTCMinutes()) + ':' +\r\n twoDigit(date.getUTCSeconds()) + '.' +\r\n threeDigit(date.getUTCMilliseconds()) + 'Z';\r\n}\r\nexports.getISOString = getISOString;\r\nfunction useXDomainRequest() {\r\n if (useXDR === NullValue) {\r\n var conn = new XMLHttpRequest();\r\n if (typeof conn.withCredentials === 'undefined' &&\r\n typeof XDomainRequest !== 'undefined') {\r\n useXDR = true;\r\n }\r\n else {\r\n useXDR = false;\r\n }\r\n }\r\n return useXDR;\r\n}\r\nexports.useXDomainRequest = useXDomainRequest;\r\nfunction isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n if (typeof navigator !== 'undefined' && navigator.product) {\r\n return navigator.product === 'ReactNative';\r\n }\r\n return false;\r\n}\r\nexports.isReactNative = isReactNative;\r\nfunction twoDigit(n) {\r\n // Format integers to have at least two digits.\r\n return n < 10 ? '0' + n : n.toString();\r\n}\r\nfunction threeDigit(n) {\r\n // Format integers to have at least three digits.\r\n if (n < 10) {\r\n return '00' + n;\r\n }\r\n else if (n < 100) {\r\n return '0' + n;\r\n }\r\n return n.toString();\r\n}\r\nfunction sanitizePropertyType(value, type) {\r\n type = !isPropertyType(type) ? Enums_1.AWTPropertyType.Unspecified : type;\r\n switch (type) {\r\n case Enums_1.AWTPropertyType.Unspecified:\r\n return getCorrectType(value);\r\n case Enums_1.AWTPropertyType.String:\r\n return isString(value) ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Boolean:\r\n return isBoolean(value) ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Date:\r\n return isDate(value) && value.getTime() !== NaN ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Int64:\r\n return isNumber(value) && value % 1 === 0 ? type : NullValue;\r\n case Enums_1.AWTPropertyType.Double:\r\n return isNumber(value) ? type : NullValue;\r\n }\r\n return NullValue;\r\n}\r\nfunction getCorrectType(value) {\r\n switch (typeof value) {\r\n case 'string':\r\n return Enums_1.AWTPropertyType.String;\r\n case 'boolean':\r\n return Enums_1.AWTPropertyType.Boolean;\r\n case 'number':\r\n return Enums_1.AWTPropertyType.Double;\r\n case 'object':\r\n return isDate(value) ? Enums_1.AWTPropertyType.Date : NullValue;\r\n }\r\n return NullValue;\r\n}\r\nfunction isPii(value) {\r\n if (isNumber(value) && value >= 0 && value <= 13) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isCustomerContent(value) {\r\n if (isNumber(value) && value >= 0 && value <= 1) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isPropertyType(value) {\r\n if (isNumber(value) && value >= 0 && value <= 4) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction isSafariOrFirefox() {\r\n // If non-browser navigator will be undefined\r\n if (typeof navigator !== 'undefined' && navigator.userAgent) {\r\n var ua = navigator.userAgent.toLowerCase();\r\n if ((ua.indexOf('safari') >= 0 || ua.indexOf('firefox') >= 0) && ua.indexOf('chrome') < 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction isNotDefined(value) {\r\n return value === undefined || value === NullValue || value === '';\r\n}\r\n","var baseSetData = require('./_baseSetData'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar setData = shortOut(baseSetData);\n\nmodule.exports = setData;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var realNames = require('./_realNames');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\nfunction getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n}\n\nmodule.exports = getFuncName;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AriaSDK.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n* File to export public classes, interfaces and enums.\r\n*/\r\nvar Enums_1 = require(\"../common/Enums\");\r\nexports.AWTPropertyType = Enums_1.AWTPropertyType;\r\nexports.AWTPiiKind = Enums_1.AWTPiiKind;\r\nexports.AWTEventPriority = Enums_1.AWTEventPriority;\r\nexports.AWTEventsDroppedReason = Enums_1.AWTEventsDroppedReason;\r\nexports.AWTEventsRejectedReason = Enums_1.AWTEventsRejectedReason;\r\nexports.AWTCustomerContentKind = Enums_1.AWTCustomerContentKind;\r\nvar Enums_2 = require(\"./Enums\");\r\nexports.AWTUserIdType = Enums_2.AWTUserIdType;\r\nexports.AWTSessionState = Enums_2.AWTSessionState;\r\nvar DataModels_1 = require(\"./DataModels\");\r\nexports.AWT_BEST_EFFORT = DataModels_1.AWT_BEST_EFFORT;\r\nexports.AWT_NEAR_REAL_TIME = DataModels_1.AWT_NEAR_REAL_TIME;\r\nexports.AWT_REAL_TIME = DataModels_1.AWT_REAL_TIME;\r\nvar AWTEventProperties_1 = require(\"./AWTEventProperties\");\r\nexports.AWTEventProperties = AWTEventProperties_1.default;\r\nvar AWTLogger_1 = require(\"./AWTLogger\");\r\nexports.AWTLogger = AWTLogger_1.default;\r\nvar AWTLogManager_1 = require(\"./AWTLogManager\");\r\nexports.AWTLogManager = AWTLogManager_1.default;\r\nvar AWTTransmissionManager_1 = require(\"./AWTTransmissionManager\");\r\nexports.AWTTransmissionManager = AWTTransmissionManager_1.default;\r\nvar AWTSerializer_1 = require(\"../common/AWTSerializer\");\r\nexports.AWTSerializer = AWTSerializer_1.default;\r\nvar AWTSemanticContext_1 = require(\"./AWTSemanticContext\");\r\nexports.AWTSemanticContext = AWTSemanticContext_1.default;\r\nexports.AWT_COLLECTOR_URL_UNITED_STATES = 'https://us.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_GERMANY = 'https://de.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_JAPAN = 'https://jp.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_AUSTRALIA = 'https://au.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_EUROPE = 'https://eu.pipe.aria.microsoft.com/Collector/3.0/';\r\nexports.AWT_COLLECTOR_URL_USGOV_DOD = 'https://pf.pipe.aria.microsoft.com/Collector/3.0';\r\nexports.AWT_COLLECTOR_URL_USGOV_DOJ = 'https://tb.pipe.aria.microsoft.com/Collector/3.0';\r\n","var baseCreate = require('./_baseCreate'),\n isObject = require('./isObject');\n\n/**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n}\n\nmodule.exports = createCtor;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","\"use strict\";\n/**\n * GenericRestClient.ts\n * Author: David de Regt\n * Copyright: Microsoft 2015\n *\n * Base client type for accessing RESTful services\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar utils_1 = require(\"./utils\");\nvar SimpleWebRequest_1 = require(\"./SimpleWebRequest\");\nvar GenericRestClient = /** @class */ (function () {\n function GenericRestClient(endpointUrl) {\n this._defaultOptions = {\n excludeEndpointUrl: false,\n withCredentials: false,\n retries: 0,\n };\n this._endpointUrl = endpointUrl;\n }\n GenericRestClient.prototype._performApiCall = function (apiPath, action, objToPost, givenOptions) {\n var _this = this;\n if (givenOptions === void 0) { givenOptions = {}; }\n var options = __assign(__assign({}, this._defaultOptions), givenOptions);\n if (objToPost) {\n options.sendData = objToPost;\n }\n if (options.eTag) {\n if (!options.augmentHeaders) {\n options.augmentHeaders = {};\n }\n options.augmentHeaders['If-None-Match'] = options.eTag;\n }\n if (!options.contentType) {\n options.contentType = utils_1.isString(options.sendData) ? 'form' : 'json';\n }\n var finalUrl = options.excludeEndpointUrl ? apiPath : this._endpointUrl + apiPath;\n return new SimpleWebRequest_1.SimpleWebRequest(action, finalUrl, options, function () { return _this._getHeaders(options); }, function () { return _this._blockRequestUntil(options); })\n .start()\n .then(function (response) {\n _this._processSuccessResponse(response);\n return response;\n });\n };\n GenericRestClient.prototype._getHeaders = function (options) {\n // Virtual function -- No-op by default\n return {};\n };\n // Override (but make sure to call super and chain appropriately) this function if you want to add more blocking criteria.\n // Also, this might be called multiple times to check if the conditions changed\n GenericRestClient.prototype._blockRequestUntil = function (options) {\n // No-op by default\n return undefined;\n };\n // Override this function to process any generic headers that come down with a successful response\n GenericRestClient.prototype._processSuccessResponse = function (resp) {\n // No-op by default\n };\n GenericRestClient.prototype.performApiGet = function (apiPath, options) {\n return this\n .performApiGetDetailed(apiPath, options)\n .then(function (resp) { return resp.body; });\n };\n GenericRestClient.prototype.performApiGetDetailed = function (apiPath, options) {\n return this._performApiCall(apiPath, 'GET', undefined, options);\n };\n GenericRestClient.prototype.performApiPost = function (apiPath, objToPost, options) {\n return this\n .performApiPostDetailed(apiPath, objToPost, options)\n .then(function (resp) { return resp.body; });\n };\n GenericRestClient.prototype.performApiPostDetailed = function (apiPath, objToPost, options) {\n return this._performApiCall(apiPath, 'POST', objToPost, options);\n };\n GenericRestClient.prototype.performApiPatch = function (apiPath, objToPatch, options) {\n return this\n .performApiPatchDetailed(apiPath, objToPatch, options)\n .then(function (resp) { return resp.body; });\n };\n GenericRestClient.prototype.performApiPatchDetailed = function (apiPath, objToPatch, options) {\n return this._performApiCall(apiPath, 'PATCH', objToPatch, options);\n };\n GenericRestClient.prototype.performApiPut = function (apiPath, objToPut, options) {\n return this\n .performApiPutDetailed(apiPath, objToPut, options)\n .then(function (resp) { return resp.body; });\n };\n GenericRestClient.prototype.performApiPutDetailed = function (apiPath, objToPut, options) {\n return this._performApiCall(apiPath, 'PUT', objToPut, options);\n };\n GenericRestClient.prototype.performApiDelete = function (apiPath, objToDelete, options) {\n return this\n .performApiDeleteDetailed(apiPath, objToDelete, options)\n .then(function (resp) { return resp.body; });\n };\n GenericRestClient.prototype.performApiDeleteDetailed = function (apiPath, objToDelete, options) {\n return this._performApiCall(apiPath, 'DELETE', objToDelete, options);\n };\n return GenericRestClient;\n}());\nexports.GenericRestClient = GenericRestClient;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/** Used to lookup unminified function names. */\nvar realNames = {};\n\nmodule.exports = realNames;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar AWTSerializer_1 = require(\"../common/AWTSerializer\");\r\nvar AWTRetryPolicy_1 = require(\"../common/AWTRetryPolicy\");\r\nvar AWTKillSwitch_1 = require(\"../common/AWTKillSwitch\");\r\nvar AWTClockSkewManager_1 = require(\"../common/AWTClockSkewManager\");\r\nvar Version = require(\"./Version\");\r\nvar Utils = require(\"../common/Utils\");\r\nvar AWTNotificationManager_1 = require(\"../common/AWTNotificationManager\");\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\nvar MaxConnections = 2;\r\nvar MaxRetries = 1;\r\nvar Method = 'POST';\r\n/**\r\n * Class managing the sending of requests.\r\n */\r\nvar AWTHttpManager = /** @class */ (function () {\r\n /**\r\n * @constructor\r\n * @param {object} requestQueue - The queue that contains the requests to be sent.\r\n * @param {string} collectorUrl - The collector url to which the requests must be sent.\r\n * @param {object} _queueManager - The queue manager that we should add requests back to if needed.\r\n * @param {object} _httpInterface - The http interface that should be used to send HTTP requests.\r\n */\r\n function AWTHttpManager(_requestQueue, collectorUrl, _queueManager, _httpInterface, clockSkewRefreshDurationInMins) {\r\n var _this = this;\r\n this._requestQueue = _requestQueue;\r\n this._queueManager = _queueManager;\r\n this._httpInterface = _httpInterface;\r\n this._urlString = '?qsp=true&content-type=application%2Fbond-compact-binary&client-id=NO_AUTH&sdk-version='\r\n + Version.FullVersionString;\r\n this._killSwitch = new AWTKillSwitch_1.default();\r\n this._paused = false;\r\n this._useBeacons = false;\r\n this._activeConnections = 0;\r\n this._clockSkewManager = new AWTClockSkewManager_1.default(clockSkewRefreshDurationInMins);\r\n if (!Utils.isUint8ArrayAvailable()) {\r\n this._urlString += '&content-encoding=base64';\r\n }\r\n this._urlString = collectorUrl + this._urlString;\r\n if (!this._httpInterface) {\r\n this._useBeacons = !Utils.isReactNative(); //Only use beacons if not running in React Native\r\n this._httpInterface = {\r\n sendPOST: function (urlString, data, ontimeout, onerror, onload, sync) {\r\n try {\r\n if (Utils.useXDomainRequest()) {\r\n var xdr = new XDomainRequest();\r\n xdr.open(Method, urlString);\r\n //can't get the status code in xdr.\r\n xdr.onload = function () {\r\n // we will assume onload means the request succeeded.\r\n onload(200, null);\r\n };\r\n xdr.onerror = function () {\r\n // we will assume onerror means we need to drop the events.\r\n onerror(400, null);\r\n };\r\n xdr.ontimeout = function () {\r\n // we will assume ontimeout means we need to retry the events.\r\n ontimeout(500, null);\r\n };\r\n xdr.send(data);\r\n }\r\n else if (Utils.isReactNative()) {\r\n //Use the fetch API to send events in React Native\r\n fetch(urlString, {\r\n body: data,\r\n method: Method\r\n }).then(function (response) {\r\n var headerMap = {};\r\n if (response.headers) {\r\n response.headers.forEach(function (value, name) {\r\n headerMap[name] = value;\r\n });\r\n }\r\n onload(response.status, headerMap);\r\n }).catch(function (error) {\r\n //In case there is an error in the request. Set the status to 0\r\n //so that the events can be retried later.\r\n onerror(0, {});\r\n });\r\n }\r\n else {\r\n var xhr_1 = new XMLHttpRequest();\r\n xhr_1.open(Method, urlString, !sync);\r\n xhr_1.onload = function () {\r\n onload(xhr_1.status, _this._convertAllHeadersToMap(xhr_1.getAllResponseHeaders()));\r\n };\r\n xhr_1.onerror = function () {\r\n onerror(xhr_1.status, _this._convertAllHeadersToMap(xhr_1.getAllResponseHeaders()));\r\n };\r\n xhr_1.ontimeout = function () {\r\n ontimeout(xhr_1.status, _this._convertAllHeadersToMap(xhr_1.getAllResponseHeaders()));\r\n };\r\n xhr_1.send(data);\r\n }\r\n }\r\n catch (e) {\r\n // we will assume exception means we need to drop the events.\r\n onerror(400, null);\r\n }\r\n }\r\n };\r\n }\r\n }\r\n /**\r\n * Check if there is an idle connection overwhich we can send a request.\r\n * @return {boolean} True if there is an idle connection, false otherwise.\r\n */\r\n AWTHttpManager.prototype.hasIdleConnection = function () {\r\n return this._activeConnections < MaxConnections;\r\n };\r\n /**\r\n * Send requests in the request queue up if there is an idle connection, sending is\r\n * not pause and clock skew manager allows sending request.\r\n */\r\n AWTHttpManager.prototype.sendQueuedRequests = function () {\r\n while (this.hasIdleConnection() && !this._paused && this._requestQueue.length > 0\r\n && this._clockSkewManager.allowRequestSending()) {\r\n this._activeConnections++;\r\n this._sendRequest(this._requestQueue.shift(), 0, false);\r\n }\r\n //No more requests to send, tell TPM to try to schedule timer\r\n //in case it was waiting for idle connections\r\n if (this.hasIdleConnection()) {\r\n AWTTransmissionManagerCore_1.default.scheduleTimer();\r\n }\r\n };\r\n /**\r\n * Check if there are no active requests being sent.\r\n * @return {boolean} True if idle, false otherwise.\r\n */\r\n AWTHttpManager.prototype.isCompletelyIdle = function () {\r\n return this._activeConnections === 0;\r\n };\r\n /**\r\n * Queue all the remaning requests to be sent. The requests will be\r\n * sent using HTML5 Beacons if they are available.\r\n */\r\n AWTHttpManager.prototype.teardown = function () {\r\n while (this._requestQueue.length > 0) {\r\n this._sendRequest(this._requestQueue.shift(), 0, true);\r\n }\r\n };\r\n /**\r\n * Pause the sending of requests. No new requests will be sent.\r\n */\r\n AWTHttpManager.prototype.pause = function () {\r\n this._paused = true;\r\n };\r\n /**\r\n * Resume the sending of requests.\r\n */\r\n AWTHttpManager.prototype.resume = function () {\r\n this._paused = false;\r\n this.sendQueuedRequests();\r\n };\r\n /**\r\n * Removes any pending requests to be sent.\r\n */\r\n AWTHttpManager.prototype.removeQueuedRequests = function () {\r\n this._requestQueue.length = 0;\r\n };\r\n /**\r\n * Sends a request synchronously to the Aria collector. This api is used to send\r\n * a request containing a single immediate event.\r\n *\r\n * @param request - The request to be sent.\r\n * @param token - The token used to send the request.\r\n */\r\n AWTHttpManager.prototype.sendSynchronousRequest = function (request, token) {\r\n //This will not take into account the max connections restriction. Since this is sync, we can \r\n //only send one of this request at a time and thus should not worry about multiple connections \r\n //being used to send synchronoush events.\r\n if (this._paused) {\r\n //If paused then convert to High priority. It will be added back to queue in _sendRequest\r\n request[token][0].priority = Enums_1.AWTEventPriority.High;\r\n }\r\n //Increment active connection since we are still going to use a connection to send the request.\r\n this._activeConnections++;\r\n //For sync requests we will not wait for the clock skew. \r\n this._sendRequest(request, 0, false, true);\r\n };\r\n AWTHttpManager.prototype._sendRequest = function (request, retryCount, isTeardown, isSynchronous) {\r\n var _this = this;\r\n if (isSynchronous === void 0) { isSynchronous = false; }\r\n try {\r\n if (this._paused) {\r\n this._activeConnections--;\r\n this._queueManager.addBackRequest(request);\r\n return;\r\n }\r\n var tokenCount_1 = 0;\r\n var apikey_1 = '';\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n if (!this._killSwitch.isTenantKilled(token)) {\r\n if (apikey_1.length > 0) {\r\n apikey_1 += ',';\r\n }\r\n apikey_1 += token;\r\n tokenCount_1++;\r\n }\r\n else {\r\n AWTNotificationManager_1.default.eventsRejected(request[token], Enums_1.AWTEventsRejectedReason.KillSwitch);\r\n delete request[token];\r\n }\r\n }\r\n }\r\n if (tokenCount_1 > 0) {\r\n var payloadResult = AWTSerializer_1.default.getPayloadBlob(request, tokenCount_1);\r\n if (payloadResult.remainingRequest) {\r\n this._requestQueue.push(payloadResult.remainingRequest);\r\n }\r\n var urlString = this._urlString + '&x-apikey=' + apikey_1 + '&client-time-epoch-millis='\r\n + Date.now().toString();\r\n if (this._clockSkewManager.shouldAddClockSkewHeaders()) {\r\n urlString = urlString + '&time-delta-to-apply-millis=' + this._clockSkewManager.getClockSkewHeaderValue();\r\n }\r\n var data = void 0;\r\n if (!Utils.isUint8ArrayAvailable()) {\r\n data = AWTSerializer_1.default.base64Encode(payloadResult.payloadBlob);\r\n }\r\n else {\r\n data = new Uint8Array(payloadResult.payloadBlob);\r\n }\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n //Increment the send attempt count\r\n for (var i = 0; i < request[token].length; ++i) {\r\n request[token][i].sendAttempt > 0 ? request[token][i].sendAttempt++ : request[token][i].sendAttempt = 1;\r\n }\r\n }\r\n }\r\n //beacons will not be used if an http interface was passed by the customer\r\n if (this._useBeacons && isTeardown && Utils.isBeaconsSupported()) {\r\n if (navigator.sendBeacon(urlString, data)) {\r\n //Request sent via beacon.\r\n return;\r\n }\r\n }\r\n //Send sync requests if the request is immediate or we are tearing down telemetry.\r\n this._httpInterface.sendPOST(urlString, data, function (status, headers) {\r\n _this._retryRequestIfNeeded(status, headers, request, tokenCount_1, apikey_1, retryCount, isTeardown, isSynchronous);\r\n }, function (status, headers) {\r\n _this._retryRequestIfNeeded(status, headers, request, tokenCount_1, apikey_1, retryCount, isTeardown, isSynchronous);\r\n }, function (status, headers) {\r\n _this._retryRequestIfNeeded(status, headers, request, tokenCount_1, apikey_1, retryCount, isTeardown, isSynchronous);\r\n }, isTeardown || isSynchronous);\r\n }\r\n else if (!isTeardown) {\r\n this._handleRequestFinished(false, {}, isTeardown, isSynchronous);\r\n }\r\n }\r\n catch (e) {\r\n //If we catch any error while sending the request, drop the request.\r\n this._handleRequestFinished(false, {}, isTeardown, isSynchronous);\r\n }\r\n };\r\n AWTHttpManager.prototype._retryRequestIfNeeded = function (status, headers, request, tokenCount, apikey, retryCount, isTeardown, isSynchronous) {\r\n var _this = this;\r\n var shouldRetry = true;\r\n if (typeof status !== 'undefined') {\r\n if (headers) {\r\n var killedTokens = this._killSwitch.setKillSwitchTenants(headers['kill-tokens'], headers['kill-duration-seconds']);\r\n this._clockSkewManager.setClockSkew(headers['time-delta-millis']);\r\n for (var i = 0; i < killedTokens.length; ++i) {\r\n AWTNotificationManager_1.default.eventsRejected(request[killedTokens[i]], Enums_1.AWTEventsRejectedReason.KillSwitch);\r\n delete request[killedTokens[i]];\r\n tokenCount--;\r\n }\r\n }\r\n else {\r\n this._clockSkewManager.setClockSkew(null);\r\n }\r\n if (status === 200) {\r\n this._handleRequestFinished(true, request, isTeardown, isSynchronous);\r\n return;\r\n }\r\n if (!AWTRetryPolicy_1.default.shouldRetryForStatus(status) || tokenCount <= 0) {\r\n shouldRetry = false;\r\n }\r\n }\r\n if (shouldRetry) {\r\n if (isSynchronous) {\r\n //Synchronous events only contain a single event so the apiKey is equal to the token for that event.\r\n //Convert the event to High priority and add back to queue to be sent as High event.\r\n this._activeConnections--;\r\n request[apikey][0].priority = Enums_1.AWTEventPriority.High;\r\n this._queueManager.addBackRequest(request);\r\n }\r\n else if (retryCount < MaxRetries) {\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n AWTNotificationManager_1.default.eventsRetrying(request[token]);\r\n }\r\n }\r\n setTimeout(function () { return _this._sendRequest(request, retryCount + 1, false); }, AWTRetryPolicy_1.default.getMillisToBackoffForRetry(retryCount));\r\n }\r\n else {\r\n this._activeConnections--;\r\n AWTTransmissionManagerCore_1.default.backOffTransmission();\r\n this._queueManager.addBackRequest(request);\r\n }\r\n }\r\n else {\r\n this._handleRequestFinished(false, request, isTeardown, isSynchronous);\r\n }\r\n };\r\n AWTHttpManager.prototype._handleRequestFinished = function (success, request, isTeardown, isSynchronous) {\r\n if (success) {\r\n AWTTransmissionManagerCore_1.default.clearBackOff();\r\n }\r\n for (var token in request) {\r\n if (request.hasOwnProperty(token)) {\r\n if (success) {\r\n AWTNotificationManager_1.default.eventsSent(request[token]);\r\n }\r\n else {\r\n AWTNotificationManager_1.default.eventsDropped(request[token], Enums_1.AWTEventsDroppedReason.NonRetryableStatus);\r\n }\r\n }\r\n }\r\n this._activeConnections--;\r\n if (!isSynchronous && !isTeardown) {\r\n //Only continue sending more requests as long as the current request was not an synchronous request or sent\r\n //during teardown. We want to return after just sending this one sync request.\r\n this.sendQueuedRequests();\r\n }\r\n };\r\n /**\r\n * Converts the XHR getAllResponseHeaders to a map containing the header key and value.\r\n */\r\n AWTHttpManager.prototype._convertAllHeadersToMap = function (headersString) {\r\n var headers = {};\r\n if (headersString) {\r\n var headersArray = headersString.split('\\n');\r\n for (var i = 0; i < headersArray.length; ++i) {\r\n var header = headersArray[i].split(': ');\r\n headers[header[0]] = header[1];\r\n }\r\n }\r\n return headers;\r\n };\r\n return AWTHttpManager;\r\n}());\r\nexports.default = AWTHttpManager;\r\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v1.0.2\n Copyright © 2012-2021 Faisal Salman \n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '1.0.2',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n UA_MAX_LENGTH = 255;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i=0; i 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n };\n\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i, // Baidu Browser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /\\bqbcore\\/([\\w\\.]+)/i // WeChat Desktop for Windows Built-in Browser\n ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /yabrowser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI '+BROWSER]], [\n /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360 '+BROWSER]], [\n /(oculus|samsung|sailfish)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish Browser\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/Baidu App/2345 Browser\n ], [NAME, VERSION], [\n /(metasr)[\\/ ]?([\\w\\.]+)/i, // SouGouBrowser\n /(lbbrowser)/i // LieBao Browser\n ], [NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w\\.]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i // Links\n ], [NAME, VERSION]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n // Ordered by popularity\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[pt]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n /\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /\\((ip(?:hone|od)[\\w ]*);/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n\n // Huawei\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}-[atu]?[ln][01259x][012359][an]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /\\b(poco[\\w ]+)(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [\n\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\n\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\n /droid.+ ([c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi)( bui|\\))/i, // Kindle Fire without Silk\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i // Sharp\n ], [MODEL, [VENDOR, 'Sharp'], [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n /(quest( 2)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i // iCab\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows) nt 6\\.2; (arm)/i, // Windows RT\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i, // Windows Phone\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, 'Mac OS'], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86)/i // Android-x86\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+ ([\\w\\.]+\\w)/i // Chromium OS\n ], [[NAME, 'Chromium OS'], VERSION],[\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _ua = ua || ((typeof window !== UNDEF_TYPE && window.navigator && window.navigator.userAgent) ? window.navigator.userAgent : EMPTY);\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser.major = majorize(_browser.version);\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n","var metaMap = require('./_metaMap'),\n noop = require('./noop');\n\n/**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\nvar getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n};\n\nmodule.exports = getData;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var LazyWrapper = require('./_LazyWrapper'),\n LodashWrapper = require('./_LodashWrapper'),\n baseLodash = require('./_baseLodash'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike'),\n wrapperClone = require('./_wrapperClone');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\nfunction lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n}\n\n// Ensure wrappers are instances of `baseLodash`.\nlodash.prototype = baseLodash.prototype;\nlodash.prototype.constructor = lodash;\n\nmodule.exports = lodash;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n}\n\nmodule.exports = composeArgsRight;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","\"use strict\";\r\n/**\r\n* microsoft.bond.ts\r\n* Copyright: Microsoft 2016\r\n*/\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar bond_const_1 = require(\"./bond_const\");\r\nexports._BondDataType = bond_const_1._BondDataType;\r\nvar _Encoding = require(\"./microsoft.bond.encoding\");\r\nexports._Encoding = _Encoding;\r\nvar IO = require(\"./microsoft.bond.io\");\r\nexports.IO = IO;\r\nvar microsoft_bond_primitives_1 = require(\"./microsoft.bond.primitives\");\r\nexports.Int64 = microsoft_bond_primitives_1.Int64;\r\nexports.UInt64 = microsoft_bond_primitives_1.UInt64;\r\nexports.Number = microsoft_bond_primitives_1.Number;\r\nvar CompactBinaryProtocolWriter = /** @class */ (function () {\r\n function CompactBinaryProtocolWriter(stream) {\r\n this._stream = stream;\r\n }\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteBlob = function (blob) {\r\n this._stream._Write(blob, 0, blob.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteBool = function (value) {\r\n this._stream._WriteByte(value ? 1 : 0);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteContainerBegin = function (size, elementType) {\r\n this._WriteUInt8(elementType);\r\n this._WriteUInt32(size);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteMapContainerBegin = function (size, keyType, valueType) {\r\n this._WriteUInt8(keyType);\r\n this._WriteUInt8(valueType);\r\n this._WriteUInt32(size);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteDouble = function (value) {\r\n var array = _Encoding._Double_GetBytes(value);\r\n this._stream._Write(array, 0, array.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteFieldBegin = function (type, id, metadata) {\r\n if (id <= 5) {\r\n this._stream._WriteByte(type | (id << 5));\r\n }\r\n else if (id <= 0xff) {\r\n this._stream._WriteByte(type | (6 << 5));\r\n this._stream._WriteByte(id);\r\n }\r\n else {\r\n this._stream._WriteByte(type | (7 << 5));\r\n this._stream._WriteByte(id);\r\n this._stream._WriteByte(id >> 8);\r\n }\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteInt32 = function (value) {\r\n value = _Encoding._Zigzag_EncodeZigzag32(value);\r\n this._WriteUInt32(value);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteInt64 = function (value) {\r\n this._WriteUInt64(_Encoding._Zigzag_EncodeZigzag64(value));\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteString = function (value) {\r\n if (value === '') {\r\n this._WriteUInt32(0 /*length*/);\r\n }\r\n else {\r\n var array = _Encoding._Utf8_GetBytes(value);\r\n this._WriteUInt32(array.length);\r\n this._stream._Write(array, 0, array.length);\r\n }\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteStructEnd = function (isBase) {\r\n this._WriteUInt8(isBase ? bond_const_1._BondDataType._BT_STOP_BASE : bond_const_1._BondDataType._BT_STOP);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteUInt32 = function (value) {\r\n var array = _Encoding._Varint_GetBytes(microsoft_bond_primitives_1.Number._ToUInt32(value));\r\n this._stream._Write(array, 0, array.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteUInt64 = function (value) {\r\n var array = _Encoding._Varint64_GetBytes(value);\r\n this._stream._Write(array, 0, array.length);\r\n };\r\n /*override*/\r\n CompactBinaryProtocolWriter.prototype._WriteUInt8 = function (value) {\r\n this._stream._WriteByte(microsoft_bond_primitives_1.Number._ToUInt8(value));\r\n };\r\n return CompactBinaryProtocolWriter;\r\n}());\r\nexports.CompactBinaryProtocolWriter = CompactBinaryProtocolWriter;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTRetryPolicy.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar RandomizationLowerThreshold = 0.8;\r\nvar RandomizationUpperThreshold = 1.2;\r\nvar BaseBackoff = 3000;\r\nvar MaxBackoff = 120000;\r\n/**\r\n* Class for retry policy.\r\n*/\r\nvar AWTRetryPolicy = /** @class */ (function () {\r\n function AWTRetryPolicy() {\r\n }\r\n /**\r\n * Determine if the request should be retried for the given status code.\r\n * The below expression reads that we should only retry for:\r\n * - HttpStatusCodes that are smaller than 300.\r\n * - HttpStatusCodes greater or equal to 500 (except for 501-NotImplement\r\n * and 505-HttpVersionNotSupport).\r\n * - HttpStatusCode 408-RequestTimeout.\r\n * This is based on Microsoft.WindowsAzure.Storage.RetryPolicies.ExponentialRetry class\r\n * @param {number} httpStatusCode - The status code returned for the request.\r\n * @return {boolean} True if request should be retried, false otherwise.\r\n */\r\n AWTRetryPolicy.shouldRetryForStatus = function (httpStatusCode) {\r\n /* */\r\n return !((httpStatusCode >= 300 && httpStatusCode < 500 && httpStatusCode !== 408)\r\n || (httpStatusCode === 501)\r\n || (httpStatusCode === 505));\r\n };\r\n /**\r\n * Gets the number of milliseconds to back off before retrying the request. The\r\n * back off duration is exponentially scaled based on the number of retries already\r\n * done for the request.\r\n * @param {number} retriesSoFar - The number of times the request has already been retried.\r\n * @return {number} The back off duration for the request before it can be retried.\r\n */\r\n AWTRetryPolicy.getMillisToBackoffForRetry = function (retriesSoFar) {\r\n var waitDuration = 0;\r\n var minBackoff = BaseBackoff * RandomizationLowerThreshold;\r\n var maxBackoff = BaseBackoff * RandomizationUpperThreshold;\r\n var randomBackoff = Math.floor(Math.random() * (maxBackoff - minBackoff)) + minBackoff;\r\n waitDuration = Math.pow(4, retriesSoFar) * randomBackoff;\r\n return Math.min(waitDuration, MaxBackoff);\r\n };\r\n return AWTRetryPolicy;\r\n}());\r\nexports.default = AWTRetryPolicy;\r\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var LazyWrapper = require('./_LazyWrapper'),\n getData = require('./_getData'),\n getFuncName = require('./_getFuncName'),\n lodash = require('./wrapperLodash');\n\n/**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\nfunction isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n}\n\nmodule.exports = isLaziable;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n* index.js\n* Copyright: Microsoft 2016\n*\n* Points at typescript source for using with webpack/TSC.\n*/\n\nmodule.exports = require('./dist/SimpleRestClients');\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTStatsManager.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar Utils = require(\"./Utils\");\r\nvar AWTNotificationManager_1 = require(\"./AWTNotificationManager\");\r\nvar Enums_1 = require(\"./Enums\");\r\nvar StatsTimer = 60000;\r\n/**\r\n* Class that manages the stats.\r\n*/\r\nvar AWTStatsManager = /** @class */ (function () {\r\n function AWTStatsManager() {\r\n }\r\n /**\r\n * Intiailizes the stats collection.\r\n * @param {function} sendStats - The function to call when the stats are ready to be sent.\r\n */\r\n AWTStatsManager.initialize = function (sendStats) {\r\n var _this = this;\r\n this._sendStats = sendStats;\r\n this._isInitalized = true;\r\n AWTNotificationManager_1.default.addNotificationListener({\r\n eventsSent: function (events) {\r\n _this._addStat('records_sent_count', events.length, events[0].apiKey);\r\n },\r\n eventsDropped: function (events, reason) {\r\n switch (reason) {\r\n case Enums_1.AWTEventsDroppedReason.NonRetryableStatus:\r\n _this._addStat('d_send_fail', events.length, events[0].apiKey);\r\n _this._addStat('records_dropped_count', events.length, events[0].apiKey);\r\n break;\r\n case Enums_1.AWTEventsDroppedReason.QueueFull:\r\n _this._addStat('d_queue_full', events.length, events[0].apiKey);\r\n break;\r\n }\r\n },\r\n eventsRejected: function (events, reason) {\r\n switch (reason) {\r\n case Enums_1.AWTEventsRejectedReason.InvalidEvent:\r\n _this._addStat('r_inv', events.length, events[0].apiKey);\r\n break;\r\n case Enums_1.AWTEventsRejectedReason.KillSwitch:\r\n _this._addStat('r_kl', events.length, events[0].apiKey);\r\n break;\r\n case Enums_1.AWTEventsRejectedReason.SizeLimitExceeded:\r\n _this._addStat('r_size', events.length, events[0].apiKey);\r\n break;\r\n }\r\n _this._addStat('r_count', events.length, events[0].apiKey);\r\n },\r\n eventsRetrying: null\r\n });\r\n setTimeout(function () { return _this.flush(); }, StatsTimer);\r\n };\r\n /**\r\n * Flush the current stats and stop the stats collection.\r\n */\r\n AWTStatsManager.teardown = function () {\r\n if (this._isInitalized) {\r\n this.flush();\r\n this._isInitalized = false;\r\n }\r\n };\r\n /**\r\n * Increments the stat for event received.\r\n * @param {string} apiKey - The apiKey for which the event was received\r\n */\r\n AWTStatsManager.eventReceived = function (apiKey) {\r\n AWTStatsManager._addStat('records_received_count', 1, apiKey);\r\n };\r\n /**\r\n * Creates an event for each tenant token which had a stat and calls the\r\n * sendStats for that token.\r\n */\r\n AWTStatsManager.flush = function () {\r\n var _this = this;\r\n if (this._isInitalized) {\r\n for (var tenantId in this._stats) {\r\n if (this._stats.hasOwnProperty(tenantId)) {\r\n this._sendStats(this._stats[tenantId], tenantId);\r\n }\r\n }\r\n this._stats = {};\r\n setTimeout(function () { return _this.flush(); }, StatsTimer);\r\n }\r\n };\r\n AWTStatsManager._addStat = function (statName, value, apiKey) {\r\n if (this._isInitalized && apiKey !== Utils.StatsApiKey) {\r\n var tenantId = Utils.getTenantId(apiKey);\r\n if (!this._stats[tenantId]) {\r\n this._stats[tenantId] = {};\r\n }\r\n if (!this._stats[tenantId][statName]) {\r\n this._stats[tenantId][statName] = value;\r\n }\r\n else {\r\n this._stats[tenantId][statName] = this._stats[tenantId][statName] + value;\r\n }\r\n }\r\n };\r\n AWTStatsManager._isInitalized = false;\r\n AWTStatsManager._stats = {};\r\n return AWTStatsManager;\r\n}());\r\nexports.default = AWTStatsManager;\r\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\nfunction baseLodash() {\n // No operation performed.\n}\n\nmodule.exports = baseLodash;\n","var apply = require('./_apply'),\n createCtor = require('./_createCtor'),\n createHybrid = require('./_createHybrid'),\n createRecurry = require('./_createRecurry'),\n getHolder = require('./_getHolder'),\n replaceHolders = require('./_replaceHolders'),\n root = require('./_root');\n\n/**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n}\n\nmodule.exports = createCurry;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var getWrapDetails = require('./_getWrapDetails'),\n insertWrapDetails = require('./_insertWrapDetails'),\n setToString = require('./_setToString'),\n updateWrapDetails = require('./_updateWrapDetails');\n\n/**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\nfunction setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n}\n\nmodule.exports = setWrapToString;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* AWTLogger.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2017\r\n*/\r\nvar Enums_1 = require(\"../common/Enums\");\r\nvar Enums_2 = require(\"./Enums\");\r\nvar AWTEventProperties_1 = require(\"./AWTEventProperties\");\r\nvar Utils = require(\"../common/Utils\");\r\nvar AWTStatsManager_1 = require(\"../common/AWTStatsManager\");\r\nvar AWTNotificationManager_1 = require(\"../common/AWTNotificationManager\");\r\nvar AWTTransmissionManagerCore_1 = require(\"./AWTTransmissionManagerCore\");\r\nvar AWTLogManagerSettings_1 = require(\"./AWTLogManagerSettings\");\r\nvar Version = require(\"./Version\");\r\nvar AWTSemanticContext_1 = require(\"./AWTSemanticContext\");\r\nvar AWTAutoCollection_1 = require(\"./AWTAutoCollection\");\r\n/**\r\n* The AWTLogger class defines a logger.\r\n*/\r\nvar AWTLogger = /** @class */ (function () {\r\n /**\r\n * The AWTLogger class constructor.\r\n * @constructor\r\n * @param {string} _apiKey - The API key (also known as application key, and tenant token).\r\n */\r\n function AWTLogger(_apiKey) {\r\n this._apiKey = _apiKey;\r\n this._contextProperties = new AWTEventProperties_1.default();\r\n this._semanticContext = new AWTSemanticContext_1.default(false, this._contextProperties);\r\n this._sessionStartTime = 0;\r\n this._createInitId();\r\n }\r\n /**\r\n * Sets the context sent with every event from this logger.\r\n * @param {string} name - The name of the context property.\r\n * @param {string|number|boolean} value - The context property's value.\r\n * @param {enum} type - [Optional] The type of context property, as one of the AWTPropertyType enumeration values.\r\n */\r\n AWTLogger.prototype.setContext = function (name, value, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n this._contextProperties.setProperty(name, value, type);\r\n };\r\n /**\r\n * Sets context that will be sent with every event from this logger, and tags it as PII.\r\n * @param {string} name - The name of the context property.\r\n * @param {string|number|boolean} value - The context property's value.\r\n * @param {enum} pii - The kind of PII for the context property, as one of the AWTPiiKind enumeration values.\r\n * @param {enum} type - [Optional] The type of context property, as one of the AWTPropertyType enumeration values.\r\n */\r\n AWTLogger.prototype.setContextWithPii = function (name, value, pii, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n this._contextProperties.setPropertyWithPii(name, value, pii, type);\r\n };\r\n /**\r\n * Sets the context that sent with every event from this logger, and tags it as customer content.\r\n * @param {string} name - The name of the context property.\r\n * @param {string|number|boolean} value - The context property's value.\r\n * @param {enum} customerContent - The customer content kind, as one of the AWTCustomerContentKind enumeration values.\r\n * @param {enum} type - [Optional] The type of context property, as one of the AWTPropertyType enumeration values.\r\n */\r\n AWTLogger.prototype.setContextWithCustomerContent = function (name, value, customerContent, type) {\r\n if (type === void 0) { type = Enums_1.AWTPropertyType.Unspecified; }\r\n this._contextProperties.setPropertyWithCustomerContent(name, value, customerContent, type);\r\n };\r\n /**\r\n * Gets the logger semantic context.\r\n * Note: Device properties are not permitted at the logger level, but you can set them\r\n * at the global level using the AWTLogManager class.\r\n *\r\n * @return A AWTSemanticContext object that you can use to set common semantic properties.\r\n */\r\n AWTLogger.prototype.getSemanticContext = function () {\r\n return this._semanticContext;\r\n };\r\n /**\r\n * Logs a custom event with the specified name and fields - to track information\r\n * such as how a particular feature is used.\r\n * @param {Object} event - Can be either an AWTEventProperties object or an AWTEventData object or an event name.\r\n */\r\n AWTLogger.prototype.logEvent = function (event) {\r\n if (AWTLogManagerSettings_1.default.loggingEnabled) {\r\n if (!this._apiKey) {\r\n this._apiKey = AWTLogManagerSettings_1.default.defaultTenantToken;\r\n this._createInitId();\r\n }\r\n var sanitizeProperties = true;\r\n if (Utils.isString(event)) {\r\n event = {\r\n name: event\r\n };\r\n }\r\n else if (event instanceof AWTEventProperties_1.default) {\r\n event = event.getEvent();\r\n //AWTEventProperties will already sanitize properties\r\n sanitizeProperties = false;\r\n }\r\n AWTStatsManager_1.default.eventReceived(this._apiKey);\r\n AWTLogger._logEvent(AWTLogger._getInternalEvent(event, this._apiKey, sanitizeProperties), this._contextProperties);\r\n }\r\n };\r\n /**\r\n * Logs the session state.\r\n * Note: Calling Logging session start while a session already exists will produce a no-op. Similarly, calling logging\r\n * session end while a session does not exist will also produce a no-op.\r\n * @param {enum} state - The session's state.\r\n * @param {obbject} properties - [Optional] Properties of the session event as either a AWTEventProperties object,\r\n * or a AWTEventData object.\r\n */\r\n AWTLogger.prototype.logSession = function (state, properties) {\r\n if (AWTLogManagerSettings_1.default.sessionEnabled) {\r\n var sessionEvent = {\r\n name: 'session',\r\n type: 'session',\r\n properties: {}\r\n };\r\n AWTLogger._addPropertiesToEvent(sessionEvent, properties);\r\n sessionEvent.priority = Enums_1.AWTEventPriority.High;\r\n if (state === Enums_2.AWTSessionState.Started) {\r\n if (this._sessionStartTime > 0) {\r\n //Session start called out of order. Session start time being non zero indicates an ongoing session.\r\n return;\r\n }\r\n this._sessionStartTime = (new Date()).getTime();\r\n this._sessionId = Utils.newGuid();\r\n this.setContext('Session.Id', this._sessionId);\r\n sessionEvent.properties['Session.State'] = 'Started';\r\n }\r\n else if (state === Enums_2.AWTSessionState.Ended) {\r\n if (this._sessionStartTime === 0) {\r\n //Session end called out of order. Session start time being zero indicates no ongoing session.\r\n return;\r\n }\r\n var sessionDurationSec = Math.floor(((new Date()).getTime() - this._sessionStartTime) / 1000);\r\n sessionEvent.properties['Session.Id'] = this._sessionId;\r\n sessionEvent.properties['Session.State'] = 'Ended';\r\n sessionEvent.properties['Session.Duration'] = sessionDurationSec.toString();\r\n sessionEvent.properties['Session.DurationBucket'] =\r\n AWTLogger._getSessionDurationFromTime(sessionDurationSec);\r\n this._sessionStartTime = 0;\r\n this.setContext('Session.Id', null);\r\n this._sessionId = undefined;\r\n }\r\n else {\r\n return;\r\n }\r\n sessionEvent.properties['Session.FirstLaunchTime'] = AWTAutoCollection_1.default.firstLaunchTime;\r\n this.logEvent(sessionEvent);\r\n }\r\n };\r\n /**\r\n * Gets the session ID for the ongoing session.\r\n * @return {string} A string that contains the session ID for the ongoing session. Returns undefined if there is\r\n * no ongoing session.\r\n */\r\n AWTLogger.prototype.getSessionId = function () {\r\n return this._sessionId;\r\n };\r\n /**\r\n * Logs a failure event, such as an application exception.\r\n * @param {string} signature - A string that identifies the bucket of the failure.\r\n * @param {string} detail - A string that contains the a description of the failure.\r\n * @param {string} category - [Optional] A string that identifies the category of the failure, such as an application error,\r\n * a hang, or a crash.\r\n * @param {string} id - [Optional] A string that that uniquely identifies this failure.\r\n * @param {object} properties - [Optional] Properties of the failure event, as either an AWTEventProperties object or an\r\n * AWTEventData object. This value can also be null.\r\n */\r\n AWTLogger.prototype.logFailure = function (signature, detail, category, id, properties) {\r\n if (!signature || !detail) {\r\n return;\r\n }\r\n var failureEvent = {\r\n name: 'failure',\r\n type: 'failure',\r\n properties: {}\r\n };\r\n AWTLogger._addPropertiesToEvent(failureEvent, properties);\r\n failureEvent.properties['Failure.Signature'] = signature;\r\n failureEvent.properties['Failure.Detail'] = detail;\r\n if (category) {\r\n failureEvent.properties['Failure.Category'] = category;\r\n }\r\n if (id) {\r\n failureEvent.properties['Failure.Id'] = id;\r\n }\r\n failureEvent.priority = Enums_1.AWTEventPriority.High;\r\n this.logEvent(failureEvent);\r\n };\r\n /**\r\n * Logs a page view event which is normally a result of a user action on a UI page - such as search query,\r\n * a content request, or a page navigation.\r\n *\r\n * @param {string} id - A string that uniquely identifies this page.\r\n * @param {string} pageName - The name of the page.\r\n * @param {string} category - [Optional] A string that contains the category to which this page belongs.\r\n * @param {string} uri - [Optional] A string that contains the URI of this page.\r\n * @param {string} referrerUri - [Optional] A string that contains the URI that refers to this page.\r\n * @param {object} properties - [Optional] Properties of the page view event, as an AWTEventProperties object.\r\n * This value can also be null.\r\n */\r\n AWTLogger.prototype.logPageView = function (id, pageName, category, uri, referrerUri, properties) {\r\n if (!id || !pageName) {\r\n return;\r\n }\r\n var pageViewEvent = {\r\n name: 'pageview',\r\n type: 'pageview',\r\n properties: {}\r\n };\r\n AWTLogger._addPropertiesToEvent(pageViewEvent, properties);\r\n pageViewEvent.properties['PageView.Id'] = id;\r\n pageViewEvent.properties['PageView.Name'] = pageName;\r\n if (category) {\r\n pageViewEvent.properties['PageView.Category'] = category;\r\n }\r\n if (uri) {\r\n pageViewEvent.properties['PageView.Uri'] = uri;\r\n }\r\n if (referrerUri) {\r\n pageViewEvent.properties['PageView.ReferrerUri'] = referrerUri;\r\n }\r\n this.logEvent(pageViewEvent);\r\n };\r\n AWTLogger.prototype._createInitId = function () {\r\n // If no init ID for this tenant token exists, create one\r\n if (!AWTLogger._initIdMap[this._apiKey] && this._apiKey) {\r\n AWTLogger._initIdMap[this._apiKey] = Utils.newGuid();\r\n }\r\n };\r\n AWTLogger._addPropertiesToEvent = function (event, propertiesEvent) {\r\n if (propertiesEvent) {\r\n if (propertiesEvent instanceof AWTEventProperties_1.default) {\r\n propertiesEvent = propertiesEvent.getEvent();\r\n }\r\n if (propertiesEvent.name) {\r\n event.name = propertiesEvent.name;\r\n }\r\n if (propertiesEvent.priority) {\r\n event.priority = propertiesEvent.priority;\r\n }\r\n for (var name_1 in propertiesEvent.properties) {\r\n if (propertiesEvent.properties.hasOwnProperty(name_1)) {\r\n event.properties[name_1] = propertiesEvent.properties[name_1];\r\n }\r\n }\r\n }\r\n };\r\n AWTLogger._getSessionDurationFromTime = function (timeInSec) {\r\n if (timeInSec < 0) {\r\n return 'Undefined';\r\n }\r\n else if (timeInSec <= 3) {\r\n return 'UpTo3Sec';\r\n }\r\n else if (timeInSec <= 10) {\r\n return 'UpTo10Sec';\r\n }\r\n else if (timeInSec <= 30) {\r\n return 'UpTo30Sec';\r\n }\r\n else if (timeInSec <= 60) {\r\n return 'UpTo60Sec';\r\n }\r\n else if (timeInSec <= 180) {\r\n return 'UpTo3Min';\r\n }\r\n else if (timeInSec <= 600) {\r\n return 'UpTo10Min';\r\n }\r\n else if (timeInSec <= 1800) {\r\n return 'UpTo30Min';\r\n }\r\n return 'Above30Min';\r\n };\r\n AWTLogger._logEvent = function (eventWithMetaData, contextProperties) {\r\n if (!eventWithMetaData.name || !Utils.isString(eventWithMetaData.name)) {\r\n AWTNotificationManager_1.default.eventsRejected([eventWithMetaData], Enums_1.AWTEventsRejectedReason.InvalidEvent);\r\n return;\r\n }\r\n eventWithMetaData.name = eventWithMetaData.name.toLowerCase();\r\n //Check if name is a string and replace . with _ if it is. Drop otherwise.\r\n eventWithMetaData.name = eventWithMetaData.name.replace(Utils.EventNameDotRegex, '_');\r\n if (!eventWithMetaData.type || !Utils.isString(eventWithMetaData.type)) {\r\n eventWithMetaData.type = 'custom';\r\n }\r\n else {\r\n eventWithMetaData.type = eventWithMetaData.type.toLowerCase();\r\n }\r\n //Validate name and type and drop if invalid\r\n if (!Utils.EventNameAndTypeRegex.test(eventWithMetaData.name) || !Utils.EventNameAndTypeRegex.test(eventWithMetaData.type)) {\r\n AWTNotificationManager_1.default.eventsRejected([eventWithMetaData], Enums_1.AWTEventsRejectedReason.InvalidEvent);\r\n return;\r\n }\r\n //Add the timestamp if the timestamp is not set or is negative.\r\n if (!Utils.isNumber(eventWithMetaData.timestamp) || eventWithMetaData.timestamp < 0) {\r\n eventWithMetaData.timestamp = (new Date()).getTime();\r\n }\r\n //If no properties create one for EventInfo and context \r\n if (!eventWithMetaData.properties) {\r\n eventWithMetaData.properties = {};\r\n }\r\n // Logger ContextProperties\r\n this._addContextIfAbsent(eventWithMetaData, contextProperties.getPropertyMap());\r\n // LogManager ContextProperties\r\n this._addContextIfAbsent(eventWithMetaData, AWTLogManagerSettings_1.default.logManagerContext.getPropertyMap());\r\n //Add event info\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.InitId', this._getInitId(eventWithMetaData.apiKey));\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.Sequence', this._getSequenceId(eventWithMetaData.apiKey));\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.SdkVersion', Version.FullVersionString);\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.Name', eventWithMetaData.name);\r\n this._setDefaultProperty(eventWithMetaData, 'EventInfo.Time', (new Date(eventWithMetaData.timestamp)).toISOString());\r\n if (!Utils.isPriority(eventWithMetaData.priority)) {\r\n eventWithMetaData.priority = Enums_1.AWTEventPriority.Normal;\r\n }\r\n this._sendEvent(eventWithMetaData);\r\n };\r\n AWTLogger._addContextIfAbsent = function (event, contextProperties) {\r\n if (contextProperties) {\r\n for (var name_2 in contextProperties) {\r\n if (contextProperties.hasOwnProperty(name_2)) {\r\n if (!event.properties[name_2]) {\r\n event.properties[name_2] = contextProperties[name_2];\r\n }\r\n }\r\n }\r\n }\r\n };\r\n AWTLogger._setDefaultProperty = function (event, name, value) {\r\n event.properties[name] = { value: value, pii: Enums_1.AWTPiiKind.NotSet, type: Enums_1.AWTPropertyType.String };\r\n };\r\n AWTLogger._sendEvent = function (event) {\r\n AWTTransmissionManagerCore_1.default.sendEvent(event);\r\n };\r\n AWTLogger._getInternalEvent = function (event, apiKey, sanitizeProperties) {\r\n event.properties = event.properties || {};\r\n if (sanitizeProperties) {\r\n // Event Properties \r\n for (var name_3 in event.properties) {\r\n if (event.properties.hasOwnProperty(name_3)) {\r\n event.properties[name_3] = Utils.sanitizeProperty(name_3, event.properties[name_3]);\r\n if (event.properties[name_3] === null) {\r\n delete event.properties[name_3];\r\n }\r\n }\r\n }\r\n }\r\n var internalEvent = event;\r\n internalEvent.id = Utils.newGuid();\r\n internalEvent.apiKey = apiKey;\r\n return internalEvent;\r\n };\r\n AWTLogger._getInitId = function (apiKey) {\r\n return AWTLogger._initIdMap[apiKey];\r\n };\r\n AWTLogger._getSequenceId = function (apiKey) {\r\n if (AWTLogger._sequenceIdMap[apiKey] === undefined) {\r\n AWTLogger._sequenceIdMap[apiKey] = 0;\r\n }\r\n return (++AWTLogger._sequenceIdMap[apiKey]).toString();\r\n };\r\n AWTLogger._sequenceIdMap = {};\r\n AWTLogger._initIdMap = {};\r\n return AWTLogger;\r\n}());\r\nexports.default = AWTLogger;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n* Version.ts\r\n* @author Abhilash Panwar (abpanwar)\r\n* @copyright Microsoft 2018\r\n* File for SDK version.\r\n*/\r\nexports.Version = '1.8.1';\r\nexports.FullVersionString = 'AWT-Web-JS-' + exports.Version;\r\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\nfunction getHolder(func) {\n var object = func;\n return object.placeholder;\n}\n\nmodule.exports = getHolder;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a