/*! Copyright 2016-2026 Kiln Enterprises Ltd This file may be freely used, and distributed without modification. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ window.FlourishConfig={app_url:"https://app.flourish.studio",public_url:"https://public.flourish.studio/",embeds_url:"https://flo.uri.sh/"},function(){"use strict";var t=!1;function e(e){if(t&&window.top!==window.self){var i=window;"srcdoc"===i.location.pathname&&(i=i.parent);var r,o=(r={},window._Flourish_template_id&&(r.template_id=window._Flourish_template_id),window.Flourish&&window.Flourish.app&&window.Flourish.app.loaded_template_id&&(r.template_id=window.Flourish.app.loaded_template_id),window._Flourish_visualisation_id&&(r.visualisation_id=window._Flourish_visualisation_id),window.Flourish&&window.Flourish.app&&window.Flourish.app.loaded_visualisation&&(r.visualisation_id=window.Flourish.app.loaded_visualisation.id),window.Flourish&&window.Flourish.app&&window.Flourish.app.story&&(r.story_id=window.Flourish.app.story.id,r.slide_count=window.Flourish.app.story.slides.length),window.Flourish&&window.Flourish.app&&window.Flourish.app.current_slide&&(r.slide_index=window.Flourish.app.current_slide.index+1),r),a={sender:"Flourish",method:"customerAnalytics"};for(var n in o)o.hasOwnProperty(n)&&(a[n]=o[n]);for(var n in e)e.hasOwnProperty(n)&&(a[n]=e[n]);i.parent.postMessage(JSON.stringify(a),"*")}}function i(t){if("function"!=typeof t)throw new Error("Analytics callback is not a function");window.Flourish._analytics_listeners.push(t)}function r(t){if("function"!=typeof t)throw new Error("Analytics callback is not a function");window.Flourish._analytics_listeners=window.Flourish._analytics_listeners.filter(function(e){return t!==e})}function o(){t=!0;[{event_name:"click",action_name:"click",use_capture:!0},{event_name:"keydown",action_name:"key_down",use_capture:!0},{event_name:"mouseenter",action_name:"mouse_enter",use_capture:!1},{event_name:"mouseleave",action_name:"mouse_leave",use_capture:!1}].forEach(function(t){document.body.addEventListener(t.event_name,function(){e({action:t.action_name})},t.use_capture)})} /*! @license DOMPurify 3.2.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.4/LICENSE */const{entries:a,setPrototypeOf:n,isFrozen:s,getPrototypeOf:l,getOwnPropertyDescriptor:u}=Object;let{freeze:c,seal:d,create:h}=Object,{apply:p,construct:m}="undefined"!=typeof Reflect&&Reflect;c||(c=function(t){return t}),d||(d=function(t){return t}),p||(p=function(t,e,i){return t.apply(e,i)}),m||(m=function(t,e){return new t(...e)});const f=M(Array.prototype.forEach),g=M(Array.prototype.lastIndexOf),w=M(Array.prototype.pop),y=M(Array.prototype.push),v=M(Array.prototype.splice),b=M(String.prototype.toLowerCase),_=M(String.prototype.toString),x=M(String.prototype.match),A=M(String.prototype.replace),E=M(String.prototype.indexOf),T=M(String.prototype.trim),C=M(Object.prototype.hasOwnProperty),S=M(RegExp.prototype.test),F=(N=TypeError,function(){for(var t=arguments.length,e=new Array(t),i=0;i1?i-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:b;n&&n(t,null);let r=e.length;for(;r--;){let o=e[r];if("string"==typeof o){const t=i(o);t!==o&&(s(e)||(e[r]=t),o=t)}t[o]=!0}return t}function L(t){for(let e=0;e/gm),X=d(/\$\{[\w\W]*/gm),V=d(/^data-[\-\w.\u00B7-\uFFFF]+$/),K=d(/^aria-[\-\w]+$/),J=d(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Z=d(/^(?:\w+script|data):/i),Q=d(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),tt=d(/^html$/i),et=d(/^[a-z][.\w]*(-[.\w]+)+$/i);var it=Object.freeze({__proto__:null,ARIA_ATTR:K,ATTR_WHITESPACE:Q,CUSTOM_ELEMENT:et,DATA_ATTR:V,DOCTYPE_NAME:tt,ERB_EXPR:$,IS_ALLOWED_URI:J,IS_SCRIPT_OR_DATA:Z,MUSTACHE_EXPR:Y,TMPLIT_EXPR:X});const rt=1,ot=3,at=7,nt=8,st=9,lt=function(){return"undefined"==typeof window?null:window};var ut,ct,dt=function t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:lt();const i=e=>t(e);if(i.version="3.2.4",i.removed=[],!e||!e.document||e.document.nodeType!==st||!e.Element)return i.isSupported=!1,i;let{document:r}=e;const o=r,n=o.currentScript,{DocumentFragment:s,HTMLTemplateElement:l,Node:u,Element:d,NodeFilter:p,NamedNodeMap:m=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:N,DOMParser:M,trustedTypes:L}=e,Y=d.prototype,$=R(Y,"cloneNode"),X=R(Y,"remove"),V=R(Y,"nextSibling"),K=R(Y,"childNodes"),Z=R(Y,"parentNode");if("function"==typeof l){const t=r.createElement("template");t.content&&t.content.ownerDocument&&(r=t.content.ownerDocument)}let Q,et="";const{implementation:ut,createNodeIterator:ct,createDocumentFragment:dt,getElementsByTagName:ht}=r,{importNode:pt}=o;let mt={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};i.isSupported="function"==typeof a&&"function"==typeof Z&&ut&&void 0!==ut.createHTMLDocument;const{MUSTACHE_EXPR:ft,ERB_EXPR:gt,TMPLIT_EXPR:wt,DATA_ATTR:yt,ARIA_ATTR:vt,IS_SCRIPT_OR_DATA:bt,ATTR_WHITESPACE:_t,CUSTOM_ELEMENT:xt}=it;let{IS_ALLOWED_URI:At}=it,Et=null;const Tt=k({},[...D,...I,...z,...P,...B]);let Ct=null;const St=k({},[...W,...G,...q,...j]);let Ft=Object.seal(h(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Nt=null,Mt=null,kt=!0,Lt=!0,Ot=!1,Rt=!0,Dt=!1,It=!0,zt=!1,Ut=!1,Pt=!1,Ht=!1,Bt=!1,Wt=!1,Gt=!0,qt=!1,jt=!0,Yt=!1,$t={},Xt=null;const Vt=k({},["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 Kt=null;const Jt=k({},["audio","video","img","source","image","track"]);let Zt=null;const Qt=k({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),te="http://www.w3.org/1998/Math/MathML",ee="http://www.w3.org/2000/svg",ie="http://www.w3.org/1999/xhtml";let re=ie,oe=!1,ae=null;const ne=k({},[te,ee,ie],_);let se=k({},["mi","mo","mn","ms","mtext"]),le=k({},["annotation-xml"]);const ue=k({},["title","style","font","a","script"]);let ce=null;const de=["application/xhtml+xml","text/html"];let he=null,pe=null;const me=r.createElement("form"),fe=function(t){return t instanceof RegExp||t instanceof Function},ge=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!pe||pe!==t){if(t&&"object"==typeof t||(t={}),t=O(t),ce=-1===de.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,he="application/xhtml+xml"===ce?_:b,Et=C(t,"ALLOWED_TAGS")?k({},t.ALLOWED_TAGS,he):Tt,Ct=C(t,"ALLOWED_ATTR")?k({},t.ALLOWED_ATTR,he):St,ae=C(t,"ALLOWED_NAMESPACES")?k({},t.ALLOWED_NAMESPACES,_):ne,Zt=C(t,"ADD_URI_SAFE_ATTR")?k(O(Qt),t.ADD_URI_SAFE_ATTR,he):Qt,Kt=C(t,"ADD_DATA_URI_TAGS")?k(O(Jt),t.ADD_DATA_URI_TAGS,he):Jt,Xt=C(t,"FORBID_CONTENTS")?k({},t.FORBID_CONTENTS,he):Vt,Nt=C(t,"FORBID_TAGS")?k({},t.FORBID_TAGS,he):{},Mt=C(t,"FORBID_ATTR")?k({},t.FORBID_ATTR,he):{},$t=!!C(t,"USE_PROFILES")&&t.USE_PROFILES,kt=!1!==t.ALLOW_ARIA_ATTR,Lt=!1!==t.ALLOW_DATA_ATTR,Ot=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Rt=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,Dt=t.SAFE_FOR_TEMPLATES||!1,It=!1!==t.SAFE_FOR_XML,zt=t.WHOLE_DOCUMENT||!1,Ht=t.RETURN_DOM||!1,Bt=t.RETURN_DOM_FRAGMENT||!1,Wt=t.RETURN_TRUSTED_TYPE||!1,Pt=t.FORCE_BODY||!1,Gt=!1!==t.SANITIZE_DOM,qt=t.SANITIZE_NAMED_PROPS||!1,jt=!1!==t.KEEP_CONTENT,Yt=t.IN_PLACE||!1,At=t.ALLOWED_URI_REGEXP||J,re=t.NAMESPACE||ie,se=t.MATHML_TEXT_INTEGRATION_POINTS||se,le=t.HTML_INTEGRATION_POINTS||le,Ft=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&fe(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ft.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&fe(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ft.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Ft.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Dt&&(Lt=!1),Bt&&(Ht=!0),$t&&(Et=k({},B),Ct=[],!0===$t.html&&(k(Et,D),k(Ct,W)),!0===$t.svg&&(k(Et,I),k(Ct,G),k(Ct,j)),!0===$t.svgFilters&&(k(Et,z),k(Ct,G),k(Ct,j)),!0===$t.mathMl&&(k(Et,P),k(Ct,q),k(Ct,j))),t.ADD_TAGS&&(Et===Tt&&(Et=O(Et)),k(Et,t.ADD_TAGS,he)),t.ADD_ATTR&&(Ct===St&&(Ct=O(Ct)),k(Ct,t.ADD_ATTR,he)),t.ADD_URI_SAFE_ATTR&&k(Zt,t.ADD_URI_SAFE_ATTR,he),t.FORBID_CONTENTS&&(Xt===Vt&&(Xt=O(Xt)),k(Xt,t.FORBID_CONTENTS,he)),jt&&(Et["#text"]=!0),zt&&k(Et,["html","head","body"]),Et.table&&(k(Et,["tbody"]),delete Nt.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw F('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw F('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Q=t.TRUSTED_TYPES_POLICY,et=Q.createHTML("")}else void 0===Q&&(Q=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let i=null;const r="data-tt-policy-suffix";e&&e.hasAttribute(r)&&(i=e.getAttribute(r));const o="dompurify"+(i?"#"+i:"");try{return t.createPolicy(o,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+o+" could not be created."),null}}(L,n)),null!==Q&&"string"==typeof et&&(et=Q.createHTML(""));c&&c(t),pe=t}},we=k({},[...I,...z,...U]),ye=k({},[...P,...H]),ve=function(t){y(i.removed,{element:t});try{Z(t).removeChild(t)}catch(e){X(t)}},be=function(t,e){try{y(i.removed,{attribute:e.getAttributeNode(t),from:e})}catch(t){y(i.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t)if(Ht||Bt)try{ve(e)}catch(t){}else try{e.setAttribute(t,"")}catch(t){}},_e=function(t){let e=null,i=null;if(Pt)t=""+t;else{const e=x(t,/^[\r\n\t ]+/);i=e&&e[0]}"application/xhtml+xml"===ce&&re===ie&&(t=''+t+"");const o=Q?Q.createHTML(t):t;if(re===ie)try{e=(new M).parseFromString(o,ce)}catch(t){}if(!e||!e.documentElement){e=ut.createDocument(re,"template",null);try{e.documentElement.innerHTML=oe?et:o}catch(t){}}const a=e.body||e.documentElement;return t&&i&&a.insertBefore(r.createTextNode(i),a.childNodes[0]||null),re===ie?ht.call(e,zt?"html":"body")[0]:zt?e.documentElement:a},xe=function(t){return ct.call(t.ownerDocument||t,t,p.SHOW_ELEMENT|p.SHOW_COMMENT|p.SHOW_TEXT|p.SHOW_PROCESSING_INSTRUCTION|p.SHOW_CDATA_SECTION,null)},Ae=function(t){return t instanceof N&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof m)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},Ee=function(t){return"function"==typeof u&&t instanceof u};function Te(t,e,r){f(t,t=>{t.call(i,e,r,pe)})}const Ce=function(t){let e=null;if(Te(mt.beforeSanitizeElements,t,null),Ae(t))return ve(t),!0;const r=he(t.nodeName);if(Te(mt.uponSanitizeElement,t,{tagName:r,allowedTags:Et}),t.hasChildNodes()&&!Ee(t.firstElementChild)&&S(/<[/\w]/g,t.innerHTML)&&S(/<[/\w]/g,t.textContent))return ve(t),!0;if(t.nodeType===at)return ve(t),!0;if(It&&t.nodeType===nt&&S(/<[/\w]/g,t.data))return ve(t),!0;if(!Et[r]||Nt[r]){if(!Nt[r]&&Fe(r)){if(Ft.tagNameCheck instanceof RegExp&&S(Ft.tagNameCheck,r))return!1;if(Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(r))return!1}if(jt&&!Xt[r]){const e=Z(t)||t.parentNode,i=K(t)||t.childNodes;if(i&&e){for(let r=i.length-1;r>=0;--r){const o=$(i[r],!0);o.__removalCount=(t.__removalCount||0)+1,e.insertBefore(o,V(t))}}}return ve(t),!0}return t instanceof d&&!function(t){let e=Z(t);e&&e.tagName||(e={namespaceURI:re,tagName:"template"});const i=b(t.tagName),r=b(e.tagName);return!!ae[t.namespaceURI]&&(t.namespaceURI===ee?e.namespaceURI===ie?"svg"===i:e.namespaceURI===te?"svg"===i&&("annotation-xml"===r||se[r]):Boolean(we[i]):t.namespaceURI===te?e.namespaceURI===ie?"math"===i:e.namespaceURI===ee?"math"===i&&le[r]:Boolean(ye[i]):t.namespaceURI===ie?!(e.namespaceURI===ee&&!le[r])&&!(e.namespaceURI===te&&!se[r])&&!ye[i]&&(ue[i]||!we[i]):!("application/xhtml+xml"!==ce||!ae[t.namespaceURI]))}(t)?(ve(t),!0):"noscript"!==r&&"noembed"!==r&&"noframes"!==r||!S(/<\/no(script|embed|frames)/i,t.innerHTML)?(Dt&&t.nodeType===ot&&(e=t.textContent,f([ft,gt,wt],t=>{e=A(e,t," ")}),t.textContent!==e&&(y(i.removed,{element:t.cloneNode()}),t.textContent=e)),Te(mt.afterSanitizeElements,t,null),!1):(ve(t),!0)},Se=function(t,e,i){if(Gt&&("id"===e||"name"===e)&&(i in r||i in me))return!1;if(Lt&&!Mt[e]&&S(yt,e));else if(kt&&S(vt,e));else if(!Ct[e]||Mt[e]){if(!(Fe(t)&&(Ft.tagNameCheck instanceof RegExp&&S(Ft.tagNameCheck,t)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(t))&&(Ft.attributeNameCheck instanceof RegExp&&S(Ft.attributeNameCheck,e)||Ft.attributeNameCheck instanceof Function&&Ft.attributeNameCheck(e))||"is"===e&&Ft.allowCustomizedBuiltInElements&&(Ft.tagNameCheck instanceof RegExp&&S(Ft.tagNameCheck,i)||Ft.tagNameCheck instanceof Function&&Ft.tagNameCheck(i))))return!1}else if(Zt[e]);else if(S(At,A(i,_t,"")));else if("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==E(i,"data:")||!Kt[t]){if(Ot&&!S(bt,A(i,_t,"")));else if(i)return!1}else;return!0},Fe=function(t){return"annotation-xml"!==t&&x(t,xt)},Ne=function(t){Te(mt.beforeSanitizeAttributes,t,null);const{attributes:e}=t;if(!e||Ae(t))return;const r={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ct,forceKeepAttr:void 0};let o=e.length;for(;o--;){const a=e[o],{name:n,namespaceURI:s,value:l}=a,u=he(n);let c="value"===n?l:T(l);if(r.attrName=u,r.attrValue=c,r.keepAttr=!0,r.forceKeepAttr=void 0,Te(mt.uponSanitizeAttribute,t,r),c=r.attrValue,!qt||"id"!==u&&"name"!==u||(be(n,t),c="user-content-"+c),It&&S(/((--!?|])>)|<\/(style|title)/i,c)){be(n,t);continue}if(r.forceKeepAttr)continue;if(be(n,t),!r.keepAttr)continue;if(!Rt&&S(/\/>/i,c)){be(n,t);continue}Dt&&f([ft,gt,wt],t=>{c=A(c,t," ")});const d=he(t.nodeName);if(Se(d,u,c)){if(Q&&"object"==typeof L&&"function"==typeof L.getAttributeType)if(s);else switch(L.getAttributeType(d,u)){case"TrustedHTML":c=Q.createHTML(c);break;case"TrustedScriptURL":c=Q.createScriptURL(c)}try{s?t.setAttributeNS(s,n,c):t.setAttribute(n,c),Ae(t)?ve(t):w(i.removed)}catch(t){}}}Te(mt.afterSanitizeAttributes,t,null)},Me=function t(e){let i=null;const r=xe(e);for(Te(mt.beforeSanitizeShadowDOM,e,null);i=r.nextNode();)Te(mt.uponSanitizeShadowNode,i,null),Ce(i),Ne(i),i.content instanceof s&&t(i.content);Te(mt.afterSanitizeShadowDOM,e,null)};return i.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,a=null,n=null,l=null;if(oe=!t,oe&&(t="\x3c!--\x3e"),"string"!=typeof t&&!Ee(t)){if("function"!=typeof t.toString)throw F("toString is not a function");if("string"!=typeof(t=t.toString()))throw F("dirty is not a string, aborting")}if(!i.isSupported)return t;if(Ut||ge(e),i.removed=[],"string"==typeof t&&(Yt=!1),Yt){if(t.nodeName){const e=he(t.nodeName);if(!Et[e]||Nt[e])throw F("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof u)r=_e("\x3c!----\x3e"),a=r.ownerDocument.importNode(t,!0),a.nodeType===rt&&"BODY"===a.nodeName||"HTML"===a.nodeName?r=a:r.appendChild(a);else{if(!Ht&&!Dt&&!zt&&-1===t.indexOf("<"))return Q&&Wt?Q.createHTML(t):t;if(r=_e(t),!r)return Ht?null:Wt?et:""}r&&Pt&&ve(r.firstChild);const c=xe(Yt?t:r);for(;n=c.nextNode();)Ce(n),Ne(n),n.content instanceof s&&Me(n.content);if(Yt)return t;if(Ht){if(Bt)for(l=dt.call(r.ownerDocument);r.firstChild;)l.appendChild(r.firstChild);else l=r;return(Ct.shadowroot||Ct.shadowrootmode)&&(l=pt.call(o,l,!0)),l}let d=zt?r.outerHTML:r.innerHTML;return zt&&Et["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&S(tt,r.ownerDocument.doctype.name)&&(d="\n"+d),Dt&&f([ft,gt,wt],t=>{d=A(d,t," ")}),Q&&Wt?Q.createHTML(d):d},i.setConfig=function(){ge(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Ut=!0},i.clearConfig=function(){pe=null,Ut=!1},i.isValidAttribute=function(t,e,i){pe||ge({});const r=he(t),o=he(e);return Se(r,o,i)},i.addHook=function(t,e){"function"==typeof e&&y(mt[t],e)},i.removeHook=function(t,e){if(void 0!==e){const i=g(mt[t],e);return-1===i?void 0:v(mt[t],i,1)[0]}return w(mt[t])},i.removeHooks=function(t){mt[t]=[]},i.removeAllHooks=function(){mt={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},i}();function ht(){var t=window.location;"about:srcdoc"==t.href&&(t=window.parent.location);var e={};return function(t,i,r){for(;r=i.exec(t);)e[decodeURIComponent(r[1])]=decodeURIComponent(r[2])}(t.search.substring(1).replace(/\+/g,"%20"),/([^&=]+)=?([^&]*)/g),e}function pt(){if(null==ut){var t=ht();ut="referrer"in t?/^https:\/\/medium.com\//.test(t.referrer):!("auto"in t)}return ut}function mt(t){var e=t||window.innerWidth;return e>999?650:e>599?575:400}function ft(t){if(t&&window.top!==window.self){var e=window;"srcdoc"==e.location.pathname&&(e=e.parent);var i={sender:"Flourish",method:"scrolly",captions:t.captions,hasScrollyTransformFix:t.hasScrollyTransformFix};e.parent.postMessage(JSON.stringify(i),"*")}}function gt(t,e){if(window.top!==window.self){var i=window;if("srcdoc"==i.location.pathname&&(i=i.parent),ct)return t=parseInt(t,10),void i.parent.postMessage({sentinel:"amp",type:"embed-size",height:t},"*");var r={sender:"Flourish",context:"iframe.resize",method:"resize",height:t,src:i.location.toString()};if(e)for(var o in e)r[o]=e[o];i.parent.postMessage(JSON.stringify(r),"*")}}function wt(){return(-1!==navigator.userAgent.indexOf("Safari")||-1!==navigator.userAgent.indexOf("iPhone"))&&-1==navigator.userAgent.indexOf("Chrome")}function yt(t){return"string"==typeof t||t instanceof String}function vt(t){return"warn"!==t.method?(console.warn("BUG: validateWarnMessage called for method"+t.method),!1):!(null!=t.message&&!yt(t.message))&&!(null!=t.explanation&&!yt(t.explanation))}function bt(t){return"resize"!==t.method?(console.warn("BUG: validateResizeMessage called for method"+t.method),!1):!!yt(t.src)&&(!!yt(t.context)&&!!("number"==typeof(e=t.height)?!isNaN(e)&&e>=0:yt(e)&&/\d/.test(e)&&/^[0-9]*(\.[0-9]*)?(cm|mm|Q|in|pc|pt|px|em|ex|ch|rem|lh|vw|vh|vmin|vmax|%)?$/i.test(e)));var e}function _t(t){throw new Error("Validation for setSetting is not implemented yet; see issue #4328")}function xt(t){return"scrolly"!==t.method?(console.warn("BUG: validateScrolly called for method"+t.method),!1):!!Array.isArray(t.captions)}function At(t){return"customerAnalytics"===t.method||(console.warn("BUG: validateCustomerAnalyticsMessage called for method"+t.method),!1)}function Et(t){return"request-upload"!==t.method?(console.warn("BUG: validateResizeMessage called for method"+t.method),!1):!!yt(t.name)&&!(null!=t.accept&&!yt(t.accept))}function Tt(t,e,i){var r=function(t){for(var e={warn:vt,resize:bt,setSetting:_t,customerAnalytics:At,"request-upload":Et,scrolly:xt},i={},r=0;r-1,a=!!window.chrome&&(navigator.userAgent.indexOf("Chrome")>-1||navigator.userAgent.indexOf("Edg")>-1||navigator.userAgent.indexOf("OPR")>-1);if(o&&a&&i){let t,e=0;window.addEventListener("scroll",function(){clearTimeout(t),t=setTimeout(()=>{e=0===e?1:0,r.style.transform=`translateZ(${e}px)`},100)})}t.style.position="sticky";var n=r.getAttribute("data-height")||null;n||(n="80vh",t.style.height=n),t.style.top="calc(50vh - "+n+"/2)";var s=r.querySelector(".flourish-credit");s&&(s.style.position="sticky",s.style.top="calc(50vh + "+n+"/2)"),e.forEach(function(t,e){var i="string"==typeof t&&""!=t.trim(),o=document.createElement("div");o.setAttribute("data-slide",e),o.classList.add("fl-scrolly-caption"),o.style.position="relative",o.style.transform="translate3d(0,0,0)",o.style.textAlign="center",o.style.maxWidth="500px",o.style.height="auto",o.style.marginTop="0",o.style.marginBottom=i?"100vh":"50vh",o.style.marginLeft="auto",o.style.marginRight="auto";var a=document.createElement("div");a.innerHTML=dt.sanitize(t,{ADD_ATTR:["target"]}),a.style.visibility=i?"":"hidden",a.style.display="inline-block",a.style.paddingTop="1.25em",a.style.paddingRight="1.25em",a.style.paddingBottom="1.25em",a.style.paddingLeft="1.25em",a.style.background="rgba(255,255,255,0.9)",a.style.boxShadow="0px 0px 10px rgba(0,0,0,0.2)",a.style.borderRadius="10px",a.style.textAlign="center",a.style.maxWidth="100%",a.style.margin="0 20px",a.style.overflowX="hidden",o.appendChild(a),r.appendChild(o)}),function(t){for(var e=new IntersectionObserver(function(e){e.forEach(function(e){if(e.isIntersecting){var i=t.querySelector("iframe");i&&(i.src=i.src.replace(/#slide-.*/,"")+"#slide-"+e.target.getAttribute("data-slide"))}})},{rootMargin:"0px 0px -0% 0px"}),i=t.querySelectorAll(".fl-scrolly-caption"),r=0;r1)return a;var s=setInterval(function(){window._flourish_poll_items=window._flourish_poll_items.filter(function(t){return!t.iframe.offsetParent||(Nt(t.embed_url,t.container,t.iframe,t.width,t.height,t.play_on_load),!1)}),window._flourish_poll_items.length||clearInterval(s)},500)}return a}function Nt(t,e,i,r,o,a){var n;return r&&"number"==typeof r?(n=r,r+="px"):r&&r.match(/^[ \t\r\n\f]*([+-]?\d+|\d*\.\d+(?:[eE][+-]?\d+)?)(?:\\?[Pp]|\\0{0,4}[57]0(?:\r\n|[ \t\r\n\f])?)(?:\\?[Xx]|\\0{0,4}[57]8(?:\r\n|[ \t\r\n\f])?)[ \t\r\n\f]*$/)&&(n=parseFloat(r)),o&&"number"==typeof o&&(o+="px"),r?i.style.width=r:wt()?i.style.width=e.offsetWidth+"px":i.style.width="100%",!!o||(t.match(/\?/)?t+="&auto=1":t+="?auto=1",o=mt(n||i.offsetWidth)+"px"),o&&("%"===o.charAt(o.length-1)&&(o=parseFloat(o)/100*e.parentNode.offsetHeight+"px"),i.style.height=o),i.setAttribute("src",t+(a?"#play-on-load":"")),i.addEventListener("load",function(){try{i.contentWindow.postMessage({sender:"Flourish",method:"flourish:creditHandledExternally"},"*")}catch(t){console&&console.warn&&console.warn("Could not send credit postMessage:",t)}},{once:!0}),i}var Mt={de:{credits:{default:"Erstellt mit Flourish"}},en:{credits:{default:{text:"Made with Flourish • Create your own",url:"https://flourish.studio/"},"3d-arc-map":{text:"Made with Flourish • Create an arc map",url:"https://flourish.studio/visualisations/maps/"},"3d-map":{text:"Made with Flourish • Create a 3D map",url:"https://flourish.studio/visualisations/maps/"},"3d-marker-map":{text:"Made with Flourish • Create a marker map",url:"https://flourish.studio/visualisations/maps/"},annotator:{text:"Made with Flourish • Create an annotator",url:"https://app.flourish.studio/@flourish/svg-annotator"},audio:{text:"Made with Flourish • Create an audio player",url:"https://flourish.studio/product/interactive-content/"},"bar-chart-race":{text:"Made with Flourish • Create a bar chart race",url:"https://flourish.studio/visualisations/bar-chart-race/"},"bubble-chart":{text:"Made with Flourish • Create a bubble chart",url:"https://flourish.studio/visualisations/bubble-charts/"},calculator:{text:"Made with Flourish • Create a calculator",url:"https://flourish.studio/product/interactive-content/"},calendar:{text:"Made with Flourish • Create a calendar",url:"https://flourish.studio/visualisations/calendar-maker/"},cards:{text:"Made with Flourish • Create interactive content",url:"https://flourish.studio/product/interactive-content/"},chart:{text:"Made with Flourish • Create a chart",url:"https://flourish.studio/visualisations/line-bar-pie-charts/"},chord:{text:"Made with Flourish • Create a chord diagram",url:"https://flourish.studio/visualisations/chord-diagrams/"},"connections-globe":{text:"Made with Flourish • Create a connections globe",url:"https://flourish.studio/visualisations/maps/"},countdown:{text:"Made with Flourish • Create a countdown",url:"https://flourish.studio/product/interactive-content/"},"data-explorer":{text:"Made with Flourish • Create a data explorer",url:"https://flourish.studio/visualisations/data-explorer/"},draw:{text:"Made with Flourish • Create a draw the line chart",url:"https://flourish.studio/product/interactive-content/"},election:{text:"Made with Flourish • Create an election results chart",url:"https://flourish.studio/resources/elections/"},gantt:{text:"Made with Flourish • Create a Gantt chart",url:"https://flourish.studio/visualisations/gantt-charts/"},gauge:{text:"Made with Flourish • Create a gauge chart",url:"https://flourish.studio/visualisations/gauge-charts/"},globe:{text:"Made with Flourish • Create a globe",url:"https://flourish.studio/visualisations/maps/"},heatmap:{text:"Made with Flourish • Create a heatmap",url:"https://flourish.studio/visualisations/heatmaps/"},hierarchy:{text:"Made with Flourish • Create a hierarchy graph",url:"https://flourish.studio/visualisations/treemaps/"},"interactive-diagram":{text:"Made with Flourish • Create an interactive SVG",url:"https://flourish.studio/visualisations/interactive-svg/"},map:{text:"Made with Flourish • Create a map",url:"https://flourish.studio/visualisations/maps/"},marimekko:{text:"Made with Flourish • Create a Marimekko chart",url:"https://flourish.studio/visualisations/marimekko-charts/"},model:{text:"Made with Flourish • Create a 3D viewer",url:"https://flourish.studio/visualisations/3d-viewer/"},network:{text:"Made with Flourish • Create a network graph",url:"https://flourish.studio/visualisations/network-charts/"},"number-ticker":{text:"Made with Flourish • Create a number ticker",url:"https://flourish.studio/product/interactive-content/"},parliament:{text:"Made with Flourish • Create a parliament chart",url:"https://flourish.studio/visualisations/parliament-charts/"},"photo-slider":{text:"Made with Flourish • Create a photo slider",url:"https://flourish.studio/product/interactive-content/"},pictogram:{text:"Made with Flourish • Create a pictogram chart",url:"https://flourish.studio/visualisations/pictogram-charts/"},"projection-map":{text:"Made with Flourish • Create a map",url:"https://flourish.studio/visualisations/maps/"},quiz:{text:"Made with Flourish • Create a quiz",url:"https://flourish.studio/product/interactive-content/"},radar:{text:"Made with Flourish • Create a radar chart",url:"https://flourish.studio/visualisations/radar-charts/"},ranking:{text:"Made with Flourish • Create a line chart race",url:"https://flourish.studio/visualisations/line-chart-race/"},sankey:{text:"Made with Flourish • Create a Sankey diagram",url:"https://flourish.studio/visualisations/sankey-charts/"},scatter:{text:"Made with Flourish • Create a scatter plot",url:"https://flourish.studio/visualisations/scatter-charts/"},slope:{text:"Made with Flourish • Create a slope chart",url:"https://flourish.studio/visualisations/slope-charts/"},sports:{text:"Made with Flourish • Visualize sports data",url:"https://flourish.studio/resources/sports/"},story:{text:"Made with Flourish • Create a data story",url:"https://flourish.studio/product/data-storytelling/"},survey:{text:"Made with Flourish • Create a survey graph",url:"https://flourish.studio/visualisations/survey-template/"},table:{text:"Made with Flourish • Create a table",url:"https://flourish.studio/visualisations/create-a-table/"},"text-annotator":{text:"Made with Flourish • Create a text annotator",url:"https://flourish.studio/product/data-visualization/"},timeline:{text:"Made with Flourish • Create a timeline",url:"https://flourish.studio/visualisations/timeline-maker/"},tournament:{text:"Made with Flourish • Create a tournament chart",url:"https://flourish.studio/visualisations/tournament-chart/"},webgl:{text:"Made with Flourish • Create a globe",url:"https://flourish.studio/visualisations/maps/"},"word-cloud":{text:"Made with Flourish • Create a word cloud",url:"https://flourish.studio/product/interactive-content/"}}},es:{credits:{default:"Creado con Flourish",bar_race:{text:"Creado con Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"},"bar-chart-race":{text:"Creado con Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"}}},fr:{credits:{default:"Créé avec Flourish",bar_race:{text:"Créé avec Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"},"bar-chart-race":{text:"Créé avec Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"}}},it:{credits:{default:"Creato con Flourish",bar_race:{text:"Creato con Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"},"bar-chart-race":{text:"Creato con Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"}}},mi:{credits:{default:"Hangaia ki te Flourish",bar_race:{text:"Hangaia ki te Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"},"bar-chart-race":{text:"Hangaia ki te Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"}}},nl:{credits:{default:"Gemaakt met Flourish",bar_race:{text:"Gemaakt met Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"},"bar-chart-race":{text:"Gemaakt met Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"}}},pt:{default:"Feito com Flourish",bar_race:{text:"Feito com Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"},"bar-chart-race":{text:"Feito com Flourish",url:"https://flourish.studio/visualisations/bar-chart-race/"}}};!function(){var t;(t=ht()._sp||null)&&window.sp&&(document.cookie="_sp="+t+"; path=/; max-age=31536000; SameSite=None; Secure");var a=[];function n(){if(!window.FlourishLoaded){window.FlourishLoaded=!0;var t=window.Flourish&&window.Flourish.external,r="en",n=document.querySelector("meta[name='language'],meta[name='LANGUAGE']");n&&n.hasAttribute("content")&&(r=n.getAttribute("content").substr(0,2),Mt[r]||(r="en"));var s,l=Array.prototype.slice.call(document.querySelectorAll(".flourish-embed"));if(!t)for(var u=document.querySelectorAll("script"),c=0;c1||window.Flourish&&window.Flourish.hide;if(n=u[0],t)l=n,i=window.FlourishConfig.public_url,o="?utm_source=embed&utm_campaign="+n;else{l=(a=0===n.indexOf("template/"))?window.FlourishConfig.app_url+"/"+n+"/preview":window.FlourishConfig.embeds_url+n+"/embed",i=s+n+"/",o="?utm_source=showcase&utm_campaign="+n;var d=ht()._sp||null;d&&(o+="&_sp="+d)}if(m.createEmbedIframe(l,e,e.getAttribute("data-width"),e.getAttribute("data-height"),e.hasAttribute("data-play-on-load")),!a&&!c){for(var h="",p=e.className.split(" "),f=0;f1?a[0].trim()+" • ":"",s=a.length>1?a[1].trim():r;if(n){var l=document.createElement("span");l.setAttribute("style","font:inherit;color:inherit;vertical-align:middle;display:inline-block;box-shadow:none;"),l.appendChild(document.createTextNode(n)),o.appendChild(l)}var u=document.createElement("a");u.setAttribute("href",t+e),u.setAttribute("target","_blank"),u.setAttribute("aria-label",s+" (opens in new tab)"),u.setAttribute("rel","noopener noreferrer"),u.setAttribute("style","display:inline-block;text-decoration:none;font:inherit;color:inherit;border:none;box-shadow:none;"),o.appendChild(u);var c=document.createElement("span");return c.setAttribute("style","font:inherit;color:inherit;vertical-align:middle;display:inline-block;box-shadow:none;"),c.appendChild(document.createTextNode(s)),u.appendChild(c),c.addEventListener("mouseover",()=>{c.style.textDecoration="underline"}),c.addEventListener("mouseout",()=>{c.style.textDecoration="none"}),o}(g.credit_url||i,o,window.FlourishConfig.public_url,g.credit_text);e.appendChild(w)}}};if(!window.Flourish||!window.Flourish.disable_autoload)for(c=0;c