UNPKG

414 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 7731ad3d5c5b120418b1","webpack:///../rox-base/src/index.js","webpack:///../rox-base/src/lib/RoxLogger.js","webpack:///../rox-base/src/config/index.js","webpack:///../rox-base/src/repositories/RoxFlagRepository.js","webpack:///../rox-base/src/repositories/RoxConfigurationRepository.js","webpack:///../rox-base/src/repositories/CustomPropertyRepository.js","webpack:///../rox-base/src/repositories/ExperimentsRepository.js","webpack:///../rox-base/src/repositories/TargetGroupRepository.js","webpack:///(webpack)/buildin/global.js","webpack:///../rox-base/src/lib/BugsnagReporter.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/defaults.js","webpack:///./src/lib/RoxCache.js","webpack:///./src/lib/FreezeOptions.js","webpack:///../rox-base/src/parsers/RoxxParser.js","webpack:///../rox-base/src/lib/RoxxOperators.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/md5/md5.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/charenc/charenc.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/is-buffer/index.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/index.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/bind.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/adapters/xhr.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/createError.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/cancel/isCancel.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/cancel/Cancel.js","webpack:///../rox-base/src/entities/CustomProperty.js","webpack:///../rox-base/src/context/Manager.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash.clonedeep/index.js","webpack:///../rox-base/src/entities/TargetGroup.js","webpack:///../rox-base/src/lib/ImpressionHandler.js","webpack:///../rox-base/src/parsers/RemoteConfigurationsParser.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/qs/lib/formats.js","webpack:///../rox-base/src/lib/RuntimeRegistry.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/isObject.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/_root.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/_Symbol.js","webpack:///./src/lib/Variant.js","webpack:///./src/lib/Overrider.js","webpack:///./src/browser.js","webpack:///../rox-base/src/setters/FlagsSetter.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/loglevel/lib/loglevel.js","webpack:///../rox-base/src/setters/ConfigurationSetter.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lru-cache/index.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/pseudomap/map.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/pseudomap/pseudomap.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/util/support/isBufferBrowser.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/util/node_modules/inherits/inherits_browser.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/yallist/yallist.js","webpack:///../rox-base/src/parsers/RoxxTokenizer.js","webpack:///../rox-base/src/parsers/StringTokenizer.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/crypt/crypt.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/error-stack-parser/error-stack-parser.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/stackframe/stackframe.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/axios.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/Axios.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/settle.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/enhanceError.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/buildURL.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/parseHeaders.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/btoa.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/cookies.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/InterceptorManager.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/dispatchRequest.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/transformData.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/combineURLs.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/cancel/CancelToken.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/spread.js","webpack:///../rox-base/src/parsers/ConfigurationParser.js","webpack:///../rox-base/src/parsers/ExperimentsParser.js","webpack:///../rox-base/src/entities/DeviceProperty.js","webpack:///../rox-base/src/entities/DeploymentConfiguration.js","webpack:///../rox-base/src/entities/Experiment.js","webpack:///../rox-base/src/entities/Configuration.js","webpack:///../rox-base/src/context/Actions.js","webpack:///(webpack)/buildin/module.js","webpack:///../rox-base/src/entities/Variant.js","webpack:///../rox-base/src/parsers/TargetGroupsParser.js","webpack:///../rox-base/src/lib/ConfigurationFetcher.js","webpack:///../rox-base/src/lib/RequestConfiguration.js","webpack:///../rox-base/src/lib/RoxAPI.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/qs/lib/index.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/qs/lib/stringify.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/qs/lib/parse.js","webpack:///../rox-base/src/lib/RequestConfigurationBuilder.js","webpack:///../rox-base/src/lib/BUID.js","webpack:///../rox-base/src/lib/FetcherResults.js","webpack:///../rox-base/src/lib/EmbeddedConfiguration.js","webpack:///../rox-base/src/lib/ClassRegister.js","webpack:///../rox-base/src/lib/DeviceProperties.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/uuid/v4.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/uuid/lib/rng-browser.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/uuid/lib/bytesToUuid.js","webpack:///../rox-base/src/lib/Client.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/debounce.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/now.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/_freeGlobal.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/toNumber.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/isSymbol.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/_baseGetTag.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/_getRawTag.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/_objectToString.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lodash/isObjectLike.js","webpack:///./src/index.js","webpack:///./src/lib/Rox.js","webpack:///./src/lib/RoxClient.js","webpack:///./src/lib/DeviceProperties.js","webpack:///./src/manifest.js","webpack:///./package.json","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/lscache/lscache.js","webpack:///./src/lib/DefaultSetupOptions.js","webpack:///./src/lib/DefaultProperties.js","webpack:///./src/lib/RoxCrypto.js","webpack:////Users/saada/dev/SDKS/roxjs/node_modules/base64-arraybuffer/lib/base64-arraybuffer.js","webpack:///./src/assets/publicKey.jwk.js","webpack:///./src/lib/RemoteConfiguration.js","webpack:///./src/lib/Flag.js","webpack:///./src/lib/DebuggerUI.js","webpack:///./src/lib/uiUtils.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","assign","__WEBPACK_IMPORTED_MODULE_4__lib__","Config","__WEBPACK_IMPORTED_MODULE_6__config__","Entities","__WEBPACK_IMPORTED_MODULE_3__entities__","Parsers","__WEBPACK_IMPORTED_MODULE_2__parsers__","Setters","__WEBPACK_IMPORTED_MODULE_0__setters__","Repositories","__WEBPACK_IMPORTED_MODULE_1__repositories__","Context","__WEBPACK_IMPORTED_MODULE_5__context__","logger","a","getLogger","setVerboseMode","debugLevel","setLevel","debug","info","__webpack_exports__","_activeConfiguration","API_HOST","CD_API_ENDPOINT","CD_S3_ENDPOINT","CLIENT_DATA_CACHE_KEY","CLIENT_DATA_CACHE_TTL_MIN","key","set","value","setActive","newConfiguration","RoxFlagRepository","_classCallCheck","map","flag","_this","keys","t","flags","instance","RoxConfigurationRepository","remoteConfiguration","_name","remoteConfigurations","CustomPropertyRepository","store","Map","has","clear","Array","from","values","ExperimentsRepository","experiments","forEach","element","identifier","find","e","some","f","TargetGroupRepository","targetGroup","targetGroups","g","Function","eval","window","BugsnagReporter","app_key","deviceProperties","_deviceProperties$get","getProperties","distinct_id","app_release","platform","api_version","lib_version","device","_objectWithoutProperties","header","apiKey","notifier","version","url","location","href","undefined","user","app","message","exception","_notify","severity","event","payloadVersion","exceptions","metaData","data","toString","Error","push","errorClass","stacktrace","__WEBPACK_IMPORTED_MODULE_0_error_stack_parser___default","parse","file","fileName","lineNumber","columnNumber","method","funcName","code","source","isEval","isNative","preparetStackTrace","groupingHash","_send","events","body","__WEBPACK_IMPORTED_MODULE_2__RoxLogger__","__WEBPACK_IMPORTED_MODULE_1_axios__","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","headers","isUndefined","adapter","defaults","XMLHttpRequest","process","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","JSON","stringify","transformResponse","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","merge","RoxCache","ttl","__WEBPACK_IMPORTED_MODULE_0_lscache___default","freezeOption","isFreezeOptionValid","_defaultFreezeOptions","freezeOptions","freezeOptionNone","freezeOptionUntilLaunch","defaultFreezeOptionForPlatform","defaultCache","__WEBPACK_IMPORTED_MODULE_0_lru_cache___default","RoxxParser","cache","_tokenizer","__WEBPACK_IMPORTED_MODULE_1__RoxxTokenizer__","_cache","operator","stack","argsArray","length","arg","pop","_ref","args","context","__WEBPACK_IMPORTED_MODULE_4__lib_RoxxOperators__","includes","concat","_toConsumableArray","expr","tokens","tokenize","reverse","arguments","compileExpression","result","token","type","_argsArrayForOperator","_modifyArgsHook","apply","__WEBPACK_IMPORTED_MODULE_3__lib_RoxLogger__","err","error","__WEBPACK_IMPORTED_MODULE_2__lib_BugsnagReporter__","_versionCompare","v1","v2","options","zeroExtend","lexicographical","v1parts","split","v2parts","isValidPart","x","test","every","NaN","Number","getBucket","seed","hash","__WEBPACK_IMPORTED_MODULE_3_md5___default","asBytes","Math","pow","op","now","Date","and","op1","op2","or","ne","eq","not","ifThen","conditionExpression","trueExpression","falseExpression","lt","lte","gt","gte","match","op3","text","RegExp","exec","semverLt","semverLte","semverGt","semverGte","semverEq","semverNe","mergeSeed","seed1","seed2","isInPercentage","percentage","isInPercentageRange","percentageLow","percentageHigh","bucket","isInTargetGroup","tg","__WEBPACK_IMPORTED_MODULE_0__repositories_TargetGroupRepository__","targetGroupWithName","__WEBPACK_IMPORTED_MODULE_2__parsers_RoxxParser__","evaluateExpression","condition","isTargetGroupPaired","propName","prop","__WEBPACK_IMPORTED_MODULE_1__repositories_CustomPropertyRepository__","getValue","inArray","target","list","operatorsWithContext","crypt","utf8","bin","md5","constructor","String","encoding","stringToBytes","slice","isArray","bytesToWords","b","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","endian","_blocksize","_digestsize","digestbytes","wordsToBytes","asString","bytesToString","bytesToHex","charenc","str","unescape","encodeURIComponent","bytes","decodeURIComponent","escape","charCodeAt","fromCharCode","join","obj","readFloatLE","isSlowBuffer","_isBuffer","fn","thisArg","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","bind","config","Promise","resolve","reject","requestData","requestHeaders","request","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","password","Authorization","open","toUpperCase","params","paramsSerializer","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onerror","isStandardBrowserEnv","cookies","xsrfValue","withCredentials","read","val","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","enhanceError","__CANCEL__","Cancel","_validateName","_validateExplicitValue","_validateDynamicValue","CustomProperty","_value","_type","setContext","cloneDeep","_context","getContext","global","MAX_SAFE_INTEGER","argsTag","boolTag","dateTag","funcTag","genTag","mapTag","numberTag","objectTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","freeSelf","freeExports","nodeType","freeModule","moduleExports","addMapEntry","pair","addSetEntry","add","arrayReduce","array","iteratee","accumulator","initAccum","index","isHostObject","mapToArray","size","overArg","func","transform","setToArray","uid","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","objectToString","reIsNative","replace","Buffer","Symbol","Uint8Array","getPrototype","getPrototypeOf","objectCreate","create","propertyIsEnumerable","splice","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","nativeKeys","DataView","getNative","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","valueOf","Hash","entries","entry","ListCache","MapCache","Stack","__data__","assignValue","objValue","assocIndexOf","baseClone","isDeep","isFull","customizer","isArr","input","initCloneArray","copyArray","tag","getTag","isFunc","copy","cloneBuffer","isPrototype","proto","initCloneObject","copyObject","getSymbols","copySymbols","baseAssign","cloneFunc","symbol","regexp","Ctor","cloneArrayBuffer","dataView","byteOffset","byteLength","cloneDataView","typedArray","cloneTypedArray","cloneMap","lastIndex","cloneSet","initCloneByTag","stacked","props","keysFunc","symbolsFunc","offset","arrayPush","baseGetAllKeys","subValue","arrayEach","arrayBuffer","newValue","getMapData","isFunction","baseIsNative","string","pairs","LARGE_ARRAY_SIZE","isIndex","other","ArrayBuffer","ctorString","isArrayLike","isLength","inherited","isObjectLike","isArrayLikeObject","isArguments","baseTimes","skipIndexes","arrayLikeKeys","baseKeys","TargetGroup","impressionHandler","originExperiment","__WEBPACK_IMPORTED_MODULE_0__repositories_ExperimentsRepository__","experimentForFlag","experiment","createLightExperiment","handler","isArchived","archived","validateConfig","filter","percentTwenties","default","formatters","RFC1738","RFC3986","RoxRuntimeRegistry","cp","__WEBPACK_IMPORTED_MODULE_2__repositories_CustomPropertyRepository__","items","customProperties","externalType","featureFlags","__WEBPACK_IMPORTED_MODULE_1__repositories_RoxFlagRepository__","defaultValue","_options","__WEBPACK_IMPORTED_MODULE_0__repositories_RoxConfigurationRepository__","BaseVariant","__WEBPACK_IMPORTED_MODULE_0_rox_base__","Variant","parser","RoxVariantBrowser","freeze","_possibleConstructorReturn","__proto__","__WEBPACK_IMPORTED_MODULE_1__FreezeOptions__","_localFreeze","_frozen","dontInvokeFreeze","_freeze","dontInvokeFlagImpression","overridenValue","getActiveValue","_flagImpression","_typeof","_defaultValue","__WEBPACK_IMPORTED_MODULE_2__Overrider__","writeCache","OVERRIDE_CACHE_KEY","__WEBPACK_IMPORTED_MODULE_0__RoxCache__","w","RoxLogger","__WEBPACK_IMPORTED_MODULE_1____","Rox","roxLoad","FlagsSetter","__WEBPACK_IMPORTED_MODULE_1__lib_RoxLogger__","flagObject","__WEBPACK_IMPORTED_MODULE_0__repositories_RoxFlagRepository__","flagWithName","deploymentConfiguration","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","definition","noop","undefinedType","logMethods","bindMethod","methodName","replaceLoggingMethods","level","loggerName","methodFactory","log","defaultMethodFactory","console","realMethod","Logger","defaultLevel","currentLevel","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","levels","TRACE","DEBUG","INFO","WARN","ERROR","SILENT","getLevel","persist","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","enableAll","disableAll","initialLevel","defaultLogger","_loggersByName","TypeError","_log","noConflict","getLoggers","ConfigurationSetter","configFromAPI","conditions","configuration","remoteConfigurationWithName","LRUCache","makeSymbol","util","Yallist","MAX","for","LENGTH","LENGTH_CALCULATOR","ALLOW_STALE","MAX_AGE","DISPOSE","NO_DISPOSE_ON_SET","LRU_LIST","CACHE","naiveLength","max","Infinity","lc","stale","maxAge","dispose","noDisposeOnSet","reset","forEachStep","node","thisp","hit","isStale","del","doUse","unshiftNode","diff","trim","walker","tail","prev","delete","removeNode","mL","allowStale","mA","lC","rforEach","head","next","toArray","k","dump","v","h","dumpLru","inspect","opts","extras","didFirst","item","len","unshift","peek","load","arr","expiresAt","prune","env","npm_package_name","npm_lifecycle_script","TEST_PSEUDOMAP","PseudoMap","kv","same","_data","res","_index","writable","fill","readUInt8","ctor","superCtor","super_","TempCtor","Node","pushNode","shift","forEachReverse","getReverse","mapReverse","reduce","initial","acc","reduceReverse","toArrayReverse","to","ret","sliceReverse","operatorsList","__WEBPACK_IMPORTED_MODULE_1__lib_RoxxOperators__","RoxxTokenTypeRator","RoxxTokenTypeRand","RoxxTokenizer","tokenArray","arrayAccumulator","dictionaryAccumulator","dictKey","_createClass","charAt","substr","isNaN","prevToken","delimitersToUse","expression","tokenizer","__WEBPACK_IMPORTED_MODULE_0__StringTokenizer__","hasMoreTokens","nextTokenWithDelimiters","_stringToRoxx","StringTokenizer","delimiters","returnDelim","_string","_delimiters","_returnDelim","_position","count","inToken","nextToken","base64map","rotl","rotr","randomBytes","floor","random","words","hex","hexToBytes","parseInt","bytesToBase64","base64","triplet","j","base64ToBytes","imod4","__WEBPACK_AMD_DEFINE_ARRAY__","StackFrame","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","parseOpera","parseV8OrIE","parseFFOrSafari","extractLocation","urlLike","parts","line","locationParts","functionName","parseOpera9","parseOpera11","parseOpera10","lineRE","lines","argsRaw","functionCall","_isNumber","parseFloat","isFinite","_capitalize","substring","_getter","booleanProps","numericProps","stringProps","getArgs","setArgs","getEvalOrigin","evalOrigin","setEvalOrigin","getFunctionName","getFileName","getLineNumber","getColumnNumber","Boolean","Axios","createInstance","defaultConfig","extend","axios","instanceConfig","CancelToken","isCancel","all","promises","spread","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","fulfilled","rejected","normalizedName","encode","serializedParams","isDate","toISOString","ignoreDuplicateOf","parsed","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","setAttribute","protocol","host","search","hostname","port","pathname","requestURL","isString","E","block","charCode","output","idx","write","expires","path","domain","secure","isNumber","toGMTString","remove","handlers","use","eject","id","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","reason","fns","relativeURL","executor","resolvePromise","callback","ConfigurationParser","json","appKey","_json","_appKey","_extractInnerJson","_parseExperiments","_parseTargetGroups","_parseRemoteConfigurations","_signedDate","_experiments","_targetGroups","_configurations","__WEBPACK_IMPORTED_MODULE_0__ExperimentsParser__","__WEBPACK_IMPORTED_MODULE_1__TargetGroupsParser__","configurations","__WEBPACK_IMPORTED_MODULE_2__RemoteConfigurationsParser__","ExperimentsParser","experimentJson","deploymentConfigurationJson","__WEBPACK_IMPORTED_MODULE_0__entities__","DeviceProperty","__WEBPACK_IMPORTED_MODULE_0__CustomProperty__","_get","DeploymentConfiguration","Experiment","sticky","__WEBPACK_IMPORTED_MODULE_0__parsers__","types","RoxConfiguration","valueType","_entityType","mergedContext","__WEBPACK_IMPORTED_MODULE_1__context__","getMergedContextWithGlobal","_externalType","contextToBeMerged","globalContext","__WEBPACK_IMPORTED_MODULE_0__Manager__","webpackPolyfill","deprecate","paths","children","RoxVariant","_validate","optionsError","option","els","namespace","nameDetails","getNameDetails","originalValue","overridingValue","__WEBPACK_IMPORTED_MODULE_0__lib_ImpressionHandler__","overrider","hasOverride","getOverride","TargetGroupsParser","__WEBPACK_IMPORTED_MODULE_0__entities_TargetGroup__","CACHE_KEY","__WEBPACK_IMPORTED_MODULE_5__config__","CACHE_TTL","isdispatchPeriodicallyRuning","ConfigurationFetcher","devModeSecret","dependencies","embeddedPayload","crypto","RoxCrypto","embdeddedJSON","fetchFromEmbedded","lastResponse","errorDetails","__WEBPACK_IMPORTED_MODULE_4__BugsnagReporter__","fetcherStatus","__WEBPACK_IMPORTED_MODULE_8__RoxLogger__","sources","useCache","embdeddedParser","parsePayload","payload","__WEBPACK_IMPORTED_MODULE_9__FetcherResults__","APPLIED_FROM_EMBEDDED","cachedPayload","fetchFromCache","cachedParser","APPLIED_FROM_CACHE","latest","current","signedDate","lastApplied","_dispatch","storeInCache","_ref2","periodTimeInSec","setInterval","_this2","_ref3","fetchFromNetwork","hasChanges","isNewResponse","APPLIED_FROM_NETWORK","catch","runHandler","ERROR_FETCH_FAILED","rc","__WEBPACK_IMPORTED_MODULE_1__RequestConfigurationBuilder__","__WEBPACK_IMPORTED_MODULE_0__RequestConfiguration__","cached","warn","embedded","__WEBPACK_IMPORTED_MODULE_10__EmbeddedConfiguration__","_this3","_len","_key","verifyPayload","verified","_this4","calculatePayload","fetcherResults","signature_v0","signed_date","verify","__WEBPACK_IMPORTED_MODULE_6__repositories_TargetGroupRepository__","setTargetGroups","__WEBPACK_IMPORTED_MODULE_7__repositories_ExperimentsRepository__","setExperiments","__WEBPACK_IMPORTED_MODULE_3__setters__","prepareConfigurations","prepareFlagsWithExperiments","properties","cache_url","cache_miss_url","fetchFromCDN","fetchFromAPI","__WEBPACK_IMPORTED_MODULE_1__RoxAPI__","__WEBPACK_IMPORTED_MODULE_0_axios__","buildAPIURL","qs","__WEBPACK_IMPORTED_MODULE_0_qs___default","addQueryPrefix","__WEBPACK_IMPORTED_MODULE_1__config__","formats","arrayPrefixGenerators","brackets","prefix","indices","repeat","toISO","delimiter","encoder","encodeValuesOnly","serializeDate","date","skipNulls","strictNullHandling","generateArrayPrefix","sort","allowDots","formatter","objKeys","format","arrayFormat","joined","allowPrototypes","arrayLimit","decoder","decode","depth","parameterLimit","plainObjects","parseKeys","givenKey","child","segment","parent","leaf","cleanRoot","parseArrays","parseObject","ignoreQueryPrefix","isRegExp","tempObj","cleanStr","limit","part","bracketEqualsPos","pos","parseValues","newObj","compact","registry","buildRequestConfiguration","feature_flags","custom_properties","remoteVariables","buid","__WEBPACK_IMPORTED_MODULE_1__BUID__","buid_generators_list","__WEBPACK_IMPORTED_MODULE_0__config__","GENERATOR_LIST","generate","all_properties","__WEBPACK_IMPORTED_MODULE_0_md5___default","FetcherStatus","FetcherResults","creationDate","_tmp","$__ROX_EMBEDDED_CONTENT","defaultOptions","flagsRepository","__WEBPACK_IMPORTED_MODULE_0__repositories__","configurationRepository","RoxClassRegister","_flagsRepository","_configurationRepository","_namespaceStore","container","label","entity","addFlag","addRemoteConfiguration","DeviceProperties","generateDistinctId","distinctIdSetExplicitly","appRelease","__WEBPACK_IMPORTED_MODULE_0_uuid_v4___default","rng","bytesToUuid","buf","rnds","ii","getRandomValues","msCrypto","rnds8","r","byteToHex","bth","CUSTOM_PROPERTY_TIMEOUT_MS","_deps","ClassRegister","__WEBPACK_IMPORTED_MODULE_0____","Client","fetchOnPropertyTimeoutMS","classRegisterer","fetchByPropertyDebounced","__WEBPACK_IMPORTED_MODULE_5_lodash_debounce___default","fetch","maxWait","leading","trailing","handleOptions","setAppRelease","setDistinctId","setPlatform","init","configurationFetcher","embeddedConfiguration","getDefaultCustomProperties","DefaultSetupOptions","fetchIntervalInSec","configurationFetchedHandler","distinctId","__WEBPACK_IMPORTED_MODULE_4__ImpressionHandler__","_fetch","dispatchPeriodically","dispatch","handleContainer","__WEBPACK_IMPORTED_MODULE_2__entities__","isNew","freezeLevel","namespaceFilter","flagNameParts","unfreeze","__WEBPACK_IMPORTED_MODULE_3__parsers__","isEnabled","_peek","deps","toNumber","nativeMax","nativeMin","min","wait","lastArgs","lastThis","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","time","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","clearTimeout","flush","isSymbol","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","baseGetTag","getRawTag","symToStringTag","toStringTag","nativeObjectToString","isOwn","unmasked","__WEBPACK_IMPORTED_MODULE_0__lib_Rox__","Configuration","__WEBPACK_IMPORTED_MODULE_1__lib_RemoteConfiguration__","__WEBPACK_IMPORTED_MODULE_2__lib_Variant__","Flag","__WEBPACK_IMPORTED_MODULE_3__lib_Flag__","showOverrides","__WEBPACK_IMPORTED_MODULE_4__lib_DebuggerUI__","__WEBPACK_IMPORTED_MODULE_2_rox_base__","__WEBPACK_IMPORTED_MODULE_0__RoxClient__","setKey","setup","fetchWithCacheAndProceed","setCustomProperty","register","createRoxClient","__WEBPACK_IMPORTED_MODULE_1__DeviceProperties__","__WEBPACK_IMPORTED_MODULE_3__DefaultProperties__","__WEBPACK_IMPORTED_MODULE_2__DefaultSetupOptions__","__WEBPACK_IMPORTED_MODULE_4__RoxCache__","__WEBPACK_IMPORTED_MODULE_5__RoxCrypto__","DevicePropertiesBase","__WEBPACK_IMPORTED_MODULE_1__manifest__","screen_width","screen","width","screen_height","height","version_name","package_name","rollout_build","debugger_attached","customSigningCertificate","rollout_disabled_initial_state","os","language","proxy_cache_miss_url","anticache","__WEBPACK_IMPORTED_MODULE_2__RoxCache__","__WEBPACK_IMPORTED_MODULE_0__package_json__","description","author","license","homepage","repository","bugs","email","keywords","scripts","start","test:watch","prebuild","build:base","build","build:stats","postbuild","prepublishOnly","clean:dist","ROX","main","browser","rox-base","devDependencies","babel-eslint","babel-loader","babel-plugin-transform-class-properties","babel-preset-es2015","babel-preset-react","base64-arraybuffer","css-loader","enquirer","eslint","eslint-plugin-react","extract-text-webpack-plugin","html-webpack-plugin","jest","lscache","prompt-confirm","react","react-dom","rox-embedded-webpack-plugin","style-loader","uglifyjs-webpack-plugin","webpack","webpack-bundle-analyzer","webpack-common-shake","webpack-dev-server","moduleFileExtensions","moduleDirectories","transformIgnorePatterns","cachedStorage","cachedJSON","CACHE_PREFIX","CACHE_SUFFIX","EXPIRY_RADIX","EXPIRY_UNITS","MAX_DATE","cacheBucket","warnings","supportsStorage","ex","setItem","removeItem","isOutOfSpace","supportsJSON","expirationKey","currentTime","getTime","getItem","eachKey","prefixRegExp","flushItem","exprKey","flushExpiredItem","expirationTime","storedKey","storedKeys","expiration","targetSize","supported","flushExpired","setBucket","resetBucket","enableWarnings","enabled","defaultSetupOptions","deviceProps","_props","CRYPTO","TEXT_ENCODER","TextEncoder","HAS_CRYPTO","subtle","TEXT_ENCODER_UTF8","publicKey","algo","hash_func","importKey","signature","payloadBuffer","binaryString","binaryBuffer","StringToArrayBufferUTF8","signatureBuffer","__WEBPACK_IMPORTED_MODULE_0_base64_arraybuffer___default","loadPublicKey","__WEBPACK_IMPORTED_MODULE_1__assets_publicKey_jwk__","chars","lookup","arraybuffer","encoded1","encoded2","encoded3","encoded4","bufferLength","kty","BaseRemoteConfiguration","__WEBPACK_IMPORTED_MODULE_1_rox_base__","BrowserRemoteConfiguration","__WEBPACK_IMPORTED_MODULE_0__FreezeOptions__","RoxFlag","__WEBPACK_IMPORTED_MODULE_0__Variant__","_normalizeValue","position","DEFAULT_POSITON","_root","POSITIONS","_flags","getFlagsView","__WEBPACK_IMPORTED_MODULE_2__uiUtils__","applyRootStyle","searchFieldWrapper","getElementsByTagName","appendChild","rel","CSS","render","flagsRepo","Flags","_filter","top left","top","left","top right","right","bottom left","bottom","bottom right","ROOT_STYLE","background","z-index","overflow","selected","el","textContent","makeFlag","_ref5","_ref4","ORIGINAL_VALUE_TEXT","makeFlagTitle","selection","ORIGINAL_OPTION_PREFIX","getSelected","getFlagOptions","close","handleSearchChange","_ref6","keyCode","onResetAllClicked","__WEBPACK_IMPORTED_MODULE_1__Overrider__","preventDefault","onFlagChange","placeholder","categories","agg","category","removeChild","compileStyles","styles","setStyle","styleString","applyClass","className","attachEvent","attachOnChangeHandler","attachOnClickHandler","attachOnKeyUpHandler","appendChildren","elementWithText","elementWithAttrs","elementWithChildren","divWithText","divWithChildren","ch","attrs"],"mappings":"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","file":"rox-browser.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Rox\"] = factory();\n\telse\n\t\troot[\"Rox\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 46);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7731ad3d5c5b120418b1","import * as Setters from './setters';\nimport * as Repositories from './repositories';\nimport * as Parsers from './parsers';\nimport * as Entities from './entities';\nimport * as lib from './lib';\nimport * as Context from './context';\nimport Config from './config';\n\nexport default Object.assign({}, lib, {\n Config,\n Entities,\n Parsers,\n Setters,\n Repositories,\n Context\n});\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/index.js","import Logger from 'loglevel';\n\nconst logger = Logger.getLogger('ROXLogger');\n\nlogger.setVerboseMode = (debugLevel) => {\n if (debugLevel === 'verbose') {\n logger.setLevel('debug');\n logger.debug = logger.info;\n logger.debug('Active verbose mode');\n } else {\n logger.setLevel('error'); \n }\n};\n\n\nexport default logger\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/RoxLogger.js","const DEFAULT_CONFIGURATION = {\n API_HOST: 'x-api.rollout.io',\n CD_API_ENDPOINT: 'https://x-api.rollout.io/device/request_configuration',\n CD_S3_ENDPOINT: 'https://s3.amazonaws.com/rox-conf.rollout.io/v1/production/',\n CLIENT_DATA_CACHE_KEY: 'client_data',\n CLIENT_DATA_CACHE_TTL_MIN: 15\n};\n\nlet _activeConfiguration = Object.assign({}, DEFAULT_CONFIGURATION);\n\nexport default {\n get: key => _activeConfiguration[key],\n set: (key, value) => {\n _activeConfiguration[key] = value;\n },\n setActive: function(newConfiguration) {\n _activeConfiguration = Object.assign({}, newConfiguration);\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/config/index.js","class RoxFlagRepository {\n constructor() {\n this.map = {};\n }\n\n addFlag(name, flag) {\n if (!flag.name) {\n flag.name = name;\n }\n this.map[name] = flag;\n }\n\n flagWithName(name) {\n return this.map[name];\n }\n\n get flags() {\n return Object.keys(this.map).map(t => this.map[t])\n }\n\n get items() {\n return this.flags;\n }\n}\n\nexport default new RoxFlagRepository();\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/repositories/RoxFlagRepository.js","class RoxConfigurationRepository {\n constructor () {\n this.map = {};\n }\n\n addRemoteConfiguration (name, remoteConfiguration) {\n if (!remoteConfiguration._name) {\n remoteConfiguration._name = name;\n }\n\n this.map[name] = remoteConfiguration; \n }\n\n remoteConfigurationWithName (name) {\n return this.map[name];\n }\n\n get remoteConfigurations () {\n return Object.keys(this.map).map(t => this.map[t])\n }\n\n get items () {\n return this.remoteConfigurations;\n }\n}\n\nconst instance = new RoxConfigurationRepository();\nexport default instance;\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/repositories/RoxConfigurationRepository.js","class CustomPropertyRepository {\n constructor() {\n this.store = new Map();\n }\n\n has(property) {\n return this.store.has(property.name);\n }\n\n get(name) {\n return this.store.get(name);\n }\n\n set(property) {\n this.store.set(property.name, property);\n }\n\n clear() {\n this.store.clear();\n }\n\n get items() {\n return Array.from(this.store.values());\n }\n}\n\nexport default new CustomPropertyRepository();\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/repositories/CustomPropertyRepository.js","class ExperimentsRepository {\n constructor() {\n this.map = {};\n }\n\n setExperiments(experiments) {\n this.map = {};\n\n experiments = experiments || [];\n experiments.forEach(function(element) {\n this.map[element.identifier] = element;\n }, this);\n }\n\n experimentWithName(name) {\n return this.map[name];\n }\n\n get experiments() {\n return Object.keys(this.map).map(t => this.map[t]);\n }\n\n experimentForFlag(flag) {\n return this.experiments.find(e => e.flags && e.flags.some(f => f.name === flag.name));\n }\n}\n\nconst instance = new ExperimentsRepository();\nexport default instance;\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/repositories/ExperimentsRepository.js","class TargetGroupRepository {\n constructor() {\n this.map = {};\n }\n\n addTargetGroup(targetGroup) {\n this.map[targetGroup.identifier] = targetGroup;\n }\n\n setTargetGroups(targetGroups) {\n this.map = {};\n\n targetGroups = targetGroups || [];\n targetGroups.forEach(function(element) {\n this.map[element.identifier] = element;\n }, this);\n }\n\n targetGroupWithName(name) {\n return this.map[name];\n }\n\n get targetGroups() {\n return Object.keys(this.map).map(t => this.map[t])\n }\n}\n\nconst instance = new TargetGroupRepository();\nexport default instance;\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/repositories/TargetGroupRepository.js","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","import StackParser from 'error-stack-parser';\nimport * as axios from 'axios';\nimport RoxLogger from './RoxLogger';\n\nconst BS_API_KEY = 'abbf3bd9c6e80eb1e8c0566c35b08748';\nconst BS_NOTIFY_ENDPOINT = 'https://notify.bugsnag.com';\n\nclass BugsnagReporter {\n init(app_key, deviceProperties) {\n const {\n distinct_id,\n app_release,\n platform,\n api_version,\n lib_version,\n ...device\n } = deviceProperties.getProperties();\n this.device = device;\n this.header = {\n apiKey: BS_API_KEY,\n notifier: {\n name: 'Rollout JavaScript SDK',\n version: lib_version,\n url: (typeof window !== 'undefined' && window.location && window.location.href) || undefined\n }\n };\n this.user = { distinct_id, app_release, app_key, platform };\n this.app = { api_version, lib_version };\n }\n\n error(message, exception) {\n return this._notify('error', message, exception);\n }\n\n _notify(severity, message, exception) {\n const event = {\n payloadVersion: 4,\n exceptions: [],\n app: this.app,\n user: this.user,\n device: this.device,\n metaData: {\n data: {\n message,\n exception: exception.toString()\n }\n },\n severity\n };\n\n if (exception instanceof Error) {\n event.exceptions.push({\n errorClass: exception.name,\n message: message + '\\n' + exception.message,\n stacktrace: preparetStackTrace(exception)\n });\n event.groupingHash = exception.fileName;\n } else {\n event.exceptions.push({\n errorClass: 'Error',\n message: message,\n stacktrace: []\n });\n }\n\n return this._send([event]);\n }\n\n _send(events) {\n const body = Object.assign({ events }, this.header);\n RoxLogger.debug('Sending bugsnag error report.');\n try {\n axios.post(BS_NOTIFY_ENDPOINT, body);\n RoxLogger.debug('Successfully sent error report.');\n } catch (e) {\n RoxLogger.debug('Failed to send error report.', e);\n }\n }\n}\n\nfunction preparetStackTrace(exception) {\n const stackFrames = StackParser.parse(exception);\n return stackFrames.map(f => ({\n file: f.fileName,\n lineNumber: f.lineNumber,\n columnNumber: f.columnNumber,\n method: f.funcName,\n code: [f.source],\n isEval: f.isEval,\n isNative: f.isNative\n }));\n}\n\nexport default new BugsnagReporter();\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/BugsnagReporter.js","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/defaults.js\n// module id = 14\n// module chunks = 0","import lscache from 'lscache';\n\nclass RoxCache {\n set(key, value, ttl) {\n lscache.set(key, value, ttl);\n }\n\n get(key) {\n return lscache.get(key);\n }\n}\n\nexport default new RoxCache();\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/RoxCache.js","export const freezeOptions = {\n freezeOptionNone: 'none',\n freezeOptionUntilLaunch: 'untilLaunch'\n};\n\nlet _defaultFreezeOptions = null;\nexport function setDefaultFreezeOption(freezeOption) {\n if (isFreezeOptionValid(freezeOption)) {\n _defaultFreezeOptions = freezeOption;\n } else {\n throw new Error(`Invalid freeze option: ${freezeOption}`);\n }\n}\n\nexport function getDefaultFreezeOption() {\n return _defaultFreezeOptions;\n}\n\nexport function isFreezeOptionValid(freezeOption) {\n return Object.keys(freezeOptions).find(function(key) {\n return freezeOptions[key] === freezeOption;\n });\n}\n\nexport const defaultFreezeOptionForPlatform = freezeOptions.freezeOptionUntilLaunch;\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/FreezeOptions.js","import LRUCache from 'lru-cache';\n\nimport { RoxxTokenizer, RoxxTokenTypeRand, RoxxTokenTypeRator } from './RoxxTokenizer';\n\nimport BugsnagReporter from '../lib/BugsnagReporter';\nimport RoxLogger from '../lib/RoxLogger';\nimport * as RoxxOperatorsMap from '../lib/RoxxOperators';\n\nconst defaultCache = LRUCache();\n\nexport default class RoxxParser {\n /**\n * A parser for Roxx expressions.\n * Roxx expression are polish notation expressions {@link https://en.wikipedia.org/wiki/Polish_notation}\n * @class\n * @module RoxxParser\n * @param {*} cache - Optional token cache object. A default cache object is used if none specified.\n */\n constructor(cache) {\n this._tokenizer = new RoxxTokenizer();\n this._cache = cache || defaultCache;\n }\n\n /**\n * Given an operator function and stack, return an array of arguments for the operator.\n * @param {Function} operator\n * @param {Array} stack\n * @returns {Array} Array of arguments for operator\n * @private\n */\n _argsArrayForOperator(operator, stack) {\n var argsArray = [];\n var length = operator.length;\n for (var i = 0; i < length; i++) {\n var arg = stack.pop();\n argsArray.push(arg);\n }\n\n return argsArray;\n }\n\n /**\n * Add context to specific operators after operator's args args.\n * @param {*} operator, args, context\n * @returns {Array} Args array with/without context\n */\n _modifyArgsHook({ operator, args, context }) {\n if (context && RoxxOperatorsMap.operatorsWithContext.includes(operator)) {\n return [...args, context]; // insert context as a last arg\n }\n return args;\n }\n\n /**\n * Tokenizes and caches expr if not available in cache.\n * @param {string} expr\n * @returns {Array} Tokenized version of expr\n */\n compileExpression(expr) {\n var tokens = this._cache.get(expr);\n if (!tokens) {\n tokens = this._tokenizer.tokenize(expr).reverse();\n this._cache.set(expr, tokens);\n }\n\n return tokens;\n }\n\n /**\n * Evaluates a Roxx expression.\n *\n * @param {string} expr - Roxx expression string.\n * @returns {*} Result of Roxx expression evaluation.\n */\n evaluateExpression(expr, context = {}) {\n var stack = [];\n var tokens = this.compileExpression(expr);\n\n var result = undefined;\n var length = tokens.length;\n try {\n for (var i = 0; i < length; i++) {\n var token = tokens[i];\n if (token.type == RoxxTokenTypeRand) {\n stack.push(token.value);\n } else if (token.type == RoxxTokenTypeRator) {\n var operator = RoxxOperatorsMap[token.value];\n var args = this._argsArrayForOperator(operator, stack);\n args = this._modifyArgsHook({ operator, args, context });\n var value = operator.apply(this, args);\n stack.push(value);\n\n RoxLogger.debug(`Roxx: Evaluated ${token.value} with ${JSON.stringify(args)} result = ${value}`);\n } else {\n stack.push(false);\n break;\n }\n }\n result = stack.pop();\n } catch (err) {\n const message = 'Oh uh! An error occured during Roxx evaluation.';\n RoxLogger.error(message, err);\n BugsnagReporter.error(message, err);\n result = false;\n } finally {\n return result;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/parsers/RoxxParser.js","import TargetGroupRepository from '../repositories/TargetGroupRepository';\nimport CustomPropertyRepository from '../repositories/CustomPropertyRepository';\nimport RoxxParser from '../parsers/RoxxParser';\nimport md5 from 'md5';\n\nfunction _versionCompare (v1, v2, options = {zeroExtend: true, lexicographical: true }) {\n var lexicographical = options && options.lexicographical,\n zeroExtend = options && options.zeroExtend,\n v1parts = v1.split('.'),\n v2parts = v2.split('.');\n\n function isValidPart (x) {\n return (lexicographical ? /[0-9A-Za-z_-]+$/ : /^\\d+$/).test(x);\n }\n\n if (!v1parts.every(isValidPart) || !v2parts.every(isValidPart)) {\n return NaN;\n }\n\n if (zeroExtend) {\n while (v1parts.length < v2parts.length) v1parts.push('0');\n while (v2parts.length < v1parts.length) v2parts.push('0');\n }\n\n if (!lexicographical) {\n v1parts = v1parts.map(Number);\n v2parts = v2parts.map(Number);\n }\n\n for (var i = 0; i < v1parts.length; ++i) {\n if (v2parts.length == i) {\n return 1;\n }\n\n if (v1parts[i] == v2parts[i]) {\n continue;\n } else if (v1parts[i] > v2parts[i]) {\n return 1;\n } else {\n return -1;\n }\n }\n\n if (v1parts.length != v2parts.length) {\n return -1;\n }\n\n return 0;\n}\n\nconst getBucket = (seed) => {\n var hash = md5(seed, { asBytes: true });\n hash =\n ((hash[0] & 0xff) |\n ((hash[1] & 0xff) << 8) |\n ((hash[2] & 0xff) << 16) |\n ((hash[3] & 0xff) << 24)) >>>\n 0;\n\n var bucket = hash / (Math.pow(2, 32) - 1);\n return bucket;\n};\n\nexport const isUndefined = (op) => op === undefined;\nexport const now = () => Date.now();\nexport const and = (op1, op2) => op1 && op2;\nexport const or = (op1, op2) => op1 || op2;\nexport const ne = (op1, op2) => (isUndefined(op1) ? false : op1) !== (isUndefined(op2) ? false : op2);\nexport const eq = (op1, op2) => (isUndefined(op1) ? false : op1) === (isUndefined(op2) ? false : op2);\nexport const not = (op) => !op;\nexport const ifThen = (conditionExpression, trueExpression, falseExpression) => conditionExpression ? trueExpression : falseExpression;\n\nexport const lt = (op1, op2) => {\n if (isUndefined(op1) || isUndefined(op2)) return false;\n\n if (typeof op1 !== 'number' || typeof op2 !== 'number') return false;\n\n return op1 < op2;\n};\n\nexport const lte = (op1, op2) => {\n if (isUndefined(op1) || isUndefined(op2)) return false;\n\n if (typeof op1 !== 'number' || typeof op2 !== 'number') return false;\n\n return op1 <= op2;\n};\n\nexport const gt = (op1, op2) => {\n if (isUndefined(op1) || isUndefined(op2)) return false;\n\n if (typeof op1 !== 'number' || typeof op2 !== 'number') return false;\n\n return op1 > op2;\n};\n\nexport const gte = (op1, op2) => {\n if (isUndefined(op1) || isUndefined(op2)) return false;\n\n if (typeof op1 !== 'number' || typeof op2 !== 'number') return false;\n\n return op1 >= op2;\n};\n\nexport const match = (op1, op2, op3) => {\n var text = op1;\n var regex = new RegExp(op2, op3);\n\n var match = regex.exec(text);\n if (match) {\n return true;\n }\n\n return false;\n};\n\nexport const semverLt = (op1, op2) => {\n if (isUndefined(op1) || isUndefined(op2)) return false;\n\n if (typeof op1 !== 'string' || typeof op2 !== 'string') return false;\n\n return _versionCompare(op1, op2, { zeroExtend: true }) < 0;\n};\n\nexport const semverLte = (op1, op2) => {\n if (isUndefined(op1) || isUndefined(op2)) return false;\n\n if (typeof op1 !== 'string' || typeof op2 !== 'string') return false;\n\n return _versionCompare(op1, op2, { zeroExtend: true }) <= 0;\n};\n\nexport const semverGt = (op1, op2) => {\n if (isUndefined(op1) || isUndefined(op2)) return false;\n\n if (typeof op1 !== 'string' || typeof op2 !== 'string') return false;\n\n return _versionCompare(op1, op2, { zeroExtend: true }) > 0;\n};\n\nexport const semverGte = (op1, op2) => {\n if (isUndefined(op1) || isUndefined(op2)) return false;\n\n if (typeof op1 !== 'string' || typeof op2 !== 'string') return false;\n\n return _versionCompare(op1, op2, { zeroExtend: true }) >= 0;\n};\n\nexport const semverEq = (op1, op2) => {\n if (isUndefined(op1) || isUndefined(op2)) return false;\n\n if (typeof op1 !== 'string' || typeof op2 !== 'string') return false;\n\n return _versionCompare(op1, op2) == 0;\n};\n\nexport const semverNe = (op1, op2) => {\n if (isUndefined(op1) || isUndefined(op2)) return false;\n\n if (typeof op1 !== 'string' || typeof op2 !== 'string') return false;\n\n return _versionCompare(op1, op2) != 0;\n};\n\nexport const mergeSeed = (seed1, seed2) => seed1 + '.' + seed2;\n\nexport const isInPercentage = (percentage, seed) => {\n var bucket = getBucket(seed);\n var isInPercentage = bucket <= percentage;\n\n return isInPercentage;\n};\n\nexport const isInPercentageRange = (percentageLow, percentageHigh, seed) => {\n var bucket = getBucket(seed);\n var isInPercentage = bucket >= percentageLow && bucket <= percentageHigh;\n\n return isInPercentage;\n};\n\nexport const isInTargetGroup = (targetGroup, context = {}) => {\n const tg = TargetGroupRepository.targetGroupWithName(targetGroup);\n if(tg) {\n return new RoxxParser().evaluateExpression(tg.condition, context);\n } else {\n return false;\n }\n};\n\nexport const isTargetGroupPaired = () => false;\n\nexport const property = (propName, context = {}) => {\n var prop = CustomPropertyRepository.get(propName);\n if (!prop) {\n return undefined;\n } else {\n return prop.getValue(context);\n }\n};\n\nexport const inArray = (target, list) => list.includes(target);\n\nexport const operatorsWithContext = [isInTargetGroup, property];\n\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/RoxxOperators.js","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message))\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/md5/md5.js\n// module id = 21\n// module chunks = 0","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/charenc/charenc.js\n// module id = 22\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/is-buffer/index.js\n// module id = 23\n// module chunks = 0","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/index.js\n// module id = 24\n// module chunks = 0","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/bind.js\n// module id = 25\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/adapters/xhr.js\n// module id = 26\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/createError.js\n// module id = 27\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/cancel/isCancel.js\n// module id = 28\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/cancel/Cancel.js\n// module id = 29\n// module chunks = 0","const _validateName = function (name) {\n if (typeof name === 'undefined' || name === '') {\n throw new Error('Custom property must be initialized with a name.');\n }\n}\n\nconst _validateExplicitValue = function (type, value) {\n if (value && value.constructor !== type && value.constructor !== Function) {\n throw new Error(`Custom property initialized with an invalid type / value combination. (Type: ${type}, Value: ${value})`);\n }\n}\n\nconst _validateDynamicValue = function (value) {\n const argsExpected = value.length;\n if (argsExpected > 1) {\n throw new Error('Dynamic value of a custom property should be a function with maximum 1 argument');\n }\n}\n\nexport default class CustomProperty {\n constructor(name, type, value) {\n _validateName(name)\n this._name = name;\n if (typeof value === 'function') {\n _validateDynamicValue(value);\n this._value = value;\n } else {\n _validateExplicitValue(type, value);\n this._value = () => value;\n }\n this._type = type;\n }\n\n get type() {\n return this._type.name;\n }\n\n get externalType() {\n return this._type.name;\n }\n\n get name() {\n return this._name;\n }\n\n getValue(context = {}) {\n return this._value(context)\n }\n\n get value() {\n return this._value();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/entities/CustomProperty.js","const cloneDeep = require('lodash.clonedeep');\nlet _context = {};\n\nfunction getContext() {\n return cloneDeep(_context);\n}\n\nfunction setContext(context) {\n _context = context;\n}\n\nexport {\n getContext,\n setContext\n};\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/context/Manager.js","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\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 match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\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/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\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\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\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\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\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\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\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\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/** 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/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\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/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\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/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\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 ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\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}\n\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 return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\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 hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\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 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\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\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 ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\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}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\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 listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\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\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\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\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\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 mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\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\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\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 mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\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 getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\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}\n\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 return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\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\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 cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\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) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\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\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\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\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\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\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\n/**\n * Creates an array of the own enumerable symbol properties 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 ? overArg(nativeGetSymbols, Object) : stubArray;\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,\n// for data views in Edge < 14, and promises in Node.js.\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 = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\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\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\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\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\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\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\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\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\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 */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` 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 array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\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\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an 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 an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\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\n/**\n * Checks if `value` is classified as a `Function` 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 a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\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 valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\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 && (type == 'object' || type == 'function');\n}\n\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 && typeof value == 'object';\n}\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\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\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 = cloneDeep;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash.clonedeep/index.js\n// module id = 33\n// module chunks = 0","export default class TargetGroup {\n constructor(identifier, condition) {\n this.identifier = identifier;\n this.condition = condition;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/entities/TargetGroup.js","import experimentsRepository from '../repositories/ExperimentsRepository';\n\nlet impressionHandler = null;\n\nconst createLightExperiment = ({ identifier, name, archived }) => ({ identifier, name, isArchived: archived });\n\nexport function invokeImpression(value, flag, context) {\n if (typeof impressionHandler !== 'function') return;\n\n let originExperiment = experimentsRepository.experimentForFlag(flag);\n const experiment = originExperiment && createLightExperiment(originExperiment);\n impressionHandler({ name: flag.name, value }, experiment, context);\n}\n\nexport function setHandler(handler) {\n impressionHandler = handler;\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/ImpressionHandler.js","\nconst terms = {\n REMOTE_CONFIG_NAME: 'name',\n REMOTE_CONFIG_TYPE: 'type',\n REMOTE_CONFIG_CONDITIONS: 'conditions'\n};\n\nconst validateConfig = i => i[terms.REMOTE_CONFIG_NAME] &&\n i[terms.REMOTE_CONFIG_TYPE] &&\n typeof i[terms.REMOTE_CONFIG_CONDITIONS] !== 'undefined'\n\nexport default {\n parse: (json = []) => json.filter(validateConfig)}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/parsers/RemoteConfigurationsParser.js","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nmodule.exports = {\n 'default': 'RFC3986',\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return value;\n }\n },\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/qs/lib/formats.js\n// module id = 39\n// module chunks = 0","import RoxConfigurationRepository from '../repositories/RoxConfigurationRepository';\nimport RoxFlagRepository from '../repositories/RoxFlagRepository';\nimport RoxCustomRepository from '../repositories/CustomPropertyRepository';\nexport default class RoxRuntimeRegistry {\n get customProperties() {\n let cp = [];\n RoxCustomRepository.items.forEach(customProperties => {\n cp.push({\n name: customProperties.name,\n type: customProperties.type,\n externalType: customProperties.externalType\n });\n });\n return cp;\n }\n\n get featureFlags() {\n let featureFlags = [];\n RoxFlagRepository.items.forEach(flag => {\n featureFlags.push({\n name: flag.name,\n defaultValue: flag.defaultValue,\n options: flag._options\n });\n });\n return featureFlags;\n }\n\n get remoteConfiguration() {\n let remoteConfigurations = [];\n RoxConfigurationRepository.items.forEach(remoteConfiguration => {\n remoteConfigurations.push({\n name: remoteConfiguration.name,\n defaultValue: remoteConfiguration.defaultValue,\n type: remoteConfiguration.type,\n externalType: remoteConfiguration.externalType\n });\n });\n return remoteConfigurations;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/RuntimeRegistry.js","/**\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/isObject.js\n// module id = 41\n// module chunks = 0","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\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/_root.js\n// module id = 42\n// module chunks = 0","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/_Symbol.js\n// module id = 43\n// module chunks = 0","import RoxBase from 'rox-base';\nconst { Variant: BaseVariant } = RoxBase.Entities;\nconst { RoxxParser } = RoxBase.Parsers;\nimport {\n freezeOptions,\n isFreezeOptionValid,\n getDefaultFreezeOption,\n defaultFreezeOptionForPlatform\n} from './FreezeOptions';\nimport * as Overrider from './Overrider';\nconst parser = new RoxxParser();\n\nexport default class RoxVariantBrowser extends BaseVariant {\n constructor(defaultValue, options, { freeze } = {}, name) {\n super(defaultValue, options, name);\n if (freeze && !isFreezeOptionValid(freeze)) {\n throw new Error(`Freeze option is invalid ${freeze}`);\n }\n this._localFreeze = freeze;\n }\n\n unfreeze() {\n this._frozen = false;\n }\n\n getActiveValue(dontInvokeFreeze) {\n if (dontInvokeFreeze || this._freeze === freezeOptions.freezeOptionNone) {\n if (this.condition) {\n this.value = parser.evaluateExpression(this.condition);\n }\n return this._value;\n }\n\n if (!this._frozen) {\n if (this.condition) {\n this.value = parser.evaluateExpression(this.condition);\n }\n this._frozen = true;\n }\n return this._value;\n }\n\n getValue(dontInvokeFlagImpression, dontInvokeFreeze) {\n const overridenValue = this.overridenValue;\n if (overridenValue) {\n return overridenValue;\n }\n const value = this.getActiveValue(dontInvokeFreeze);\n dontInvokeFlagImpression || this._flagImpression(value);\n return value;\n }\n\n set value(newValue) {\n if (this._frozen) return;\n\n if (this._type !== typeof newValue || this._options.indexOf(newValue) === -1 || newValue === undefined) {\n this._value = this._defaultValue;\n return;\n }\n\n this._value = newValue;\n }\n\n peek() {\n return this.getValue(true, true);\n }\n\n get _freeze() {\n return this._localFreeze || getDefaultFreezeOption() || defaultFreezeOptionForPlatform;\n }\n\n get overrider() {\n return Overrider;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/Variant.js","import RoxCache from './RoxCache';\n\nconst OVERRIDE_CACHE_KEY = 'roxOverrideValues';\n\nlet cache = RoxCache.get(OVERRIDE_CACHE_KEY);\nif (!cache) {\n cache = {};\n} else {\n cache = JSON.parse(cache);\n}\n\nfunction writeCache(cache) {\n RoxCache.set(OVERRIDE_CACHE_KEY, JSON.stringify(cache));\n}\n\nexport function hasOverride(name = null) {\n if (typeof name === 'undefined') return false;\n return typeof cache[name] !== 'undefined';\n}\n\nexport function getOverride(name = null) {\n if (!name) throw new Error('Missing name');\n return cache[name];\n}\n\nexport function setOverride(name, value) {\n if (!name) throw new Error('Missing name');\n cache[name] = value;\n writeCache(cache);\n}\n\nexport function clearOverride(name) {\n if (!name) throw new Error('Missing name');\n cache[name] = undefined;\n delete cache[name];\n writeCache(cache);\n}\n\nexport function clearAllOverrides() {\n cache = {};\n writeCache(cache);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/Overrider.js","import RoxBase from 'rox-base';\nconst { RoxLogger } = RoxBase;\nimport Rox from './';\nexport default Rox;\n\ntry {\n (function (w) {\n // Detect the usage of AMD / CommonJS loaders, and do nothing in those cases.\n if (typeof w.exports !== 'object' && typeof w.define !== 'function') {\n w.Rox = w.Rox || Rox;\n if (w.roxLoad && typeof w.roxLoad === 'function') {\n w.roxLoad();\n }\n }\n })((0, eval)('this'));\n} catch (e) {\n RoxLogger.error('An error occured while loading Rox SDK, please contact support@rollout.io\\n', e); \n}\n\n\n// WEBPACK FOOTER //\n// ./src/browser.js","import RoxFlagRepository from '../repositories/RoxFlagRepository';\nimport RoxLogger from '../lib/RoxLogger';\n\nexport default class FlagsSetter {\n prepareFlagsWithExperiments (experiments) {\n RoxLogger.debug(`Set experiments ${JSON.stringify(experiments)}`);\n experiments = experiments || [];\n experiments.forEach(function (experiment) {\n if (!experiment) {\n return;\n }\n\n experiment.flags.forEach((flag) => {\n\n if (!flag) {\n return;\n }\n\n let flagObject = RoxFlagRepository.flagWithName(flag.name);\n if (flagObject) {\n flagObject.condition = experiment.deploymentConfiguration.condition\n }\n });\n }, this);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/setters/FlagsSetter.js","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n var storageKey = \"loglevel\";\n if (name) {\n storageKey += \":\" + name;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if (typeof name !== \"string\" || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n return defaultLogger;\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/loglevel/lib/loglevel.js\n// module id = 48\n// module chunks = 0","import RoxConfigurationRepository from '../repositories/RoxConfigurationRepository'\nimport RoxLogger from '../lib/RoxLogger';\n\nexport default class ConfigurationSetter {\n\n prepareConfigurations(configFromAPI = []) {\n RoxLogger.debug(`Set remote configurations ${JSON.stringify(configFromAPI)}`);\n configFromAPI.forEach(({name, conditions}) => {\n let configuration = RoxConfigurationRepository.remoteConfigurationWithName(name);\n if (!configuration) {\n return;\n }\n\n configuration.condition = conditions;\n }, this);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/setters/ConfigurationSetter.js","'use strict'\n\nmodule.exports = LRUCache\n\n// This will be a proper iterable 'Map' in engines that support it,\n// or a fakey-fake PseudoMap in older versions.\nvar Map = require('pseudomap')\nvar util = require('util')\n\n// A linked list to keep track of recently-used-ness\nvar Yallist = require('yallist')\n\n// use symbols if possible, otherwise just _props\nvar hasSymbol = typeof Symbol === 'function'\nvar makeSymbol\nif (hasSymbol) {\n makeSymbol = function (key) {\n return Symbol.for(key)\n }\n} else {\n makeSymbol = function (key) {\n return '_' + key\n }\n}\n\nvar MAX = makeSymbol('max')\nvar LENGTH = makeSymbol('length')\nvar LENGTH_CALCULATOR = makeSymbol('lengthCalculator')\nvar ALLOW_STALE = makeSymbol('allowStale')\nvar MAX_AGE = makeSymbol('maxAge')\nvar DISPOSE = makeSymbol('dispose')\nvar NO_DISPOSE_ON_SET = makeSymbol('noDisposeOnSet')\nvar LRU_LIST = makeSymbol('lruList')\nvar CACHE = makeSymbol('cache')\n\nfunction naiveLength () { return 1 }\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nfunction LRUCache (options) {\n if (!(this instanceof LRUCache)) {\n return new LRUCache(options)\n }\n\n if (typeof options === 'number') {\n options = { max: options }\n }\n\n if (!options) {\n options = {}\n }\n\n var max = this[MAX] = options.max\n // Kind of weird to have a default max of Infinity, but oh well.\n if (!max ||\n !(typeof max === 'number') ||\n max <= 0) {\n this[MAX] = Infinity\n }\n\n var lc = options.length || naiveLength\n if (typeof lc !== 'function') {\n lc = naiveLength\n }\n this[LENGTH_CALCULATOR] = lc\n\n this[ALLOW_STALE] = options.stale || false\n this[MAX_AGE] = options.maxAge || 0\n this[DISPOSE] = options.dispose\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false\n this.reset()\n}\n\n// resize the cache when the max changes.\nObject.defineProperty(LRUCache.prototype, 'max', {\n set: function (mL) {\n if (!mL || !(typeof mL === 'number') || mL <= 0) {\n mL = Infinity\n }\n this[MAX] = mL\n trim(this)\n },\n get: function () {\n return this[MAX]\n },\n enumerable: true\n})\n\nObject.defineProperty(LRUCache.prototype, 'allowStale', {\n set: function (allowStale) {\n this[ALLOW_STALE] = !!allowStale\n },\n get: function () {\n return this[ALLOW_STALE]\n },\n enumerable: true\n})\n\nObject.defineProperty(LRUCache.prototype, 'maxAge', {\n set: function (mA) {\n if (!mA || !(typeof mA === 'number') || mA < 0) {\n mA = 0\n }\n this[MAX_AGE] = mA\n trim(this)\n },\n get: function () {\n return this[MAX_AGE]\n },\n enumerable: true\n})\n\n// resize the cache when the lengthCalculator changes.\nObject.defineProperty(LRUCache.prototype, 'lengthCalculator', {\n set: function (lC) {\n if (typeof lC !== 'function') {\n lC = naiveLength\n }\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC\n this[LENGTH] = 0\n this[LRU_LIST].forEach(function (hit) {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)\n this[LENGTH] += hit.length\n }, this)\n }\n trim(this)\n },\n get: function () { return this[LENGTH_CALCULATOR] },\n enumerable: true\n})\n\nObject.defineProperty(LRUCache.prototype, 'length', {\n get: function () { return this[LENGTH] },\n enumerable: true\n})\n\nObject.defineProperty(LRUCache.prototype, 'itemCount', {\n get: function () { return this[LRU_LIST].length },\n enumerable: true\n})\n\nLRUCache.prototype.rforEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this[LRU_LIST].tail; walker !== null;) {\n var prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n}\n\nfunction forEachStep (self, fn, node, thisp) {\n var hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE]) {\n hit = undefined\n }\n }\n if (hit) {\n fn.call(thisp, hit.value, hit.key, self)\n }\n}\n\nLRUCache.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this[LRU_LIST].head; walker !== null;) {\n var next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n}\n\nLRUCache.prototype.keys = function () {\n return this[LRU_LIST].toArray().map(function (k) {\n return k.key\n }, this)\n}\n\nLRUCache.prototype.values = function () {\n return this[LRU_LIST].toArray().map(function (k) {\n return k.value\n }, this)\n}\n\nLRUCache.prototype.reset = function () {\n if (this[DISPOSE] &&\n this[LRU_LIST] &&\n this[LRU_LIST].length) {\n this[LRU_LIST].forEach(function (hit) {\n this[DISPOSE](hit.key, hit.value)\n }, this)\n }\n\n this[CACHE] = new Map() // hash of items by key\n this[LRU_LIST] = new Yallist() // list of items in order of use recency\n this[LENGTH] = 0 // length of items in the list\n}\n\nLRUCache.prototype.dump = function () {\n return this[LRU_LIST].map(function (hit) {\n if (!isStale(this, hit)) {\n return {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }\n }\n }, this).toArray().filter(function (h) {\n return h\n })\n}\n\nLRUCache.prototype.dumpLru = function () {\n return this[LRU_LIST]\n}\n\nLRUCache.prototype.inspect = function (n, opts) {\n var str = 'LRUCache {'\n var extras = false\n\n var as = this[ALLOW_STALE]\n if (as) {\n str += '\\n allowStale: true'\n extras = true\n }\n\n var max = this[MAX]\n if (max && max !== Infinity) {\n if (extras) {\n str += ','\n }\n str += '\\n max: ' + util.inspect(max, opts)\n extras = true\n }\n\n var maxAge = this[MAX_AGE]\n if (maxAge) {\n if (extras) {\n str += ','\n }\n str += '\\n maxAge: ' + util.inspect(maxAge, opts)\n extras = true\n }\n\n var lc = this[LENGTH_CALCULATOR]\n if (lc && lc !== naiveLength) {\n if (extras) {\n str += ','\n }\n str += '\\n length: ' + util.inspect(this[LENGTH], opts)\n extras = true\n }\n\n var didFirst = false\n this[LRU_LIST].forEach(function (item) {\n if (didFirst) {\n str += ',\\n '\n } else {\n if (extras) {\n str += ',\\n'\n }\n didFirst = true\n str += '\\n '\n }\n var key = util.inspect(item.key).split('\\n').join('\\n ')\n var val = { value: item.value }\n if (item.maxAge !== maxAge) {\n val.maxAge = item.maxAge\n }\n if (lc !== naiveLength) {\n val.length = item.length\n }\n if (isStale(this, item)) {\n val.stale = true\n }\n\n val = util.inspect(val, opts).split('\\n').join('\\n ')\n str += key + ' => ' + val\n })\n\n if (didFirst || extras) {\n str += '\\n'\n }\n str += '}'\n\n return str\n}\n\nLRUCache.prototype.set = function (key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE]\n\n var now = maxAge ? Date.now() : 0\n var len = this[LENGTH_CALCULATOR](value, key)\n\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key))\n return false\n }\n\n var node = this[CACHE].get(key)\n var item = node.value\n\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET]) {\n this[DISPOSE](key, item.value)\n }\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n this[LENGTH] += len - item.length\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n var hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > this[MAX]) {\n if (this[DISPOSE]) {\n this[DISPOSE](key, value)\n }\n return false\n }\n\n this[LENGTH] += hit.length\n this[LRU_LIST].unshift(hit)\n this[CACHE].set(key, this[LRU_LIST].head)\n trim(this)\n return true\n}\n\nLRUCache.prototype.has = function (key) {\n if (!this[CACHE].has(key)) return false\n var hit = this[CACHE].get(key).value\n if (isStale(this, hit)) {\n return false\n }\n return true\n}\n\nLRUCache.prototype.get = function (key) {\n return get(this, key, true)\n}\n\nLRUCache.prototype.peek = function (key) {\n return get(this, key, false)\n}\n\nLRUCache.prototype.pop = function () {\n var node = this[LRU_LIST].tail\n if (!node) return null\n del(this, node)\n return node.value\n}\n\nLRUCache.prototype.del = function (key) {\n del(this, this[CACHE].get(key))\n}\n\nLRUCache.prototype.load = function (arr) {\n // reset the cache\n this.reset()\n\n var now = Date.now()\n // A previous serialized cache has the most recent items first\n for (var l = arr.length - 1; l >= 0; l--) {\n var hit = arr[l]\n var expiresAt = hit.e || 0\n if (expiresAt === 0) {\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n } else {\n var maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n}\n\nLRUCache.prototype.prune = function () {\n var self = this\n this[CACHE].forEach(function (value, key) {\n get(self, key, false)\n })\n}\n\nfunction get (self, key, doUse) {\n var node = self[CACHE].get(key)\n if (node) {\n var hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE]) hit = undefined\n } else {\n if (doUse) {\n self[LRU_LIST].unshiftNode(node)\n }\n }\n if (hit) hit = hit.value\n }\n return hit\n}\n\nfunction isStale (self, hit) {\n if (!hit || (!hit.maxAge && !self[MAX_AGE])) {\n return false\n }\n var stale = false\n var diff = Date.now() - hit.now\n if (hit.maxAge) {\n stale = diff > hit.maxAge\n } else {\n stale = self[MAX_AGE] && (diff > self[MAX_AGE])\n }\n return stale\n}\n\nfunction trim (self) {\n if (self[LENGTH] > self[MAX]) {\n for (var walker = self[LRU_LIST].tail;\n self[LENGTH] > self[MAX] && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n var prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nfunction del (self, node) {\n if (node) {\n var hit = node.value\n if (self[DISPOSE]) {\n self[DISPOSE](hit.key, hit.value)\n }\n self[LENGTH] -= hit.length\n self[CACHE].delete(hit.key)\n self[LRU_LIST].removeNode(node)\n }\n}\n\n// classy, since V8 prefers predictable objects.\nfunction Entry (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lru-cache/index.js\n// module id = 50\n// module chunks = 0","if (process.env.npm_package_name === 'pseudomap' &&\n process.env.npm_lifecycle_script === 'test')\n process.env.TEST_PSEUDOMAP = 'true'\n\nif (typeof Map === 'function' && !process.env.TEST_PSEUDOMAP) {\n module.exports = Map\n} else {\n module.exports = require('./pseudomap')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/pseudomap/map.js\n// module id = 51\n// module chunks = 0","var hasOwnProperty = Object.prototype.hasOwnProperty\n\nmodule.exports = PseudoMap\n\nfunction PseudoMap (set) {\n if (!(this instanceof PseudoMap)) // whyyyyyyy\n throw new TypeError(\"Constructor PseudoMap requires 'new'\")\n\n this.clear()\n\n if (set) {\n if ((set instanceof PseudoMap) ||\n (typeof Map === 'function' && set instanceof Map))\n set.forEach(function (value, key) {\n this.set(key, value)\n }, this)\n else if (Array.isArray(set))\n set.forEach(function (kv) {\n this.set(kv[0], kv[1])\n }, this)\n else\n throw new TypeError('invalid argument')\n }\n}\n\nPseudoMap.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n Object.keys(this._data).forEach(function (k) {\n if (k !== 'size')\n fn.call(thisp, this._data[k].value, this._data[k].key)\n }, this)\n}\n\nPseudoMap.prototype.has = function (k) {\n return !!find(this._data, k)\n}\n\nPseudoMap.prototype.get = function (k) {\n var res = find(this._data, k)\n return res && res.value\n}\n\nPseudoMap.prototype.set = function (k, v) {\n set(this._data, k, v)\n}\n\nPseudoMap.prototype.delete = function (k) {\n var res = find(this._data, k)\n if (res) {\n delete this._data[res._index]\n this._data.size--\n }\n}\n\nPseudoMap.prototype.clear = function () {\n var data = Object.create(null)\n data.size = 0\n\n Object.defineProperty(this, '_data', {\n value: data,\n enumerable: false,\n configurable: true,\n writable: false\n })\n}\n\nObject.defineProperty(PseudoMap.prototype, 'size', {\n get: function () {\n return this._data.size\n },\n set: function (n) {},\n enumerable: true,\n configurable: true\n})\n\nPseudoMap.prototype.values =\nPseudoMap.prototype.keys =\nPseudoMap.prototype.entries = function () {\n throw new Error('iterators are not implemented in this version')\n}\n\n// Either identical, or both NaN\nfunction same (a, b) {\n return a === b || a !== a && b !== b\n}\n\nfunction Entry (k, v, i) {\n this.key = k\n this.value = v\n this._index = i\n}\n\nfunction find (data, k) {\n for (var i = 0, s = '_' + k, key = s;\n hasOwnProperty.call(data, key);\n key = s + i++) {\n if (same(data[key].key, k))\n return data[key]\n }\n}\n\nfunction set (data, k, v) {\n for (var i = 0, s = '_' + k, key = s;\n hasOwnProperty.call(data, key);\n key = s + i++) {\n if (same(data[key].key, k)) {\n data[key].value = v\n return\n }\n }\n data.size++\n data[key] = new Entry(k, v, key)\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/pseudomap/pseudomap.js\n// module id = 52\n// module chunks = 0","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/util/support/isBufferBrowser.js\n// module id = 54\n// module chunks = 0","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/util/node_modules/inherits/inherits_browser.js\n// module id = 55\n// module chunks = 0","module.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/yallist/yallist.js\n// module id = 56\n// module chunks = 0","import StringTokenizer from './StringTokenizer';\nimport * as RoxxOperatorsMap from '../lib/RoxxOperators';\nvar operatorsList = Object.keys(RoxxOperatorsMap);\n\nconst RoxxEscapedQuote = '\\\\\"';\nconst RoxxEscapedQuotePlaceholder = '\\\\RO_Q';\n\nconst RoxxStringDelimiter = '\"';\nconst RoxxArrayStartDelimiter = '[';\nconst RoxxArrayEndDelimiter = ']';\nconst RoxxDictStartDelimiter = '{';\nconst RoxxDictEndDelimiter = '}';\nconst RoxxTokenDelimiters = '{}[]():, \\t\\r\\n\"';\n\n/**\n * Type identifier for ope*rator* tokens\n */\nexport const RoxxTokenTypeRator = 'operator';\n\n/**\n * Type identifier for ope*rand* tokens\n */\nexport const RoxxTokenTypeRand = 'operand';\n/**\n * \n */\nexport class RoxxTokenizer {\n constructor () {\n this.tokenArray = [];\n this.arrayAccumulator = undefined;\n this.dictionaryAccumulator = undefined;\n this.dictKey = undefined;\n }\n\n /**\n * Converts a string token into a Roxx type object.\n * @param {string} token - The token to convert into a Roxx type.\n * @returns {object}\n */\n _stringToRoxx (token) {\n if (operatorsList.includes(token))\n return {type: RoxxTokenTypeRator, value: token};\n if (token == 'true')\n return {type: RoxxTokenTypeRand, value: true};\n if (token == 'false')\n return {type: RoxxTokenTypeRand, value: false};\n if (token == 'undefined')\n return {type: RoxxTokenTypeRand, value: undefined};\n if (token.charAt(0) == '\"' && token.charAt(token.length - 1) == '\"')\n return {type: RoxxTokenTypeRand, value: token.substr(1, token.length - 2)};\n if (!isNaN(token))\n return {type: RoxxTokenTypeRand, value: +token};\n\n return {type: 'UNKNOWN'};\n }\n\n /**\n * Pushes a token into either the arrayAccumulator or the tokenArray\n * according to context.\n * @param {*} token - the token to push \n */\n push (token) {\n if (this.dictionaryAccumulator && !this.dictKey) {\n this.dictKey = token.value;\n } else if (this.dictionaryAccumulator && this.dictKey) {\n this.dictionaryAccumulator[this.dictKey] = token.value;\n this.dictKey = undefined;\n } else if (this.arrayAccumulator) {\n this.arrayAccumulator.push(token.value);\n } else {\n this.tokenArray.push(token);\n }\n }\n\n /**\n * Produces a token array from an expression string. This array is later consumed by RoxxParser\n * @see RoxxParser\n * @param {string} expr - Roxx expression to tokenize\n * @returns {Array}\n */\n tokenize (expr) {\n this.tokenArray = [];\n this.arrayAccumulator = undefined;\n this.dictionaryAccumulator = undefined;\n\n var delimitersToUse = RoxxTokenDelimiters;\n\n var expression = expr.replace(RoxxEscapedQuote, RoxxEscapedQuotePlaceholder);\n var tokenizer = new StringTokenizer(expression, delimitersToUse, true);\n\n var token, prevToken;\n while (tokenizer.hasMoreTokens()) {\n prevToken = token;\n token = tokenizer.nextTokenWithDelimiters(delimitersToUse);\n\n switch (token) {\n case RoxxDictStartDelimiter:\n this.dictionaryAccumulator = {};\n break;\n case RoxxDictEndDelimiter:\n this.tokenArray.push({type: RoxxTokenTypeRand, value: this.dictionaryAccumulator});\n this.dictionaryAccumulator = undefined;\n break;\n case RoxxArrayStartDelimiter:\n this.arrayAccumulator = [];\n break;\n case RoxxArrayEndDelimiter:\n this.tokenArray.push({type: RoxxTokenTypeRand, value: this.arrayAccumulator});\n this.arrayAccumulator = undefined;\n break;\n case RoxxStringDelimiter:\n if (prevToken == RoxxStringDelimiter) {\n // if previous token was also a string delimiter it means we encounterd an emptry string.\n this.push({type: RoxxTokenTypeRand, value: ''});\n }\n\n // Swap delimiters to use if needed. we do this so we can have strings with chars that are normally used as delimiters.\n delimitersToUse = delimitersToUse == RoxxStringDelimiter ? RoxxTokenDelimiters : RoxxStringDelimiter;\n break;\n default:\n if (delimitersToUse == RoxxStringDelimiter) {\n // If get a token that's not RoxxStringDelimiter while using RoxxStringDelimiter as delimiters It's the string value!\n this.push({type: RoxxTokenTypeRand, value: token.replace(RoxxEscapedQuotePlaceholder, RoxxEscapedQuote)});\n } else if (RoxxTokenDelimiters.indexOf(token) == -1) {\n // Is this token a delimiter or something else? if it's something else convert it to a roxx type and push.\n this.push(this._stringToRoxx(token));\n }\n break;\n }\n }\n\n return this.tokenArray;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/parsers/RoxxTokenizer.js","export default class StringTokenizer {\n constructor (string, delimiters, returnDelim) {\n this._string = string;\n this._delimiters = delimiters;\n this._returnDelim = returnDelim;\n this._position = 0;\n }\n\n countTokens () {\n var count = 0;\n var inToken = false;\n for (var i = this._position, length = this._string.length; i < length; i++) {\n if (this._delimiters.indexOf(this._string.charAt(i)) != -1) {\n if (this._returnDelim)\n count++;\n if (inToken) {\n count++;\n inToken = false;\n }\n } else {\n inToken = true;\n }\n }\n if (inToken)\n count++;\n return count;\n }\n\n hasMoreElements () {\n return this.hasMoreTokens();\n }\n\n hasMoreTokens () {\n if (!this._delimiters) {\n return false;\n }\n\n var length = this._string.length;\n if (this._position < length) {\n if (this._returnDelim)\n return true;\n\n for (var i = this._position; i < length; i++) {\n if (this._delimiters.indexOf(this._string.charAt(i)) == -1) {\n return true;\n }\n }\n }\n return false;\n }\n\n nextElement () {\n return this.nextToken();\n }\n\n nextToken () {\n if (!this._delimiters) {\n return undefined;\n }\n\n var i = this._position;\n var length = this._string.length;\n\n if (i < length) {\n if (this._returnDelim) {\n if (this._delimiters.indexOf(this._string.charAt(this._position)) != -1)\n return this._string.charAt(this._position++);\n for (this._position++; this._position < length; this._position++)\n if (this._delimiters.indexOf(this._string.charAt(this._position)) != -1)\n return this._string.substr(i, this._position - i);\n return this._string.substr(i);\n }\n\n while (i < length && this._delimiters.indexOf(this._string.charAt(this._position)) != -1) i++;\n this._position = i;\n if (i < length) {\n for (this._position++; this._position < length; this._position++)\n if (this._delimiters.indexOf(this._string.charAt(this._position)) != -1)\n return this._string.substr(i, this._position - i);\n return this._string.substr(i);\n }\n }\n\n return undefined;\n }\n\n nextTokenWithDelimiters (delimiters) {\n this._delimiters = delimiters;\n return this.nextToken();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/parsers/StringTokenizer.js","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/crypt/crypt.js\n// module id = 59\n// module chunks = 0","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n}(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+\\:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+\\:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code\\])?$/;\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n\n var regExp = /(.+?)(?:\\:(\\d+))?(?:\\:(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[\\(\\)]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n\n return filtered.map(function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^\\()]*)|(\\)\\,.*$)/g, '');\n }\n var tokens = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').split(/\\s+/).slice(1);\n var locationParts = this.extractLocation(tokens.pop());\n var functionName = tokens.join(' ') || undefined;\n var fileName = ['eval', '<anonymous>'].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n\n return filtered.map(function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval\\:\\d+\\:\\d+/g, ':$1');\n }\n\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionName = tokens.join('@') || undefined;\n\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n\n return result;\n },\n\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n })\n );\n }\n }\n\n return result;\n },\n\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n\n return filtered.map(function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(/<anonymous function(: (\\w+))?>/, '$2')\n .replace(/\\([^\\)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^\\)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^\\(]+\\(([^\\)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/error-stack-parser/error-stack-parser.js\n// module id = 60\n// module chunks = 0","(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stackframe', [], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.StackFrame = factory();\n }\n}(this, function() {\n 'use strict';\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n\n function _getter(p) {\n return function() {\n return this[p];\n };\n }\n\n var booleanProps = ['isConstructor', 'isEval', 'isNative', 'isToplevel'];\n var numericProps = ['columnNumber', 'lineNumber'];\n var stringProps = ['fileName', 'functionName', 'source'];\n var arrayProps = ['args'];\n\n var props = booleanProps.concat(numericProps, stringProps, arrayProps);\n\n function StackFrame(obj) {\n if (obj instanceof Object) {\n for (var i = 0; i < props.length; i++) {\n if (obj.hasOwnProperty(props[i]) && obj[props[i]] !== undefined) {\n this['set' + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n }\n\n StackFrame.prototype = {\n getArgs: function() {\n return this.args;\n },\n setArgs: function(v) {\n if (Object.prototype.toString.call(v) !== '[object Array]') {\n throw new TypeError('Args must be an Array');\n }\n this.args = v;\n },\n\n getEvalOrigin: function() {\n return this.evalOrigin;\n },\n setEvalOrigin: function(v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError('Eval Origin must be an Object or StackFrame');\n }\n },\n\n toString: function() {\n var functionName = this.getFunctionName() || '{anonymous}';\n var args = '(' + (this.getArgs() || []).join(',') + ')';\n var fileName = this.getFileName() ? ('@' + this.getFileName()) : '';\n var lineNumber = _isNumber(this.getLineNumber()) ? (':' + this.getLineNumber()) : '';\n var columnNumber = _isNumber(this.getColumnNumber()) ? (':' + this.getColumnNumber()) : '';\n return functionName + args + fileName + lineNumber + columnNumber;\n }\n };\n\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype['set' + _capitalize(booleanProps[i])] = (function(p) {\n return function(v) {\n this[p] = Boolean(v);\n };\n })(booleanProps[i]);\n }\n\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype['get' + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype['set' + _capitalize(numericProps[j])] = (function(p) {\n return function(v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + ' must be a Number');\n }\n this[p] = Number(v);\n };\n })(numericProps[j]);\n }\n\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype['get' + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype['set' + _capitalize(stringProps[k])] = (function(p) {\n return function(v) {\n this[p] = String(v);\n };\n })(stringProps[k]);\n }\n\n return StackFrame;\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/stackframe/stackframe.js\n// module id = 61\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/axios.js\n// module id = 62\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/Axios.js\n// module id = 63\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/normalizeHeaderName.js\n// module id = 64\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/settle.js\n// module id = 65\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/enhanceError.js\n// module id = 66\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/buildURL.js\n// module id = 67\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/parseHeaders.js\n// module id = 68\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/isURLSameOrigin.js\n// module id = 69\n// module chunks = 0","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/btoa.js\n// module id = 70\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/cookies.js\n// module id = 71\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/InterceptorManager.js\n// module id = 72\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/dispatchRequest.js\n// module id = 73\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/core/transformData.js\n// module id = 74\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/isAbsoluteURL.js\n// module id = 75\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/combineURLs.js\n// module id = 76\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/cancel/CancelToken.js\n// module id = 77\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/axios/lib/helpers/spread.js\n// module id = 78\n// module chunks = 0","import ExperimentsParser from './ExperimentsParser';\nimport TargetGroupsParser from './TargetGroupsParser';\nimport remoteConfigurationsParser from './RemoteConfigurationsParser';\n\nconst terms = {\n DATA_CONTAINER: 'data',\n APP_KEY: 'application',\n EXPERIMENTS: 'experiments',\n TARGET_GROUPS: 'targetGroups',\n REMOTE_CONFIGURATIONS: 'remoteVariables',\n SIGNED_DATE: 'signed_date'\n};\n\nexport default class ConfigurationParser {\n constructor(json, appKey) {\n if (!json || typeof json !== 'object') {\n throw new Error(`ConfigurationParser should be constructed with JSON object. Recieved ${json}`);\n }\n if (!appKey || typeof appKey !== 'string') {\n throw new Error(`ConfigurationParser should be constructed with app key string. Recieved ${appKey}`);\n }\n this._json = json;\n this._appKey = appKey;\n }\n\n parse() {\n let data = this._extractInnerJson(this._json);\n if (data[terms.APP_KEY] !== this._appKey) {\n return null;\n }\n this._parseExperiments(data[terms.EXPERIMENTS]);\n this._parseTargetGroups(data[terms.TARGET_GROUPS]);\n this._parseRemoteConfigurations(data[terms.REMOTE_CONFIGURATIONS]);\n this._signedDate = new Date(this._json[terms.SIGNED_DATE]);\n\n return this;\n }\n\n experiments() {\n return this._experiments || [];\n }\n\n targetGroups() {\n return this._targetGroups || [];\n }\n\n remoteConfigurations() {\n return this._configurations || [];\n }\n\n signedDate() {\n return this._signedDate;\n }\n\n _extractInnerJson(json) {\n return JSON.parse(json[terms.DATA_CONTAINER]);\n }\n\n _parseExperiments(experiments) {\n this._experiments = new ExperimentsParser(experiments).parse();\n }\n\n _parseTargetGroups(targetGroups) {\n this._targetGroups = new TargetGroupsParser(targetGroups).parse();\n }\n\n _parseRemoteConfigurations(configurations) {\n this._configurations = remoteConfigurationsParser.parse(configurations);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/parsers/ConfigurationParser.js","import { Experiment, DeploymentConfiguration } from '../entities'\n\nconst terms = {\n DEPLOYMENT_CONFIGURATION: 'deploymentConfiguration',\n DEPLOYMENT_CONDITION: 'condition',\n EXPERIMENT_ARCHIVED: 'archived',\n EXPERIMENT_STICKY: 'sticky',\n EXPERIMENT_ID: '_id', \n EXPERIMENT_NAME: 'name',\n EXPERIMENT_FLAGS: 'featureFlags'\n}\n\nexport default class ExperimentsParser {\n constructor(json) {\n this._json = json;\n }\n\n parse() {\n if (!this._json || !this._json.length) {\n return [];\n }\n\n let experiments = [];\n this._json.forEach(experimentJson => {\n if (!experimentJson || !experimentJson[terms.DEPLOYMENT_CONFIGURATION] || \n !experimentJson[terms.EXPERIMENT_ID] || !experimentJson[terms.EXPERIMENT_NAME] ||\n !experimentJson[terms.EXPERIMENT_FLAGS]) {\n return;\n }\n\n let deploymentConfigurationJson = experimentJson[terms.DEPLOYMENT_CONFIGURATION];\n if (!deploymentConfigurationJson[terms.DEPLOYMENT_CONDITION]) {\n return;\n }\n\n let deploymentConfiguration = new DeploymentConfiguration(deploymentConfigurationJson[terms.DEPLOYMENT_CONDITION])\n experiments.push(new Experiment(experimentJson[terms.EXPERIMENT_ID], experimentJson[terms.EXPERIMENT_NAME], \n !!experimentJson[terms.EXPERIMENT_ARCHIVED], !!experimentJson[terms.EXPERIMENT_STICKY], \n deploymentConfiguration, experimentJson[terms.EXPERIMENT_FLAGS]));\n })\n\n return experiments;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/parsers/ExperimentsParser.js","import CustomProperty from './CustomProperty'\n\nexport default class DeviceProperty extends CustomProperty {\n get name() {\n return `rox.${super.name}`\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/entities/DeviceProperty.js","export default class DeploymentConfiguration {\n constructor(condition) {\n this.condition = condition;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/entities/DeploymentConfiguration.js","export default class Experiment {\n constructor(identifier, name, archived, sticky, deploymentConfiguration, flags) {\n this.identifier = identifier;\n this.name = name;\n this.archived = archived;\n this.sticky = sticky;\n this.deploymentConfiguration = deploymentConfiguration;\n this.flags = flags\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/entities/Experiment.js","import { RoxxParser } from '../parsers';\nimport * as Context from '../context';\n\nconst parser = new RoxxParser();\nconst types = ['string', 'boolean', 'number'];\n\nexport default class RoxConfiguration {\n constructor(defaultValue) {\n let valueType = typeof defaultValue;\n this._entityType = 'configuration';\n if (types.indexOf(valueType) === -1) {\n throw new Error(\n `RoxConfiguration initialized with wrong type '${valueType}'`\n );\n }\n\n Object.defineProperty(this, '_defaultValue', {\n value: defaultValue,\n writable: false,\n enumerable: false\n });\n\n Object.defineProperty(this, '_value', {\n value: defaultValue,\n writable: true,\n enumerable: false\n });\n\n Object.defineProperty(this, '_type', {\n value: valueType,\n writable: false,\n enumerable: false\n });\n\n Object.defineProperty(this, '_externalType', {\n value: valueType.charAt(0).toUpperCase() + valueType.slice(1),\n writable: false,\n enumerable: false\n });\n\n Object.defineProperty(this, '_name', {\n value: null,\n writable: true,\n enumerable: false\n });\n }\n\n get name() {\n return this._name;\n }\n\n get type() {\n return this._type;\n }\n\n get externalType() {\n return this._externalType;\n }\n\n get defaultValue() {\n return this._defaultValue;\n }\n\n getValue(context = {}) {\n if (this.condition) {\n let mergedContext = Context.Actions.getMergedContextWithGlobal(context);\n let value = parser.evaluateExpression(this.condition, mergedContext);\n value ? this._value = value : this._value = this.defaultValue;\n }\n return this._value;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/entities/Configuration.js","import * as Manager from './Manager';\nconst cloneDeep = require('lodash.clonedeep');\n\nexport function getMergedContext(context, contextToBeMerged) {\n if (!context) return cloneDeep(contextToBeMerged);\n const mergedContext = Object.assign({}, context, contextToBeMerged);\n return cloneDeep(mergedContext);\n}\n\nexport function getMergedContextWithGlobal(contextToBeMerged) {\n let globalContext = Manager.getContext();\n if (!contextToBeMerged) return globalContext;\n const mergedContext = Object.assign({}, globalContext, contextToBeMerged);\n return cloneDeep(mergedContext);\n}\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/context/Actions.js","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 86\n// module chunks = 0","import { invokeImpression } from '../lib/ImpressionHandler';\n\nexport default class RoxVariant {\n constructor(defaultValue, options, name) {\n this._entityType = 'variant';\n this._options = [...options];\n this._validate(defaultValue);\n this._name = name;\n this._value = this._defaultValue = defaultValue;\n this._type = 'string';\n this._frozen = false;\n }\n\n _validate(defaultValue) {\n const optionsError = new Error(\n `RoxVariant options must be a non-empty array of strings. Received '${this._options}'`\n );\n\n if (typeof defaultValue !== 'string') {\n throw new Error(`RoxVariant default value must be string. Recieved '${defaultValue}'`);\n }\n\n if (!this._options.length) {\n throw optionsError;\n }\n\n if (!this._options.every(option => typeof option === 'string')) {\n throw optionsError;\n }\n\n if (this._options.indexOf(defaultValue) === -1) {\n this._options.push(defaultValue);\n }\n }\n\n get defaultValue() {\n return this._defaultValue;\n }\n\n get overridenValue() {\n if (this.overrider.hasOverride(this.name)) {\n return this.overrider.getOverride(this.name);\n }\n }\n\n set name(name) {\n this._name = name;\n }\n\n get name() {\n return this._name;\n }\n\n getNameDetails() {\n if (!this.name) return;\n const els = this.name.split('.');\n return {\n namespace: els.shift() || 'default',\n name: els.join('.')\n };\n }\n\n dump() {\n return {\n name: this.name,\n nameDetails: this.getNameDetails(),\n options: [...this._options],\n defaultValue: this.defaultValue,\n originalValue: this.getActiveValue(true, true),\n overridingValue: this.overridenValue,\n value: this.getValue.length === 1 ? this.getValue(true) : this.getValue(null, true)\n };\n }\n\n _flagImpression(value, context) {\n invokeImpression(value, this, context);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/entities/Variant.js","import TargetGroup from '../entities/TargetGroup';\n\nconst terms = {\n TARGET_GROUP_ID: '_id',\n TARGET_GROUP_CONDITION: 'condition'\n};\n\nexport default class TargetGroupsParser {\n constructor(json) {\n this._json = json;\n }\n\n parse() {\n if (!this._json || !this._json.length) {\n return [];\n }\n\n let targetGroups = [];\n\n this._json.forEach(json => {\n if (!json || !json[terms.TARGET_GROUP_ID] || !json[terms.TARGET_GROUP_CONDITION]) {\n return;\n }\n targetGroups.push(new TargetGroup(json[terms.TARGET_GROUP_ID], json[terms.TARGET_GROUP_CONDITION]));\n });\n\n return targetGroups;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/parsers/TargetGroupsParser.js","import { fetchRemoteConfiguration } from './RequestConfiguration';\nimport { buildRequestConfiguration } from './RequestConfigurationBuilder';\n\nimport { ConfigurationParser } from '../parsers';\nimport { ConfigurationSetter, FlagsSetter } from '../setters';\n\nimport BugsnagReporter from './BugsnagReporter';\n\nimport Config from '../config';\n\nconst CACHE_KEY = Config.get('CLIENT_DATA_CACHE_KEY');\nconst CACHE_TTL = Config.get('CLIENT_DATA_CACHE_TTL_MIN');\nlet isdispatchPeriodicallyRuning = false;\n\nimport TargetGroupRepository from '../repositories/TargetGroupRepository';\nimport ExperimentsRepository from '../repositories/ExperimentsRepository';\nimport RoxLogger from './RoxLogger';\n\nimport { FetcherResults, FetcherStatus } from './FetcherResults';\n\nimport EmbeddedConfiguration from './EmbeddedConfiguration';\n\nclass ConfigurationFetcher {\n constructor(appKey, deviceProperties, devModeSecret, dependencies, embeddedPayload) {\n this.cache = dependencies.RoxCache;\n this.crypto = dependencies.RoxCrypto;\n this.embdeddedJSON = this.fetchFromEmbedded(embeddedPayload);\n this.appKey = appKey;\n this.deviceProperties = deviceProperties;\n this.devModeSecret = devModeSecret;\n this.lastResponse = null;\n }\n\n runHandler(handler, data) {\n if (data.errorDetails) {\n BugsnagReporter.error('Configuration fetcher returned with ' + data.fetcherStatus, data.errorDetails);\n }\n if (handler instanceof Function) {\n try {\n handler(data);\n } catch (e) {}\n }\n }\n\n dispatch({ handler, options }) {\n RoxLogger.debug('dispatch();');\n const sources = [];\n if (options.useCache) {\n if (this.embdeddedJSON) {\n const embdeddedParser = this.parsePayload(this.embdeddedJSON);\n if (embdeddedParser) {\n sources.push({\n payload: this.embdeddedJSON,\n parser: embdeddedParser,\n status: FetcherStatus.APPLIED_FROM_EMBEDDED\n });\n }\n }\n\n const cachedPayload = this.fetchFromCache();\n if (cachedPayload) {\n const cachedParser = this.parsePayload(cachedPayload);\n if (cachedParser) {\n sources.push({\n payload: cachedPayload,\n parser: cachedParser,\n status: FetcherStatus.APPLIED_FROM_CACHE\n });\n }\n }\n }\n\n if (sources.length > 0) {\n const latest = sources.reduce((latest, current) => {\n return latest && latest.parser.signedDate() > current.parser.signedDate() ? latest : current;\n }, null);\n if (!this.lastApplied || this.lastApplied.signedDate() < latest.parser.signedDate()) {\n this.lastResponse = latest.payload;\n this.apply(latest.parser, latest.status, false, handler);\n }\n }\n\n return this._dispatch({ handler, storeInCache: true });\n }\n\n dispatchPeriodically({ handler, periodTimeInSec }) {\n if (isdispatchPeriodicallyRuning) {\n RoxLogger.debug('Dispatch Periodically already running');\n return Promise.resolve();\n }\n\n isdispatchPeriodicallyRuning = true;\n RoxLogger.debug('Dispatch Periodically');\n\n setInterval(() => {\n this._dispatch({ handler });\n }, periodTimeInSec * 1000);\n }\n\n _dispatch({ handler, storeInCache }) {\n return this.fetchFromNetwork()\n .then(response => {\n const hasChanges = this.isNewResponse(response);\n const result = this.process(response, FetcherStatus.APPLIED_FROM_NETWORK, hasChanges, handler);\n return result.then(() => {\n storeInCache && this.storeInCache(response);\n this.lastResponse = response;\n });\n })\n .catch(err => {\n this.runHandler(handler, new FetcherResults(FetcherStatus.ERROR_FETCH_FAILED, null, false, err));\n });\n }\n\n fetchFromNetwork() {\n RoxLogger.debug(`fetch from network for appKey ${this.appKey}`);\n const rc = buildRequestConfiguration({\n appKey: this.appKey,\n deviceProperties: this.deviceProperties,\n devModeSecret: this.devModeSecret\n });\n RoxLogger.debug(rc);\n return fetchRemoteConfiguration(rc);\n }\n\n fetchFromCache() {\n RoxLogger.debug('fetch From Cache');\n const cached = this.cache.get(CACHE_KEY);\n let parsed;\n if (cached) {\n try {\n parsed = JSON.parse(cached);\n } catch (e) {\n RoxLogger.warn(`Configuration retreived from cache, but is corrupted. Aborting. (Error: ${e})`);\n }\n if (parsed && parsed.constructor === Object) {\n RoxLogger.debug(`Parsed cached = ${JSON.stringify(parsed)}`);\n return parsed;\n }\n }\n }\n\n fetchFromEmbedded(embedded) {\n let parsed;\n if (embedded) {\n try {\n parsed = JSON.parse(embedded);\n } catch (e) {\n RoxLogger.warn('Received embdedded configuration, but it is corrupted. Aborting. Error: ', e);\n }\n if (parsed && parsed.constructor === Object) {\n RoxLogger.debug(`Parsed embedded = ${JSON.stringify(parsed)}`);\n return parsed;\n }\n }\n if (EmbeddedConfiguration && typeof EmbeddedConfiguration === 'object') {\n return EmbeddedConfiguration;\n }\n }\n\n storeInCache(response) {\n RoxLogger.debug(`Store in cache response = ${JSON.stringify(response)}`);\n this.cache.set(CACHE_KEY, JSON.stringify(response), CACHE_TTL);\n }\n\n process(payload, ...args) {\n if (!payload) {\n return Promise.reject('Empty configuration');\n }\n return this.verifyPayload(payload).then(verified => {\n if (!verified) {\n throw new Error(\"The payload has corrupted or it's authenticity cannot be securely verified.\");\n }\n const parser = this.parsePayload(payload);\n if (!parser) {\n return Promise.reject('Failed to parse configuration');\n }\n return this.apply(parser, ...args);\n });\n }\n\n apply(parser, source, hasChanges, handler) {\n if (parser) {\n this.calculatePayload(parser);\n this.lastApplied = parser;\n return new Promise(resolve => {\n const fetcherResults = new FetcherResults(source, parser.signedDate(), hasChanges);\n this.runHandler(handler, fetcherResults);\n resolve();\n });\n }\n }\n\n parsePayload(response) {\n const parser = new ConfigurationParser(response, this.appKey);\n if (!parser.parse()) {\n RoxLogger.debug(\n `failed to parse payload. response = ${JSON.stringify(response)} deviceProps = ${\n this.deviceProperties\n } app_key = ${this.appKey}`\n );\n return null;\n }\n return parser;\n }\n\n verifyPayload(response) {\n const { signature_v0, data } = response;\n const signed_date = new Date(response.signed_date);\n if (!signed_date || signed_date > +new Date()) {\n return false;\n }\n return this.crypto.then(crypto => crypto.verify(data, signature_v0));\n }\n\n calculatePayload(parser) {\n if (!parser) {\n return;\n }\n\n TargetGroupRepository.setTargetGroups(parser.targetGroups());\n ExperimentsRepository.setExperiments(parser.experiments());\n\n new ConfigurationSetter().prepareConfigurations(parser.remoteConfigurations());\n new FlagsSetter().prepareFlagsWithExperiments(parser.experiments());\n\n return parser;\n }\n\n isNewResponse(response) {\n return JSON.stringify(this.lastResponse) !== JSON.stringify(response);\n }\n}\n\nexport default ConfigurationFetcher;\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/ConfigurationFetcher.js","import * as axios from 'axios';\nimport { buildAPIURL } from './RoxAPI';\nimport RoxLogger from './RoxLogger';\n\nconst fetchFromAPI = function(url) {\n return axios.get(url).then(({ data, status }) => {\n if (status === 200 && data && typeof data === 'object') {\n RoxLogger.debug('succeed fetch from API');\n return data;\n }\n return Promise.reject(new Error('Unexpected response from ROX API'));\n });\n};\n\nconst fetchFromCDN = function(cache_url) {\n return axios.get(cache_url).then(({ data, status }) => {\n if (status === 200 && data && data.constructor === Object) {\n RoxLogger.debug('succeed fetch from CDN');\n return data;\n }\n return Promise.reject();\n });\n};\n\nexport function fetchRemoteConfiguration(properties) {\n const cache_url = `${properties.cache_miss_url}?distinct_id=${properties.distinct_id}`;\n return fetchFromCDN(cache_url)\n .catch(() => fetchFromAPI(buildAPIURL(properties)))\n .catch(err => {\n err.message = 'Unable to fetch rox configuration!\\n' + err.message;\n RoxLogger.error(err);\n throw err;\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/RequestConfiguration.js","import querystring from 'qs';\nimport Config from '../config';\n\nexport const buildAPIURL = function (properties) {\n const qs = querystring.stringify(properties, { addQueryPrefix: true });\n return Config.get('CD_API_ENDPOINT') + qs;\n}\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/RoxAPI.js","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/qs/lib/index.js\n// module id = 92\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar formats = require('./formats');\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) { // eslint-disable-line func-name-matching\n return prefix + '[]';\n },\n indices: function indices(prefix, key) { // eslint-disable-line func-name-matching\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) { // eslint-disable-line func-name-matching\n return prefix;\n }\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaults = {\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar stringify = function stringify( // eslint-disable-line func-name-matching\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n) {\n var obj = object;\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix;\n }\n\n obj = '';\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (Array.isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n if (Array.isArray(obj)) {\n values = values.concat(stringify(\n obj[key],\n generateArrayPrefix(prefix, key),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n } else {\n values = values.concat(stringify(\n obj[key],\n prefix + (allowDots ? '.' + key : '[' + key + ']'),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n }\n\n return values;\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;\n var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;\n var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;\n var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder;\n var sort = typeof options.sort === 'function' ? options.sort : null;\n var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;\n var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;\n var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;\n if (typeof options.format === 'undefined') {\n options.format = formats['default'];\n } else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n var formatter = formats.formatters[options.format];\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (Array.isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (options.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = options.arrayFormat;\n } else if ('indices' in options) {\n arrayFormat = options.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (sort) {\n objKeys.sort(sort);\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n keys = keys.concat(stringify(\n obj[key],\n key,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encode ? encoder : null,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n\n var joined = keys.join(delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n return joined.length > 0 ? prefix + joined : '';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/qs/lib/stringify.js\n// module id = 93\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n arrayLimit: 20,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n parameterLimit: 1000,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n\n for (var i = 0; i < parts.length; ++i) {\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder);\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder);\n val = options.decoder(part.slice(pos + 1), defaults.decoder);\n }\n if (has.call(obj, key)) {\n obj[key] = [].concat(obj[key]).concat(val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options) {\n var leaf = val;\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]') {\n obj = [];\n obj = obj.concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys\n // that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while ((segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options);\n};\n\nmodule.exports = function (str, opts) {\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n options.ignoreQueryPrefix = options.ignoreQueryPrefix === true;\n options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;\n options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;\n options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;\n options.parseArrays = options.parseArrays !== false;\n options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;\n options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;\n options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;\n options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;\n options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;\n options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options);\n obj = utils.merge(obj, newObj, options);\n }\n\n return utils.compact(obj);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/qs/lib/parse.js\n// module id = 94\n// module chunks = 0","import Config from '../config';\nimport * as BUID from './BUID';\n\nimport RuntimeRegistry from './RuntimeRegistry';\nconst registry = new RuntimeRegistry();\n\nexport const buildRequestConfiguration = function({ appKey, deviceProperties, devModeSecret }) {\n const properties = deviceProperties.getProperties();\n\n properties.app_key = appKey;\n\n properties.feature_flags = JSON.stringify(registry.featureFlags);\n\n properties.custom_properties = JSON.stringify(registry.customProperties);\n\n properties.remoteVariables = JSON.stringify(registry.remoteConfiguration);\n\n properties.buid = BUID.generate(properties);\n properties.buid_generators_list = BUID.GENERATOR_LIST.join(',');\n properties.cache_miss_url = `${Config.get('CD_S3_ENDPOINT')}${properties.buid}`;\n\n properties.devModeSecret = devModeSecret;\n\n return properties;\n};\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/RequestConfigurationBuilder.js","import md5 from 'md5';\n\nexport const GENERATOR_LIST = [\n 'app_release',\n 'lib_version',\n 'api_version',\n 'platform',\n 'package_name',\n 'app_key',\n 'customSigningCertificate',\n 'app_environment',\n 'feature_flags',\n 'custom_properties',\n 'remoteVariables'\n];\n\nexport function generate(all_properties = {}, generator_list = GENERATOR_LIST) {\n const payload = generator_list.map(key => {\n const value = all_properties[key];\n if (!value) {\n return key;\n }\n if (value.constructor === Object) {\n return JSON.stringify(value);\n }\n return value;\n });\n return md5(payload.join('|'));\n}\n\nexport default class BUID {\n static generate() {\n return generate.apply(null, arguments);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/BUID.js","export let FetcherStatus = {\n APPLIED_FROM_EMBEDDED: 'APPLIED_FROM_EMBEDDED',\n APPLIED_FROM_CACHE: 'APPLIED_FROM_CACHE',\n APPLIED_FROM_NETWORK: 'APPLIED_FROM_NETWORK',\n ERROR_FETCH_FAILED: 'ERROR_FETCH_FAILED'\n};\n\nexport class FetcherResults {\n constructor(fetcherStatus, creationDate, hasChanges, errorDetails) {\n this.fetcherStatus = fetcherStatus;\n this.creationDate = creationDate;\n this.hasChanges = hasChanges;\n this.errorDetails = errorDetails;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/FetcherResults.js","let _data, _tmp;\ntry {\n _tmp = (void 0, $__ROX_EMBEDDED_CONTENT);\n} catch (e) {}\nif (_tmp && typeof _tmp === 'string') {\n try {\n _tmp = JSON.parse(_tmp);\n } catch (e) {\n _tmp = undefined;\n }\n}\nif (_tmp && _tmp.constructor === Object && _tmp.signed_date) {\n _data = _tmp;\n}\nexport default _data;\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/EmbeddedConfiguration.js","import { Configuration as configurationRepository, Flags as flagsRepository } from '../repositories';\n\nconst defaultOptions = { flagsRepository, configurationRepository };\nexport default class RoxClassRegister {\n constructor(options = {}) {\n this.options = Object.assign({}, defaultOptions, options);\n this._flagsRepository = this.options.flagsRepository;\n this._configurationRepository = this.options.configurationRepository;\n this._namespaceStore = new Set();\n }\n\n handleContainer(namespace, container) {\n if (Object.prototype.toString.call(namespace) !== '[object String]') {\n throw new Error('InvalidNamespace: Namespace must be a string (non-nullable).');\n }\n if (this._namespaceStore.has(namespace)) {\n const err = `InvalidNamespace: A namespace must be unique. A container with the given namesapce ('${namespace}') has already been registered.`;\n throw new Error(err);\n } else {\n this._namespaceStore.add(namespace);\n }\n for (let prop in container) {\n if (container.hasOwnProperty(prop)) {\n let label = namespace ? `${namespace}.${prop}` : prop;\n let entity = container[prop];\n if (entity._entityType === 'flag' || entity._entityType === 'variant') {\n this._flagsRepository.addFlag(label, entity);\n }\n if (entity._entityType === 'configuration') {\n this._configurationRepository.addRemoteConfiguration(label, entity);\n }\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/ClassRegister.js","import uuid from 'uuid/v4';\n\nexport default class DeviceProperties {\n constructor(cache) {\n this.cache = cache;\n this.distinct_id = this.generateDistinctId();\n this.app_release = '0.0';\n this.distinctIdSetExplicitly = false;\n }\n\n setPlatform(platform) {\n this.platform = platform;\n }\n\n setDistinctId(id) {\n this.distinctIdSetExplicitly = true;\n this.distinct_id = id;\n }\n\n setAppRelease(appRelease) {\n this.app_release = appRelease;\n }\n\n generateDistinctId() {\n let distinct_id = this.cache.get('distinctId');\n if (!distinct_id) {\n distinct_id = uuid();\n this.cache.set('distinctId', distinct_id);\n }\n return distinct_id;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/DeviceProperties.js","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/uuid/v4.js\n// module id = 101\n// module chunks = 0","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && msCrypto.getRandomValues.bind(msCrypto));\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/uuid/lib/rng-browser.js\n// module id = 102\n// module chunks = 0","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n return bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]];\n}\n\nmodule.exports = bytesToUuid;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/uuid/lib/bytesToUuid.js\n// module id = 103\n// module chunks = 0","import { BugsnagReporter, RoxLogger, ClassRegister, ConfigurationFetcher } from './';\nimport {\n TargetGroups as TargetGroupRepository,\n Flags as FlagsRepository,\n Configuration as ConfigurationRepository,\n CustomProperties as CustomPropertyRepository,\n Experiments as ExperimentsRepository\n} from '../repositories';\n\nimport { CustomProperty } from '../entities';\nimport { RoxxParser } from '../parsers';\nimport { setHandler } from './ImpressionHandler';\n\nimport deboucne from 'lodash/debounce';\n\nconst MINIMUM_INTERVAL_SEC = 30;\nconst DISABLED_INTERVAL_THRESOLD = 0;\nconst CUSTOM_PROPERTY_TIMEOUT_MS = 5000;\n\nlet _deps = {\n ClassRegister\n};\n\nexport class Client {\n constructor(fetchOnPropertyTimeoutMS = CUSTOM_PROPERTY_TIMEOUT_MS) {\n this.classRegisterer = new _deps.ClassRegister();\n this.fetchByPropertyDebounced = deboucne(() => this.fetch(), fetchOnPropertyTimeoutMS, {\n maxWait: fetchOnPropertyTimeoutMS,\n leading: false,\n trailing: true\n });\n }\n\n get appKey() {\n return this.app_key;\n }\n\n setKey(apiKey) {\n this.app_key = apiKey;\n }\n\n setup(options = {}) {\n try {\n // Bootstrap Options\n this.handleOptions(options);\n\n // Bootstrap Device Properties\n _deps.DeviceProperties = _deps.DeviceProperties.create ? _deps.DeviceProperties.create() : _deps.DeviceProperties;\n this.app_release && _deps.DeviceProperties.setAppRelease(this.app_release);\n this.distinct_id && _deps.DeviceProperties.setDistinctId(this.distinct_id);\n this.platform && _deps.DeviceProperties.setPlatform(this.platform);\n this.deviceProperties = _deps.DeviceProperties;\n\n // Bootstrap Error Reporter\n BugsnagReporter.init(this.appKey, _deps.DeviceProperties);\n\n // Bootstap Configuration Fetcher\n this.configurationFetcher = new ConfigurationFetcher(\n this.appKey,\n this.deviceProperties,\n this.devModeSecret,\n _deps,\n this.embeddedConfiguration\n );\n\n // Bootstrap Custom Properties\n _deps\n .getDefaultCustomProperties(this.deviceProperties)\n .map(CustomPropertyRepository.set.bind(CustomPropertyRepository));\n } catch (e) {\n const message = 'Oh uh! An error occured during setup.';\n RoxLogger.error(message, e);\n BugsnagReporter.error(message, e);\n }\n return Promise.resolve(this);\n }\n\n handleOptions(options) {\n const _options = Object.assign({}, _deps.DefaultSetupOptions, options);\n this.embeddedConfiguration = _options.embedded;\n this.fetchIntervalInSec = _options.fetchIntervalInSec;\n this.configurationFetchedHandler = _options.configurationFetchedHandler;\n this.impressionHandler = _options.impressionHandler;\n this.app_release = _options.version;\n this.distinct_id = _options.distinctId;\n this.devModeSecret = _options.devModeSecret;\n this.platform = _options.platform;\n setHandler(this.impressionHandler);\n }\n\n fetchPeriodically() {\n if (!this.app_key) {\n RoxLogger.warn('no app key');\n return Promise.reject();\n }\n if (this.fetchIntervalInSec <= DISABLED_INTERVAL_THRESOLD) return Promise.resolve();\n if (this.fetchIntervalInSec < MINIMUM_INTERVAL_SEC) this.fetchIntervalInSec = MINIMUM_INTERVAL_SEC;\n this._fetch({ useCache: false });\n this.configurationFetcher.dispatchPeriodically({\n handler: this.configurationFetchedHandler,\n periodTimeInSec: this.fetchIntervalInSec\n });\n return Promise.resolve();\n }\n\n fetchWithCacheAndProceed() {\n return this._fetch({ useCache: true });\n }\n\n fetch() {\n return this._fetch({ useCache: false });\n }\n\n _fetch(options = {}) {\n if (!this.app_key) {\n RoxLogger.warn('no app key');\n return;\n }\n if (!this.configurationFetcher) {\n return;\n }\n return this.configurationFetcher.dispatch({\n handler: this.configurationFetchedHandler,\n options\n });\n }\n\n register(name, container) {\n RoxLogger.debug(`Registering container '${name}' = ${JSON.stringify(container)}`);\n this.classRegisterer.handleContainer(name, container);\n }\n\n setCustomProperty(name, type, value) {\n const property = new CustomProperty(name, type, value);\n const isNew = !CustomPropertyRepository.has(property);\n CustomPropertyRepository.set(property);\n isNew && this.fetchByPropertyDebounced();\n }\n\n unfreeze(namespace, freezeLevel) {\n const namespaceFilter = flag => {\n if (!flag.name || typeof namespace !== 'string') return true;\n const flagNameParts = flag.name.split('.');\n if (flagNameParts.length === 1 && namespace === '') {\n return true;\n } else if (flagNameParts.slice(0, flagNameParts.length - 1).join('.') === namespace) {\n return true;\n }\n\n return false;\n };\n FlagsRepository.flags.filter(namespaceFilter).forEach(flag => {\n flag.unfreeze(freezeLevel);\n });\n\n ConfigurationRepository.remoteConfigurations.filter(namespaceFilter).forEach(remoteConfiguration => {\n remoteConfiguration.unfreeze(freezeLevel);\n });\n }\n\n get metadata() {\n const _roxxTrueToBoolean = val => (val === 'true' ? true : false);\n\n var parser = new RoxxParser();\n var targetGroups = TargetGroupRepository.targetGroups.map(tg => ({\n name: tg.name,\n isEnabled: parser.evaluateExpression(tg.condition)\n }));\n var experiments = ExperimentsRepository.experiments.map(e => ({\n name: e.name,\n isEnabled: _roxxTrueToBoolean(parser.evaluateExpression(e.deploymentConfiguration.condition))\n }));\n var remoteConfigurations = ConfigurationRepository.remoteConfigurations.map(c => ({\n name: c.name,\n value: c.value\n }));\n var flags = FlagsRepository.flags.map(f => ({\n name: f.name,\n value: f._peek()\n }));\n\n return { targetGroups, experiments, remoteConfigurations, flags };\n }\n}\n\nconst instance = new Client();\n\nexport default function(deps = {}) {\n _deps = Object.assign({}, _deps, deps);\n return instance;\n}\n\n\n\n// WEBPACK FOOTER //\n// ../rox-base/src/lib/Client.js","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/debounce.js\n// module id = 105\n// module chunks = 0","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/now.js\n// module id = 106\n// module chunks = 0","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/_freeGlobal.js\n// module id = 107\n// module chunks = 0","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/toNumber.js\n// module id = 108\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/isSymbol.js\n// module id = 109\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/_baseGetTag.js\n// module id = 110\n// module chunks = 0","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\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/_getRawTag.js\n// module id = 111\n// module chunks = 0","/** 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/_objectToString.js\n// module id = 112\n// module chunks = 0","/**\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lodash/isObjectLike.js\n// module id = 113\n// module chunks = 0","import Rox from './lib/Rox';\nimport RemoteConfiguration from './lib/RemoteConfiguration';\nimport Variant from './lib/Variant';\nimport Flag from './lib/Flag';\nimport { open } from './lib/DebuggerUI';\n\nRox.Configuration = RemoteConfiguration;\nRox.Variant = Variant;\nRox.Flag = Flag;\nRox.showOverrides = open;\n\nexport default Rox;\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","import client from './RoxClient';\nimport { setDefaultFreezeOption } from './FreezeOptions';\nimport RoxBase from 'rox-base';\nconst { RoxLogger, Config: configuration } = RoxBase;\n\nclass Rox {\n /**\n * Initiate connection with ROX servers for the application identified by the application key. The registered containers will be synced and Rox entities will get the appropriate values.\n * @param {String} appKey application key as appears in ROX dashboard\n * @param {Object} options optional configuration object\n */\n setup(appKey, options = {}) {\n RoxLogger.setVerboseMode(options.debugLevel);\n if (options.configuration) {\n configuration.setActive(options.configuration);\n }\n if (options.freeze) {\n setDefaultFreezeOption(options.freeze);\n }\n client.setKey(appKey);\n client.setup(options);\n client.fetchWithCacheAndProceed();\n }\n\n fetch() {\n client && client.fetch();\n }\n\n setCustomStringProperty(key, value) {\n client.setCustomProperty(key, String, value);\n }\n\n setCustomNumberProperty(key, value) {\n client.setCustomProperty(key, Number, value);\n }\n\n setCustomBooleanProperty(key, value) {\n client.setCustomProperty(key, Boolean, value);\n }\n\n /**\n * Register a container of Rox entities by specifiying a namespace.\n * @param {String} name Container name\n * @param {Object} container Object literal whose properties are Rox entities\n */\n register(name, container) {\n client.register(name, container);\n }\n\n unfreeze(namespace) {\n client.unfreeze(namespace);\n }\n}\n\nconst instance = new Rox();\nexport default instance;\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/Rox.js","import RoxBase from 'rox-base';\nimport DeviceProperties from './DeviceProperties';\nimport { defaultSetupOptions as DefaultSetupOptions } from './DefaultSetupOptions';\nimport { getDefaultCustomProperties } from './DefaultProperties';\nimport RoxCache from './RoxCache';\nimport RoxCrypto from './RoxCrypto';\n\nconst { createRoxClient } = RoxBase;\n\nexport default createRoxClient({\n DeviceProperties,\n getDefaultCustomProperties,\n DefaultSetupOptions,\n RoxCache,\n RoxCrypto\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/RoxClient.js","import RoxBase from 'rox-base';\nimport Manifest from '../manifest';\nimport RoxCache from './RoxCache';\n\nconst { DeviceProperties: DevicePropertiesBase } = RoxBase;\nconst { api_version, lib_version } = Manifest;\n\nclass DeviceProperties extends DevicePropertiesBase {\n getProperties() {\n const { distinct_id, app_release, platform } = this;\n return {\n app_release,\n api_version,\n lib_version,\n distinct_id,\n screen_width: window.screen.width,\n screen_height: window.screen.height,\n version_name: app_release,\n package_name: app_release,\n rollout_build: '100',\n debugger_attached: '0',\n platform,\n customSigningCertificate: '5659eb0ca47811395ef85f0b09be63b7',\n rollout_disabled_initial_state: '0',\n os: 'iOS',\n language: navigator.language,\n proxy_cache_miss_url: '(null)',\n anticache: +Date.now()\n };\n }\n}\n\nexport default new DeviceProperties(RoxCache);\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/DeviceProperties.js","import { version, ROX } from '../package.json';\nexport default {\n api_version: ROX.api_version,\n lib_version: version\n};\n\n\n// WEBPACK FOOTER //\n// ./src/manifest.js","module.exports = {\"name\":\"rox-browser\",\"version\":\"2.2.1\",\"description\":\"Rollout.io ROX JS SDK Client\",\"author\":\"Rollout.io <support@rollout.io>\",\"license\":\"SEE LICENSE IN LICENSE\",\"homepage\":\"https://rollout.io\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/rollout/roxjs.git\"},\"bugs\":{\"url\":\"https://github.com/rollout/roxjs/issues\",\"email\":\"support@rollout.io\"},\"keywords\":[\"feature-flag\",\"feature-flags\",\"remote-configuration\",\"remote-variable\",\"rollout\",\"rox\",\"flags\",\"flag\",\"configuration\",\"remote-control\",\"rollout.io\"],\"scripts\":{\"start\":\"ROLLOUT_MODE=local webpack-dev-server\",\"test\":\"BABEL_ENV=test jest --testPathPattern ./src/**\",\"test:watch\":\"BABEL_ENV=test jest --testPathPattern ./src/** --watch\",\"prebuild\":\"npm run clean:dist\",\"build:base\":\"BABEL_ENV=build webpack --config webpack.config.build.js\",\"build\":\"npm run build:base -- --progress --colors\",\"build:stats\":\"npm run build:base -- --progress --profile --display-reasons --json > rox-browser-stats.json\",\"postbuild\":\"jest ./__tests__/**\",\"prepublishOnly\":\"npm run test && npm run build\",\"clean:dist\":\"rm -rf dist/*\"},\"ROX\":{\"api_version\":\"1.5.0\"},\"main\":\"dist/rox-browser.js\",\"browser\":\"dist/rox-browser.js\",\"module\":\"src/index.js\",\"dependencies\":{\"rox-base\":\"^2.1.2\"},\"devDependencies\":{\"babel-eslint\":\"^8.2.2\",\"babel-loader\":\"^7.1.1\",\"babel-plugin-transform-class-properties\":\"^6.24.1\",\"babel-preset-es2015\":\"^6.24.1\",\"babel-preset-react\":\"^6.24.1\",\"base64-arraybuffer\":\"^0.1.5\",\"css-loader\":\"^0.28.4\",\"enquirer\":\"^1.0.2\",\"eslint\":\"^4.3.0\",\"eslint-plugin-react\":\"^7.1.0\",\"extract-text-webpack-plugin\":\"^3.0.0\",\"html-webpack-plugin\":\"^2.29.0\",\"jest\":\"^22.1.2\",\"lscache\":\"^1.1.0\",\"prompt-confirm\":\"^1.2.0\",\"react\":\"^15.6.1\",\"react-dom\":\"^15.6.1\",\"rox-embedded-webpack-plugin\":\"^1.0.2\",\"style-loader\":\"^0.18.2\",\"uglifyjs-webpack-plugin\":\"^1.2.3\",\"webpack\":\"^3.5.5\",\"webpack-bundle-analyzer\":\"^2.8.3\",\"webpack-common-shake\":\"^1.5.3\",\"webpack-dev-server\":\"^2.6.0\"},\"jest\":{\"browser\":true,\"moduleFileExtensions\":[\"js\"],\"moduleDirectories\":[\"node_modules\"],\"transformIgnorePatterns\":[\"/node_modules/(?!rox-base).+\\\\.js$\"]}}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 119\n// module chunks = 0","/**\r\n * lscache library\r\n * Copyright (c) 2011, Pamela Fox\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/* jshint undef:true, browser:true, node:true */\r\n/* global define */\r\n\r\n(function (root, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define([], factory);\r\n } else if (typeof module !== \"undefined\" && module.exports) {\r\n // CommonJS/Node module\r\n module.exports = factory();\r\n } else {\r\n // Browser globals\r\n root.lscache = factory();\r\n }\r\n}(this, function () {\r\n\r\n // Prefix for all lscache keys\r\n var CACHE_PREFIX = 'lscache-';\r\n\r\n // Suffix for the key name on the expiration items in localStorage\r\n var CACHE_SUFFIX = '-cacheexpiration';\r\n\r\n // expiration date radix (set to Base-36 for most space savings)\r\n var EXPIRY_RADIX = 10;\r\n\r\n // time resolution in minutes\r\n var EXPIRY_UNITS = 60 * 1000;\r\n\r\n // ECMAScript max Date (epoch + 1e8 days)\r\n var MAX_DATE = Math.floor(8.64e15/EXPIRY_UNITS);\r\n\r\n var cachedStorage;\r\n var cachedJSON;\r\n var cacheBucket = '';\r\n var warnings = false;\r\n\r\n // Determines if localStorage is supported in the browser;\r\n // result is cached for better performance instead of being run each time.\r\n // Feature detection is based on how Modernizr does it;\r\n // it's not straightforward due to FF4 issues.\r\n // It's not run at parse-time as it takes 200ms in Android.\r\n function supportsStorage() {\r\n var key = '__lscachetest__';\r\n var value = key;\r\n\r\n if (cachedStorage !== undefined) {\r\n return cachedStorage;\r\n }\r\n\r\n // some browsers will throw an error if you try to access local storage (e.g. brave browser)\r\n // hence check is inside a try/catch\r\n try {\r\n if (!localStorage) {\r\n return false;\r\n }\r\n } catch (ex) {\r\n return false;\r\n }\r\n\r\n try {\r\n setItem(key, value);\r\n removeItem(key);\r\n cachedStorage = true;\r\n } catch (e) {\r\n // If we hit the limit, and we don't have an empty localStorage then it means we have support\r\n if (isOutOfSpace(e) && localStorage.length) {\r\n cachedStorage = true; // just maxed it out and even the set test failed.\r\n } else {\r\n cachedStorage = false;\r\n }\r\n }\r\n return cachedStorage;\r\n }\r\n\r\n // Check to set if the error is us dealing with being out of space\r\n function isOutOfSpace(e) {\r\n if (e && e.name === 'QUOTA_EXCEEDED_ERR' ||\r\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED' ||\r\n e.name === 'QuotaExceededError') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n // Determines if native JSON (de-)serialization is supported in the browser.\r\n function supportsJSON() {\r\n /*jshint eqnull:true */\r\n if (cachedJSON === undefined) {\r\n cachedJSON = (window.JSON != null);\r\n }\r\n return cachedJSON;\r\n }\r\n\r\n /**\r\n * Returns a string where all RegExp special characters are escaped with a \\.\r\n * @param {String} text\r\n * @return {string}\r\n */\r\n function escapeRegExpSpecialCharacters(text) {\r\n return text.replace(/[[\\]{}()*+?.\\\\^$|]/g, '\\\\$&');\r\n }\r\n\r\n /**\r\n * Returns the full string for the localStorage expiration item.\r\n * @param {String} key\r\n * @return {string}\r\n */\r\n function expirationKey(key) {\r\n return key + CACHE_SUFFIX;\r\n }\r\n\r\n /**\r\n * Returns the number of minutes since the epoch.\r\n * @return {number}\r\n */\r\n function currentTime() {\r\n return Math.floor((new Date().getTime())/EXPIRY_UNITS);\r\n }\r\n\r\n /**\r\n * Wrapper functions for localStorage methods\r\n */\r\n\r\n function getItem(key) {\r\n return localStorage.getItem(CACHE_PREFIX + cacheBucket + key);\r\n }\r\n\r\n function setItem(key, value) {\r\n // Fix for iPad issue - sometimes throws QUOTA_EXCEEDED_ERR on setItem.\r\n localStorage.removeItem(CACHE_PREFIX + cacheBucket + key);\r\n localStorage.setItem(CACHE_PREFIX + cacheBucket + key, value);\r\n }\r\n\r\n function removeItem(key) {\r\n localStorage.removeItem(CACHE_PREFIX + cacheBucket + key);\r\n }\r\n\r\n function eachKey(fn) {\r\n var prefixRegExp = new RegExp('^' + CACHE_PREFIX + escapeRegExpSpecialCharacters(cacheBucket) + '(.*)');\r\n // Loop in reverse as removing items will change indices of tail\r\n for (var i = localStorage.length-1; i >= 0 ; --i) {\r\n var key = localStorage.key(i);\r\n key = key && key.match(prefixRegExp);\r\n key = key && key[1];\r\n if (key && key.indexOf(CACHE_SUFFIX) < 0) {\r\n fn(key, expirationKey(key));\r\n }\r\n }\r\n }\r\n\r\n function flushItem(key) {\r\n var exprKey = expirationKey(key);\r\n\r\n removeItem(key);\r\n removeItem(exprKey);\r\n }\r\n\r\n function flushExpiredItem(key) {\r\n var exprKey = expirationKey(key);\r\n var expr = getItem(exprKey);\r\n\r\n if (expr) {\r\n var expirationTime = parseInt(expr, EXPIRY_RADIX);\r\n\r\n // Check if we should actually kick item out of storage\r\n if (currentTime() >= expirationTime) {\r\n removeItem(key);\r\n removeItem(exprKey);\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n function warn(message, err) {\r\n if (!warnings) return;\r\n if (!('console' in window) || typeof window.console.warn !== 'function') return;\r\n window.console.warn(\"lscache - \" + message);\r\n if (err) window.console.warn(\"lscache - The error was: \" + err.message);\r\n }\r\n\r\n var lscache = {\r\n /**\r\n * Stores the value in localStorage. Expires after specified number of minutes.\r\n * @param {string} key\r\n * @param {Object|string} value\r\n * @param {number} time\r\n */\r\n set: function(key, value, time) {\r\n if (!supportsStorage()) return;\r\n\r\n // If we don't get a string value, try to stringify\r\n // In future, localStorage may properly support storing non-strings\r\n // and this can be removed.\r\n\r\n if (!supportsJSON()) return;\r\n try {\r\n value = JSON.stringify(value);\r\n } catch (e) {\r\n // Sometimes we can't stringify due to circular refs\r\n // in complex objects, so we won't bother storing then.\r\n return;\r\n }\r\n\r\n try {\r\n setItem(key, value);\r\n } catch (e) {\r\n if (isOutOfSpace(e)) {\r\n // If we exceeded the quota, then we will sort\r\n // by the expire time, and then remove the N oldest\r\n var storedKeys = [];\r\n var storedKey;\r\n eachKey(function(key, exprKey) {\r\n var expiration = getItem(exprKey);\r\n if (expiration) {\r\n expiration = parseInt(expiration, EXPIRY_RADIX);\r\n } else {\r\n // TODO: Store date added for non-expiring items for smarter removal\r\n expiration = MAX_DATE;\r\n }\r\n storedKeys.push({\r\n key: key,\r\n size: (getItem(key) || '').length,\r\n expiration: expiration\r\n });\r\n });\r\n // Sorts the keys with oldest expiration time last\r\n storedKeys.sort(function(a, b) { return (b.expiration-a.expiration); });\r\n\r\n var targetSize = (value||'').length;\r\n while (storedKeys.length && targetSize > 0) {\r\n storedKey = storedKeys.pop();\r\n warn(\"Cache is full, removing item with key '\" + key + \"'\");\r\n flushItem(storedKey.key);\r\n targetSize -= storedKey.size;\r\n }\r\n try {\r\n setItem(key, value);\r\n } catch (e) {\r\n // value may be larger than total quota\r\n warn(\"Could not add item with key '\" + key + \"', perhaps it's too big?\", e);\r\n return;\r\n }\r\n } else {\r\n // If it was some other error, just give up.\r\n warn(\"Could not add item with key '\" + key + \"'\", e);\r\n return;\r\n }\r\n }\r\n\r\n // If a time is specified, store expiration info in localStorage\r\n if (time) {\r\n setItem(expirationKey(key), (currentTime() + time).toString(EXPIRY_RADIX));\r\n } else {\r\n // In case they previously set a time, remove that info from localStorage.\r\n removeItem(expirationKey(key));\r\n }\r\n },\r\n\r\n /**\r\n * Retrieves specified value from localStorage, if not expired.\r\n * @param {string} key\r\n * @return {string|Object}\r\n */\r\n get: function(key) {\r\n if (!supportsStorage()) return null;\r\n\r\n // Return the de-serialized item if not expired\r\n if (flushExpiredItem(key)) { return null; }\r\n\r\n // Tries to de-serialize stored value if its an object, and returns the normal value otherwise.\r\n var value = getItem(key);\r\n if (!value || !supportsJSON()) {\r\n return value;\r\n }\r\n\r\n try {\r\n // We can't tell if its JSON or a string, so we try to parse\r\n return JSON.parse(value);\r\n } catch (e) {\r\n // If we can't parse, it's probably because it isn't an object\r\n return value;\r\n }\r\n },\r\n\r\n /**\r\n * Removes a value from localStorage.\r\n * Equivalent to 'delete' in memcache, but that's a keyword in JS.\r\n * @param {string} key\r\n */\r\n remove: function(key) {\r\n if (!supportsStorage()) return;\r\n\r\n flushItem(key);\r\n },\r\n\r\n /**\r\n * Returns whether local storage is supported.\r\n * Currently exposed for testing purposes.\r\n * @return {boolean}\r\n */\r\n supported: function() {\r\n return supportsStorage();\r\n },\r\n\r\n /**\r\n * Flushes all lscache items and expiry markers without affecting rest of localStorage\r\n */\r\n flush: function() {\r\n if (!supportsStorage()) return;\r\n\r\n eachKey(function(key) {\r\n flushItem(key);\r\n });\r\n },\r\n\r\n /**\r\n * Flushes expired lscache items and expiry markers without affecting rest of localStorage\r\n */\r\n flushExpired: function() {\r\n if (!supportsStorage()) return;\r\n\r\n eachKey(function(key) {\r\n flushExpiredItem(key);\r\n });\r\n },\r\n\r\n /**\r\n * Appends CACHE_PREFIX so lscache will partition data in to different buckets.\r\n * @param {string} bucket\r\n */\r\n setBucket: function(bucket) {\r\n cacheBucket = bucket;\r\n },\r\n\r\n /**\r\n * Resets the string being appended to CACHE_PREFIX so lscache will use the default storage behavior.\r\n */\r\n resetBucket: function() {\r\n cacheBucket = '';\r\n },\r\n\r\n /**\r\n * Sets whether to display warnings when an item is removed from the cache or not.\r\n */\r\n enableWarnings: function(enabled) {\r\n warnings = enabled;\r\n }\r\n };\r\n\r\n // Return the module\r\n return lscache;\r\n}));\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/lscache/lscache.js\n// module id = 120\n// module chunks = 0","export const defaultSetupOptions = {\n distinctId: null,\n version: '0',\n configurationFetchedHandler: function() {},\n impressionHandler: null,\n devModeSecret: null,\n platform: 'Browser'\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/DefaultSetupOptions.js","import RoxBase from 'rox-base';\nconst { CustomProperty } = RoxBase.Entities;\n\nexport function getDefaultCustomProperties(deviceProps) {\n const _props = deviceProps.getProperties();\n return [\n new CustomProperty('rox.app_release', String, _props.app_release),\n new CustomProperty('rox.platform', String, _props.platform),\n new CustomProperty('rox.screen_width', Number, _props.screen_width),\n new CustomProperty('rox.screen_height', Number, _props.screen_height),\n new CustomProperty('rox.language', String, _props.language),\n new CustomProperty('rox.distinct_id', String, _props.distinct_id)\n ];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/DefaultProperties.js","import base64b from 'base64-arraybuffer';\nimport publicKey from '../assets/publicKey.jwk';\n\nconst DEFAULT_ALGORITHM = 'RSASSA-PKCS1-v1_5';\nconst DEFAULT_HASH_FUNC = 'SHA-256';\n\nconst CRYPTO = window && window.crypto; // eslint-disable-line prettier/prettier\nconst TEXT_ENCODER = window && window.TextEncoder;\n\nconst HAS_CRYPTO = CRYPTO && CRYPTO.subtle && CRYPTO.subtle.verify && CRYPTO.subtle.verify.constructor === Function;\nconst TEXT_ENCODER_UTF8 = TEXT_ENCODER && TEXT_ENCODER.constructor === Function && new TEXT_ENCODER('utf-8');\n\nclass RoxCrypto {\n constructor() {\n this.publicKey = null;\n }\n\n loadPublicKey(publicKey, type = 'jwk', algo = DEFAULT_ALGORITHM, hash_func = DEFAULT_HASH_FUNC) {\n if (!HAS_CRYPTO) {\n return;\n }\n /* eslint-disable prettier/prettier */\n const loadKey = CRYPTO.subtle.importKey(\n type,\n publicKey,\n {\n name: algo,\n hash: { name: hash_func }\n },\n false,\n ['verify']\n );\n /* eslint-enable prettier/prettier */\n return loadKey.then(publicKey => {\n this.publicKey = publicKey;\n return this;\n });\n }\n\n verify(payload, signature, algo = DEFAULT_ALGORITHM) {\n if (!HAS_CRYPTO) {\n return true; // :-(\n }\n if (!this.publicKey) {\n return false;\n }\n if (\n !payload ||\n payload.constructor !== String || // eslint-disable-line\n !signature ||\n signature.constructor !== String\n ) {\n // eslint-disable-line\n return false;\n }\n const payloadBuffer = StringToArrayBufferUTF8(payload);\n if (!payloadBuffer || payloadBuffer.constructor !== ArrayBuffer) {\n return false;\n }\n const signatureBuffer = base64b.decode(signature);\n if (!signatureBuffer || signatureBuffer.constructor !== ArrayBuffer) {\n return false;\n }\n return CRYPTO.subtle.verify({ name: algo }, this.publicKey, signatureBuffer, payloadBuffer);\n }\n}\n\nfunction StringToArrayBufferUTF8(str) {\n if (TEXT_ENCODER) {\n try {\n return TEXT_ENCODER_UTF8.encode(str).buffer;\n } catch (e) {}\n }\n try {\n const binaryString = unescape(encodeURIComponent(str));\n const binaryBuffer = new Uint8Array(binaryString.length);\n for (let n = 0, l = binaryString.length; n < l; n++) {\n binaryBuffer[n] = binaryString.charCodeAt(n);\n }\n return binaryBuffer.buffer;\n } catch (e) {}\n return false;\n}\n\nconst instance = new RoxCrypto();\n\nexport default instance.loadPublicKey(publicKey);\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/RoxCrypto.js","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n(function(){\n \"use strict\";\n\n var chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n // Use a lookup table to find the index.\n var lookup = new Uint8Array(256);\n for (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n }\n\n exports.encode = function(arraybuffer) {\n var bytes = new Uint8Array(arraybuffer),\n i, len = bytes.length, base64 = \"\";\n\n for (i = 0; i < len; i+=3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if ((len % 3) === 2) {\n base64 = base64.substring(0, base64.length - 1) + \"=\";\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + \"==\";\n }\n\n return base64;\n };\n\n exports.decode = function(base64) {\n var bufferLength = base64.length * 0.75,\n len = base64.length, i, p = 0,\n encoded1, encoded2, encoded3, encoded4;\n\n if (base64[base64.length - 1] === \"=\") {\n bufferLength--;\n if (base64[base64.length - 2] === \"=\") {\n bufferLength--;\n }\n }\n\n var arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i+=4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i+1)];\n encoded3 = lookup[base64.charCodeAt(i+2)];\n encoded4 = lookup[base64.charCodeAt(i+3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n };\n})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/saada/dev/SDKS/roxjs/node_modules/base64-arraybuffer/lib/base64-arraybuffer.js\n// module id = 124\n// module chunks = 0","// To generate this key, a PEM-to-JWK tool has been used.\n// Some tools might have an invalid 0xF padding in the `n` section, and that needs to be removed manually.\nexport default {\n kty: 'RSA',\n n:\n '6vBjERS8mkFQxHXB5WJuzZxqwKoSz9hP9u1ttck0Hop-6_BTk_-4ydDy6XBi8P98w0-cMyCdzrRcuB1q3toZ-8JrfmyPm20v_ZCq5qpKYwI9fj8JweJYRGndu5aJTArs-abq6ottPZO6ud' +\n 'SDHX6tPzrez_wZqfiwTbNheIzLD2MWVFGJFUwJj6oJ8MblqCWWp_zhjY7Y_ThoPHjnDn3MsQuBg0f2GopfpIbeCPxx3rEl1bpKl57bG3YJ1yhZF-vNk7hT3N6XfJcvujejklqWzVfFJhFW' +\n 'coJ8Vk978QU9k1rxXsW1udijhWPdcCJI7fiDxDDyQTzw4jfSdp7rbb3zKQ',\n e: 'AQAB'\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/assets/publicKey.jwk.js","import {\n freezeOptions,\n isFreezeOptionValid,\n getDefaultFreezeOption,\n defaultFreezeOptionForPlatform\n} from './FreezeOptions';\nimport RoxBase from 'rox-base';\nconst { Configuration: BaseRemoteConfiguration } = RoxBase.Entities;\nconst { RoxxParser } = RoxBase.Parsers;\n\nconst parser = new RoxxParser();\n\nexport default class BrowserRemoteConfiguration extends BaseRemoteConfiguration {\n constructor(defaultValue, { freeze } = {}) {\n super(defaultValue);\n\n Object.defineProperty(this, '_frozen', {\n value: false,\n writable: true,\n enumerable: false\n });\n\n if (freeze && !isFreezeOptionValid(freeze)) {\n throw new Error(`Freeze option is invalid ${freeze}`);\n }\n this._localFreeze = freeze;\n }\n\n unfreeze() {\n this._frozen = false;\n }\n\n set value(newValue) {\n if (this._type !== typeof newValue || newValue === undefined) {\n this._value = this._defaultValue;\n return;\n }\n\n this._value = newValue;\n this._frozen = false;\n }\n\n getValue() {\n if (this._freeze === freezeOptions.freezeOptionNone) {\n if (this.condition) {\n this.value = parser.evaluateExpression(this.condition);\n }\n return this._value;\n }\n\n if (!this._frozen) {\n if (this.condition) {\n this.value = parser.evaluateExpression(this.condition);\n }\n this._frozen = true;\n }\n\n return this._value;\n }\n\n get _freeze() {\n return this._localFreeze || getDefaultFreezeOption() || defaultFreezeOptionForPlatform;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/RemoteConfiguration.js","import Variant from './Variant';\n\nexport default class RoxFlag extends Variant {\n constructor(defaultValue = false, options) {\n super(defaultValue ? 'true' : 'false', ['false', 'true'], options);\n this._entityType = 'flag';\n }\n\n isEnabled() {\n return this._normalizeValue(this.getValue());\n }\n\n _normalizeValue(value) {\n if (typeof value === 'boolean') return value;\n return value === 'true';\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/Flag.js","import RoxBase from 'rox-base';\nconst { Flags: flagsRepo } = RoxBase.Repositories;\n\nimport { setOverride, clearOverride, clearAllOverrides } from './Overrider';\n\nimport {\n compose,\n compileStyles,\n applyClass,\n setStyle,\n attachOnChangeHandler,\n attachOnClickHandler,\n attachOnKeyUpHandler,\n elementWithText,\n elementWithAttrs,\n elementWithChildren,\n divWithText,\n divWithChildren\n} from './uiUtils';\n\nlet _root;\nlet _position;\nlet _filter;\nlet _flags;\n\nconst RESET_ALL_TEXT = 'Reset All Overrides';\nconst SEARCH_PLACEHOLDER = 'Search Flags';\nconst TITLE = 'ROX Overrides';\nconst ORIGINAL_VALUE_TEXT = 'Original value';\nconst ORIGINAL_OPTION_PREFIX = 'Original';\nconst DEFAULT_POSITON = 'bottom right';\nconst CSS = 'https://connect.rollout.io/rox.browser.css';\nconst POSITIONS = {\n 'top left': { top: 0, left: 0 },\n 'top right': { top: 0, right: 0 },\n 'bottom left': { bottom: 0, left: 0 },\n 'bottom right': { bottom: 0, right: 0 }\n};\n\nconst ROOT_STYLE = {\n background: 'white',\n 'z-index': 999999,\n position: 'fixed',\n width: '400px',\n height: '600px',\n overflow: 'auto'\n};\n\nconst getVariantsCategories = () =>\n flagsRepo.items\n .map(i => i.dump())\n .filter(f => (_filter ? f.name.match(_filter) : f))\n .reduce((agg, f) => {\n agg[f.nameDetails.namespace] ? null : (agg[f.nameDetails.namespace] = []);\n agg[f.nameDetails.namespace].push(f);\n return agg;\n }, {});\n\nconst option = ({ value, text, selected }) => {\n const el = document.createElement('option');\n selected && el.setAttribute('selected', true);\n el.setAttribute('value', value);\n el.textContent = text;\n return el;\n};\n\nconst getSelected = ({ originalValue, overridingValue, option }) => {\n if (overridingValue) {\n return overridingValue === option;\n } else {\n return originalValue === option;\n }\n};\n\nconst getFlagOptions = ({ options, originalValue, overridingValue } = { options: [] }) =>\n options.map(i => ({\n text: i === originalValue ? `${ORIGINAL_OPTION_PREFIX} (${i})` : i,\n value: i,\n selected: getSelected({ originalValue, overridingValue, option: i })\n }));\n\nconst applyRootStyle = el => setStyle(el, compileStyles(ROOT_STYLE) + ';' + compileStyles(POSITIONS[_position]));\n\nconst makeFlagTitle = ({ name, originalValue, overridingValue }) =>\n divWithChildren([\n divWithText(name),\n overridingValue\n ? compose(applyClass('roxFlagSub'), divWithText)(`${ORIGINAL_VALUE_TEXT}: ${originalValue}`)\n : undefined\n ]);\n\nconst makeCategory = (categories, category) =>\n divWithChildren([\n compose(applyClass('roxNamespace'), divWithText)(category),\n compose(applyClass('roxFlagsList'), divWithChildren)(categories[category].map(makeFlag))\n ]);\nconst makeCategories = categories => Object.keys(categories).map(makeCategory.bind(null, categories));\n\nconst makeFlag = ({ name, nameDetails, originalValue, overridingValue, options }) =>\n compose(applyClass('roxPushAside roxFlag'), divWithChildren)([\n makeFlagTitle({ name: nameDetails.name, originalValue, overridingValue }),\n selection(name, originalValue, getFlagOptions({ options, originalValue, overridingValue }))\n ]);\n\nconst header = () => {\n return compose(applyClass('roxPushAside roxTitle'), divWithChildren)([\n elementWithText('span', TITLE),\n attachOnClickHandler(elementWithText('a', '╳'), close)\n ]);\n};\n\nconst handleSearchChange = ({ target, keyCode }) => {\n keyCode === 27 ? ((target.value = ''), (_filter = null)) : (_filter = target.value);\n render();\n};\n\nconst search = () => {\n return attachOnKeyUpHandler(\n elementWithAttrs('input', {\n placeholder: SEARCH_PLACEHOLDER\n }),\n handleSearchChange\n );\n};\n\nconst onResetAllClicked = () => (clearAllOverrides(), render());\nconst resetAllAction = () => attachOnClickHandler(elementWithText('a', RESET_ALL_TEXT), onResetAllClicked);\n\nconst onFlagChange = (name, originalValue) => e => (\n e.preventDefault(),\n originalValue === e.target.value ? clearOverride(name) : setOverride(name, e.target.value),\n render()\n);\n\nconst selection = (name, originalValue, options = []) =>\n attachOnChangeHandler(elementWithChildren('select', options.map(option)), onFlagChange(name, originalValue));\n\nconst searchFieldWrapper = () =>\n compose(applyClass('roxSearch roxPushAside'), divWithChildren)([search(), resetAllAction()]);\n\nconst getFlagsView = () => compose(applyClass('roxFlags'), divWithChildren)(makeCategories(getVariantsCategories()));\n\nfunction render() {\n _root.removeChild(_flags);\n _flags = getFlagsView();\n _root.appendChild(_flags);\n}\n\nexport function open(position = DEFAULT_POSITON) {\n if (_root) return;\n if (Object.keys(POSITIONS).indexOf(position) === -1) position = DEFAULT_POSITON;\n _position = position;\n\n _flags = getFlagsView();\n\n _root = compose(applyClass('roxDbg'), applyRootStyle, divWithChildren)([\n divWithChildren([header(), searchFieldWrapper()]),\n _flags\n ]);\n\n const body = document.getElementsByTagName('body')[0];\n body.appendChild(\n elementWithAttrs('link', {\n href: 'https://fonts.googleapis.com/css?family=Lato',\n rel: 'stylesheet'\n })\n );\n body.appendChild(\n elementWithAttrs('link', {\n href: CSS,\n rel: 'stylesheet'\n })\n );\n\n body.appendChild(_root);\n render();\n}\n\nexport function close() {\n const body = document.getElementsByTagName('body')[0];\n body.removeChild(_root);\n _root = undefined;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/DebuggerUI.js","export function compose() {\n var fns = arguments;\n\n return function(result) {\n for (var i = fns.length - 1; i > -1; i--) {\n result = fns[i].call(this, result);\n }\n\n return result;\n };\n}\n\nexport const compileStyles = (styles = {}) =>\n Object.keys(styles)\n .map(key => `${key}: ${styles[key]}`)\n .join(';');\n\nexport const setStyle = (node, styleString = '') => (node.setAttribute('style', styleString), node);\nexport const applyClass = className => node => (node.setAttribute('class', className), node);\n\nconst attachEvent = (node, event, fn) => (node.addEventListener(event, fn), node);\nexport const attachOnChangeHandler = (node, fn) => attachEvent(node, 'change', fn);\nexport const attachOnClickHandler = (node, fn) => attachEvent(node, 'click', fn);\nexport const attachOnKeyUpHandler = (node, fn) => attachEvent(node, 'keyup', fn);\n\n// -----------------------\n\nlet appendChildren, elementWithText, elementWithAttrs, elementWithChildren, divWithText, divWithChildren;\n(appendChildren = elementWithText = elementWithAttrs = elementWithChildren = divWithText), (divWithChildren = () => {});\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n appendChildren = (node, children = []) =>\n children.reduce((node, ch) => (ch ? node.appendChild(ch) && node : node), node);\n\n elementWithText = (name = 'div', text = '') => {\n const el = document.createElement(name);\n el.textContent = text;\n return el;\n };\n\n elementWithAttrs = (name = 'div', attrs = {}) => {\n const el = document.createElement(name);\n Object.keys(attrs).forEach(key => el.setAttribute(key, attrs[key]));\n return el;\n };\n\n elementWithChildren = (name = 'div', children = []) => appendChildren(document.createElement(name), children);\n\n divWithText = elementWithText.bind(document, 'div');\n divWithChildren = (children = []) => elementWithChildren('div', children);\n}\n\nexport { appendChildren, elementWithText, elementWithAttrs, elementWithChildren, divWithText, divWithChildren };\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/uiUtils.js"],"sourceRoot":""}
\No newline at end of file