dompurify 3.4.15 → 3.4.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -6
- package/dist/purify.cjs.d.ts +398 -405
- package/dist/purify.cjs.js +2381 -2640
- package/dist/purify.cjs.js.map +1 -1
- package/dist/purify.es.d.mts +399 -404
- package/dist/purify.es.mjs +2380 -2638
- package/dist/purify.es.mjs.map +1 -1
- package/dist/purify.js +2467 -2729
- package/dist/purify.js.map +1 -1
- package/dist/purify.min.js +7 -3
- package/dist/purify.min.js.map +1 -1
- package/package.json +19 -24
- package/src/purify.ts +62 -5
package/dist/purify.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purify.min.js","sources":["../src/utils.ts","../src/tags.ts","../src/attrs.ts","../src/regexp.ts","../src/purify.ts"],"sourcesContent":[null,null,null,null,null],"names":["entries","Object","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","Reflect","apply","construct","x","func","thisArg","_len","arguments","length","args","Array","_key","Func","_len2","_key2","arrayForEach","unapply","prototype","forEach","arrayLastIndexOf","lastIndexOf","arrayPop","pop","arrayPush","push","arraySplice","splice","arrayIsArray","isArray","stringToLowerCase","String","toLowerCase","stringToString","toString","stringMatch","match","stringReplace","replace","stringIndexOf","indexOf","stringTrim","trim","numberToString","Number","booleanToString","Boolean","bigintToString","BigInt","symbolToString","Symbol","objectHasOwnProperty","hasOwnProperty","objectToString","regExpTest","RegExp","test","typeErrorCreate","TypeError","_len4","_key4","lastIndex","_len3","_key3","addToSet","set","array","transformCaseFunc","l","element","lcElement","cleanArray","index","clone","object","newObject","_ref2","_ref3","_slicedToArray","property","value","constructor","lookupGetter","prop","desc","get","html","svg","svgFilters","svgDisallowed","mathMl","mathMlDisallowed","text","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","ELEMENT_MARKUP_PROBE","COMMENT_MARKUP_PROBE","FALLBACK_TAG_CLOSE","SELF_CLOSING_TAG","NODE_TYPE","LITERAL_TEXT_ELEMENT_NAMES","LITERAL_TEXT_ELEMENTS","LITERAL_TEXT_CLOSE","map","name","getGlobal","window","_resolveSetOption","cfg","key","fallback","options","base","transform","_resolveObjectOption","makeFallback","undefined","purify","createDOMPurify","DOMPurify","root","version","VERSION","removed","document","nodeType","Element","isSupported","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","trustedTypes","ElementPrototype","cloneNode","remove","removeAttributeNode","getNextSibling","getChildNodes","getParentNode","getShadowRoot","getAttributes","getNodeType","getNodeName","getOwnerDocument","_readNodeType","node","_readNodeName","nodeName","template","createElement","content","ownerDocument","trustedTypesPolicy","defaultTrustedTypesPolicy","emptyHTML","defaultTrustedTypesPolicyResolved","IN_TRUSTED_TYPES_POLICY","_assertNotInTrustedTypesPolicy","_createTrustedHTML","createHTML","_getDefaultTrustedTypesPolicy","purifyHostElement","createPolicy","suffix","ATTR_NAME","hasAttribute","getAttribute","policyName","createScriptURL","scriptUrl","_","console","warn","_createTrustedTypesPolicy","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","createHTMLDocument","EXPRESSIONS","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","ATTRS","CUSTOM_ELEMENT_HANDLING","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","tagCheck","attributeCheck","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","SET_CONFIG_ALLOWED_TAGS","SET_CONFIG_ALLOWED_ATTR","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","DEFAULT_MATHML_TEXT_INTEGRATION_POINTS","MATHML_TEXT_INTEGRATION_POINTS","DEFAULT_HTML_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","Function","_parseConfig","_unused","isRegex","ALLOWED_URI_REGEXP","customElementHandling","ADD_TAGS","ADD_ATTR","ADD_FORBID_CONTENTS","table","tbody","TRUSTED_TYPES_POLICY","previousTrustedTypesPolicy","error","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkValidNamespace","parent","tagName","namespaceURI","parentTagName","_checkSvgNamespace","_checkMathMlNamespace","_checkHtmlNamespace","_forceRemove","removeChild","_stripAttributeNode","attribute","removeAttribute","_neutralizeRoot","_neutralizeSubtree","childNodes","snapshot","child","attributes","i","_removeAttribute","attr","getAttributeNode","from","setAttribute","_stripDisallowedAttributes","stack","_isPatchLinkageAttribute","lcName","lcTag","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","createDocument","innerHTML","body","insertBefore","createTextNode","call","_createNodeIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_stripTemplateExpressions","_scrubTemplateExpressions","_node$querySelectorAl","normalize","walker","currentNode","nextNode","data","templates","querySelectorAll","tmpl","_isDocumentFragment","_isClobbered","realTagName","textContent","hasChildNodes","_isNode","_executeHooks","hook","_matchesNameCheck","check","_forkSharedAllowlist","hookList","defaultSet","setConfigSet","_handleHookDetachedNode","_sanitizeElements","allowedTags","firstElementChild","_isUnsafeNode","_isBasicCustomElement","parentNode","hoisted","_sanitizeDisallowedNode","_isValidAttribute","nameIsPermitted","RESERVED_CUSTOM_ELEMENT_NAMES","_applyTrustedTypesToAttribute","getAttributeType","_createTrustedScriptURL","_setAttributeValue","setAttributeNS","_sanitizeAttributes","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","initValue","recreatedNamedProp","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","innerSr","_sanitizeAttachedShadowRoots","shadow","item","isElement","rootName","sr","sanitize","importedNode","returnNode","valueAsRecord","valueToString","stringified","stringifyValue","inPlace","_neutralizePatchLinkage","nn","appendChild","firstChild","walkRoot","nodeIterator","entry","shadowroot","shadowrootmode","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","tag","addHook","entryPoint","hookFunction","removeHook","removeHooks","removeAllHooks"],"mappings":"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AEjCA,GACiB,iBAAVA,GACPA,EAAMC,cAAgBzF,OAEtBmF,EAAUI,GAAYN,EAAMO,GAE5BL,EAAUI,GAAYC,EAG5B,CAEA,OAAOL,CACT,CAmEA,SAASO,EACPR,EACAS,GAEA,KAAkB,OAAXT,GAAiB,CACtB,MAAMU,EAAOxF,EAAyB8E,EAAQS,GAE9C,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAOpE,EAAQmE,EAAKC,KAGtB,GAA0B,mBAAfD,EAAKJ,MACd,OAAO/D,EAAQmE,EAAKJ,MAExB,CAEAN,EAAS/E,EAAe+E,EAC1B,CAMA,OAJA,WACE,OAAO,IACT,CAGF,CC1RO,MAAMY,EAAOzF,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAGW0F,EAAM1F,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,cACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,YACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,UAGW2F,EAAa3F,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAOW4F,EAAgB5F,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,QAGW6F,EAAS7F,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,gBAKW8F,EAAmB9F,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,SAGW+F,EAAO/F,EAAO,CAAC,UC1RfyF,EAAOzF,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,UACA,aACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,cACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,QACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,OACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,UAGW0F,EAAM1F,EAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,oBACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,YACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,iBACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,mBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,gBACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAGW6F,EAAS7F,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,cACA,cACA,gBACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,UAGWgG,EAAMhG,EAAO,CACxB,aACA,SACA,cACA,YACA,gBC1XWiG,EAAgBhG,EAAK,yBACrBiG,EAAWjG,EAAK,yBAChBkG,EAAclG,EAAK,eACnBmG,EAAYnG,EAAK,gCACjBoG,GAAYpG,EAAK,kBACjBqG,GAAiBrG,EAC5B,oGAEWsG,GAAoBtG,EAAK,yBACzBuG,GAAkBvG,EAC7B,+DAEWwG,GAAexG,EAAK,WACpByG,GAAiBzG,EAAK,4BAKtB0G,GAAuB1G,EAAK,YAC5B2G,GAAuB3G,EAAK,WAC5B4G,GAAqB5G,EAAK,+BAC1B6G,GAAmB7G,EAAK,QC6B/B8G,GACK,EADLA,GAGE,EAHFA,GAOmB,EAPnBA,GAQK,EARLA,GASM,EATNA,GAWc,GAoBdC,GAA6B,CACjC,QACA,SACA,MACA,SACA,UACA,WACA,YACA,YAEIC,GAAwBjH,EAAOmE,EAAS,CAAA,EAAI6C,KAQ5CE,GAAsB,WAC1B,MAAMC,EAA8B,CAAA,EAIpC,OAHAhG,EAAa6F,GAA6BI,IACxCD,EAAIC,GAAQnH,EAAK,IAAIyD,OAAO,KAAO0D,EAAO,wBAAyB,QAE9DpH,EAAOmH,EAChB,CAN4B,GAQtBE,GAAY,WAChB,MAAyB,oBAAXC,OAAyB,KAAOA,MAChD,EA8EMC,GAAoB,SACxBC,EACAC,EACAC,EACAC,GAKA,OAAOrE,EAAqBkE,EAAKC,IAAQ1F,EAAayF,EAAIC,IACtDtD,EACEwD,EAAQC,KAAOhD,EAAM+C,EAAQC,MAAQ,CAAA,EACrCJ,EAAIC,GACJE,EAAQE,WAEVH,CACN,EAaMI,GAAuB,SAC3BN,EACAC,EACAM,GAEA,MAAM5C,EAAQ7B,EAAqBkE,EAAKC,GAAOD,EAAIC,QAAOO,EAC1D,OAAO7C,GAA0B,iBAAVA,EACnBP,EAAMO,GACN4C,GACN,EAk7FA,IAAAE,GAh7FA,SAASC,IAAgD,IAAhCZ,EAAA3G,UAAAC,OAAA,QAAAoH,IAAArH,UAAA,GAAAA,UAAA,GAAqB0G,KAC5C,MAAMc,EAAwBC,GAAqBF,EAAgBE,GAMnE,GAJAD,EAAUE,QAAUC,SAEpBH,EAAUI,QAAU,IAGjBjB,IACAA,EAAOkB,UACRlB,EAAOkB,SAASC,WAAa1B,KAC5BO,EAAOoB,QAMR,OAFAP,EAAUQ,aAAc,EAEjBR,EAGT,IAAMK,EAAalB,EAAbkB,SAEN,MAAMI,EAAmBJ,EACnBK,EACJD,EAAiBC,cAWfvB,EATFwB,uBACAC,EAQEzB,EARFyB,oBACAC,EAOE1B,EAPF0B,KACAN,EAMEpB,EANFoB,QACAO,EAKE3B,EALF2B,WAAUC,EAKR5B,EAJF6B,kBAAY,IAAAD,IAAG5B,EAAO6B,cAAiB7B,EAAe8B,iBAIpD9B,EAHF+B,sBACAC,EAEEhC,EAFFgC,UACAC,GACEjC,EADFiC,aAGIC,GAAmBd,EAAQrH,UAE3BoI,GAAYpE,EAAamE,GAAkB,aAC3CE,GAASrE,EAAamE,GAAkB,UAMxCG,GAAsBtE,EAC1BmE,GACA,uBAEII,GAAiBvE,EAAamE,GAAkB,eAChDK,GAAgBxE,EAAamE,GAAkB,cAC/CM,GAAgBzE,EAAamE,GAAkB,cAC/CO,GAAgB1E,EAAamE,GAAkB,cAC/CQ,GAAgB3E,EAAamE,GAAkB,cAC/CS,GACJjB,GAAQA,EAAK3H,UAAYgE,EAAa2D,EAAK3H,UAAW,YAAc,KAChE6I,GACJlB,GAAQA,EAAK3H,UAAYgE,EAAa2D,EAAK3H,UAAW,YAAc,KAChE8I,GACJnB,GAAQA,EAAK3H,UACTgE,EAAa2D,EAAK3H,UAAW,iBAC7B,KAMA+I,GAAgB,SAAUC,GAC9B,OAAOJ,GAAcA,GAAYI,GAASA,EAAa5B,QACzD,EAEM6B,GAAgB,SAAUD,GAC9B,OAAOH,GAAcA,GAAYG,GAASA,EAAaE,QACzD,EAQA,GAAmC,mBAAxBxB,EAAoC,CAC7C,MAAMyB,EAAWhC,EAASiC,cAAc,YACpCD,EAASE,SAAWF,EAASE,QAAQC,gBACvCnC,EAAWgC,EAASE,QAAQC,cAEhC,CAEA,IAAIC,GAOAC,GANAC,GAAY,GAOZC,IAAoC,EASpCC,GAA0B,EAC9B,MAAMC,GAAiC,WACrC,GAAID,GAA0B,EAC5B,MAAMpH,EACJ,4RAON,EAEMsH,GAAqB,SAAUzF,GACnCwF,KAEAD,KACA,IACE,OAAOJ,GAAmBO,WAAW1F,EACvC,CAAC,QACCuF,IACF,CACF,EAiBMI,GAAgC,WASpC,OARKL,KACHF,GA/P4B,SAChCtB,EACA8B,GAEA,GAC0B,iBAAjB9B,GAC8B,mBAA9BA,EAAa+B,aAEpB,OAAO,KAMT,IAAIC,EAAS,KACb,MAAMC,EAAY,wBACdH,GAAqBA,EAAkBI,aAAaD,KACtDD,EAASF,EAAkBK,aAAaF,IAG1C,MAAMG,EAAa,aAAeJ,EAAS,IAAMA,EAAS,IAE1D,IACE,OAAOhC,EAAa+B,aAAaK,EAAY,CAC3CR,WAAW1F,GACFA,EAETmG,gBAAgBC,GACPA,GAGb,CAAE,MAAOC,GAOP,OAHAC,QAAQC,KACN,uBAAyBL,EAAa,0BAEjC,IACT,CACF,CAuNkCM,CAC1B1C,GACAV,GAEFkC,IAAoC,GAG/BF,EACT,EAEAqB,GAKI1D,EAJF2D,GAAcD,GAAdC,eACAC,GAAkBF,GAAlBE,mBACAC,GAAsBH,GAAtBG,uBACAC,GAAoBJ,GAApBI,qBAEMC,GAAe3D,EAAf2D,WAER,IAAIC,GAtOG,CACLC,wBAAyB,GACzBC,sBAAuB,GACvBC,uBAAwB,GACxBC,yBAA0B,GAC1BC,uBAAwB,GACxBC,wBAAyB,GACzBC,sBAAuB,GACvBC,oBAAqB,GACrBC,uBAAwB,IAkO1B9E,EAAUQ,YACW,mBAAZjJ,GACkB,mBAAlBoK,IACPqC,SACsCnE,IAAtCmE,GAAee,mBAEjB,MACEjH,GAQEkH,EAPFjH,GAOEiH,EANFhH,GAMEgH,EALF/G,GAKE+G,EAJF9G,GAIE8G,GAHF5G,GAGE4G,GAFF3G,GAEE2G,GADFzG,GACEyG,GAEJ,IAAM7G,GAAmB6G,GAQrBC,GAAe,KACnB,MAAMC,GAAuBlJ,EAAS,CAAA,EAAI,IACrCmJ,KACAA,KACAA,KACAA,KACAA,IAIL,IAAIC,GAAe,KACnB,MAAMC,GAAuBrJ,EAAS,CAAA,EAAI,IACrCsJ,KACAA,KACAA,KACAA,IASL,IAAIC,GAA0B/N,OAAOM,KACnCC,EAAO,KAAM,CACXyN,aAAc,CACZC,UAAU,EACVC,cAAc,EACdC,YAAY,EACZ3I,MAAO,MAET4I,mBAAoB,CAClBH,UAAU,EACVC,cAAc,EACdC,YAAY,EACZ3I,MAAO,MAET6I,+BAAgC,CAC9BJ,UAAU,EACVC,cAAc,EACdC,YAAY,EACZ3I,OAAO,MAMT8I,GAAc,KAGdC,GAAc,KAGlB,MAAMC,GAAyBxO,OAAOM,KACpCC,EAAO,KAAM,CACXkO,SAAU,CACRR,UAAU,EACVC,cAAc,EACdC,YAAY,EACZ3I,MAAO,MAETkJ,eAAgB,CACdT,UAAU,EACVC,cAAc,EACdC,YAAY,EACZ3I,MAAO,SAMb,IAAImJ,IAAkB,EAGlBC,IAAkB,EAGlBC,IAA0B,EAI1BC,IAA2B,EAK3BC,IAAqB,EAKrBC,IAAe,EAGfC,IAAiB,EAGjBC,IAAa,EAObC,GAA0B,KAC1BC,GAA0B,KAI1BC,IAAa,EAMbC,IAAa,EAIbC,IAAsB,EAItBC,IAAsB,EAKtBC,IAAe,EAefC,IAAuB,EAC3B,MAAMC,GAA8B,gBAGpC,IAAIC,IAAe,EAIfC,IAAW,EAGXC,GAA0C,CAAA,EAG1CC,GAAkB,KACtB,MAAMC,GAA0BxL,EAAS,CAAA,EAAI,CAC3C,iBACA,QACA,WACA,OACA,gBACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,QACA,UACA,WACA,WACA,YACA,SAUA,kBACA,QACA,MACA,WACA,QACA,QACA,QACA,QAIF,IAAIyL,GAAgB,KACpB,MAAMC,GAAwB1L,EAAS,CAAA,EAAI,CACzC,QACA,QACA,MACA,SACA,QACA,UAIF,IAAI2L,GAAsB,KAC1B,MAAMC,GAA8B5L,EAAS,GAAI,CAC/C,MACA,QACA,MACA,KACA,QACA,OACA,UACA,cACA,OACA,UACA,QACA,QACA,QACA,UAGI6L,GAAmB,qCACnBC,GAAgB,6BAChBC,GAAiB,+BAEvB,IAAIC,GAAYD,GACZE,IAAiB,EAGjBC,GAAqB,KACzB,MAAMC,GAA6BnM,EACjC,GACA,CAAC6L,GAAkBC,GAAeC,IAClC9N,GAGImO,GAAyCvQ,EAAO,CACpD,KACA,KACA,KACA,KACA,UAEF,IAAIwQ,GAAiCrM,EACnC,CAAA,EACAoM,IAGF,MAAME,GAAkCzQ,EAAO,CAAC,mBAChD,IAAI0Q,GAA0BvM,EAAS,CAAA,EAAIsM,IAM3C,MAAME,GAA+BxM,EAAS,CAAA,EAAI,CAChD,QACA,QACA,OACA,IACA,WAIF,IAAIyM,GAAmD,KACvD,MAAMC,GAA+B,CAAC,wBAAyB,aAE/D,IAAIvM,GAA2D,KAG3DwM,GAAwB,KAK5B,MAAMC,GAAcvI,EAASiC,cAAc,QAErCuG,GAAoB,SACxBC,GAEA,OAAOA,aAAqBvN,QAAUuN,aAAqBC,QAC7D,EAQMC,GAAe,WAA0B,IAAhB3J,EAAA7G,UAAAC,OAAA,QAAAoH,IAAArH,UAAA,GAAAA,UAAA,GAAc,CAAA,EAC3C,GAAImQ,IAAUA,KAAWtJ,EACvB,OAIGA,GAAsB,iBAARA,IACjBA,EAAM,CAAA,GAIRA,EAAM5C,EAAM4C,GAEZoJ,QAEEC,GAA6BlO,QAAQ6E,EAAIoJ,mBAtCX,YAwC1BpJ,EAAIoJ,kBAGVtM,GACwB,0BAAtBsM,GACIxO,EACAH,EAGNmL,GAAe7F,GACbC,EACA,eACA6F,GACA,CAAExF,UAAWvD,KAEfiJ,GAAehG,GACbC,EACA,eACAgG,GACA,CAAE3F,UAAWvD,KAEf+L,GAAqB9I,GACnBC,EACA,qBACA8I,GACA,CAAEzI,UAAWzF,IAEf0N,GAAsBvI,GACpBC,EACA,oBACAuI,GACA,CAAElI,UAAWvD,GAAmBsD,KAAMmI,KAExCH,GAAgBrI,GACdC,EACA,oBACAqI,GACA,CAAEhI,UAAWvD,GAAmBsD,KAAMiI,KAExCH,GAAkBnI,GAChBC,EACA,kBACAmI,GACA,CAAE9H,UAAWvD,KAEf2J,GAAc1G,GAAkBC,EAAK,cAAe5C,EAAM,CAAA,GAAK,CAC7DiD,UAAWvD,KAEb4J,GAAc3G,GAAkBC,EAAK,cAAe5C,EAAM,CAAA,GAAK,CAC7DiD,UAAWvD,KAEbmL,KAAenM,EAAqBkE,EAAK,kBACrCA,EAAIiI,cAA4C,iBAArBjI,EAAIiI,aAC7B7K,EAAM4C,EAAIiI,cACVjI,EAAIiI,cAGVnB,IAA0C,IAAxB9G,EAAI8G,gBACtBC,IAA0C,IAAxB/G,EAAI+G,gBACtBC,GAA0BhH,EAAIgH,0BAA2B,EACzDC,IAA4D,IAAjCjH,EAAIiH,yBAC/BC,GAAqBlH,EAAIkH,qBAAsB,EAC/CC,IAAoC,IAArBnH,EAAImH,aACnBC,GAAiBpH,EAAIoH,iBAAkB,EACvCK,GAAazH,EAAIyH,aAAc,EAC/BC,GAAsB1H,EAAI0H,sBAAuB,EACjDC,GAAsB3H,EAAI2H,sBAAuB,EACjDH,GAAaxH,EAAIwH,aAAc,EAC/BI,IAAoC,IAArB5H,EAAI4H,aACnBC,GAAuB7H,EAAI6H,uBAAwB,EACnDE,IAAoC,IAArB/H,EAAI+H,aACnBC,GAAWhI,EAAIgI,WAAY,EAC3BlJ,GJ1gBJ,SAAiBnB,GACf,IAEE,OADA1B,EAAW0B,EAAiB,KACrB,CACT,CAAE,MAAAiM,GACA,OAAO,CACT,CACF,CImgBqBC,CAAQ7J,EAAI8J,oBACzB9J,EAAI8J,mBACJnE,GAEJgD,GAC2B,iBAAlB3I,EAAI2I,UAAyB3I,EAAI2I,UAAYD,GAEtDM,GAAiC1I,GAC/BN,EACA,iCACA,IAAMrD,EAAS,CAAA,EAAIoM,KAGrBG,GAA0B5I,GACxBN,EACA,0BACA,IAAMrD,EAAS,CAAA,EAAIsM,KAGrB,MAAMc,EAAwBzJ,GAC5BN,EACA,0BACA,IAAMtH,EAAO,OAqIf,GAlIAwN,GAA0BxN,EAAO,MAG/BoD,EAAqBiO,EAAuB,iBAC5CP,GAAkBO,EAAsB5D,gBAExCD,GAAwBC,aAAe4D,EAAsB5D,cAI7DrK,EAAqBiO,EAAuB,uBAC5CP,GAAkBO,EAAsBxD,sBAExCL,GAAwBK,mBACtBwD,EAAsBxD,oBAIxBzK,EACEiO,EACA,mCAE8D,kBAAzDA,EAAsBvD,iCAE7BN,GAAwBM,+BACtBuD,EAAsBvD,gCAG1B/N,EAAKyN,IAEDgB,KACFH,IAAkB,GAGhBW,KACFD,IAAa,GAIXQ,KACFrC,GAAejJ,EAAS,CAAA,EAAImJ,GAC5BC,GAAerN,EAAO,OACI,IAAtBuP,GAAahK,OACftB,EAASiJ,GAAcE,GACvBnJ,EAASoJ,GAAcE,KAGA,IAArBgC,GAAa/J,MACfvB,EAASiJ,GAAcE,GACvBnJ,EAASoJ,GAAcE,GACvBtJ,EAASoJ,GAAcE,KAGO,IAA5BgC,GAAa9J,aACfxB,EAASiJ,GAAcE,GACvBnJ,EAASoJ,GAAcE,GACvBtJ,EAASoJ,GAAcE,KAGG,IAAxBgC,GAAa5J,SACf1B,EAASiJ,GAAcE,GACvBnJ,EAASoJ,GAAcE,GACvBtJ,EAASoJ,GAAcE,KAM3BU,GAAuBC,SAAW,KAClCD,GAAuBE,eAAiB,KAGpC/K,EAAqBkE,EAAK,cACA,mBAAjBA,EAAIgK,SACbrD,GAAuBC,SAAW5G,EAAIgK,SAC7BzP,EAAayF,EAAIgK,YACtBpE,KAAiBC,KACnBD,GAAexI,EAAMwI,KAGvBjJ,EAASiJ,GAAc5F,EAAIgK,SAAUlN,MAIrChB,EAAqBkE,EAAK,cACA,mBAAjBA,EAAIiK,SACbtD,GAAuBE,eAAiB7G,EAAIiK,SACnC1P,EAAayF,EAAIiK,YACtBlE,KAAiBC,KACnBD,GAAe3I,EAAM2I,KAGvBpJ,EAASoJ,GAAc/F,EAAIiK,SAAUnN,MAKvChB,EAAqBkE,EAAK,wBAC1BzF,EAAayF,EAAIkK,uBAEbhC,KAAoBC,KACtBD,GAAkB9K,EAAM8K,KAG1BvL,EAASuL,GAAiBlI,EAAIkK,oBAAqBpN,KAIjDiL,KACFnC,GAAa,UAAW,GAItBwB,IACFzK,EAASiJ,GAAc,CAAC,OAAQ,OAAQ,SAItCA,GAAauE,QACfxN,EAASiJ,GAAc,CAAC,iBACjBa,GAAY2D,OAUjBpK,EAAIqK,qBAAsB,CAC5B,GAAmD,mBAAxCrK,EAAIqK,qBAAqB1G,WAClC,MAAMvH,EACJ,+EAIJ,GAAwD,mBAA7C4D,EAAIqK,qBAAqBjG,gBAClC,MAAMhI,EACJ,oFAKJ,MAAMkO,EAA6BlH,GACnCA,GAAqBpD,EAAIqK,qBAMzB,IACE/G,GAAYI,GAAmB,GACjC,CAAE,MAAO6G,GAEP,MADAnH,GAAqBkH,EACfC,CACR,CACF,MAAwC,OAA7BvK,EAAIqK,sBAQbjH,QAAqB5C,EACrB8C,GAAY,UAQe9C,IAAvB4C,KACFA,GAAqBQ,MAOnBR,IAA2C,iBAAdE,KAC/BA,GAAYI,GAAmB,MAM/BlL,GACFA,EAAOwH,GAGTsJ,GAAStJ,CACX,EAKMwK,GAAe7N,EAAS,GAAI,IAC7BmJ,KACAA,KACAA,IAEC2E,GAAkB9N,EAAS,CAAA,EAAI,IAChCmJ,KACAA,IAkHC4E,GAAuB,SAAU1N,GACrC,IAAI2N,EAASrI,GAActF,GAItB2N,GAAWA,EAAOC,UACrBD,EAAS,CACPE,aAAclC,GACdiC,QAAS,aAIb,MAAMA,EAAUnQ,EAAkBuC,EAAQ4N,SACpCE,EAAgBrQ,EAAkBkQ,EAAOC,SAE/C,QAAK/B,GAAmB7L,EAAQ6N,gBAI5B7N,EAAQ6N,eAAiBpC,GA1HJ,SACzBmC,EACAD,EACAG,GAKA,OAAIH,EAAOE,eAAiBnC,GACP,QAAZkC,EAMLD,EAAOE,eAAiBrC,GAEZ,QAAZoC,IACmB,mBAAlBE,GACC9B,GAA+B8B,IAM9BrP,QAAQ+O,GAAaI,GAC9B,CAiGWG,CAAmBH,EAASD,EAAQG,GAGzC9N,EAAQ6N,eAAiBrC,GA1FD,SAC5BoC,EACAD,EACAG,GAKA,OAAIH,EAAOE,eAAiBnC,GACP,SAAZkC,EAKLD,EAAOE,eAAiBpC,GACP,SAAZmC,GAAsB1B,GAAwB4B,GAKhDrP,QAAQgP,GAAgBG,GACjC,CAsEWI,CAAsBJ,EAASD,EAAQG,GAG5C9N,EAAQ6N,eAAiBnC,GA/DH,SAC1BkC,EACAD,EACAG,GAKA,QACEH,EAAOE,eAAiBpC,KACvBS,GAAwB4B,OAMzBH,EAAOE,eAAiBrC,KACvBQ,GAA+B8B,MAQ/BL,GAAgBG,KAChBzB,GAA6ByB,KAAaJ,GAAaI,GAE5D,CAoCWK,CAAoBL,EAASD,EAAQG,KAKtB,0BAAtB1B,KACAP,GAAmB7L,EAAQ6N,eAU/B,EAOMK,GAAe,SAAUrI,GAC7B1I,EAAUwG,EAAUI,QAAS,CAAE/D,QAAS6F,IAExC,IAEEP,GAAcO,GAAMsI,YAAYtI,EAClC,CAAE,MAAOyB,GAsBP,GAFApC,GAAOW,IAEFP,GAAcO,GACjB,MAAMzG,EACJ,+HAIN,CACF,EAmBMgP,GAAsB,SAC1BpO,EACAqO,EACAzL,GAEA,IACEuC,GAAoBnF,EAASqO,EAC/B,CAAE,MAAO/G,GACP,IACEtH,EAAQsO,gBAAgB1L,EAC1B,CAAE,MAAO0E,GAAI,CACf,CACF,EAkBMiH,GAAkB,SAAU3K,GAOhC4K,GAAmB5K,GAEnB,MAAM6K,EAAapJ,GAAczB,GACjC,GAAI6K,EAAY,CACd,MAAMC,EAAmB,GACzB/R,EAAa8R,EAAaE,IACxBxR,EAAUuR,EAAUC,KAEtBhS,EAAa+R,EAAWC,IACtB,IACEzJ,GAAOyJ,EACT,CAAE,MAAOrH,GACP,GAGN,CAEA,MAAMsH,EAAapJ,GAAc5B,GACjC,GAAIgL,EACF,IAAK,IAAIC,EAAID,EAAWxS,OAAS,EAAGyS,GAAK,IAAKA,EAAG,CAC/C,MAAMR,EAAYO,EAAWC,GACvBjM,EAAOyL,GAAaA,EAAUzL,KAChB,iBAATA,GACTwL,GAAoBxK,EAAiByK,EAAWzL,EAEpD,CAEJ,EAoBMkM,GAAmB,SACvBlM,EACA5C,EACA+O,GAEA,IAAKA,EACH,IACEA,EAAO/O,EAAQgP,iBAAiBpM,EAClC,CAAE,MAAO0E,GACPyH,EAAO,IACT,CAGF5R,EAAUwG,EAAUI,QAAS,CAC3BsK,UAAWU,GAAQ,KACnBE,KAAMjP,IAGR,IACM+O,EACF5J,GAAoBnF,EAAS+O,GAE7B/O,EAAQsO,gBAAgB1L,EAE5B,CAAE,MAAO0E,GAQP,IACEtH,EAAQsO,gBAAgB1L,EAC1B,CAAE,MAAO0E,GAAI,CACf,CAGA,GAAa,OAAT1E,EACF,GAAI6H,IAAcC,GAChB,IACEwD,GAAalO,EACf,CAAE,MAAOsH,GAAI,MAEb,IACEtH,EAAQkP,aAAatM,EAAM,GAC7B,CAAE,MAAO0E,GAAI,CAGnB,EAYM6H,GAA6B,SAAUnP,GAC3C,MAAM4O,EAAapJ,GAAcxF,GACjC,GAAK4O,EAIL,IAAK,IAAIC,EAAID,EAAWxS,OAAS,EAAGyS,GAAK,IAAKA,EAAG,CAC/C,MAAMR,EAAYO,EAAWC,GACvBjM,EAAOyL,GAAaA,EAAUzL,KAChB,iBAATA,GAAqBmG,GAAajJ,GAAkB8C,KAI/DwL,GAAoBpO,EAASqO,EAAWzL,EAC1C,CACF,EAwBM4L,GAAqB,SAAU5K,GACnC,MAAMwL,EAAgB,CAACxL,GAEvB,KAAOwL,EAAMhT,OAAS,GAAG,CACvB,MAAMyJ,EAAOuJ,EAAMlS,MACF0I,GAAcC,KAEdtD,IACf4M,GAA2BtJ,GAG7B,MAAM4I,EAAapJ,GAAcQ,GACjC,GAAI4I,EACF,IAAK,IAAII,EAAIJ,EAAWrS,OAAS,EAAGyS,GAAK,IAAKA,EAC5CO,EAAMhS,KAAKqR,EAAWI,GAG5B,CACF,EAgDMQ,GAA2B,SAC/BC,EACAC,GAEA,QAAKpF,KAIU,aAAXmF,GAIc,QAAXA,GAA8B,UAAVC,GAA+B,WAAVA,EAClD,EAgEMC,GAAgB,SAAUC,GAE9B,IAAIC,EAAM,KACNC,EAAoB,KAExB,GAAInF,GACFiF,EAAQ,oBAAsBA,MACzB,CAEL,MAAMG,EAAU9R,EAAY2R,EAAO,eACnCE,EAAoBC,GAAWA,EAAQ,EACzC,CAGwB,0BAAtBxD,IACAT,KAAcD,KAGd+D,EACE,iEACAA,EACA,kBAGJ,MAAMI,EAAezJ,GAAqBM,GAAmB+I,GAASA,EAKtE,GAAI9D,KAAcD,GAChB,IACEgE,GAAM,IAAI5K,GAAYgL,gBAAgBD,EAAczD,GACtD,CAAE,MAAO9E,GAAI,CAIf,IAAKoI,IAAQA,EAAIK,gBAAiB,CAChCL,EAAM/H,GAAeqI,eAAerE,GAAW,WAAY,MAC3D,IACE+D,EAAIK,gBAAgBE,UAAYrE,GAC5BtF,GACAuJ,CACN,CAAE,MAAOvI,GACP,CAEJ,CAEA,MAAM4I,EAAOR,EAAIQ,MAAQR,EAAIK,gBAU7B,OARIN,GAASE,GACXO,EAAKC,aACHnM,EAASoM,eAAeT,GACxBO,EAAKzB,WAAW,IAAM,MAKtB9C,KAAcD,GACT5D,GAAqBuI,KAC1BX,EACAtF,GAAiB,OAAS,QAC1B,GAGGA,GAAiBsF,EAAIK,gBAAkBG,CAChD,EAQMI,GAAsB,SAAU1M,GAUpC,MAAM8L,EAAM/J,GAAmBA,GAAiB/B,GAAQA,EAAKuC,cAC7D,OAAOyB,GAAmByI,KACxBX,GAAO9L,EACPA,EAEAa,EAAW8L,aACT9L,EAAW+L,aACX/L,EAAWgM,UACXhM,EAAWiM,4BACXjM,EAAWkM,mBACb,KAEJ,EAUMC,GAA4B,SAAUjQ,GAI1C,OAHAA,EAAQ3C,EAAc2C,EAAOc,GAAe,KAC5Cd,EAAQ3C,EAAc2C,EAAOe,GAAU,KACvCf,EAAQ3C,EAAc2C,EAAOgB,GAAa,IAE5C,EAqBMkP,GAA4B,SAAUhL,GAAa,IAAAiL,EACvDjL,EAAKkL,YAIL,MAAMrB,EAAM/J,GAAmBA,GAAiBE,GAAQA,EAAKM,cACvD6K,EAASpJ,GAAmByI,KAChCX,GAAO7J,EACPA,EAEApB,EAAWgM,UACThM,EAAW+L,aACX/L,EAAWkM,mBACXlM,EAAWiM,4BACb,MAGF,IAAIO,EAAcD,EAAOE,WACzB,KAAOD,GACLA,EAAYE,KAAOP,GAA0BK,EAAYE,MACzDF,EAAcD,EAAOE,WAMvB,MAAME,EAAiC,QAAxBN,EAAGjL,EAAKwL,wBAAgB,IAAAP,OAAA,EAArBA,EAAAT,KAAAxK,EAAwB,YACtCuL,GACFzU,EAAayU,EAAYE,IACnBC,GAAoBD,EAAKpL,UAC3B2K,GAA0BS,EAAKpL,UAIvC,EAcMsL,GAAe,SAAUxR,GAI7B,MAAMyR,EAAc/L,GAAcA,GAAY1F,GAAW,KACzD,MAA2B,iBAAhByR,IAI4B,SAAnC3R,GAAkB2R,KAKQ,iBAArBzR,EAAQ+F,UACgB,iBAAxB/F,EAAQ0R,aACgB,mBAAxB1R,EAAQmO,aAMfnO,EAAQ4O,aAAepJ,GAAcxF,IACF,mBAA5BA,EAAQsO,iBAUwB,mBAAhCtO,EAAQmF,qBACqB,mBAA7BnF,EAAQgP,kBACiB,mBAAzBhP,EAAQkP,cACiB,iBAAzBlP,EAAQ6N,cACiB,mBAAzB7N,EAAQmQ,cACkB,mBAA1BnQ,EAAQ2R,eAQf3R,EAAQiE,WAAawB,GAAYzF,IAYjCA,EAAQyO,aAAepJ,GAAcrF,IAEzC,EAaMuR,GAAsB,SAAU5Q,GACpC,IAAK8E,IAAgC,iBAAV9E,GAAgC,OAAVA,EAC/C,OAAO,EAGT,IACE,OAAO8E,GAAY9E,KAAmB4B,EACxC,CAAE,MAAO+E,GACP,OAAO,CACT,CACF,EAaMsK,GAAU,SAAUjR,GACxB,IAAK8E,IAAgC,iBAAV9E,GAAgC,OAAVA,EAC/C,OAAO,EAGT,IACE,MAAqC,iBAAvB8E,GAAY9E,EAC5B,CAAE,MAAO2G,GACP,OAAO,CACT,CACF,EAEA,SAASuK,GACP7J,EACAiJ,EACAE,GAEqB,IAAjBnJ,EAAM5L,QAIVO,EAAaqL,EAAQ8J,IACnBA,EAAKzB,KAAK1M,EAAWsN,EAAaE,EAAM7E,KAE5C,CAYA,MA6DMyF,GAAoB,SACxBC,EACApP,GAGA,GAAIoP,aAAiB9S,OACnB,OAAOD,EAAW+S,EAAOpP,GAG3B,GAAIoP,aAAiBtF,SAAU,CAAA,IAAA,IAAAxQ,EAAAC,UAAAC,OAN5BC,MAAeC,MAAAJ,EAAA,EAAAA,OAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAfF,EAAeE,EAAA,GAAAJ,UAAAI,GAOhB,OAAOkC,QAAQuT,EAAMpP,KAASvG,GAChC,CAEA,OAAO,CACT,EAgGM4V,GAAuB,SAC3BC,EACAtS,EACAuS,EACAC,GAEA,OAAwB,IAApBF,EAAS9V,OACJwD,EAGFA,IAAQuS,GAAcvS,IAAQwS,EAAehS,EAAMR,GAAOA,CACnE,EAiCMyS,GAA0B,SAC9BpB,EACArN,GAEA,OAAIqN,IAAgBrN,GAAuC,OAA/B0B,GAAc2L,KAItCjG,IACFwD,GAAmByC,IAGd,EACT,EAWMqB,GAAoB,SAAUrB,EAAkBrN,GAMpD,GAJAiO,GAAc7J,GAAMK,uBAAwB4I,EAAa,MAIrDoB,GAAwBpB,EAAarN,GACvC,OAAO,EAIT,GAAI4N,GAAaP,GAEf,OADA/C,GAAa+C,IACN,EAIT,MAAMrD,EAAU9N,GAAkBgG,GAAcmL,IAsBhD,GAfArI,GAAeqJ,GACbjK,GAAMQ,oBACNI,GACAC,GACAyB,IAIFuH,GAAc7J,GAAMQ,oBAAqByI,EAAa,CACpDrD,UACA2E,YAAa3J,KAKXyJ,GAAwBpB,EAAarN,GACvC,OAAO,EAIT,GA3RoB,SAAUqN,EAAkBrD,GAEhD,SACEzD,IACA8G,EAAYU,kBACXC,GAAQX,EAAYuB,oBACrBvT,EAAW0J,GAAkCsI,EAAYS,cACzDzS,EAAW0J,GAAkCsI,EAAYhB,gBAezD9F,IACA8G,EAAYpD,eAAiBnC,IAC7BjJ,GAAsBmL,KACrBgE,GAAQX,EAAYuB,oBACiB,iBAA5BvB,EAAYS,aAClBzS,EAAWyD,GAAmBkL,GAAUqD,EAAYS,gBAMtDT,EAAYhN,WAAa1B,OAM3B4H,IACA8G,EAAYhN,WAAa1B,KACzBtD,EAAW0J,GAAkCsI,EAAYE,MAM7D,CA4OMsB,CAAcxB,EAAarD,GAE7B,OADAM,GAAa+C,IACN,EAIT,GACExH,GAAYmE,MAEVjE,GAAuBC,oBAAoB8C,UAC3C/C,GAAuBC,SAASgE,MAE/BhF,GAAagF,GAChB,CACA,MAAM7J,EA3MsB,SAC9BkN,EACArD,EACAhK,GAGA,IACG6F,GAAYmE,IACb8E,GAAsB9E,IACtBmE,GAAkB7I,GAAwBC,aAAcyE,GAExD,OAAO,EAWT,GAAI7C,KAAiBG,GAAgB0C,GAAU,CAC7C,MAAM+E,EAAarN,GAAc2L,GAC3BxC,EAAapJ,GAAc4L,GAEjC,GAAIxC,GAAckE,EAuBhB,IAAK,IAAI9D,EAtBUJ,EAAWrS,OAsBJ,EAAGyS,GAAK,IAAKA,EAAG,CACxC,MAAM+D,EACJ3B,IAAgBrN,EACZqB,GAAUwJ,EAAWI,IAAI,GACzBJ,EAAWI,GACjB8D,EAAWxC,aAAayC,EAASxN,GAAe6L,GAClD,CAEJ,CAGA,OADA/C,GAAa+C,IACN,CACT,CA8IoB4B,CAAwB5B,EAAarD,EAAShK,GAiB9D,OAJgB,IAAZG,GACF8N,GAAc7J,GAAME,sBAAuB+I,EAAa,MAGnDlN,CACT,CASA,GADW6B,GAAcqL,KACd1O,KAAsBmL,GAAqBuD,GAEpD,OADA/C,GAAa+C,IACN,EAIT,IACe,aAAZrD,GACa,YAAZA,GACY,aAAZA,IACF3O,EAAW0J,GAAgCsI,EAAYhB,WAGvD,OADA/B,GAAa+C,IACN,EAIT,GAAI/G,IAAsB+G,EAAYhN,WAAa1B,GAAgB,CAEjE,MAAM2D,EAAU0K,GAA0BK,EAAYS,aAElDT,EAAYS,cAAgBxL,IAC9B/I,EAAUwG,EAAUI,QAAS,CAAE/D,QAASiR,EAAYhM,cACpDgM,EAAYS,YAAcxL,EAE9B,CAKA,OAFA2L,GAAc7J,GAAME,sBAAuB+I,EAAa,OAEjD,CACT,EAWM6B,GAAoB,SACxBvD,EACAD,EACA3O,GAGA,GAAI+I,GAAY4F,GACd,OAAO,EA0BT,GAAID,GAAyBC,EAAQC,GACnC,OAAO,EAIT,GACE3E,KACY,OAAX0E,GAA8B,SAAXA,KACnB3O,KAASqD,GAAYrD,KAAS4L,IAE/B,OAAO,EAGT,MAAMwG,EACJhK,GAAauG,IACZ3F,GAAuBE,0BAA0B6C,UAChD/C,GAAuBE,eAAeyF,EAAQC,GAMlD,SAAIxF,KAAmB9K,EAAW2C,GAAW0N,SAKzCxF,KAAmB7K,EAAW4C,GAAWyN,MAUxCyD,IAsBDzH,GAAoBgE,OAMpBrQ,EAAW6C,GAAgB9D,EAAc2C,EAAOqB,GAAiB,SAOvD,QAAXsN,GAA+B,eAAXA,GAAsC,SAAXA,GACtC,WAAVC,GACkC,IAAlCrR,EAAcyC,EAAO,WACrByK,GAAcmE,SASdvF,IACC/K,EAAW8C,GAAmB/D,EAAc2C,EAAOqB,GAAiB,QAO/DrB,KAlDH+R,GAAsBnD,IACrBwC,GAAkB7I,GAAwBC,aAAcoG,IACxDwC,GACE7I,GAAwBK,mBACxB+F,EACAC,IAKQ,OAAXD,GACCpG,GAAwBM,gCACxBuI,GAAkB7I,GAAwBC,aAAcxI,IAuChE,EAKMqS,GAAgCrT,EAAS,GAAI,CACjD,iBACA,gBACA,YACA,mBACA,iBACA,gBACA,gBACA,kBAWI+S,GAAwB,SAAU9E,GACtC,OACGoF,GAA8BvV,EAAkBmQ,KACjD3O,EAAWiD,GAAgB0L,EAE/B,EAcMqF,GAAgC,SACpC1D,EACAD,EACAzB,EACAlN,GAEA,GACEyF,IACwB,iBAAjBrB,IACkC,mBAAlCA,GAAamO,mBACnBrF,EAED,OAAQ9I,GAAamO,iBAAiB3D,EAAOD,IAC3C,IAAK,cACH,OAAO5I,GAAmB/F,GAG5B,IAAK,mBACH,OA1iEwB,SAAU0G,GACxCZ,KAEAD,KACA,IACE,OAAOJ,GAAmBgB,gBAAgBC,EAC5C,CAAC,QACCb,IACF,CACF,CAiiEe2M,CAAwBxS,GASrC,OAAOA,CACT,EAyBMyS,GAAqB,SACzBnC,EACArO,EACAiL,EACAlN,GAEA,IAQE,OAPIkN,EACFoD,EAAYoC,eAAexF,EAAcjL,EAAMjC,GAG/CsQ,EAAY/B,aAAatM,EAAMjC,IAG7B6Q,GAAaP,KACf/C,GAAa+C,IACN,EAIX,CAAE,MAAO3J,GAEP,OADAwH,GAAiBlM,EAAMqO,IAChB,CACT,CACF,EAaMqC,GAAsB,SAAUrC,GAEpCY,GAAc7J,GAAMI,yBAA0B6I,EAAa,MAE3D,MAAQrC,EAAeqC,EAAfrC,WAGR,IAAKA,GAAc4C,GAAaP,GAC9B,OAKFlI,GAAekJ,GACbjK,GAAMO,sBACNQ,GACAC,GACAuB,IAGF,MAAMgJ,EAAY,CAChBC,SAAU,GACVC,UAAW,GACXC,UAAU,EACVC,kBAAmB5K,GACnB6K,mBAAepQ,GAEjB,IAAIzD,EAAI6O,EAAWxS,OACnB,MAAMmT,EAAQzP,GAAkBmR,EAAYlL,UAG5C,KAAOhG,KAAK,CACV,MAAMgP,EAAOH,EAAW7O,GAChB6C,EAAyCmM,EAAzCnM,KAAMiL,EAAmCkB,EAAnClB,aAAqB4F,EAAc1E,EAArBpO,MACtB2O,EAASxP,GAAkB8C,GAE3BiR,EAAYJ,EAClB,IAAI9S,EAAiB,UAATiC,EAAmBiR,EAAYzV,EAAWyV,GAUlDC,GAAqB,EA8BzB,GA3BAP,EAAUC,SAAWlE,EACrBiE,EAAUE,UAAY9S,EACtB4S,EAAUG,UAAW,EACrBH,EAAUK,mBAAgBpQ,EAC1BqO,GAAc7J,GAAMO,sBAAuB0I,EAAasC,GACxD5S,EAAQ4S,EAAUE,WAMhB5I,IACY,OAAXyE,GAA8B,SAAXA,GACkC,IAAtDpR,EAAcyC,EAAOmK,MAGrBgE,GAAiBlM,EAAMqO,EAAalC,GAEpCpO,EAAQmK,GAA8BnK,EAGtCmT,GAAqB,GAOrB3J,IACAlL,EACE,qFACA0B,GAGFmO,GAAiBlM,EAAMqO,EAAalC,QAKtC,GAAe,kBAAXO,GAA8BxR,EAAY6C,EAAO,QACnDmO,GAAiBlM,EAAMqO,EAAalC,QAKtC,IAAIwE,EAAUK,cAKd,GAAKL,EAAUG,SAMf,GACGzJ,KACDhL,EAAW0J,GAA8BhI,GAY3C,GALIuJ,KACFvJ,EAAQiQ,GAA0BjQ,IAI/BmS,GAAkBvD,EAAOD,EAAQ3O,IAStC,GAHAA,EAAQsS,GAA8B1D,EAAOD,EAAQzB,EAAclN,GAG/DA,IAAUkT,EAAW,CACJT,GACjBnC,EACArO,EACAiL,EACAlN,IAOgBmT,GAChB7W,EAAS0G,EAAUI,QAEvB,OAvBE+K,GAAiBlM,EAAMqO,EAAalC,QAXpCD,GAAiBlM,EAAMqO,EAAalC,QATpCD,GAAiBlM,EAAMqO,EAAalC,EA4CxC,CAGA8C,GAAc7J,GAAMC,wBAAyBgJ,EAAa,KAC5D,EAOM8C,GAAqB,SAAUC,GACnC,IAAIC,EAAa,KACjB,MAAMC,EAAiB5D,GAAoB0D,GAK3C,IAFAnC,GAAc7J,GAAMM,wBAAyB0L,EAAU,MAE/CC,EAAaC,EAAehD,YA4BlC,GA1BAW,GAAc7J,GAAMS,uBAAwBwL,EAAY,MAGxD3B,GAAkB2B,EAAYD,GAG9BV,GAAoBW,GAMhB1C,GAAoB0C,EAAW/N,UACjC6N,GAAmBE,EAAW/N,SAa5BN,GAAcqO,KAAgB1R,GAAmB,CACnD,MAAM4R,EAAU5O,GAAc0O,GAC1B1C,GAAoB4C,KACtBC,GAA6BD,GAC7BJ,GAAmBI,GAEvB,CAIFtC,GAAc7J,GAAMG,uBAAwB6L,EAAU,KACxD,EAqBMI,GAA+B,SAAUxQ,GAiB7C,MAAMwL,EACJ,CAAC,CAAEvJ,KAAMjC,EAAMyQ,OAAQ,OAEzB,KAAOjF,EAAMhT,OAAS,GAAG,CACvB,MAAMkY,EAAOlF,EAAMlS,MAGnB,GAAIoX,EAAKD,OAAQ,CACfN,GAAmBO,EAAKD,QACxB,QACF,CAEA,MAAMxO,EAAOyO,EAAKzO,KAEZ0O,EADW3O,GAAcC,KACAtD,GAKzBkM,EAAapJ,GAAcQ,GACjC,GAAI4I,EACF,IAAK,IAAII,EAAIJ,EAAWrS,OAAS,EAAGyS,GAAK,IAAKA,EAC5CO,EAAMhS,KAAK,CAAEyI,KAAM4I,EAAWI,GAAIwF,OAAQ,OAO9C,GAAIE,EAAW,CACb,MAAMC,EAAW9O,GAAcA,GAAYG,GAAQ,KACnD,GACsB,iBAAb2O,GACyB,aAAhC1U,GAAkB0U,GAClB,CACA,MAAMtO,EAAWL,EAA6BK,QAC1CqL,GAAoBrL,IACtBkJ,EAAMhS,KAAK,CAAEyI,KAAMK,EAASmO,OAAQ,MAExC,CACF,CAOA,GAAIE,EAAW,CACb,MAAME,EAAKlP,GAAcM,GACrB0L,GAAoBkD,IAItBrF,EAAMhS,KAAK,CAAEyI,KAAM,KAAMwO,OAAQI,GAAM,CAAE5O,KAAM4O,EAAIJ,OAAQ,MAE/D,CACF,CACF,EAgZA,OA7YA1Q,EAAU+Q,SAAW,SAAUjF,GAAe,IAARzM,EAAG7G,UAAAC,OAAA,QAAAoH,IAAArH,UAAA,GAAAA,UAAA,GAAG,CAAA,EACtC+T,EAAO,KACPyE,EAAe,KACf1D,EAAc,KACd2D,EAAa,KAUjB,GANAhJ,IAAkB6D,EACd7D,KACF6D,EAAQ,eAIW,iBAAVA,IAAuBmC,GAAQnC,IAGnB,iBAFrBA,EJ5kFN,SAAwB9O,GACtB,cAAeA,GACb,IAAK,SACH,OAAOA,EAGT,IAAK,SACH,OAAOrC,EAAeqC,GAGxB,IAAK,UACH,OAAOnC,EAAgBmC,GAGzB,IAAK,SACH,OAAOjC,EAAiBA,EAAeiC,GAAS,IAGlD,IAAK,SACH,OAAO/B,EAAiBA,EAAe+B,GAAS,WAGlD,IAAK,YAwBL,QACE,OAAO3B,EAAe2B,GArBxB,IAAK,WACL,IAAK,SAAU,CACb,GAAc,OAAVA,EACF,OAAO3B,EAAe2B,GAGxB,MAAMkU,EAAgBlU,EAChBmU,EAAgBjU,EAAagU,EAAe,YAElD,GAA6B,mBAAlBC,EAA8B,CACvC,MAAMC,EAAcD,EAAcD,GAElC,MAA8B,iBAAhBE,EACVA,EACA/V,EAAe+V,EACrB,CAEA,OAAO/V,EAAe2B,EACxB,EAMJ,CI0hFcqU,CAAevF,IAGrB,MAAMrQ,EAAgB,mCAK1B,IAAKuE,EAAUQ,YACb,OAAOsL,EAILpF,IAKFzB,GAAe0B,GACfvB,GAAewB,IAEfoC,GAAa3J,IAabgF,GAAMQ,oBAAoBpM,OAAS,GACnC4L,GAAMO,sBAAsBnM,OAAS,KAErCwM,GAAexI,EAAMwI,KAGnBZ,GAAMO,sBAAsBnM,OAAS,IACvC2M,GAAe3I,EAAM2I,KAIvBpF,EAAUI,QAAU,GAQpB,MAAMkR,EAAUjK,IAA6B,iBAAVyE,GAAsBmC,GAAQnC,GAEjE,GAAIwF,EAAS,EAx1CiB,SAAUrR,GACxC,IAAKuG,GACH,OAGF,MAAMiF,EAAgB,CAACxL,GACvB,KAAOwL,EAAMhT,OAAS,GAAG,CACvB,MAAMyJ,EAAOuJ,EAAMlS,MACb+G,EAAW2B,GAAcC,GAI/B,GACE5B,IAAa1B,IACZ0B,IAAa1B,IACZtD,EAAW0J,GAAmC9C,EAAasL,MAC7D,CACA,IACEjM,GAAOW,EACT,CAAE,MAAOyB,GACP,CAGF,QACF,CAGA,GAAIrD,IAAa1B,GAAmB,CAClC,MAAMvC,EAAU6F,EACV0J,EAAQzP,GAAkBgG,GAAcD,IAC9C,IACM7F,EAAQiH,cAAgBjH,EAAQiH,aAAa,aAC/CjH,EAAQsO,gBAAgB,YAIxBtO,EAAQiH,cACRjH,EAAQiH,aAAa,QACrBoI,GAAyB,MAAOE,IAEhCvP,EAAQsO,gBAAgB,MAE5B,CAAE,MAAOhH,GACP,CAEJ,CAEA,MAAMmH,EAAapJ,GAAcQ,GACjC,GAAI4I,EACF,IAAK,IAAII,EAAIJ,EAAWrS,OAAS,EAAGyS,GAAK,IAAKA,EAC5CO,EAAMhS,KAAKqR,EAAWI,GAG5B,CACF,CAuyCIqG,CAAwBzF,GAOxB,MAAM0F,EAAKrP,GAAc2J,GACzB,GAAkB,iBAAP0F,EAAiB,CAC1B,MAAMvH,EAAU9N,GAAkBqV,GAClC,IAAKvM,GAAagF,IAAYnE,GAAYmE,GAKxC,MAFAW,GAAgBkB,GAEVrQ,EACJ,0DAGN,CAYA,GAAIoS,GAAa/B,GAMf,MAFAlB,GAAgBkB,GAEVrQ,EACJ,2DASJ,IACEgV,GAA6B3E,EAC/B,CAAE,MAAOlC,GAGP,MAFAgB,GAAgBkB,GAEVlC,CACR,CACF,MAAO,GAAIqE,GAAQnC,GAGjBS,EAAOV,GAAc,iBACrBmF,EAAezE,EAAK/J,cAAc4B,WAAW0H,GAAO,GAElDkF,EAAa1Q,WAAa1B,IACA,SAA1BoS,EAAa5O,UAIsB,SAA1B4O,EAAa5O,SADtBmK,EAAOyE,EAKPzE,EAAKkF,YAAYT,GAgBnBP,GAA6BlE,OACxB,CAEL,IACGzF,KACAP,KACAE,SAEDqF,EAAMtR,QAAQ,KAEd,OAAOiI,IAAsBuE,GACzBjE,GAAmB+I,GACnBA,EAON,GAHAS,EAAOV,GAAcC,IAGhBS,EACH,OAAOzF,GAAa,KAAOE,GAAsBrE,GAAY,EAEjE,CAGI4J,GAAQ1F,IACV0D,GAAagC,EAAKmF,YAIpB,MAAMC,EAAiBL,EAAWxF,EAAiBS,EAcnD,IACE,MAAMqF,EAAejF,GAAoBgF,GACzC,KAAQrE,EAAcsE,EAAarE,YAEjCoB,GAAkBrB,EAAaqE,GAG/BhC,GAAoBrC,GAMhBM,GAAoBN,EAAY/K,UAClC6N,GAAmB9C,EAAY/K,QAGrC,CAAE,MAAOqH,GAaP,MAZI0H,IACF1G,GAAgBkB,GAIhB9S,EAAagH,EAAUI,QAAUyR,IAC3BA,EAAMxV,SACRwO,GAAmBgH,EAAMxV,YAKzBuN,CACR,CAGA,GAAI0H,EAkBF,OAVAtY,EAAagH,EAAUI,QAAUyR,IAC3BA,EAAMxV,SACRwO,GAAmBgH,EAAMxV,WAIzBkK,IACF2G,GAA0BpB,GAGrBA,EAIT,GAAIhF,GAAY,CAKd,GAJIP,IACF2G,GAA0BX,GAGxBxF,GAGF,IAFAkK,EAAa/M,GAAuBwI,KAAKH,EAAK/J,eAEvC+J,EAAKmF,YAEVT,EAAWQ,YAAYlF,EAAKmF,iBAG9BT,EAAa1E,EAcf,OAXInH,GAAa0M,YAAc1M,GAAa2M,kBAQ1Cd,EAAa7M,GAAWsI,KAAKjM,EAAkBwQ,GAAY,IAGtDA,CACT,CAEA,IAAIe,EAAiBvL,GAAiB8F,EAAK0F,UAAY1F,EAAKD,UAoB5D,OAhBE7F,IACAxB,GAAa,aACbsH,EAAK/J,eACL+J,EAAK/J,cAAc0P,SACnB3F,EAAK/J,cAAc0P,QAAQjT,MAC3B3D,EAAW0J,GAA0BuH,EAAK/J,cAAc0P,QAAQjT,QAEhE+S,EACE,aAAezF,EAAK/J,cAAc0P,QAAQjT,KAAO,MAAQ+S,GAIzDzL,KACFyL,EAAiB/E,GAA0B+E,IAGtCvP,IAAsBuE,GACzBjE,GAAmBiP,GACnBA,CACN,EAEAhS,EAAUmS,UAAY,WACpBnJ,GADiCxQ,UAAAC,OAAA,QAAAoH,IAAArH,UAAA,GAAAA,UAAA,GAAG,CAAA,GAEpCkO,IAAa,EACbC,GAA0B1B,GAC1B2B,GAA0BxB,EAC5B,EAEApF,EAAUoS,YAAc,WACtBzJ,GAAS,KACTjC,IAAa,EACbC,GAA0B,KAC1BC,GAA0B,KAM1BnE,GAAqBC,GACrBC,GAAY,EACd,EAEA3C,EAAUqS,iBAAmB,SAAUC,EAAKlH,EAAMpO,GAE3C2L,IACHK,GAAa,CAAA,GAGf,MAAM4C,EAAQzP,GAAkBmW,GAC1B3G,EAASxP,GAAkBiP,GACjC,OAAO+D,GAAkBvD,EAAOD,EAAQ3O,EAC1C,EAEAgD,EAAUuS,QAAU,SAClBC,EACAC,GAE4B,mBAAjBA,GAQNtX,EAAqBkJ,GAAOmO,IAIjChZ,EAAU6K,GAAMmO,GAAaC,EAC/B,EAEAzS,EAAU0S,WAAa,SACrBF,EACAC,GAEA,GAAKtX,EAAqBkJ,GAAOmO,GAAjC,CAIA,QAAqB3S,IAAjB4S,EAA4B,CAC9B,MAAMjW,EAAQpD,EAAiBiL,GAAMmO,GAAaC,GAElD,OAAiB,IAAVjW,OACHqD,EACAnG,EAAY2K,GAAMmO,GAAahW,EAAO,GAAG,EAC/C,CAEA,OAAOlD,EAAS+K,GAAMmO,GAVtB,CAWF,EAEAxS,EAAU2S,YAAc,SAAUH,GAC3BrX,EAAqBkJ,GAAOmO,KAIjCnO,GAAMmO,GAAc,GACtB,EAEAxS,EAAU4S,eAAiB,WACzBvO,GA3+FK,CACLC,wBAAyB,GACzBC,sBAAuB,GACvBC,uBAAwB,GACxBC,yBAA0B,GAC1BC,uBAAwB,GACxBC,wBAAyB,GACzBC,sBAAuB,GACvBC,oBAAqB,GACrBC,uBAAwB,GAm+F1B,EAEO9E,CACT,CAEeD"}
|
|
1
|
+
{"version":3,"file":"purify.min.js","names":["entries","Object","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","Reflect","apply","construct","x","func","thisArg","_len","arguments","length","args","Array","_key","Func","_len2","_key2","arrayForEach","unapply","prototype","forEach","arrayIndexOf","indexOf","arrayLastIndexOf","lastIndexOf","arrayPop","pop","arrayPush","push","arraySlice","slice","arraySplice","splice","arrayIsArray","isArray","stringToLowerCase","String","toLowerCase","stringToString","toString","stringMatch","match","stringReplace","replace","stringIndexOf","stringTrim","trim","numberToString","Number","booleanToString","Boolean","bigintToString","BigInt","symbolToString","Symbol","objectHasOwnProperty","hasOwnProperty","objectToString","regExpTest","RegExp","test","typeErrorCreate","unconstruct","TypeError","lastIndex","_len3","_key3","_len4","_key4","addToSet","set","array","transformCaseFunc","undefined","l","element","lcElement","cleanArray","index","isPropertyExist","clone","object","newObject","_ref2","_ref3","_slicedToArray","property","value","constructor","stringifyValue","valueAsRecord","valueToString","lookupGetter","stringified","prop","desc","get","fallbackValue","isRegex","_unused","freeze","html","svg","svgFilters","svgDisallowed","mathMl","mathMlDisallowed","text","freeze","html","svg","mathMl","xml","seal","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","ELEMENT_MARKUP_PROBE","COMMENT_MARKUP_PROBE","FALLBACK_TAG_CLOSE","SELF_CLOSING_TAG","TAGS","ATTRS","EXPRESSIONS","addToSet","clone","entries","freeze","seal","arrayForEach","arrayIsArray","arrayLastIndexOf","arrayPop","arrayPush","arraySplice","stringMatch","stringReplace","stringToLowerCase","stringToString","stringIndexOf","stringTrim","regExpTest","isRegex","typeErrorCreate","lookupGetter","create","objectHasOwnProperty","stringifyValue","NODE_TYPE","element","attribute","text","cdataSection","entityReference","entityNode","processingInstruction","comment","document","documentType","documentFragment","notation","LITERAL_TEXT_ELEMENT_NAMES","LITERAL_TEXT_ELEMENTS","LITERAL_TEXT_CLOSE","map","name","RegExp","getGlobal","window","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","createPolicy","suffix","ATTR_NAME","hasAttribute","getAttribute","policyName","createHTML","html","createScriptURL","scriptUrl","_","console","warn","_createHooksMap","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","_resolveSetOption","cfg","key","fallback","options","base","transform","_resolveObjectOption","makeFallback","value","undefined","createDOMPurify","arguments","length","DOMPurify","root","version","VERSION","removed","nodeType","Element","isSupported","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","ElementPrototype","prototype","cloneNode","remove","removeAttributeNode","getNextSibling","getChildNodes","getParentNode","getShadowRoot","getAttributes","getNodeType","getNodeName","getOwnerDocument","_readNodeType","node","_readNodeName","nodeName","template","createElement","content","ownerDocument","trustedTypesPolicy","emptyHTML","defaultTrustedTypesPolicy","defaultTrustedTypesPolicyResolved","IN_TRUSTED_TYPES_POLICY","_assertNotInTrustedTypesPolicy","_createTrustedHTML","_createTrustedScriptURL","_getDefaultTrustedTypesPolicy","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","createHTMLDocument","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","CUSTOM_ELEMENT","IS_ALLOWED_URI","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","svg","svgFilters","mathMl","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","xml","CUSTOM_ELEMENT_HANDLING","Object","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","tagCheck","attributeCheck","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","SET_CONFIG_ALLOWED_TAGS","SET_CONFIG_ALLOWED_ATTR","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","DEFAULT_MATHML_TEXT_INTEGRATION_POINTS","MATHML_TEXT_INTEGRATION_POINTS","DEFAULT_HTML_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","transformCaseFunc","CONFIG","formElement","isRegexOrFunction","testValue","Function","_parseConfig","indexOf","ALLOWED_URI_REGEXP","customElementHandling","ADD_TAGS","ADD_ATTR","ADD_FORBID_CONTENTS","table","tbody","TRUSTED_TYPES_POLICY","previousTrustedTypesPolicy","error","ALL_SVG_TAGS","svgDisallowed","ALL_MATHML_TAGS","mathMlDisallowed","_checkSvgNamespace","tagName","parent","parentTagName","namespaceURI","Boolean","_checkMathMlNamespace","_checkHtmlNamespace","_checkValidNamespace","_forceRemove","removeChild","_stripAttributeNode","removeAttribute","_neutralizeRoot","_neutralizeSubtree","childNodes","snapshot","child","attributes","i","_removeAttribute","attr","getAttributeNode","from","setAttribute","_stripDisallowedAttributes","stack","pop","push","_isPatchLinkageAttribute","lcName","lcTag","_neutralizePatchLinkage","COMMENT_MARKUP_PROBE","data","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","createDocument","innerHTML","body","insertBefore","createTextNode","call","_createNodeIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_stripTemplateExpressions","_scrubTemplateExpressions","_node$querySelectorAl","normalize","walker","currentNode","nextNode","templates","querySelectorAll","tmpl","_isDocumentFragment","_isClobbered","realTagName","textContent","hasChildNodes","_isNode","_executeHooks","hook","_isUnsafeNode","firstElementChild","ELEMENT_MARKUP_PROBE","_matchesNameCheck","check","_len","args","Array","_key","_sanitizeDisallowedNode","_isBasicCustomElement","parentNode","childCount","hoisted","_forkSharedAllowlist","hookList","set","defaultSet","setConfigSet","_handleHookDetachedNode","_sanitizeElements","allowedTags","nt","FALLBACK_TAG_CLOSE","_isValidAttribute","nameIsPermitted","RESERVED_CUSTOM_ELEMENT_NAMES","_applyTrustedTypesToAttribute","getAttributeType","_setAttributeValue","setAttributeNS","_sanitizeAttributes","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","l","initValue","recreatedNamedProp","SELF_CLOSING_TAG","cleanWrite","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","innerSr","_sanitizeAttachedShadowRoots","shadow","item","isElement","rootName","sr","sanitize","importedNode","returnNode","inPlace","nn","appendChild","firstChild","walkRoot","nodeIterator","entry","rootWasRemoved","shadowroot","shadowrootmode","serializedHTML","outerHTML","doctype","DOCTYPE_NAME","setConfig","clearConfig","isValidAttribute","tag","addHook","entryPoint","hookFunction","removeHook","index","removeHooks","removeAllHooks"],"sources":["../src/utils.ts","../src/tags.ts","../src/attrs.ts","../src/regexp.ts","../src/purify.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,26 +7,26 @@
|
|
|
7
7
|
"format:js": "prettier --write '{src,demos,scripts,test,website}/*.{js,ts}'",
|
|
8
8
|
"commit-amend-build": "scripts/commit-amend-build.sh",
|
|
9
9
|
"prebuild": "rimraf dist",
|
|
10
|
-
"dev": "cross-env NODE_ENV=development
|
|
11
|
-
"build": "npm run build:types && npm run build:
|
|
10
|
+
"dev": "cross-env NODE_ENV=development DOMPURIFY_BUILD_TARGET=umd rolldown -w -c config/rolldown.config.js",
|
|
11
|
+
"build": "npm run build:types && npm run build:rolldown && npm run build:fix-types && npm run build:cleanup",
|
|
12
12
|
"build:types": "tsc -p config/tsconfig.json --outDir dist/types --declaration --emitDeclarationOnly",
|
|
13
|
-
"build:
|
|
13
|
+
"build:rolldown": "rolldown -c config/rolldown.config.js",
|
|
14
14
|
"build:fix-types": "node ./scripts/fix-types.js",
|
|
15
|
-
"build:umd": "
|
|
16
|
-
"build:umd:min": "
|
|
17
|
-
"build:es": "
|
|
18
|
-
"build:cjs": "
|
|
19
|
-
"build:cov": "
|
|
15
|
+
"build:umd": "cross-env DOMPURIFY_BUILD_TARGET=umd rolldown -c config/rolldown.config.js",
|
|
16
|
+
"build:umd:min": "cross-env DOMPURIFY_BUILD_TARGET=umd-min rolldown -c config/rolldown.config.js",
|
|
17
|
+
"build:es": "cross-env DOMPURIFY_BUILD_TARGET=es rolldown -c config/rolldown.config.js",
|
|
18
|
+
"build:cjs": "cross-env DOMPURIFY_BUILD_TARGET=cjs rolldown -c config/rolldown.config.js",
|
|
19
|
+
"build:cov": "rolldown -c config/rolldown.coverage.config.js",
|
|
20
20
|
"build:cleanup": "rimraf dist/types",
|
|
21
21
|
"bench": "node scripts/benchmark.js",
|
|
22
|
-
"test": "cross-env NODE_ENV=test
|
|
23
|
-
"test:jsdom": "cross-env NODE_ENV=test
|
|
24
|
-
"test:happydom": "cross-env NODE_ENV=test
|
|
22
|
+
"test": "cross-env NODE_ENV=test npm run lint && npm run test:jsdom && npm run test:browser -- --project=chromium",
|
|
23
|
+
"test:jsdom": "cross-env NODE_ENV=test node test/jsdom-node-runner --dot",
|
|
24
|
+
"test:happydom": "cross-env NODE_ENV=test node test/happydom-node-runner --dot",
|
|
25
25
|
"test:browser": "playwright test --config config/playwright.config.js",
|
|
26
26
|
"test:browser:install": "playwright install",
|
|
27
27
|
"test:browser:legacy": "node test/browser/legacy-runner.js",
|
|
28
|
-
"test:ci": "cross-env NODE_ENV=test
|
|
29
|
-
"test:fuzz": "cross-env NODE_ENV=test
|
|
28
|
+
"test:ci": "cross-env NODE_ENV=test npm run test:jsdom && npm run test:browser",
|
|
29
|
+
"test:fuzz": "cross-env NODE_ENV=test node test/fuzz/sanitize.fast-check.js",
|
|
30
30
|
"coverage": "rimraf .nyc_output coverage dist/purify.cov.cjs.js && npm run build:cov && cross-env NODE_ENV=test DOMPURIFY_COV=1 node test/jsdom-node-runner --dot && nyc report --reporter=html --reporter=text --report-dir=coverage",
|
|
31
31
|
"verify-typescript": "node ./typescript/verify.js"
|
|
32
32
|
},
|
|
@@ -123,18 +123,14 @@
|
|
|
123
123
|
"@babel/preset-typescript": "^7.29.7",
|
|
124
124
|
"@playwright/test": "^1.61.0",
|
|
125
125
|
"@rollup/plugin-babel": "^7.1.0",
|
|
126
|
-
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
127
|
-
"@rollup/plugin-replace": "^6.0.1",
|
|
128
|
-
"@rollup/plugin-terser": "^1.0.0",
|
|
129
|
-
"@rollup/plugin-typescript": "^12.3.0",
|
|
130
126
|
"@types/estree": "^1.0.9",
|
|
131
|
-
"@types/node": "^26.
|
|
127
|
+
"@types/node": "^26.6.1",
|
|
132
128
|
"babel-plugin-istanbul": "^8.0.0",
|
|
133
129
|
"cross-env": "^10.1.0",
|
|
134
130
|
"eslint-config-prettier": "^10.1.8",
|
|
135
131
|
"eslint-plugin-prettier": "^5.5.6",
|
|
136
|
-
"fast-check": "^4.
|
|
137
|
-
"happy-dom": "^20.
|
|
132
|
+
"fast-check": "^4.10.1",
|
|
133
|
+
"happy-dom": "^20.14.5",
|
|
138
134
|
"husky": "^9.1.0",
|
|
139
135
|
"jquery": "^3.6.0",
|
|
140
136
|
"jsdom": "^29.1.1",
|
|
@@ -143,9 +139,8 @@
|
|
|
143
139
|
"qunit": "^2.26.0",
|
|
144
140
|
"qunit-tap": "^1.5.0",
|
|
145
141
|
"rimraf": "^6.0.1",
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
"tslib": "^2.7.0",
|
|
142
|
+
"rolldown": "^1.2.9",
|
|
143
|
+
"rolldown-plugin-dts": "^0.28.6",
|
|
149
144
|
"typescript": "^5.6.3",
|
|
150
145
|
"xo": "^0.60.0"
|
|
151
146
|
},
|
|
@@ -154,7 +149,7 @@
|
|
|
154
149
|
},
|
|
155
150
|
"name": "dompurify",
|
|
156
151
|
"description": "DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It runs as JavaScript and works in all modern browsers, as well as in Node.js (via jsdom). DOMPurify is written by security people who have vast background in web attacks and XSS. Fear not.",
|
|
157
|
-
"version": "3.4.
|
|
152
|
+
"version": "3.4.16",
|
|
158
153
|
"directories": {
|
|
159
154
|
"test": "test"
|
|
160
155
|
},
|
package/src/purify.ts
CHANGED
|
@@ -2206,6 +2206,14 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
2206
2206
|
skipped; they are removal decisions, not the hook contract. */
|
|
2207
2207
|
if (removed === false) {
|
|
2208
2208
|
_executeHooks(hooks.afterSanitizeElements, currentNode, null);
|
|
2209
|
+
|
|
2210
|
+
/* The hook may have detached the kept custom element. Same
|
|
2211
|
+
IN_PLACE hazard as the before/upon sites: neutralize the
|
|
2212
|
+
detached subtree before the walker skips past it (see
|
|
2213
|
+
_handleHookDetachedNode). */
|
|
2214
|
+
if (_handleHookDetachedNode(currentNode, root)) {
|
|
2215
|
+
return true;
|
|
2216
|
+
}
|
|
2209
2217
|
}
|
|
2210
2218
|
|
|
2211
2219
|
return removed;
|
|
@@ -2248,7 +2256,14 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
2248
2256
|
/* Execute a hook if present */
|
|
2249
2257
|
_executeHooks(hooks.afterSanitizeElements, currentNode, null);
|
|
2250
2258
|
|
|
2251
|
-
|
|
2259
|
+
/* The afterSanitizeElements hook is the documented place for
|
|
2260
|
+
node.remove() policies, and a detach here is invisible to every later
|
|
2261
|
+
pass: the iterator advances past the detached subtree, so its
|
|
2262
|
+
descendants are never visited, and hook-detached nodes are not in
|
|
2263
|
+
DOMPurify.removed, so the post-walk IN_PLACE pass does not reach them
|
|
2264
|
+
either. Apply the same detach-neutralization invariant as the
|
|
2265
|
+
before/upon sites: true (removed) if the hook detached the node. */
|
|
2266
|
+
return _handleHookDetachedNode(currentNode, root);
|
|
2252
2267
|
};
|
|
2253
2268
|
|
|
2254
2269
|
/**
|
|
@@ -2517,12 +2532,24 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
2517
2532
|
* @protect setAttribute
|
|
2518
2533
|
*
|
|
2519
2534
|
* @param currentNode to sanitize
|
|
2535
|
+
* @param root the current walk root
|
|
2520
2536
|
*/
|
|
2521
2537
|
// eslint-disable-next-line complexity
|
|
2522
|
-
const _sanitizeAttributes = function (
|
|
2538
|
+
const _sanitizeAttributes = function (
|
|
2539
|
+
currentNode: Element,
|
|
2540
|
+
root: Node
|
|
2541
|
+
): void {
|
|
2523
2542
|
/* Execute a hook if present */
|
|
2524
2543
|
_executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);
|
|
2525
2544
|
|
|
2545
|
+
/* A hook may have detached the node - the attribute hooks can detach
|
|
2546
|
+
exactly like the element hooks can, and the walker will not revisit
|
|
2547
|
+
the detached subtree. Treat it as removed and, on the IN_PLACE path,
|
|
2548
|
+
neutralize it (see _handleHookDetachedNode for the full rationale). */
|
|
2549
|
+
if (_handleHookDetachedNode(currentNode, root)) {
|
|
2550
|
+
return;
|
|
2551
|
+
}
|
|
2552
|
+
|
|
2526
2553
|
const { attributes } = currentNode;
|
|
2527
2554
|
|
|
2528
2555
|
/* Check if we have attributes; if not we might have a text node */
|
|
@@ -2668,6 +2695,11 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
2668
2695
|
|
|
2669
2696
|
/* Execute a hook if present */
|
|
2670
2697
|
_executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
|
|
2698
|
+
|
|
2699
|
+
/* Same detach re-check as after beforeSanitizeAttributes: this is the
|
|
2700
|
+
last hook that runs for the node, so a detach here would otherwise
|
|
2701
|
+
hand the caller a live, handler-bearing subtree. */
|
|
2702
|
+
_handleHookDetachedNode(currentNode, root);
|
|
2671
2703
|
};
|
|
2672
2704
|
|
|
2673
2705
|
/**
|
|
@@ -2690,7 +2722,7 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
2690
2722
|
_sanitizeElements(shadowNode, fragment);
|
|
2691
2723
|
|
|
2692
2724
|
/* Check attributes next */
|
|
2693
|
-
_sanitizeAttributes(shadowNode);
|
|
2725
|
+
_sanitizeAttributes(shadowNode, fragment);
|
|
2694
2726
|
|
|
2695
2727
|
/* Deep shadow DOM detected.
|
|
2696
2728
|
Realm-safe check (GHSA-hpcv-96wg-7vj8): use nodeType against the
|
|
@@ -3030,7 +3062,7 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
3030
3062
|
_sanitizeElements(currentNode, walkRoot);
|
|
3031
3063
|
|
|
3032
3064
|
/* Check attributes next */
|
|
3033
|
-
_sanitizeAttributes(currentNode);
|
|
3065
|
+
_sanitizeAttributes(currentNode, walkRoot);
|
|
3034
3066
|
|
|
3035
3067
|
/* Shadow DOM detected, sanitize it.
|
|
3036
3068
|
Realm-safe check (GHSA-hpcv-96wg-7vj8): nodeType-based detection
|
|
@@ -3064,13 +3096,38 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
3064
3096
|
move-hoist covers only disallowed-tag KEEP_CONTENT removals; strip the
|
|
3065
3097
|
non-allow-listed attributes off every other removed subtree (clobber,
|
|
3066
3098
|
mXSS, namespace, comments, KEEP_CONTENT:false, …) so those handlers are
|
|
3067
|
-
cancelled before any event can fire. Runs synchronously, pre-return.
|
|
3099
|
+
cancelled before any event can fire. Runs synchronously, pre-return.
|
|
3100
|
+
|
|
3101
|
+
The same pass also detects the one shape the attribute strip cannot
|
|
3102
|
+
make safe: the in-place ROOT was itself force-removed during the walk
|
|
3103
|
+
(a rawtext root killed by the LITERAL_TEXT_CLOSE probe, a clobbered
|
|
3104
|
+
root, an mXSS-canary root, …). Such a root is detached and, for a
|
|
3105
|
+
rawtext element, still carries a literal `</tag>`-bearing text payload
|
|
3106
|
+
that `_neutralizeSubtree`'s attribute-only strip does not touch, so
|
|
3107
|
+
re-serialising and re-parsing the returned node re-opens the markup.
|
|
3108
|
+
There is no safe node to hand back, so fail closed - identical in
|
|
3109
|
+
spirit to the parentless-root throw in `_forceRemove` and the
|
|
3110
|
+
clobbered-root throw at the IN_PLACE entry. Covers every present and
|
|
3111
|
+
future root-kill reason in one check, on both the attribute and text
|
|
3112
|
+
axes. */
|
|
3113
|
+
let rootWasRemoved = false;
|
|
3068
3114
|
arrayForEach(DOMPurify.removed, (entry) => {
|
|
3069
3115
|
if (entry.element) {
|
|
3116
|
+
if (entry.element === dirty) {
|
|
3117
|
+
rootWasRemoved = true;
|
|
3118
|
+
}
|
|
3119
|
+
|
|
3070
3120
|
_neutralizeSubtree(entry.element as Node);
|
|
3071
3121
|
}
|
|
3072
3122
|
});
|
|
3073
3123
|
|
|
3124
|
+
if (rootWasRemoved) {
|
|
3125
|
+
throw typeErrorCreate(
|
|
3126
|
+
'a node selected for removal could not be safely returned; ' +
|
|
3127
|
+
'refusing to sanitize in place'
|
|
3128
|
+
);
|
|
3129
|
+
}
|
|
3130
|
+
|
|
3074
3131
|
if (SAFE_FOR_TEMPLATES) {
|
|
3075
3132
|
_scrubTemplateExpressions(dirty as Element);
|
|
3076
3133
|
}
|