{"version":3,"sources":["webpack://cloudinary/webpack/universalModuleDefinition","webpack://cloudinary/webpack/bootstrap","webpack://cloudinary/./src/utf8_encode.js","webpack://cloudinary/./src/crc32.js","webpack://cloudinary/./src/util/baseutil.js","webpack://cloudinary/./src/util/jquery.js","webpack://cloudinary/./src/expression.js","webpack://cloudinary/./src/condition.js","webpack://cloudinary/./src/configuration.js","webpack://cloudinary/./src/layer/layer.js","webpack://cloudinary/./src/layer/textlayer.js","webpack://cloudinary/./src/layer/subtitleslayer.js","webpack://cloudinary/./src/layer/fetchlayer.js","webpack://cloudinary/./src/parameters.js","webpack://cloudinary/./src/transformation.js","webpack://cloudinary/./src/tags/htmltag.js","webpack://cloudinary/./src/constants.js","webpack://cloudinary/./src/url.js","webpack://cloudinary/./src/util/generateBreakpoints.js","webpack://cloudinary/./src/util/srcsetUtils.js","webpack://cloudinary/./src/tags/imagetag.js","webpack://cloudinary/./src/tags/sourcetag.js","webpack://cloudinary/./src/tags/picturetag.js","webpack://cloudinary/./src/tags/videotag.js","webpack://cloudinary/./src/tags/clienthintsmetatag.js","webpack://cloudinary/./src/cloudinary.js","webpack://cloudinary/./src/util/firstNotNull.js","webpack://cloudinary/./src/cloudinaryjquery.js","webpack://cloudinary/./src/jquery-file-upload.js","webpack://cloudinary/./src/namespace/cloudinary-jquery-file-upload.js"],"names":["utf8_encode","argString","c1","enc","end","n","start","string","stringl","utftext","length","charCodeAt","String","fromCharCode","slice","crc32","str","crc","i","iTop","table","x","y","substr","omit","obj","keys","srcKeys","Object","filter","key","contains","filtered","forEach","allStrings","list","every","isString","without","array","item","v","isNumberLike","value","isNaN","parseFloat","smartEscape","unsafe","replace","match","split","map","c","toString","toUpperCase","join","defaults","destination","sources","reduce","dest","source","objectProto","prototype","objToString","isObject","type","funcTag","isFunction","call","reWords","lower","upper","RegExp","camelCase","words","word","charAt","toLocaleUpperCase","toLocaleLowerCase","snakeCase","convertKeys","converter","result","isEmpty","withCamelCaseKeys","withSnakeCaseKeys","base64Encode","btoa","Buffer","input","from","Error","base64EncodeURL","url","decodeURI","encodeURI","URL_KEYS","extractUrlParams","options","patchFetchFormat","fetch_format","optionConsume","option_name","default_value","size","hasOwnProperty","getData","element","name","jQuery","data","setData","getAttribute","attr","setAttribute","removeAttribute","removeAttr","setAttributes","attributes","hasClass","addClass","width","merge","args","j","len","results","arguments","push","apply","unshift","extend","compact","arr","cloneDeep","makeArray","difference","values","functions","object","identity","isArray","assign","isPlainObject","trim","Expression","expressionStr","expressions","normalize","serialize","parent","operator","OPERATORS","getParent","predicate","expression","operators","pattern","replaceRE","PREDEFINED_VARS","BOUNDRY","Condition","conditionStr","Configuration","configuration","DEFAULT_CONFIGURATION_PARAMS","fromEnvironment","fromDocument","config","el","meta_elements","document","querySelectorAll","cloudinary_url","query","uri","uriRegex","process","env","CLOUDINARY_URL","exec","k","new_config","new_value","set","get","responsive_class","responsive_use_breakpoints","round_dpr","secure","window","location","protocol","CONFIG_PARAMS","Layer","ref","resourceType","publicId","format","getPublicId","components","getFullPublicId","constructor","TextLayer","fontFamily","fontSize","fontWeight","fontStyle","textDecoration","textAlign","stroke","letterSpacing","lineSpacing","fontHinting","fontAntialiasing","text","hasPublicId","hasStyle","re","res","style","textSource","textStyleIdentifier","index","SubtitlesLayer","FetchLayer","Param","shortName","origValue","val","valid","arg","param","video","ArrayParam","sep","arrayValue","flat","t","TransformationParam","joined","Transformation","undefined","origValue1","RangeParam","norm_range_value","modifier","offset","offset_any_pattern","RawParam","LAYER_KEYWORD_PARAMS","LayerParam","layerOptions","test","layer","ExpressionParam","assignNotNull","target","TransformationBase","trans","toOptions","withChain","opt","otherOptions","chained","tr","transformation","setParent","fromOptions","abbr","defaultValue","rawParam","lastArgCallback","rangeParam","arrayParam","transformationParam","layerParam","getValue","remove","temp","VAR_NAME_RE","sort","toPlainObject","hash","chain","names","getOwnPropertyNames","resetTransformations","fromTransformation","clone","other","camelKey","methods","ifParam","paramList","ref1","ref2","ref3","ref4","resultArray","transformationList","transformationString","transformations","variables","vars","processVar","concat","len1","param_separator","trans_separator","attrName","height","PARAM_NAMES","hasLayer","indexOf","toHtml","callback","varArray","processCustomFunction","function_type","norm_color","border","color","dpr","fps","ifVal","trIf","trRest","end_o","start_o","startOffset","endOffset","process_video_params","HtmlTag","attrs","pairs","escapeQuotes","toAttribute","htmlAttributes","toHtmlAttributes","tag","htmlAttrs","openTag","content","closeTag","createElement","responsiveClass","dataSrc","VERSION","CF_SHARED_CDN","OLD_AKAMAI_SHARED_CDN","AKAMAI_SHARED_CDN","SHARED_CDN","DEFAULT_POSTER_OPTIONS","resource_type","DEFAULT_VIDEO_SOURCE_TYPES","SEO_TYPES","DEFAULT_IMAGE_PARAMS","DEFAULT_VIDEO_PARAMS","fallback_content","source_transformation","source_types","DEFAULT_VIDEO_SOURCES","codecs","video_codec","makeUrl","prefix","host","pathname","isUrl","cdnSubdomainNumber","handleSignature","signature","isFormatted","startsWith","endsWith","handlePrefix","cloud_name","cdnPart","subdomain","path","private_cdn","cdn_subdomain","secure_cdn_subdomain","secure_distribution","cname","handleResourceType","url_suffix","use_root_path","shorten","encodePublicId","encodeURIComponent","formatPublicId","decodeURIComponent","error","trust_public_id","validate","handleVersion","isForceVersion","force_version","isVersionExist","version","handleTransformation","preparePublicId","urlString","prepareOptions","generateBreakpoints","srcset","breakpoints","min_width","max_width","max_images","Number","some","stepSize","Math","ceil","max","current","utils","scaledUrl","public_id","configParams","raw_transformation","crop","getOrGenerateBreakpoints","generateSrcsetAttribute","generateSizesAttribute","generateImageResponsiveAttributes","srcsetData","responsiveAttributes","generateSizes","sizes","generateSrcset","srcsetAttr","sizesAttr","generateMediaAttr","mediaQuery","srcsetUrl","ImageTag","srcAttribute","getOptions","srcsetParam","getOption","responsive","client_hints","SourceTag","media","PictureTag","widthList","sourceTransformation","VIDEO_TAG_PARAMS","VideoTag","sourceTypes","poster","fallbackContent","fallback","innerTags","src","createSourceTag","srcType","defaultOptions","hasSourceTags","sourceType","mimeType","videoType","codecsStr","ClientHintsMetaTag","applyBreakpoints","closestAbove","defaultBreakpoints","findContainerWidth","maxWidth","updateDpr","steps","resizing","calc_breakpoint","containerWidth","parentNode","Element","getComputedStyle","display","roundDpr","device_pixel_ratio","requiredWidth","imageWidth","Cloudinary","devicePixelRatioCache","responsiveConfig","responsiveResizeInitialized","newConfig","newValue","init","constants","img","imageTag","setAttr","toDOM","cloudinary_update","image","videoTag","bootstrap","responsiveResize","timeout","addEventListener","debounce","reset","run","wait","waitFunc","clearTimeout","setTimeout","point","parseInt","a","b","devicePixelRatio","dprString","nodes","images","node","tagName","imgOptions","elements","Array","setUrl","isResponsive","responsive_preserve_height","firstNotNull","next","shift","webp","CloudinaryJQuery","responsive_resize","on","responsive_debounce","fn","cloudinary","each","img_options","toArray","webpify","webp_options","that","webp_canary","Deferred","Image","onerror","reject","onload","resolve","done","fail","fetchify","delete_by_token","delete_token","dataType","support","xhrFileUpload","ajax","method","token","headers","unsigned_upload_tag","upload_preset","upload_params","unsigned_cloudinary_upload","cloudinary_fileupload","initializing","upload_url","Util","fileupload","maxFileSize","bind","e","add_field","field","multiple","upload_info","cloudinaryField","form","prop","appendTo","find","trigger","random","cloudinary_upload_url","remote_url","file","files","attrs_to_move","html_options","array_value","formData","cloudinary_field","html"],"mappings":"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","file":"./cloudinary-jquery-file-upload.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cloudinary\"] = factory();\n\telse\n\t\troot[\"cloudinary\"] = factory();\n})(this, function() {\nreturn "," \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 = \"./src/namespace/cloudinary-jquery-file-upload.js\");\n","/**\n * UTF8 encoder\n * @private\n */\nvar utf8_encode;\n\nexport default utf8_encode = function(argString) {\n var c1, enc, end, n, start, string, stringl, utftext;\n // http://kevin.vanzonneveld.net\n // + original by: Webtoolkit.info (http://www.webtoolkit.info/)\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + improved by: sowberry\n // + tweaked by: Jack\n // + bugfixed by: Onno Marsman\n // + improved by: Yves Sucaet\n // + bugfixed by: Onno Marsman\n // + bugfixed by: Ulrich\n // + bugfixed by: Rafal Kukawski\n // + improved by: kirilloid\n // * example 1: utf8_encode('Kevin van Zonneveld');\n // * returns 1: 'Kevin van Zonneveld'\n if (argString === null || typeof argString === 'undefined') {\n return '';\n }\n string = argString + '';\n // .replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\");\n utftext = '';\n start = void 0;\n end = void 0;\n stringl = 0;\n start = end = 0;\n stringl = string.length;\n n = 0;\n while (n < stringl) {\n c1 = string.charCodeAt(n);\n enc = null;\n if (c1 < 128) {\n end++;\n } else if (c1 > 127 && c1 < 2048) {\n enc = String.fromCharCode(c1 >> 6 | 192, c1 & 63 | 128);\n } else {\n enc = String.fromCharCode(c1 >> 12 | 224, c1 >> 6 & 63 | 128, c1 & 63 | 128);\n }\n if (enc !== null) {\n if (end > start) {\n utftext += string.slice(start, end);\n }\n utftext += enc;\n start = end = n + 1;\n }\n n++;\n }\n if (end > start) {\n utftext += string.slice(start, stringl);\n }\n return utftext;\n};\n","\n\nimport utf8_encode from './utf8_encode';\n\n/**\n * CRC32 calculator\n * Depends on 'utf8_encode'\n * @private\n * @param {string} str - The string to calculate the CRC32 for.\n * @return {number}\n */\nfunction crc32(str) {\n var crc, i, iTop, table, x, y;\n // http://kevin.vanzonneveld.net\n // + original by: Webtoolkit.info (http://www.webtoolkit.info/)\n // + improved by: T0bsn\n // + improved by: http://stackoverflow.com/questions/2647935/javascript-crc32-function-and-php-crc32-not-matching\n // - depends on: utf8_encode\n // * example 1: crc32('Kevin van Zonneveld');\n // * returns 1: 1249991249\n str = utf8_encode(str);\n table = '00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D';\n crc = 0;\n x = 0;\n y = 0;\n crc = crc ^ -1;\n i = 0;\n iTop = str.length;\n while (i < iTop) {\n y = (crc ^ str.charCodeAt(i)) & 0xFF;\n x = '0x' + table.substr(y * 9, 8);\n crc = crc >>> 8 ^ x;\n i++;\n }\n crc = crc ^ -1;\n //convert to unsigned 32-bit int if needed\n if (crc < 0) {\n crc += 4294967296;\n }\n return crc;\n}\n\nexport default crc32;\n","/*\n * Includes common utility methods and shims\n */\nimport {isString} from \"../util\";\nimport {contains} from \"../util\";\n\nexport function omit(obj, keys) {\n obj = obj || {};\n let srcKeys = Object.keys(obj).filter(key => !contains(keys, key));\n let filtered = {};\n srcKeys.forEach(key => filtered[key] = obj[key]);\n return filtered;\n}\n\n/**\n * Return true if all items in list are strings\n * @function Util.allString\n * @param {Array} list - an array of items\n */\nexport var allStrings = function(list) {\n return list.length && list.every(isString);\n};\n\n/**\n* Creates a new array without the given item.\n* @function Util.without\n* @param {Array} array - original array\n* @param {*} item - the item to exclude from the new array\n* @return {Array} a new array made of the original array's items except for `item`\n */\nexport var without = function(array, item) {\n return array.filter(v=>v!==item);\n};\n\n/**\n* Return true is value is a number or a string representation of a number.\n* @function Util.isNumberLike\n* @param {*} value\n* @returns {boolean} true if value is a number\n* @example\n* Util.isNumber(0) // true\n* Util.isNumber(\"1.3\") // true\n* Util.isNumber(\"\") // false\n* Util.isNumber(undefined) // false\n */\nexport var isNumberLike = function(value) {\n return (value != null) && !isNaN(parseFloat(value));\n};\n\n/**\n * Escape all characters matching unsafe in the given string\n * @function Util.smartEscape\n * @param {string} string - source string to escape\n * @param {RegExp} unsafe - characters that must be escaped\n * @return {string} escaped string\n */\nexport var smartEscape = function(string, unsafe = /([^a-zA-Z0-9_.\\-\\/:]+)/g) {\n return string.replace(unsafe, function(match) {\n return match.split(\"\").map(function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n }).join(\"\");\n });\n};\n\n/**\n * Assign values from sources if they are not defined in the destination.\n * Once a value is set it does not change\n * @function Util.defaults\n * @param {Object} destination - the object to assign defaults to\n * @param {...Object} source - the source object(s) to assign defaults from\n * @return {Object} destination after it was modified\n */\nexport var defaults = function(destination, ...sources) {\n return sources.reduce(function(dest, source) {\n let key, value;\n for (key in source) {\n value = source[key];\n if (dest[key] === void 0) {\n dest[key] = value;\n }\n }\n return dest;\n }, destination);\n};\n\n/*********** lodash functions */\nexport var objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nexport var objToString = objectProto.toString;\n\n/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\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(1);\n * // => false\n */\nexport var isObject = function(value) {\n var type;\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n type = typeof value;\n return !!value && (type === 'object' || type === 'function');\n};\n\nexport var funcTag = '[object Function]';\n\n/**\n* Checks if `value` is classified as a `Function` object.\n* @function Util.isFunction\n* @param {*} value The value to check.\n* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n* @example\n*\n* function Foo(){};\n* isFunction(Foo);\n* // => true\n*\n* isFunction(/abc/);\n* // => false\n */\nexport var isFunction = function(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) === funcTag;\n};\n\n/*********** lodash functions */\n/** Used to match words to create compound words. */\nexport var reWords = (function() {\n var lower, upper;\n upper = '[A-Z]';\n lower = '[a-z]+';\n return RegExp(upper + '+(?=' + upper + lower + ')|' + upper + '?' + lower + '|' + upper + '+|[0-9]+', 'g');\n})();\n\n/**\n* Convert string to camelCase\n* @function Util.camelCase\n* @param {string} source - the string to convert\n* @return {string} in camelCase format\n */\nexport var camelCase = function(source) {\n var words = source.match(reWords);\n words = words.map(word=> word.charAt(0).toLocaleUpperCase() + word.slice(1).toLocaleLowerCase());\n words[0] = words[0].toLocaleLowerCase();\n\n return words.join('');\n};\n\n/**\n * Convert string to snake_case\n * @function Util.snakeCase\n * @param {string} source - the string to convert\n * @return {string} in snake_case format\n */\nexport var snakeCase = function(source) {\n var words = source.match(reWords);\n words = words.map(word=> word.toLocaleLowerCase());\n return words.join('_');\n};\n\n/**\n * Creates a new object from source, with the keys transformed using the converter.\n * @param {object} source\n * @param {function|null} converter\n * @returns {object}\n */\nexport var convertKeys = function(source, converter) {\n var result, value;\n result = {};\n for (let key in source) {\n value = source[key];\n if(converter) {\n key = converter(key);\n }\n if (!isEmpty(key)) {\n result[key] = value;\n }\n }\n return result;\n};\n\n/**\n * Create a copy of the source object with all keys in camelCase\n * @function Util.withCamelCaseKeys\n * @param {Object} value - the object to copy\n * @return {Object} a new object\n */\nexport var withCamelCaseKeys = function(source) {\n return convertKeys(source, camelCase);\n};\n\n/**\n * Create a copy of the source object with all keys in snake_case\n * @function Util.withSnakeCaseKeys\n * @param {Object} value - the object to copy\n * @return {Object} a new object\n */\nexport var withSnakeCaseKeys = function(source) {\n return convertKeys(source, snakeCase);\n};\n\n// Browser\n// Node.js\nexport var base64Encode = typeof btoa !== 'undefined' && isFunction(btoa) ? btoa : typeof Buffer !== 'undefined' && isFunction(Buffer) ? function(input) {\n if (!(input instanceof Buffer)) {\n input = new Buffer.from(String(input), 'binary');\n }\n return input.toString('base64');\n} : function(input) {\n throw new Error(\"No base64 encoding function found\");\n};\n\n/**\n* Returns the Base64-decoded version of url.
\n* This method delegates to `btoa` if present. Otherwise it tries `Buffer`.\n* @function Util.base64EncodeURL\n* @param {string} url - the url to encode. the value is URIdecoded and then re-encoded before converting to base64 representation\n* @return {string} the base64 representation of the URL\n */\nexport var base64EncodeURL = function(url) {\n try {\n url = decodeURI(url);\n } finally {\n url = encodeURI(url);\n }\n return base64Encode(url);\n};\n\n/**\n * A list of keys used by the url() function.\n * @private\n */\nconst URL_KEYS = [\n 'api_secret',\n 'auth_token',\n 'cdn_subdomain',\n 'cloud_name',\n 'cname',\n 'format',\n 'private_cdn',\n 'resource_type',\n 'secure',\n 'secure_cdn_subdomain',\n 'secure_distribution',\n 'shorten',\n 'sign_url',\n 'ssl_detected',\n 'type',\n 'url_suffix',\n 'use_root_path',\n 'version'\n];\n\n/**\n * Create a new object with only URL parameters\n * @param {object} options The source object\n * @return {Object} An object containing only URL parameters\n */\nexport function extractUrlParams(options) {\n return URL_KEYS.reduce((obj, key) => {\n if (options[key] != null) {\n obj[key] = options[key];\n }\n return obj;\n }, {});\n}\n\n\n/**\n * Handle the format parameter for fetch urls\n * @private\n * @param options url and transformation options. This argument may be changed by the function!\n */\nexport function patchFetchFormat(options) {\n if(options == null) {\n options = {};\n }\n if (options.type === \"fetch\") {\n if (options.fetch_format == null) {\n options.fetch_format = optionConsume(options, \"format\");\n }\n }\n}\n\n/**\n * Deletes `option_name` from `options` and return the value if present.\n * If `options` doesn't contain `option_name` the default value is returned.\n * @param {Object} options a collection\n * @param {String} option_name the name (key) of the desired value\n * @param {*} [default_value] the value to return is option_name is missing\n */\nexport function optionConsume(options, option_name, default_value) {\n let result = options[option_name];\n delete options[option_name];\n if (result != null) {\n return result;\n } else {\n return default_value;\n }\n}\n\n/**\n * Returns true if value is empty:\n *
Possible values:
\n * - `image`
\n * - `video`
\n * - `raw`\n * @param {signature} [options.signature='s--12345678--'] - The signature component of a\n * signed delivery URL of the format: /s--SIGNATURE--/.\n * For details on signatures, see\n * Signatures.\n * @return {string} The media asset URL.\n * @see \n * Available image transformations\n * @see \n * Available video transformations\n */\nexport default function url(publicId, options = {}, config = {}) {\n if (!publicId) {\n return publicId;\n }\n\n options = prepareOptions(options, config);\n publicId = preparePublicId(publicId, options);\n\n const error = validate(options);\n\n if (error) {\n throw error;\n }\n\n return urlString(publicId, options);\n};\n","\n/**\n * Helper function. Gets or populates srcset breakpoints using provided parameters\n * Either the breakpoints or min_width, max_width, max_images must be provided.\n *\n * @private\n * @param {srcset} srcset Options with either `breakpoints` or `min_width`, `max_width`, and `max_images`\n *\n * @return {number[]} Array of breakpoints\n *\n */\nexport default function generateBreakpoints(srcset) {\n let breakpoints = srcset.breakpoints || [];\n if (breakpoints.length) {\n return breakpoints;\n }\n let [min_width, max_width, max_images] = [srcset.min_width, srcset.max_width, srcset.max_images].map(Number);\n if ([min_width, max_width, max_images].some(isNaN)) {\n throw 'Either (min_width, max_width, max_images) ' +\n 'or breakpoints must be provided to the image srcset attribute';\n }\n\n if (min_width > max_width) {\n throw 'min_width must be less than max_width'\n }\n\n if (max_images <= 0) {\n throw 'max_images must be a positive integer';\n } else if (max_images === 1) {\n min_width = max_width;\n }\n\n let stepSize = Math.ceil((max_width - min_width) / Math.max(max_images - 1, 1));\n for (let current = min_width; current < max_width; current += stepSize) {\n breakpoints.push(current);\n }\n breakpoints.push(max_width);\n return breakpoints;\n}\n","import * as utils from '../util';\n\nconst isEmpty = utils.isEmpty;\nimport generateBreakpoints from './generateBreakpoints';\nimport Transformation from '../transformation';\nimport url from '../url';\n\n/**\n * Options used to generate the srcset attribute.\n * @typedef {object} srcset\n * @property {(number[]|string[])} [breakpoints] An array of breakpoints.\n * @property {number} [min_width] Minimal width of the srcset images.\n * @property {number} [max_width] Maximal width of the srcset images.\n * @property {number} [max_images] Number of srcset images to generate.\n * @property {object|string} [transformation] The transformation to use in the srcset urls.\n * @property {boolean} [sizes] Whether to calculate and add the sizes attribute.\n */\n\n/**\n * Helper function. Generates a single srcset item url\n *\n * @private\n * @param {string} public_id Public ID of the resource.\n * @param {number} width Width in pixels of the srcset item.\n * @param {object|string} transformation\n * @param {object} options Additional options.\n *\n * @return {string} Resulting URL of the item\n */\nexport function scaledUrl(public_id, width, transformation, options = {}) {\n let configParams = utils.extractUrlParams(options);\n transformation = transformation || options;\n configParams.raw_transformation = new Transformation([utils.merge({}, transformation), {\n crop: 'scale',\n width: width\n }]).toString();\n\n return url(public_id, configParams);\n}\n\n/**\n * If cache is enabled, get the breakpoints from the cache. If the values were not found in the cache,\n * or cache is not enabled, generate the values.\n * @param {srcset} srcset The srcset configuration parameters\n * @param {string} public_id\n * @param {object} options\n * @return {*|Array}\n */\nexport function getOrGenerateBreakpoints(public_id, srcset = {}, options = {}) {\n return generateBreakpoints(srcset);\n}\n\n/**\n * Helper function. Generates srcset attribute value of the HTML img tag\n * @private\n *\n * @param {string} public_id Public ID of the resource\n * @param {number[]} breakpoints An array of breakpoints (in pixels)\n * @param {object} transformation The transformation\n * @param {object} options Includes html tag options, transformation options\n * @return {string} Resulting srcset attribute value\n */\nexport function generateSrcsetAttribute(public_id, breakpoints, transformation, options) {\n options = utils.cloneDeep(options);\n utils.patchFetchFormat(options);\n return breakpoints.map(width => `${scaledUrl(public_id, width, transformation, options)} ${width}w`).join(', ');\n}\n\n/**\n * Helper function. Generates sizes attribute value of the HTML img tag\n * @private\n * @param {number[]} breakpoints An array of breakpoints.\n * @return {string} Resulting sizes attribute value\n */\nexport function generateSizesAttribute(breakpoints) {\n if (breakpoints == null) {\n return '';\n }\n return breakpoints.map(width => `(max-width: ${width}px) ${width}px`).join(', ');\n}\n\n/**\n * Helper function. Generates srcset and sizes attributes of the image tag\n *\n * Generated attributes are added to attributes argument\n *\n * @private\n * @param {string} publicId The public ID of the resource\n * @param {object} attributes Existing HTML attributes.\n * @param {srcset} srcsetData\n * @param {object} options Additional options.\n *\n * @return array The responsive attributes\n */\nexport function generateImageResponsiveAttributes(publicId, attributes = {}, srcsetData = {}, options = {}) {\n // Create both srcset and sizes here to avoid fetching breakpoints twice\n\n let responsiveAttributes = {};\n if (isEmpty(srcsetData)) {\n return responsiveAttributes;\n }\n\n const generateSizes = (!attributes.sizes && srcsetData.sizes === true);\n\n const generateSrcset = !attributes.srcset;\n if (generateSrcset || generateSizes) {\n let breakpoints = getOrGenerateBreakpoints(publicId, srcsetData, options);\n\n if (generateSrcset) {\n let transformation = srcsetData.transformation;\n let srcsetAttr = generateSrcsetAttribute(publicId, breakpoints, transformation, options);\n if (!isEmpty(srcsetAttr)) {\n responsiveAttributes.srcset = srcsetAttr;\n }\n }\n\n if (generateSizes) {\n let sizesAttr = generateSizesAttribute(breakpoints);\n if (!isEmpty(sizesAttr)) {\n responsiveAttributes.sizes = sizesAttr;\n }\n }\n }\n return responsiveAttributes;\n}\n\n/**\n * Generate a media query\n *\n * @private\n * @param {object} options configuration options\n * @param {number|string} options.min_width\n * @param {number|string} options.max_width\n * @return {string} a media query string\n */\nexport function generateMediaAttr(options) {\n let mediaQuery = [];\n if (options != null) {\n if (options.min_width != null) {\n mediaQuery.push(`(min-width: ${options.min_width}px)`);\n }\n if (options.max_width != null) {\n mediaQuery.push(`(max-width: ${options.max_width}px)`);\n }\n }\n return mediaQuery.join(' and ');\n}\n\nexport const srcsetUrl = scaledUrl;\n","/**\n * Image Tag\n * Depends on 'tags/htmltag', 'cloudinary'\n */\n\nimport HtmlTag from './htmltag';\n\nimport url from '../url';\nimport {isEmpty, isString, merge} from \"../util\";\nimport {generateImageResponsiveAttributes} from \"../util/srcsetUtils\";\n\n/**\n * Creates an HTML (DOM) Image tag using Cloudinary as the source.\n * @constructor ImageTag\n * @extends HtmlTag\n * @param {string} [publicId]\n * @param {Object} [options]\n */\nclass ImageTag extends HtmlTag {\n constructor(publicId, options = {}) {\n super(\"img\", publicId, options);\n }\n\n /** @override */\n closeTag() {\n return \"\";\n }\n\n /** @override */\n attributes() {\n var attr, options, srcAttribute;\n attr = super.attributes() || {};\n options = this.getOptions();\n let srcsetParam = this.getOption('srcset');\n let attributes = this.getOption('attributes') || {};\n\n let responsiveAttributes = {};\n if (isString(srcsetParam)) {\n responsiveAttributes.srcset = srcsetParam\n } else {\n responsiveAttributes = generateImageResponsiveAttributes(this.publicId, attributes, srcsetParam, options);\n }\n if(!isEmpty(responsiveAttributes)) {\n delete options.width;\n delete options.height;\n }\n\n merge(attr, responsiveAttributes);\n srcAttribute = options.responsive && !options.client_hints ? 'data-src' : 'src';\n if (attr[srcAttribute] == null) {\n attr[srcAttribute] = url(this.publicId, this.getOptions());\n }\n return attr;\n }\n\n};\n\nexport default ImageTag;\n","/**\n * Image Tag\n * Depends on 'tags/htmltag', 'cloudinary'\n */\nimport {generateImageResponsiveAttributes, generateMediaAttr} from \"../util/srcsetUtils\";\nimport {merge} from '../util';\nimport url from '../url';\nimport HtmlTag from './htmltag';\n\n/**\n * Creates an HTML (DOM) Image tag using Cloudinary as the source.\n * @constructor SourceTag\n * @extends HtmlTag\n * @param {string} [publicId]\n * @param {Object} [options]\n */\nclass SourceTag extends HtmlTag {\n constructor(publicId, options = {}) {\n super(\"source\", publicId, options);\n }\n\n /** @override */\n closeTag() {\n return \"\";\n }\n\n /** @override */\n attributes() {\n let srcsetParam = this.getOption('srcset');\n let attr = super.attributes() || {};\n let options = this.getOptions();\n merge(attr, generateImageResponsiveAttributes(this.publicId, attr, srcsetParam, options));\n if(!attr.srcset){\n attr.srcset = url(this.publicId, options);\n }\n if(!attr.media && options.media){\n attr.media = generateMediaAttr(options.media);\n }\n\n return attr;\n }\n\n};\n\nexport default SourceTag;\n","import HtmlTag from './htmltag';\nimport ImageTag from './imagetag';\nimport Transformation from '../transformation';\nimport SourceTag from './sourcetag';\nimport {extractUrlParams} from \"../util\";\n\nclass PictureTag extends HtmlTag {\n constructor(publicId, options = {}, sources) {\n super('picture', publicId, options);\n this.widthList = sources;\n }\n\n /** @override */\n content() {\n return this.widthList.map(({min_width, max_width, transformation}) => {\n let options = this.getOptions();\n let sourceTransformation = new Transformation(options);\n sourceTransformation.chain().fromOptions(typeof transformation === 'string' ? {\n raw_transformation: transformation\n } : transformation);\n options = extractUrlParams(options);\n options.media = {min_width, max_width};\n options.transformation = sourceTransformation;\n return new SourceTag(this.publicId, options).toHtml();\n }).join('') +\n new ImageTag(this.publicId, this.getOptions()).toHtml();\n }\n\n /** @override */\n attributes() {\n\n let attr = super.attributes();\n delete attr.width;\n delete attr.height;\n return attr;\n }\n\n /** @override */\n closeTag() {\n return \"\" + this.name + \">\";\n }\n\n};\n\nexport default PictureTag;\n","/**\n * Video Tag\n * Depends on 'tags/htmltag', 'util', 'cloudinary'\n */\n\nimport {\n DEFAULT_VIDEO_PARAMS,\n DEFAULT_IMAGE_PARAMS\n} from '../constants';\n\nimport url from '../url';\n\nimport {\n defaults,\n isPlainObject,\n isArray,\n isEmpty,\n omit\n} from '../util';\n\nimport HtmlTag from './htmltag';\n\n\nconst VIDEO_TAG_PARAMS = ['source_types', 'source_transformation', 'fallback_content', 'poster', 'sources'];\n\nconst DEFAULT_VIDEO_SOURCE_TYPES = ['webm', 'mp4', 'ogv'];\n\nconst DEFAULT_POSTER_OPTIONS = {\n format: 'jpg',\n resource_type: 'video'\n};\n\n/**\n * Creates an HTML (DOM) Video tag using Cloudinary as the source.\n * @constructor VideoTag\n * @extends HtmlTag\n * @param {string} [publicId]\n * @param {Object} [options]\n */\nclass VideoTag extends HtmlTag {\n constructor(publicId, options = {}) {\n options = defaults({}, options, DEFAULT_VIDEO_PARAMS);\n super(\"video\", publicId.replace(/\\.(mp4|ogv|webm)$/, ''), options);\n }\n\n /**\n * Set the transformation to apply on each source\n * @function VideoTag#setSourceTransformation\n * @param {Object} an object with pairs of source type and source transformation\n * @returns {VideoTag} Returns this instance for chaining purposes.\n */\n setSourceTransformation(value) {\n this.transformation().sourceTransformation(value);\n return this;\n }\n\n /**\n * Set the source types to include in the video tag\n * @function VideoTag#setSourceTypes\n * @param {Array