{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/cssfilter/lib/index.js","webpack:///./node_modules/xss/lib/util.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/xss/lib/default.js","webpack:///./node_modules/cssfilter/lib/default.js","webpack:///./node_modules/cssfilter/lib/util.js","webpack:///./node_modules/xss/lib/parser.js","webpack:///./src/js/index.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/xss/lib/index.js","webpack:///./node_modules/cssfilter/lib/css.js","webpack:///./node_modules/cssfilter/lib/parser.js","webpack:///./node_modules/xss/lib/xss.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","window","Math","self","Function","__g","it","core","version","__e","dP","createDesc","f","a","DEFAULT","FilterCSS","html","options","process","filterCSS","indexOf","arr","item","j","Array","length","forEach","fn","scope","trim","str","String","replace","spaceIndex","match","exec","index","e","id","px","random","concat","undefined","toString","SHARED","store","push","copyright","aFunction","that","b","apply","arguments","slice","uid","USE_SYMBOL","getDefaultCSSWhiteList","getDefaultWhiteList","_","abbr","address","area","article","aside","audio","bdi","bdo","big","blockquote","br","caption","center","cite","code","col","colgroup","dd","del","details","div","dl","dt","em","font","footer","h1","h2","h3","h4","h5","h6","header","hr","img","ins","li","mark","nav","ol","pre","section","small","span","sub","sup","strong","table","tbody","td","tfoot","th","thead","tr","tt","u","ul","video","defaultCSSFilter","escapeHtml","REGEXP_LT","REGEXP_GT","REGEXP_QUOTE","REGEXP_QUOTE_2","REGEXP_ATTR_VALUE_1","REGEXP_ATTR_VALUE_COLON","REGEXP_ATTR_VALUE_NEWLINE","REGEXP_DEFAULT_ON_TAG_ATTR_4","REGEXP_DEFAULT_ON_TAG_ATTR_7","REGEXP_DEFAULT_ON_TAG_ATTR_8","escapeQuote","unescapeQuote","escapeHtmlEntities","fromCharCode","parseInt","substr","escapeDangerHtml5Entities","clearNonPrintableCharacter","str2","len","charCodeAt","charAt","friendlyAttrValue","escapeAttrValue","STRIP_COMMENT_TAG_REGEXP","whiteList","onTag","tag","onIgnoreTag","onTagAttr","onIgnoreTagAttr","safeAttrValue","cssFilter","lastIndex","test","onIgnoreTagStripAll","StripTagBody","tags","next","isRemoveAllTag","isArray","removeList","posStart","isRemoveTag","isClosing","ret","end","position","remove","rethtml","lastPos","pos","stripCommentTag","stripBlankChar","chars","split","filter","char","join","align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","box-snap","box-suppress","break-after","break-before","break-inside","caption-side","chains","clear","clip","clip-path","clip-rule","color","color-interpolation-filters","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","counter-set","crop","cue","cue-after","cue-before","cursor","direction","display","display-inside","display-list","display-outside","dominant-baseline","elevation","empty-cells","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flood-color","flood-opacity","flow-from","flow-into","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-resolution","ime-mode","initial-letters","inline-box-align","justify-content","justify-items","justify-self","left","letter-spacing","lighting-color","line-box-contain","line-break","line-grid","line-height","line-snap","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marker-side","marks","mask","mask-box","mask-box-outset","mask-box-repeat","mask-box-slice","mask-box-source","mask-box-width","mask-clip","mask-image","mask-origin","mask-position","mask-repeat","mask-size","mask-source-type","mask-type","max-height","max-lines","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","presentation-level","quotes","region-fragment","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-merge","ruby-position","shape-image-threshold","shape-outside","shape-margin","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-overflow","text-shadow","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","wrap-flow","wrap-through","writing-mode","z-index","REGEXP_URL_JAVASCRIPT","onAttr","onIgnoreAttr","trimRight","getTagName","tagName","toLowerCase","REGEXP_ILLEGAL_ATTR_NAME","findNextEqual","findBeforeEqual","stripQuoteWrap","text","isQuoteWrapString","parseTag","tagStart","quoteStart","currentPos","currentTagName","currentHtml","parseAttr","retAttrs","tmpName","addAttr","tagVal","facePath","txtVal","qq","isLoading","listTotal","xss","require","pageSize","commentHtml","bgColors","init","this","bindEvent","_this","getTag","getFace","getTxt","msgWall","slick","showPics","$","on","parents","hide","show","poster","videoSrc","eq","data","isVideoShow","document","getJSON","done","v","splitInfo","info","url","picUrl","console","log","loadData","find","css","event","stopPropagation","cur","slideToggle","click","slideUp","attr","dots","infinite","arrows","slidesToShow","autoplay","slidesToScroll","draggable","variableWidth","picSlick","el","Activity","dataList","actId","actInfo","fieldSetId","commentFormId","each","val","formData","headimg","comment","floor","use","element","formId","onRender","onSuccess","alert","commentSuccessTxt","before","total","trigger","applyFormId","$export","$find","KEY","forced","P","F","callbackfn","redefine","ctx","PROTOTYPE","type","source","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","target","expProto","U","W","R","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","TypeError","isObject","is","createElement","valueOf","bitmap","configurable","writable","has","SRC","$toString","TO_STRING","TPL","inspectSource","safe","isFunction","IObject","toObject","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","res","result","cof","propertyIsEnumerable","defined","toInteger","min","ceil","isNaN","speciesConstructor","original","SPECIES","C","constructor","arg","UNSCOPABLES","ArrayProto","parser","FilterXSS","filterXSS","DedicatedWorkerGlobalScope","parseStyle","isNull","obj","shallowCopyObject","sourcePosition","check","isWhite","RegExp","opts","cssLength","isParenthesisOpen","retCSS","addNewAttr","stripIgnoreTag","error","allowCommentTag","stripIgnoreTagBody","retHtml","attrs","closing","getAttrs","whiteAttrList","attrsHtml","isWhiteAttr"],"mappings":"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","file":"js/index-510fadd1.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"//ue.17173cdn.com/a/news/z/sdxl2/act/0702/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 17);\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar FilterCSS = require('./css');\n\n\n/**\n * XSS过滤\n *\n * @param {String} css 要过滤的CSS代码\n * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n * @return {String}\n */\nfunction filterCSS (html, options) {\n var xss = new FilterCSS(options);\n return xss.process(html);\n}\n\n\n// 输出\nexports = module.exports = filterCSS;\nexports.FilterCSS = FilterCSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\n\n// 在浏览器端使用\nif (typeof window !== 'undefined') {\n window.filterCSS = module.exports;\n}\n","module.exports = {\n indexOf: function(arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function(arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function(str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\n },\n spaceIndex: function(str) {\n var reg = /\\s|\\n|\\t/;\n var match = reg.exec(str);\n return match ? match.index : -1;\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","/**\n * default settings\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar getDefaultCSSWhiteList = require(\"cssfilter\").getDefaultWhiteList;\nvar _ = require(\"./util\");\n\nfunction getDefaultWhiteList() {\n return {\n a: [\"target\", \"href\", \"title\"],\n abbr: [\"title\"],\n address: [],\n area: [\"shape\", \"coords\", \"href\", \"alt\"],\n article: [],\n aside: [],\n audio: [\"autoplay\", \"controls\", \"loop\", \"preload\", \"src\"],\n b: [],\n bdi: [\"dir\"],\n bdo: [\"dir\"],\n big: [],\n blockquote: [\"cite\"],\n br: [],\n caption: [],\n center: [],\n cite: [],\n code: [],\n col: [\"align\", \"valign\", \"span\", \"width\"],\n colgroup: [\"align\", \"valign\", \"span\", \"width\"],\n dd: [],\n del: [\"datetime\"],\n details: [\"open\"],\n div: [],\n dl: [],\n dt: [],\n em: [],\n font: [\"color\", \"size\", \"face\"],\n footer: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n header: [],\n hr: [],\n i: [],\n img: [\"src\", \"alt\", \"title\", \"width\", \"height\"],\n ins: [\"datetime\"],\n li: [],\n mark: [],\n nav: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n section: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n table: [\"width\", \"border\", \"align\", \"valign\"],\n tbody: [\"align\", \"valign\"],\n td: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n tfoot: [\"align\", \"valign\"],\n th: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n thead: [\"align\", \"valign\"],\n tr: [\"rowspan\", \"align\", \"valign\"],\n tt: [],\n u: [],\n ul: [],\n video: [\"autoplay\", \"controls\", \"loop\", \"preload\", \"src\", \"height\", \"width\"]\n };\n}\n\nvar defaultCSSFilter = new FilterCSS();\n\n/**\n * default onTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onIgnoreTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default onIgnoreTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onIgnoreTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default escapeHtml function\n *\n * @param {String} html\n */\nfunction escapeHtml(html) {\n return html.replace(REGEXP_LT, \"<\").replace(REGEXP_GT, \">\");\n}\n\n/**\n * default safeAttrValue function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @param {Object} cssFilter\n * @return {String}\n */\nfunction safeAttrValue(tag, name, value, cssFilter) {\n // unescape attribute value firstly\n value = friendlyAttrValue(value);\n\n if (name === \"href\" || name === \"src\") {\n // filter `href` and `src` attribute\n // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`\n value = _.trim(value);\n if (value === \"#\") return \"#\";\n if (\n !(\n value.substr(0, 7) === \"http://\" ||\n value.substr(0, 8) === \"https://\" ||\n value.substr(0, 7) === \"mailto:\" ||\n value.substr(0, 4) === \"tel:\" ||\n value[0] === \"#\" ||\n value[0] === \"/\"\n )\n ) {\n return \"\";\n }\n } else if (name === \"background\") {\n // filter `background` attribute (maybe no use)\n // `javascript:`\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n } else if (name === \"style\") {\n // `expression()`\n REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {\n return \"\";\n }\n // `url()`\n REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n }\n if (cssFilter !== false) {\n cssFilter = cssFilter || defaultCSSFilter;\n value = cssFilter.process(value);\n }\n }\n\n // escape `<>\"` before returns\n value = escapeAttrValue(value);\n return value;\n}\n\n// RegExp list\nvar REGEXP_LT = //g;\nvar REGEXP_QUOTE = /\"/g;\nvar REGEXP_QUOTE_2 = /"/g;\nvar REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;\nvar REGEXP_ATTR_VALUE_COLON = /:?/gim;\nvar REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\\/\\*|\\*\\//gm;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((j\\s*a\\s*v\\s*a|v\\s*b|l\\s*i\\s*v\\s*e)\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*|m\\s*o\\s*c\\s*h\\s*a)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:\\s*image\\//gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\\s*r\\s*l\\s*\\(.*/gi;\n\n/**\n * escape doube quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction escapeQuote(str) {\n return str.replace(REGEXP_QUOTE, \""\");\n}\n\n/**\n * unescape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction unescapeQuote(str) {\n return str.replace(REGEXP_QUOTE_2, '\"');\n}\n\n/**\n * escape html entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeHtmlEntities(str) {\n return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {\n return code[0] === \"x\" || code[0] === \"X\"\n ? String.fromCharCode(parseInt(code.substr(1), 16))\n : String.fromCharCode(parseInt(code, 10));\n });\n}\n\n/**\n * escape html5 new danger entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeDangerHtml5Entities(str) {\n return str\n .replace(REGEXP_ATTR_VALUE_COLON, \":\")\n .replace(REGEXP_ATTR_VALUE_NEWLINE, \" \");\n}\n\n/**\n * clear nonprintable characters\n *\n * @param {String} str\n * @return {String}\n */\nfunction clearNonPrintableCharacter(str) {\n var str2 = \"\";\n for (var i = 0, len = str.length; i < len; i++) {\n str2 += str.charCodeAt(i) < 32 ? \" \" : str.charAt(i);\n }\n return _.trim(str2);\n}\n\n/**\n * get friendly attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction friendlyAttrValue(str) {\n str = unescapeQuote(str);\n str = escapeHtmlEntities(str);\n str = escapeDangerHtml5Entities(str);\n str = clearNonPrintableCharacter(str);\n return str;\n}\n\n/**\n * unescape attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeAttrValue(str) {\n str = escapeQuote(str);\n str = escapeHtml(str);\n return str;\n}\n\n/**\n * `onIgnoreTag` function for removing all the tags that are not in whitelist\n */\nfunction onIgnoreTagStripAll() {\n return \"\";\n}\n\n/**\n * remove tag body\n * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)\n *\n * @param {array} tags\n * @param {function} next\n */\nfunction StripTagBody(tags, next) {\n if (typeof next !== \"function\") {\n next = function() {};\n }\n\n var isRemoveAllTag = !Array.isArray(tags);\n function isRemoveTag(tag) {\n if (isRemoveAllTag) return true;\n return _.indexOf(tags, tag) !== -1;\n }\n\n var removeList = [];\n var posStart = false;\n\n return {\n onIgnoreTag: function(tag, html, options) {\n if (isRemoveTag(tag)) {\n if (options.isClosing) {\n var ret = \"[/removed]\";\n var end = options.position + ret.length;\n removeList.push([\n posStart !== false ? posStart : options.position,\n end\n ]);\n posStart = false;\n return ret;\n } else {\n if (!posStart) {\n posStart = options.position;\n }\n return \"[removed]\";\n }\n } else {\n return next(tag, html, options);\n }\n },\n remove: function(html) {\n var rethtml = \"\";\n var lastPos = 0;\n _.forEach(removeList, function(pos) {\n rethtml += html.slice(lastPos, pos[0]);\n lastPos = pos[1];\n });\n rethtml += html.slice(lastPos);\n return rethtml;\n }\n };\n}\n\n/**\n * remove html comments\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripCommentTag(html) {\n return html.replace(STRIP_COMMENT_TAG_REGEXP, \"\");\n}\nvar STRIP_COMMENT_TAG_REGEXP = //g;\n\n/**\n * remove invisible characters\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripBlankChar(html) {\n var chars = html.split(\"\");\n chars = chars.filter(function(char) {\n var c = char.charCodeAt(0);\n if (c === 127) return false;\n if (c <= 31) {\n if (c === 10 || c === 13) return true;\n return false;\n }\n return true;\n });\n return chars.join(\"\");\n}\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onTag = onTag;\nexports.onIgnoreTag = onIgnoreTag;\nexports.onTagAttr = onTagAttr;\nexports.onIgnoreTagAttr = onIgnoreTagAttr;\nexports.safeAttrValue = safeAttrValue;\nexports.escapeHtml = escapeHtml;\nexports.escapeQuote = escapeQuote;\nexports.unescapeQuote = unescapeQuote;\nexports.escapeHtmlEntities = escapeHtmlEntities;\nexports.escapeDangerHtml5Entities = escapeDangerHtml5Entities;\nexports.clearNonPrintableCharacter = clearNonPrintableCharacter;\nexports.friendlyAttrValue = friendlyAttrValue;\nexports.escapeAttrValue = escapeAttrValue;\nexports.onIgnoreTagStripAll = onIgnoreTagStripAll;\nexports.StripTagBody = StripTagBody;\nexports.stripCommentTag = stripCommentTag;\nexports.stripBlankChar = stripBlankChar;\nexports.cssFilter = defaultCSSFilter;\nexports.getDefaultCSSWhiteList = getDefaultCSSWhiteList;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nfunction getDefaultWhiteList () {\n // 白名单值说明:\n // true: 允许该属性\n // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n // 除上面列出的值外均表示不允许\n var whiteList = {};\n\n whiteList['align-content'] = false; // default: auto\n whiteList['align-items'] = false; // default: auto\n whiteList['align-self'] = false; // default: auto\n whiteList['alignment-adjust'] = false; // default: auto\n whiteList['alignment-baseline'] = false; // default: baseline\n whiteList['all'] = false; // default: depending on individual properties\n whiteList['anchor-point'] = false; // default: none\n whiteList['animation'] = false; // default: depending on individual properties\n whiteList['animation-delay'] = false; // default: 0\n whiteList['animation-direction'] = false; // default: normal\n whiteList['animation-duration'] = false; // default: 0\n whiteList['animation-fill-mode'] = false; // default: none\n whiteList['animation-iteration-count'] = false; // default: 1\n whiteList['animation-name'] = false; // default: none\n whiteList['animation-play-state'] = false; // default: running\n whiteList['animation-timing-function'] = false; // default: ease\n whiteList['azimuth'] = false; // default: center\n whiteList['backface-visibility'] = false; // default: visible\n whiteList['background'] = true; // default: depending on individual properties\n whiteList['background-attachment'] = true; // default: scroll\n whiteList['background-clip'] = true; // default: border-box\n whiteList['background-color'] = true; // default: transparent\n whiteList['background-image'] = true; // default: none\n whiteList['background-origin'] = true; // default: padding-box\n whiteList['background-position'] = true; // default: 0% 0%\n whiteList['background-repeat'] = true; // default: repeat\n whiteList['background-size'] = true; // default: auto\n whiteList['baseline-shift'] = false; // default: baseline\n whiteList['binding'] = false; // default: none\n whiteList['bleed'] = false; // default: 6pt\n whiteList['bookmark-label'] = false; // default: content()\n whiteList['bookmark-level'] = false; // default: none\n whiteList['bookmark-state'] = false; // default: open\n whiteList['border'] = true; // default: depending on individual properties\n whiteList['border-bottom'] = true; // default: depending on individual properties\n whiteList['border-bottom-color'] = true; // default: current color\n whiteList['border-bottom-left-radius'] = true; // default: 0\n whiteList['border-bottom-right-radius'] = true; // default: 0\n whiteList['border-bottom-style'] = true; // default: none\n whiteList['border-bottom-width'] = true; // default: medium\n whiteList['border-collapse'] = true; // default: separate\n whiteList['border-color'] = true; // default: depending on individual properties\n whiteList['border-image'] = true; // default: none\n whiteList['border-image-outset'] = true; // default: 0\n whiteList['border-image-repeat'] = true; // default: stretch\n whiteList['border-image-slice'] = true; // default: 100%\n whiteList['border-image-source'] = true; // default: none\n whiteList['border-image-width'] = true; // default: 1\n whiteList['border-left'] = true; // default: depending on individual properties\n whiteList['border-left-color'] = true; // default: current color\n whiteList['border-left-style'] = true; // default: none\n whiteList['border-left-width'] = true; // default: medium\n whiteList['border-radius'] = true; // default: 0\n whiteList['border-right'] = true; // default: depending on individual properties\n whiteList['border-right-color'] = true; // default: current color\n whiteList['border-right-style'] = true; // default: none\n whiteList['border-right-width'] = true; // default: medium\n whiteList['border-spacing'] = true; // default: 0\n whiteList['border-style'] = true; // default: depending on individual properties\n whiteList['border-top'] = true; // default: depending on individual properties\n whiteList['border-top-color'] = true; // default: current color\n whiteList['border-top-left-radius'] = true; // default: 0\n whiteList['border-top-right-radius'] = true; // default: 0\n whiteList['border-top-style'] = true; // default: none\n whiteList['border-top-width'] = true; // default: medium\n whiteList['border-width'] = true; // default: depending on individual properties\n whiteList['bottom'] = false; // default: auto\n whiteList['box-decoration-break'] = true; // default: slice\n whiteList['box-shadow'] = true; // default: none\n whiteList['box-sizing'] = true; // default: content-box\n whiteList['box-snap'] = true; // default: none\n whiteList['box-suppress'] = true; // default: show\n whiteList['break-after'] = true; // default: auto\n whiteList['break-before'] = true; // default: auto\n whiteList['break-inside'] = true; // default: auto\n whiteList['caption-side'] = false; // default: top\n whiteList['chains'] = false; // default: none\n whiteList['clear'] = true; // default: none\n whiteList['clip'] = false; // default: auto\n whiteList['clip-path'] = false; // default: none\n whiteList['clip-rule'] = false; // default: nonzero\n whiteList['color'] = true; // default: implementation dependent\n whiteList['color-interpolation-filters'] = true; // default: auto\n whiteList['column-count'] = false; // default: auto\n whiteList['column-fill'] = false; // default: balance\n whiteList['column-gap'] = false; // default: normal\n whiteList['column-rule'] = false; // default: depending on individual properties\n whiteList['column-rule-color'] = false; // default: current color\n whiteList['column-rule-style'] = false; // default: medium\n whiteList['column-rule-width'] = false; // default: medium\n whiteList['column-span'] = false; // default: none\n whiteList['column-width'] = false; // default: auto\n whiteList['columns'] = false; // default: depending on individual properties\n whiteList['contain'] = false; // default: none\n whiteList['content'] = false; // default: normal\n whiteList['counter-increment'] = false; // default: none\n whiteList['counter-reset'] = false; // default: none\n whiteList['counter-set'] = false; // default: none\n whiteList['crop'] = false; // default: auto\n whiteList['cue'] = false; // default: depending on individual properties\n whiteList['cue-after'] = false; // default: none\n whiteList['cue-before'] = false; // default: none\n whiteList['cursor'] = false; // default: auto\n whiteList['direction'] = false; // default: ltr\n whiteList['display'] = true; // default: depending on individual properties\n whiteList['display-inside'] = true; // default: auto\n whiteList['display-list'] = true; // default: none\n whiteList['display-outside'] = true; // default: inline-level\n whiteList['dominant-baseline'] = false; // default: auto\n whiteList['elevation'] = false; // default: level\n whiteList['empty-cells'] = false; // default: show\n whiteList['filter'] = false; // default: none\n whiteList['flex'] = false; // default: depending on individual properties\n whiteList['flex-basis'] = false; // default: auto\n whiteList['flex-direction'] = false; // default: row\n whiteList['flex-flow'] = false; // default: depending on individual properties\n whiteList['flex-grow'] = false; // default: 0\n whiteList['flex-shrink'] = false; // default: 1\n whiteList['flex-wrap'] = false; // default: nowrap\n whiteList['float'] = false; // default: none\n whiteList['float-offset'] = false; // default: 0 0\n whiteList['flood-color'] = false; // default: black\n whiteList['flood-opacity'] = false; // default: 1\n whiteList['flow-from'] = false; // default: none\n whiteList['flow-into'] = false; // default: none\n whiteList['font'] = true; // default: depending on individual properties\n whiteList['font-family'] = true; // default: implementation dependent\n whiteList['font-feature-settings'] = true; // default: normal\n whiteList['font-kerning'] = true; // default: auto\n whiteList['font-language-override'] = true; // default: normal\n whiteList['font-size'] = true; // default: medium\n whiteList['font-size-adjust'] = true; // default: none\n whiteList['font-stretch'] = true; // default: normal\n whiteList['font-style'] = true; // default: normal\n whiteList['font-synthesis'] = true; // default: weight style\n whiteList['font-variant'] = true; // default: normal\n whiteList['font-variant-alternates'] = true; // default: normal\n whiteList['font-variant-caps'] = true; // default: normal\n whiteList['font-variant-east-asian'] = true; // default: normal\n whiteList['font-variant-ligatures'] = true; // default: normal\n whiteList['font-variant-numeric'] = true; // default: normal\n whiteList['font-variant-position'] = true; // default: normal\n whiteList['font-weight'] = true; // default: normal\n whiteList['grid'] = false; // default: depending on individual properties\n whiteList['grid-area'] = false; // default: depending on individual properties\n whiteList['grid-auto-columns'] = false; // default: auto\n whiteList['grid-auto-flow'] = false; // default: none\n whiteList['grid-auto-rows'] = false; // default: auto\n whiteList['grid-column'] = false; // default: depending on individual properties\n whiteList['grid-column-end'] = false; // default: auto\n whiteList['grid-column-start'] = false; // default: auto\n whiteList['grid-row'] = false; // default: depending on individual properties\n whiteList['grid-row-end'] = false; // default: auto\n whiteList['grid-row-start'] = false; // default: auto\n whiteList['grid-template'] = false; // default: depending on individual properties\n whiteList['grid-template-areas'] = false; // default: none\n whiteList['grid-template-columns'] = false; // default: none\n whiteList['grid-template-rows'] = false; // default: none\n whiteList['hanging-punctuation'] = false; // default: none\n whiteList['height'] = true; // default: auto\n whiteList['hyphens'] = false; // default: manual\n whiteList['icon'] = false; // default: auto\n whiteList['image-orientation'] = false; // default: auto\n whiteList['image-resolution'] = false; // default: normal\n whiteList['ime-mode'] = false; // default: auto\n whiteList['initial-letters'] = false; // default: normal\n whiteList['inline-box-align'] = false; // default: last\n whiteList['justify-content'] = false; // default: auto\n whiteList['justify-items'] = false; // default: auto\n whiteList['justify-self'] = false; // default: auto\n whiteList['left'] = false; // default: auto\n whiteList['letter-spacing'] = true; // default: normal\n whiteList['lighting-color'] = true; // default: white\n whiteList['line-box-contain'] = false; // default: block inline replaced\n whiteList['line-break'] = false; // default: auto\n whiteList['line-grid'] = false; // default: match-parent\n whiteList['line-height'] = false; // default: normal\n whiteList['line-snap'] = false; // default: none\n whiteList['line-stacking'] = false; // default: depending on individual properties\n whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n whiteList['line-stacking-shift'] = false; // default: consider-shifts\n whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n whiteList['list-style'] = true; // default: depending on individual properties\n whiteList['list-style-image'] = true; // default: none\n whiteList['list-style-position'] = true; // default: outside\n whiteList['list-style-type'] = true; // default: disc\n whiteList['margin'] = true; // default: depending on individual properties\n whiteList['margin-bottom'] = true; // default: 0\n whiteList['margin-left'] = true; // default: 0\n whiteList['margin-right'] = true; // default: 0\n whiteList['margin-top'] = true; // default: 0\n whiteList['marker-offset'] = false; // default: auto\n whiteList['marker-side'] = false; // default: list-item\n whiteList['marks'] = false; // default: none\n whiteList['mask'] = false; // default: border-box\n whiteList['mask-box'] = false; // default: see individual properties\n whiteList['mask-box-outset'] = false; // default: 0\n whiteList['mask-box-repeat'] = false; // default: stretch\n whiteList['mask-box-slice'] = false; // default: 0 fill\n whiteList['mask-box-source'] = false; // default: none\n whiteList['mask-box-width'] = false; // default: auto\n whiteList['mask-clip'] = false; // default: border-box\n whiteList['mask-image'] = false; // default: none\n whiteList['mask-origin'] = false; // default: border-box\n whiteList['mask-position'] = false; // default: center\n whiteList['mask-repeat'] = false; // default: no-repeat\n whiteList['mask-size'] = false; // default: border-box\n whiteList['mask-source-type'] = false; // default: auto\n whiteList['mask-type'] = false; // default: luminance\n whiteList['max-height'] = true; // default: none\n whiteList['max-lines'] = false; // default: none\n whiteList['max-width'] = true; // default: none\n whiteList['min-height'] = true; // default: 0\n whiteList['min-width'] = true; // default: 0\n whiteList['move-to'] = false; // default: normal\n whiteList['nav-down'] = false; // default: auto\n whiteList['nav-index'] = false; // default: auto\n whiteList['nav-left'] = false; // default: auto\n whiteList['nav-right'] = false; // default: auto\n whiteList['nav-up'] = false; // default: auto\n whiteList['object-fit'] = false; // default: fill\n whiteList['object-position'] = false; // default: 50% 50%\n whiteList['opacity'] = false; // default: 1\n whiteList['order'] = false; // default: 0\n whiteList['orphans'] = false; // default: 2\n whiteList['outline'] = false; // default: depending on individual properties\n whiteList['outline-color'] = false; // default: invert\n whiteList['outline-offset'] = false; // default: 0\n whiteList['outline-style'] = false; // default: none\n whiteList['outline-width'] = false; // default: medium\n whiteList['overflow'] = false; // default: depending on individual properties\n whiteList['overflow-wrap'] = false; // default: normal\n whiteList['overflow-x'] = false; // default: visible\n whiteList['overflow-y'] = false; // default: visible\n whiteList['padding'] = true; // default: depending on individual properties\n whiteList['padding-bottom'] = true; // default: 0\n whiteList['padding-left'] = true; // default: 0\n whiteList['padding-right'] = true; // default: 0\n whiteList['padding-top'] = true; // default: 0\n whiteList['page'] = false; // default: auto\n whiteList['page-break-after'] = false; // default: auto\n whiteList['page-break-before'] = false; // default: auto\n whiteList['page-break-inside'] = false; // default: auto\n whiteList['page-policy'] = false; // default: start\n whiteList['pause'] = false; // default: implementation dependent\n whiteList['pause-after'] = false; // default: implementation dependent\n whiteList['pause-before'] = false; // default: implementation dependent\n whiteList['perspective'] = false; // default: none\n whiteList['perspective-origin'] = false; // default: 50% 50%\n whiteList['pitch'] = false; // default: medium\n whiteList['pitch-range'] = false; // default: 50\n whiteList['play-during'] = false; // default: auto\n whiteList['position'] = false; // default: static\n whiteList['presentation-level'] = false; // default: 0\n whiteList['quotes'] = false; // default: text\n whiteList['region-fragment'] = false; // default: auto\n whiteList['resize'] = false; // default: none\n whiteList['rest'] = false; // default: depending on individual properties\n whiteList['rest-after'] = false; // default: none\n whiteList['rest-before'] = false; // default: none\n whiteList['richness'] = false; // default: 50\n whiteList['right'] = false; // default: auto\n whiteList['rotation'] = false; // default: 0\n whiteList['rotation-point'] = false; // default: 50% 50%\n whiteList['ruby-align'] = false; // default: auto\n whiteList['ruby-merge'] = false; // default: separate\n whiteList['ruby-position'] = false; // default: before\n whiteList['shape-image-threshold'] = false; // default: 0.0\n whiteList['shape-outside'] = false; // default: none\n whiteList['shape-margin'] = false; // default: 0\n whiteList['size'] = false; // default: auto\n whiteList['speak'] = false; // default: auto\n whiteList['speak-as'] = false; // default: normal\n whiteList['speak-header'] = false; // default: once\n whiteList['speak-numeral'] = false; // default: continuous\n whiteList['speak-punctuation'] = false; // default: none\n whiteList['speech-rate'] = false; // default: medium\n whiteList['stress'] = false; // default: 50\n whiteList['string-set'] = false; // default: none\n whiteList['tab-size'] = false; // default: 8\n whiteList['table-layout'] = false; // default: auto\n whiteList['text-align'] = true; // default: start\n whiteList['text-align-last'] = true; // default: auto\n whiteList['text-combine-upright'] = true; // default: none\n whiteList['text-decoration'] = true; // default: none\n whiteList['text-decoration-color'] = true; // default: currentColor\n whiteList['text-decoration-line'] = true; // default: none\n whiteList['text-decoration-skip'] = true; // default: objects\n whiteList['text-decoration-style'] = true; // default: solid\n whiteList['text-emphasis'] = true; // default: depending on individual properties\n whiteList['text-emphasis-color'] = true; // default: currentColor\n whiteList['text-emphasis-position'] = true; // default: over right\n whiteList['text-emphasis-style'] = true; // default: none\n whiteList['text-height'] = true; // default: auto\n whiteList['text-indent'] = true; // default: 0\n whiteList['text-justify'] = true; // default: auto\n whiteList['text-orientation'] = true; // default: mixed\n whiteList['text-overflow'] = true; // default: clip\n whiteList['text-shadow'] = true; // default: none\n whiteList['text-space-collapse'] = true; // default: collapse\n whiteList['text-transform'] = true; // default: none\n whiteList['text-underline-position'] = true; // default: auto\n whiteList['text-wrap'] = true; // default: normal\n whiteList['top'] = false; // default: auto\n whiteList['transform'] = false; // default: none\n whiteList['transform-origin'] = false; // default: 50% 50% 0\n whiteList['transform-style'] = false; // default: flat\n whiteList['transition'] = false; // default: depending on individual properties\n whiteList['transition-delay'] = false; // default: 0s\n whiteList['transition-duration'] = false; // default: 0s\n whiteList['transition-property'] = false; // default: all\n whiteList['transition-timing-function'] = false; // default: ease\n whiteList['unicode-bidi'] = false; // default: normal\n whiteList['vertical-align'] = false; // default: baseline\n whiteList['visibility'] = false; // default: visible\n whiteList['voice-balance'] = false; // default: center\n whiteList['voice-duration'] = false; // default: auto\n whiteList['voice-family'] = false; // default: implementation dependent\n whiteList['voice-pitch'] = false; // default: medium\n whiteList['voice-range'] = false; // default: medium\n whiteList['voice-rate'] = false; // default: normal\n whiteList['voice-stress'] = false; // default: normal\n whiteList['voice-volume'] = false; // default: medium\n whiteList['volume'] = false; // default: medium\n whiteList['white-space'] = false; // default: normal\n whiteList['widows'] = false; // default: 2\n whiteList['width'] = true; // default: auto\n whiteList['will-change'] = false; // default: auto\n whiteList['word-break'] = true; // default: normal\n whiteList['word-spacing'] = true; // default: normal\n whiteList['word-wrap'] = true; // default: normal\n whiteList['wrap-flow'] = false; // default: auto\n whiteList['wrap-through'] = false; // default: wrap\n whiteList['writing-mode'] = false; // default: horizontal-tb\n whiteList['z-index'] = false; // default: auto\n\n return whiteList;\n}\n\n\n/**\n * 匹配到白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onAttr (name, value, options) {\n // do nothing\n}\n\n/**\n * 匹配到不在白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreAttr (name, value, options) {\n // do nothing\n}\n\nvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\n/**\n * 过滤属性值\n *\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction safeAttrValue(name, value) {\n if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n return value;\n}\n\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onAttr = onAttr;\nexports.onIgnoreAttr = onIgnoreAttr;\nexports.safeAttrValue = safeAttrValue;\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n trimRight: function (str) {\n if (String.prototype.trimRight) {\n return str.trimRight();\n }\n return str.replace(/(\\s*$)/g, '');\n }\n};\n","/**\n * Simple HTML Parser\n *\n * @author Zongmin Lei\n */\n\nvar _ = require(\"./util\");\n\n/**\n * get tag name\n *\n * @param {String} html e.g. ''\n * @return {String}\n */\nfunction getTagName(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n var tagName = html.slice(1, -1);\n } else {\n var tagName = html.slice(1, i + 1);\n }\n tagName = _.trim(tagName).toLowerCase();\n if (tagName.slice(0, 1) === \"/\") tagName = tagName.slice(1);\n if (tagName.slice(-1) === \"/\") tagName = tagName.slice(0, -1);\n return tagName;\n}\n\n/**\n * is close tag?\n *\n * @param {String} html 如:''\n * @return {Boolean}\n */\nfunction isClosing(html) {\n return html.slice(0, 2) === \"\") {\n rethtml += escapeHtml(html.slice(lastPos, tagStart));\n currentHtml = html.slice(tagStart, currentPos + 1);\n currentTagName = getTagName(currentHtml);\n rethtml += onTag(\n tagStart,\n rethtml.length,\n currentTagName,\n currentHtml,\n isClosing(currentHtml)\n );\n lastPos = currentPos + 1;\n tagStart = false;\n continue;\n }\n if ((c === '\"' || c === \"'\") && html.charAt(currentPos - 1) === \"=\") {\n quoteStart = c;\n continue;\n }\n } else {\n if (c === quoteStart) {\n quoteStart = false;\n continue;\n }\n }\n }\n }\n if (lastPos < html.length) {\n rethtml += escapeHtml(html.substr(lastPos));\n }\n\n return rethtml;\n}\n\nvar REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\\.\\-]/gim;\n\n/**\n * parse input attributes and returns processed attributes\n *\n * @param {String} html e.g. `href=\"#\" target=\"_blank\"`\n * @param {Function} onAttr e.g. `function (name, value)`\n * @return {String}\n */\nfunction parseAttr(html, onAttr) {\n \"user strict\";\n\n var lastPos = 0;\n var retAttrs = [];\n var tmpName = false;\n var len = html.length;\n\n function addAttr(name, value) {\n name = _.trim(name);\n name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, \"\").toLowerCase();\n if (name.length < 1) return;\n var ret = onAttr(name, value || \"\");\n if (ret) retAttrs.push(ret);\n }\n\n // 逐个分析字符\n for (var i = 0; i < len; i++) {\n var c = html.charAt(i);\n var v, j;\n if (tmpName === false && c === \"=\") {\n tmpName = html.slice(lastPos, i);\n lastPos = i + 1;\n continue;\n }\n if (tmpName !== false) {\n if (\n i === lastPos &&\n (c === '\"' || c === \"'\") &&\n html.charAt(i - 1) === \"=\"\n ) {\n j = html.indexOf(c, i + 1);\n if (j === -1) {\n break;\n } else {\n v = _.trim(html.slice(lastPos + 1, j));\n addAttr(tmpName, v);\n tmpName = false;\n i = j;\n lastPos = i + 1;\n continue;\n }\n }\n }\n if (/\\s|\\n|\\t/.test(c)) {\n html = html.replace(/\\s|\\n|\\t/g, \" \");\n if (tmpName === false) {\n j = findNextEqual(html, i);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n addAttr(v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n i = j - 1;\n continue;\n }\n } else {\n j = findBeforeEqual(html, i - 1);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n v = stripQuoteWrap(v);\n addAttr(tmpName, v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n continue;\n }\n }\n }\n }\n\n if (lastPos < html.length) {\n if (tmpName === false) {\n addAttr(html.slice(lastPos));\n } else {\n addAttr(tmpName, stripQuoteWrap(_.trim(html.slice(lastPos))));\n }\n }\n\n return _.trim(retAttrs.join(\" \"));\n}\n\nfunction findNextEqual(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction findBeforeEqual(str, i) {\n for (; i > 0; i--) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction isQuoteWrapString(text) {\n if (\n (text[0] === '\"' && text[text.length - 1] === '\"') ||\n (text[0] === \"'\" && text[text.length - 1] === \"'\")\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction stripQuoteWrap(text) {\n if (isQuoteWrapString(text)) {\n return text.substr(1, text.length - 2);\n } else {\n return text;\n }\n}\n\nexports.parseTag = parseTag;\nexports.parseAttr = parseAttr;\n","import '../css/style.scss'\r\nvar xss = require('xss')\r\nvar tagVal, facePath, txtVal, qq, isLoading, listTotal, currentPage = 1, pageSize = 99, commentHtml = []\r\nvar bgColors = ['#f37a86', '#7acaf3', '#917af3', '#8cd39d', '#a0a0a0', '#e0a4a4', '#d8cd82', '#bbc68f']\r\n\r\nvar app = {\r\n init: function () {\r\n this.bindEvent()\r\n },\r\n bindEvent: function () {\r\n this.getTag()\r\n this.getFace()\r\n this.getTxt()\r\n this.msgWall()\r\n this.apply()\r\n this.slick()\r\n this.showPics()\r\n\r\n $('.dialog .mask, .dialog .btn-close').on('click', function () {\r\n $(this).parents('.dialog').hide()\r\n })\r\n $('.dialog-pics .mask, .dialog-pics .btn-close').on('click', function () {\r\n $('.js-slick1').slick('unslick');\r\n })\r\n $('.dialog-video .mask, .dialog-video .btn-close').on('click', function () {\r\n $('.mod-video video')[0].pause();\r\n })\r\n $('.btn-apply').on('click', function () {\r\n $('.dialog-apply').show()\r\n })\r\n var videoSrc = $('.js-video a').eq(0).data('video'), poster,isVideoShow = false;\r\n $(document).on('click', '.js-video', function () {\r\n if(!isVideoShow){\r\n isVideoShow = true\r\n videoSrc = $(this).data('video')\r\n if (videoSrc !== '') {\r\n $.getJSON(videoSrc).done(function (v) {\r\n if (v.data.splitInfo) {\r\n if (v.data.splitInfo[2]) {\r\n videoSrc = v.data.splitInfo[2].info[0].url[0]\r\n } else {\r\n if (v.data.splitInfo[1]) {\r\n videoSrc = v.data.splitInfo[1].info[0].url[0]\r\n } else {\r\n if (v.data.splitInfo[0]) {\r\n videoSrc = v.data.splitInfo[0].info[0].url[0]\r\n }\r\n }\r\n }\r\n poster = v.data.picUrl\r\n $('.mod-video').html('')\r\n $('.dialog-video').show()\r\n } else {\r\n console.log('\\u89c6\\u9891\\u4e0d\\u5b58\\u5728')\r\n }\r\n })\r\n }\r\n }else{\r\n $('.dialog-video').show()\r\n }\r\n })\r\n \r\n $('.js-loadmore').on('click', () => {\r\n if (currentPage * pageSize < listTotal) {\r\n pageSize += 99;\r\n this.loadData()\r\n } else {\r\n $('.no-more').show();\r\n $('.js-loadmore').hide()\r\n }\r\n })\r\n },\r\n getTag() {\r\n tagVal = $('.js-select .tags').find('li').eq(0).text()\r\n $('.js-select .cur').text(tagVal).css('color', '#000')\r\n $('.js-select .cur').on('click', function (event) {\r\n event.stopPropagation();\r\n var cur = $(this), tags\r\n tags = $('.js-select').find('.tags')\r\n tags.slideToggle(200);\r\n tags.find('li').on('click', function () {\r\n tagVal = $(this).text()\r\n cur.text(tagVal).css('color', '#000')\r\n tags.hide()\r\n })\r\n $(document).click(function (event) {\r\n tags.slideUp(200)\r\n });\r\n })\r\n\r\n },\r\n getFace() {\r\n facePath = '//ue.17173cdn.com/a/lib/v4/1.3.1/attitude/assets/img/99.png?0c0590b63d8e159f4a707f8880c893e5'\r\n $('.gb-attitude-btn-drop').on('click', function () {\r\n $('.gb-attitude-drop-menu').show()\r\n })\r\n $('.gb-attitude-drop-menu-item').on('click', function () {\r\n facePath = $(this).find('img').attr('src')\r\n $('.gb-attitude-face-item img').attr('src', facePath);\r\n $('.gb-attitude-drop-menu').hide()\r\n })\r\n\r\n },\r\n getTxt() {\r\n txtVal = $('.js-desc .tags').find('li').eq(0).text()\r\n $('.js-desc .cur').text(txtVal).css('color', '#000')\r\n $('.js-desc .cur').on('click', function (event) {\r\n event.stopPropagation();\r\n var cur = $(this), tags\r\n tags = $('.js-desc').find('.tags')\r\n tags.slideToggle(300);\r\n tags.find('li').on('click', function () {\r\n txtVal = $(this).text()\r\n cur.text(txtVal).css('color', '#000')\r\n tags.hide()\r\n })\r\n $(document).click(function (event) {\r\n tags.slideUp(300)\r\n });\r\n })\r\n\r\n },\r\n slick() {\r\n $('.js-slick').slick({\r\n dots: false,\r\n infinite: true,\r\n arrows: true,\r\n slidesToShow: 6,\r\n autoplay: false,\r\n slidesToScroll: 1,\r\n draggable: false,\r\n variableWidth: true,\r\n // vertical:true\r\n })\r\n },\r\n picSlick(el) {\r\n el.slick({\r\n dots: false,\r\n infinite: true,\r\n arrows: true,\r\n slidesToShow: 1,\r\n autoplay: true,\r\n slidesToScroll: 1,\r\n // vertical:true\r\n })\r\n },\r\n loadData() {\r\n if (isLoading) {\r\n return;\r\n }\r\n isLoading = true\r\n Activity.dataList({\r\n actId: actInfo.actId,\r\n fieldSetId: actInfo.commentFormId,\r\n pageSize: pageSize,\r\n page: currentPage\r\n }, function (data) {\r\n $.each(data.data, function (i, val) {\r\n commentHtml.push(\r\n '
',\r\n '
',\r\n '\"\"',\r\n '
',\r\n '
',\r\n '

',\r\n '#' + val.formData.address + '#',\r\n '' + val.formData.qq + '',\r\n '

',\r\n '

' + val.formData.comment + '

',\r\n '
',\r\n '
'\r\n );\r\n })\r\n $('.info-list').html(commentHtml.join(''))\r\n $('.info-list .item .t1').each(function () {\r\n $(this).css('background', bgColors)\r\n })\r\n for (var i = 0; i < listTotal; i++) {\r\n $('.info-list .item').eq(i).find('.tag').css('background', bgColors[Math.floor(Math.random() * bgColors.length)])\r\n }\r\n })\r\n isLoading = false;\r\n },\r\n msgWall() {\r\n Activity.use('form', {\r\n element: '.js-comment',\r\n actId: actInfo.actId,\r\n formId: actInfo.commentFormId,\r\n onRender: function () { },\r\n onSuccess: function () {\r\n alert(actInfo.commentSuccessTxt)\r\n $(document).find('.error').text('')\r\n $('.js-wall .item').eq(0).before('
\"\"

#' + tagVal + '#' + qq + '

' + txtVal + '

')\r\n\r\n qq = $('.js-qq').val('')\r\n txtVal = $('.js-desc .tags').find('li').eq(0).text()\r\n $('.js-desc .cur').text(txtVal).css('color', '#000')\r\n tagVal = $('.js-select .tags').find('li').eq(0).text()\r\n $('.js-select .cur').text(tagVal).css('color', '#000')\r\n facePath = '//ue.17173cdn.com/a/lib/v4/1.3.1/attitude/assets/img/99.png?0c0590b63d8e159f4a707f8880c893e5'\r\n\r\n }\r\n });\r\n Activity.dataList({\r\n actId: actInfo.actId,\r\n fieldSetId: actInfo.commentFormId,\r\n pageSize: pageSize,\r\n page: currentPage\r\n }, function (data) {\r\n $.each(data.data, function (i, val) {\r\n commentHtml.push(\r\n '
',\r\n '
',\r\n '\"\"',\r\n '
',\r\n '
',\r\n '

',\r\n '#' + xss(val.formData.address) + '#',\r\n '' + xss(val.formData.qq) + '',\r\n '

',\r\n '

' + xss(val.formData.comment) + '

',\r\n '
',\r\n '
'\r\n );\r\n })\r\n $('.info-list').html(commentHtml.join(''))\r\n $('.info-list .item .t1').each(function () {\r\n $(this).css('background', bgColors)\r\n })\r\n for (var i = 0; i < $('.info-list .item').length; i++) {\r\n $('.info-list .item').eq(i).find('.tag').css('background', bgColors[Math.floor(Math.random() * bgColors.length)])\r\n }\r\n listTotal = data.total\r\n $('.js-num').text(listTotal-7908)\r\n })\r\n $('.gb-attitude-btn-submit').on('click', function () {\r\n qq = $('.js-qq').val()\r\n $('.js-comment').find(\"input[name='address']\").val(tagVal)\r\n $('.js-comment').find(\"input[name='headimg']\").val(facePath)\r\n $('.js-comment').find(\"input[name='qq']\").val(qq)\r\n $('.js-comment').find(\"textarea[name='comment']\").val(txtVal)\r\n $('.js-comment .act-btn-submit').trigger('click')\r\n $(document).find('.error').text($('.js-comment .act-form-error').text())\r\n })\r\n\r\n },\r\n apply() {\r\n Activity.use('form', {\r\n element: '.js-apply',\r\n actId: actInfo.actId,\r\n formId: actInfo.applyFormId,\r\n onRender: function () {\r\n $(\"input[name='phone']\").attr(\"placeholder\", \"请输入手机号\")\r\n $(\"input[name='qq']\").attr(\"placeholder\", \"请输入QQ号\")\r\n },\r\n onSuccess: function () {\r\n $('.dialog-success').show()\r\n $('.dialog-apply').hide()\r\n $(\"input[name='phone']\").val(\"\")\r\n $(\"input[name='qq']\").val(\"\")\r\n }\r\n });\r\n },\r\n showPics() {\r\n var that = this\r\n $('.js-pics').on('click', function () {\r\n var str = $(this).find('.pics').html()\r\n $('.js-slick1').html(str)\r\n $('.dialog-pics').show()\r\n that.picSlick($('.js-slick1'))\r\n })\r\n },\r\n}\r\n\r\napp.init()","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","module.exports = false;\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","/**\n * xss\n *\n * @author Zongmin Lei\n */\n\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar FilterXSS = require(\"./xss\");\n\n/**\n * filter xss function\n *\n * @param {String} html\n * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }\n * @return {String}\n */\nfunction filterXSS(html, options) {\n var xss = new FilterXSS(options);\n return xss.process(html);\n}\n\nexports = module.exports = filterXSS;\nexports.filterXSS = filterXSS;\nexports.FilterXSS = FilterXSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\nfor (var i in parser) exports[i] = parser[i];\n\n// using `xss` on the browser, output `filterXSS` to the globals\nif (typeof window !== \"undefined\") {\n window.filterXSS = module.exports;\n}\n\n// using `xss` on the WebWorker, output `filterXSS` to the globals\nfunction isWorkerEnv() {\n return typeof self !== 'undefined' && typeof DedicatedWorkerGlobalScope !== 'undefined' && self instanceof DedicatedWorkerGlobalScope;\n}\nif (isWorkerEnv()) {\n self.filterXSS = module.exports;\n}\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar parseStyle = require('./parser');\nvar _ = require('./util');\n\n\n/**\n * 返回值是否为空\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull (obj) {\n return (obj === undefined || obj === null);\n}\n\n/**\n * 浅拷贝对象\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * 创建CSS过滤器\n *\n * @param {Object} options\n * - {Object} whiteList\n * - {Function} onAttr\n * - {Function} onIgnoreAttr\n * - {Function} safeAttrValue\n */\nfunction FilterCSS (options) {\n options = shallowCopyObject(options || {});\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onAttr = options.onAttr || DEFAULT.onAttr;\n options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT.onIgnoreAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n this.options = options;\n}\n\nFilterCSS.prototype.process = function (css) {\n // 兼容各种奇葩输入\n css = css || '';\n css = css.toString();\n if (!css) return '';\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onAttr = options.onAttr;\n var onIgnoreAttr = options.onIgnoreAttr;\n var safeAttrValue = options.safeAttrValue;\n\n var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {\n\n var check = whiteList[name];\n var isWhite = false;\n if (check === true) isWhite = check;\n else if (typeof check === 'function') isWhite = check(value);\n else if (check instanceof RegExp) isWhite = check.test(value);\n if (isWhite !== true) isWhite = false;\n\n // 如果过滤后 value 为空则直接忽略\n value = safeAttrValue(name, value);\n if (!value) return;\n\n var opts = {\n position: position,\n sourcePosition: sourcePosition,\n source: source,\n isWhite: isWhite\n };\n\n if (isWhite) {\n\n var ret = onAttr(name, value, opts);\n if (isNull(ret)) {\n return name + ':' + value;\n } else {\n return ret;\n }\n\n } else {\n\n var ret = onIgnoreAttr(name, value, opts);\n if (!isNull(ret)) {\n return ret;\n }\n\n }\n });\n\n return retCSS;\n};\n\n\nmodule.exports = FilterCSS;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar _ = require('./util');\n\n\n/**\n * 解析style\n *\n * @param {String} css\n * @param {Function} onAttr 处理属性的函数\n * 参数格式: function (sourcePosition, position, name, value, source)\n * @return {String}\n */\nfunction parseStyle (css, onAttr) {\n css = _.trimRight(css);\n if (css[css.length - 1] !== ';') css += ';';\n var cssLength = css.length;\n var isParenthesisOpen = false;\n var lastPos = 0;\n var i = 0;\n var retCSS = '';\n\n function addNewAttr () {\n // 如果没有正常的闭合圆括号,则直接忽略当前属性\n if (!isParenthesisOpen) {\n var source = _.trim(css.slice(lastPos, i));\n var j = source.indexOf(':');\n if (j !== -1) {\n var name = _.trim(source.slice(0, j));\n var value = _.trim(source.slice(j + 1));\n // 必须有属性名称\n if (name) {\n var ret = onAttr(lastPos, retCSS.length, name, value, source);\n if (ret) retCSS += ret + '; ';\n }\n }\n }\n lastPos = i + 1;\n }\n\n for (; i < cssLength; i++) {\n var c = css[i];\n if (c === '/' && css[i + 1] === '*') {\n // 备注开始\n var j = css.indexOf('*/', i + 2);\n // 如果没有正常的备注结束,则后面的部分全部跳过\n if (j === -1) break;\n // 直接将当前位置调到备注结尾,并且初始化状态\n i = j + 1;\n lastPos = i + 1;\n isParenthesisOpen = false;\n } else if (c === '(') {\n isParenthesisOpen = true;\n } else if (c === ')') {\n isParenthesisOpen = false;\n } else if (c === ';') {\n if (isParenthesisOpen) {\n // 在圆括号里面,忽略\n } else {\n addNewAttr();\n }\n } else if (c === '\\n') {\n addNewAttr();\n }\n }\n\n return _.trim(retCSS);\n}\n\nmodule.exports = parseStyle;\n","/**\n * filter xss\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar parseTag = parser.parseTag;\nvar parseAttr = parser.parseAttr;\nvar _ = require(\"./util\");\n\n/**\n * returns `true` if the input value is `undefined` or `null`\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull(obj) {\n return obj === undefined || obj === null;\n}\n\n/**\n * get attributes for a tag\n *\n * @param {String} html\n * @return {Object}\n * - {String} html\n * - {Boolean} closing\n */\nfunction getAttrs(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n return {\n html: \"\",\n closing: html[html.length - 2] === \"/\"\n };\n }\n html = _.trim(html.slice(i + 1, -1));\n var isClosing = html[html.length - 1] === \"/\";\n if (isClosing) html = _.trim(html.slice(0, -1));\n return {\n html: html,\n closing: isClosing\n };\n}\n\n/**\n * shallow copy\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject(obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * FilterXSS class\n *\n * @param {Object} options\n * whiteList, onTag, onTagAttr, onIgnoreTag,\n * onIgnoreTagAttr, safeAttrValue, escapeHtml\n * stripIgnoreTagBody, allowCommentTag, stripBlankChar\n * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`\n */\nfunction FilterXSS(options) {\n options = shallowCopyObject(options || {});\n\n if (options.stripIgnoreTag) {\n if (options.onIgnoreTag) {\n console.error(\n 'Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'\n );\n }\n options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;\n }\n\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onTag = options.onTag || DEFAULT.onTag;\n options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;\n options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;\n options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;\n this.options = options;\n\n if (options.css === false) {\n this.cssFilter = false;\n } else {\n options.css = options.css || {};\n this.cssFilter = new FilterCSS(options.css);\n }\n}\n\n/**\n * start process and returns result\n *\n * @param {String} html\n * @return {String}\n */\nFilterXSS.prototype.process = function(html) {\n // compatible with the input\n html = html || \"\";\n html = html.toString();\n if (!html) return \"\";\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onTag = options.onTag;\n var onIgnoreTag = options.onIgnoreTag;\n var onTagAttr = options.onTagAttr;\n var onIgnoreTagAttr = options.onIgnoreTagAttr;\n var safeAttrValue = options.safeAttrValue;\n var escapeHtml = options.escapeHtml;\n var cssFilter = me.cssFilter;\n\n // remove invisible characters\n if (options.stripBlankChar) {\n html = DEFAULT.stripBlankChar(html);\n }\n\n // remove html comments\n if (!options.allowCommentTag) {\n html = DEFAULT.stripCommentTag(html);\n }\n\n // if enable stripIgnoreTagBody\n var stripIgnoreTagBody = false;\n if (options.stripIgnoreTagBody) {\n var stripIgnoreTagBody = DEFAULT.StripTagBody(\n options.stripIgnoreTagBody,\n onIgnoreTag\n );\n onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;\n }\n\n var retHtml = parseTag(\n html,\n function(sourcePosition, position, tag, html, isClosing) {\n var info = {\n sourcePosition: sourcePosition,\n position: position,\n isClosing: isClosing,\n isWhite: whiteList.hasOwnProperty(tag)\n };\n\n // call `onTag()`\n var ret = onTag(tag, html, info);\n if (!isNull(ret)) return ret;\n\n if (info.isWhite) {\n if (info.isClosing) {\n return \"\";\n }\n\n var attrs = getAttrs(html);\n var whiteAttrList = whiteList[tag];\n var attrsHtml = parseAttr(attrs.html, function(name, value) {\n // call `onTagAttr()`\n var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;\n var ret = onTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n\n if (isWhiteAttr) {\n // call `safeAttrValue()`\n value = safeAttrValue(tag, name, value, cssFilter);\n if (value) {\n return name + '=\"' + value + '\"';\n } else {\n return name;\n }\n } else {\n // call `onIgnoreTagAttr()`\n var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n return;\n }\n });\n\n // build new tag html\n var html = \"<\" + tag;\n if (attrsHtml) html += \" \" + attrsHtml;\n if (attrs.closing) html += \" /\";\n html += \">\";\n return html;\n } else {\n // call `onIgnoreTag()`\n var ret = onIgnoreTag(tag, html, info);\n if (!isNull(ret)) return ret;\n return escapeHtml(html);\n }\n },\n escapeHtml\n );\n\n // if enable stripIgnoreTagBody\n if (stripIgnoreTagBody) {\n retHtml = stripIgnoreTagBody.remove(retHtml);\n }\n\n return retHtml;\n};\n\nmodule.exports = FilterXSS;\n"],"sourceRoot":""}