{"version":3,"file":"sanitizeHtml.CIbL5aRO.mjs","names":["DOMPurify"],"sources":["https:/framerusercontent.com/modules/DXSpNlUdQRUn8MF6c7b1/PzMAQTEjP6Xp4nCw4ogm/richTextLinkScopedCss.js","https:/ga.jspm.io/npm:dompurify@3.0.6/dist/purify.js","https:/framerusercontent.com/modules/eLguc864N2PAwrYcTXTo/zlc40pw1RMo7AT0djnp8/sanitizeHtml.js"],"sourcesContent":["import{getOpacity,getSpacing}from\"https://framerusercontent.com/modules/yBm4xQRQEBvJankYjkxZ/N8DK97LOdjAnJ3sY5V0v/colors.js\";export function sanitizeRichTextScopeClass(fragment){return fragment.replace(/:/g,\"\").replace(/[^a-zA-Z0-9_-]/g,\"\");}export function buildRichTextLinkScopedCss(scopeClass,linkColor){const safe=sanitizeRichTextScopeClass(scopeClass);const underlineOffset=getSpacing(2);const hoverOpacity=getOpacity(\"hover\");return`.${safe} a { color: ${linkColor}; text-decoration: underline; text-underline-offset: ${underlineOffset}; }\n.${safe} a:hover { opacity: ${hoverOpacity}; }`;}// recompile: 1792505897503\n\nexport const __FramerMetadata__ = {\"exports\":{\"sanitizeRichTextScopeClass\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"buildRichTextLinkScopedCss\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","var e={};\n/*! @license DOMPurify 3.0.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.6/LICENSE */(function(t,n){e=n()})(0,(function(){const{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:o,getOwnPropertyDescriptor:a}=Object;let{freeze:r,seal:i,create:l}=Object;let{apply:s,construct:c}=\"undefined\"!==typeof Reflect&&Reflect;r||(r=function freeze(e){return e});i||(i=function seal(e){return e});s||(s=function apply(e,t,n){return e.apply(t,n)});c||(c=function construct(e,t){return new e(...t)});const u=unapply(Array.prototype.forEach);const d=unapply(Array.prototype.pop);const f=unapply(Array.prototype.push);const m=unapply(String.prototype.toLowerCase);const p=unapply(String.prototype.toString);const h=unapply(String.prototype.match);const g=unapply(String.prototype.replace);const T=unapply(String.prototype.indexOf);const y=unapply(String.prototype.trim);const S=unapply(RegExp.prototype.test);const E=unconstruct(TypeError);\n/**\n   * Creates a new function that calls the given function with a specified thisArg and arguments.\n   *\n   * @param {Function} func - The function to be wrapped and called.\n   * @returns {Function} A new function that calls the given function with a specified thisArg and arguments.\n   */function unapply(e){return function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];return s(e,t,o)}}\n/**\n   * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n   *\n   * @param {Function} func - The constructor function to be wrapped and called.\n   * @returns {Function} A new function that constructs an instance of the given constructor function with the provided arguments.\n   */function unconstruct(e){return function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return c(e,n)}}\n/**\n   * Add properties to a lookup table\n   *\n   * @param {Object} set - The set to which elements will be added.\n   * @param {Array} array - The array containing elements to be added to the set.\n   * @param {Function} transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n   * @returns {Object} The modified set with added elements.\n   */function addToSet(e,o){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:m;t&&t(e,null);let r=o.length;while(r--){let t=o[r];if(\"string\"===typeof t){const e=a(t);if(e!==t){n(o)||(o[r]=e);t=e}}e[t]=true}return e}\n/**\n   * Shallow clone an object\n   *\n   * @param {Object} object - The object to be cloned.\n   * @returns {Object} A new object that copies the original.\n   */function clone(t){const n=l(null);for(const[o,r]of e(t))void 0!==a(t,o)&&(n[o]=r);return n}\n/**\n   * This method automatically checks if the prop is function or getter and behaves accordingly.\n   *\n   * @param {Object} object - The object to look up the getter function in its prototype chain.\n   * @param {String} prop - The property name for which to find the getter function.\n   * @returns {Function} The getter function found in the prototype chain or a fallback function.\n   */function lookupGetter(e,t){while(null!==e){const n=a(e,t);if(n){if(n.get)return unapply(n.get);if(\"function\"===typeof n.value)return unapply(n.value)}e=o(e)}function fallbackValue(e){console.warn(\"fallback value for\",e);return null}return fallbackValue}const _=r([\"a\",\"abbr\",\"acronym\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"bdi\",\"bdo\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"content\",\"data\",\"datalist\",\"dd\",\"decorator\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"nobr\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"section\",\"select\",\"shadow\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]);const A=r([\"svg\",\"a\",\"altglyph\",\"altglyphdef\",\"altglyphitem\",\"animatecolor\",\"animatemotion\",\"animatetransform\",\"circle\",\"clippath\",\"defs\",\"desc\",\"ellipse\",\"filter\",\"font\",\"g\",\"glyph\",\"glyphref\",\"hkern\",\"image\",\"line\",\"lineargradient\",\"marker\",\"mask\",\"metadata\",\"mpath\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialgradient\",\"rect\",\"stop\",\"style\",\"switch\",\"symbol\",\"text\",\"textpath\",\"title\",\"tref\",\"tspan\",\"view\",\"vkern\"]);const b=r([\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feDropShadow\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\"]);const N=r([\"animate\",\"color-profile\",\"cursor\",\"discard\",\"font-face\",\"font-face-format\",\"font-face-name\",\"font-face-src\",\"font-face-uri\",\"foreignobject\",\"hatch\",\"hatchpath\",\"mesh\",\"meshgradient\",\"meshpatch\",\"meshrow\",\"missing-glyph\",\"script\",\"set\",\"solidcolor\",\"unknown\",\"use\"]);const w=r([\"math\",\"menclose\",\"merror\",\"mfenced\",\"mfrac\",\"mglyph\",\"mi\",\"mlabeledtr\",\"mmultiscripts\",\"mn\",\"mo\",\"mover\",\"mpadded\",\"mphantom\",\"mroot\",\"mrow\",\"ms\",\"mspace\",\"msqrt\",\"mstyle\",\"msub\",\"msup\",\"msubsup\",\"mtable\",\"mtd\",\"mtext\",\"mtr\",\"munder\",\"munderover\",\"mprescripts\"]);const R=r([\"maction\",\"maligngroup\",\"malignmark\",\"mlongdiv\",\"mscarries\",\"mscarry\",\"msgroup\",\"mstack\",\"msline\",\"msrow\",\"semantics\",\"annotation\",\"annotation-xml\",\"mprescripts\",\"none\"]);const D=r([\"#text\"]);const k=r([\"accept\",\"action\",\"align\",\"alt\",\"autocapitalize\",\"autocomplete\",\"autopictureinpicture\",\"autoplay\",\"background\",\"bgcolor\",\"border\",\"capture\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"clear\",\"color\",\"cols\",\"colspan\",\"controls\",\"controlslist\",\"coords\",\"crossorigin\",\"datetime\",\"decoding\",\"default\",\"dir\",\"disabled\",\"disablepictureinpicture\",\"disableremoteplayback\",\"download\",\"draggable\",\"enctype\",\"enterkeyhint\",\"face\",\"for\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"id\",\"inputmode\",\"integrity\",\"ismap\",\"kind\",\"label\",\"lang\",\"list\",\"loading\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"minlength\",\"multiple\",\"muted\",\"name\",\"nonce\",\"noshade\",\"novalidate\",\"nowrap\",\"open\",\"optimum\",\"pattern\",\"placeholder\",\"playsinline\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"rev\",\"reversed\",\"role\",\"rows\",\"rowspan\",\"spellcheck\",\"scope\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"srclang\",\"start\",\"src\",\"srcset\",\"step\",\"style\",\"summary\",\"tabindex\",\"title\",\"translate\",\"type\",\"usemap\",\"valign\",\"value\",\"width\",\"xmlns\",\"slot\"]);const v=r([\"accent-height\",\"accumulate\",\"additive\",\"alignment-baseline\",\"ascent\",\"attributename\",\"attributetype\",\"azimuth\",\"basefrequency\",\"baseline-shift\",\"begin\",\"bias\",\"by\",\"class\",\"clip\",\"clippathunits\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-profile\",\"color-rendering\",\"cx\",\"cy\",\"d\",\"dx\",\"dy\",\"diffuseconstant\",\"direction\",\"display\",\"divisor\",\"dur\",\"edgemode\",\"elevation\",\"end\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"filterunits\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"fx\",\"fy\",\"g1\",\"g2\",\"glyph-name\",\"glyphref\",\"gradientunits\",\"gradienttransform\",\"height\",\"href\",\"id\",\"image-rendering\",\"in\",\"in2\",\"k\",\"k1\",\"k2\",\"k3\",\"k4\",\"kerning\",\"keypoints\",\"keysplines\",\"keytimes\",\"lang\",\"lengthadjust\",\"letter-spacing\",\"kernelmatrix\",\"kernelunitlength\",\"lighting-color\",\"local\",\"marker-end\",\"marker-mid\",\"marker-start\",\"markerheight\",\"markerunits\",\"markerwidth\",\"maskcontentunits\",\"maskunits\",\"max\",\"mask\",\"media\",\"method\",\"mode\",\"min\",\"name\",\"numoctaves\",\"offset\",\"operator\",\"opacity\",\"order\",\"orient\",\"orientation\",\"origin\",\"overflow\",\"paint-order\",\"path\",\"pathlength\",\"patterncontentunits\",\"patterntransform\",\"patternunits\",\"points\",\"preservealpha\",\"preserveaspectratio\",\"primitiveunits\",\"r\",\"rx\",\"ry\",\"radius\",\"refx\",\"refy\",\"repeatcount\",\"repeatdur\",\"restart\",\"result\",\"rotate\",\"scale\",\"seed\",\"shape-rendering\",\"specularconstant\",\"specularexponent\",\"spreadmethod\",\"startoffset\",\"stddeviation\",\"stitchtiles\",\"stop-color\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke\",\"stroke-width\",\"style\",\"surfacescale\",\"systemlanguage\",\"tabindex\",\"targetx\",\"targety\",\"transform\",\"transform-origin\",\"text-anchor\",\"text-decoration\",\"text-rendering\",\"textlength\",\"type\",\"u1\",\"u2\",\"unicode\",\"values\",\"viewbox\",\"visibility\",\"version\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\",\"width\",\"word-spacing\",\"wrap\",\"writing-mode\",\"xchannelselector\",\"ychannelselector\",\"x\",\"x1\",\"x2\",\"xmlns\",\"y\",\"y1\",\"y2\",\"z\",\"zoomandpan\"]);const L=r([\"accent\",\"accentunder\",\"align\",\"bevelled\",\"close\",\"columnsalign\",\"columnlines\",\"columnspan\",\"denomalign\",\"depth\",\"dir\",\"display\",\"displaystyle\",\"encoding\",\"fence\",\"frame\",\"height\",\"href\",\"id\",\"largeop\",\"length\",\"linethickness\",\"lspace\",\"lquote\",\"mathbackground\",\"mathcolor\",\"mathsize\",\"mathvariant\",\"maxsize\",\"minsize\",\"movablelimits\",\"notation\",\"numalign\",\"open\",\"rowalign\",\"rowlines\",\"rowspacing\",\"rowspan\",\"rspace\",\"rquote\",\"scriptlevel\",\"scriptminsize\",\"scriptsizemultiplier\",\"selection\",\"separator\",\"separators\",\"stretchy\",\"subscriptshift\",\"supscriptshift\",\"symmetric\",\"voffset\",\"width\",\"xmlns\"]);const x=r([\"xlink:href\",\"xml:id\",\"xlink:title\",\"xml:space\",\"xmlns:xlink\"]);const C=i(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm);const O=i(/<%[\\w\\W]*|[\\w\\W]*%>/gm);const M=i(/\\${[\\w\\W]*}/gm);const I=i(/^data-[\\-\\w.\\u00B7-\\uFFFF]/);const P=i(/^aria-[\\-\\w]+$/);const U=i(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i);const F=i(/^(?:\\w+script|data):/i);const H=i(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g);const z=i(/^html$/i);var B=Object.freeze({__proto__:null,MUSTACHE_EXPR:C,ERB_EXPR:O,TMPLIT_EXPR:M,DATA_ATTR:I,ARIA_ATTR:P,IS_ALLOWED_URI:U,IS_SCRIPT_OR_DATA:F,ATTR_WHITESPACE:H,DOCTYPE_NAME:z});const G=function getGlobal(){return\"undefined\"===typeof window?null:window};\n/**\n   * Creates a no-op policy for internal use only.\n   * Don't export this function outside this module!\n   * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n   * @param {HTMLScriptElement} purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n   * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n   * are not supported or creating the policy failed).\n   */const W=function _createTrustedTypesPolicy(e,t){if(\"object\"!==typeof e||\"function\"!==typeof e.createPolicy)return null;let n=null;const o=\"data-tt-policy-suffix\";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const a=\"dompurify\"+(n?\"#\"+n:\"\");try{return e.createPolicy(a,{createHTML(e){return e},createScriptURL(e){return e}})}catch(e){console.warn(\"TrustedTypes policy \"+a+\" could not be created.\");return null}};function createDOMPurify(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:G();const DOMPurify=e=>createDOMPurify(e);DOMPurify.version=\"3.0.6\";DOMPurify.removed=[];if(!t||!t.document||9!==t.document.nodeType){DOMPurify.isSupported=false;return DOMPurify}let{document:n}=t;const o=n;const a=o.currentScript;const{DocumentFragment:i,HTMLTemplateElement:s,Node:c,Element:C,NodeFilter:O,NamedNodeMap:M=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:I,DOMParser:P,trustedTypes:F}=t;const H=C.prototype;const Y=lookupGetter(H,\"cloneNode\");const j=lookupGetter(H,\"nextSibling\");const q=lookupGetter(H,\"childNodes\");const V=lookupGetter(H,\"parentNode\");if(\"function\"===typeof s){const e=n.createElement(\"template\");e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let X;let K=\"\";const{implementation:$,createNodeIterator:Z,createDocumentFragment:J,getElementsByTagName:Q}=n;const{importNode:ee}=o;let te={};DOMPurify.isSupported=\"function\"===typeof e&&\"function\"===typeof V&&$&&void 0!==$.createHTMLDocument;const{MUSTACHE_EXPR:ne,ERB_EXPR:oe,TMPLIT_EXPR:ae,DATA_ATTR:re,ARIA_ATTR:ie,IS_SCRIPT_OR_DATA:le,ATTR_WHITESPACE:se}=B;let{IS_ALLOWED_URI:ce}=B;let ue=null;const de=addToSet({},[..._,...A,...b,...w,...D]);let fe=null;const me=addToSet({},[...k,...v,...L,...x]);let pe=Object.seal(l(null,{tagNameCheck:{writable:true,configurable:false,enumerable:true,value:null},attributeNameCheck:{writable:true,configurable:false,enumerable:true,value:null},allowCustomizedBuiltInElements:{writable:true,configurable:false,enumerable:true,value:false}}));let he=null;let ge=null;let Te=true;let ye=true;let Se=false;let Ee=true;let _e=false;let Ae=false;let be=false;let Ne=false;let we=false;let Re=false;let De=false;let ke=true;let ve=false;const Le=\"user-content-\";let xe=true;let Ce=false;let Oe={};let Me=null;const Ie=addToSet({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]);let Pe=null;const Ue=addToSet({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]);let Fe=null;const He=addToSet({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]);const ze=\"http://www.w3.org/1998/Math/MathML\";const Be=\"http://www.w3.org/2000/svg\";const Ge=\"http://www.w3.org/1999/xhtml\";let We=Ge;let Ye=false;let je=null;const qe=addToSet({},[ze,Be,Ge],p);let Ve=null;const Xe=[\"application/xhtml+xml\",\"text/html\"];const Ke=\"text/html\";let $e=null;let Ze=null;const Je=n.createElement(\"form\");const Qe=function isRegexOrFunction(e){return e instanceof RegExp||e instanceof Function};\n/**\n     * _parseConfig\n     *\n     * @param  {Object} cfg optional config literal\n     */const et=function _parseConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Ze||Ze!==e){e&&\"object\"===typeof e||(e={});e=clone(e);Ve=Ve=-1===Xe.indexOf(e.PARSER_MEDIA_TYPE)?Ke:e.PARSER_MEDIA_TYPE;$e=\"application/xhtml+xml\"===Ve?p:m;ue=\"ALLOWED_TAGS\"in e?addToSet({},e.ALLOWED_TAGS,$e):de;fe=\"ALLOWED_ATTR\"in e?addToSet({},e.ALLOWED_ATTR,$e):me;je=\"ALLOWED_NAMESPACES\"in e?addToSet({},e.ALLOWED_NAMESPACES,p):qe;Fe=\"ADD_URI_SAFE_ATTR\"in e?addToSet(clone(He),e.ADD_URI_SAFE_ATTR,$e):He;Pe=\"ADD_DATA_URI_TAGS\"in e?addToSet(clone(Ue),e.ADD_DATA_URI_TAGS,$e):Ue;Me=\"FORBID_CONTENTS\"in e?addToSet({},e.FORBID_CONTENTS,$e):Ie;he=\"FORBID_TAGS\"in e?addToSet({},e.FORBID_TAGS,$e):{};ge=\"FORBID_ATTR\"in e?addToSet({},e.FORBID_ATTR,$e):{};Oe=\"USE_PROFILES\"in e&&e.USE_PROFILES;Te=false!==e.ALLOW_ARIA_ATTR;ye=false!==e.ALLOW_DATA_ATTR;Se=e.ALLOW_UNKNOWN_PROTOCOLS||false;Ee=false!==e.ALLOW_SELF_CLOSE_IN_ATTR;_e=e.SAFE_FOR_TEMPLATES||false;Ae=e.WHOLE_DOCUMENT||false;we=e.RETURN_DOM||false;Re=e.RETURN_DOM_FRAGMENT||false;De=e.RETURN_TRUSTED_TYPE||false;Ne=e.FORCE_BODY||false;ke=false!==e.SANITIZE_DOM;ve=e.SANITIZE_NAMED_PROPS||false;xe=false!==e.KEEP_CONTENT;Ce=e.IN_PLACE||false;ce=e.ALLOWED_URI_REGEXP||U;We=e.NAMESPACE||Ge;pe=e.CUSTOM_ELEMENT_HANDLING||{};e.CUSTOM_ELEMENT_HANDLING&&Qe(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(pe.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck);e.CUSTOM_ELEMENT_HANDLING&&Qe(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(pe.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck);e.CUSTOM_ELEMENT_HANDLING&&\"boolean\"===typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(pe.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements);_e&&(ye=false);Re&&(we=true);if(Oe){ue=addToSet({},[...D]);fe=[];if(true===Oe.html){addToSet(ue,_);addToSet(fe,k)}if(true===Oe.svg){addToSet(ue,A);addToSet(fe,v);addToSet(fe,x)}if(true===Oe.svgFilters){addToSet(ue,b);addToSet(fe,v);addToSet(fe,x)}if(true===Oe.mathMl){addToSet(ue,w);addToSet(fe,L);addToSet(fe,x)}}if(e.ADD_TAGS){ue===de&&(ue=clone(ue));addToSet(ue,e.ADD_TAGS,$e)}if(e.ADD_ATTR){fe===me&&(fe=clone(fe));addToSet(fe,e.ADD_ATTR,$e)}e.ADD_URI_SAFE_ATTR&&addToSet(Fe,e.ADD_URI_SAFE_ATTR,$e);if(e.FORBID_CONTENTS){Me===Ie&&(Me=clone(Me));addToSet(Me,e.FORBID_CONTENTS,$e)}xe&&(ue[\"#text\"]=true);Ae&&addToSet(ue,[\"html\",\"head\",\"body\"]);if(ue.table){addToSet(ue,[\"tbody\"]);delete he.tbody}if(e.TRUSTED_TYPES_POLICY){if(\"function\"!==typeof e.TRUSTED_TYPES_POLICY.createHTML)throw E('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');if(\"function\"!==typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw E('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');X=e.TRUSTED_TYPES_POLICY;K=X.createHTML(\"\")}else{void 0===X&&(X=W(F,a));null!==X&&\"string\"===typeof K&&(K=X.createHTML(\"\"))}r&&r(e);Ze=e}};const tt=addToSet({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]);const nt=addToSet({},[\"foreignobject\",\"desc\",\"title\",\"annotation-xml\"]);const ot=addToSet({},[\"title\",\"style\",\"font\",\"a\",\"script\"]);const at=addToSet({},A);addToSet(at,b);addToSet(at,N);const rt=addToSet({},w);addToSet(rt,R);\n/**\n     * @param  {Element} element a DOM element whose namespace is being checked\n     * @returns {boolean} Return false if the element has a\n     *  namespace that a spec-compliant parser would never\n     *  return. Return true otherwise.\n     */const it=function _checkValidNamespace(e){let t=V(e);t&&t.tagName||(t={namespaceURI:We,tagName:\"template\"});const n=m(e.tagName);const o=m(t.tagName);return!!je[e.namespaceURI]&&(e.namespaceURI===Be?t.namespaceURI===Ge?\"svg\"===n:t.namespaceURI===ze?\"svg\"===n&&(\"annotation-xml\"===o||tt[o]):Boolean(at[n]):e.namespaceURI===ze?t.namespaceURI===Ge?\"math\"===n:t.namespaceURI===Be?\"math\"===n&&nt[o]:Boolean(rt[n]):e.namespaceURI===Ge?!(t.namespaceURI===Be&&!nt[o])&&(!(t.namespaceURI===ze&&!tt[o])&&(!rt[n]&&(ot[n]||!at[n]))):!(\"application/xhtml+xml\"!==Ve||!je[e.namespaceURI]))};\n/**\n     * _forceRemove\n     *\n     * @param  {Node} node a DOM node\n     */const lt=function _forceRemove(e){f(DOMPurify.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}};\n/**\n     * _removeAttribute\n     *\n     * @param  {String} name an Attribute name\n     * @param  {Node} node a DOM node\n     */const st=function _removeAttribute(e,t){try{f(DOMPurify.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){f(DOMPurify.removed,{attribute:null,from:t})}t.removeAttribute(e);if(\"is\"===e&&!fe[e])if(we||Re)try{lt(t)}catch(e){}else try{t.setAttribute(e,\"\")}catch(e){}};\n/**\n     * _initDocument\n     *\n     * @param  {String} dirty a string of dirty markup\n     * @return {Document} a DOM, filled with the dirty markup\n     */const ct=function _initDocument(e){let t=null;let o=null;if(Ne)e=\"<remove></remove>\"+e;else{const t=h(e,/^[\\r\\n\\t ]+/);o=t&&t[0]}\"application/xhtml+xml\"===Ve&&We===Ge&&(e='<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>'+e+\"</body></html>\");const a=X?X.createHTML(e):e;if(We===Ge)try{t=(new P).parseFromString(a,Ve)}catch(e){}if(!t||!t.documentElement){t=$.createDocument(We,\"template\",null);try{t.documentElement.innerHTML=Ye?K:a}catch(e){}}const r=t.body||t.documentElement;e&&o&&r.insertBefore(n.createTextNode(o),r.childNodes[0]||null);return We===Ge?Q.call(t,Ae?\"html\":\"body\")[0]:Ae?t.documentElement:r};\n/**\n     * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n     *\n     * @param  {Node} root The root element or node to start traversing on.\n     * @return {NodeIterator} The created NodeIterator\n     */const ut=function _createNodeIterator(e){return Z.call(e.ownerDocument||e,e,O.SHOW_ELEMENT|O.SHOW_COMMENT|O.SHOW_TEXT,null)};\n/**\n     * _isClobbered\n     *\n     * @param  {Node} elm element to check for clobbering attacks\n     * @return {Boolean} true if clobbered, false if safe\n     */const dt=function _isClobbered(e){return e instanceof I&&(\"string\"!==typeof e.nodeName||\"string\"!==typeof e.textContent||\"function\"!==typeof e.removeChild||!(e.attributes instanceof M)||\"function\"!==typeof e.removeAttribute||\"function\"!==typeof e.setAttribute||\"string\"!==typeof e.namespaceURI||\"function\"!==typeof e.insertBefore||\"function\"!==typeof e.hasChildNodes)};\n/**\n     * Checks whether the given object is a DOM node.\n     *\n     * @param  {Node} object object to check whether it's a DOM node\n     * @return {Boolean} true is object is a DOM node\n     */const ft=function _isNode(e){return\"function\"===typeof c&&e instanceof c};\n/**\n     * _executeHook\n     * Execute user configurable hooks\n     *\n     * @param  {String} entryPoint  Name of the hook's entry point\n     * @param  {Node} currentNode node to work on with the hook\n     * @param  {Object} data additional hook parameters\n     */const mt=function _executeHook(e,t,n){te[e]&&u(te[e],(e=>{e.call(DOMPurify,t,n,Ze)}))};\n/**\n     * _sanitizeElements\n     *\n     * @protect nodeName\n     * @protect textContent\n     * @protect removeChild\n     *\n     * @param   {Node} currentNode to check for permission to exist\n     * @return  {Boolean} true if node was killed, false if left alive\n     */const pt=function _sanitizeElements(e){let t=null;mt(\"beforeSanitizeElements\",e,null);if(dt(e)){lt(e);return true}const n=$e(e.nodeName);mt(\"uponSanitizeElement\",e,{tagName:n,allowedTags:ue});if(e.hasChildNodes()&&!ft(e.firstElementChild)&&S(/<[/\\w]/g,e.innerHTML)&&S(/<[/\\w]/g,e.textContent)){lt(e);return true}if(!ue[n]||he[n]){if(!he[n]&&gt(n)){if(pe.tagNameCheck instanceof RegExp&&S(pe.tagNameCheck,n))return false;if(pe.tagNameCheck instanceof Function&&pe.tagNameCheck(n))return false}if(xe&&!Me[n]){const t=V(e)||e.parentNode;const n=q(e)||e.childNodes;if(n&&t){const o=n.length;for(let a=o-1;a>=0;--a)t.insertBefore(Y(n[a],true),j(e))}}lt(e);return true}if(e instanceof C&&!it(e)){lt(e);return true}if((\"noscript\"===n||\"noembed\"===n||\"noframes\"===n)&&S(/<\\/no(script|embed|frames)/i,e.innerHTML)){lt(e);return true}if(_e&&3===e.nodeType){t=e.textContent;u([ne,oe,ae],(e=>{t=g(t,e,\" \")}));if(e.textContent!==t){f(DOMPurify.removed,{element:e.cloneNode()});e.textContent=t}}mt(\"afterSanitizeElements\",e,null);return false};\n/**\n     * _isValidAttribute\n     *\n     * @param  {string} lcTag Lowercase tag name of containing element.\n     * @param  {string} lcName Lowercase attribute name.\n     * @param  {string} value Attribute value.\n     * @return {Boolean} Returns true if `value` is valid, otherwise false.\n     */const ht=function _isValidAttribute(e,t,o){if(ke&&(\"id\"===t||\"name\"===t)&&(o in n||o in Je))return false;if(ye&&!ge[t]&&S(re,t));else if(Te&&S(ie,t));else if(!fe[t]||ge[t]){if(!(gt(e)&&(pe.tagNameCheck instanceof RegExp&&S(pe.tagNameCheck,e)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(e))&&(pe.attributeNameCheck instanceof RegExp&&S(pe.attributeNameCheck,t)||pe.attributeNameCheck instanceof Function&&pe.attributeNameCheck(t))||\"is\"===t&&pe.allowCustomizedBuiltInElements&&(pe.tagNameCheck instanceof RegExp&&S(pe.tagNameCheck,o)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(o))))return false}else if(Fe[t]);else if(S(ce,g(o,se,\"\")));else if(\"src\"!==t&&\"xlink:href\"!==t&&\"href\"!==t||\"script\"===e||0!==T(o,\"data:\")||!Pe[e]){if(Se&&!S(le,g(o,se,\"\")));else if(o)return false}else;return true};\n/**\n     * _isBasicCustomElement\n     * checks if at least one dash is included in tagName, and it's not the first char\n     * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n     *\n     * @param {string} tagName name of the tag of the node to sanitize\n     * @returns {boolean} Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n     */const gt=function _isBasicCustomElement(e){return e.indexOf(\"-\")>0};\n/**\n     * _sanitizeAttributes\n     *\n     * @protect attributes\n     * @protect nodeName\n     * @protect removeAttribute\n     * @protect setAttribute\n     *\n     * @param  {Node} currentNode to sanitize\n     */const Tt=function _sanitizeAttributes(e){mt(\"beforeSanitizeAttributes\",e,null);const{attributes:t}=e;if(!t)return;const n={attrName:\"\",attrValue:\"\",keepAttr:true,allowedAttributes:fe};let o=t.length;while(o--){const a=t[o];const{name:r,namespaceURI:i,value:l}=a;const s=$e(r);let c=\"value\"===r?l:y(l);n.attrName=s;n.attrValue=c;n.keepAttr=true;n.forceKeepAttr=void 0;mt(\"uponSanitizeAttribute\",e,n);c=n.attrValue;if(n.forceKeepAttr)continue;st(r,e);if(!n.keepAttr)continue;if(!Ee&&S(/\\/>/i,c)){st(r,e);continue}_e&&u([ne,oe,ae],(e=>{c=g(c,e,\" \")}));const f=$e(e.nodeName);if(ht(f,s,c)){if(ve&&(\"id\"===s||\"name\"===s)){st(r,e);c=Le+c}if(X&&\"object\"===typeof F&&\"function\"===typeof F.getAttributeType)if(i);else switch(F.getAttributeType(f,s)){case\"TrustedHTML\":c=X.createHTML(c);break;case\"TrustedScriptURL\":c=X.createScriptURL(c);break}try{i?e.setAttributeNS(i,r,c):e.setAttribute(r,c);d(DOMPurify.removed)}catch(e){}}}mt(\"afterSanitizeAttributes\",e,null)};\n/**\n     * _sanitizeShadowDOM\n     *\n     * @param  {DocumentFragment} fragment to iterate over recursively\n     */const yt=function _sanitizeShadowDOM(e){let t=null;const n=ut(e);mt(\"beforeSanitizeShadowDOM\",e,null);while(t=n.nextNode()){mt(\"uponSanitizeShadowNode\",t,null);if(!pt(t)){t.content instanceof i&&_sanitizeShadowDOM(t.content);Tt(t)}}mt(\"afterSanitizeShadowDOM\",e,null)};\n/**\n     * Sanitize\n     * Public method providing core sanitation functionality\n     *\n     * @param {String|Node} dirty string or DOM node\n     * @param {Object} cfg object\n     */DOMPurify.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};let n=null;let a=null;let r=null;let l=null;Ye=!e;Ye&&(e=\"\\x3c!--\\x3e\");if(\"string\"!==typeof e&&!ft(e)){if(\"function\"!==typeof e.toString)throw E(\"toString is not a function\");e=e.toString();if(\"string\"!==typeof e)throw E(\"dirty is not a string, aborting\")}if(!DOMPurify.isSupported)return e;be||et(t);DOMPurify.removed=[];\"string\"===typeof e&&(Ce=false);if(Ce){if(e.nodeName){const t=$e(e.nodeName);if(!ue[t]||he[t])throw E(\"root node is forbidden and cannot be sanitized in-place\")}}else if(e instanceof c){n=ct(\"\\x3c!----\\x3e\");a=n.ownerDocument.importNode(e,true);1===a.nodeType&&\"BODY\"===a.nodeName||\"HTML\"===a.nodeName?n=a:n.appendChild(a)}else{if(!we&&!_e&&!Ae&&-1===e.indexOf(\"<\"))return X&&De?X.createHTML(e):e;n=ct(e);if(!n)return we?null:De?K:\"\"}n&&Ne&&lt(n.firstChild);const s=ut(Ce?e:n);while(r=s.nextNode())if(!pt(r)){r.content instanceof i&&yt(r.content);Tt(r)}if(Ce)return e;if(we){if(Re){l=J.call(n.ownerDocument);while(n.firstChild)l.appendChild(n.firstChild)}else l=n;(fe.shadowroot||fe.shadowrootmode)&&(l=ee.call(o,l,true));return l}let d=Ae?n.outerHTML:n.innerHTML;Ae&&ue[\"!doctype\"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&S(z,n.ownerDocument.doctype.name)&&(d=\"<!DOCTYPE \"+n.ownerDocument.doctype.name+\">\\n\"+d);_e&&u([ne,oe,ae],(e=>{d=g(d,e,\" \")}));return X&&De?X.createHTML(d):d};\n/**\n     * Public method to set the configuration once\n     * setConfig\n     *\n     * @param {Object} cfg configuration object\n     */DOMPurify.setConfig=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};et(e);be=true};DOMPurify.clearConfig=function(){Ze=null;be=false};\n/**\n     * Public method to check if an attribute value is valid.\n     * Uses last set config, if any. Otherwise, uses config defaults.\n     * isValidAttribute\n     *\n     * @param  {String} tag Tag name of containing element.\n     * @param  {String} attr Attribute name.\n     * @param  {String} value Attribute value.\n     * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n     */DOMPurify.isValidAttribute=function(e,t,n){Ze||et({});const o=$e(e);const a=$e(t);return ht(o,a,n)};\n/**\n     * AddHook\n     * Public method to add DOMPurify hooks\n     *\n     * @param {String} entryPoint entry point for the hook to add\n     * @param {Function} hookFunction function to execute\n     */DOMPurify.addHook=function(e,t){if(\"function\"===typeof t){te[e]=te[e]||[];f(te[e],t)}};\n/**\n     * RemoveHook\n     * Public method to remove a DOMPurify hook at a given entryPoint\n     * (pops it from the stack of hooks if more are present)\n     *\n     * @param {String} entryPoint entry point for the hook to remove\n     * @return {Function} removed(popped) hook\n     */DOMPurify.removeHook=function(e){if(te[e])return d(te[e])};\n/**\n     * RemoveHooks\n     * Public method to remove all DOMPurify hooks at a given entryPoint\n     *\n     * @param  {String} entryPoint entry point for the hooks to remove\n     */DOMPurify.removeHooks=function(e){te[e]&&(te[e]=[])};DOMPurify.removeAllHooks=function(){te={}};return DOMPurify}var Y=createDOMPurify();return Y}));var t=e;export{t as default};\n\n//# sourceMappingURL=purify.js.map","import DOMPurify from\"dompurify\";import{enrichExternalAnchorRels}from\"https://framerusercontent.com/modules/Da10ki4vvDJiJ9Ja6o9D/4trqWfy4fex3Wv65m7ii/linkHelpers.js\";const BLOG_ALLOWED_TAGS=[\"p\",\"div\",\"span\",\"br\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"a\",\"strong\",\"em\",\"b\",\"i\",\"u\",\"ul\",\"ol\",\"li\",\"blockquote\",\"pre\",\"code\",\"img\"];const BLOG_ALLOWED_ATTR=[\"href\",\"src\",\"alt\",\"title\",\"class\",\"target\",\"rel\",\"start\",\"type\"];const ALLOWED_TAG_SET=new Set(BLOG_ALLOWED_TAGS.map(t=>t.toLowerCase()));const ALLOWED_ATTR_SET=new Set(BLOG_ALLOWED_ATTR.map(a=>a.toLowerCase()));const VOID_TAGS=new Set([\"br\",\"img\"]);const PURIFY_OPTIONS={ALLOWED_TAGS:BLOG_ALLOWED_TAGS,ALLOWED_ATTR:BLOG_ALLOWED_ATTR,ADD_ATTR:[\"target\",\"rel\"],ALLOW_DATA_ATTR:false};function canUseDomPurify(){return typeof window!==\"undefined\"&&typeof window.document!==\"undefined\";}function escapeHtmlText(text){return text.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\");}function stripDangerousBlocks(html){let s=html;s=s.replace(/<!--[\\s\\S]*?-->/g,\"\");s=s.replace(/\\s+on[a-z]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s>]+)/gi,\"\");s=s.replace(/<script\\b[\\s\\S]*?<\\/script>/gi,\"\");s=s.replace(/<style\\b[\\s\\S]*?<\\/style>/gi,\"\");s=s.replace(/<iframe\\b[\\s\\S]*?<\\/iframe>/gi,\"\");s=s.replace(/<object\\b[\\s\\S]*?<\\/object>/gi,\"\");s=s.replace(/<embed\\b[^>]*>/gi,\"\");s=s.replace(/<link\\b[^>]*>/gi,\"\");s=s.replace(/<meta\\b[^>]*>/gi,\"\");return s;}function decodeNumericEntity(raw,radix){const codePoint=Number.parseInt(raw,radix);if(!Number.isFinite(codePoint)||codePoint<0||codePoint>1114111||codePoint>=55296&&codePoint<=57343){return\"\";}return String.fromCodePoint(codePoint);}function decodeHtmlEntities(value){return value.replace(/&#x([0-9a-f]+);?/gi,(_match,hex)=>decodeNumericEntity(hex,16)).replace(/&#(\\d+);?/g,(_match,dec)=>decodeNumericEntity(dec,10)).replace(/&colon;/gi,\":\").replace(/&amp;/gi,\"&\").replace(/&lt;/gi,\"<\").replace(/&gt;/gi,\">\").replace(/&quot;/gi,'\"').replace(/&apos;/gi,\"'\").replace(/&tab;/gi,\"\t\").replace(/&newline;/gi,\"\\n\");}function sanitizeUrlAttr(value){const v=value.trim();const decoded=decodeHtmlEntities(v);const c0AndSpace=new RegExp(\"[\"+String.fromCharCode(0)+\"-\\\\u0020]+\",\"g\");const normalized=decoded.replace(c0AndSpace,\"\").toLowerCase();if(normalized.startsWith(\"javascript:\")||normalized.startsWith(\"vbscript:\"))return\"#\";if(normalized.startsWith(\"data:\")&&!/^data:image\\/(png|jpeg|gif|webp);/i.test(normalized))return\"#\";return v;}function formatAllowedAttributes(_tagName,attrSection){const parts=[];const re=/([a-zA-Z][-a-zA-Z0-9]*)\\s*(?:=\\s*(\"([^\"]*)\"|'([^']*)'|([^\\s\"'=<>`]+)))?/g;let m;while((m=re.exec(attrSection))!==null){const name=m[1].toLowerCase();if(!ALLOWED_ATTR_SET.has(name))continue;const val=m[3]??m[4]??m[5]??\"\";if(name===\"href\"||name===\"src\"){const safe=sanitizeUrlAttr(val);parts.push(`${name}=\"${escapeHtmlText(safe)}\"`);}else if(val!==undefined&&val!==\"\"){parts.push(`${name}=\"${escapeHtmlText(val)}\"`);}else{parts.push(name);}}return parts.length?\" \"+parts.join(\" \"):\"\";}function parseOpeningTag(tagInner){const trimmed=tagInner.trim();if(!trimmed||trimmed.startsWith(\"/\"))return null;const selfClosing=/\\/\\s*$/.test(trimmed);const withoutSlash=trimmed.replace(/\\/\\s*$/,\"\").trim();const nameMatch=/^([a-zA-Z][a-zA-Z0-9:-]*)/.exec(withoutSlash);if(!nameMatch)return null;const rawName=nameMatch[1];const tagName=(rawName.includes(\":\")?rawName.split(\":\").pop():rawName).toLowerCase();if(!ALLOWED_TAG_SET.has(tagName))return null;const afterName=withoutSlash.slice(nameMatch[0].length).trim();const attrs=formatAllowedAttributes(tagName,afterName);const voidTag=VOID_TAGS.has(tagName);if(voidTag){return{tagName,voidTag:true,html:`<${tagName}${attrs} />`};}if(selfClosing){return null;}return{tagName,voidTag:false,html:`<${tagName}${attrs}>`};}function sanitizeRichContentWithoutDocument(html){const cleaned=stripDangerousBlocks(html);const stack=[];let out=\"\";let i=0;while(i<cleaned.length){const lt=cleaned.indexOf(\"<\",i);if(lt===-1){out+=escapeHtmlText(cleaned.slice(i));break;}out+=escapeHtmlText(cleaned.slice(i,lt));const gt=cleaned.indexOf(\">\",lt);if(gt===-1){out+=escapeHtmlText(cleaned.slice(lt));break;}const inner=cleaned.slice(lt+1,gt);if(inner.startsWith(\"!\")||inner.startsWith(\"?\")){i=gt+1;continue;}if(/^\\s*\\//.test(inner)){const cm=/^\\s*\\/\\s*([a-zA-Z][a-zA-Z0-9:-]*)/.exec(inner);const rawClose=cm?cm[1]:\"\";const closeName=(rawClose.includes(\":\")?rawClose.split(\":\").pop():rawClose).toLowerCase();if(stack.length&&stack[stack.length-1]===closeName){stack.pop();out+=`</${closeName}>`;}i=gt+1;continue;}const open=parseOpeningTag(inner);if(!open){i=gt+1;continue;}out+=open.html;if(!open.voidTag){stack.push(open.tagName);}i=gt+1;}while(stack.length){out+=`</${stack.pop()}>`;}return out;}export function sanitizeRichContent(html,brand){if(typeof html!==\"string\")return\"\";const cleaned=canUseDomPurify()?DOMPurify.sanitize(html,PURIFY_OPTIONS):sanitizeRichContentWithoutDocument(html);return enrichExternalAnchorRels(cleaned,brand);}// recompile: 1792505897503\n\nexport const __FramerMetadata__ = {\"exports\":{\"sanitizeRichContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}