{"version":3,"sources":["webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./src/components/image-dialog.vue?5ce6","webpack:///src/components/image-dialog.vue","webpack:///./src/components/image-dialog.vue?4387","webpack:///./src/components/image-dialog.vue","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/tinycolor2/tinycolor.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./src/components/sync-to-localstorage.js","webpack:///./src/components/rp-message.vue?7a86","webpack:///./src/components/rp-message-format.js","webpack:///src/components/rp-message.vue","webpack:///./src/components/rp-message.vue?554c","webpack:///./src/components/rp-message.vue"],"names":["toInteger","__webpack_require__","defined","module","exports","TO_STRING","that","pos","a","b","s","String","i","l","length","undefined","charCodeAt","charAt","slice","at","S","index","unicode","render","_vm","this","_h","$createElement","_c","_self","directives","name","rawName","value","showImageDialog","isDialogSending","expression","staticClass","on","click","$event","attrs","id","stopPropagation","placeholder","type","domProps","keydown","_k","keyCode","key","sendImage","input","target","composing","imageDialogUrl","_v","_e","src","imageDialogIsValid","imageDialogIsChecking","imageDialogIsWellFormed","disabled","submit","staticRenderFns","image_dialogvue_type_script_lang_js_","props","data","imageDialogId","computed","urlRegex","match","methods","open","msg","_id","url","_this","send","then","catch","watch","_this2","promise_default","resolve","img","document","createElement","addEventListener","setTimeout","result","components_image_dialogvue_type_script_lang_js_","component","Object","componentNormalizer","__webpack_exports__","anObject","global","ignoreCase","multiline","sticky","redefine","hide","fails","wks","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","re","exec","groups","replace","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","apply","arguments","split","KEY","SYMBOL","DELEGATES_TO_SYMBOL","O","DELEGATES_TO_EXEC","execCalled","constructor","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","done","call","strfn","rxfn","prototype","RegExp","string","arg","flags","f","configurable","get","toLength","advanceStringIndex","regExpExec","MATCH","$match","maybeCallNative","fn","res","rx","fullUnicode","lastIndex","A","n","matchStr","regexpFlags","nativeExec","nativeReplace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","reCopy","source","classof","builtinExec","R","TypeError","__WEBPACK_AMD_DEFINE_RESULT__","Math","trimLeft","trimRight","tinyCounter","mathRound","round","mathMin","min","mathMax","max","mathRandom","random","tinycolor","color","opts","rgb","inputToRGB","_originalInput","_r","r","_g","g","_b","_a","_roundA","_format","format","_gradientType","gradientType","_ok","ok","_tc_id","v","stringInputToObject","isValidCSSUnit","rgbToRgb","substr","h","convertToPercentage","hsvToRgb","hslToRgb","hasOwnProperty","boundAlpha","bound01","rgbToHsl","d","hue2rgb","p","q","t","rgbToHsv","floor","mod","rgbToHex","allow3Char","hex","pad2","toString","join","rgbaToHex","allow4Char","convertDecimalToHex","rgbaToArgbHex","desaturate","amount","hsl","toHsl","clamp01","saturate","greyscale","lighten","brighten","toRgb","darken","spin","hue","complement","triad","tetrad","splitcomplement","analogous","results","slices","part","ret","push","monochromatic","hsv","toHsv","modification","isDark","getBrightness","isLight","isValid","getOriginalInput","getFormat","getAlpha","getLuminance","RsRGB","GsRGB","BsRGB","G","B","pow","setAlpha","toHsvString","toHslString","toHex","toHexString","toHex8","toHex8String","toRgbString","toPercentageRgb","toPercentageRgbString","toName","hexNames","toFilter","secondColor","hex8String","secondHex8String","formatSet","formattedString","hasAlpha","needsAlphaFormat","clone","_applyModification","args","concat","_applyCombination","fromRatio","newColor","equals","color1","color2","mix","rgb1","rgb2","rgba","readability","c1","c2","isReadable","wcag2","wcag2Parms","out","validateWCAG2Parms","level","size","mostReadable","baseColor","colorList","includeFallbackColors","bestColor","bestScore","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","flip","o","flipped","parseFloat","isNaN","isOnePointZero","processPercent","isPercentage","parseInt","abs","val","parseIntFromHex","indexOf","c","convertHexToDecimal","matchers","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","hsla","hsva","hex3","hex6","hex4","hex8","toLowerCase","named","parms","toUpperCase","$flags","DESCRIPTORS","$toString","define","dP","FProto","Function","nameRE","NAME","e","toObject","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","REPLACE","$replace","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","matched","position","captures","j","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","m","symbols","ch","capture","$iterators","getKeys","Iterators","ITERATOR","TO_STRING_TAG","ArrayValues","Array","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","proto","forced","syncToLocalStorage","vm","watchProps","fakeStorage","getJson","localStorage","getItem","ex","JSON","parse","saveJsonFn","obj","_home_circleci_rpnow_views_node_modules_babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_0___default","setItem","prop","savedValue","$watch","class","elementClasses","style","backgroundColor","charaColor","charaColorBw","_s","charaName","editing","showMessageDetails","diameter","sending","title","timeAgoTitleText","href","showHistory","timeAgoText","visibility","useridVisibility","_l","beginEdit","validEdit","confirmEdit","cancelEdit","isNarrator","isOOC","isChara","innerHTML","formattedContent","maxlength","rows","ctrlKey","shiftKey","altKey","metaKey","preventDefault","pressEnterToSend","newContent","load","notifySizeChange","ref","historyOpen","content","transformRpMessage","renderTag","ACTION","contrast","close","BOLD","ITC","BOLDITC","STRIKE","escape","char","&","<",">","\"","'","tagLexers","link","tag","replaceWith","tokens","tagTokenStack","tagLexer","opener","filter","openerStackIdx","forEach","idx","token","Error","colorFromId","chr","hash","map","rp_messagevue_type_script_lang_js_","components","ImageDialog","image_dialog","currentTime","now_default","intervalHandle","history","isImage","chara","message-sending","useridColors","userid","trim","tinycolor_default","wasEdited","revision","periods","label","div","Infinity","Date","timestamp","getTime","shift","toLocaleString","$refs","imageDialog","messageData","charaId","$emit","getHistory","mounted","setInterval","beforeDestroy","clearInterval","components_rp_messagevue_type_script_lang_js_"],"mappings":"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","file":"js/archive~chat.854d530a.js","sourcesContent":["var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showImageDialog || _vm.isDialogSending),expression:\"showImageDialog || isDialogSending\"}],staticClass:\"dialog-container overlay\",on:{\"click\":function($event){_vm.showImageDialog=false}}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showImageDialog),expression:\"showImageDialog\"}],staticClass:\"dialog\",attrs:{\"id\":\"image-dialog\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.imageDialogUrl),expression:\"imageDialogUrl\"}],attrs:{\"placeholder\":\"Enter a URL\",\"type\":\"text\"},domProps:{\"value\":(_vm.imageDialogUrl)},on:{\"keydown\":function($event){if(('keyCode' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.sendImage($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.imageDialogUrl=$event.target.value}}})]),(_vm.imageDialogIsChecking)?_c('div',{staticClass:\"preview-container preview-container-busted\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"hourglass_full\")]),_c('span',[_vm._v(\"Loading...\")])]):_vm._e(),(_vm.imageDialogIsValid)?_c('div',{staticClass:\"preview-container\"},[_c('img',{attrs:{\"src\":_vm.imageDialogUrl}})]):_vm._e(),(!_vm.imageDialogIsValid && !_vm.imageDialogIsChecking)?_c('div',{staticClass:\"preview-container preview-container-busted\"},[(_vm.imageDialogUrl.length > 0 && !_vm.imageDialogIsWellFormed)?_c('span',[_vm._v(\"Can't read this URL.\")]):_vm._e(),(_vm.imageDialogIsWellFormed)?_c('span',[_vm._v(\"Can't load this image.\")]):_vm._e()]):_vm._e(),_c('div',[_c('button',{staticClass:\"outline-button\",attrs:{\"type\":\"button\",\"disabled\":!_vm.imageDialogIsValid},on:{\"click\":_vm.submit}},[_vm._v(\"Save\")]),_c('button',{staticClass:\"outline-button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.showImageDialog=false}}},[_vm._v(\"Cancel\")])])]),(_vm.isDialogSending)?[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"hourglass_full\")]),_c('span',[_vm._v(\"Loading...\")])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n \n \n \n \n\n \n hourglass_full\n Loading...\n \n\n \n \n \n\n \n 0 && !imageDialogIsWellFormed\">Can't read this URL.\n Can't load this image.\n \n\n \n Save\n Cancel\n \n \n\n \n hourglass_full\n Loading...\n \n\n \n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./image-dialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./image-dialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./image-dialog.vue?vue&type=template&id=5f22cd07&\"\nimport script from \"./image-dialog.vue?vue&type=script&lang=js&\"\nexport * from \"./image-dialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","export function syncToLocalStorage(vm, watchProps) {\n // store and retrieve json as objects in localStorage\n // (or memory if localStorage doesn't work)\n var fakeStorage = {};\n\n function getJson(key) {\n var str;\n try {\n str = localStorage.getItem(key);\n } catch (ex) {\n str = fakeStorage[key];\n }\n if (str == null) return null;\n return JSON.parse(str);\n }\n function saveJsonFn(key) {\n return function setter(obj) {\n var str = JSON.stringify(obj);\n try {\n localStorage.setItem(key, str);\n } catch (ex) {\n fakeStorage[key] = str;\n }\n }\n }\n\n for (var prop in watchProps) {\n var key = watchProps[prop];\n\n var savedValue = getJson(key);\n if (savedValue != null) vm[prop] = savedValue;\n\n vm.$watch(prop, saveJsonFn(key));\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.elementClasses,style:({ backgroundColor: _vm.charaColor, color: _vm.charaColorBw })},[(_vm.isChara)?_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.charaName))]):_vm._e(),(!_vm.editing && _vm.showMessageDetails)?_c('div',{staticClass:\"message-details\"},[(_vm.sending)?[_c('mat-spinner',{attrs:{\"diameter\":\"16\"}})]:_vm._e(),(!_vm.sending)?[_c('div',{staticClass:\"timestamp\",attrs:{\"title\":_vm.timeAgoTitleText}},[(_vm.wasEdited)?[_c('a',{attrs:{\"href\":\"javascript:;\"},on:{\"click\":_vm.showHistory}},[_vm._v(\"edited\")])]:_vm._e(),_vm._v(\"\\n \"+_vm._s(_vm.timeAgoText)+\"\\n \")],2),_c('span',{staticClass:\"color-ip-box\",style:({visibility:_vm.useridVisibility}),attrs:{\"title\":\"Anonymous user ID\"}},_vm._l((_vm.useridColors),function(color){return _c('span',{key:color,staticClass:\"color-ip-box-section\",style:({backgroundColor:color})})}),0)]:_vm._e()],2):_vm._e(),(!_vm.sending)?_c('div',{staticClass:\"action-buttons\"},[(!_vm.editing)?[(_vm.canEdit)?_c('button',{staticClass:\"icon-button\",on:{\"click\":_vm.beginEdit}},[_c('i',{staticClass:\"material-icons\",attrs:{\"title\":\"Edit\"}},[_vm._v(\"edit\")])]):_vm._e()]:_vm._e(),(_vm.editing)?[_c('button',{staticClass:\"icon-button\",attrs:{\"disabled\":!_vm.validEdit},on:{\"click\":_vm.confirmEdit}},[_c('i',{staticClass:\"material-icons\",attrs:{\"title\":\"Save edits\"}},[_vm._v(\"save\")])]),_c('button',{staticClass:\"icon-button\",on:{\"click\":_vm.cancelEdit}},[_c('i',{staticClass:\"material-icons\",attrs:{\"title\":\"Discard edits\"}},[_vm._v(\"cancel\")])])]:_vm._e()],2):_vm._e(),((_vm.isNarrator || _vm.isOOC || _vm.isChara) && !_vm.editing)?[_c('div',{staticClass:\"content generated-links\",domProps:{\"innerHTML\":_vm._s(_vm.formattedContent)}})]:_vm._e(),(_vm.editing)?[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newContent),expression:\"newContent\"}],staticClass:\"content\",attrs:{\"maxlength\":\"10000\",\"rows\":\"4\"},domProps:{\"value\":(_vm.newContent)},on:{\"keydown\":[function($event){if(('keyCode' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if(!$event.ctrlKey){ return null; }if($event.shiftKey||$event.altKey||$event.metaKey){ return null; }($event.preventDefault(), _vm.confirmEdit())},function($event){if(('keyCode' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }_vm.pressEnterToSend ? ($event.preventDefault(), _vm.confirmEdit()) : null}],\"input\":function($event){if($event.target.composing){ return; }_vm.newContent=$event.target.value}}})]:_vm._e(),(_vm.isImage)?[_c('div',{staticClass:\"content\"},[_c('a',{attrs:{\"href\":_vm.url,\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":_vm.url},on:{\"load\":_vm.notifySizeChange}})])])]:_vm._e(),_c('image-dialog',{ref:\"imageDialog\",attrs:{\"send\":_vm.send}}),(_vm.historyOpen)?_c('div',{staticClass:\"dialog-container overlay\",on:{\"click\":function($event){_vm.historyOpen=false}}},[(_vm.history)?_c('div',{staticClass:\"dialog\",attrs:{\"id\":\"history-dialog\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('div',{attrs:{\"id\":\"history-dialog-messages\"}},_vm._l((_vm.history),function(msg,i){return _c('div',{key:'history'+i},[_c('p',[_vm._v(_vm._s(msg.content || msg.url || ''))]),_c('hr')])}),0),_c('div',[_c('button',{staticClass:\"outline-button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.historyOpen=false}}},[_vm._v(\"Close\")])])]):[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"hourglass_full\")]),_c('span',[_vm._v(\"Loading...\")])]],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import tinycolor from 'tinycolor2';\n\nexport default function transformRpMessage(str, color) {\n // how to render a specific type of tag\n var renderTag = {\n 'ACTION': {\n open: function(color) {\n var contrast = color ? (tinycolor(color).isLight() ? 'black' : 'white') : 'auto';\n return '*';\n },\n close: '*'\n },\n 'BOLD': { open: function() { return '' }, close: '' },\n 'ITC': { open: function() { return '' }, close: '' },\n 'BOLDITC': { open: function() { return '' }, close: '' },\n 'STRIKE': { open: function() { return '' }, close: '' },\n };\n\n function escape(str) {\n return str.replace(/[&<>\"']/g, function (char) {\n return ({'&':'&','<':'<','>':'>','\"':'"',\"'\":'''})[char];\n });\n }\n\n // tokens that create tags\n var tagLexers = [\n { r: /^(https?:\\/\\/[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/i, replace: function(link) { return ''+link+''; } },\n { r: /^(____+)/ }, // if there's a lot of _, don't treat it as anything\n { r: /^(\\/\\/+)/ }, // same with lots of /\n { r: /^(___)/, tag: 'BOLDITC' },\n { r: /^(__)/, tag: 'BOLD' },\n { r: /^(_)/, tag: 'ITC' },\n { r: /^(\\/)/, tag: 'ITC' },\n { r: /^(~~)/, tag: 'STRIKE' },\n { r: /^(\\*)/, tag: 'ACTION' },\n { r: /^(\\r\\n|\\n\\r|\\r|\\n)/, replaceWith: '' },\n { r: /^(--)/, replaceWith: '—' },\n { r: /^(\\s)/ },\n { r: /^(\\S[^\\s-]*[^\\s_/~*-,.?!\"])(?:\\s|$)/, replace: escape }, // attempt to ignore symbols like /, _, etc inside of words\n { r: /^(.)/, replace: escape },\n ];\n\n // processed tokens\n var tokens = [];\n // currently open tags on a stack\n var tagTokenStack = [];\n\n // iterate through the string...\n while (str.length > 0) {\n var match;\n var tag;\n var replace;\n var replaceWith;\n\n // see if the front of the string matches any token types\n for (var i = 0; i < tagLexers.length; ++i) {\n var tagLexer = tagLexers[i];\n var result = tagLexer.r.exec(str);\n if (result) {\n match = result[1];\n replace = tagLexer.replace;\n replaceWith = tagLexer.replaceWith;\n tag = tagLexer.tag;\n break;\n }\n }\n\n // determine what to do with what we got from the front of the string\n if (tag) {\n // if it's an open/close tag, do some stack logic with it\n var opener = tagTokenStack.filter(function(t) { return t.match === match; })[0];\n var openerStackIdx = tagTokenStack.indexOf(opener);\n if (openerStackIdx >= 0) {\n // closing tag found!\n // discard all tags atop this one\n tagTokenStack.slice(openerStackIdx + 1).forEach(function(t) {\n var idx = tokens.indexOf(t);\n tokens[idx] = t.match;\n });\n // apply both tags\n tokens[tokens.indexOf(opener)] = renderTag[tag].open(color);\n tokens.push(renderTag[tag].close);\n // pop stack\n tagTokenStack = tagTokenStack.slice(0, openerStackIdx);\n } else if (tagTokenStack.filter(function(t) { return t.tag === tag })[0]) {\n // same tag, but different syntax? = ignore it\n // example: \"this should /not_ be italics\"\n tokens.push(match);\n } else {\n // opening tags\n var token = { tag: tag, match: match };\n tokens.push(token);\n tagTokenStack.push(token);\n }\n } else if (replace) {\n // replace text using a function\n tokens.push(replace(match));\n } else if (replaceWith) {\n // replace text with a string\n tokens.push(replaceWith);\n } else if (match) {\n // just add it as is\n tokens.push(match);\n } else {\n throw new Error('Could not match ' + str[0]);\n }\n\n // cut off the processed part of the string\n str = str.substr(match.length);\n }\n\n // discard remaining open tags\n tagTokenStack.forEach(function(t) {\n var idx = tokens.indexOf(t);\n tokens[idx] = t.match;\n });\n\n return tokens.join('');\n}\n","\n \n\n {{ charaName }}\n\n \n \n \n \n \n \n \n edited\n \n {{ timeAgoText }}\n \n \n \n \n \n \n\n \n \n \n edit\n \n \n \n \n save\n \n \n cancel\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n\n \n\n \n \n \n \n {{ msg.content || msg.url || '' }}\n \n \n \n \n Close\n \n \n \n hourglass_full\n Loading...\n \n \n\n \n\n\n ","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rp-message.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rp-message.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./rp-message.vue?vue&type=template&id=41ef1610&\"\nimport script from \"./rp-message.vue?vue&type=script&lang=js&\"\nexport * from \"./rp-message.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
{{ msg.content || msg.url || '' }}