{"version":3,"sources":["webpack:///@mol-ads/mol-ads-tcfv2/webpack/bootstrap","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/errors/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/utils/logger.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/CmpApiModel.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/Cloneable.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/IntEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/BooleanEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/Response.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/status/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/GetTCDataCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/Command.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/BitLength.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/RestrictionType.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/FixedVectorEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/cmp/tcModel.js","webpack:///@mol-ads/mol-ads-tcfv2/(webpack)/buildin/global.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/Base64Url.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/BinarySearchTree.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/Fields.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/PurposeRestriction.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/Segment.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/DateEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/LangEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/PurposeRestrictionVectorEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/VendorVectorEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/VectorEncodingType.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/sequence/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/GVL.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/Json.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/TCModel.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/TCFCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/Disabled.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/TCData.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/ACMModel.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/CallResponder.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/cmp/Cmp.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/cmp/stub.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/cmp/ACMModel.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/lodash.pick/index.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/errors/DecodingError.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/errors/EncodingError.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/errors/GVLError.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/errors/TCModelError.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/ConsentLanguages.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/PurposeRestrictionVector.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/SegmentIDs.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/model/Vector.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/SegmentEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/field/FieldEncoderMap.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/sequence/FieldSequence.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/sequence/SegmentSequence.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/encoder/SemanticPreEncoder.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-core/lib/TCString.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/status/CmpStatus.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/status/DisplayStatus.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/status/EventStatus.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/EventListenerQueue.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/InAppTCData.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/response/Ping.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/CmpApi.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/CommandMap.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/PingCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/GetInAppTCDataCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/GetVendorListCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/AddEventListenerCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/command/RemoveEventListenerCommand.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/@mol-ads/tcf-cmpapi/lib/SupportedVersions.js","webpack:///@mol-ads/mol-ads-tcfv2/./node_modules/whatwg-fetch/fetch.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/utils/broker.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/ui/user-preference.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/ui/display-purposes.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/ui/Ui.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/clientApi.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/storage-iframe.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/persist/customVendorsEncoding.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/persist/Persist.js","webpack:///@mol-ads/mol-ads-tcfv2/./src/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__export","e","debugEnabled","window","location","search","substr","split","some","searchParam","decodeURIComponent","includes","createLog","args","console","log","status_1","EventListenerQueue_1","CmpApiModel","reset","this","cmpId","cmpVersion","eventStatus","gdprApplies","tcModel","tcString","tcfPolicyVersion","cmpStatus","CmpStatus","LOADING","disabled","displayStatus","DisplayStatus","HIDDEN","eventQueue","clear","apiVersion","EventListenerQueue","__values","iterator","length","next","done","TypeError","Cloneable","clone","constructor","keys","forEach","deepClone","Date","getTime","a","push","error","return","Array","u","f","errors_1","IntEncoder","encode","parseInt","toString","EncodingError","repeat","decode","DecodingError","BooleanEncoder","CmpApiModel_1","Response","__extends","setPrototypeOf","__proto__","Command_1","response_1","GetTCDataCommand","apply","arguments","respond","throwIfParamInvalid","invokeCallback","TCData","param","listenerId","isArray","every","Number","isInteger","Error","Command","success","assign","callback","model_1","BitLength","_","F","g","v","y","Fields","consentLanguage","consentScreen","created","isServiceSpecific","lastUpdated","policyVersion","publisherCountryCode","publisherLegitimateInterests","publisherConsents","purposeConsents","purposeLegitimateInterests","purposeOneTreatment","specialFeatureOptins","useNonStandardStacks","vendorListVersion","version","anyBoolean","encodingType","maxId","numCustomPurposes","numEntries","numRestrictions","purposeId","restrictionType","segmentType","singleOrRange","vendorId","RestrictionType","NOT_ALLOWED","REQUIRE_CONSENT","REQUIRE_LI","BooleanEncoder_1","FixedVectorEncoder","has","Vector","set","bitLength","createTcModelForNewUser","gvl","TCModel","readyPromise","vendors","values","map","id","flexiblePurposes","legIntPurposes","Set","purposeRestriction","PurposeRestriction","publisherRestrictions","add","createTcModelForExistingUser","TCString","TcModel","model","byPurposeVendorMap","gvlIsReady","updated","updateUserPreferences","consentAll","dissentAll","hasUserDissentedToAll","hasUserConsentedToAll","newModel","vendorConsents","vendorLegitimateInterests","empty","setAll","unsetAll","setAllPurposeLegitimateInterests","setAllVendorLegitimateInterests","size","vendorsWithPurposes","filter","purposes","purposesIds","hasConsentedToAllSpecialFeatureOptins","specialFeatures","hasConsentedToAllPurposes","purposeRestrictions","vendorIdsDissentedByPurpose","from","consent","flat","vendorIds","constrainedByFlexPurpose","restriction","vendorHasRestriction","vendorIdDissentedByFlexiblePurpose","vendorRestrictedToConsent","hasConsented","consentedTests","consented","legitimateInterest","dissentedByPurpose","createTcModel","oldModel","preferences","reduce","prefs","set_","consentScreen_","Function","Base64Url","test","LCM","BASIS","DICT","REVERSE_DICT","Map","BinarySearchTree","root","isEmpty","left","right","contains","min","max","remove","supportOOB","publisherCustomConsents","publisherCustomLegitimateInterests","vendorsAllowed","vendorsDisclosed","Cloneable_1","RestrictionType_1","unHash","hashSeparator","TCModelError","isValid","configurable","purposeId_","isSameAs","Segment","CORE","VENDORS_DISCLOSED","VENDORS_ALLOWED","PUBLISHER_TC","IntEncoder_1","DateEncoder","Math","round","setTime","LangEncoder","toUpperCase","charCodeAt","slice","String","fromCharCode","BitLength_1","PurposeRestrictionVectorEncoder","getRestrictions","getVendors","B","PurposeRestrictionVector","h","L","__1","FixedVectorEncoder_1","VectorEncodingType_1","VendorVectorEncoder","E","VectorEncodingType","RANGE","buildRangeEncoding","FIELD","charAt","__awaiter","Promise","throw","then","__generator","label","sent","trys","ops","pop","Json_1","GVL","isReady_","isLatest","baseUrl","lang_","DEFAULT_LANGUAGE","isVendorList","populate","resolve","GVLError","CACHE","versionedFilename","replace","fetchJson","LATEST_CACHE_KEY","latestFilename","baseUrl_","emptyLanguageCache","LANGUAGE_CACHE","consentLanguages","delete","emptyCache","cacheLanguage","specialPurposes","features","stacks","Json","fetch","message","getJson","JSON","parse","stringify","gvlSpecificationVersion","fullVendorList","changeLanguage","languageFilename","vendors_","mapVendors","bySpecialPurposeVendorMap","byFeatureVendorMap","bySpecialFeatureVendorMap","legInt","flexible","deletedDate","getFilteredVendors","getVendorsWithConsentPurpose","getVendorsWithLegIntPurpose","getVendorsWithFlexiblePurpose","getVendorsWithSpecialPurpose","getVendorsWithFeature","getVendorsWithSpecialFeature","narrowVendorsTo","isInstanceOf","ConsentLanguages","absCall","XMLHttpRequest","withCredentials","addEventListener","readyState","DONE","status","response","responseType","open","timeout","ontimeout","send","post","GVL_1","isServiceSpecific_","supportOOB_","useNonStandardStacks_","purposeOneTreatment_","publisherCountryCode_","version_","policyVersion_","consentLanguage_","cmpId_","cmpVersion_","vendorListVersion_","numCustomPurposes_","gvl_","setAllVendorConsents","unsetAllVendorConsents","setAllVendorsDisclosed","unsetAllVendorsDisclosed","setAllVendorsAllowed","unsetAllVendorsAllowed","unsetAllVendorLegitimateInterests","setAllPurposeConsents","unsetAllPurposeConsents","unsetAllPurposeLegitimateInterests","setAllSpecialFeatureOptins","unsetAllSpecialFeatureOptins","customPurposes","sort","TCFCommand","PING","GET_TC_DATA","GET_IN_APP_TC_DATA","GET_VENDOR_LIST","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","Response_1","Disabled","ERROR","__read","__spread","concat","ACMModel_1","ACMModel","addtlConsent","publisherCC","outOfBand","allowedVendors","createVectorField","disclosedVendors","purpose","consents","legitimateInterests","vendor","publisher","customPurpose","restrictions","createRestrictions","getMaxVendorId","command_1","CommandMap_1","Disabled_1","SupportedVersions_1","API_KEY","CallResponder","customCommands","callQueue","apiCall","purgeQueuedCalls","SupportedVersions","isCustomCommand","isBuiltInCommand","CommandMap","Cmp","cvl","cvlJson","storeTcString","customVendorConsents","persist","persistCustomVendors","ui","uuid","gvlVersion","gvlUiVersion","cmpstub","hasUserSelectedTheirPreference","notifyModelUpdate","isReady","openUi","notifyUsersPreferences","updateConset","updateConsent","getGvl","consentToAll","dissentToAll","reloadTcModel","levelChanged","lastKnownConsentScreen","undefined","acmModel","customVendors","acc","provider_id","provider_name","policy_url","policyUrl","description","api","CmpApi","getPurposesByVendorMap","entries","purposesByVendorMap","getCustomVendorsConsents","getConsentDegree","setUserId","uiLevel","getValidTCData","resolved","tcData","global","__tcfapi","consentedVendors","consentedVendorsDetails","consentDegree","getConsents","saveTCString","update","acmString","data","formConsentAndLegInt","pref","keyPrefix","consentKey","legIntKey","userPreference","legInterest","_id","nonTcfVendors","specialFeatureId","optIn","updateModel","options","currentLevel","setCurrentLevel","screen","match","url","json","gvlJson","consentString","cmpModel","getUiModel","cmpUpdateHandlers","reload","createCmp","CallResponder_1","cmpFrame","queue","currentWindow","frameLocator","hasEventListener","frames","ignore","top","parent","addFrame","doc","document","iframe","createElement","style","display","body","appendChild","removeEventListener","setTimeout","callbackFn","cmpLoaded","event","source","postMessage","msgIsString","__tcfapiCall","payload","command","retValue","returnMsg","__tcfapiReturn","returnValue","callId","parameter","obj","ids","join","freeGlobal","freeSelf","self","func","thisArg","arrayPush","array","index","offset","objectProto","objectToString","propertyIsEnumerable","spreadableSymbol","isConcatSpreadable","nativeMax","isFlattenable","isObjectLike","isLength","tag","type","isObject","isFunction","isArrayLike","isArrayLikeObject","isArguments","toKey","isSymbol","result","start","pick","props","predicate","basePickBy","basePick","iteratee","arrayMap","baseFlatten","depth","isStrict","otherArgs","langSet","PurposeRestriction_1","BinarySearchTree_1","isOkToHave","hash","getRestrictionType","getPurposes","_a","Segment_1","SegmentIDs","ID_TO_KEY","KEY_TO_ID","maxId_","unset","isIntMap","isValidNumber","isSet","Base64Url_1","field_1","sequence_1","Fields_1","SegmentEncoder","fieldSequence","FieldEncoderMap","isPublisherCustom","indexOf","FieldSequence","DateEncoder_1","LangEncoder_1","PurposeRestrictionVectorEncoder_1","VendorVectorEncoder_1","V","I","x","C","q","b","SegmentSequence","isForVendors","SemanticPreEncoder","process","language","processor","encoder_1","TCModel_1","segments","STUB","LOADED","VISIBLE","DISABLED","EventStatus","TC_LOADED","CMP_UI_SHOWN","USER_ACTION_COMPLETE","GetTCDataCommand_1","queueNumber","exec","InAppTCData","Ping","tcf_core_1","numUpdates","throwIfInvalidInt","callResponder","disable","PingCommand_1","GetInAppTCDataCommand_1","GetVendorListCommand_1","AddEventListenerCommand_1","RemoveEventListenerCommand_1","TCFCommand_1","PingCommand","GetInAppTCDataCommand","GetVendorListCommand","AddEventListenerCommand","RemoveEventListenerCommand","globalThis","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","toLowerCase","normalizeValue","iteratorFor","items","shift","Headers","headers","append","header","getOwnPropertyNames","consumed","bodyUsed","reject","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","arrayBuffer","isConsumed","byteOffset","text","readAsText","chars","readArrayBufferAsText","formData","oldValue","methods","Request","input","method","upcased","credentials","signal","referrer","cache","reParamSearch","form","trim","bytes","bodyInit","ok","statusText","redirectStatuses","redirect","RangeError","DOMException","err","stack","init","request","aborted","xhr","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","onabort","href","fixUrl","setRequestHeader","onreadystatechange","polyfill","target","Broker","sender","random","substring","action","cb","handleMessage","cancel","on","userPreferenceModel","vectorToPrefArr","vector","state","idsForUserPreference","setIfConsented","defaultLegitimateInterests","Ui","brand","uiScriptUrl","renderPlatform","clientBroker","scriptLoaded","brokerId","broker","consentable","removeVendors","userPrefs","createUserPreference","config","displayPurposes","createModel","emit","removeStorageListener","handler","newValue","handleExternalPreferenceUpdate","uiHandlers","uiScriptBase","appState","src","script","dataset","loadScript","site","clientApi","cmp","setUuid","onContentLoaded","loadStorage","scriptBase","path","srcPath","title","onLoad","contentWindow","canStoreUserPreference","parentNode","removeChild","encodeCustomVendorsConsents","customVendorsConsents","packed","TimeoutError","ms","errorAfter","repeatUntil","interval","MAX_SAFE_INTEGER","now","check","opts","xhttp","k","race","raceWithin","Persist","backendUrl","channel","platform","domain","host","tryToSend","euconsent","loadCmp","createUi","chooseTcString","stringFromClient","stringFromStorage","stored","client","chooseCustomVendorsConsents","customVendorsConsentsFromClient","customVendorsConsentsFromStorage","clientConsents","storageConsents","fetchVendor","fetchVendorData","cvlVersion","gvlUrl","cvlUrl","all","storeUserPreference","loadStorageIframe","controllerScriptBase","showUi","scriptTag","getElementById","getConfig","launch"],"mappings":"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","file":"index.js","sourcesContent":[" \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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 73);\n","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./encoder\")),__export(require(\"./errors\")),__export(require(\"./model\")),__export(require(\"./Cloneable\")),__export(require(\"./GVL\")),__export(require(\"./Json\")),__export(require(\"./TCModel\")),__export(require(\"./TCString\"));","\"use strict\";function __export(r){for(var e in r)exports.hasOwnProperty(e)||(exports[e]=r[e])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./DecodingError\")),__export(require(\"./EncodingError\")),__export(require(\"./GVLError\")),__export(require(\"./TCModelError\"));","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./BinarySearchTree\")),__export(require(\"./ConsentLanguages\")),__export(require(\"./Fields\")),__export(require(\"./PurposeRestriction\")),__export(require(\"./PurposeRestrictionVector\")),__export(require(\"./RestrictionType\")),__export(require(\"./Segment\")),__export(require(\"./SegmentIDs\")),__export(require(\"./Vector\"));","export const debugEnabled = window.location.search.substr(1).split('&').some(searchParam => {\n const [key, value] = searchParam.split('=')\n return decodeURIComponent(key) === 'adsDebug' && (value === true || value === 'all' || decodeURIComponent(value).split(',').includes('tcfv2'))\n})\n\nexport function createLog () {\n return debugEnabled ? (...args) => console.log('[mol-ads-cmp]', ...args) : () => {}\n}\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var status_1=require(\"./status\"),EventListenerQueue_1=require(\"./EventListenerQueue\"),CmpApiModel=function(){function e(){}return e.reset=function(){delete this.cmpId,delete this.cmpVersion,delete this.eventStatus,delete this.gdprApplies,delete this.tcModel,delete this.tcString,delete this.tcfPolicyVersion,this.cmpStatus=status_1.CmpStatus.LOADING,this.disabled=!1,this.displayStatus=status_1.DisplayStatus.HIDDEN,this.eventQueue.clear()},e.apiVersion=\"2\",e.eventQueue=new EventListenerQueue_1.EventListenerQueue,e.cmpStatus=status_1.CmpStatus.LOADING,e.disabled=!1,e.displayStatus=status_1.DisplayStatus.HIDDEN,e}();exports.CmpApiModel=CmpApiModel;","\"use strict\";var __values=this&&this.__values||function(e){var r=\"function\"==typeof Symbol&&Symbol.iterator,t=r&&e[r],n=0;if(t)return t.call(e);if(e&&\"number\"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(r?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")};Object.defineProperty(exports,\"__esModule\",{value:!0});var Cloneable=function(){function e(){}return e.prototype.clone=function(){var e=this,r=new this.constructor;return Object.keys(this).forEach((function(t){var n=e.deepClone(e[t]);void 0!==n&&(r[t]=n)})),r},e.prototype.deepClone=function(e){var r,t,n=typeof e;if(\"number\"===n||\"string\"===n||\"boolean\"===n)return e;if(null!==e&&\"object\"===n){if(\"function\"==typeof e.clone)return e.clone();if(e instanceof Date)return new Date(e.getTime());if(void 0!==e[Symbol.iterator]){var o=[];try{for(var i=__values(e),l=i.next();!l.done;l=i.next()){var a=l.value;o.push(this.deepClone(a))}}catch(e){r={error:e}}finally{try{l&&!l.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}return e instanceof Array?o:new e.constructor(o)}var u={};for(var f in e)e.hasOwnProperty(f)&&(u[f]=this.deepClone(e[f]));return u}},e}();exports.Cloneable=Cloneable;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var errors_1=require(\"../../errors\"),IntEncoder=function(){function r(){}return r.encode=function(r,e){var n;if(\"string\"==typeof r&&(r=parseInt(r,10)),(n=r.toString(2)).length>e||r<0)throw new errors_1.EncodingError(r+\" too large to encode into \"+e);return n.length ({ vendorId: id, flexiblePurposes: new Set(flexiblePurposes), legIntPurposes: new Set(legIntPurposes) }))\n ;[3, 4].forEach(purposeId => {\n const purposeRestriction = new PurposeRestriction()\n purposeRestriction.purposeId = purposeId\n purposeRestriction.restrictionType = RestrictionType.REQUIRE_CONSENT\n vendors.forEach(({ vendorId, flexiblePurposes, legIntPurposes }) => {\n try {\n if (flexiblePurposes.has(purposeId) && legIntPurposes.has(purposeId)) {\n // vendorID and restriction\n log(`restricting purposeId: ${purposeId} for vendorId: ${vendorId}`)\n tcModel.publisherRestrictions.add(vendorId, purposeRestriction)\n }\n } catch (e) {\n log('unable to restrict', purposeId, vendorId)\n }\n })\n })\n\n return tcModel\n}\n\nfunction createTcModelForExistingUser (gvl, tcString) {\n log('creating TCModel for existing user')\n const tcModel = TCString.decode(tcString)\n\n // controller was originally released with consentScreen=0, this hack will update all those users\n if (tcModel.consentScreen === 0) {\n tcModel.consentScreen = 1\n }\n tcModel.gvl = gvl\n return tcModel\n}\n\nclass TcModel {\n constructor ({ gvl, model }) {\n this.gvl = gvl\n this.model = model\n this.byPurposeVendorMap = this.byPurposeVendorMap.bind(this)\n this.gvlIsReady = this.gvlIsReady.bind(this)\n this.updated = this.updated.bind(this)\n this.tcString = this.tcString.bind(this)\n this.updateUserPreferences = this.updateUserPreferences.bind(this)\n this.consentAll = this.consentAll.bind(this)\n this.dissentAll = this.dissentAll.bind(this)\n this.hasUserDissentedToAll = this.hasUserDissentedToAll.bind(this)\n this.hasUserConsentedToAll = this.hasUserConsentedToAll.bind(this)\n }\n\n reload (tcString) {\n const newModel = createTcModelForExistingUser(this.gvl, tcString)\n log('reloading tcModel', tcString, newModel)\n\n this.model = newModel\n }\n\n byPurposeVendorMap () {\n return this.model.gvl.byPurposeVendorMap\n }\n\n gvlIsReady () {\n return this.model.gvl.readyPromise\n }\n\n updated () {\n this.model.updated()\n }\n\n tcString () {\n log('encoding', this.model)\n return TCString.encode(this.model)\n }\n\n updateUserPreferences ({ vendorConsents, vendorLegitimateInterests, purposeConsents, purposeLegitimateInterests, specialFeatureOptins, consentScreen }) {\n this.model.vendorConsents.empty()\n this.model.vendorConsents.set(vendorConsents)\n\n this.model.vendorLegitimateInterests.empty()\n this.model.vendorLegitimateInterests.set(vendorLegitimateInterests)\n\n this.model.purposeConsents.empty()\n this.model.purposeConsents.set(purposeConsents)\n this.model.purposeLegitimateInterests.empty()\n this.model.purposeLegitimateInterests.set(purposeLegitimateInterests)\n\n this.model.specialFeatureOptins.empty()\n this.model.specialFeatureOptins.set(specialFeatureOptins)\n\n this.model.consentScreen = consentScreen\n }\n\n consentAll ({ consentScreen }) {\n this.model.setAll()\n this.model.consentScreen = consentScreen\n this.model.updated()\n }\n\n dissentAll ({ consentScreen }) {\n this.model.unsetAll()\n this.model.setAllPurposeLegitimateInterests()\n this.model.setAllVendorLegitimateInterests()\n this.model.consentScreen = consentScreen\n this.model.updated()\n }\n\n hasUserDissentedToAll () {\n return !this.model.specialFeatureOptins.size &&\n !this.model.purposeConsents.size &&\n !this.model.vendorConsents.size\n }\n\n hasUserConsentedToAll () {\n const vendorsWithPurposes = Object.keys(this.model.gvl.vendors).filter(id => this.model.gvl.vendors[id].purposes.length > 0).map(id => parseInt(id))\n const purposesIds = Object.keys(this.model.gvl.purposes).map(id => parseInt(id))\n const specialFeatureOptinIds = Object.keys(this.model.gvl.specialFeatures).map(id => parseInt(id))\n const hasConsentedToAllSpecialFeatureOptins = specialFeatureOptinIds.every(id => this.model.specialFeatureOptins.has(id))\n const hasConsentedToAllPurposes = purposesIds.every(id => this.model.purposeConsents.has(id))\n const hasConsentedToAllVendorPurposes = vendorsWithPurposes.every(id => this.model.vendorConsents.has(id))\n return hasConsentedToAllVendorPurposes && hasConsentedToAllPurposes && hasConsentedToAllSpecialFeatureOptins\n }\n\n consentedVendors () {\n const purposesIds = Object.keys(this.model.gvl.purposes).map(id => parseInt(id))\n const purposeRestrictions = [3, 4].map(purposeId => {\n const purposeRestriction = new PurposeRestriction()\n purposeRestriction.purposeId = purposeId\n purposeRestriction.restrictionType = RestrictionType.REQUIRE_CONSENT\n return purposeRestriction\n })\n const model = TCString.decode(TCString.encode(this.model))\n const vendorIdsDissentedByPurpose = new Set(purposesIds.filter(id => !model.purposeConsents.has(id)).map(id => Array.from(this.model.gvl.byPurposeVendorMap[id] && this.model.gvl.byPurposeVendorMap[id].consent || [])).flat())\n const vendorIdDissentedByFlexiblePurpose = (id) => {\n return purposeRestrictions.some(restriction => {\n return model.publisherRestrictions.vendorHasRestriction(id, restriction) && !model.purposeConsents.has(restriction.purposeId)\n })\n }\n const preferenceForIds = Array.from(this.model.gvl.vendorIds).filter(id => {\n const constrainedByFlexPurpose = vendorIdDissentedByFlexiblePurpose(id)\n const vendorRestrictedToConsent = purposeRestrictions.some(restriction => model.publisherRestrictions.vendorHasRestriction(id, restriction))\n const hasConsented = (vendorRestrictedToConsent ? model.vendorConsents.has(id) : (model.vendorConsents.has(id) || model.vendorLegitimateInterests.has(id))) &&\n !vendorIdsDissentedByPurpose.has(id) &&\n !constrainedByFlexPurpose\n return hasConsented\n })\n return preferenceForIds\n }\n\n consentedVendorsDetails () {\n const purposesIds = Object.keys(this.model.gvl.purposes).map(id => parseInt(id))\n const purposeRestrictions = [3, 4].map(purposeId => {\n const purposeRestriction = new PurposeRestriction()\n purposeRestriction.purposeId = purposeId\n purposeRestriction.restrictionType = RestrictionType.REQUIRE_CONSENT\n return purposeRestriction\n })\n const vendorIdsDissentedByPurpose = new Set(purposesIds.filter(id => !this.model.purposeConsents.has(id)).map(id => Array.from(this.model.gvl.byPurposeVendorMap[id] && this.model.gvl.byPurposeVendorMap[id].consent || [])).flat())\n const vendorIdDissentedByFlexiblePurpose = (id) => {\n return purposeRestrictions.some(restriction => {\n return this.model.publisherRestrictions.vendorHasRestriction(id, restriction) && !this.model.purposeConsents.has(restriction.purposeId)\n })\n }\n const preferenceForIds = Array.from(this.model.gvl.vendorIds).map(id => {\n const constrainedByFlexPurpose = vendorIdDissentedByFlexiblePurpose(id)\n const vendorRestrictedToConsent = purposeRestrictions.some(restriction => this.model.publisherRestrictions.vendorHasRestriction(id, restriction))\n const hasConsented = (vendorRestrictedToConsent ? this.model.vendorConsents.has(id) : (this.model.vendorConsents.has(id) || this.model.vendorLegitimateInterests.has(id))) &&\n !vendorIdsDissentedByPurpose.has(id) &&\n !constrainedByFlexPurpose\n return {\n id,\n hasConsented,\n consentedTests: {\n consented: this.model.vendorConsents.has(id),\n legitimateInterest: this.model.vendorLegitimateInterests.has(id),\n vendorRestrictedToConsent,\n dissentedByPurpose: vendorIdsDissentedByPurpose.has(id),\n constrainedByFlexPurpose: constrainedByFlexPurpose\n }\n }\n })\n return preferenceForIds\n }\n}\n\nexport async function createTcModel ({ tcString, gvl, oldModel }) {\n const model = await (tcString ? createTcModelForExistingUser(gvl, tcString) : createTcModelForNewUser(gvl))\n const tcModel = new TcModel({ gvl, model })\n if (oldModel) {\n const preferences = [\n 'purposeConsents',\n 'purposeLegitimateInterests',\n 'specialFeatureOptins',\n 'vendorConsents',\n 'vendorLegitimateInterests'\n ].reduce((prefs, key) => ({ ...prefs, ...{ [key]: Array.from(oldModel.model[key].set_).map(v => parseInt(v)) } }), {})\n preferences.consentScreen = oldModel.model.consentScreen_\n tcModel.updateUserPreferences(preferences)\n }\n return tcModel\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var errors_1=require(\"../errors\"),Base64Url=function(){function r(){}return r.encode=function(r){if(!/^[0-1]+$/.test(r))throw new errors_1.EncodingError(\"Invalid bitField\");var e=r.length%this.LCM;r+=e?\"0\".repeat(this.LCM-e):\"\";for(var t=\"\",n=0;ne.value))break;if(null===e.right){e.right=r;break}e=e.right}},e.prototype.get=function(){for(var t=[],e=this.root;e;)if(e.left){for(var r=e.left;r.right&&r.right!=e;)r=r.right;r.right==e?(r.right=null,t.push(e.value),e=e.right):(r.right=e,e=e.left)}else t.push(e.value),e=e.right;return t},e.prototype.contains=function(t){for(var e=!1,r=this.root;r;){if(r.value===t){e=!0;break}t>r.value?r=r.right:te.value)r=e,e=e.right,o=\"right\";else{if(e.left||e.right)if(e.left)if(e.right){var i=this.min(e.right);this.remove(i,e.right),e.value=i}else r?r[o]=e.left:this.root=e.left;else r?r[o]=e.right:this.root=e.right;else r?r[o]=null:this.root=null;e=null}},e}(Cloneable_1.Cloneable);exports.BinarySearchTree=BinarySearchTree;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var Fields=function(){function e(){}return e.cmpId=\"cmpId\",e.cmpVersion=\"cmpVersion\",e.consentLanguage=\"consentLanguage\",e.consentScreen=\"consentScreen\",e.created=\"created\",e.supportOOB=\"supportOOB\",e.isServiceSpecific=\"isServiceSpecific\",e.lastUpdated=\"lastUpdated\",e.numCustomPurposes=\"numCustomPurposes\",e.policyVersion=\"policyVersion\",e.publisherCountryCode=\"publisherCountryCode\",e.publisherCustomConsents=\"publisherCustomConsents\",e.publisherCustomLegitimateInterests=\"publisherCustomLegitimateInterests\",e.publisherLegitimateInterests=\"publisherLegitimateInterests\",e.publisherConsents=\"publisherConsents\",e.publisherRestrictions=\"publisherRestrictions\",e.purposeConsents=\"purposeConsents\",e.purposeLegitimateInterests=\"purposeLegitimateInterests\",e.purposeOneTreatment=\"purposeOneTreatment\",e.specialFeatureOptins=\"specialFeatureOptins\",e.useNonStandardStacks=\"useNonStandardStacks\",e.vendorConsents=\"vendorConsents\",e.vendorLegitimateInterests=\"vendorLegitimateInterests\",e.vendorListVersion=\"vendorListVersion\",e.vendorsAllowed=\"vendorsAllowed\",e.vendorsDisclosed=\"vendorsDisclosed\",e.version=\"version\",e}();exports.Fields=Fields;","\"use strict\";var __extends=this&&this.__extends||function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function o(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(o.prototype=r.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var Cloneable_1=require(\"../Cloneable\"),errors_1=require(\"../errors\"),RestrictionType_1=require(\"./RestrictionType\"),PurposeRestriction=function(e){function t(t,r){var o=e.call(this)||this;return void 0!==t&&(o.purposeId=t),void 0!==r&&(o.restrictionType=r),o}return __extends(t,e),t.unHash=function(e){var r=e.split(this.hashSeparator),o=new t;if(2!==r.length)throw new errors_1.TCModelError(\"hash\",e);return o.purposeId=parseInt(r[0],10),o.restrictionType=parseInt(r[1],10),o},Object.defineProperty(t.prototype,\"hash\",{get:function(){if(!this.isValid())throw new Error(\"cannot hash invalid PurposeRestriction\");return\"\"+this.purposeId+t.hashSeparator+this.restrictionType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"purposeId\",{get:function(){return this.purposeId_},set:function(e){this.purposeId_=e},enumerable:!0,configurable:!0}),t.prototype.isValid=function(){return Number.isInteger(this.purposeId)&&this.purposeId>0&&(this.restrictionType===RestrictionType_1.RestrictionType.NOT_ALLOWED||this.restrictionType===RestrictionType_1.RestrictionType.REQUIRE_CONSENT||this.restrictionType===RestrictionType_1.RestrictionType.REQUIRE_LI)},t.prototype.isSameAs=function(e){return this.purposeId===e.purposeId&&this.restrictionType===e.restrictionType},t.hashSeparator=\"-\",t}(Cloneable_1.Cloneable);exports.PurposeRestriction=PurposeRestriction;","\"use strict\";var Segment;Object.defineProperty(exports,\"__esModule\",{value:!0}),function(e){e.CORE=\"core\",e.VENDORS_DISCLOSED=\"vendorsDisclosed\",e.VENDORS_ALLOWED=\"vendorsAllowed\",e.PUBLISHER_TC=\"publisherTC\"}(Segment=exports.Segment||(exports.Segment={}));","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./BooleanEncoder\")),__export(require(\"./DateEncoder\")),__export(require(\"./FieldEncoderMap\")),__export(require(\"./FixedVectorEncoder\")),__export(require(\"./IntEncoder\")),__export(require(\"./LangEncoder\")),__export(require(\"./PurposeRestrictionVectorEncoder\")),__export(require(\"./VectorEncodingType\")),__export(require(\"./VendorVectorEncoder\"));","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var IntEncoder_1=require(\"./IntEncoder\"),errors_1=require(\"../../errors\"),DateEncoder=function(){function e(){}return e.encode=function(e,r){return IntEncoder_1.IntEncoder.encode(Math.round(e.getTime()/100),r)},e.decode=function(e,r){if(r!==e.length)throw new errors_1.DecodingError(\"invalid bit length\");var n=new Date;return n.setTime(100*IntEncoder_1.IntEncoder.decode(e,r)),n},e}();exports.DateEncoder=DateEncoder;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var IntEncoder_1=require(\"./IntEncoder\"),errors_1=require(\"../../errors\"),LangEncoder=function(){function e(){}return e.encode=function(e,r){var n=(e=e.toUpperCase()).charCodeAt(0)-65,o=e.charCodeAt(1)-65;if(n<0||n>25||o<0||o>25)throw new errors_1.EncodingError(\"invalid language code: \"+e);if(r%2==1)throw new errors_1.EncodingError(\"numBits must be even, \"+r+\" is not valid\");return r/=2,IntEncoder_1.IntEncoder.encode(n,r)+IntEncoder_1.IntEncoder.encode(o,r)},e.decode=function(e,r){if(r!==e.length||e.length%2)throw new errors_1.DecodingError(\"invalid bit length for language\");var n=e.length/2,o=IntEncoder_1.IntEncoder.decode(e.slice(0,n),n)+65,t=IntEncoder_1.IntEncoder.decode(e.slice(n),n)+65;return String.fromCharCode(o)+String.fromCharCode(t)},e}();exports.LangEncoder=LangEncoder;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var BitLength_1=require(\"../BitLength\"),BooleanEncoder_1=require(\"./BooleanEncoder\"),errors_1=require(\"../../errors\"),IntEncoder_1=require(\"./IntEncoder\"),model_1=require(\"../../model\"),PurposeRestrictionVectorEncoder=function(){function e(){}return e.encode=function(e){var t=IntEncoder_1.IntEncoder.encode(e.numRestrictions,BitLength_1.BitLength.numRestrictions);return e.isEmpty()||e.getRestrictions().forEach((function(n){t+=IntEncoder_1.IntEncoder.encode(n.purposeId,BitLength_1.BitLength.purposeId),t+=IntEncoder_1.IntEncoder.encode(n.restrictionType,BitLength_1.BitLength.restrictionType);for(var r=e.getVendors(n),o=r.length,i=0,d=0,c=\"\",s=0;sB+1){var g=!(B===d);c+=BooleanEncoder_1.BooleanEncoder.encode(g),c+=IntEncoder_1.IntEncoder.encode(d,BitLength_1.BitLength.vendorId),g&&(c+=IntEncoder_1.IntEncoder.encode(B,BitLength_1.BitLength.vendorId)),d=0}}t+=IntEncoder_1.IntEncoder.encode(i,BitLength_1.BitLength.numEntries),t+=c})),t},e.decode=function(e){var t=0,n=new model_1.PurposeRestrictionVector,r=IntEncoder_1.IntEncoder.decode(e.substr(t,BitLength_1.BitLength.numRestrictions),BitLength_1.BitLength.numRestrictions);t+=BitLength_1.BitLength.numRestrictions;for(var o=0;oi&&E<_)&&t)&&(e.has(c+1)?0===o.length&&(o.push(c),E+=__1.BitLength.singleOrRange,E+=__1.BitLength.vendorId):(o.push(c),E+=__1.BitLength.vendorId,r.push(o),o=[]))})),n?(t+=VectorEncodingType_1.VectorEncodingType.RANGE+\"\",t+=this.buildRangeEncoding(r)):(t+=VectorEncodingType_1.VectorEncodingType.FIELD+\"\",t+=d),t},e.decode=function(e,n){var r,o=0,t=IntEncoder_1.IntEncoder.decode(e.substr(o,__1.BitLength.maxId),__1.BitLength.maxId);o+=__1.BitLength.maxId;var d=IntEncoder_1.IntEncoder.decode(e.charAt(o),__1.BitLength.encodingType);if(o+=__1.BitLength.encodingType,d===VectorEncodingType_1.VectorEncodingType.RANGE){if(r=new model_1.Vector,1===n){if(\"1\"===e.substr(o,1))throw new errors_1.DecodingError(\"Unable to decode default consent=1\");o++}var c=IntEncoder_1.IntEncoder.decode(e.substr(o,__1.BitLength.numEntries),__1.BitLength.numEntries);o+=__1.BitLength.numEntries;for(var _=0;_0&&n[n.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]0){var o=r;t.CACHE.has(o)?(s.populate(t.CACHE.get(o)),s.readyPromise=Promise.resolve()):(n+=t.versionedFilename.replace(\"[VERSION]\",o+\"\"),s.readyPromise=s.fetchJson(n))}else t.CACHE.has(t.LATEST_CACHE_KEY)?(s.populate(t.CACHE.get(t.LATEST_CACHE_KEY)),s.readyPromise=Promise.resolve()):(s.isLatest=!0,s.readyPromise=s.fetchJson(n+t.latestFilename))}return s}return __extends(t,e),Object.defineProperty(t,\"baseUrl\",{get:function(){return this.baseUrl_},set:function(e){if(/^https?:\\/\\/vendorlist\\.consensu\\.org\\//.test(e))throw new errors_1.GVLError(\"Invalid baseUrl! You may not pull directly from vendorlist.consensu.org and must provide your own cache\");e.length>0&&\"/\"!==e[e.length-1]&&(e+=\"/\"),this.baseUrl_=e},enumerable:!0,configurable:!0}),t.emptyLanguageCache=function(e){var r=!1;return void 0===e&&t.LANGUAGE_CACHE.size>0?(t.LANGUAGE_CACHE=new Map,r=!0):\"string\"==typeof e&&this.consentLanguages.has(e.toUpperCase())&&(t.LANGUAGE_CACHE.delete(e.toUpperCase()),r=!0),r},t.emptyCache=function(e){var r=!1;return Number.isInteger(e)&&e>=0?(t.CACHE.delete(e),r=!0):void 0===e&&(t.CACHE=new Map,r=!0),r},t.prototype.cacheLanguage=function(){t.LANGUAGE_CACHE.has(this.lang_)||t.LANGUAGE_CACHE.set(this.lang_,{purposes:this.purposes,specialPurposes:this.specialPurposes,features:this.features,specialFeatures:this.specialFeatures,stacks:this.stacks})},t.prototype.fetchJson=function(e){return __awaiter(this,void 0,void 0,(function(){var t,r;return __generator(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),t=this.populate,[4,Json_1.Json.fetch(e)];case 1:return t.apply(this,[s.sent()]),[3,3];case 2:throw r=s.sent(),new errors_1.GVLError(r.message);case 3:return[2]}}))}))},t.prototype.getJson=function(){return JSON.parse(JSON.stringify({gvlSpecificationVersion:this.gvlSpecificationVersion,vendorListVersion:this.vendorListVersion,tcfPolicyVersion:this.tcfPolicyVersion,lastUpdated:this.lastUpdated,purposes:this.purposes,specialPurposes:this.specialPurposes,features:this.features,specialFeatures:this.specialFeatures,stacks:this.stacks,vendors:this.fullVendorList}))},t.prototype.changeLanguage=function(e){return __awaiter(this,void 0,void 0,(function(){var r,s,n,o,i;return __generator(this,(function(a){switch(a.label){case 0:if(r=e.toUpperCase(),!t.consentLanguages.has(r))return[3,6];if(r===this.lang_)return[3,5];if(this.lang_=r,!t.LANGUAGE_CACHE.has(r))return[3,1];for(n in s=t.LANGUAGE_CACHE.get(r))s.hasOwnProperty(n)&&(this[n]=s[n]);return[3,5];case 1:o=t.baseUrl+t.languageFilename.replace(\"[LANG]\",e),a.label=2;case 2:return a.trys.push([2,4,,5]),[4,this.fetchJson(o)];case 3:return a.sent(),this.cacheLanguage(),[3,5];case 4:throw i=a.sent(),new errors_1.GVLError(\"unable to load language: \"+i.message);case 5:return[3,7];case 6:throw new errors_1.GVLError(\"unsupported language \"+e);case 7:return[2]}}))}))},Object.defineProperty(t.prototype,\"language\",{get:function(){return this.lang_},enumerable:!0,configurable:!0}),t.prototype.isVendorList=function(e){return void 0!==e&&void 0!==e.vendors},t.prototype.populate=function(e){this.purposes=e.purposes,this.specialPurposes=e.specialPurposes,this.features=e.features,this.specialFeatures=e.specialFeatures,this.stacks=e.stacks,this.isVendorList(e)&&(this.gvlSpecificationVersion=e.gvlSpecificationVersion,this.tcfPolicyVersion=e.tcfPolicyVersion,this.vendorListVersion=e.vendorListVersion,this.lastUpdated=e.lastUpdated,\"string\"==typeof this.lastUpdated&&(this.lastUpdated=new Date(this.lastUpdated)),this.vendors_=e.vendors,this.fullVendorList=e.vendors,this.mapVendors(),this.isReady_=!0,this.isLatest&&t.CACHE.set(t.LATEST_CACHE_KEY,this.getJson()),t.CACHE.has(this.vendorListVersion)||t.CACHE.set(this.vendorListVersion,this.getJson())),this.cacheLanguage()},t.prototype.mapVendors=function(e){var t=this;this.byPurposeVendorMap={},this.bySpecialPurposeVendorMap={},this.byFeatureVendorMap={},this.bySpecialFeatureVendorMap={},Object.keys(this.purposes).forEach((function(e){t.byPurposeVendorMap[e]={legInt:new Set,consent:new Set,flexible:new Set}})),Object.keys(this.specialPurposes).forEach((function(e){t.bySpecialPurposeVendorMap[e]=new Set})),Object.keys(this.features).forEach((function(e){t.byFeatureVendorMap[e]=new Set})),Object.keys(this.specialFeatures).forEach((function(e){t.bySpecialFeatureVendorMap[e]=new Set})),Array.isArray(e)||(e=Object.keys(this.fullVendorList).map((function(e){return+e}))),this.vendorIds=new Set(e),this.vendors_=e.reduce((function(e,r){var s=t.vendors_[\"\"+r];return s&&void 0===s.deletedDate&&(s.purposes.forEach((function(e){t.byPurposeVendorMap[e+\"\"].consent.add(r)})),s.specialPurposes.forEach((function(e){t.bySpecialPurposeVendorMap[e+\"\"].add(r)})),s.legIntPurposes.forEach((function(e){t.byPurposeVendorMap[e+\"\"].legInt.add(r)})),s.flexiblePurposes&&s.flexiblePurposes.forEach((function(e){t.byPurposeVendorMap[e+\"\"].flexible.add(r)})),s.features.forEach((function(e){t.byFeatureVendorMap[e+\"\"].add(r)})),s.specialFeatures.forEach((function(e){t.bySpecialFeatureVendorMap[e+\"\"].add(r)})),e[r]=s),e}),{})},t.prototype.getFilteredVendors=function(e,t,r,s){var n=this,o=e.charAt(0).toUpperCase()+e.slice(1),i={};return(\"purpose\"===e&&r?this[\"by\"+o+\"VendorMap\"][t+\"\"][r]:this[\"by\"+(s?\"Special\":\"\")+o+\"VendorMap\"][t+\"\"]).forEach((function(e){i[e+\"\"]=n.vendors[e+\"\"]})),i},t.prototype.getVendorsWithConsentPurpose=function(e){return this.getFilteredVendors(\"purpose\",e,\"consent\")},t.prototype.getVendorsWithLegIntPurpose=function(e){return this.getFilteredVendors(\"purpose\",e,\"legInt\")},t.prototype.getVendorsWithFlexiblePurpose=function(e){return this.getFilteredVendors(\"purpose\",e,\"flexible\")},t.prototype.getVendorsWithSpecialPurpose=function(e){return this.getFilteredVendors(\"purpose\",e,void 0,!0)},t.prototype.getVendorsWithFeature=function(e){return this.getFilteredVendors(\"feature\",e)},t.prototype.getVendorsWithSpecialFeature=function(e){return this.getFilteredVendors(\"feature\",e,void 0,!0)},Object.defineProperty(t.prototype,\"vendors\",{get:function(){return this.vendors_},enumerable:!0,configurable:!0}),t.prototype.narrowVendorsTo=function(e){this.mapVendors(e)},Object.defineProperty(t.prototype,\"isReady\",{get:function(){return this.isReady_},enumerable:!0,configurable:!0}),t.prototype.clone=function(){return new t(this.getJson())},t.isInstanceOf=function(e){return\"object\"==typeof e&&\"function\"==typeof e.narrowVendorsTo},t.LANGUAGE_CACHE=new Map,t.CACHE=new Map,t.LATEST_CACHE_KEY=0,t.DEFAULT_LANGUAGE=\"EN\",t.consentLanguages=new model_1.ConsentLanguages,t.latestFilename=\"vendor-list.json\",t.versionedFilename=\"archives/vendor-list-v[VERSION].json\",t.languageFilename=\"purposes-[LANG].json\",t}(Cloneable_1.Cloneable);exports.GVL=GVL;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var Json=function(){function e(){}return e.absCall=function(e,t,n,r){return new Promise((function(o,s){var i=new XMLHttpRequest;i.withCredentials=n,i.addEventListener(\"load\",(function(){if(i.readyState==XMLHttpRequest.DONE)if(i.status>=200&&i.status<300){var e=i.response;if(\"string\"==typeof e)try{e=JSON.parse(e)}catch(e){}o(e)}else s(new Error(\"HTTP Status: \"+i.status+\" response type: \"+i.responseType))})),i.addEventListener(\"error\",(function(){s(new Error(\"error\"))})),i.addEventListener(\"abort\",(function(){s(new Error(\"aborted\"))})),null===t?i.open(\"GET\",e,!0):i.open(\"POST\",e,!0),i.responseType=\"json\",i.timeout=r,i.ontimeout=function(){s(new Error(\"Timeout \"+r+\"ms \"+e))},i.send(t)}))},e.post=function(e,t,n,r){return void 0===n&&(n=!1),void 0===r&&(r=0),this.absCall(e,JSON.stringify(t),n,r)},e.fetch=function(e,t,n){return void 0===t&&(t=!1),void 0===n&&(n=0),this.absCall(e,null,t,n)},e}();exports.Json=Json;","\"use strict\";var __extends=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function o(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var Cloneable_1=require(\"./Cloneable\"),errors_1=require(\"./errors\"),GVL_1=require(\"./GVL\"),model_1=require(\"./model\"),TCModel=function(e){function t(t){var n=e.call(this)||this;return n.isServiceSpecific_=!1,n.supportOOB_=!0,n.useNonStandardStacks_=!1,n.purposeOneTreatment_=!1,n.publisherCountryCode_=\"AA\",n.version_=2,n.consentScreen_=0,n.policyVersion_=2,n.consentLanguage_=\"EN\",n.cmpId_=0,n.cmpVersion_=0,n.vendorListVersion_=0,n.numCustomPurposes_=0,n.specialFeatureOptins=new model_1.Vector,n.purposeConsents=new model_1.Vector,n.purposeLegitimateInterests=new model_1.Vector,n.publisherConsents=new model_1.Vector,n.publisherLegitimateInterests=new model_1.Vector,n.publisherCustomConsents=new model_1.Vector,n.publisherCustomLegitimateInterests=new model_1.Vector,n.vendorConsents=new model_1.Vector,n.vendorLegitimateInterests=new model_1.Vector,n.vendorsDisclosed=new model_1.Vector,n.vendorsAllowed=new model_1.Vector,n.publisherRestrictions=new model_1.PurposeRestrictionVector,t&&(n.gvl=t),n.created=new Date,n.updated(),n}return __extends(t,e),Object.defineProperty(t.prototype,\"gvl\",{get:function(){return this.gvl_},set:function(e){GVL_1.GVL.isInstanceOf(e)||(e=new GVL_1.GVL(e)),this.gvl_=e,this.publisherRestrictions.gvl=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"cmpId\",{get:function(){return this.cmpId_},set:function(e){if(!(Number.isInteger(+e)&&e>1))throw new errors_1.TCModelError(\"cmpId\",e);this.cmpId_=+e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"cmpVersion\",{get:function(){return this.cmpVersion_},set:function(e){if(!(Number.isInteger(+e)&&e>-1))throw new errors_1.TCModelError(\"cmpVersion\",e);this.cmpVersion_=+e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"consentScreen\",{get:function(){return this.consentScreen_},set:function(e){if(!(Number.isInteger(+e)&&e>-1))throw new errors_1.TCModelError(\"consentScreen\",e);this.consentScreen_=+e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"consentLanguage\",{get:function(){return this.consentLanguage_},set:function(e){this.consentLanguage_=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"publisherCountryCode\",{get:function(){return this.publisherCountryCode_},set:function(e){if(!/^([A-z]){2}$/.test(e))throw new errors_1.TCModelError(\"publisherCountryCode\",e);this.publisherCountryCode_=e.toUpperCase()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"vendorListVersion\",{get:function(){return this.gvl?this.gvl.vendorListVersion:this.vendorListVersion_},set:function(e){if((e=+e>>0)<0)throw new errors_1.TCModelError(\"vendorListVersion\",e);this.vendorListVersion_=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"policyVersion\",{get:function(){return this.gvl?this.gvl.tcfPolicyVersion:this.policyVersion_},set:function(e){if(this.policyVersion_=parseInt(e,10),this.policyVersion_<0)throw new errors_1.TCModelError(\"policyVersion\",e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"version\",{get:function(){return this.version_},set:function(e){this.version_=parseInt(e,10)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isServiceSpecific\",{get:function(){return this.isServiceSpecific_},set:function(e){this.isServiceSpecific_=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"useNonStandardStacks\",{get:function(){return this.useNonStandardStacks_},set:function(e){this.useNonStandardStacks_=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"supportOOB\",{get:function(){return this.supportOOB_},set:function(e){this.supportOOB_=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"purposeOneTreatment\",{get:function(){return this.purposeOneTreatment_},set:function(e){this.purposeOneTreatment_=e},enumerable:!0,configurable:!0}),t.prototype.setAllVendorConsents=function(){this.vendorConsents.set(this.gvl.vendors)},t.prototype.unsetAllVendorConsents=function(){this.vendorConsents.empty()},t.prototype.setAllVendorsDisclosed=function(){this.vendorsDisclosed.set(this.gvl.vendors)},t.prototype.unsetAllVendorsDisclosed=function(){this.vendorsDisclosed.empty()},t.prototype.setAllVendorsAllowed=function(){this.vendorsAllowed.set(this.gvl.vendors)},t.prototype.unsetAllVendorsAllowed=function(){this.vendorsAllowed.empty()},t.prototype.setAllVendorLegitimateInterests=function(){this.vendorLegitimateInterests.set(this.gvl.vendors)},t.prototype.unsetAllVendorLegitimateInterests=function(){this.vendorLegitimateInterests.empty()},t.prototype.setAllPurposeConsents=function(){this.purposeConsents.set(this.gvl.purposes)},t.prototype.unsetAllPurposeConsents=function(){this.purposeConsents.empty()},t.prototype.setAllPurposeLegitimateInterests=function(){this.purposeLegitimateInterests.set(this.gvl.purposes)},t.prototype.unsetAllPurposeLegitimateInterests=function(){this.purposeLegitimateInterests.empty()},t.prototype.setAllSpecialFeatureOptins=function(){this.specialFeatureOptins.set(this.gvl.specialFeatures)},t.prototype.unsetAllSpecialFeatureOptins=function(){this.specialFeatureOptins.empty()},t.prototype.setAll=function(){this.setAllVendorConsents(),this.setAllPurposeLegitimateInterests(),this.setAllSpecialFeatureOptins(),this.setAllPurposeConsents(),this.setAllVendorLegitimateInterests()},t.prototype.unsetAll=function(){this.unsetAllVendorConsents(),this.unsetAllPurposeLegitimateInterests(),this.unsetAllSpecialFeatureOptins(),this.unsetAllPurposeConsents(),this.unsetAllVendorLegitimateInterests()},Object.defineProperty(t.prototype,\"numCustomPurposes\",{get:function(){var e=this.numCustomPurposes_;if(\"object\"==typeof this.customPurposes){var t=Object.keys(this.customPurposes).sort((function(e,t){return+e-+t}));e=parseInt(t.pop(),10)}return e},set:function(e){if(this.numCustomPurposes_=parseInt(e,10),this.numCustomPurposes_<0)throw new errors_1.TCModelError(\"numCustomPurposes\",e)},enumerable:!0,configurable:!0}),t.prototype.updated=function(){this.lastUpdated=new Date},t.consentLanguages=GVL_1.GVL.consentLanguages,t}(Cloneable_1.Cloneable);exports.TCModel=TCModel;","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./TCFCommand\"));","\"use strict\";var TCFCommand;Object.defineProperty(exports,\"__esModule\",{value:!0}),function(e){e.PING=\"ping\",e.GET_TC_DATA=\"getTCData\",e.GET_IN_APP_TC_DATA=\"getInAppTCData\",e.GET_VENDOR_LIST=\"getVendorList\",e.ADD_EVENT_LISTENER=\"addEventListener\",e.REMOVE_EVENT_LISTENER=\"removeEventListener\"}(TCFCommand=exports.TCFCommand||(exports.TCFCommand={}));","\"use strict\";var __extends=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var Response_1=require(\"./Response\"),status_1=require(\"../status\"),Disabled=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.cmpStatus=status_1.CmpStatus.ERROR,e}return __extends(e,t),e}(Response_1.Response);exports.Disabled=Disabled;","\"use strict\";var __extends=this&&this.__extends||function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function o(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(o.prototype=r.prototype,new o)}}(),__read=this&&this.__read||function(e,t){var r=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var o,n,i=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)s.push(o.value)}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}return s},__spread=this&&this.__spread||function(){for(var e=[],t=0;t0)for(var r=e.getMaxVendorId(),o=function(r){var o=r.toString();e.getRestrictions(r).forEach((function(e){var r=e.purposeId.toString();t[r]||(t[r]={}),t[r][o]=e.restrictionType}))},n=1;n<=r;n++)o(n);return t},t.prototype.createVectorField=function(e,t){return t?t.reduce((function(t,r){return t[r+\"\"]=e.has(+r),t}),{}):__spread(e).reduce((function(e,t){return e[t[0].toString(10)]=t[1],e}),{})},t}(Response_1.Response);exports.TCData=TCData;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var ACMModel=function(){};exports.ACMModel=ACMModel;","\"use strict\";var __read=this&&this.__read||function(o,e){var n=\"function\"==typeof Symbol&&o[Symbol.iterator];if(!n)return o;var t,a,i=n.call(o),s=[];try{for(;(void 0===e||e-- >0)&&!(t=i.next()).done;)s.push(t.value)}catch(o){a={error:o}}finally{try{t&&!t.done&&(n=i.return)&&n.call(i)}finally{if(a)throw a.error}}return s},__spread=this&&this.__spread||function(){for(var o=[],e=0;e ({\n ...acc,\n [provider_id]: {\n id: provider_id,\n name: provider_name,\n policyUrl: policy_url,\n description: ''\n }\n\n }), {})\n}\n\nclass Cmp {\n constructor ({ tcModel, cvlJson = {}, tcString, storeTcString, customVendorConsents = {}, persist, persistCustomVendors, ui, uuid, gvlVersion, gvlUiVersion }) {\n cmpstub()\n this.tcModel = tcModel\n this.hasUserSelectedTheirPreference = !!tcString\n this.notifyModelUpdate = this.notifyModelUpdate.bind(this)\n this.isReady = this.isReady.bind(this)\n this.openUi = this.openUi.bind(this)\n this.notifyUsersPreferences = this.notifyUsersPreferences.bind(this)\n this.hasUserConsentedToAll = this.hasUserConsentedToAll.bind(this)\n this.updateConset = this.updateConsent.bind(this)\n this.getGvl = this.getGvl.bind(this)\n this.consentToAll = this.consentToAll.bind(this)\n this.dissentToAll = this.dissentToAll.bind(this)\n this.updateConsent = this.updateConsent.bind(this)\n this.reloadTcModel = this.reloadTcModel.bind(this)\n this.levelChanged = this.levelChanged.bind(this)\n this.storeTcString = storeTcString\n this.persist = persist\n this.ui = ui\n this.uuid = uuid\n this.lastKnownConsentScreen = undefined\n this.gvlVersion = gvlVersion\n this.gvlUiVersion = gvlUiVersion\n this.acmModel = new ACMModel({ cvlJson, acmModel: customVendorConsents })\n this.customVendors = {\n cvlJson,\n cvl: parseCvl(cvlJson),\n consents: customVendorConsents || {}\n }\n this.persistCustomVendors = persistCustomVendors\n\n const validTCDataP = () => new Promise(resolve => {\n this.tcModel.gvlIsReady().then(() => {\n let resolved = false\n const done = (tcData) => {\n if (!resolved) {\n resolved = true\n resolve(tcData)\n }\n }\n global.__tcfapi('addEventListener', 2, tcData => {\n if (tcData.tcString.length) {\n global.__tcfapi('removeEventListener', 2, () => {}, tcData.listenerId)\n done(tcData)\n }\n })\n global.__tcfapi('getTCData', 2, tcData => {\n if (tcData.tcString.length) {\n done(tcData)\n }\n })\n })\n })\n\n this.api = new CmpApi(27, 3, true, {\n hasUserConsentedToAll: async callback => {\n await this.tcModel.gvlIsReady()\n callback(this.hasUserConsentedToAll())\n },\n hasUserDissentedToAll: async callback => {\n await this.tcModel.gvlIsReady()\n callback(this.hasUserDissentedToAll())\n },\n getPurposesByVendorMap: async (callback) => {\n await this.tcModel.gvlIsReady()\n const entries = Object.entries(this.tcModel.byPurposeVendorMap())\n const purposesByVendorMap = entries\n .reduce((acc, [purpose, { consent: vendorIds }]) => {\n vendorIds.forEach(vendorId => (acc[vendorId] = acc[vendorId] || []).push(purpose))\n return acc\n }, {})\n callback(purposesByVendorMap)\n },\n getCustomVendorsConsents: async (callback) => {\n await this.tcModel.gvlIsReady()\n callback(this.getCustomVendorsConsents())\n },\n getConsentDegree: async (callback) => {\n callback(await this.getConsentDegree())\n },\n setUserId: (callback, uuid) => {\n this.uuid = uuid\n return callback(true)\n },\n openUi: (callback, { uiLevel, uuid = this.uuid }) => {\n this.uuid = uuid\n this.openUi(uiLevel)\n callback(true)\n },\n getValidTCData: async callback => {\n try {\n callback(await validTCDataP(), true)\n } catch (e) {\n log(e)\n callback(null, false)\n }\n },\n consentedVendors: async callback => {\n callback(await this.consentedVendors())\n },\n consentedVendorsDetails: async callback => {\n callback(await this.consentedVendorsDetails())\n }\n })\n\n // todo: REMOVE\n global.model = () => this.tcModel.model\n }\n\n getGvl () {\n return this.tcModel.gvl\n }\n\n async notifyModelUpdate () {\n const tcString = this.tcModel.tcString()\n this.hasUserSelectedTheirPreference = true\n const consentDegree = await this.getConsentDegree()\n const consents = this.acmModel.getConsents()\n await this.persist.saveTCString(this.uuid, tcString, consentDegree, this.persistCustomVendors ? consents : undefined)\n this.api.update(tcString, false, this.acmModel.acmString)\n }\n\n updateConsent (data) {\n log('data', data)\n\n const formConsentAndLegInt = (pref, keyPrefix) => {\n const consentKey = `${keyPrefix}Consents`\n const legIntKey = `${keyPrefix}LegitimateInterests`\n return Object.entries(pref).reduce((acc, [id, userPreference]) => {\n const { consent, legInterest } = userPreference\n const _id = parseInt(id)\n if (consent) {\n acc[consentKey].push(_id)\n }\n if (legInterest) {\n acc[legIntKey].push(_id)\n }\n return acc\n }, { [consentKey]: [], [legIntKey]: [] })\n }\n\n const { purposes = {}, specialFeatures = {}, vendors = {}, nonTcfVendors = {} } = data\n const { vendorConsents, vendorLegitimateInterests } = formConsentAndLegInt(vendors, 'vendor')\n const { purposeConsents, purposeLegitimateInterests } = formConsentAndLegInt(purposes, 'purpose')\n const specialFeatureOptins = Object.entries(specialFeatures).reduce((acc, [specialFeatureId, userPreference]) => {\n const id = parseInt(specialFeatureId)\n if (userPreference.optIn) {\n acc.push(id)\n }\n return acc\n }, [])\n\n this.acmModel.updateModel(nonTcfVendors)\n const options = { vendorConsents, vendorLegitimateInterests, purposeConsents, purposeLegitimateInterests, specialFeatureOptins, consentScreen: this.lastKnownConsentScreen }\n log('options:', options)\n this.tcModel.updateUserPreferences(options)\n this.notifyModelUpdate()\n log('model updates', vendorConsents, vendorLegitimateInterests, purposeConsents, purposeLegitimateInterests, this.acmModel.getConsents())\n }\n\n consentToAll () {\n log('user consenting to all')\n this.acmModel.consentToAll()\n this.tcModel.consentAll({ consentScreen: this.lastKnownConsentScreen })\n this.notifyModelUpdate()\n }\n\n dissentToAll () {\n log('user dissenting to all')\n this.acmModel.dissentToAll()\n this.tcModel.dissentAll({ consentScreen: this.lastKnownConsentScreen })\n this.notifyModelUpdate()\n }\n\n levelChanged ({ currentLevel }) {\n try {\n this.setCurrentLevel(currentLevel)\n log('last known consent screen:', this.lastKnownConsentScreen)\n } catch (e) {\n log(e.message)\n }\n }\n\n setCurrentLevel (currentLevel) {\n const screen = currentLevel.match(/\\d/)\n if (typeof screen[0] === 'undefined') {\n throw new Error('Unknown level: ' + currentLevel)\n }\n this.lastKnownConsentScreen = screen[0]\n }\n\n isReady () {\n return this.tcModel.gvlIsReady()\n }\n\n hasUserConsentedToAll () {\n if (!this.hasUserSelectedTheirPreference) return false\n return this.tcModel.hasUserConsentedToAll() && this.acmModel.hasUserConsentedToAll()\n }\n\n hasUserDissentedToAll () {\n if (!this.hasUserSelectedTheirPreference) return false\n return this.tcModel.hasUserDissentedToAll() && this.acmModel.hasUserDissentedToAll()\n }\n\n getCustomVendorsConsents () {\n return this.acmModel.getConsents()\n }\n\n async getConsentDegree () {\n await this.tcModel.gvlIsReady()\n return this.hasUserSelectedTheirPreference ? this.hasUserConsentedToAll() && 'yes' || this.hasUserDissentedToAll() && 'no' || 'partial' : undefined\n }\n\n async consentedVendors () {\n await this.tcModel.gvlIsReady()\n return this.tcModel.consentedVendors()\n }\n\n async consentedVendorsDetails () {\n await this.tcModel.gvlIsReady()\n return this.tcModel.consentedVendorsDetails()\n }\n\n async openUi (uiLevel) {\n if (this.gvlVersion !== this.gvlUiVersion) {\n const url = `//cmp.dmgmediaprivacy.co.uk/gvl/${this.gvlUiVersion}/vendor-list.json`\n const response = await fetch(url)\n const gvlJson = await response.json()\n const tcModel = await createTcModel({ gvl: new GVL(gvlJson), oldModel: this.tcModel })\n this.tcModel = tcModel\n this.gvlVersion = this.gvlUiVersion\n }\n\n const consentString = this.hasUserSelectedTheirPreference ? this.tcModel.tcString() : ''\n const cmpModel = {\n tcModel: this.tcModel.model,\n uuid: this.uuid,\n hasUserSelectedTheirPreference: this.hasUserSelectedTheirPreference,\n customVendors: this.acmModel.getUiModel()\n }\n const cmpUpdateHandlers = {\n reloadTcModel: this.reloadTcModel,\n updateConsent: this.updateConsent,\n consentToAll: this.consentToAll,\n dissentToAll: this.dissentToAll,\n levelChanged: this.levelChanged\n }\n\n log('opening UI')\n this.setCurrentLevel(uiLevel)\n this.ui.open(uiLevel, { cmpModel, cmpUpdateHandlers })\n this.api.update(consentString, true, this.acmModel.acmString)\n }\n\n notifyUsersPreferences () {\n const consentString = this.hasUserSelectedTheirPreference ? this.tcModel.tcString() : ''\n log('notifying users')\n this.api.update(consentString, false, this.acmModel.acmString)\n }\n\n reloadTcModel (tcString) {\n this.tcModel.reload(tcString)\n this.isReady().then(() => {\n this.hasUserSelectedTheirPreference = true\n this.notifyUsersPreferences()\n })\n }\n\n setUuid (uuid) {\n this.uuid = uuid\n }\n}\n\nexport async function createCmp ({ gvlJson, cvlJson = {}, tcString, storeTcString, customVendorConsents = {}, persist, persistCustomVendors, ui, uuid, gvlVersion, gvlUiVersion }) {\n const gvl = new GVL(gvlJson)\n const tcModel = await createTcModel({ gvl, tcString })\n return new Cmp({ gvl, tcModel, cvlJson, tcString, storeTcString, customVendorConsents, persist, persistCustomVendors, ui, uuid, gvlVersion, gvlUiVersion })\n}\n","\"use strict\";function __export(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,\"__esModule\",{value:!0}),__export(require(\"./command\")),__export(require(\"./response\")),__export(require(\"./status\")),__export(require(\"./CmpApi\"));var CallResponder_1=require(\"./CallResponder\");exports.API_KEY=CallResponder_1.API_KEY;","(function () {\n const TCF_LOCATOR_NAME = '__tcfapiLocator'\n\n function makeStub () {\n const queue = []\n const currentWindow = window\n let frameLocator = window\n let hasEventListener = false\n let cmpFrame\n\n function addFrame () {\n const doc = currentWindow.document\n\n if (!currentWindow.frames[TCF_LOCATOR_NAME]) {\n if (doc.readyState === 'interactive' || doc.readyState === 'complete') {\n const iframe = doc.createElement('iframe')\n\n iframe.style.display = 'none'\n iframe.name = TCF_LOCATOR_NAME\n doc.body.appendChild(iframe)\n\n if (hasEventListener) {\n doc.removeEventListener('readystatechange', addFrame)\n hasEventListener = false\n }\n } else if (typeof doc.addEventListener === 'function') {\n doc.addEventListener('readystatechange', addFrame)\n hasEventListener = true\n } else {\n setTimeout(addFrame, 5)\n }\n }\n }\n\n function tcfAPIHandler (...args) {\n let gdprApplies\n\n if (!args.length) {\n /**\n * shortcut to get the queue when the full CMP\n * implementation loads; it can call tcfapiHandler()\n * with no arguments to get the queued arguments\n */\n return queue\n }\n\n const callbackFn = args[2]\n\n switch (args[0]) {\n case 'setGdprApplies':\n /**\n * shortcut to set gdprApplies if the publisher\n * knows that they apply GDPR rules to all\n * traffic (see the section on \"What does the\n * gdprApplies value mean\") for more\n */\n if (args.length > 3 && parseInt(args[1], 10) === 2 && typeof args[3] === 'boolean') {\n gdprApplies = args[3]\n\n if (typeof callbackFn === 'function') {\n callbackFn('set', true)\n }\n }\n break\n case 'ping':\n /**\n * Only supported method; give PingReturn\n * object as response\n */\n if (typeof callbackFn === 'function') {\n callbackFn({\n gdprApplies: gdprApplies,\n cmpLoaded: false,\n cmpStatus: 'stub'\n })\n }\n break\n default:\n /**\n * some other method, just queue it for the\n * full CMP implementation to deal with\n */\n queue.push(args)\n break\n }\n }\n\n function postMessageEventHandler (event) {\n if (!event || !event.source || !event.source.postMessage) {\n /**\n * either invalid function call or \"postMessage\"\n * isn't available on calling side\n * either way return early\n */\n return\n }\n\n const msgIsString = typeof event.data === 'string'\n let json = event.data\n\n if (msgIsString) {\n try {\n /**\n * Try to parse the data from the event. This is important\n * to have in a try/catch because often messages may come\n * through that are not JSON\n */\n json = JSON.parse(event.data)\n } catch (ignore) {\n /**\n * Since it's not possible to parse the given message\n * return early\n */\n return\n }\n }\n\n if (typeof json === 'object' && json.__tcfapiCall) {\n const payload = json.__tcfapiCall\n\n window.__tcfapi(\n payload.command,\n payload.version,\n (retValue, success) => {\n const returnMsg = {\n __tcfapiReturn: {\n returnValue: retValue,\n success: success,\n callId: payload.callId\n }\n }\n\n event.source.postMessage(\n (msgIsString) ? JSON.stringify(returnMsg) : returnMsg,\n '*'\n )\n },\n payload.parameter\n )\n }\n }\n\n /**\n * Iterate up to the top window checking for an already-created\n * \"__tcfapilLocator\" frame on every level. If one exists already then we are\n * not the master CMP and will not queue commands.\n */\n while (frameLocator) {\n try {\n if (frameLocator.frames[TCF_LOCATOR_NAME]) {\n cmpFrame = frameLocator\n break\n }\n } catch (ignore) { }\n\n // if we're at the top and no cmpFrame\n if (frameLocator === currentWindow.top) {\n break\n }\n\n // Move up\n frameLocator = frameLocator.parent\n }\n\n if (!cmpFrame) {\n // we have recur'd up the windows and have found no __tcfapiLocator frame\n addFrame()\n currentWindow.__tcfapi = tcfAPIHandler\n currentWindow.addEventListener('message', postMessageEventHandler, false)\n }\n };\n\n if (typeof module !== 'undefined') {\n module.exports = makeStub\n } else {\n makeStub()\n }\n})()\n","export class ACMModel {\n constructor ({ cvlJson, acmModel }) {\n const parseCvl = (cvl) => {\n // eslint-disable-next-line camelcase\n return Object.values(cvl).reduce((acc, { provider_id, provider_name, policy_url }) => ({\n ...acc,\n [provider_id]: {\n id: provider_id,\n name: provider_name,\n policyUrl: policy_url,\n description: ''\n }\n }), {})\n }\n this.cvlJson = cvlJson\n this.cvl = parseCvl(cvlJson)\n this.consents = acmModel || {}\n this.encode = this.encode.bind(this)\n this.updateModel = this.updateModel.bind(this)\n this.getConsents = this.getConsents.bind(this)\n this.acmString = this.encode()\n }\n\n encode () {\n const isEmpty = obj => !Object.keys(obj).length\n if (isEmpty(this.consents)) return '1~'\n\n const ids = Object.entries(this.consents).filter(([ignore, { consent }]) => consent).map(([id, ignore]) => id).join('.')\n return `1~${ids}`\n }\n\n updateModel (consents) {\n this.consents = consents\n this.acmString = this.encode()\n }\n\n getConsents () {\n return this.consents\n }\n\n consentToAll () {\n this.consents = Object.keys(this.cvl).reduce((acc, id) => ({ ...acc, ...{ [id]: { consent: true } } }), {})\n this.acmString = this.encode()\n }\n\n dissentToAll () {\n this.consents = {}\n this.acmString = this.encode()\n }\n\n hasUserConsentedToAll () {\n const cvlIds = Object.keys(this.cvl)\n return cvlIds.every(id => this.consents[id] && this.consents[id].consent)\n }\n\n hasUserDissentedToAll () {\n const cvlIds = Object.keys(this.cvl)\n return cvlIds.every(id => !(this.consents[id] && this.consents[id].consent))\n }\n\n getUiModel () {\n return {\n cvlJson: this.cvlJson,\n cvl: this.cvl,\n consents: this.consents\n }\n }\n}\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\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/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * 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 the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\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/** 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 objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, props) {\n object = Object(object);\n return basePickBy(object, props, function(value, key) {\n return key in object;\n });\n}\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick from.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, props, predicate) {\n var index = -1,\n length = props.length,\n result = {};\n\n while (++index < length) {\n var key = props[index],\n value = object[key];\n\n if (predicate(value, key)) {\n result[key] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\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 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 * 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) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [props] The property identifiers to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = baseRest(function(object, props) {\n return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey));\n});\n\nmodule.exports = pick;\n","\"use strict\";var __extends=this&&this.__extends||function(){var r=function(t,o){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var o in t)t.hasOwnProperty(o)&&(r[o]=t[o])})(t,o)};return function(t,o){function e(){this.constructor=t}r(t,o),t.prototype=null===o?Object.create(o):(e.prototype=o.prototype,new e)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var DecodingError=function(r){function t(t){var o=r.call(this,t)||this;return o.name=\"DecodingError\",o}return __extends(t,r),t}(Error);exports.DecodingError=DecodingError;","\"use strict\";var __extends=this&&this.__extends||function(){var r=function(t,n){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n])})(t,n)};return function(t,n){function o(){this.constructor=t}r(t,n),t.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var EncodingError=function(r){function t(t){var n=r.call(this,t)||this;return n.name=\"EncodingError\",n}return __extends(t,r),t}(Error);exports.EncodingError=EncodingError;","\"use strict\";var __extends=this&&this.__extends||function(){var r=function(t,o){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var o in t)t.hasOwnProperty(o)&&(r[o]=t[o])})(t,o)};return function(t,o){function e(){this.constructor=t}r(t,o),t.prototype=null===o?Object.create(o):(e.prototype=o.prototype,new e)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var GVLError=function(r){function t(t){var o=r.call(this,t)||this;return o.name=\"GVLError\",o}return __extends(t,r),t}(Error);exports.GVLError=GVLError;","\"use strict\";var __extends=this&&this.__extends||function(){var r=function(t,o){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var o in t)t.hasOwnProperty(o)&&(r[o]=t[o])})(t,o)};return function(t,o){function e(){this.constructor=t}r(t,o),t.prototype=null===o?Object.create(o):(e.prototype=o.prototype,new e)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var TCModelError=function(r){function t(t,o,e){void 0===e&&(e=\"\");var n=r.call(this,\"invalid value \"+o+\" passed for \"+t+\" \"+e)||this;return n.name=\"TCModelError\",n}return __extends(t,r),t}(Error);exports.TCModelError=TCModelError;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var ConsentLanguages=function(){function e(){}return e.prototype.has=function(n){return e.langSet.has(n)},e.prototype.forEach=function(n){e.langSet.forEach(n)},Object.defineProperty(e.prototype,\"size\",{get:function(){return e.langSet.size},enumerable:!0,configurable:!0}),e.langSet=new Set([\"BG\",\"CA\",\"CS\",\"DA\",\"DE\",\"EL\",\"EN\",\"ES\",\"ET\",\"FI\",\"FR\",\"HR\",\"HU\",\"IT\",\"LT\",\"LV\",\"MT\",\"NL\",\"NO\",\"PL\",\"PT\",\"RO\",\"RU\",\"SK\",\"SL\",\"SV\",\"ZH\"]),e}();exports.ConsentLanguages=ConsentLanguages;","\"use strict\";var __extends=this&&this.__extends||function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function i(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var PurposeRestriction_1=require(\"./PurposeRestriction\"),BinarySearchTree_1=require(\"./BinarySearchTree\"),RestrictionType_1=require(\"./RestrictionType\"),Cloneable_1=require(\"../Cloneable\"),PurposeRestrictionVector=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.bitLength=0,t.map=new Map,t}return __extends(t,e),t.prototype.has=function(e){return this.map.has(e)},t.prototype.isOkToHave=function(e,t,r){var i,o=!0;if(null===(i=this.gvl)||void 0===i?void 0:i.vendors){var n=this.gvl.vendors[r];if(n)if(e===RestrictionType_1.RestrictionType.NOT_ALLOWED)o=n.legIntPurposes.includes(t)||n.purposes.includes(t);else if(n.flexiblePurposes.length)switch(e){case RestrictionType_1.RestrictionType.REQUIRE_CONSENT:o=n.flexiblePurposes.includes(t)&&n.legIntPurposes.includes(t);break;case RestrictionType_1.RestrictionType.REQUIRE_LI:o=n.flexiblePurposes.includes(t)&&n.purposes.includes(t)}else o=!1;else o=!1}return o},t.prototype.add=function(e,t){if(this.isOkToHave(t.restrictionType,t.purposeId,e)){var r=t.hash;this.has(r)||(this.map.set(r,new BinarySearchTree_1.BinarySearchTree),this.bitLength=0),this.map.get(r).add(e)}},t.prototype.getVendors=function(e){var t=[];if(e){var r=e.hash;this.has(r)&&(t=this.map.get(r).get())}else{var i=new Set;this.map.forEach((function(e){e.get().forEach((function(e){i.add(e)}))})),t=Array.from(i)}return t},t.prototype.getRestrictionType=function(e,t){var r;return this.getRestrictions(e).forEach((function(e){e.purposeId===t&&(void 0===r||r>e.restrictionType)&&(r=e.restrictionType)})),r},t.prototype.vendorHasRestriction=function(e,t){for(var r=!1,i=this.getRestrictions(e),o=0;o0&&o[o.length-1])&&(6===i[0]||2===i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")};Object.defineProperty(exports,\"__esModule\",{value:!0});var Cloneable_1=require(\"../Cloneable\"),errors_1=require(\"../errors\"),Vector=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.bitLength=0,e.maxId_=0,e.set_=new Set,e}return __extends(e,t),e.prototype[Symbol.iterator]=function(){var t;return __generator(this,(function(e){switch(e.label){case 0:t=1,e.label=1;case 1:return t<=this.maxId?[4,[t,this.has(t)]]:[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}}))},e.prototype.values=function(){return this.set_.values()},Object.defineProperty(e.prototype,\"maxId\",{get:function(){return this.maxId_},enumerable:!0,configurable:!0}),e.prototype.has=function(t){return this.set_.has(t)},e.prototype.unset=function(t){var e=this;Array.isArray(t)?t.forEach((function(t){return e.unset(t)})):\"object\"==typeof t?this.unset(Object.keys(t).map((function(t){return+t}))):(this.set_.delete(t),this.bitLength=0,t===this.maxId&&(this.maxId_=0,this.set_.forEach((function(t){e.maxId_=Math.max(e.maxId,t)}))))},e.prototype.isIntMap=function(t){var e=this,r=\"object\"==typeof t;return r=r&&Object.keys(t).every((function(r){var n=Number.isInteger(parseInt(r,10));return n=(n=n&&e.isValidNumber(t[r].id))&&void 0!==t[r].name}))},e.prototype.isValidNumber=function(t){return parseInt(t,10)>0},e.prototype.isSet=function(t){var e=!1;return t instanceof Set&&(e=Array.from(t).every(this.isValidNumber)),e},e.prototype.set=function(t){var e=this;if(Array.isArray(t))t.forEach((function(t){return e.set(t)}));else if(this.isSet(t))this.set(Array.from(t));else if(this.isIntMap(t))this.set(Object.keys(t).map((function(t){return+t})));else{if(!this.isValidNumber(t))throw new errors_1.TCModelError(\"set()\",t,\"must be positive integer array, positive integer, Set, or IntMap\");this.set_.add(t),this.maxId_=Math.max(this.maxId,t),this.bitLength=0}},e.prototype.empty=function(){this.set_=new Set},e.prototype.forEach=function(t){var e,r;try{for(var n=__values(this),o=n.next();!o.done;o=n.next()){var i=o.value;t(i[1],i[0])}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},Object.defineProperty(e.prototype,\"size\",{get:function(){return this.set_.size},enumerable:!0,configurable:!0}),e.prototype.setAll=function(t){this.set(t)},e}(Cloneable_1.Cloneable);exports.Vector=Vector;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var Base64Url_1=require(\"./Base64Url\"),BitLength_1=require(\"./BitLength\"),field_1=require(\"./field\"),sequence_1=require(\"./sequence\"),errors_1=require(\"../errors\"),Fields_1=require(\"../model/Fields\"),model_1=require(\"../model\"),SegmentEncoder=function(){function e(){}return e.encode=function(e,r){var n,i=this;try{n=this.fieldSequence[\"\"+e.version][r]}catch(n){throw new errors_1.EncodingError(\"Unable to encode version: \"+e.version+\", segment: \"+r)}var t=\"\";return r!==model_1.Segment.CORE&&(t=field_1.IntEncoder.encode(model_1.SegmentIDs.KEY_TO_ID[r],BitLength_1.BitLength.segmentType)),n.forEach((function(n){var o=e[n],s=field_1.FieldEncoderMap[n],d=BitLength_1.BitLength[n];void 0===d&&i.isPublisherCustom(n)&&(d=+e[Fields_1.Fields.numCustomPurposes]);try{t+=s.encode(o,d)}catch(e){throw new errors_1.EncodingError(\"Error encoding \"+r+\"->\"+n+\": \"+e.message)}})),Base64Url_1.Base64Url.encode(t)},e.decode=function(e,r,n){var i=this,t=Base64Url_1.Base64Url.decode(e),o=0;return n===model_1.Segment.CORE&&(r.version=field_1.IntEncoder.decode(t.substr(o,BitLength_1.BitLength[Fields_1.Fields.version]),BitLength_1.BitLength[Fields_1.Fields.version])),n!==model_1.Segment.CORE&&(o+=BitLength_1.BitLength.segmentType),this.fieldSequence[\"\"+r.version][n].forEach((function(e){var n=field_1.FieldEncoderMap[e],s=BitLength_1.BitLength[e];if(void 0===s&&i.isPublisherCustom(e)&&(s=+r[Fields_1.Fields.numCustomPurposes]),0!==s){var d=t.substr(o,s);if(n===field_1.VendorVectorEncoder?r[e]=n.decode(d,r.version):r[e]=n.decode(d,s),Number.isInteger(s))o+=s;else{if(!Number.isInteger(r[e].bitLength))throw new errors_1.DecodingError(e);o+=r[e].bitLength}}})),r},e.isPublisherCustom=function(e){return 0===e.indexOf(\"publisherCustom\")},e.fieldSequence=new sequence_1.FieldSequence,e}();exports.SegmentEncoder=SegmentEncoder;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var model_1=require(\"../../model\"),BooleanEncoder_1=require(\"./BooleanEncoder\"),DateEncoder_1=require(\"./DateEncoder\"),FixedVectorEncoder_1=require(\"./FixedVectorEncoder\"),IntEncoder_1=require(\"./IntEncoder\"),LangEncoder_1=require(\"./LangEncoder\"),PurposeRestrictionVectorEncoder_1=require(\"./PurposeRestrictionVectorEncoder\"),VendorVectorEncoder_1=require(\"./VendorVectorEncoder\"),FieldEncoderMap=function(){function e(){}var o,r,d,n,c,t,i,s,l,E,_,F,V,a,m,u,p,I,x,g,L,v,C,q,B,b;return o=model_1.Fields.version,r=model_1.Fields.created,d=model_1.Fields.lastUpdated,n=model_1.Fields.cmpId,c=model_1.Fields.cmpVersion,t=model_1.Fields.consentScreen,i=model_1.Fields.consentLanguage,s=model_1.Fields.vendorListVersion,l=model_1.Fields.policyVersion,E=model_1.Fields.isServiceSpecific,_=model_1.Fields.useNonStandardStacks,F=model_1.Fields.specialFeatureOptins,V=model_1.Fields.purposeConsents,a=model_1.Fields.purposeLegitimateInterests,m=model_1.Fields.purposeOneTreatment,u=model_1.Fields.publisherCountryCode,p=model_1.Fields.vendorConsents,I=model_1.Fields.vendorLegitimateInterests,x=model_1.Fields.publisherRestrictions,g=model_1.Fields.vendorsDisclosed,L=model_1.Fields.vendorsAllowed,v=model_1.Fields.publisherConsents,C=model_1.Fields.publisherLegitimateInterests,q=model_1.Fields.numCustomPurposes,B=model_1.Fields.publisherCustomConsents,b=model_1.Fields.publisherCustomLegitimateInterests,e[o]=IntEncoder_1.IntEncoder,e[r]=DateEncoder_1.DateEncoder,e[d]=DateEncoder_1.DateEncoder,e[n]=IntEncoder_1.IntEncoder,e[c]=IntEncoder_1.IntEncoder,e[t]=IntEncoder_1.IntEncoder,e[i]=LangEncoder_1.LangEncoder,e[s]=IntEncoder_1.IntEncoder,e[l]=IntEncoder_1.IntEncoder,e[E]=BooleanEncoder_1.BooleanEncoder,e[_]=BooleanEncoder_1.BooleanEncoder,e[F]=FixedVectorEncoder_1.FixedVectorEncoder,e[V]=FixedVectorEncoder_1.FixedVectorEncoder,e[a]=FixedVectorEncoder_1.FixedVectorEncoder,e[m]=BooleanEncoder_1.BooleanEncoder,e[u]=LangEncoder_1.LangEncoder,e[p]=VendorVectorEncoder_1.VendorVectorEncoder,e[I]=VendorVectorEncoder_1.VendorVectorEncoder,e[x]=PurposeRestrictionVectorEncoder_1.PurposeRestrictionVectorEncoder,e.segmentType=IntEncoder_1.IntEncoder,e[g]=VendorVectorEncoder_1.VendorVectorEncoder,e[L]=VendorVectorEncoder_1.VendorVectorEncoder,e[v]=FixedVectorEncoder_1.FixedVectorEncoder,e[C]=FixedVectorEncoder_1.FixedVectorEncoder,e[q]=IntEncoder_1.IntEncoder,e[B]=FixedVectorEncoder_1.FixedVectorEncoder,e[b]=FixedVectorEncoder_1.FixedVectorEncoder,e}();exports.FieldEncoderMap=FieldEncoderMap;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var model_1=require(\"../../model\"),FieldSequence=function(){var e,d;this[1]=((e={})[model_1.Segment.CORE]=[model_1.Fields.version,model_1.Fields.created,model_1.Fields.lastUpdated,model_1.Fields.cmpId,model_1.Fields.cmpVersion,model_1.Fields.consentScreen,model_1.Fields.consentLanguage,model_1.Fields.vendorListVersion,model_1.Fields.purposeConsents,model_1.Fields.vendorConsents],e),this[2]=((d={})[model_1.Segment.CORE]=[model_1.Fields.version,model_1.Fields.created,model_1.Fields.lastUpdated,model_1.Fields.cmpId,model_1.Fields.cmpVersion,model_1.Fields.consentScreen,model_1.Fields.consentLanguage,model_1.Fields.vendorListVersion,model_1.Fields.policyVersion,model_1.Fields.isServiceSpecific,model_1.Fields.useNonStandardStacks,model_1.Fields.specialFeatureOptins,model_1.Fields.purposeConsents,model_1.Fields.purposeLegitimateInterests,model_1.Fields.purposeOneTreatment,model_1.Fields.publisherCountryCode,model_1.Fields.vendorConsents,model_1.Fields.vendorLegitimateInterests,model_1.Fields.publisherRestrictions],d[model_1.Segment.PUBLISHER_TC]=[model_1.Fields.publisherConsents,model_1.Fields.publisherLegitimateInterests,model_1.Fields.numCustomPurposes,model_1.Fields.publisherCustomConsents,model_1.Fields.publisherCustomLegitimateInterests],d[model_1.Segment.VENDORS_ALLOWED]=[model_1.Fields.vendorsAllowed],d[model_1.Segment.VENDORS_DISCLOSED]=[model_1.Fields.vendorsDisclosed],d)};exports.FieldSequence=FieldSequence;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var model_1=require(\"../../model\"),SegmentSequence=function(e,s){if(this[1]=[model_1.Segment.CORE],this[2]=[model_1.Segment.CORE],2===e.version)if(e.isServiceSpecific)this[2].push(model_1.Segment.PUBLISHER_TC);else{var t=!(!s||!s.isForVendors);t&&!0!==e[model_1.Fields.supportOOB]||this[2].push(model_1.Segment.VENDORS_DISCLOSED),t&&(e[model_1.Fields.supportOOB]&&e[model_1.Fields.vendorsAllowed].size>0&&this[2].push(model_1.Segment.VENDORS_ALLOWED),this[2].push(model_1.Segment.PUBLISHER_TC))}};exports.SegmentSequence=SegmentSequence;","\"use strict\";var __values=this&&this.__values||function(e){var r=\"function\"==typeof Symbol&&Symbol.iterator,o=r&&e[r],t=0;if(o)return o.call(e);if(e&&\"number\"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw new TypeError(r?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")},__read=this&&this.__read||function(e,r){var o=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var t,n,i=o.call(e),s=[];try{for(;(void 0===r||r-- >0)&&!(t=i.next()).done;)s.push(t.value)}catch(e){n={error:e}}finally{try{t&&!t.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}return s};Object.defineProperty(exports,\"__esModule\",{value:!0});var errors_1=require(\"../errors\"),model_1=require(\"../model\"),SemanticPreEncoder=function(){function e(){}return e.process=function(e,r){var o,t,n=e.gvl;if(!n)throw new errors_1.EncodingError(\"Unable to encode TCModel without a GVL\");if(!n.isReady)throw new errors_1.EncodingError(\"Unable to encode TCModel tcModel.gvl.readyPromise is not resolved\");(e=e.clone()).consentLanguage=n.language.toUpperCase(),(null===(o=r)||void 0===o?void 0:o.version)>0&&(null===(t=r)||void 0===t?void 0:t.version)<=this.processor.length?e.version=r.version:e.version=this.processor.length;var i=e.version-1;if(!this.processor[i])throw new errors_1.EncodingError(\"Invalid version: \"+e.version);return this.processor[i](e,n)},e.processor=[function(e){return e},function(e,r){var o,t,n,i;e.publisherRestrictions.gvl=r,e.purposeLegitimateInterests.unset(1);var s=new Map;s.set(\"legIntPurposes\",e.vendorLegitimateInterests),s.set(\"purposes\",e.vendorConsents);try{for(var l=__values(s),a=l.next();!a.done;a=l.next()){var u=__read(a.value,2),c=u[0],v=u[1];try{for(var d=(n=void 0,__values(v.values())),f=d.next();!f.done;f=d.next()){var p=f.value,h=r.vendors[p];if(!h||h.deletedDate)v.unset(p);else if(0===h[c].length)if(e.isServiceSpecific)if(0===h.flexiblePurposes.length)v.unset(p);else{for(var y=e.publisherRestrictions.getRestrictions(p),_=!1,g=0,m=y.length;g0)&&!(n=a.next()).done;)i.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(e=a.return)&&e.call(a)}finally{if(o)throw o.error}}return i},__spread=this&&this.__spread||function(){for(var t=[],r=0;r0){var e=t.getMaxVendorId();t.getRestrictions().forEach((function(t){r[t.purposeId.toString()]=\"_\".repeat(e)}));for(var n=function(e){var n=e+1;t.getRestrictions(n).forEach((function(t){var n=t.restrictionType.toString(),o=t.purposeId.toString(),a=r[o].substr(0,e),i=r[o].substr(e+1);r[o]=a+n+i}))},o=0;o=i))throw new Error(\"Invalid \"+p+\": \"+e)},e.prototype.update=function(e,p,i){if(void 0===p&&(p=!1),void 0===i&&(i=\"\"),CmpApiModel_1.CmpApiModel.disabled)throw new Error(\"CmpApi Disabled\");CmpApiModel_1.CmpApiModel.cmpStatus=status_1.CmpStatus.LOADED,p?(CmpApiModel_1.CmpApiModel.displayStatus=status_1.DisplayStatus.VISIBLE,CmpApiModel_1.CmpApiModel.eventStatus=status_1.EventStatus.CMP_UI_SHOWN):void 0===CmpApiModel_1.CmpApiModel.tcModel?(CmpApiModel_1.CmpApiModel.displayStatus=status_1.DisplayStatus.DISABLED,CmpApiModel_1.CmpApiModel.eventStatus=status_1.EventStatus.TC_LOADED):(CmpApiModel_1.CmpApiModel.displayStatus=status_1.DisplayStatus.HIDDEN,CmpApiModel_1.CmpApiModel.eventStatus=status_1.EventStatus.USER_ACTION_COMPLETE),CmpApiModel_1.CmpApiModel.gdprApplies=null!==e,CmpApiModel_1.CmpApiModel.gdprApplies?(\"\"===e?(CmpApiModel_1.CmpApiModel.tcModel=new tcf_core_1.TCModel,CmpApiModel_1.CmpApiModel.tcModel.cmpId=CmpApiModel_1.CmpApiModel.cmpId,CmpApiModel_1.CmpApiModel.tcModel.cmpVersion=CmpApiModel_1.CmpApiModel.cmpVersion):CmpApiModel_1.CmpApiModel.tcModel=tcf_core_1.TCString.decode(e),CmpApiModel_1.CmpApiModel.tcModel.isServiceSpecific=this.isServiceSpecific,CmpApiModel_1.CmpApiModel.tcfPolicyVersion=+CmpApiModel_1.CmpApiModel.tcModel.policyVersion,CmpApiModel_1.CmpApiModel.tcString=e,ACMModel_1.ACMModel.addtlConsent=i):CmpApiModel_1.CmpApiModel.tcModel=null,0===this.numUpdates?this.callResponder.purgeQueuedCalls():CmpApiModel_1.CmpApiModel.eventQueue.exec(),this.numUpdates++},e.prototype.disable=function(){CmpApiModel_1.CmpApiModel.disabled=!0,CmpApiModel_1.CmpApiModel.cmpStatus=status_1.CmpStatus.ERROR},e}();exports.CmpApi=CmpApi;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var PingCommand_1=require(\"./PingCommand\"),GetTCDataCommand_1=require(\"./GetTCDataCommand\"),GetInAppTCDataCommand_1=require(\"./GetInAppTCDataCommand\"),GetVendorListCommand_1=require(\"./GetVendorListCommand\"),AddEventListenerCommand_1=require(\"./AddEventListenerCommand\"),RemoveEventListenerCommand_1=require(\"./RemoveEventListenerCommand\"),TCFCommand_1=require(\"./TCFCommand\"),CommandMap=function(){function m(){}var n,e,C,a,d,o;return n=TCFCommand_1.TCFCommand.PING,e=TCFCommand_1.TCFCommand.GET_TC_DATA,C=TCFCommand_1.TCFCommand.GET_IN_APP_TC_DATA,a=TCFCommand_1.TCFCommand.GET_VENDOR_LIST,d=TCFCommand_1.TCFCommand.ADD_EVENT_LISTENER,o=TCFCommand_1.TCFCommand.REMOVE_EVENT_LISTENER,m[n]=PingCommand_1.PingCommand,m[e]=GetTCDataCommand_1.GetTCDataCommand,m[C]=GetInAppTCDataCommand_1.GetInAppTCDataCommand,m[a]=GetVendorListCommand_1.GetVendorListCommand,m[d]=AddEventListenerCommand_1.AddEventListenerCommand,m[o]=RemoveEventListenerCommand_1.RemoveEventListenerCommand,m}();exports.CommandMap=CommandMap;","\"use strict\";var __extends=this&&this.__extends||function(){var n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var e in t)t.hasOwnProperty(e)&&(n[e]=t[e])})(t,e)};return function(t,e){function o(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var response_1=require(\"../response\"),Command_1=require(\"./Command\"),PingCommand=function(n){function t(){return null!==n&&n.apply(this,arguments)||this}return __extends(t,n),t.prototype.respond=function(){this.invokeCallback(new response_1.Ping)},t}(Command_1.Command);exports.PingCommand=PingCommand;","\"use strict\";var __extends=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var GetTCDataCommand_1=require(\"./GetTCDataCommand\"),response_1=require(\"../response\"),GetInAppTCDataCommand=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.respond=function(){this.throwIfParamInvalid(),this.invokeCallback(new response_1.InAppTCData(this.param))},e}(GetTCDataCommand_1.GetTCDataCommand);exports.GetInAppTCDataCommand=GetInAppTCDataCommand;","\"use strict\";var __extends=this&&this.__extends||function(){var t=function(e,o){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o])})(e,o)};return function(e,o){function r(){this.constructor=e}t(e,o),e.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var CmpApiModel_1=require(\"../CmpApiModel\"),Command_1=require(\"./Command\"),tcf_core_1=require(\"@mol-ads/tcf-core\"),GetVendorListCommand=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.respond=function(){var t,e=this,o=CmpApiModel_1.CmpApiModel.tcModel,r=o.vendorListVersion;void 0===this.param&&(this.param=r),(t=this.param===r&&o.gvl?o.gvl:new tcf_core_1.GVL(this.param)).readyPromise.then((function(){e.invokeCallback(t.getJson())}))},e}(Command_1.Command);exports.GetVendorListCommand=GetVendorListCommand;","\"use strict\";var __extends=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var CmpApiModel_1=require(\"../CmpApiModel\"),GetTCDataCommand_1=require(\"./GetTCDataCommand\"),AddEventListenerCommand=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.respond=function(){this.listenerId=CmpApiModel_1.CmpApiModel.eventQueue.add({callback:this.callback,param:this.param,next:this.next}),t.prototype.respond.call(this)},e}(GetTCDataCommand_1.GetTCDataCommand);exports.AddEventListenerCommand=AddEventListenerCommand;","\"use strict\";var __extends=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function o(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();Object.defineProperty(exports,\"__esModule\",{value:!0});var CmpApiModel_1=require(\"../CmpApiModel\"),Command_1=require(\"./Command\"),RemoveEventListenerCommand=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),t.prototype.respond=function(){this.invokeCallback(CmpApiModel_1.CmpApiModel.eventQueue.remove(this.param))},t}(Command_1.Command);exports.RemoveEventListenerCommand=RemoveEventListenerCommand;","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var SupportedVersions=function(){function e(){}return e.has=function(e){return\"string\"==typeof e&&(e=+e),this.set_.has(e)},e.set_=new Set([0,2,void 0,null]),e}();exports.SupportedVersions=SupportedVersions;","var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global)\n\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this)\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : ''\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n })\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n","const target = window\n\nexport class Broker {\n constructor (ns, sender = 'app', id) {\n this.ns = ns\n this.id = id && String(id) || Math.random().toString(36).substring(2)\n this.sender = sender\n }\n\n emit (action, payload = {}) {\n const message = {\n ns: this.ns,\n id: this.id,\n sender: this.sender,\n action,\n payload\n }\n\n target.postMessage(message, '*')\n }\n\n on (action, cb) {\n const handleMessage = (event) => {\n const data = event.data\n if (data.ns === this.ns && data.id === this.id && data.action === action && data.sender !== this.sender) {\n cb(data.payload, action)\n }\n }\n\n target.addEventListener('message', handleMessage)\n\n return () => target.removeEventListener('message', handleMessage)\n }\n\n once (action, cb) {\n const cancel = this.on(action, () => {\n cb()\n cancel()\n })\n }\n}\n","import { Vector } from '@iabtcf/core'\n\nfunction userPreferenceModel (model) {\n const setIfConsented = (id) => (obj, [key, vector]) => {\n if (vector.has(id)) {\n obj[key] = true\n }\n return obj\n }\n const vectorToPrefArr = vector => {\n const pref = []\n vector.forEach((state, index) => {\n if (state) {\n pref.push(index)\n }\n })\n return pref\n }\n\n const consentedIds = obj => Array.from(new Set(Object.values(obj).map(vectorToPrefArr).flat()))\n\n // preferences keys: consents, legInterest, optIn\n const idsForUserPreference = preferences => {\n const ids = consentedIds(preferences)\n return ids.reduce((acc, id) => {\n acc[id] = Object.entries(preferences).reduce(setIfConsented(id), {})\n return acc\n }, {})\n }\n\n // key: vendors, purposes, specialFeatures\n return Object.entries(model).reduce((acc, [key, preferences]) => {\n acc[key] = idsForUserPreference(preferences)\n return acc\n }, {})\n}\n\nconst userPreferenceVectors = ({ vendorConsents, vendorLegitimateInterests, purposeConsents, purposeLegitimateInterests, specialFeatureOptins }) => {\n return {\n vendors: {\n consent: vendorConsents,\n legInterest: vendorLegitimateInterests\n },\n purposes: {\n consent: purposeConsents,\n legInterest: purposeLegitimateInterests\n },\n specialFeatures: {\n optIn: specialFeatureOptins\n }\n }\n}\n\nfunction legitimateInterestPreferences (tcModel, hasUserSelectedTheirPreference) {\n const defaultLegitimateInterests = () => {\n const purposeLegitimateInterests = new Vector()\n purposeLegitimateInterests.setAll(tcModel.gvl.purposes)\n const vendorLegitimateInterests = new Vector()\n vendorLegitimateInterests.setAll(tcModel.gvl.vendors)\n return { vendorLegitimateInterests, purposeLegitimateInterests }\n }\n\n const userSelectedLegitimateInterests = () => ({\n purposeLegitimateInterests: tcModel.purposeLegitimateInterests,\n vendorLegitimateInterests: tcModel.vendorLegitimateInterests\n })\n\n return hasUserSelectedTheirPreference ? userSelectedLegitimateInterests() : defaultLegitimateInterests()\n}\n\nexport default function (cmpModel) {\n const { vendorConsents, purposeConsents, specialFeatureOptins } = cmpModel.tcModel\n const { vendorLegitimateInterests, purposeLegitimateInterests } = legitimateInterestPreferences(cmpModel.tcModel, cmpModel.hasUserSelectedTheirPreference)\n const userPrefs = userPreferenceModel(userPreferenceVectors({\n vendorConsents,\n vendorLegitimateInterests,\n purposeConsents,\n purposeLegitimateInterests,\n specialFeatureOptins\n }))\n return userPrefs\n}\n","export default [\n {\n type: 'purposes',\n id: 1\n },\n {\n type: 'stacks',\n id: 42\n }\n]\n","import { createLog } from '../utils/logger'\nimport { Broker } from '../utils/broker'\nimport createUserPreference from './user-preference'\nimport displayPurposes from './display-purposes'\nimport pick from 'lodash.pick'\n\nconst log = createLog()\n\nconst uiNamespace = '@mol-fe/mol-fe-cmp'\n\nfunction loadScript (uiScriptBase, appState) {\n log('loadScript', appState)\n const script = (src) => {\n const script = document.createElement('script')\n script.dataset.state = JSON.stringify(appState)\n script.src = src\n script.id = 'mol-fe-cmp-script'\n return script\n }\n\n const src = uiScriptBase\n document.body.appendChild(script(src))\n}\n\nfunction uiHandlers (broker, clientBroker, cmpUpdateHandlers, removeStorageListener) {\n const handler = h => (...args) => {\n if (removeStorageListener) {\n removeStorageListener()\n removeStorageListener = null\n }\n h(...args)\n }\n\n broker.on('close', handler(data => { cmpUpdateHandlers.updateConsent(data) }))\n broker.on('close:allow_all', handler(() => { cmpUpdateHandlers.consentToAll() }))\n broker.on('close:deny_all', handler(() => { cmpUpdateHandlers.dissentToAll() }))\n broker.on('level_changed', data => {\n log('level_changed', data)\n cmpUpdateHandlers.levelChanged(data)\n clientBroker.emit('level_changed', data)\n })\n}\n\nfunction removeVendors (vendors) {\n const consentableVendors = Object.values(vendors).filter(vendor => {\n const consentable = vendor.purposes.length !== 0 || vendor.legIntPurposes.length !== 0\n !consentable && log('removing', vendor.id, vendor.name)\n return consentable\n })\n return consentableVendors.reduce((acc, vendor) => {\n acc[vendor.id] = vendor\n return acc\n }, {})\n}\n\nfunction handleExternalPreferenceUpdate (broker, reloadTcModel) {\n const handler = ({ key, newValue }) => {\n if (key !== 'mol.ads.cmp.tcf.client') return\n remove()\n const tcString = newValue\n try {\n reloadTcModel(tcString)\n broker.emit('close')\n } catch (error) {\n console.error(error)\n }\n }\n\n window.addEventListener('storage', handler)\n\n const remove = () => {\n window.removeEventListener('storage', handler)\n }\n return remove\n}\n\nexport default class Ui {\n constructor ({ brand, uiScriptUrl, renderPlatform, uiLevel, clientBroker }) {\n this.scriptLoaded = false\n this.brand = brand\n this.uiScriptUrl = uiScriptUrl\n this.renderPlatform = renderPlatform\n this.uiLevel = uiLevel\n this.clientBroker = clientBroker\n this.brokerId = Math.random().toString(36).substring(2)\n this.broker = new Broker(uiNamespace, '@mol-ads/mol-ads-tcf', this.brokerId)\n this.open = this.open.bind(this)\n }\n\n createModel (currentLevel, cmpModel) {\n const gvl = cmpModel.tcModel.gvl\n const { purposes, specialPurposes, features, specialFeatures } = gvl\n const stacks = pick(gvl.stacks, [42])\n const vendors = removeVendors(gvl.vendors)\n const userPrefs = createUserPreference(cmpModel)\n const nonTcfVendors = cmpModel.customVendors.cvl\n userPrefs.nonTcfVendors = cmpModel.customVendors.consents || {}\n return {\n config: {\n hash: {\n purposes,\n specialPurposes,\n features,\n specialFeatures,\n vendors,\n stacks,\n nonTcfVendors\n },\n userPrefs,\n displayPurposes\n },\n currentLevel: currentLevel || this.uiLevel\n }\n }\n\n open (uiLevel, { cmpModel, cmpUpdateHandlers }) {\n const model = this.createModel(uiLevel, cmpModel)\n log('open', model)\n if (!this.scriptLoaded) {\n const removeStorageListener = handleExternalPreferenceUpdate(this.broker, cmpUpdateHandlers.reloadTcModel)\n uiHandlers(this.broker, this.clientBroker, cmpUpdateHandlers, removeStorageListener)\n loadScript(this.uiScriptUrl, {\n ...model,\n renderPlatform: this.renderPlatform,\n brand: this.brand,\n site: this.site,\n id: this.brokerId\n })\n this.scriptLoaded = true\n } else {\n this.broker.emit('open', model)\n }\n }\n}\n","export default function clientApi (broker, cmp) {\n broker.on('open', ({ uiLevel, uuid }) => {\n if (uuid) {\n cmp.setUuid(uuid)\n }\n cmp.openUi(uiLevel)\n })\n\n broker.on('dissentUserToAll', () => {\n cmp.dissentToAll()\n })\n}\n","import { createLog, debugEnabled } from './utils/logger'\n\nconst log = createLog()\n\nconst onContentLoaded = handler => {\n if (['complete', 'loaded', 'interactive'].includes(document.readyState)) {\n handler()\n } else {\n document.addEventListener('DOMContentLoaded', handler)\n }\n}\n\nexport default async function loadStorage (broker, brokerId, scriptBase) {\n return new Promise((resolve, reject) => {\n const path = `${scriptBase}/storage/index.html`\n const srcPath = debugEnabled ? `${path}?adsDebug=tcfv2` : path\n const iframe = document.createElement('iframe')\n iframe.style.display = 'none'\n iframe.title = 'TCFV2 Storage'\n iframe.src = `${srcPath}#brokerId=${brokerId}`\n iframe.dataset.brokerId = brokerId\n\n const onLoad = async () => {\n log('loaded')\n const { contentWindow } = iframe\n\n iframe.removeEventListener('load', onLoad)\n\n if (!contentWindow) {\n reject(new Error('Couldn\\'t successfully create CMP'))\n }\n }\n\n iframe.addEventListener('load', onLoad)\n iframe.addEventListener('error', reject)\n\n broker.on('storageLoaded', data => {\n log('storage', data)\n if (!data.canStoreUserPreference) {\n const parent = iframe.parentNode\n if (parent) {\n log('unloading iframe')\n parent.removeChild(iframe)\n }\n resolve({ tcData: data.tcData, customVendors: data.customVendors })\n return\n }\n resolve({ iframe, tcData: data.tcData, customVendors: data.customVendors })\n })\n\n onContentLoaded(() => document.body.appendChild(iframe))\n })\n}\n","const CUSTOM_VENDORS_ENCODING_VERSION = 1\n\nexport const encodeCustomVendorsConsents = customVendorsConsents => {\n const packed = Object.entries(customVendorsConsents)\n .map(([id, { consent }]) => [parseInt(id), consent])\n .reduce((acc, [id, consent]) => {\n (acc[consent] = acc[consent] || []).push(id)\n return acc\n }, {})\n return JSON.stringify({\n v: CUSTOM_VENDORS_ENCODING_VERSION,\n packed\n })\n}\n\nexport const decodeCustomVendorsConsents = encoded => {\n const parsed = JSON.parse(encoded)\n const { v } = parsed\n if (v > CUSTOM_VENDORS_ENCODING_VERSION) {\n throw new Error(`Cannot decode version \"${v}, highest known is \"${CUSTOM_VENDORS_ENCODING_VERSION}\"`)\n }\n const { packed } = parsed\n return Object.entries(packed)\n .reduce((acc, [consent, ids]) => {\n return ids.reduce((acc, id) => ({\n ...acc,\n [id]: { consent: consent === 'true' }\n }), acc)\n }, {})\n}\n","import { createLog } from '../utils/logger'\nimport { encodeCustomVendorsConsents } from './customVendorsEncoding'\n\nconst log = createLog('tcfv2')\n\nclass TimeoutError extends Error {\n constructor (ms) {\n super(`Exceeded ${ms}`)\n }\n}\n\nconst timeout = ms =>\n new Promise(resolve => setTimeout(resolve, ms))\n\nconst errorAfter = async (ms, error = new TimeoutError(ms)) => {\n await timeout(ms)\n throw error\n}\n\nconst raceWithin = (ms, promise, error) =>\n Promise.race([promise, errorAfter(ms, error)])\n\nconst repeatUntil = (predicate, interval = 10, timeout = Number.MAX_SAFE_INTEGER) => new Promise((resolve, reject) => {\n const start = Date.now()\n const check = async () => {\n const result = await predicate()\n if (!result) {\n if (Date.now() - start < timeout) {\n setTimeout(check, interval)\n } else {\n reject(new Error(`Timeout: exceeded ${timeout}ms`))\n }\n } else {\n resolve(result)\n }\n }\n check()\n})\n\nconst request = (opts) => {\n let method = 'GET'\n let url\n let timeout = 3000\n let headers = {}\n let data\n if (typeof opts === 'string') {\n url = opts\n } else {\n ({ method = 'GET', url, timeout = 3000, headers = {}, data } = opts)\n }\n const xhttp = new XMLHttpRequest()\n\n const promise = new Promise((resolve, reject) => {\n xhttp.onreadystatechange = function () {\n if (this.readyState === 4) {\n if (this.status > 199 && this.status < 300) {\n resolve(this.responseText)\n } else {\n reject(new Error(`Error status ${this.status}: ${this.statusText}`))\n }\n }\n }\n xhttp.open(method, url, true)\n Object.entries(headers).forEach(([k, v]) => xhttp.setRequestHeader(k, v))\n if (data) {\n xhttp.send(data)\n } else {\n xhttp.send()\n }\n })\n\n return timeout ? raceWithin(timeout, promise) : promise\n}\n\nexport default class Persist {\n constructor ({ backendUrl, channel, platform, domain }) {\n this.backendUrl = backendUrl\n this.channel = channel\n this.platform = platform\n this.domain = domain || location.host\n this.saveTCString = this.saveTCString.bind(this)\n }\n\n async saveTCString (uuid, tcString, consentDegree, customVendorsConsents) {\n const tryToSend = async (data) => {\n try {\n log('trying to send update to backend. payload:', data)\n await request({\n method: 'POST',\n url: this.backendUrl,\n headers: {\n 'Content-Type': 'application/json'\n },\n data: JSON.stringify(data)\n })\n log('update sent to backend successfully')\n return true\n } catch (e) {\n log('send to backend failed with:', e.message)\n log('send to backend rescheduled 5s')\n }\n }\n const value = {\n version: 0,\n uuid,\n euconsent: tcString,\n consent: consentDegree,\n domain: this.domain,\n platform: this.platform\n }\n if (customVendorsConsents) {\n value.customVendors = encodeCustomVendorsConsents(customVendorsConsents)\n }\n if (this.channel) {\n value.channel = this.channel\n }\n\n await repeatUntil(() => tryToSend(value), 10000)\n }\n}\n","import 'whatwg-fetch'\nimport { Broker } from './utils/broker'\nimport { createCmp } from './cmp/Cmp'\nimport Ui from './ui/Ui'\nimport { createLog } from './utils/logger'\nimport clientApi from './clientApi'\nimport { TCString } from '@iabtcf/core'\nimport loadStorageIframe from './storage-iframe'\nimport Persist from './persist/Persist'\n\n// https://vendorlist.consensu.org/v2/vendor-list.json\n\nconst log = createLog()\n\nasync function loadCmp (gvlJson, cvlJson, tcString, storeTcString, customVendorConsents, persist, persistCustomVendors, ui, uuid, gvlVersion, gvlUiVersion) {\n const cmp = await createCmp({ gvlJson, cvlJson, tcString, storeTcString, customVendorConsents, persist, persistCustomVendors, ui, uuid, gvlVersion, gvlUiVersion })\n return { cmp }\n}\n\nfunction createUi (broker, config) {\n const { uiLevel, renderPlatform, brand, uiScriptUrl } = config\n // TODO: this should be uiBroker not clientBroker\n return new Ui({ uiLevel, renderPlatform, brand, uiScriptUrl, clientBroker: broker })\n}\n\nfunction getConfig () {\n const scriptTag = document.getElementById('mol-ads-tcfv2-script')\n const config = JSON.parse(scriptTag.dataset.opts || {})\n log('config', config)\n return config\n}\n\nfunction chooseTcString (stringFromClient, stringFromStorage) {\n log('clientString', stringFromClient)\n log('storedString', stringFromStorage)\n const selectString = () => {\n const stored = TCString.decode(stringFromStorage).lastUpdated\n const client = TCString.decode(stringFromClient).lastUpdated\n log('stored', stored)\n log('client', client)\n return stored > client ? stringFromStorage : stringFromClient\n }\n\n return stringFromClient && stringFromStorage ? selectString() : stringFromClient || stringFromStorage\n}\n\nfunction chooseCustomVendorsConsents (customVendorsConsentsFromClient, customVendorsConsentsFromStorage) {\n const isEmpty = obj => !Object.keys(obj).length\n // date??\n const clientConsents = customVendorsConsentsFromClient && customVendorsConsentsFromClient.consents || {}\n const storageConsents = customVendorsConsentsFromStorage && customVendorsConsentsFromStorage.consents || {}\n return isEmpty(clientConsents) ? storageConsents : clientConsents\n}\n\nasync function fetchVendor (url) {\n const response = await fetch(url)\n return response.json()\n}\nasync function fetchVendorData (gvlVersion, cvlVersion = '0.0.1') {\n const gvlUrl = `//cmp.dmgmediaprivacy.co.uk/gvl/${gvlVersion}/vendor-list.json`\n const cvlUrl = `//cmp.dmgmediaprivacy.co.uk/custom/${cvlVersion}/vendor-list.json`\n return Promise.all([fetchVendor(gvlUrl), fetchVendor(cvlUrl)])\n}\n\nasync function launch (broker, config) {\n let { tcData, iframe, customVendors } = !!config.storeUserPreference && await loadStorageIframe(broker, config.brokerId, config.controllerScriptBase)\n if (!customVendors && config.customVendors && config.customVendors.consents) {\n log('custom vendors not found in store, using provided by site')\n customVendors = config.customVendors\n }\n const tcString = chooseTcString(config.tcString, tcData && tcData.tcString)\n const customVendorsConsents = chooseCustomVendorsConsents(config.customVendors, customVendors)\n const [gvlJson, cvlJson] = await fetchVendorData(config.gvlVersion, config.cvlVersion)\n log('json', gvlJson, cvlJson, customVendorsConsents)\n const persist = new Persist({ backendUrl: config.backendUrl, channel: config.channel, platform: config.platform || config.renderPlatform, domain: config.domain })\n const ui = createUi(broker, config)\n const { cmp } = await loadCmp(gvlJson, cvlJson, tcString, config.storeUserPreference, customVendorsConsents, persist, config.persistCustomVendors, ui, config.uuid, config.gvlVersion, config.gvlUiVersion)\n log(`${tcString ? 'Existing' : 'New'} User`, cmp.tcModel)\n const showUi = (config.showUi === 'true' || config.showUi === true)\n broker.emit('is_loaded')\n const message = {\n ns: '@mol-ads/mol-ads-cmp',\n id: config.brokerId,\n sender: 'mol-ads/mol-ads-cmp',\n action: 'is_loaded'\n }\n if (iframe) {\n iframe.contentWindow.postMessage(message, '*')\n }\n\n await cmp.isReady()\n clientApi(broker, cmp)\n if (showUi) {\n cmp.openUi(config.uiLevel)\n } else {\n cmp.notifyUsersPreferences()\n }\n broker.emit('is_ready')\n}\n\nsetTimeout(() => {\n const config = getConfig()\n const broker = new Broker('@mol-ads/mol-ads-cmp', 'mol-ads-cmp', config.brokerId)\n launch(broker, config)\n}, 10)\n"],"sourceRoot":""}