diff --git a/src/plone/staticresources/static/bundle-plone/bundle.min.js b/src/plone/staticresources/static/bundle-plone/bundle.min.js index 71c1f02a3..4b98a9a22 100644 --- a/src/plone/staticresources/static/bundle-plone/bundle.min.js +++ b/src/plone/staticresources/static/bundle-plone/bundle.min.js @@ -14,5 +14,5 @@ const y=new Map,_={set(e,t,n){y.has(e)||y.set(e,new Map);const a=y.get(e);a.has( * https://jquery.org/license * * Date: 2023-08-28T13:37Z - */!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,(function(a,c){"use strict";var r=[],i=Object.getPrototypeOf,f=r.slice,o=r.flat?function(e){return r.flat.call(e)}:function(e){return r.concat.apply([],e)},d=r.push,s=r.indexOf,b={},u=b.toString,l=b.hasOwnProperty,h=l.toString,p=h.call(Object),g={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},v=function(e){return null!=e&&e===e.window},y=a.document,_={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var a,c,r=(n=n||y).createElement("script");if(r.text=e,t)for(a in _)(c=t[a]||t.getAttribute&&t.getAttribute(a))&&r.setAttribute(a,c);n.head.appendChild(r).parentNode.removeChild(r)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?b[u.call(e)]||"object":typeof e}var A="3.7.1",T=/HTML$/i,E=function(e,t){return new E.fn.init(e,t)};function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!m(e)&&!v(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function k(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}E.fn=E.prototype={jquery:A,constructor:E,length:0,toArray:function(){return f.call(this)},get:function(e){return null==e?f.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(e){return this.pushStack(E.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(E.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+j+")"+j+"*"),F=new RegExp(j+"|>"),W=new RegExp(I),B=new RegExp("^"+N+"$"),z={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N+"|[*])"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+I),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+j+"*(even|odd|(([+-]|)(\\d*)n|)"+j+"*(?:([+-]|)"+j+"*(\\d+)|))"+j+"*\\)|)","i"),bool:new RegExp("^(?:"+C+")$","i"),needsContext:new RegExp("^"+j+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+j+"*((?:-\\d)?\\d*)"+j+"*\\)|)(?=[^-]|$)","i")},U=/^(?:input|select|textarea|button)$/i,V=/^h\d$/i,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Q=/[+~]/,G=new RegExp("\\\\[\\da-fA-F]{1,6}"+j+"?|\\\\([^\\r\\n\\f])","g"),Y=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},K=function(){oe()},J=ue((function(e){return!0===e.disabled&&k(e,"fieldset")}),{dir:"parentNode",next:"legend"});try{p.apply(r=f.call(M.childNodes),M.childNodes),r[M.childNodes.length].nodeType}catch(e){p={apply:function(e,t){$.apply(e,f.call(t))},call:function(e){$.apply(e,f.call(arguments,1))}}}function Z(e,t,n,a){var c,r,i,f,d,s,l,h=t&&t.ownerDocument,v=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==v&&9!==v&&11!==v)return n;if(!a&&(oe(t),t=t||o,b)){if(11!==v&&(d=X.exec(e)))if(c=d[1]){if(9===v){if(!(i=t.getElementById(c)))return n;if(i.id===c)return p.call(n,i),n}else if(h&&(i=h.getElementById(c))&&Z.contains(t,i)&&i.id===c)return p.call(n,i),n}else{if(d[2])return p.apply(n,t.getElementsByTagName(e)),n;if((c=d[3])&&t.getElementsByClassName)return p.apply(n,t.getElementsByClassName(c)),n}if(!(A[e+" "]||u&&u.test(e))){if(l=e,h=t,1===v&&(F.test(e)||R.test(e))){for((h=Q.test(e)&&fe(t.parentNode)||t)==t&&g.scope||((f=t.getAttribute("id"))?f=E.escapeSelector(f):t.setAttribute("id",f=m)),r=(s=se(e)).length;r--;)s[r]=(f?"#"+f:":scope")+" "+be(s[r]);l=s.join(",")}try{return p.apply(n,h.querySelectorAll(l)),n}catch(t){A(e,!0)}finally{f===m&&t.removeAttribute("id")}}}return ve(e.replace(L,"$1"),t,n,a)}function ee(){var e=[];return function n(a,c){return e.push(a+" ")>t.cacheLength&&delete n[e.shift()],n[a+" "]=c}}function te(e){return e[m]=!0,e}function ne(e){var t=o.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ae(e){return function(t){return k(t,"input")&&t.type===e}}function ce(e){return function(t){return(k(t,"input")||k(t,"button"))&&t.type===e}}function re(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&J(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ie(e){return te((function(t){return t=+t,te((function(n,a){for(var c,r=e([],n.length,t),i=r.length;i--;)n[c=r[i]]&&(n[c]=!(a[c]=n[c]))}))}))}function fe(e){return e&&void 0!==e.getElementsByTagName&&e}function oe(e){var n,a=e?e.ownerDocument||e:M;return a!=o&&9===a.nodeType&&a.documentElement?(d=(o=a).documentElement,b=!E.isXMLDoc(o),h=d.matches||d.webkitMatchesSelector||d.msMatchesSelector,d.msMatchesSelector&&M!=o&&(n=o.defaultView)&&n.top!==n&&n.addEventListener("unload",K),g.getById=ne((function(e){return d.appendChild(e).id=E.expando,!o.getElementsByName||!o.getElementsByName(E.expando).length})),g.disconnectedMatch=ne((function(e){return h.call(e,"*")})),g.scope=ne((function(){return o.querySelectorAll(":scope")})),g.cssHas=ne((function(){try{return o.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}})),g.getById?(t.filter.ID=function(e){var t=e.replace(G,Y);return function(e){return e.getAttribute("id")===t}},t.find.ID=function(e,t){if(void 0!==t.getElementById&&b){var n=t.getElementById(e);return n?[n]:[]}}):(t.filter.ID=function(e){var t=e.replace(G,Y);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},t.find.ID=function(e,t){if(void 0!==t.getElementById&&b){var n,a,c,r=t.getElementById(e);if(r){if((n=r.getAttributeNode("id"))&&n.value===e)return[r];for(c=t.getElementsByName(e),a=0;r=c[a++];)if((n=r.getAttributeNode("id"))&&n.value===e)return[r]}return[]}}),t.find.TAG=function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},t.find.CLASS=function(e,t){if(void 0!==t.getElementsByClassName&&b)return t.getElementsByClassName(e)},u=[],ne((function(e){var t;d.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||u.push("\\["+j+"*(?:value|"+C+")"),e.querySelectorAll("[id~="+m+"-]").length||u.push("~="),e.querySelectorAll("a#"+m+"+*").length||u.push(".#.+[+~]"),e.querySelectorAll(":checked").length||u.push(":checked"),(t=o.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),d.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&u.push(":enabled",":disabled"),(t=o.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||u.push("\\["+j+"*name"+j+"*="+j+"*(?:''|\"\")")})),g.cssHas||u.push(":has"),u=u.length&&new RegExp(u.join("|")),T=function(e,t){if(e===t)return i=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!g.sortDetached&&t.compareDocumentPosition(e)===n?e===o||e.ownerDocument==M&&Z.contains(M,e)?-1:t===o||t.ownerDocument==M&&Z.contains(M,t)?1:c?s.call(c,e)-s.call(c,t):0:4&n?-1:1)},o):o}for(e in Z.matches=function(e,t){return Z(e,null,null,t)},Z.matchesSelector=function(e,t){if(oe(e),b&&!A[t+" "]&&(!u||!u.test(t)))try{var n=h.call(e,t);if(n||g.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return Z(t,o,null,[e]).length>0},Z.contains=function(e,t){return(e.ownerDocument||e)!=o&&oe(e),E.contains(e,t)},Z.attr=function(e,n){(e.ownerDocument||e)!=o&&oe(e);var a=t.attrHandle[n.toLowerCase()],c=a&&l.call(t.attrHandle,n.toLowerCase())?a(e,n,!b):void 0;return void 0!==c?c:e.getAttribute(n)},Z.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},E.uniqueSort=function(e){var t,n=[],a=0,r=0;if(i=!g.sortStable,c=!g.sortStable&&f.call(e,0),O.call(e,T),i){for(;t=e[r++];)t===e[r]&&(a=n.push(r));for(;a--;)D.call(e,n[a],1)}return c=null,e},E.fn.uniqueSort=function(){return this.pushStack(E.uniqueSort(f.apply(this)))},t=E.expr={cacheLength:50,createPseudo:te,match:z,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(G,Y),e[3]=(e[3]||e[4]||e[5]||"").replace(G,Y),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||Z.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&Z.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return z.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&W.test(n)&&(t=se(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(G,Y).toLowerCase();return"*"===e?function(){return!0}:function(e){return k(e,t)}},CLASS:function(e){var t=_[e+" "];return t||(t=new RegExp("(^|"+j+")"+e+"("+j+"|$)"))&&_(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(a){var c=Z.attr(a,e);return null==c?"!="===t:!t||(c+="","="===t?c===n:"!="===t?c!==n:"^="===t?n&&0===c.indexOf(n):"*="===t?n&&c.indexOf(n)>-1:"$="===t?n&&c.slice(-n.length)===n:"~="===t?(" "+c.replace(q," ")+" ").indexOf(n)>-1:"|="===t&&(c===n||c.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,a,c){var r="nth"!==e.slice(0,3),i="last"!==e.slice(-4),f="of-type"===t;return 1===a&&0===c?function(e){return!!e.parentNode}:function(t,n,o){var d,s,b,u,l,h=r!==i?"nextSibling":"previousSibling",p=t.parentNode,g=f&&t.nodeName.toLowerCase(),y=!o&&!f,_=!1;if(p){if(r){for(;h;){for(b=t;b=b[h];)if(f?k(b,g):1===b.nodeType)return!1;l=h="only"===e&&!l&&"nextSibling"}return!0}if(l=[i?p.firstChild:p.lastChild],i&&y){for(_=(u=(d=(s=p[m]||(p[m]={}))[e]||[])[0]===v&&d[1])&&d[2],b=u&&p.childNodes[u];b=++u&&b&&b[h]||(_=u=0)||l.pop();)if(1===b.nodeType&&++_&&b===t){s[e]=[v,u,_];break}}else if(y&&(_=u=(d=(s=t[m]||(t[m]={}))[e]||[])[0]===v&&d[1]),!1===_)for(;(b=++u&&b&&b[h]||(_=u=0)||l.pop())&&(!(f?k(b,g):1===b.nodeType)||!++_||(y&&((s=b[m]||(b[m]={}))[e]=[v,_]),b!==t)););return(_-=c)===a||_%a==0&&_/a>=0}}},PSEUDO:function(e,n){var a,c=t.pseudos[e]||t.setFilters[e.toLowerCase()]||Z.error("unsupported pseudo: "+e);return c[m]?c(n):c.length>1?(a=[e,e,"",n],t.setFilters.hasOwnProperty(e.toLowerCase())?te((function(e,t){for(var a,r=c(e,n),i=r.length;i--;)e[a=s.call(e,r[i])]=!(t[a]=r[i])})):function(e){return c(e,0,a)}):c}},pseudos:{not:te((function(e){var t=[],n=[],a=me(e.replace(L,"$1"));return a[m]?te((function(e,t,n,c){for(var r,i=a(e,null,c,[]),f=e.length;f--;)(r=i[f])&&(e[f]=!(t[f]=r))})):function(e,c,r){return t[0]=e,a(t,null,r,n),t[0]=null,!n.pop()}})),has:te((function(e){return function(t){return Z(e,t).length>0}})),contains:te((function(e){return e=e.replace(G,Y),function(t){return(t.textContent||E.text(t)).indexOf(e)>-1}})),lang:te((function(e){return B.test(e||"")||Z.error("unsupported lang: "+e),e=e.replace(G,Y).toLowerCase(),function(t){var n;do{if(n=b?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(e){var t=a.location&&a.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===d},focus:function(e){return e===function(){try{return o.activeElement}catch(e){}}()&&o.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:re(!1),disabled:re(!0),checked:function(e){return k(e,"input")&&!!e.checked||k(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!t.pseudos.empty(e)},header:function(e){return V.test(e.nodeName)},input:function(e){return U.test(e.nodeName)},button:function(e){return k(e,"input")&&"button"===e.type||k(e,"button")},text:function(e){var t;return k(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ie((function(){return[0]})),last:ie((function(e,t){return[t-1]})),eq:ie((function(e,t,n){return[n<0?n+t:n]})),even:ie((function(e,t){for(var n=0;nt?t:n;--a>=0;)e.push(a);return e})),gt:ie((function(e,t,n){for(var a=n<0?n+t:n;++a1?function(t,n,a){for(var c=e.length;c--;)if(!e[c](t,n,a))return!1;return!0}:e[0]}function he(e,t,n,a,c){for(var r,i=[],f=0,o=e.length,d=null!=t;f-1&&(r[d]=!(i[d]=u))}}else l=he(l===i?l.splice(m,l.length):l),c?c(null,i,l,o):p.apply(i,l)}))}function ge(e){for(var a,c,r,i=e.length,f=t.relative[e[0].type],o=f||t.relative[" "],d=f?1:0,b=ue((function(e){return e===a}),o,!0),u=ue((function(e){return s.call(a,e)>-1}),o,!0),l=[function(e,t,c){var r=!f&&(c||t!=n)||((a=t).nodeType?b(e,t,c):u(e,t,c));return a=null,r}];d1&&le(l),d>1&&be(e.slice(0,d-1).concat({value:" "===e[d-2].type?"*":""})).replace(L,"$1"),c,d0,r=e.length>0,i=function(i,f,d,s,u){var l,h,g,m=0,y="0",_=i&&[],w=[],x=n,A=i||r&&t.find.TAG("*",u),T=v+=null==x?1:Math.random()||.1,C=A.length;for(u&&(n=f==o||f||u);y!==C&&null!=(l=A[y]);y++){if(r&&l){for(h=0,f||l.ownerDocument==o||(oe(l),d=!b);g=e[h++];)if(g(l,f||o,d)){p.call(s,l);break}u&&(v=T)}c&&((l=!g&&l)&&m--,i&&_.push(l))}if(m+=y,c&&y!==m){for(h=0;g=a[h++];)g(_,w,f,d);if(i){if(m>0)for(;y--;)_[y]||w[y]||(w[y]=S.call(s));w=he(w)}p.apply(s,w),u&&!i&&w.length>0&&m+a.length>1&&E.uniqueSort(s)}return u&&(v=T,n=x),_};return c?te(i):i}(i,r)),f.selector=e}return f}function ve(e,n,a,c){var r,i,f,o,d,s="function"==typeof e&&e,u=!c&&se(e=s.selector||e);if(a=a||[],1===u.length){if((i=u[0]=u[0].slice(0)).length>2&&"ID"===(f=i[0]).type&&9===n.nodeType&&b&&t.relative[i[1].type]){if(!(n=(t.find.ID(f.matches[0].replace(G,Y),n)||[])[0]))return a;s&&(n=n.parentNode),e=e.slice(i.shift().value.length)}for(r=z.needsContext.test(e)?0:i.length;r--&&(f=i[r],!t.relative[o=f.type]);)if((d=t.find[o])&&(c=d(f.matches[0].replace(G,Y),Q.test(i[0].type)&&fe(n.parentNode)||n))){if(i.splice(r,1),!(e=c.length&&be(i)))return p.apply(a,c),a;break}}return(s||me(e,u))(c,n,!b,a,!n||Q.test(e)&&fe(n.parentNode)||n),a}de.prototype=t.filters=t.pseudos,t.setFilters=new de,g.sortStable=m.split("").sort(T).join("")===m,oe(),g.sortDetached=ne((function(e){return 1&e.compareDocumentPosition(o.createElement("fieldset"))})),E.find=Z,E.expr[":"]=E.expr.pseudos,E.unique=E.uniqueSort,Z.compile=me,Z.select=ve,Z.setDocument=oe,Z.tokenize=se,Z.escape=E.escapeSelector,Z.getText=E.text,Z.isXML=E.isXMLDoc,Z.selectors=E.expr,Z.support=E.support,Z.uniqueSort=E.uniqueSort}();var I=function(e,t,n){for(var a=[],c=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(c&&E(e).is(n))break;a.push(e)}return a},q=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},H=E.expr.match.needsContext,R=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function F(e,t,n){return m(t)?E.grep(e,(function(e,a){return!!t.call(e,a,e)!==n})):t.nodeType?E.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?E.grep(e,(function(e){return s.call(t,e)>-1!==n})):E.filter(t,e,n)}E.filter=function(e,t,n){var a=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===a.nodeType?E.find.matchesSelector(a,e)?[a]:[]:E.find.matches(e,E.grep(t,(function(e){return 1===e.nodeType})))},E.fn.extend({find:function(e){var t,n,a=this.length,c=this;if("string"!=typeof e)return this.pushStack(E(e).filter((function(){for(t=0;t1?E.uniqueSort(n):n},filter:function(e){return this.pushStack(F(this,e||[],!1))},not:function(e){return this.pushStack(F(this,e||[],!0))},is:function(e){return!!F(this,"string"==typeof e&&H.test(e)?E(e):e||[],!1).length}});var W,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var a,c;if(!e)return this;if(n=n||W,"string"==typeof e){if(!(a="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:B.exec(e))||!a[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(a[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(a[1],t&&t.nodeType?t.ownerDocument||t:y,!0)),R.test(a[1])&&E.isPlainObject(t))for(a in t)m(this[a])?this[a](t[a]):this.attr(a,t[a]);return this}return(c=y.getElementById(a[2]))&&(this[0]=c,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,W=E(y);var z=/^(?:parents|prev(?:Until|All))/,U={children:!0,contents:!0,next:!0,prev:!0};function V(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&E.find.matchesSelector(n,e))){r.push(n);break}return this.pushStack(r.length>1?E.uniqueSort(r):r)},index:function(e){return e?"string"==typeof e?s.call(E(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return I(e,"parentNode")},parentsUntil:function(e,t,n){return I(e,"parentNode",n)},next:function(e){return V(e,"nextSibling")},prev:function(e){return V(e,"previousSibling")},nextAll:function(e){return I(e,"nextSibling")},prevAll:function(e){return I(e,"previousSibling")},nextUntil:function(e,t,n){return I(e,"nextSibling",n)},prevUntil:function(e,t,n){return I(e,"previousSibling",n)},siblings:function(e){return q((e.parentNode||{}).firstChild,e)},children:function(e){return q(e.firstChild)},contents:function(e){return null!=e.contentDocument&&i(e.contentDocument)?e.contentDocument:(k(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},(function(e,t){E.fn[e]=function(n,a){var c=E.map(this,t,n);return"Until"!==e.slice(-5)&&(a=n),a&&"string"==typeof a&&(c=E.filter(a,c)),this.length>1&&(U[e]||E.uniqueSort(c),z.test(e)&&c.reverse()),this.pushStack(c)}}));var X=/[^\x20\t\r\n\f]+/g;function Q(e){return e}function G(e){throw e}function Y(e,t,n,a){var c;try{e&&m(c=e.promise)?c.call(e).done(t).fail(n):e&&m(c=e.then)?c.call(e,t,n):t.apply(void 0,[e].slice(a))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return E.each(e.match(X)||[],(function(e,n){t[n]=!0})),t}(e):E.extend({},e);var t,n,a,c,r=[],i=[],f=-1,o=function(){for(c=c||e.once,a=t=!0;i.length;f=-1)for(n=i.shift();++f-1;)r.splice(n,1),n<=f&&f--})),this},has:function(e){return e?E.inArray(e,r)>-1:r.length>0},empty:function(){return r&&(r=[]),this},disable:function(){return c=i=[],r=n="",this},disabled:function(){return!r},lock:function(){return c=i=[],n||t||(r=n=""),this},locked:function(){return!!c},fireWith:function(e,n){return c||(n=[e,(n=n||[]).slice?n.slice():n],i.push(n),t||o()),this},fire:function(){return d.fireWith(this,arguments),this},fired:function(){return!!a}};return d},E.extend({Deferred:function(e){var t=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],n="pending",c={state:function(){return n},always:function(){return r.done(arguments).fail(arguments),this},catch:function(e){return c.then(null,e)},pipe:function(){var e=arguments;return E.Deferred((function(n){E.each(t,(function(t,a){var c=m(e[a[4]])&&e[a[4]];r[a[1]]((function(){var e=c&&c.apply(this,arguments);e&&m(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[a[0]+"With"](this,c?[e]:arguments)}))})),e=null})).promise()},then:function(e,n,c){var r=0;function i(e,t,n,c){return function(){var f=this,o=arguments,d=function(){var a,d;if(!(e=r&&(n!==G&&(f=void 0,o=[a]),t.rejectWith(f,o))}};e?s():(E.Deferred.getErrorHook?s.error=E.Deferred.getErrorHook():E.Deferred.getStackHook&&(s.error=E.Deferred.getStackHook()),a.setTimeout(s))}}return E.Deferred((function(a){t[0][3].add(i(0,a,m(c)?c:Q,a.notifyWith)),t[1][3].add(i(0,a,m(e)?e:Q)),t[2][3].add(i(0,a,m(n)?n:G))})).promise()},promise:function(e){return null!=e?E.extend(e,c):c}},r={};return E.each(t,(function(e,a){var i=a[2],f=a[5];c[a[1]]=i.add,f&&i.add((function(){n=f}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),i.add(a[3].fire),r[a[0]]=function(){return r[a[0]+"With"](this===r?void 0:this,arguments),this},r[a[0]+"With"]=i.fireWith})),c.promise(r),e&&e.call(r,r),r},when:function(e){var t=arguments.length,n=t,a=Array(n),c=f.call(arguments),r=E.Deferred(),i=function(e){return function(n){a[e]=this,c[e]=arguments.length>1?f.call(arguments):n,--t||r.resolveWith(a,c)}};if(t<=1&&(Y(e,r.done(i(n)).resolve,r.reject,!t),"pending"===r.state()||m(c[n]&&c[n].then)))return r.then();for(;n--;)Y(c[n],i(n),r.reject);return r.promise()}});var K=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){a.console&&a.console.warn&&e&&K.test(e.name)&&a.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){a.setTimeout((function(){throw e}))};var J=E.Deferred();function Z(){y.removeEventListener("DOMContentLoaded",Z),a.removeEventListener("load",Z),E.ready()}E.fn.ready=function(e){return J.then(e).catch((function(e){E.readyException(e)})),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0,!0!==e&&--E.readyWait>0||J.resolveWith(y,[E]))}}),E.ready.then=J.then,"complete"===y.readyState||"loading"!==y.readyState&&!y.documentElement.doScroll?a.setTimeout(E.ready):(y.addEventListener("DOMContentLoaded",Z),a.addEventListener("load",Z));var ee=function(e,t,n,a,c,r,i){var f=0,o=e.length,d=null==n;if("object"===x(n))for(f in c=!0,n)ee(e,t,f,n[f],!0,r,i);else if(void 0!==a&&(c=!0,m(a)||(i=!0),d&&(i?(t.call(e,a),t=null):(d=t,t=function(e,t,n){return d.call(E(e),n)})),t))for(;f1,null,!0)},removeData:function(e){return this.each((function(){oe.remove(this,e)}))}}),E.extend({queue:function(e,t,n){var a;if(e)return t=(t||"fx")+"queue",a=fe.get(e,t),n&&(!a||Array.isArray(n)?a=fe.access(e,t,E.makeArray(n)):a.push(n)),a||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),a=n.length,c=n.shift(),r=E._queueHooks(e,t);"inprogress"===c&&(c=n.shift(),a--),c&&("fx"===t&&n.unshift("inprogress"),delete r.stop,c.call(e,(function(){E.dequeue(e,t)}),r)),!a&&r&&r.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return fe.get(e,n)||fe.access(e,n,{empty:E.Callbacks("once memory").add((function(){fe.remove(e,[t+"queue",n])}))})}}),E.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,ke=/^$|^module$|\/(?:java|ecma)script/i;Ae=y.createDocumentFragment().appendChild(y.createElement("div")),(Te=y.createElement("input")).setAttribute("type","radio"),Te.setAttribute("checked","checked"),Te.setAttribute("name","t"),Ae.appendChild(Te),g.checkClone=Ae.cloneNode(!0).cloneNode(!0).lastChild.checked,Ae.innerHTML="",g.noCloneChecked=!!Ae.cloneNode(!0).lastChild.defaultValue,Ae.innerHTML="",g.option=!!Ae.lastChild;var Se={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Oe(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&k(e,t)?E.merge([e],n):n}function De(e,t){for(var n=0,a=e.length;n",""]);var je=/<|&#?\w+;/;function Le(e,t,n,a,c){for(var r,i,f,o,d,s,b=t.createDocumentFragment(),u=[],l=0,h=e.length;l-1)c&&c.push(r);else if(d=ge(r),i=Oe(b.appendChild(r),"script"),d&&De(i),n)for(s=0;r=i[s++];)ke.test(r.type||"")&&n.push(r);return b}var Ne=/^([^.]*)(?:\.(.+)|)/;function Pe(){return!0}function Me(){return!1}function $e(e,t,n,a,c,r){var i,f;if("object"==typeof t){for(f in"string"!=typeof n&&(a=a||n,n=void 0),t)$e(e,f,n,a,t[f],r);return e}if(null==a&&null==c?(c=n,a=n=void 0):null==c&&("string"==typeof n?(c=a,a=void 0):(c=a,a=n,n=void 0)),!1===c)c=Me;else if(!c)return e;return 1===r&&(i=c,c=function(e){return E().off(e),i.apply(this,arguments)},c.guid=i.guid||(i.guid=E.guid++)),e.each((function(){E.event.add(this,t,c,a,n)}))}function Ie(e,t,n){n?(fe.set(e,t,!1),E.event.add(e,t,{namespace:!1,handler:function(e){var n,a=fe.get(this,t);if(1&e.isTrigger&&this[t]){if(a)(E.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=f.call(arguments),fe.set(this,t,a),this[t](),n=fe.get(this,t),fe.set(this,t,!1),a!==n)return e.stopImmediatePropagation(),e.preventDefault(),n}else a&&(fe.set(this,t,E.event.trigger(a[0],a.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Pe)}})):void 0===fe.get(e,t)&&E.event.add(e,t,Pe)}E.event={global:{},add:function(e,t,n,a,c){var r,i,f,o,d,s,b,u,l,h,p,g=fe.get(e);if(re(e))for(n.handler&&(n=(r=n).handler,c=r.selector),c&&E.find.matchesSelector(pe,c),n.guid||(n.guid=E.guid++),(o=g.events)||(o=g.events=Object.create(null)),(i=g.handle)||(i=g.handle=function(t){return void 0!==E&&E.event.triggered!==t.type?E.event.dispatch.apply(e,arguments):void 0}),d=(t=(t||"").match(X)||[""]).length;d--;)l=p=(f=Ne.exec(t[d])||[])[1],h=(f[2]||"").split(".").sort(),l&&(b=E.event.special[l]||{},l=(c?b.delegateType:b.bindType)||l,b=E.event.special[l]||{},s=E.extend({type:l,origType:p,data:a,handler:n,guid:n.guid,selector:c,needsContext:c&&E.expr.match.needsContext.test(c),namespace:h.join(".")},r),(u=o[l])||((u=o[l]=[]).delegateCount=0,b.setup&&!1!==b.setup.call(e,a,h,i)||e.addEventListener&&e.addEventListener(l,i)),b.add&&(b.add.call(e,s),s.handler.guid||(s.handler.guid=n.guid)),c?u.splice(u.delegateCount++,0,s):u.push(s),E.event.global[l]=!0)},remove:function(e,t,n,a,c){var r,i,f,o,d,s,b,u,l,h,p,g=fe.hasData(e)&&fe.get(e);if(g&&(o=g.events)){for(d=(t=(t||"").match(X)||[""]).length;d--;)if(l=p=(f=Ne.exec(t[d])||[])[1],h=(f[2]||"").split(".").sort(),l){for(b=E.event.special[l]||{},u=o[l=(a?b.delegateType:b.bindType)||l]||[],f=f[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=r=u.length;r--;)s=u[r],!c&&p!==s.origType||n&&n.guid!==s.guid||f&&!f.test(s.namespace)||a&&a!==s.selector&&("**"!==a||!s.selector)||(u.splice(r,1),s.selector&&u.delegateCount--,b.remove&&b.remove.call(e,s));i&&!u.length&&(b.teardown&&!1!==b.teardown.call(e,h,g.handle)||E.removeEvent(e,l,g.handle),delete o[l])}else for(l in o)E.event.remove(e,l+t[d],n,a,!0);E.isEmptyObject(o)&&fe.remove(e,"handle events")}},dispatch:function(e){var t,n,a,c,r,i,f=new Array(arguments.length),o=E.event.fix(e),d=(fe.get(this,"events")||Object.create(null))[o.type]||[],s=E.event.special[o.type]||{};for(f[0]=o,t=1;t=1))for(;d!==this;d=d.parentNode||this)if(1===d.nodeType&&("click"!==e.type||!0!==d.disabled)){for(r=[],i={},n=0;n-1:E.find(c,this,null,[d]).length),i[c]&&r.push(a);r.length&&f.push({elem:d,handlers:r})}return d=this,o\s*$/g;function Fe(e,t){return k(e,"table")&&k(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function We(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Be(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function ze(e,t){var n,a,c,r,i,f;if(1===t.nodeType){if(fe.hasData(e)&&(f=fe.get(e).events))for(c in fe.remove(t,"handle events"),f)for(n=0,a=f[c].length;n1&&"string"==typeof h&&!g.checkClone&&He.test(h))return e.each((function(c){var r=e.eq(c);p&&(t[0]=h.call(this,c,r.html())),Ve(r,t,n,a)}));if(u&&(r=(c=Le(t,e[0].ownerDocument,!1,e,a)).firstChild,1===c.childNodes.length&&(c=r),r||a)){for(f=(i=E.map(Oe(c,"script"),We)).length;b0&&De(i,!o&&Oe(e,"script")),f},cleanData:function(e){for(var t,n,a,c=E.event.special,r=0;void 0!==(n=e[r]);r++)if(re(n)){if(t=n[fe.expando]){if(t.events)for(a in t.events)c[a]?E.event.remove(n,a):E.removeEvent(n,a,t.handle);n[fe.expando]=void 0}n[oe.expando]&&(n[oe.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Xe(this,e,!0)},remove:function(e){return Xe(this,e)},text:function(e){return ee(this,(function(e){return void 0===e?E.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Ve(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Fe(this,e).appendChild(e)}))},prepend:function(){return Ve(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Fe(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Ve(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Ve(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(Oe(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return E.clone(this,e,t)}))},html:function(e){return ee(this,(function(e){var t=this[0]||{},n=0,a=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!Se[(Ce.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n=0&&(o+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-r-o-f-.5))||0),o+d}function st(e,t,n){var a=Ye(e),c=(!g.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,a),r=c,i=Ze(e,t,a),f="offset"+t[0].toUpperCase()+t.slice(1);if(Qe.test(i)){if(!n)return i;i="auto"}return(!g.boxSizingReliable()&&c||!g.reliableTrDimensions()&&k(e,"tr")||"auto"===i||!parseFloat(i)&&"inline"===E.css(e,"display",!1,a))&&e.getClientRects().length&&(c="border-box"===E.css(e,"boxSizing",!1,a),(r=f in e)&&(i=e[f])),(i=parseFloat(i)||0)+dt(e,t,n||(c?"border":"content"),r,a,i)+"px"}function bt(e,t,n,a,c){return new bt.prototype.init(e,t,n,a,c)}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ze(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,a){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var c,r,i,f=ce(t),o=Ge.test(t),d=e.style;if(o||(t=ct(f)),i=E.cssHooks[t]||E.cssHooks[f],void 0===n)return i&&"get"in i&&void 0!==(c=i.get(e,!1,a))?c:d[t];"string"===(r=typeof n)&&(c=le.exec(n))&&c[1]&&(n=ye(e,t,c),r="number"),null!=n&&n==n&&("number"!==r||o||(n+=c&&c[3]||(E.cssNumber[f]?"":"px")),g.clearCloneStyle||""!==n||0!==t.indexOf("background")||(d[t]="inherit"),i&&"set"in i&&void 0===(n=i.set(e,n,a))||(o?d.setProperty(t,n):d[t]=n))}},css:function(e,t,n,a){var c,r,i,f=ce(t);return Ge.test(t)||(t=ct(f)),(i=E.cssHooks[t]||E.cssHooks[f])&&"get"in i&&(c=i.get(e,!0,n)),void 0===c&&(c=Ze(e,t,a)),"normal"===c&&t in ft&&(c=ft[t]),""===n||n?(r=parseFloat(c),!0===n||isFinite(r)?r||0:c):c}}),E.each(["height","width"],(function(e,t){E.cssHooks[t]={get:function(e,n,a){if(n)return!rt.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?st(e,t,a):Ke(e,it,(function(){return st(e,t,a)}))},set:function(e,n,a){var c,r=Ye(e),i=!g.scrollboxSize()&&"absolute"===r.position,f=(i||a)&&"border-box"===E.css(e,"boxSizing",!1,r),o=a?dt(e,t,a,f,r):0;return f&&i&&(o-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(r[t])-dt(e,t,"border",!1,r)-.5)),o&&(c=le.exec(n))&&"px"!==(c[3]||"px")&&(e.style[t]=n,n=E.css(e,t)),ot(0,n,o)}}})),E.cssHooks.marginLeft=et(g.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Ze(e,"marginLeft"))||e.getBoundingClientRect().left-Ke(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),E.each({margin:"",padding:"",border:"Width"},(function(e,t){E.cssHooks[e+t]={expand:function(n){for(var a=0,c={},r="string"==typeof n?n.split(" "):[n];a<4;a++)c[e+he[a]+t]=r[a]||r[a-2]||r[0];return c}},"margin"!==e&&(E.cssHooks[e+t].set=ot)})),E.fn.extend({css:function(e,t){return ee(this,(function(e,t,n){var a,c,r={},i=0;if(Array.isArray(t)){for(a=Ye(e),c=t.length;i1)}}),E.Tween=bt,bt.prototype={constructor:bt,init:function(e,t,n,a,c,r){this.elem=e,this.prop=n,this.easing=c||E.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=a,this.unit=r||(E.cssNumber[n]?"":"px")},cur:function(){var e=bt.propHooks[this.prop];return e&&e.get?e.get(this):bt.propHooks._default.get(this)},run:function(e){var t,n=bt.propHooks[this.prop];return this.options.duration?this.pos=t=E.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):bt.propHooks._default.set(this),this}},bt.prototype.init.prototype=bt.prototype,bt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=E.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){E.fx.step[e.prop]?E.fx.step[e.prop](e):1!==e.elem.nodeType||!E.cssHooks[e.prop]&&null==e.elem.style[ct(e.prop)]?e.elem[e.prop]=e.now:E.style(e.elem,e.prop,e.now+e.unit)}}},bt.propHooks.scrollTop=bt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},E.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},E.fx=bt.prototype.init,E.fx.step={};var ut,lt,ht=/^(?:toggle|show|hide)$/,pt=/queueHooks$/;function gt(){lt&&(!1===y.hidden&&a.requestAnimationFrame?a.requestAnimationFrame(gt):a.setTimeout(gt,E.fx.interval),E.fx.tick())}function mt(){return a.setTimeout((function(){ut=void 0})),ut=Date.now()}function vt(e,t){var n,a=0,c={height:e};for(t=t?1:0;a<4;a+=2-t)c["margin"+(n=he[a])]=c["padding"+n]=e;return t&&(c.opacity=c.width=e),c}function yt(e,t,n){for(var a,c=(_t.tweeners[t]||[]).concat(_t.tweeners["*"]),r=0,i=c.length;r1)},removeAttr:function(e){return this.each((function(){E.removeAttr(this,e)}))}}),E.extend({attr:function(e,t,n){var a,c,r=e.nodeType;if(3!==r&&8!==r&&2!==r)return void 0===e.getAttribute?E.prop(e,t,n):(1===r&&E.isXMLDoc(e)||(c=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?wt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):c&&"set"in c&&void 0!==(a=c.set(e,n,t))?a:(e.setAttribute(t,n+""),n):c&&"get"in c&&null!==(a=c.get(e,t))?a:null==(a=E.find.attr(e,t))?void 0:a)},attrHooks:{type:{set:function(e,t){if(!g.radioValue&&"radio"===t&&k(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,a=0,c=t&&t.match(X);if(c&&1===e.nodeType)for(;n=c[a++];)e.removeAttribute(n)}}),wt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=xt[t]||E.find.attr;xt[t]=function(e,t,a){var c,r,i=t.toLowerCase();return a||(r=xt[i],xt[i]=c,c=null!=n(e,t,a)?i:null,xt[i]=r),c}}));var At=/^(?:input|select|textarea|button)$/i,Tt=/^(?:a|area)$/i;function Et(e){return(e.match(X)||[]).join(" ")}function Ct(e){return e.getAttribute&&e.getAttribute("class")||""}function kt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(X)||[]}E.fn.extend({prop:function(e,t){return ee(this,E.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[E.propFix[e]||e]}))}}),E.extend({prop:function(e,t,n){var a,c,r=e.nodeType;if(3!==r&&8!==r&&2!==r)return 1===r&&E.isXMLDoc(e)||(t=E.propFix[t]||t,c=E.propHooks[t]),void 0!==n?c&&"set"in c&&void 0!==(a=c.set(e,n,t))?a:e[t]=n:c&&"get"in c&&null!==(a=c.get(e,t))?a:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):At.test(e.nodeName)||Tt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){E.propFix[this.toLowerCase()]=this})),E.fn.extend({addClass:function(e){var t,n,a,c,r,i;return m(e)?this.each((function(t){E(this).addClass(e.call(this,t,Ct(this)))})):(t=kt(e)).length?this.each((function(){if(a=Ct(this),n=1===this.nodeType&&" "+Et(a)+" "){for(r=0;r-1;)n=n.replace(" "+c+" "," ");i=Et(n),a!==i&&this.setAttribute("class",i)}})):this:this.attr("class","")},toggleClass:function(e,t){var n,a,c,r,i=typeof e,f="string"===i||Array.isArray(e);return m(e)?this.each((function(n){E(this).toggleClass(e.call(this,n,Ct(this),t),t)})):"boolean"==typeof t&&f?t?this.addClass(e):this.removeClass(e):(n=kt(e),this.each((function(){if(f)for(r=E(this),c=0;c-1)return!0;return!1}});var St=/\r/g;E.fn.extend({val:function(e){var t,n,a,c=this[0];return arguments.length?(a=m(e),this.each((function(n){var c;1===this.nodeType&&(null==(c=a?e.call(this,n,E(this).val()):e)?c="":"number"==typeof c?c+="":Array.isArray(c)&&(c=E.map(c,(function(e){return null==e?"":e+""}))),(t=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,c,"value")||(this.value=c))}))):c?(t=E.valHooks[c.type]||E.valHooks[c.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(c,"value"))?n:"string"==typeof(n=c.value)?n.replace(St,""):null==n?"":n:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:Et(E.text(e))}},select:{get:function(e){var t,n,a,c=e.options,r=e.selectedIndex,i="select-one"===e.type,f=i?null:[],o=i?r+1:c.length;for(a=r<0?o:i?r:0;a-1)&&(n=!0);return n||(e.selectedIndex=-1),r}}}}),E.each(["radio","checkbox"],(function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=E.inArray(E(e).val(),t)>-1}},g.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}));var Ot=a.location,Dt={guid:Date.now()},jt=/\?/;E.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new a.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||E.error("Invalid XML: "+(n?E.map(n.childNodes,(function(e){return e.textContent})).join("\n"):e)),t};var Lt=/^(?:focusinfocus|focusoutblur)$/,Nt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,c){var r,i,f,o,d,s,b,u,h=[n||y],p=l.call(e,"type")?e.type:e,g=l.call(e,"namespace")?e.namespace.split("."):[];if(i=u=f=n=n||y,3!==n.nodeType&&8!==n.nodeType&&!Lt.test(p+E.event.triggered)&&(p.indexOf(".")>-1&&(g=p.split("."),p=g.shift(),g.sort()),d=p.indexOf(":")<0&&"on"+p,(e=e[E.expando]?e:new E.Event(p,"object"==typeof e&&e)).isTrigger=c?2:3,e.namespace=g.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),b=E.event.special[p]||{},c||!b.trigger||!1!==b.trigger.apply(n,t))){if(!c&&!b.noBubble&&!v(n)){for(o=b.delegateType||p,Lt.test(o+p)||(i=i.parentNode);i;i=i.parentNode)h.push(i),f=i;f===(n.ownerDocument||y)&&h.push(f.defaultView||f.parentWindow||a)}for(r=0;(i=h[r++])&&!e.isPropagationStopped();)u=i,e.type=r>1?o:b.bindType||p,(s=(fe.get(i,"events")||Object.create(null))[e.type]&&fe.get(i,"handle"))&&s.apply(i,t),(s=d&&i[d])&&s.apply&&re(i)&&(e.result=s.apply(i,t),!1===e.result&&e.preventDefault());return e.type=p,c||e.isDefaultPrevented()||b._default&&!1!==b._default.apply(h.pop(),t)||!re(n)||d&&m(n[p])&&!v(n)&&((f=n[d])&&(n[d]=null),E.event.triggered=p,e.isPropagationStopped()&&u.addEventListener(p,Nt),n[p](),e.isPropagationStopped()&&u.removeEventListener(p,Nt),E.event.triggered=void 0,f&&(n[d]=f)),e.result}},simulate:function(e,t,n){var a=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(a,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each((function(){E.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}});var Pt=/\[\]$/,Mt=/\r?\n/g,$t=/^(?:submit|button|image|reset|file)$/i,It=/^(?:input|select|textarea|keygen)/i;function qt(e,t,n,a){var c;if(Array.isArray(t))E.each(t,(function(t,c){n||Pt.test(e)?a(e,c):qt(e+"["+("object"==typeof c&&null!=c?t:"")+"]",c,n,a)}));else if(n||"object"!==x(t))a(e,t);else for(c in t)qt(e+"["+c+"]",t[c],n,a)}E.param=function(e,t){var n,a=[],c=function(e,t){var n=m(t)?t():t;a[a.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,(function(){c(this.name,this.value)}));else for(n in e)qt(n,e[n],t,c);return a.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&It.test(this.nodeName)&&!$t.test(e)&&(this.checked||!Ee.test(e))})).map((function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,(function(e){return{name:t.name,value:e.replace(Mt,"\r\n")}})):{name:t.name,value:n.replace(Mt,"\r\n")}})).get()}});var Ht=/%20/g,Rt=/#.*$/,Ft=/([?&])_=[^&]*/,Wt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Bt=/^(?:GET|HEAD)$/,zt=/^\/\//,Ut={},Vt={},Xt="*/".concat("*"),Qt=y.createElement("a");function Gt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var a,c=0,r=t.toLowerCase().match(X)||[];if(m(n))for(;a=r[c++];)"+"===a[0]?(a=a.slice(1)||"*",(e[a]=e[a]||[]).unshift(n)):(e[a]=e[a]||[]).push(n)}}function Yt(e,t,n,a){var c={},r=e===Vt;function i(f){var o;return c[f]=!0,E.each(e[f]||[],(function(e,f){var d=f(t,n,a);return"string"!=typeof d||r||c[d]?r?!(o=d):void 0:(t.dataTypes.unshift(d),i(d),!1)})),o}return i(t.dataTypes[0])||!c["*"]&&i("*")}function Kt(e,t){var n,a,c=E.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((c[n]?e:a||(a={}))[n]=t[n]);return a&&E.extend(!0,e,a),e}Qt.href=Ot.href,E.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ot.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Ot.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Xt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":E.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Kt(Kt(e,E.ajaxSettings),t):Kt(E.ajaxSettings,e)},ajaxPrefilter:Gt(Ut),ajaxTransport:Gt(Vt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,c,r,i,f,o,d,s,b,u,l=E.ajaxSetup({},t),h=l.context||l,p=l.context&&(h.nodeType||h.jquery)?E(h):E.event,g=E.Deferred(),m=E.Callbacks("once memory"),v=l.statusCode||{},_={},w={},x="canceled",A={readyState:0,getResponseHeader:function(e){var t;if(d){if(!i)for(i={};t=Wt.exec(r);)i[t[1].toLowerCase()+" "]=(i[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=i[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return d?r:null},setRequestHeader:function(e,t){return null==d&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,_[e]=t),this},overrideMimeType:function(e){return null==d&&(l.mimeType=e),this},statusCode:function(e){var t;if(e)if(d)A.always(e[A.status]);else for(t in e)v[t]=[v[t],e[t]];return this},abort:function(e){var t=e||x;return n&&n.abort(t),T(0,t),this}};if(g.promise(A),l.url=((e||l.url||Ot.href)+"").replace(zt,Ot.protocol+"//"),l.type=t.method||t.type||l.method||l.type,l.dataTypes=(l.dataType||"*").toLowerCase().match(X)||[""],null==l.crossDomain){o=y.createElement("a");try{o.href=l.url,o.href=o.href,l.crossDomain=Qt.protocol+"//"+Qt.host!=o.protocol+"//"+o.host}catch(e){l.crossDomain=!0}}if(l.data&&l.processData&&"string"!=typeof l.data&&(l.data=E.param(l.data,l.traditional)),Yt(Ut,l,t,A),d)return A;for(b in(s=E.event&&l.global)&&0==E.active++&&E.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Bt.test(l.type),c=l.url.replace(Rt,""),l.hasContent?l.data&&l.processData&&0===(l.contentType||"").indexOf("application/x-www-form-urlencoded")&&(l.data=l.data.replace(Ht,"+")):(u=l.url.slice(c.length),l.data&&(l.processData||"string"==typeof l.data)&&(c+=(jt.test(c)?"&":"?")+l.data,delete l.data),!1===l.cache&&(c=c.replace(Ft,"$1"),u=(jt.test(c)?"&":"?")+"_="+Dt.guid+++u),l.url=c+u),l.ifModified&&(E.lastModified[c]&&A.setRequestHeader("If-Modified-Since",E.lastModified[c]),E.etag[c]&&A.setRequestHeader("If-None-Match",E.etag[c])),(l.data&&l.hasContent&&!1!==l.contentType||t.contentType)&&A.setRequestHeader("Content-Type",l.contentType),A.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Xt+"; q=0.01":""):l.accepts["*"]),l.headers)A.setRequestHeader(b,l.headers[b]);if(l.beforeSend&&(!1===l.beforeSend.call(h,A,l)||d))return A.abort();if(x="abort",m.add(l.complete),A.done(l.success),A.fail(l.error),n=Yt(Vt,l,t,A)){if(A.readyState=1,s&&p.trigger("ajaxSend",[A,l]),d)return A;l.async&&l.timeout>0&&(f=a.setTimeout((function(){A.abort("timeout")}),l.timeout));try{d=!1,n.send(_,T)}catch(e){if(d)throw e;T(-1,e)}}else T(-1,"No Transport");function T(e,t,i,o){var b,u,y,_,w,x=t;d||(d=!0,f&&a.clearTimeout(f),n=void 0,r=o||"",A.readyState=e>0?4:0,b=e>=200&&e<300||304===e,i&&(_=function(e,t,n){for(var a,c,r,i,f=e.contents,o=e.dataTypes;"*"===o[0];)o.shift(),void 0===a&&(a=e.mimeType||t.getResponseHeader("Content-Type"));if(a)for(c in f)if(f[c]&&f[c].test(a)){o.unshift(c);break}if(o[0]in n)r=o[0];else{for(c in n){if(!o[0]||e.converters[c+" "+o[0]]){r=c;break}i||(i=c)}r=r||i}if(r)return r!==o[0]&&o.unshift(r),n[r]}(l,A,i)),!b&&E.inArray("script",l.dataTypes)>-1&&E.inArray("json",l.dataTypes)<0&&(l.converters["text script"]=function(){}),_=function(e,t,n,a){var c,r,i,f,o,d={},s=e.dataTypes.slice();if(s[1])for(i in e.converters)d[i.toLowerCase()]=e.converters[i];for(r=s.shift();r;)if(e.responseFields[r]&&(n[e.responseFields[r]]=t),!o&&a&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),o=r,r=s.shift())if("*"===r)r=o;else if("*"!==o&&o!==r){if(!(i=d[o+" "+r]||d["* "+r]))for(c in d)if((f=c.split(" "))[1]===r&&(i=d[o+" "+f[0]]||d["* "+f[0]])){!0===i?i=d[c]:!0!==d[c]&&(r=f[0],s.unshift(f[1]));break}if(!0!==i)if(i&&e.throws)t=i(t);else try{t=i(t)}catch(e){return{state:"parsererror",error:i?e:"No conversion from "+o+" to "+r}}}return{state:"success",data:t}}(l,_,A,b),b?(l.ifModified&&((w=A.getResponseHeader("Last-Modified"))&&(E.lastModified[c]=w),(w=A.getResponseHeader("etag"))&&(E.etag[c]=w)),204===e||"HEAD"===l.type?x="nocontent":304===e?x="notmodified":(x=_.state,u=_.data,b=!(y=_.error))):(y=x,!e&&x||(x="error",e<0&&(e=0))),A.status=e,A.statusText=(t||x)+"",b?g.resolveWith(h,[u,x,A]):g.rejectWith(h,[A,x,y]),A.statusCode(v),v=void 0,s&&p.trigger(b?"ajaxSuccess":"ajaxError",[A,l,b?u:y]),m.fireWith(h,[A,x]),s&&(p.trigger("ajaxComplete",[A,l]),--E.active||E.event.trigger("ajaxStop")))}return A},getJSON:function(e,t,n){return E.get(e,t,n,"json")},getScript:function(e,t){return E.get(e,void 0,t,"script")}}),E.each(["get","post"],(function(e,t){E[t]=function(e,n,a,c){return m(n)&&(c=c||a,a=n,n=void 0),E.ajax(E.extend({url:e,type:t,dataType:c,data:n,success:a},E.isPlainObject(e)&&e))}})),E.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),E._evalUrl=function(e,t,n){return E.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){E.globalEval(e,t,n)}})},E.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return m(e)?this.each((function(t){E(this).wrapInner(e.call(this,t))})):this.each((function(){var t=E(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=m(e);return this.each((function(n){E(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){E(this).replaceWith(this.childNodes)})),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},E.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(e){}};var Jt={0:200,1223:204},Zt=E.ajaxSettings.xhr();g.cors=!!Zt&&"withCredentials"in Zt,g.ajax=Zt=!!Zt,E.ajaxTransport((function(e){var t,n;if(g.cors||Zt&&!e.crossDomain)return{send:function(c,r){var i,f=e.xhr();if(f.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)f[i]=e.xhrFields[i];for(i in e.mimeType&&f.overrideMimeType&&f.overrideMimeType(e.mimeType),e.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest"),c)f.setRequestHeader(i,c[i]);t=function(e){return function(){t&&(t=n=f.onload=f.onerror=f.onabort=f.ontimeout=f.onreadystatechange=null,"abort"===e?f.abort():"error"===e?"number"!=typeof f.status?r(0,"error"):r(f.status,f.statusText):r(Jt[f.status]||f.status,f.statusText,"text"!==(f.responseType||"text")||"string"!=typeof f.responseText?{binary:f.response}:{text:f.responseText},f.getAllResponseHeaders()))}},f.onload=t(),n=f.onerror=f.ontimeout=t("error"),void 0!==f.onabort?f.onabort=n:f.onreadystatechange=function(){4===f.readyState&&a.setTimeout((function(){t&&n()}))},t=t("abort");try{f.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}})),E.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),E.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return E.globalEval(e),e}}}),E.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),E.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(a,c){t=E("\n\n{#if $config?.favorites}\n
\n \n \n {_t(\"Favorites\")}\n \n \n
\n{/if}\n","\n\n{#if $config.recentlyUsed && items.length}\n
\n \n \n {_t(\"Recently Used\")}\n \n
    \n {#each items.reverse() as recentlyUsed}\n
  • \n select(recentlyUsed)}\n class=\"dropdown-item\"\n >\n \n {recentlyUsed.Title}\n \n
  • \n {/each}\n
\n
\n{/if}\n","\n import API from \"!../../../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"../../../../../../@patternslib/dev/webpack/style-inserter.js\";\n import setAttributes from \"!../../../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../css-loader/dist/cjs.js!../../../../../../sass-loader/dist/cjs.js!../../../../../../svelte-loader/index.js?cssPath=/Users/peterm/workspace/buildout.coredev-6.1/src/plone.staticresources/node_modules/@plone/mockup/src/pat/contentbrowser/src/ContentBrowser.svelte.2.css!./ContentBrowser.svelte\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn;\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../../css-loader/dist/cjs.js!../../../../../../sass-loader/dist/cjs.js!../../../../../../svelte-loader/index.js?cssPath=/Users/peterm/workspace/buildout.coredev-6.1/src/plone.staticresources/node_modules/@plone/mockup/src/pat/contentbrowser/src/ContentBrowser.svelte.2.css!./ContentBrowser.svelte\";\n export default content && content.locals ? content.locals : undefined;\n","\n\n{#if $showContentBrowser}\n
\n {\n scrollToRight();\n initKeyboardNav();\n }}\n use:clickOutside\n on:click_outside={cancelSelection}\n >\n
\n
\n \n
\n \n \n {#if $config.uploadEnabled}\n
\n \n {_t(\"upload to ${current_path}\", {\n current_path: $currentPath,\n })}\n
\n {/if}\n cancelSelection()}\n >\n
\n {#await $contentItems}\n

{_t(\"loading content items\")}

\n {:then levels}\n
\n {#each levels as level, i (level.path)}\n \n
\n {#if i == 0 && $config.mode == \"browse\"}\n changePath($config.rootPath)}\n on:click={() => changePath($config.rootPath)}\n >\n {/if}\n {#if level.selectable}\n addItem(level)}\n >\n {_t(\"select ${level_path}\", {\n level_path: level.Title,\n })}\n \n {/if}\n
\n {#if !level.gridView}\n (level.gridView = true)}\n >\n \n \n {:else}\n (level.gridView = false)}\n >\n \n \n {/if}\n
\n
\n
\n {#each level.results || [] as item, n}\n \n \n keyboardNavigation(item, e)}\n on:click={(e) => clickItem(item, e)}\n >\n {#if level.gridView}\n
\n {#if item.getIcon}\n \n {:else}\n \n {/if}\n {item.Title}\n
\n {:else}\n \n \n {item.Title}\n {#if $config.mode == \"search\"}\n
{item.path}\n {/if}\n
\n {/if}\n {#if item.is_folderish && $config.mode == \"browse\"}\n
\n \n
\n {/if}\n
\n {/each}\n {#if level.more}\n \n
\n
\n {/if}\n {#if level.total == 0}\n
\n

{_t(\"no results found\")}

\n
\n {/if}\n \n \n {/each}\n {#if previewItem?.UID && $previewUids.length == 1}\n
\n
\n addItem(previewItem)}\n >{_t(\"select ${preview_path}\", {\n preview_path: previewItem.path.split(\"/\").pop(),\n })}\n
\n
\n {#if previewItem.getIcon}\n
\n \n
\n {:else}\n
\n \n
\n {/if}\n

{previewItem.Title}

\n

{previewItem.Description}

\n
\n
\n {/if}\n {#if $previewUids.length > 1}\n
\n
\n {_t(\"add selected items\")}\n
\n
\n \n
\n
\n {/if}\n {#if showUpload}\n
\n {/if}\n \n {:catch error}\n

{error.message}

\n {/await}\n \n \n{/if}\n\n\n","\n import API from \"!../../../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"../../../../../../@patternslib/dev/webpack/style-inserter.js\";\n import setAttributes from \"!../../../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../css-loader/dist/cjs.js!../../../../../../sass-loader/dist/cjs.js!../../../../../../svelte-loader/index.js?cssPath=/Users/peterm/workspace/buildout.coredev-6.1/src/plone.staticresources/node_modules/@plone/mockup/src/pat/contentbrowser/src/SelectedItems.svelte.1.css!./SelectedItems.svelte\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn;\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../../css-loader/dist/cjs.js!../../../../../../sass-loader/dist/cjs.js!../../../../../../svelte-loader/index.js?cssPath=/Users/peterm/workspace/buildout.coredev-6.1/src/plone.staticresources/node_modules/@plone/mockup/src/pat/contentbrowser/src/SelectedItems.svelte.1.css!./SelectedItems.svelte\";\n export default content && content.locals ? content.locals : undefined;\n","\n\n\n \n \n
$showContentBrowser = $selectedItems.length ? false : true }>\n {#if $selectedItems}\n {#each $selectedItems as selItem, i (selItem.UID)}\n
\n {/each}\n {/if}\n {#if !$selectedItems}\n

{_t(\"loading selected items\")}

\n {/if}\n
\n \n ($showContentBrowser = true)}\n >{_t(\"Select\")}\n
\n\n\n","import { setContext } from 'svelte';\nimport { writable } from 'svelte/store';\n\nexport const gridView = writable(false);\n\nexport function setCurrentPath() {\n let currentPath = writable('');\n setContext('currentPath', currentPath);\n}\n\nexport function setPathCache() {\n let pathCache = writable({});\n setContext('pathCache', pathCache);\n}\n\n// reactive context stores\nexport function setSelectedItems() {\n let selItems = writable([]);\n setContext('selectedItems', selItems);\n}\n\nexport function setConfig() {\n let config = writable({});\n setContext('config', config);\n}\n\nexport function setShowContentBrowser() {\n let showContentBrowser = writable(false);\n setContext('showContentBrowser', showContentBrowser);\n}\n\nexport function setSelectedUids() {\n let selUids = writable([]);\n setContext(\"selectedUids\", selUids);\n}\n\nexport function setPreviewUids() {\n let prevUids = writable([]);\n setContext(\"previewUids\", prevUids);\n}\n","\n\n\n\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","t","f","$","selector","document","querySelector","extend","args","Object","assign","cumulativeOffset","element","top","left","offsetTop","offsetLeft","offsetParent","directScroll","body","scrollTop","value","inSetter","undefined","this","documentElement","window","pageYOffset","scrollLeft","pageXOffset","defaultOptions","container","duration","delay","offset","easing","Math","pow","onStart","onDone","onAborting","scrollX","scrollY","_scrollTo","options","x","y","cumulativeOffsetContainer","cumulativeOffsetTarget","initialX","initialY","targetX","targetY","diffX","diffY","scrolling","started","start_time","end_time","start","delayStart","tick","progress","scrollToTopLeft","stop","now","proceedOptions","opts","scrollContainerHeight","containerElement","scrollHeight","offsetHeight","html","max","clientHeight","scrollTo","makeScrollToAction","scrollToFunc","node","current","handle","e","preventDefault","addEventListener","update","destroy","removeEventListener","fly","opacity","style","getComputedStyle","target_opacity","transform","od","xValue","xUnit","yValue","yUnit","css","u","subscriber_queue","writable","subscribers","Set","set","new_value","run_queue","length","subscriber","i","fn","subscribe","run","invalidate","add","size","delete","config","pathCache","store","load","async","query","vocabularyUrl","attributes","pageSize","selectableTypes","request","get","path","searchTerm","updateCache","loadMorePath","page","_ref","mode","searchPath","rootPath","level","levels","has_more","total","more","selectable","gridView","results","search","pC","p","forEach","l","nextBatch","rootPathParts","replace","split","physicalPath","hideRootPath","startsWith","pathParts","overlapIdx","idx","filter","it","includes","join","slice","concat","paths","parts","maxDepth","min","partsToShow","pathPrefix","sub_path","pop","indexOf","pathCounter","isFirstPath","displayPath","RegExp","levelInfo","levelInfoPath","UID","Title","portal_type","getIcon","n","browse","favorites","iconName","title","dispatch","select","item","favorite","reverse","getURL","toLowerCase","recentlyUsed","items","$config","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","uploadEnabled","current_path","message","level_path","is_folderish","parseInt","preview_path","Description","currentPath","showContentBrowser","selectedItems","selectedUids","previewUids","contentItems","showUpload","previewItem","keyboardNavInitialized","shiftKey","vw","clientWidth","innerWidth","updatePreview","data","uuid","action","$previewUids","maximumSelectionSize","splice","changePath","folderPath","scrollToRight","showPreview","clickItem","levelWrapper","currentTarget","closest","prevSelection","querySelectorAll","el","children","dataset","metaKey","ctrlKey","map","classList","remove","focus","initKeyboardNav","possibleFocusEls","keyboardNavigation","key","cancelSelection","nextElementSibling","contains","click","previousElementSibling","currCol","target","nxtCol","prevCol","isSelectable","addItem","addSelectedItems","$selectedItems","$showContentBrowser","previewItems","$selectedUids","scrollContainer","scrollWidth","filterItems","utils","debounce","$currentPath","timeout","uploadEl","baseUrl","rootUrl","relativePath","allowPathSelection","hiddenInputContainer","success","fileUpload","obj","event","detail","response","alert","observer","IntersectionObserver","entries","entry","isIntersecting","levelPath","levelNextPage","threshold","root","margin","setTimeout","observe","width","ref","initializing","fieldId","selectedItemsNode","getElementById","RegisteredSelectedItem","componentRegistryKeys","selectedItem","initializeSorting","previousSibling","draggable","animation","onUpdate","sortedUuids","setNodeValue","node_val","separator","dispatchEvent","events","change_event","initialValue","selection","initializeSelectedItemsStore","selectedUidsFromSelectedItems","props","component","contextPath","basePath","upload","recentlyUsedKey","recentlyUsedMaxItems","bSize","log","getLogger","setContext","setCurrentPath","setConfig","setPathCache","selItems","setSelectedItems","setShowContentBrowser","selUids","setSelectedUids","prevUids","setPreviewUids","vocabPath","URL","pathname","debug","JSON","stringify"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"chunks/17695.c5ef8d6549c65fd9a0a7.min.js","mappings":"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","sources":["webpack://plone.staticresources/./node_modules/@plone/mockup/src/pat/contentbrowser/src/ContentBrowser.svelte","webpack://plone.staticresources/./node_modules/@plone/mockup/src/pat/contentbrowser/src/SelectedItems.svelte","webpack://plone.staticresources/./node_modules/svelte/src/runtime/easing/index.js","webpack://plone.staticresources/./node_modules/svelte-scrollto/src/helper.js","webpack://plone.staticresources/./node_modules/svelte-scrollto/src/index.js","webpack://plone.staticresources/./node_modules/svelte/src/runtime/transition/index.js","webpack://plone.staticresources/./node_modules/svelte/src/runtime/store/index.js","webpack://plone.staticresources/./node_modules/@plone/mockup/src/pat/contentbrowser/src/ContentStore.js","webpack://plone.staticresources/Favorites.svelte","webpack://plone.staticresources/RecentlyUsed.svelte","webpack://plone.staticresources/./node_modules/@plone/mockup/src/pat/contentbrowser/src/ContentBrowser.svelte?5a58","webpack://plone.staticresources/ContentBrowser.svelte","webpack://plone.staticresources/./node_modules/@plone/mockup/src/pat/contentbrowser/src/SelectedItems.svelte?bebf","webpack://plone.staticresources/SelectedItems.svelte","webpack://plone.staticresources/./node_modules/@plone/mockup/src/pat/contentbrowser/src/stores.js","webpack://plone.staticresources/App.svelte"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".content-browser-position-wrapper.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{position:fixed;top:0;right:0;display:flex;justify-content:end;z-index:1500;width:100%;height:100vh;background-color:rgba(0,0,0,.25)}.btn-xs.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{--bs-btn-padding-y:0.15rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.75rem}.content-browser.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{height:100vh;min-width:550px;background-color:var(--bs-light-bg-subtle);border-left:var(--bs-border-style) var(--bs-border-width) #fff;z-index:1500;display:flex;flex-direction:column}.toolBar.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:var(--bs-primary);padding:.325rem .75rem;color:var(--bs-light);width:100%;display:flex;justify-content:start}.toolBar.svelte-jgy3q8 svg{vertical-align:-0.125em}.levelColumns.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{display:flex;flex-wrap:nowrap;width:100%;overflow:hidden;flex-grow:3;border-left:var(--bs-border-style) var(--bs-border-color) var(--bs-border-width);user-select:none}.levelColumn.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:320px;border-right:var(--bs-border-style) var(--bs-border-width) var(--bs-border-color);display:flex;flex-direction:column}.levelToolbar.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:100%;height:2.5rem;display:flex;justify-content:space-between;padding:.375rem;border-bottom:var(--bs-border-style) var(--bs-border-width) var(--bs-border-color)}.levelToolbar.svelte-jgy3q8>.levelActions.svelte-jgy3q8.svelte-jgy3q8{margin-left:auto}.levelToolbar.svelte-jgy3q8>button.svelte-jgy3q8.svelte-jgy3q8{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.levelItems.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{overflow-x:auto}.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{display:flex;align-items:center;justify-content:space-between;font-size:90%;min-height:2rem}.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8:focus-visible{outline:none}.contentItem.even.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:rgba(var(--bs-secondary-bg-rgb), 0.4)}.contentItem.inPath.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8,.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8:focus{background-color:rgba(var(--bs-primary-rgb), 0.15)}.contentItem.selectedItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:var(--bs-primary);color:var(--bs-body-bg)}.contentItem.svelte-jgy3q8>.svelte-jgy3q8.svelte-jgy3q8{padding:.5rem;white-space:nowrap;max-width:450px;text-overflow:ellipsis;overflow:hidden}.contentItem.svelte-jgy3q8>.browseSub.svelte-jgy3q8.svelte-jgy3q8{flex-shrink:0}.contentItem.svelte-jgy3q8 .grid-preview.svelte-jgy3q8>img.svelte-jgy3q8{width:95px;height:95px;object-fit:cover;float:left;margin-right:1rem}.preview.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:320px;min-height:300px;display:flex;flex-direction:column;align-items:center}.preview.svelte-jgy3q8 .info.svelte-jgy3q8.svelte-jgy3q8{padding:.5rem;width:100%;word-wrap:anywhere}.preview.svelte-jgy3q8 .info .previewIcon.svelte-jgy3q8.svelte-jgy3q8{margin:0 auto 1rem auto}.preview.svelte-jgy3q8 .info .previewIcon svg.svelte-jgy3q8.svelte-jgy3q8{width:50px !important;height:50px !important}.preview.svelte-jgy3q8 h4.svelte-jgy3q8.svelte-jgy3q8{font-size:1.2 rem}.preview.svelte-jgy3q8 img.svelte-jgy3q8.svelte-jgy3q8{max-width:100%;max-width:100%;margin-bottom:.5rem}.upload-wrapper.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{padding:1rem;width:590px;overflow-x:auto}.loadmore.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{text-align:center;padding:.25rem 0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@plone/mockup/src/pat/contentbrowser/src/ContentBrowser.svelte\"],\"names\":[],\"mappings\":\"AAAA,4EAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,YAAA,CAAA,mBAAA,CAAA,YAAA,CAAA,UAAA,CAAA,YAAA,CAAA,gCAAA,CAAA,kDAAA,0BAAA,CAAA,yBAAA,CAAA,0BAAA,CAAA,2DAAA,YAAA,CAAA,eAAA,CAAA,0CAAA,CAAA,8DAAA,CAAA,YAAA,CAAA,YAAA,CAAA,qBAAA,CAAA,mDAAA,kCAAA,CAAA,sBAAA,CAAA,qBAAA,CAAA,UAAA,CAAA,YAAA,CAAA,qBAAA,CAAA,2BAAA,uBAAA,CAAA,wDAAA,YAAA,CAAA,gBAAA,CAAA,UAAA,CAAA,eAAA,CAAA,WAAA,CAAA,gFAAA,CAAA,gBAAA,CAAA,uDAAA,WAAA,CAAA,iFAAA,CACmC,YAAA,CAAA,qBAAA,CAAA,wDAAA,UAAA,CAAA,aAAA,CAAA,YAAA,CAAA,6BAAA,CAAA,eAAA,CAAA,kFAAA,CACA,sEAAA,gBAAA,CAAA,+DAAA,kBAAA,CAAA,eAAA,CAAA,sBAAA,CAAA,sDAAA,eAAA,CAAA,uDAAA,YAAA,CAAA,kBAAA,CAAA,6BAAA,CAAA,aAAA,CAAA,eAAA,CAAA,qEAAA,YAAA,CAAA,4DAAA,sDAAA,CAAA,2HAAA,kDAAA,CAAA,oEAAA,kCAAA,CAAA,uBAAA,CAAA,wDAAA,aAAA,CAAA,kBAAA,CAAA,eAAA,CAAA,sBAAA,CAAA,eAAA,CAAA,kEAAA,aAAA,CAAA,yEAAA,UAAA,CAAA,WAAA,CAAA,gBAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,mDAAA,WAAA,CAAA,gBAAA,CAAA,YAAA,CAAA,qBAAA,CAAA,kBAAA,CAAA,yDAAA,aAAA,CAAA,UAAA,CAAA,kBAAA,CAAA,sEAAA,uBAAA,CAAA,0EAAA,qBAAA,CAAA,sBAAA,CAAA,sDAAA,iBAAA,CAAA,uDAAA,cAAA,CAAA,cAAA,CAAA,mBAAA,CAAA,0DAAA,YAAA,CAAA,WAAA,CAAA,eAAA,CAAA,oDAAA,iBAAA,CAAA,gBAAA\",\"sourcesContent\":[\".content-browser-position-wrapper.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{position:fixed;top:0;right:0;display:flex;justify-content:end;z-index:1500;width:100%;height:100vh;background-color:rgba(0, 0, 0, 0.25)}.btn-xs.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{--bs-btn-padding-y:0.15rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.75rem}.content-browser.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{height:100vh;min-width:550px;background-color:var(--bs-light-bg-subtle);border-left:var(--bs-border-style) var(--bs-border-width) #fff;z-index:1500;display:flex;flex-direction:column}.toolBar.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:var(--bs-primary);padding:0.325rem 0.75rem;color:var(--bs-light);width:100%;display:flex;justify-content:start}.toolBar.svelte-jgy3q8 svg{vertical-align:-0.125em}.levelColumns.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{display:flex;flex-wrap:nowrap;width:100%;overflow:hidden;flex-grow:3;border-left:var(--bs-border-style) var(--bs-border-color) var(--bs-border-width);user-select:none}.levelColumn.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:320px;border-right:var(--bs-border-style) var(--bs-border-width)\\n var(--bs-border-color);display:flex;flex-direction:column}.levelToolbar.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:100%;height:2.5rem;display:flex;justify-content:space-between;padding:0.375rem;border-bottom:var(--bs-border-style) var(--bs-border-width)\\n var(--bs-border-color)}.levelToolbar.svelte-jgy3q8>.levelActions.svelte-jgy3q8.svelte-jgy3q8{margin-left:auto}.levelToolbar.svelte-jgy3q8>button.svelte-jgy3q8.svelte-jgy3q8{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.levelItems.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{overflow-x:auto}.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{display:flex;align-items:center;justify-content:space-between;font-size:90%;min-height:2rem}.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8:focus-visible{outline:none}.contentItem.even.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:rgba(var(--bs-secondary-bg-rgb), .4)}.contentItem.inPath.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8,.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8:focus{background-color:rgba(var(--bs-primary-rgb), 0.15)}.contentItem.selectedItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:var(--bs-primary);color:var(--bs-body-bg)}.contentItem.svelte-jgy3q8>.svelte-jgy3q8.svelte-jgy3q8{padding:0.5rem;white-space:nowrap;max-width:450px;text-overflow:ellipsis;overflow:hidden}.contentItem.svelte-jgy3q8>.browseSub.svelte-jgy3q8.svelte-jgy3q8{flex-shrink:0}.contentItem.svelte-jgy3q8 .grid-preview.svelte-jgy3q8>img.svelte-jgy3q8{width:95px;height:95px;object-fit:cover;float:left;margin-right:1rem}.preview.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:320px;min-height:300px;display:flex;flex-direction:column;align-items:center}.preview.svelte-jgy3q8 .info.svelte-jgy3q8.svelte-jgy3q8{padding:0.5rem;width:100%;word-wrap:anywhere}.preview.svelte-jgy3q8 .info .previewIcon.svelte-jgy3q8.svelte-jgy3q8{margin:0 auto 1rem auto}.preview.svelte-jgy3q8 .info .previewIcon svg.svelte-jgy3q8.svelte-jgy3q8{width:50px !important;height:50px !important}.preview.svelte-jgy3q8 h4.svelte-jgy3q8.svelte-jgy3q8{font-size:1.2 rem}.preview.svelte-jgy3q8 img.svelte-jgy3q8.svelte-jgy3q8{max-width:100%;max-width:100%;margin-bottom:0.5rem}.upload-wrapper.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{padding:1rem;width:590px;overflow-x:auto}.loadmore.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{text-align:center;padding:0.25rem 0}\\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGVudEJyb3dzZXIuc3ZlbHRlIiwic291cmNlcyI6WyJDb250ZW50QnJvd3Nlci5zdmVsdGUiXSwic291cmNlc0NvbnRlbnQiOlsiPHNjcmlwdD5cbiAgICBpbXBvcnQgdXRpbHMgZnJvbSBcIkBwYXR0ZXJuc2xpYi9wYXR0ZXJuc2xpYi9zcmMvY29yZS91dGlsc1wiO1xuICAgIGltcG9ydCB7IGdldENvbnRleHQgfSBmcm9tIFwic3ZlbHRlXCI7XG4gICAgaW1wb3J0ICogYXMgYW5pbWF0ZVNjcm9sbCBmcm9tIFwic3ZlbHRlLXNjcm9sbHRvXCI7XG4gICAgaW1wb3J0IHsgZmx5IH0gZnJvbSBcInN2ZWx0ZS90cmFuc2l0aW9uXCI7XG4gICAgaW1wb3J0IF90IGZyb20gXCIuLi8uLi8uLi9jb3JlL2kxOG4td3JhcHBlclwiO1xuICAgIGltcG9ydCBVcGxvYWQgZnJvbSBcIi4uLy4uL3VwbG9hZC91cGxvYWRcIjtcbiAgICBpbXBvcnQgY29udGVudFN0b3JlIGZyb20gXCIuL0NvbnRlbnRTdG9yZVwiO1xuICAgIGltcG9ydCB7XG4gICAgICAgIGNsaWNrT3V0c2lkZSxcbiAgICAgICAgZ2V0X2l0ZW1zX2Zyb21fdWlkcyxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgcmVzb2x2ZUljb24sXG4gICAgICAgIHVwZGF0ZVJlY2VudGx5VXNlZCxcbiAgICB9IGZyb20gXCIuL3V0aWxzXCI7XG4gICAgaW1wb3J0IEZhdm9yaXRlcyBmcm9tIFwiLi9GYXZvcml0ZXMuc3ZlbHRlXCI7XG4gICAgaW1wb3J0IFJlY2VudGx5VXNlZCBmcm9tIFwiLi9SZWNlbnRseVVzZWQuc3ZlbHRlXCI7XG5cbiAgICBhbmltYXRlU2Nyb2xsLnNldEdsb2JhbE9wdGlvbnMoe1xuICAgICAgICBzY3JvbGxYOiB0cnVlLFxuICAgICAgICBjb250YWluZXI6IFwiLmxldmVsQ29sdW1uc1wiLFxuICAgICAgICBkdXJhdGlvbjogNTAwLFxuICAgIH0pO1xuXG4gICAgLy8gZ2V0IGNvbnRleHQgc3RvcmVzXG4gICAgY29uc3QgY3VycmVudFBhdGggPSBnZXRDb250ZXh0KFwiY3VycmVudFBhdGhcIik7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29udGV4dChcImNvbmZpZ1wiKTtcbiAgICBjb25zdCBwYXRoQ2FjaGUgPSBnZXRDb250ZXh0KFwicGF0aENhY2hlXCIpO1xuICAgIGNvbnN0IHNob3dDb250ZW50QnJvd3NlciA9IGdldENvbnRleHQoXCJzaG93Q29udGVudEJyb3dzZXJcIik7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IGdldENvbnRleHQoXCJzZWxlY3RlZEl0ZW1zXCIpO1xuICAgIGNvbnN0IHNlbGVjdGVkVWlkcyA9IGdldENvbnRleHQoXCJzZWxlY3RlZFVpZHNcIik7XG4gICAgY29uc3QgcHJldmlld1VpZHMgPSBnZXRDb250ZXh0KFwicHJldmlld1VpZHNcIik7XG5cbiAgICAvLyBpbml0aWFsaXplIGNvbnRlbnQgYnJvd3NlciBzdG9yZVxuICAgIGNvbnN0IGNvbnRlbnRJdGVtcyA9IGNvbnRlbnRTdG9yZSgkY29uZmlnLCBwYXRoQ2FjaGUpO1xuXG4gICAgbGV0IHNob3dVcGxvYWQgPSBmYWxzZTtcbiAgICBsZXQgcHJldmlld0l0ZW0gPSB7fTtcbiAgICBsZXQga2V5Ym9hcmROYXZJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIGxldCBzaGlmdEtleSA9IGZhbHNlO1xuXG4gICAgbGV0IHZ3ID0gTWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIHx8IDAsIHdpbmRvdy5pbm5lcldpZHRoIHx8IDApO1xuXG4gICAgZnVuY3Rpb24gdXBkYXRlUHJldmlldyh7IGRhdGEgPSBudWxsLCB1dWlkID0gbnVsbCwgYWN0aW9uID0gXCJzaG93XCIgfSkge1xuICAgICAgICBpZiAoZGF0YSAmJiBhY3Rpb24gPT0gXCJzaG93XCIpIHtcbiAgICAgICAgICAgIHByZXZpZXdJdGVtID0gZGF0YTtcbiAgICAgICAgICAgICRwcmV2aWV3VWlkcyA9IFtkYXRhLlVJRF07XG4gICAgICAgIH0gZWxzZSBpZiAodXVpZCAmJiBhY3Rpb24gPT0gXCJhZGRcIiAmJiAkcHJldmlld1VpZHMuaW5kZXhPZih1dWlkKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAkY29uZmlnLm1heGltdW1TZWxlY3Rpb25TaXplID4gMCAmJlxuICAgICAgICAgICAgICAgICRwcmV2aWV3VWlkcy5sZW5ndGggPj0gJGNvbmZpZy5tYXhpbXVtU2VsZWN0aW9uU2l6ZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gcmVzcGVjdCBtYXhpbXVtU2VsZWN0aW9uU2l6ZVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRwcmV2aWV3VWlkcyA9IFsuLi4kcHJldmlld1VpZHMsIHV1aWRdOyAvLyBOT1RFOiAkcHJldmlld1VpZHMucHVzaCgpIGlzIG5vdCBhIHJlYWN0aXZlIGNoYW5nZVxuICAgICAgICB9IGVsc2UgaWYgKHV1aWQgJiYgYWN0aW9uID09IFwicmVtb3ZlXCIgJiYgJHByZXZpZXdVaWRzLmluZGV4T2YodXVpZCkgIT09IC0xKSB7XG4gICAgICAgICAgICBwcmV2aWV3VWlkcy51cGRhdGUoKG4pID0+IHtcbiAgICAgICAgICAgICAgICBuLnNwbGljZShuLmluZGV4T2YodXVpZCksIDEpO1xuICAgICAgICAgICAgICAgIHJldHVybiBuO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoYWN0aW9uID09IFwiY2xlYXJcIikge1xuICAgICAgICAgICAgcHJldmlld0l0ZW0gPSB7fTtcbiAgICAgICAgICAgICRwcmV2aWV3VWlkcyA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgZnVuY3Rpb24gdXBsb2FkKCkge1xuICAgICAgICB1cGRhdGVQcmV2aWV3KHsgYWN0aW9uOiBcImNsZWFyXCIgfSk7XG4gICAgICAgIHNob3dVcGxvYWQgPSB0cnVlO1xuICAgICAgICBhd2FpdCB1dGlscy50aW1lb3V0KDEpO1xuICAgICAgICBjb25zdCB1cGxvYWRFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudXBsb2FkLXdyYXBwZXJcIik7XG4gICAgICAgIHVwbG9hZEVsLmNsYXNzTGlzdC5hZGQoXCJwYXQtdXBsb2FkXCIpO1xuICAgICAgICBjb25zdCBwYXRVcGxvYWQgPSBuZXcgVXBsb2FkKHVwbG9hZEVsLCB7XG4gICAgICAgICAgICBiYXNlVXJsOiAkY29uZmlnLnJvb3RVcmwsXG4gICAgICAgICAgICBjdXJyZW50UGF0aDogJGN1cnJlbnRQYXRoLFxuICAgICAgICAgICAgcmVsYXRpdmVQYXRoOiBcIkBAZmlsZVVwbG9hZFwiLFxuICAgICAgICAgICAgYWxsb3dQYXRoU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIGhpZGRlbklucHV0Q29udGFpbmVyOiBcIi51cGxvYWQtd3JhcHBlclwiLFxuICAgICAgICAgICAgc3VjY2VzczogKGZpbGVVcGxvYWQsIG9iaikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnRlbnRJdGVtcy5nZXQoeyBwYXRoOiAkY3VycmVudFBhdGgsIHVwZGF0ZUNhY2hlOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2hvd1ByZXZpZXcoaXRlbSkge1xuICAgICAgICBpZiAoJGNvbmZpZy5tb2RlID09IFwic2VhcmNoXCIpIHtcbiAgICAgICAgICAgIC8vIG9uZSBsZXZlbCBzZWFyY2ggbW9kZVxuICAgICAgICAgICAgdXBkYXRlUHJldmlldyh7IGRhdGE6IGl0ZW0gfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5pc19mb2xkZXJpc2gpIHtcbiAgICAgICAgICAgICRwcmV2aWV3VWlkcyA9IFtpdGVtLlVJRF07XG4gICAgICAgICAgICBjdXJyZW50UGF0aC5zZXQoaXRlbS5wYXRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGl0ZW0ucGF0aC5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICBjb25zdCBmb2xkZXJQYXRoID0gcGF0aFBhcnRzLnNsaWNlKDAsIHBhdGhQYXJ0cy5sZW5ndGggLSAxKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGN1cnJlbnRQYXRoLnNldChmb2xkZXJQYXRoIHx8ICRjb25maWcucm9vdFBhdGgpO1xuICAgICAgICAgICAgdXBkYXRlUHJldmlldyh7IGRhdGE6IGl0ZW0gfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2Nyb2xsVG9SaWdodCgpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNoYW5nZVBhdGgoaXRlbSwgZSkge1xuICAgICAgICAvLyBhbHdheXMgaGlkZSB1cGxvYWQgd2hlbiBjaGFuZ2luZyBwYXRoXG4gICAgICAgIHNob3dVcGxvYWQgPSBmYWxzZTtcblxuICAgICAgICAvLyBjbGVhciBwcmV2aW91cyBzZWxlY3Rpb25cbiAgICAgICAgdXBkYXRlUHJldmlldyh7IGFjdGlvbjogXCJjbGVhclwiIH0pO1xuXG4gICAgICAgIGlmIChpdGVtID09PSBcIi9cIiB8fCBpdGVtID09PSAkY29uZmlnLnJvb3RQYXRoKSB7XG4gICAgICAgICAgICAvLyBjbGlja2VkIFwiaG9tZVwiIGJ1dHRvblxuICAgICAgICAgICAgY3VycmVudFBhdGguc2V0KCRjb25maWcucm9vdFBhdGgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2hvdyBjbGlja2VkIGl0ZW1cbiAgICAgICAgc2hvd1ByZXZpZXcoaXRlbSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2xpY2tJdGVtKGl0ZW0sIGUpIHtcbiAgICAgICAgaWYgKCFrZXlib2FyZE5hdkluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAvLyBpZiB3ZSd2ZSBhbHJlYWR5IGNsaWNrZWQgYW4gZWxlbWVudCB3aXRoIHRoZSBtb3VzZVxuICAgICAgICAgICAgLy8gZG8gbm90IHN0YXJ0IG92ZXIga2V5Ym9hcmRuYXZcbiAgICAgICAgICAgIGtleWJvYXJkTmF2SW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2hlY2sgZm9yIG11bHRpc2VsZWN0aW9uXG4gICAgICAgIGNvbnN0IGxldmVsV3JhcHBlciA9IGUuY3VycmVudFRhcmdldC5jbG9zZXN0KFwiLmxldmVsSXRlbXNcIik7XG4gICAgICAgIGNvbnN0IHByZXZTZWxlY3Rpb24gPSBsZXZlbFdyYXBwZXIucXVlcnlTZWxlY3RvckFsbChcIi5zZWxlY3RlZEl0ZW1cIik7XG5cbiAgICAgICAgaWYgKHByZXZTZWxlY3Rpb24ubGVuZ3RoICYmICRjb25maWcubWF4aW11bVNlbGVjdGlvblNpemUgIT0gMSkge1xuICAgICAgICAgICAgLy8gY2hlY2sgZm9yIHByZXNzZWQgc2hpZnQgb3IgY3RybC9tZXRhIGtleSBmb3IgbXVsdGlzZWxlY3Rpb25cblxuICAgICAgICAgICAgaWYgKHNoaWZ0S2V5IHx8IGU/LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgLy8gaXRlciB0aHJvdWdoIHRoZSB3cmFwcGVyIGNoaWxkcmVuIGFuZCBzZWxlY3QgYWxsXG4gICAgICAgICAgICAgICAgLy8gaW5iZXR3ZWVuIGN1cnJlbnQgc2VsZWN0aW9uIGFuZCBsYXN0IHByZXZpZXdcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBlbCBvZiBsZXZlbFdyYXBwZXIuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFtpdGVtLlVJRCwgcHJldmlld0l0ZW0uVUlEXS5pbmRleE9mKGVsLmRhdGFzZXQudXVpZCkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3RvcCBzZWxlY3RpbmcgYnV0IG1ha2Ugc3VyZSB0aGUgbGFzdCBpdGVtIGlzIHNlbGVjdGVkIHRvb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZXZpZXcoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dWlkOiBlbC5kYXRhc2V0LnV1aWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogXCJhZGRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IHNlbGVjdGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmV2aWV3KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHV1aWQ6IGVsLmRhdGFzZXQudXVpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogc2VsZWN0ID8gXCJhZGRcIiA6IFwicmVtb3ZlXCIsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZT8ubWV0YUtleSB8fCBlPy5jdHJsS2V5KSB7XG4gICAgICAgICAgICAgICAgLy8gZGUvc2VsZWN0IG11bHRpcGxlIHNpbmdsZSBpdGVtc1xuICAgICAgICAgICAgICAgIC8vIE5PVEU6IG9ubHkgZm9yIG1vdXNlIGNsaWNrIGV2ZW50XG4gICAgICAgICAgICAgICAgdXBkYXRlUHJldmlldyh7XG4gICAgICAgICAgICAgICAgICAgIHV1aWQ6IGl0ZW0uVUlELFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICRwcmV2aWV3VWlkcy5pbmRleE9mKGl0ZW0uVUlEKSA9PSAtMSA/IFwiYWRkXCIgOiBcInJlbW92ZVwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyB1bnNlbGVjdFxuICAgICAgICAgICAgICAgIFsuLi5wcmV2U2VsZWN0aW9uXS5tYXAoKGVsKSA9PiBlbC5jbGFzc0xpc3QucmVtb3ZlKFwic2VsZWN0ZWRJdGVtXCIpKTtcbiAgICAgICAgICAgICAgICBjaGFuZ2VQYXRoKGl0ZW0sIGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2hhbmdlUGF0aChpdGVtLCBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGUuY3VycmVudFRhcmdldC5mb2N1cygpOyAvLyBuZWVkZWQgZm9yIGtleWJvYXJkIG5hdmlnYXRpb25cbiAgICAgICAgZS5jdXJyZW50VGFyZ2V0LmNsYXNzTGlzdC5hZGQoXCJzZWxlY3RlZEl0ZW1cIik7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5pdEtleWJvYXJkTmF2KCkge1xuICAgICAgICAvLyBmb2N1cyBmaXJzdCBlbGVtZW50IHdoZW4gc2hvd2luZyBjb250ZW50YnJvd3NlclxuICAgICAgICBpZiAoa2V5Ym9hcmROYXZJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBvc3NpYmxlRm9jdXNFbHMgPSBbXG4gICAgICAgICAgICAuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLmxldmVsQ29sdW1uIC5pblBhdGhcIiksIC8vIHByZXZpb3VzbHkgc2VsZWN0ZWQgZm9sZGVyXG4gICAgICAgICAgICAuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLmxldmVsQ29sdW1uIC5zZWxlY3RlZEl0ZW1cIiksIC8vIHByZXZpb3VzbHkgc2VsZWN0ZWQgaXRlbVxuICAgICAgICBdO1xuICAgICAgICBpZighcG9zc2libGVGb2N1c0Vscy5sZW5ndGggJiYgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5sZXZlbENvbHVtbiAuY29udGVudEl0ZW1cIikpIHtcbiAgICAgICAgICAgIHBvc3NpYmxlRm9jdXNFbHMucHVzaChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmxldmVsQ29sdW1uIC5jb250ZW50SXRlbVwiKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvc3NpYmxlRm9jdXNFbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBrZXlib2FyZE5hdkluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHBvc3NpYmxlRm9jdXNFbHNbMF0uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGtleWJvYXJkTmF2aWdhdGlvbihpdGVtLCBlKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBlLmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgIHNoaWZ0S2V5ID0gZS5zaGlmdEtleTtcbiAgICAgICAgaWYgKGUua2V5ID09IFwiRXNjYXBlXCIpIHtcbiAgICAgICAgICAgIGNhbmNlbFNlbGVjdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGUua2V5ID09IFwiQXJyb3dEb3duXCIgJiZcbiAgICAgICAgICAgIG5vZGU/Lm5leHRFbGVtZW50U2libGluZz8uY2xhc3NMaXN0LmNvbnRhaW5zKFwiY29udGVudEl0ZW1cIilcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBub2RlLm5leHRFbGVtZW50U2libGluZy5jbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGUua2V5ID09IFwiQXJyb3dVcFwiICYmXG4gICAgICAgICAgICBub2RlPy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nPy5jbGFzc0xpc3QuY29udGFpbnMoXCJjb250ZW50SXRlbVwiKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIG5vZGUucHJldmlvdXNFbGVtZW50U2libGluZy5jbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlLmtleSA9PSBcIkFycm93UmlnaHRcIikge1xuICAgICAgICAgICAgY29uc3QgY3VyckNvbCA9IGUudGFyZ2V0LmNsb3Nlc3QoXCIubGV2ZWxDb2x1bW5cIik7XG4gICAgICAgICAgICBjb25zdCBueHRDb2wgPSBjdXJyQ29sPy5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgICAgICAgICBpZiAoIW54dENvbCB8fCAhbnh0Q29sLmNsYXNzTGlzdC5jb250YWlucyhcImxldmVsQ29sdW1uXCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbnh0Q29sLnF1ZXJ5U2VsZWN0b3IoXCIuY29udGVudEl0ZW1cIik/LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUua2V5ID09IFwiQXJyb3dMZWZ0XCIpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJDb2wgPSBlLnRhcmdldC5jbG9zZXN0KFwiLmxldmVsQ29sdW1uXCIpO1xuICAgICAgICAgICAgY29uc3QgcHJldkNvbCA9IGN1cnJDb2w/LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgICAgICAgICBpZiAoIXByZXZDb2wgfHwgIXByZXZDb2wuY2xhc3NMaXN0LmNvbnRhaW5zKFwibGV2ZWxDb2x1bW5cIikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmV2Q29sLnF1ZXJ5U2VsZWN0b3IoXCIuaW5QYXRoXCIpLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUua2V5ID09IFwiU3BhY2VcIikge1xuICAgICAgICAgICAgLy8gYWRkIGl0ZW0gdG8gc2VsZWN0aW9uIChsaWtlIG1ldGFLZXkgKyBjbGljaylcbiAgICAgICAgICAgIGNsaWNrSXRlbShpdGVtLCBlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZS5rZXkgPT0gXCJFbnRlclwiKSB7XG4gICAgICAgICAgICBpZiAoaXNTZWxlY3RhYmxlKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgaWYgKCRjb25maWcubWF4aW11bVNlbGVjdGlvblNpemUgPT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBhZGRJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZFNlbGVjdGVkSXRlbXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBhZGRJdGVtKGl0ZW0pIHtcbiAgICAgICAgaWYgKCRjb25maWcubWF4aW11bVNlbGVjdGlvblNpemUgPT0gMSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5zZXQoW2l0ZW1dKTtcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkcy5zZXQoW2l0ZW0uVUlEXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLnVwZGF0ZSgobikgPT4gWy4uLm4sIGl0ZW1dKTtcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkcy51cGRhdGUoKCkgPT4gJHNlbGVjdGVkSXRlbXMubWFwKCh4KSA9PiB4LlVJRCkpO1xuICAgICAgICB9XG4gICAgICAgIHVwZGF0ZVJlY2VudGx5VXNlZChpdGVtLCAkY29uZmlnKTtcbiAgICAgICAgdXBkYXRlUHJldmlldyh7IGFjdGlvbjogXCJjbGVhclwiIH0pO1xuICAgICAgICAkc2hvd0NvbnRlbnRCcm93c2VyID0gZmFsc2U7XG4gICAgICAgIGtleWJvYXJkTmF2SW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBhZGRTZWxlY3RlZEl0ZW1zKCkge1xuICAgICAgICBjb25zdCBwcmV2aWV3SXRlbXMgPSBhd2FpdCBnZXRfaXRlbXNfZnJvbV91aWRzKCRwcmV2aWV3VWlkcywgJGNvbmZpZyk7XG4gICAgICAgIHNlbGVjdGVkSXRlbXMudXBkYXRlKChuKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0IG9mIHByZXZpZXdJdGVtcykge1xuICAgICAgICAgICAgICAgIGlmICgkc2VsZWN0ZWRVaWRzLmluZGV4T2YoaXQuVUlEKSAhPSAtMSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgbi5wdXNoKGl0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuO1xuICAgICAgICB9KTtcbiAgICAgICAgc2VsZWN0ZWRVaWRzLnVwZGF0ZSgoKSA9PiAkc2VsZWN0ZWRJdGVtcy5tYXAoKHgpID0+IHguVUlEKSk7XG4gICAgICAgIHVwZGF0ZVByZXZpZXcoeyBhY3Rpb246IFwiY2xlYXJcIiB9KTtcbiAgICAgICAgJHNob3dDb250ZW50QnJvd3NlciA9IGZhbHNlO1xuICAgICAgICBrZXlib2FyZE5hdkluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2VsZWN0UmVjZW50bHlVc2VkKGV2ZW50KSB7XG4gICAgICAgIGFkZEl0ZW0oZXZlbnQuZGV0YWlsLml0ZW0pO1xuICAgIH1cblxuICAgIGFzeW5jIGZ1bmN0aW9uIHNlbGVjdEZhdm9yaXRlKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBldmVudC5kZXRhaWwuaXRlbS5wYXRoO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Qoe1xuICAgICAgICAgICAgdm9jYWJ1bGFyeVVybDogJGNvbmZpZy52b2NhYnVsYXJ5VXJsLFxuICAgICAgICAgICAgYXR0cmlidXRlczogJGNvbmZpZy5hdHRyaWJ1dGVzLFxuICAgICAgICAgICAgbGV2ZWxJbmZvUGF0aDogcGF0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghcmVzcG9uc2UudG90YWwpIHtcbiAgICAgICAgICAgIGFsZXJ0KGAke3BhdGh9IG5vdCBmb3VuZCFgKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpdGVtID0gcmVzcG9uc2UucmVzdWx0c1swXTtcbiAgICAgICAgaWYgKCFpdGVtLnBhdGgpIHtcbiAgICAgICAgICAgIC8vIGZpeCBmb3Igcm9vdFxuICAgICAgICAgICAgaXRlbS5wYXRoID0gJGNvbmZpZy5yb290UGF0aDtcbiAgICAgICAgfVxuICAgICAgICBjaGFuZ2VQYXRoKGl0ZW0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNhbmNlbFNlbGVjdGlvbigpIHtcbiAgICAgICAgJHNob3dDb250ZW50QnJvd3NlciA9IGZhbHNlO1xuICAgICAgICBrZXlib2FyZE5hdkluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgICAgIHVwZGF0ZVByZXZpZXcoeyBhY3Rpb246IFwiY2xlYXJcIiB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc1NlbGVjdGFibGUoaXRlbSkge1xuICAgICAgICByZXR1cm4gJHNlbGVjdGVkVWlkcy5pbmRleE9mKGl0ZW0uVUlEKSA9PT0gLTE7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2Nyb2xsVG9SaWdodCgpIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5sZXZlbENvbHVtbnNcIik7XG4gICAgICAgIGlmIChzY3JvbGxDb250YWluZXIpIHtcbiAgICAgICAgICAgIGFuaW1hdGVTY3JvbGwuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgIC8vIGVsZW1lbnQ6IFwiLmxldmVsQ29sdW1uOmxhc3QtY2hpbGRcIixcbiAgICAgICAgICAgICAgICB4OiBzY3JvbGxDb250YWluZXIuc2Nyb2xsV2lkdGggKyAxMDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGl0ZW1JblBhdGgoaXRlbSkge1xuICAgICAgICByZXR1cm4gJGNvbmZpZy5tb2RlID09IFwiYnJvd3NlXCIgJiYgJGN1cnJlbnRQYXRoLmluZGV4T2YoaXRlbS5wYXRoKSAhPSAtMTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXJJdGVtcyA9IHV0aWxzLmRlYm91bmNlKChlKSA9PiB7XG4gICAgICAgIGNvbnRlbnRJdGVtcy5nZXQoeyBwYXRoOiAkY3VycmVudFBhdGgsIHNlYXJjaFRlcm06IGUudGFyZ2V0LnZhbHVlIH0pO1xuICAgIH0sIDMwMCk7XG5cbiAgICBmdW5jdGlvbiBsb2FkTW9yZShub2RlKSB7XG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gbm9kZS5kYXRhc2V0LmxldmVsUGF0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSBwYXJzZUludChub2RlLmRhdGFzZXQubGV2ZWxOZXh0UGFnZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50SXRlbXMuZ2V0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkTW9yZVBhdGg6IHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgdGhyZXNob2xkOiAwLCByb290OiBudWxsLCBtYXJnaW46IFwiMHB4XCIgfSxcbiAgICAgICAgKTtcbiAgICAgICAgLy8gZGVmZXIgb2JzZXJ2aW5nXG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUobm9kZSk7XG4gICAgICAgIH0sIDUwMCk7XG4gICAgfVxuXG4gICAgJDoge1xuICAgICAgICBpZiAoJHNob3dDb250ZW50QnJvd3Nlcikge1xuICAgICAgICAgICAgY29udGVudEl0ZW1zLmdldCh7IHBhdGg6ICRjdXJyZW50UGF0aCB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICQ6IHtcbiAgICAgICAgJGNvbnRlbnRJdGVtcztcbiAgICAgICAgc2Nyb2xsVG9SaWdodCgpO1xuICAgIH1cblxuICAgICQ6IHtcbiAgICAgICAgJHByZXZpZXdVaWRzO1xuICAgIH1cbjwvc2NyaXB0PlxuXG57I2lmICRzaG93Q29udGVudEJyb3dzZXJ9XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYnJvd3Nlci1wb3NpdGlvbi13cmFwcGVyXCI+XG4gICAgICAgIDxuYXZcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1icm93c2VyXCJcbiAgICAgICAgICAgIHRyYW5zaXRpb246Zmx5PXt7IHg6ICh2dyAvIDEwMCkgKiA5NCwgb3BhY2l0eTogMSB9fVxuICAgICAgICAgICAgb246aW50cm9lbmQ9eygpID0+IHtcbiAgICAgICAgICAgICAgICBzY3JvbGxUb1JpZ2h0KCk7XG4gICAgICAgICAgICAgICAgaW5pdEtleWJvYXJkTmF2KCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdXNlOmNsaWNrT3V0c2lkZVxuICAgICAgICAgICAgb246Y2xpY2tfb3V0c2lkZT17Y2FuY2VsU2VsZWN0aW9ufVxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbEJhciBuYXZiYXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyIG1lLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cImZpbHRlclwiIG9uOmlucHV0PXtmaWx0ZXJJdGVtc30gLz5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PHN2ZyB1c2U6cmVzb2x2ZUljb249e3sgaWNvbk5hbWU6IFwic2VhcmNoXCIgfX0gLz48L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8UmVjZW50bHlVc2VkIG9uOnNlbGVjdEl0ZW09e3NlbGVjdFJlY2VudGx5VXNlZH0gLz5cbiAgICAgICAgICAgICAgICA8RmF2b3JpdGVzIG9uOnNlbGVjdEl0ZW09e3NlbGVjdEZhdm9yaXRlfSAvPlxuICAgICAgICAgICAgICAgIHsjaWYgJGNvbmZpZy51cGxvYWRFbmFibGVkfVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBsb2FkIGJ0biBidG4tb3V0bGluZS1saWdodCBidG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb246a2V5ZG93bj17dXBsb2FkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOmNsaWNrPXt1cGxvYWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzdmcgdXNlOnJlc29sdmVJY29uPXt7IGljb25OYW1lOiBcInVwbG9hZFwiIH19IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge190KFwidXBsb2FkIHRvICR7Y3VycmVudF9wYXRofVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfcGF0aDogJGN1cnJlbnRQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfTwvYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayB0ZXh0LXdoaXRlIG1zLWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBvbjpjbGlja3xwcmV2ZW50RGVmYXVsdD17KCkgPT4gY2FuY2VsU2VsZWN0aW9uKCl9XG4gICAgICAgICAgICAgICAgICAgID48c3ZnIHVzZTpyZXNvbHZlSWNvbj17eyBpY29uTmFtZTogXCJ4LWNpcmNsZVwiIH19IC8+PC9idXR0b25cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHsjYXdhaXQgJGNvbnRlbnRJdGVtc31cbiAgICAgICAgICAgICAgICA8cD57X3QoXCJsb2FkaW5nIGNvbnRlbnQgaXRlbXNcIil9PC9wPlxuICAgICAgICAgICAgezp0aGVuIGxldmVsc31cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxDb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgIHsjZWFjaCBsZXZlbHMgYXMgbGV2ZWwsIGkgKGxldmVsLnBhdGgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGV2ZWxDb2x1bW57aSAlIDIgPT0gMCA/ICcgb2RkJyA6ICcgZXZlbid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjpmbHl8bG9jYWw9e3sgZHVyYXRpb246IDMwMCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZXZlbFRvb2xiYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyNpZiBpID09IDAgJiYgJGNvbmZpZy5tb2RlID09IFwiYnJvd3NlXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXhzIHBzLTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246a2V5ZG93bj17KCkgPT4gY2hhbmdlUGF0aCgkY29uZmlnLnJvb3RQYXRoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjpjbGljaz17KCkgPT4gY2hhbmdlUGF0aCgkY29uZmlnLnJvb3RQYXRoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2U6cmVzb2x2ZUljb249e3sgaWNvbk5hbWU6IFwiaG91c2VcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+PC9idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey9pZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyNpZiBsZXZlbC5zZWxlY3RhYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7bGV2ZWwuZGlzcGxheVBhdGh9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17IWlzU2VsZWN0YWJsZShsZXZlbCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246Y2xpY2t8cHJldmVudERlZmF1bHQ9eygpID0+IGFkZEl0ZW0obGV2ZWwpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfdChcInNlbGVjdCAke2xldmVsX3BhdGh9XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWxfcGF0aDogbGV2ZWwuVGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey9pZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxldmVsQWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyNpZiAhbGV2ZWwuZ3JpZFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBidG4teHMgZ3JpZC12aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246Y2xpY2s9eygpID0+IChsZXZlbC5ncmlkVmlldyA9IHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlOnJlc29sdmVJY29uPXt7IGljb25OYW1lOiBcImdyaWRcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezplbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXhzIGdyaWQtdmlld1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOmNsaWNrPXsoKSA9PiAobGV2ZWwuZ3JpZFZpZXcgPSBmYWxzZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2U6cmVzb2x2ZUljb249e3sgaWNvbk5hbWU6IFwibGlzdFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxJdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7I2VhY2ggbGV2ZWwucmVzdWx0cyB8fCBbXSBhcyBpdGVtLCBufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdmVsdGUtaWdub3JlIG1pc3NpbmctZGVjbGFyYXRpb24gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50SXRlbXtuICUgMiA9PSAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJyBvZGQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyBldmVuJ317aXRlbUluUGF0aChpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICcgaW5QYXRoJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnfXskcHJldmlld1VpZHMuaW5kZXhPZihpdGVtLlVJRCkgIT0gLTFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnIHNlbGVjdGVkSXRlbSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ317IWlzU2VsZWN0YWJsZShpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICcgdGV4dC1tdXRlZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PXtufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdXVpZD17aXRlbS5VSUR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246a2V5ZG93bnxwcmV2ZW50RGVmYXVsdD17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleWJvYXJkTmF2aWdhdGlvbihpdGVtLCBlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjpjbGljaz17KGUpID0+IGNsaWNrSXRlbShpdGVtLCBlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7I2lmIGxldmVsLmdyaWRWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1wcmV2aWV3XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7I2lmIGl0ZW0uZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17YCR7aXRlbS5nZXRVUkx9L0BAaW1hZ2VzL2ltYWdlL3RodW1iYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXtpdGVtLlRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7OmVsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2U6cmVzb2x2ZUljb249e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25OYW1lOiBgY29udGVudHR5cGUvJHtpdGVtLnBvcnRhbF90eXBlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFwufCAvZywgXCItXCIpfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5UaXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezplbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIml0ZW0tdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7aXRlbS5wb3J0YWxfdHlwZX06IHtpdGVtLlRpdGxlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2U6cmVzb2x2ZUljb249e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbk5hbWU6IGBjb250ZW50dHlwZS8ke2l0ZW0ucG9ydGFsX3R5cGUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXC58IC9nLCBcIi1cIil9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpdGVtLlRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyNpZiAkY29uZmlnLm1vZGUgPT0gXCJzZWFyY2hcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj48c3BhbiBjbGFzcz1cInNtYWxsXCI+e2l0ZW0ucGF0aH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsjaWYgaXRlbS5pc19mb2xkZXJpc2ggJiYgJGNvbmZpZy5tb2RlID09IFwiYnJvd3NlXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJicm93c2VTdWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2U6cmVzb2x2ZUljb249e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbk5hbWU6IFwiYXJyb3ctcmlnaHQtY2lyY2xlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey9lYWNofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7I2lmIGxldmVsLm1vcmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb2FkbW9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1sZXZlbC1wYXRoPXtsZXZlbC5wYXRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbGV2ZWwtbmV4dC1wYWdlPXtwYXJzZUludChsZXZlbC5wYWdlKSArIDF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlOmxvYWRNb3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXItYm9yZGVyXCIgcm9sZT1cInN0YXR1c1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsjaWYgbGV2ZWwudG90YWwgPT0gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50SXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntfdChcIm5vIHJlc3VsdHMgZm91bmRcIil9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgey9lYWNofVxuICAgICAgICAgICAgICAgICAgICB7I2lmIHByZXZpZXdJdGVtPy5VSUQgJiYgJHByZXZpZXdVaWRzLmxlbmd0aCA9PSAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxUb29sYmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17IWlzU2VsZWN0YWJsZShwcmV2aWV3SXRlbSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjpjbGlja3xwcmV2ZW50RGVmYXVsdD17KCkgPT4gYWRkSXRlbShwcmV2aWV3SXRlbSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e190KFwic2VsZWN0ICR7cHJldmlld19wYXRofVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlld19wYXRoOiBwcmV2aWV3SXRlbS5wYXRoLnNwbGl0KFwiL1wiKS5wb3AoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfTwvYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7I2lmIHByZXZpZXdJdGVtLmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld0ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJ7cHJldmlld0l0ZW0uZ2V0VVJMfS9AQGltYWdlcy9pbWFnZS9wcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXtwcmV2aWV3SXRlbS5UaXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHs6ZWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3SWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlOnJlc29sdmVJY29uPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uTmFtZTogYGNvbnRlbnR0eXBlLyR7cHJldmlld0l0ZW0ucG9ydGFsX3R5cGUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXC58IC9nLCBcIi1cIil9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND57cHJldmlld0l0ZW0uVGl0bGV9PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3ByZXZpZXdJdGVtLkRlc2NyaXB0aW9ufTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7L2lmfVxuICAgICAgICAgICAgICAgICAgICB7I2lmICRwcmV2aWV3VWlkcy5sZW5ndGggPiAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxUb29sYmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjpjbGlja3xwcmV2ZW50RGVmYXVsdD17YWRkU2VsZWN0ZWRJdGVtc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57X3QoXCJhZGQgc2VsZWN0ZWQgaXRlbXNcIil9PC9idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZTpyZXNvbHZlSWNvbj17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25OYW1lOiBcImZpbGVzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgIHsjaWYgc2hvd1VwbG9hZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtd3JhcHBlclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7L2lmfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgezpjYXRjaCBlcnJvcn1cbiAgICAgICAgICAgICAgICA8cCBzdHlsZT1cImNvbG9yOiByZWRcIj57ZXJyb3IubWVzc2FnZX08L3A+XG4gICAgICAgICAgICB7L2F3YWl0fVxuICAgICAgICA8L25hdj5cbiAgICA8L2Rpdj5cbnsvaWZ9XG5cbjxzdHlsZT5cbiAgICAuY29udGVudC1icm93c2VyLXBvc2l0aW9uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICB6LWluZGV4OiAxNTAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICB9XG4gICAgLmJ0bi14cyB7XG4gICAgICAgIC0tYnMtYnRuLXBhZGRpbmcteTogMC4xNXJlbTtcbiAgICAgICAgLS1icy1idG4tcGFkZGluZy14OiAwLjVyZW07XG4gICAgICAgIC0tYnMtYnRuLWZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB9XG4gICAgLmNvbnRlbnQtYnJvd3NlciB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIG1pbi13aWR0aDogNTUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpZ2h0LWJnLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci13aWR0aCkgI2ZmZjtcbiAgICAgICAgei1pbmRleDogMTUwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLnRvb2xCYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMC4zMjVyZW0gMC43NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWJzLWxpZ2h0KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgfVxuICAgIC50b29sQmFyIDpnbG9iYWwoc3ZnKSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcbiAgICB9XG4gICAgLmxldmVsQ29sdW1ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZmxleC1ncm93OiAzO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItY29sb3IpIHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5sZXZlbENvbHVtbiB7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci13aWR0aClcbiAgICAgICAgICAgIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmxldmVsVG9vbGJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAwLjM3NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItd2lkdGgpXG4gICAgICAgICAgICB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgICAubGV2ZWxUb29sYmFyID4gLmxldmVsQWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAubGV2ZWxUb29sYmFyID4gYnV0dG9ue1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAubGV2ZWxJdGVtcyB7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgfVxuICAgIC5jb250ZW50SXRlbSB7XG4gICAgICAgIC8qIHBhZGRpbmc6IDFyZW0gMXJlbTsgKi9cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICAgICAgbWluLWhlaWdodDogMnJlbTtcbiAgICB9XG4gICAgLmNvbnRlbnRJdGVtOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAuY29udGVudEl0ZW0uZXZlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LWJnLXJnYiksIC40KTtcbiAgICB9XG4gICAgLmNvbnRlbnRJdGVtLmluUGF0aCxcbiAgICAuY29udGVudEl0ZW06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXByaW1hcnktcmdiKSwgMC4xNSk7XG4gICAgfVxuICAgIC5jb250ZW50SXRlbS5zZWxlY3RlZEl0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICAgIH1cbiAgICAuY29udGVudEl0ZW0gPiAqIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmNvbnRlbnRJdGVtID4gLmJyb3dzZVN1YiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5jb250ZW50SXRlbSAuZ3JpZC1wcmV2aWV3ID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDk1cHg7XG4gICAgICAgIGhlaWdodDogOTVweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuICAgIC5wcmV2aWV3IHtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgLnByZXZpZXcgLmluZm8ge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB3b3JkLXdyYXA6IGFueXdoZXJlO1xuICAgIH1cbiAgICAucHJldmlldyAuaW5mbyAucHJldmlld0ljb24ge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxcmVtIGF1dG87XG4gICAgfVxuICAgIC5wcmV2aWV3IC5pbmZvIC5wcmV2aWV3SWNvbiBzdmcge1xuICAgICAgICB3aWR0aDogNTBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByZXZpZXcgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuMiByZW07XG4gICAgfVxuICAgIC5wcmV2aWV3IGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnVwbG9hZC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgd2lkdGg6IDU5MHB4O1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIH1cbiAgICAubG9hZG1vcmUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgICB9XG48L3N0eWxlPlxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRsQkksMkVBQWtDLENBQzlCLFFBQVEsQ0FBRSxLQUFLLENBQ2YsR0FBRyxDQUFFLENBQUMsQ0FDTixLQUFLLENBQUUsQ0FBQyxDQUNSLE9BQU8sQ0FBRSxJQUFJLENBQ2IsZUFBZSxDQUFFLEdBQUcsQ0FDcEIsT0FBTyxDQUFFLElBQUksQ0FDYixLQUFLLENBQUUsSUFBSSxDQUNYLE1BQU0sQ0FBRSxLQUFLLENBQ2IsZ0JBQWdCLENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hDLENBQ0EsaURBQVEsQ0FDSixrQkFBa0IsQ0FBRSxPQUFPLENBQzNCLGtCQUFrQixDQUFFLE1BQU0sQ0FDMUIsa0JBQWtCLENBQUUsT0FDeEIsQ0FDQSwwREFBaUIsQ0FDYixNQUFNLENBQUUsS0FBSyxDQUNiLFNBQVMsQ0FBRSxLQUFLLENBQ2hCLGdCQUFnQixDQUFFLElBQUksb0JBQW9CLENBQUMsQ0FDM0MsV0FBVyxDQUFFLElBQUksaUJBQWlCLENBQUMsQ0FBQyxJQUFJLGlCQUFpQixD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*/\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".content-browser-selected-items-wrapper.svelte-awokap{display:flex;align-items:start}.content-browser-selected-items.svelte-awokap{list-style:none;background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius) 0 0 var(--bs-border-radius);border:var(--bs-border-style) var(--bs-border-color) var(--bs-border-width);min-height:2.4rem;padding:.5rem .5rem 0 .5rem;flex:1 1 auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@plone/mockup/src/pat/contentbrowser/src/SelectedItems.svelte\"],\"names\":[],\"mappings\":\"AAAA,sDAAA,YAAA,CAAA,iBAAA,CAAA,8CAAA,eAAA,CAAA,kCAAA,CAAA,iEAAA,CAAA,2EAAA,CAAA,iBAAA,CAAA,2BAAA,CAAA,aAAA\",\"sourcesContent\":[\".content-browser-selected-items-wrapper.svelte-awokap{display:flex;align-items:start}.content-browser-selected-items.svelte-awokap{list-style:none;background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius) 0 0 var(--bs-border-radius);border:var(--bs-border-style) var(--bs-border-color) var(--bs-border-width);min-height:2.4rem;padding:0.5rem 0.5rem 0 0.5rem;flex:1 1 auto}\\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0ZWRJdGVtcy5zdmVsdGUiLCJzb3VyY2VzIjpbIlNlbGVjdGVkSXRlbXMuc3ZlbHRlIl0sInNvdXJjZXNDb250ZW50IjpbIjxzY3JpcHQ+XG4gICAgaW1wb3J0IHsgZ2V0Q29udGV4dCwgb25Nb3VudCwgc2V0Q29udGV4dCB9IGZyb20gXCJzdmVsdGVcIjtcbiAgICBpbXBvcnQgeyBnZXRfaXRlbXNfZnJvbV91aWRzIH0gZnJvbSBcIi4vdXRpbHMuanNcIjtcbiAgICBpbXBvcnQgU29ydGFibGUgZnJvbSBcInNvcnRhYmxlanNcIjtcbiAgICBpbXBvcnQgX3QgZnJvbSBcIi4uLy4uLy4uL2NvcmUvaTE4bi13cmFwcGVyXCI7XG4gICAgaW1wb3J0IGV2ZW50cyBmcm9tIFwiQHBhdHRlcm5zbGliL3BhdHRlcm5zbGliL3NyYy9jb3JlL2V2ZW50c1wiO1xuICAgIGltcG9ydCBwbG9uZV9yZWdpc3RyeSBmcm9tIFwiQHBsb25lL3JlZ2lzdHJ5XCI7XG5cbiAgICBsZXQgcmVmO1xuICAgIGxldCBpbml0aWFsaXppbmcgPSB0cnVlO1xuXG4gICAgLy8gZ2V0IHJlYWN0aXZlIGNvbnRleHQgY29uZmlnXG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29udGV4dChcImNvbmZpZ1wiKTtcbiAgICBjb25zdCBmaWVsZElkID0gJGNvbmZpZy5maWVsZElkO1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXNOb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZmllbGRJZCk7XG5cbiAgICAvLyBnZXQgcmVhY3RpdmUgY29udGV4dCBzdG9yZVxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSBnZXRDb250ZXh0KFwic2VsZWN0ZWRJdGVtc1wiKTtcbiAgICBjb25zdCBzZWxlY3RlZFVpZHMgPSBnZXRDb250ZXh0KFwic2VsZWN0ZWRVaWRzXCIpO1xuXG4gICAgLy8gc2hvd0NvbnRlbnRCcm93c2VyIHJlYWN0aXZlIHN0YXRlXG4gICAgY29uc3Qgc2hvd0NvbnRlbnRCcm93c2VyID0gZ2V0Q29udGV4dChcInNob3dDb250ZW50QnJvd3NlclwiKTtcblxuICAgIC8vIGdldCBzZWxlY3RlZEl0ZW0gY29tcG9uZW50IGZyb20gcmVnaXN0cnkuXG4gICAgLy8gdGhlIHJlZ2lzdHJ5IGtleSBjYW4gYmUgY3VzdG9taXplZCB3aXRoIHBhdHRlcm5fb3B0aW9uc1xuICAgIC8vIGlmIGFuIGFkZG9uIHJlZ2lzdGVycyBhIGN1c3RvbSBjb21wb25lbnQgdG8gYSBjdXN0b20ga2V5XG4gICAgY29uc3QgUmVnaXN0ZXJlZFNlbGVjdGVkSXRlbSA9IHBsb25lX3JlZ2lzdHJ5LmdldENvbXBvbmVudChcbiAgICAgICAgJGNvbmZpZy5jb21wb25lbnRSZWdpc3RyeUtleXM/LnNlbGVjdGVkSXRlbSB8fMKgXCJwYXQtY29udGVudGJyb3dzZXIuU2VsZWN0ZWRJdGVtXCJcbiAgICApO1xuXG4gICAgb25Nb3VudChhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IGluaXRpYWxpemVTZWxlY3RlZEl0ZW1zU3RvcmUoKTtcbiAgICAgICAgaW5pdGlhbGl6ZVNvcnRpbmcoKTtcbiAgICAgICAgaW5pdGlhbGl6aW5nID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBmdW5jdGlvbiB1bnNlbGVjdEl0ZW0oaSkge1xuICAgICAgICBzZWxlY3RlZEl0ZW1zLnVwZGF0ZSgobikgPT4ge1xuICAgICAgICAgICAgbi5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICByZXR1cm4gbjtcbiAgICAgICAgfSk7XG4gICAgICAgIHNlbGVjdGVkVWlkcy51cGRhdGUoKCkgPT4gJHNlbGVjdGVkSXRlbXMubWFwKCh4KSA9PiB4LlVJRCkpO1xuICAgIH1cblxuICAgIC8vIHVzZSB0aGlzIGZ1bmN0aW9uIGluIFwiU2VsZWN0ZWRJdGVtXCIgY29tcG9uZW50IHdpdGhcbiAgICAvLyBjb25zdCB1bnNlbGVjdEl0ZW0gPSBnZXRDb250ZXh0KFwidW5zZWxlY3RJdGVtXCIpXG4gICAgc2V0Q29udGV4dChcInVuc2VsZWN0SXRlbVwiLCB1bnNlbGVjdEl0ZW0pO1xuXG4gICAgYXN5bmMgZnVuY3Rpb24gaW5pdGlhbGl6ZVNlbGVjdGVkSXRlbXNTdG9yZSgpIHtcbiAgICAgICAgY29uc3QgaW5pdGlhbFZhbHVlID0gJGNvbmZpZy5zZWxlY3Rpb24ubGVuZ3RoXG4gICAgICAgICAgICA/ICRjb25maWcuc2VsZWN0aW9uXG4gICAgICAgICAgICA6IHNlbGVjdGVkSXRlbXNOb2RlPy52YWx1ZVxuICAgICAgICAgICAgICA/IHNlbGVjdGVkSXRlbXNOb2RlLnZhbHVlLnNwbGl0KCRjb25maWcuc2VwYXJhdG9yKVxuICAgICAgICAgICAgICA6IFtdO1xuXG4gICAgICAgIGlmICghaW5pdGlhbFZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgJHNlbGVjdGVkSXRlbXMgPSBhd2FpdCBnZXRfaXRlbXNfZnJvbV91aWRzKGluaXRpYWxWYWx1ZSwgJGNvbmZpZyk7XG4gICAgICAgIHNlbGVjdGVkVWlkcy51cGRhdGUoKCkgPT4gJHNlbGVjdGVkSXRlbXMubWFwKCh4KSA9PiB4LlVJRCkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluaXRpYWxpemVTb3J0aW5nKCkge1xuICAgICAgICBpZiAoJGNvbmZpZy5tYXhpbXVtU2VsZWN0aW9uU2l6ZSAhPT0gMSAmJiAkc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBTb3J0YWJsZS5jcmVhdGUoXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtc05vZGUucHJldmlvdXNTaWJsaW5nLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICAgICAgICAgIFwiLmNvbnRlbnQtYnJvd3Nlci1zZWxlY3RlZC1pdGVtc1wiLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkcmFnZ2FibGU6IFwiLnNlbGVjdGVkLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAyMDAsXG4gICAgICAgICAgICAgICAgICAgIG9uVXBkYXRlOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNvcnRlZFV1aWRzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGVsIG9mIGUudGFyZ2V0LmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydGVkVXVpZHMucHVzaChlbC5kYXRhc2V0W1widXVpZFwiXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXROb2RlVmFsdWUoc29ydGVkVXVpZHMpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2VsZWN0ZWRVaWRzRnJvbVNlbGVjdGVkSXRlbXMoKSB7XG4gICAgICAgIGxldCBpdGVtcyA9IFtdO1xuICAgICAgICAkc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtcy5wdXNoKGl0ZW0uVUlEKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBpdGVtcztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXROb2RlVmFsdWUoc2VsZWN0ZWRVaWRzKSB7XG4gICAgICAgIGNvbnN0IG5vZGVfdmFsID0gc2VsZWN0ZWRVaWRzLmpvaW4oJGNvbmZpZy5zZXBhcmF0b3IpO1xuICAgICAgICBzZWxlY3RlZEl0ZW1zTm9kZS52YWx1ZSA9IG5vZGVfdmFsO1xuICAgICAgICBzZWxlY3RlZEl0ZW1zTm9kZS5kaXNwYXRjaEV2ZW50KGV2ZW50cy5jaGFuZ2VfZXZlbnQoKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gTG9hZFNlbGVjdGVkSXRlbUNvbXBvbmVudChub2RlLCBwcm9wcykge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBuZXcgUmVnaXN0ZXJlZFNlbGVjdGVkSXRlbS5jb21wb25lbnQoe3RhcmdldDogbm9kZSwgcHJvcHM6IHByb3BzfSk7XG4gICAgfVxuXG4gICAgJDoge1xuICAgICAgICAkc2VsZWN0ZWRJdGVtcztcbiAgICAgICAgaWYgKCRzZWxlY3RlZEl0ZW1zLmxlbmd0aCB8fCAhaW5pdGlhbGl6aW5nKSB7XG4gICAgICAgICAgICBzZXROb2RlVmFsdWUoc2VsZWN0ZWRVaWRzRnJvbVNlbGVjdGVkSXRlbXMoKSk7XG4gICAgICAgICAgICBpbml0aWFsaXplU29ydGluZygpO1xuICAgICAgICB9XG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxkaXZcbiAgICBjbGFzcz1cImNvbnRlbnQtYnJvd3Nlci1zZWxlY3RlZC1pdGVtcy13cmFwcGVyXCJcbiAgICBzdHlsZT1cIndpZHRoOiB7JGNvbmZpZy53aWR0aCB8fCAnYXV0byd9XCJcbiAgICBiaW5kOnRoaXM9e3JlZn1cbj5cbiAgICA8IS0tIHN2ZWx0ZS1pZ25vcmUgYTExeS1jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzIC0tPlxuICAgIDwhLS0gc3ZlbHRlLWlnbm9yZSBhMTF5LW5vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1icm93c2VyLXNlbGVjdGVkLWl0ZW1zXCJcbiAgICAgICAgIG9uOmNsaWNrPXsoKSA9PiAkc2hvd0NvbnRlbnRCcm93c2VyID0gJHNlbGVjdGVkSXRlbXMubGVuZ3RoID8gZmFsc2UgOiB0cnVlIH0+XG4gICAgICAgIHsjaWYgJHNlbGVjdGVkSXRlbXN9XG4gICAgICAgICAgICB7I2VhY2ggJHNlbGVjdGVkSXRlbXMgYXMgc2VsSXRlbSwgaSAoc2VsSXRlbS5VSUQpfVxuICAgICAgICAgICAgICAgIDxkaXYgdXNlOkxvYWRTZWxlY3RlZEl0ZW1Db21wb25lbnQ9e3tpZHg6aSwgaXRlbTpzZWxJdGVtfX0gLz5cbiAgICAgICAgICAgIHsvZWFjaH1cbiAgICAgICAgey9pZn1cbiAgICAgICAgeyNpZiAhJHNlbGVjdGVkSXRlbXN9XG4gICAgICAgICAgICA8cD57X3QoXCJsb2FkaW5nIHNlbGVjdGVkIGl0ZW1zXCIpfTwvcD5cbiAgICAgICAgey9pZn1cbiAgICA8L2Rpdj5cbiAgICA8IS0tIHN2ZWx0ZS1pZ25vcmUgYTExeS1pbnZhbGlkLWF0dHJpYnV0ZSAtLT5cbiAgICA8YVxuICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIGhyZWY9XCIjXCJcbiAgICAgICAgc3R5bGU9XCJib3JkZXItcmFkaXVzOjAgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgMFwiXG4gICAgICAgIG9uOmNsaWNrfHByZXZlbnREZWZhdWx0PXsoKSA9PiAoJHNob3dDb250ZW50QnJvd3NlciA9IHRydWUpfVxuICAgICAgICA+e190KFwiU2VsZWN0XCIpfTwvYVxuICAgID5cbjwvZGl2PlxuXG48c3R5bGU+XG4gICAgLmNvbnRlbnQtYnJvd3Nlci1zZWxlY3RlZC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIH1cbiAgICAuY29udGVudC1icm93c2VyLXNlbGVjdGVkLWl0ZW1zIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpIDAgMCB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgbWluLWhlaWdodDogMi40cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAgMC41cmVtO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG48L3N0eWxlPlxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJJSSxxREFBd0MsQ0FDcEMsT0FBTyxDQUFFLElBQUksQ0FDYixXQUFXLENBQUUsS0FDakIsQ0FDQSw2Q0FBZ0MsQ0FDNUIsVUFBVSxDQUFFLElBQUksQ0FDaEIsZ0JBQWdCLENBQUUsSUFBSSxZQUFZLENBQUMsQ0FDbkMsYUFBYSxDQUFFLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FDbEUsTUFBTSxDQUFFLElBQUksaUJBQWlCLENBQUMsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxDQUM1RSxVQUFVLENBQUUsTUFBTSxDQUNsQixPQUFPLENBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUMvQixJQUFJLENBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUNkIn0=*/\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/*\nAdapted from https://github.com/mattdesl\nDistributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md\n*/\nexport { identity as linear } from '../internal/index.js';\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function backInOut(t) {\n\tconst s = 1.70158 * 1.525;\n\tif ((t *= 2) < 1) return 0.5 * (t * t * ((s + 1) * t - s));\n\treturn 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function backIn(t) {\n\tconst s = 1.70158;\n\treturn t * t * ((s + 1) * t - s);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function backOut(t) {\n\tconst s = 1.70158;\n\treturn --t * t * ((s + 1) * t + s) + 1;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function bounceOut(t) {\n\tconst a = 4.0 / 11.0;\n\tconst b = 8.0 / 11.0;\n\tconst c = 9.0 / 10.0;\n\tconst ca = 4356.0 / 361.0;\n\tconst cb = 35442.0 / 1805.0;\n\tconst cc = 16061.0 / 1805.0;\n\tconst t2 = t * t;\n\treturn t < a\n\t\t? 7.5625 * t2\n\t\t: t < b\n\t\t? 9.075 * t2 - 9.9 * t + 3.4\n\t\t: t < c\n\t\t? ca * t2 - cb * t + cc\n\t\t: 10.8 * t * t - 20.52 * t + 10.72;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function bounceInOut(t) {\n\treturn t < 0.5 ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0)) : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function bounceIn(t) {\n\treturn 1.0 - bounceOut(1.0 - t);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function circInOut(t) {\n\tif ((t *= 2) < 1) return -0.5 * (Math.sqrt(1 - t * t) - 1);\n\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function circIn(t) {\n\treturn 1.0 - Math.sqrt(1.0 - t * t);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function circOut(t) {\n\treturn Math.sqrt(1 - --t * t);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function cubicInOut(t) {\n\treturn t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function cubicIn(t) {\n\treturn t * t * t;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function cubicOut(t) {\n\tconst f = t - 1.0;\n\treturn f * f * f + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function elasticInOut(t) {\n\treturn t < 0.5\n\t\t? 0.5 * Math.sin(((+13.0 * Math.PI) / 2) * 2.0 * t) * Math.pow(2.0, 10.0 * (2.0 * t - 1.0))\n\t\t: 0.5 *\n\t\t\t\tMath.sin(((-13.0 * Math.PI) / 2) * (2.0 * t - 1.0 + 1.0)) *\n\t\t\t\tMath.pow(2.0, -10.0 * (2.0 * t - 1.0)) +\n\t\t\t\t1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function elasticIn(t) {\n\treturn Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function elasticOut(t) {\n\treturn Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function expoInOut(t) {\n\treturn t === 0.0 || t === 1.0\n\t\t? t\n\t\t: t < 0.5\n\t\t? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)\n\t\t: -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function expoIn(t) {\n\treturn t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function expoOut(t) {\n\treturn t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quadInOut(t) {\n\tt /= 0.5;\n\tif (t < 1) return 0.5 * t * t;\n\tt--;\n\treturn -0.5 * (t * (t - 2) - 1);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quadIn(t) {\n\treturn t * t;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quadOut(t) {\n\treturn -t * (t - 2.0);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quartInOut(t) {\n\treturn t < 0.5 ? +8.0 * Math.pow(t, 4.0) : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quartIn(t) {\n\treturn Math.pow(t, 4.0);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quartOut(t) {\n\treturn Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quintInOut(t) {\n\tif ((t *= 2) < 1) return 0.5 * t * t * t * t * t;\n\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quintIn(t) {\n\treturn t * t * t * t * t;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function quintOut(t) {\n\treturn --t * t * t * t * t + 1;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function sineInOut(t) {\n\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function sineIn(t) {\n\tconst v = Math.cos(t * Math.PI * 0.5);\n\tif (Math.abs(v) < 1e-14) return 1;\n\telse return 1 - v;\n}\n\n/**\n * https://svelte.dev/docs/svelte-easing\n * @param {number} t\n * @returns {number}\n */\nexport function sineOut(t) {\n\treturn Math.sin((t * Math.PI) / 2);\n}\n","export default {\n $(selector) {\n if (typeof selector === \"string\") {\n return document.querySelector(selector);\n }\n return selector;\n },\n extend(...args) {\n return Object.assign(...args);\n },\n cumulativeOffset(element) {\n let top = 0;\n let left = 0;\n\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n\n return {\n top: top,\n left: left\n };\n },\n directScroll(element) {\n return element && element !== document && element !== document.body;\n },\n scrollTop(element, value) {\n let inSetter = value !== undefined;\n if (this.directScroll(element)) {\n return inSetter ? (element.scrollTop = value) : element.scrollTop;\n } else {\n return inSetter\n ? (document.documentElement.scrollTop = document.body.scrollTop = value)\n : window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop ||\n 0;\n }\n },\n scrollLeft(element, value) {\n let inSetter = value !== undefined;\n if (this.directScroll(element)) {\n return inSetter ? (element.scrollLeft = value) : element.scrollLeft;\n } else {\n return inSetter\n ? (document.documentElement.scrollLeft = document.body.scrollLeft = value)\n : window.pageXOffset ||\n document.documentElement.scrollLeft ||\n document.body.scrollLeft ||\n 0;\n }\n }\n};\n","import { cubicInOut } from \"svelte/easing\";\nimport { noop, loop, now } from \"svelte/internal\";\nimport _ from \"./helper\";\n\nconst defaultOptions = {\n container: \"body\",\n duration: 500,\n delay: 0,\n offset: 0,\n easing: cubicInOut,\n onStart: noop,\n onDone: noop,\n onAborting: noop,\n scrollX: false,\n scrollY: true\n};\n\nconst _scrollTo = options => {\n let {\n offset,\n duration,\n delay,\n easing,\n x=0,\n y=0,\n scrollX,\n scrollY,\n onStart,\n onDone,\n container,\n onAborting,\n element\n } = options;\n\n if (typeof offset === \"function\") {\n offset = offset();\n }\n\n var cumulativeOffsetContainer = _.cumulativeOffset(container);\n var cumulativeOffsetTarget = element\n ? _.cumulativeOffset(element)\n : { top: y, left: x };\n\n var initialX = _.scrollLeft(container);\n var initialY = _.scrollTop(container);\n\n var targetX =\n cumulativeOffsetTarget.left - cumulativeOffsetContainer.left + offset;\n var targetY =\n cumulativeOffsetTarget.top - cumulativeOffsetContainer.top + offset;\n\n var diffX = targetX - initialX;\n\tvar diffY = targetY - initialY;\n\n let scrolling = true;\n let started = false;\n let start_time = now() + delay;\n let end_time = start_time + duration;\n\n function scrollToTopLeft(element, top, left) {\n if (scrollX) _.scrollLeft(element, left);\n if (scrollY) _.scrollTop(element, top);\n }\n\n function start(delayStart) {\n if (!delayStart) {\n started = true;\n onStart(element, {x, y});\n }\n }\n\n function tick(progress) {\n scrollToTopLeft(\n container,\n initialY + diffY * progress,\n initialX + diffX * progress\n );\n }\n\n function stop() {\n scrolling = false;\n }\n\n loop(now => {\n if (!started && now >= start_time) {\n start(false)\n }\n\n if (started && now >= end_time) {\n tick(1);\n stop();\n onDone(element, {x, y});\n }\n\n if (!scrolling) {\n onAborting(element, {x, y});\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t);\n }\n\n return true;\n });\n\n start(delay);\n\n tick(0);\n\n return stop;\n};\n\nconst proceedOptions = options => {\n\tlet opts = _.extend({}, defaultOptions, options);\n opts.container = _.$(opts.container);\n opts.element = _.$(opts.element);\n return opts;\n};\n\nconst scrollContainerHeight = containerElement => {\n if (\n containerElement &&\n containerElement !== document &&\n containerElement !== document.body\n ) {\n return containerElement.scrollHeight - containerElement.offsetHeight;\n } else {\n let body = document.body;\n let html = document.documentElement;\n\n return Math.max(\n body.scrollHeight,\n body.offsetHeight,\n html.clientHeight,\n html.scrollHeight,\n html.offsetHeight\n );\n }\n};\n\nexport const setGlobalOptions = options => {\n\t_.extend(defaultOptions, options || {});\n};\n\nexport const scrollTo = options => {\n return _scrollTo(proceedOptions(options));\n};\n\nexport const scrollToBottom = options => {\n options = proceedOptions(options);\n\n return _scrollTo(\n _.extend(options, {\n element: null,\n y: scrollContainerHeight(options.container)\n })\n );\n};\n\nexport const scrollToTop = options => {\n options = proceedOptions(options);\n\n return _scrollTo(\n _.extend(options, {\n element: null,\n y: 0\n })\n );\n};\n\nexport const makeScrollToAction = scrollToFunc => {\n return (node, options) => {\n let current = options;\n const handle = e => {\n e.preventDefault();\n scrollToFunc(\n typeof current === \"string\" ? { element: current } : current\n );\n };\n node.addEventListener(\"click\", handle);\n node.addEventListener(\"touchstart\", handle);\n return {\n update(options) {\n current = options;\n },\n destroy() {\n node.removeEventListener(\"click\", handle);\n node.removeEventListener(\"touchstart\", handle);\n }\n };\n };\n};\n\nexport const scrollto = makeScrollToAction(scrollTo);\nexport const scrolltotop = makeScrollToAction(scrollToTop);\nexport const scrolltobottom = makeScrollToAction(scrollToBottom);\n","import { cubicOut, cubicInOut, linear } from '../easing/index.js';\nimport { assign, split_css_unit, is_function } from '../internal/index.js';\n\n/**\n * Animates a `blur` filter alongside an element's opacity.\n *\n * https://svelte.dev/docs/svelte-transition#blur\n * @param {Element} node\n * @param {import('./public').BlurParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function blur(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst f = style.filter === 'none' ? '' : style.filter;\n\tconst od = target_opacity * (1 - opacity);\n\tconst [value, unit] = split_css_unit(amount);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_t, u) => `opacity: ${target_opacity - od * u}; filter: ${f} blur(${u * value}${unit});`\n\t};\n}\n\n/**\n * Animates the opacity of an element from 0 to the current opacity for `in` transitions and from the current opacity to 0 for `out` transitions.\n *\n * https://svelte.dev/docs/svelte-transition#fade\n * @param {Element} node\n * @param {import('./public').FadeParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function fade(node, { delay = 0, duration = 400, easing = linear } = {}) {\n\tconst o = +getComputedStyle(node).opacity;\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t) => `opacity: ${t * o}`\n\t};\n}\n\n/**\n * Animates the x and y positions and the opacity of an element. `in` transitions animate from the provided values, passed as parameters to the element's default values. `out` transitions animate from the element's default values to the provided values.\n *\n * https://svelte.dev/docs/svelte-transition#fly\n * @param {Element} node\n * @param {import('./public').FlyParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function fly(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst transform = style.transform === 'none' ? '' : style.transform;\n\tconst od = target_opacity * (1 - opacity);\n\tconst [xValue, xUnit] = split_css_unit(x);\n\tconst [yValue, yUnit] = split_css_unit(y);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * xValue}${xUnit}, ${(1 - t) * yValue}${yUnit});\n\t\t\topacity: ${target_opacity - od * u}`\n\t};\n}\n\n/**\n * Slides an element in and out.\n *\n * https://svelte.dev/docs/svelte-transition#slide\n * @param {Element} node\n * @param {import('./public').SlideParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function slide(node, { delay = 0, duration = 400, easing = cubicOut, axis = 'y' } = {}) {\n\tconst style = getComputedStyle(node);\n\tconst opacity = +style.opacity;\n\tconst primary_property = axis === 'y' ? 'height' : 'width';\n\tconst primary_property_value = parseFloat(style[primary_property]);\n\tconst secondary_properties = axis === 'y' ? ['top', 'bottom'] : ['left', 'right'];\n\tconst capitalized_secondary_properties = secondary_properties.map(\n\t\t(e) => `${e[0].toUpperCase()}${e.slice(1)}`\n\t);\n\tconst padding_start_value = parseFloat(style[`padding${capitalized_secondary_properties[0]}`]);\n\tconst padding_end_value = parseFloat(style[`padding${capitalized_secondary_properties[1]}`]);\n\tconst margin_start_value = parseFloat(style[`margin${capitalized_secondary_properties[0]}`]);\n\tconst margin_end_value = parseFloat(style[`margin${capitalized_secondary_properties[1]}`]);\n\tconst border_width_start_value = parseFloat(\n\t\tstyle[`border${capitalized_secondary_properties[0]}Width`]\n\t);\n\tconst border_width_end_value = parseFloat(\n\t\tstyle[`border${capitalized_secondary_properties[1]}Width`]\n\t);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t) =>\n\t\t\t'overflow: hidden;' +\n\t\t\t`opacity: ${Math.min(t * 20, 1) * opacity};` +\n\t\t\t`${primary_property}: ${t * primary_property_value}px;` +\n\t\t\t`padding-${secondary_properties[0]}: ${t * padding_start_value}px;` +\n\t\t\t`padding-${secondary_properties[1]}: ${t * padding_end_value}px;` +\n\t\t\t`margin-${secondary_properties[0]}: ${t * margin_start_value}px;` +\n\t\t\t`margin-${secondary_properties[1]}: ${t * margin_end_value}px;` +\n\t\t\t`border-${secondary_properties[0]}-width: ${t * border_width_start_value}px;` +\n\t\t\t`border-${secondary_properties[1]}-width: ${t * border_width_end_value}px;`\n\t};\n}\n\n/**\n * Animates the opacity and scale of an element. `in` transitions animate from an element's current (default) values to the provided values, passed as parameters. `out` transitions animate from the provided values to an element's default values.\n *\n * https://svelte.dev/docs/svelte-transition#scale\n * @param {Element} node\n * @param {import('./public').ScaleParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function scale(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst transform = style.transform === 'none' ? '' : style.transform;\n\tconst sd = 1 - start;\n\tconst od = target_opacity * (1 - opacity);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - sd * u});\n\t\t\topacity: ${target_opacity - od * u}\n\t\t`\n\t};\n}\n\n/**\n * Animates the stroke of an SVG element, like a snake in a tube. `in` transitions begin with the path invisible and draw the path to the screen over time. `out` transitions start in a visible state and gradually erase the path. `draw` only works with elements that have a `getTotalLength` method, like `` and ``.\n *\n * https://svelte.dev/docs/svelte-transition#draw\n * @param {SVGElement & { getTotalLength(): number }} node\n * @param {import('./public').DrawParams} [params]\n * @returns {import('./public').TransitionConfig}\n */\nexport function draw(node, { delay = 0, speed, duration, easing = cubicInOut } = {}) {\n\tlet len = node.getTotalLength();\n\tconst style = getComputedStyle(node);\n\tif (style.strokeLinecap !== 'butt') {\n\t\tlen += parseInt(style.strokeWidth);\n\t}\n\tif (duration === undefined) {\n\t\tif (speed === undefined) {\n\t\t\tduration = 800;\n\t\t} else {\n\t\t\tduration = len / speed;\n\t\t}\n\t} else if (typeof duration === 'function') {\n\t\tduration = duration(len);\n\t}\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_, u) => `\n\t\t\tstroke-dasharray: ${len};\n\t\t\tstroke-dashoffset: ${u * len};\n\t\t`\n\t};\n}\n\n/**\n * The `crossfade` function creates a pair of [transitions](https://svelte.dev/docs#template-syntax-element-directives-transition-fn) called `send` and `receive`. When an element is 'sent', it looks for a corresponding element being 'received', and generates a transition that transforms the element to its counterpart's position and fades it out. When an element is 'received', the reverse happens. If there is no counterpart, the `fallback` transition is used.\n *\n * https://svelte.dev/docs/svelte-transition#crossfade\n * @param {import('./public').CrossfadeParams & {\n * \tfallback?: (node: Element, params: import('./public').CrossfadeParams, intro: boolean) => import('./public').TransitionConfig;\n * }} params\n * @returns {[(node: any, params: import('./public').CrossfadeParams & { key: any; }) => () => import('./public').TransitionConfig, (node: any, params: import('./public').CrossfadeParams & { key: any; }) => () => import('./public').TransitionConfig]}\n */\nexport function crossfade({ fallback, ...defaults }) {\n\t/** @type {Map} */\n\tconst to_receive = new Map();\n\t/** @type {Map} */\n\tconst to_send = new Map();\n\t/**\n\t * @param {Element} from_node\n\t * @param {Element} node\n\t * @param {import('./public').CrossfadeParams} params\n\t * @returns {import('./public').TransitionConfig}\n\t */\n\tfunction crossfade(from_node, node, params) {\n\t\tconst {\n\t\t\tdelay = 0,\n\t\t\tduration = (d) => Math.sqrt(d) * 30,\n\t\t\teasing = cubicOut\n\t\t} = assign(assign({}, defaults), params);\n\t\tconst from = from_node.getBoundingClientRect();\n\t\tconst to = node.getBoundingClientRect();\n\t\tconst dx = from.left - to.left;\n\t\tconst dy = from.top - to.top;\n\t\tconst dw = from.width / to.width;\n\t\tconst dh = from.height / to.height;\n\t\tconst d = Math.sqrt(dx * dx + dy * dy);\n\t\tconst style = getComputedStyle(node);\n\t\tconst transform = style.transform === 'none' ? '' : style.transform;\n\t\tconst opacity = +style.opacity;\n\t\treturn {\n\t\t\tdelay,\n\t\t\tduration: is_function(duration) ? duration(d) : duration,\n\t\t\teasing,\n\t\t\tcss: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${\n\t\t\t\tt + (1 - t) * dh\n\t\t\t});\n\t\t\t`\n\t\t};\n\t}\n\n\t/**\n\t * @param {Map} items\n\t * @param {Map} counterparts\n\t * @param {boolean} intro\n\t * @returns {(node: any, params: import('./public').CrossfadeParams & { key: any; }) => () => import('./public').TransitionConfig}\n\t */\n\tfunction transition(items, counterparts, intro) {\n\t\treturn (node, params) => {\n\t\t\titems.set(params.key, node);\n\t\t\treturn () => {\n\t\t\t\tif (counterparts.has(params.key)) {\n\t\t\t\t\tconst other_node = counterparts.get(params.key);\n\t\t\t\t\tcounterparts.delete(params.key);\n\t\t\t\t\treturn crossfade(other_node, node, params);\n\t\t\t\t}\n\t\t\t\t// if the node is disappearing altogether\n\t\t\t\t// (i.e. wasn't claimed by the other list)\n\t\t\t\t// then we need to supply an outro\n\t\t\t\titems.delete(params.key);\n\t\t\t\treturn fallback && fallback(node, params, intro);\n\t\t\t};\n\t\t};\n\t}\n\treturn [transition(to_send, to_receive, false), transition(to_receive, to_send, true)];\n}\n","import {\n\trun_all,\n\tsubscribe,\n\tnoop,\n\tsafe_not_equal,\n\tis_function,\n\tget_store_value\n} from '../internal/index.js';\n\nconst subscriber_queue = [];\n\n/**\n * Creates a `Readable` store that allows reading by subscription.\n *\n * https://svelte.dev/docs/svelte-store#readable\n * @template T\n * @param {T} [value] initial value\n * @param {import('./public.js').StartStopNotifier} [start]\n * @returns {import('./public.js').Readable}\n */\nexport function readable(value, start) {\n\treturn {\n\t\tsubscribe: writable(value, start).subscribe\n\t};\n}\n\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n *\n * https://svelte.dev/docs/svelte-store#writable\n * @template T\n * @param {T} [value] initial value\n * @param {import('./public.js').StartStopNotifier} [start]\n * @returns {import('./public.js').Writable}\n */\nexport function writable(value, start = noop) {\n\t/** @type {import('./public.js').Unsubscriber} */\n\tlet stop;\n\t/** @type {Set>} */\n\tconst subscribers = new Set();\n\t/** @param {T} new_value\n\t * @returns {void}\n\t */\n\tfunction set(new_value) {\n\t\tif (safe_not_equal(value, new_value)) {\n\t\t\tvalue = new_value;\n\t\t\tif (stop) {\n\t\t\t\t// store is ready\n\t\t\t\tconst run_queue = !subscriber_queue.length;\n\t\t\t\tfor (const subscriber of subscribers) {\n\t\t\t\t\tsubscriber[1]();\n\t\t\t\t\tsubscriber_queue.push(subscriber, value);\n\t\t\t\t}\n\t\t\t\tif (run_queue) {\n\t\t\t\t\tfor (let i = 0; i < subscriber_queue.length; i += 2) {\n\t\t\t\t\t\tsubscriber_queue[i][0](subscriber_queue[i + 1]);\n\t\t\t\t\t}\n\t\t\t\t\tsubscriber_queue.length = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {import('./public.js').Updater} fn\n\t * @returns {void}\n\t */\n\tfunction update(fn) {\n\t\tset(fn(value));\n\t}\n\n\t/**\n\t * @param {import('./public.js').Subscriber} run\n\t * @param {import('./private.js').Invalidator} [invalidate]\n\t * @returns {import('./public.js').Unsubscriber}\n\t */\n\tfunction subscribe(run, invalidate = noop) {\n\t\t/** @type {import('./private.js').SubscribeInvalidateTuple} */\n\t\tconst subscriber = [run, invalidate];\n\t\tsubscribers.add(subscriber);\n\t\tif (subscribers.size === 1) {\n\t\t\tstop = start(set, update) || noop;\n\t\t}\n\t\trun(value);\n\t\treturn () => {\n\t\t\tsubscribers.delete(subscriber);\n\t\t\tif (subscribers.size === 0 && stop) {\n\t\t\t\tstop();\n\t\t\t\tstop = null;\n\t\t\t}\n\t\t};\n\t}\n\treturn { set, update, subscribe };\n}\n\n/**\n * Derived value store by synchronizing one or more readable stores and\n * applying an aggregation function over its input values.\n *\n * https://svelte.dev/docs/svelte-store#derived\n * @template {import('./private.js').Stores} S\n * @template T\n * @overload\n * @param {S} stores - input stores\n * @param {(values: import('./private.js').StoresValues, set: (value: T) => void, update: (fn: import('./public.js').Updater) => void) => import('./public.js').Unsubscriber | void} fn - function callback that aggregates the values\n * @param {T} [initial_value] - initial value\n * @returns {import('./public.js').Readable}\n */\n\n/**\n * Derived value store by synchronizing one or more readable stores and\n * applying an aggregation function over its input values.\n *\n * https://svelte.dev/docs/svelte-store#derived\n * @template {import('./private.js').Stores} S\n * @template T\n * @overload\n * @param {S} stores - input stores\n * @param {(values: import('./private.js').StoresValues) => T} fn - function callback that aggregates the values\n * @param {T} [initial_value] - initial value\n * @returns {import('./public.js').Readable}\n */\n\n/**\n * @template {import('./private.js').Stores} S\n * @template T\n * @param {S} stores\n * @param {Function} fn\n * @param {T} [initial_value]\n * @returns {import('./public.js').Readable}\n */\nexport function derived(stores, fn, initial_value) {\n\tconst single = !Array.isArray(stores);\n\t/** @type {Array>} */\n\tconst stores_array = single ? [stores] : stores;\n\tif (!stores_array.every(Boolean)) {\n\t\tthrow new Error('derived() expects stores as input, got a falsy value');\n\t}\n\tconst auto = fn.length < 2;\n\treturn readable(initial_value, (set, update) => {\n\t\tlet started = false;\n\t\tconst values = [];\n\t\tlet pending = 0;\n\t\tlet cleanup = noop;\n\t\tconst sync = () => {\n\t\t\tif (pending) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcleanup();\n\t\t\tconst result = fn(single ? values[0] : values, set, update);\n\t\t\tif (auto) {\n\t\t\t\tset(result);\n\t\t\t} else {\n\t\t\t\tcleanup = is_function(result) ? result : noop;\n\t\t\t}\n\t\t};\n\t\tconst unsubscribers = stores_array.map((store, i) =>\n\t\t\tsubscribe(\n\t\t\t\tstore,\n\t\t\t\t(value) => {\n\t\t\t\t\tvalues[i] = value;\n\t\t\t\t\tpending &= ~(1 << i);\n\t\t\t\t\tif (started) {\n\t\t\t\t\t\tsync();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tpending |= 1 << i;\n\t\t\t\t}\n\t\t\t)\n\t\t);\n\t\tstarted = true;\n\t\tsync();\n\t\treturn function stop() {\n\t\t\trun_all(unsubscribers);\n\t\t\tcleanup();\n\t\t\t// We need to set this to false because callbacks can still happen despite having unsubscribed:\n\t\t\t// Callbacks might already be placed in the queue which doesn't know it should no longer\n\t\t\t// invoke this derived store.\n\t\t\tstarted = false;\n\t\t};\n\t});\n}\n\n/**\n * Takes a store and returns a new one derived from the old one that is readable.\n *\n * https://svelte.dev/docs/svelte-store#readonly\n * @template T\n * @param {import('./public.js').Readable} store - store to make readonly\n * @returns {import('./public.js').Readable}\n */\nexport function readonly(store) {\n\treturn {\n\t\tsubscribe: store.subscribe.bind(store)\n\t};\n}\n\nexport { get_store_value as get };\n","import { writable, get } from \"svelte/store\";\nimport { request } from \"./utils.js\";\n\nexport default function (config, pathCache) {\n const store = writable([]);\n\n const load = async (query) => {\n let defaults = {\n vocabularyUrl: config.vocabularyUrl,\n attributes: config.attributes,\n pageSize: config.pageSize,\n };\n query = {\n ...defaults,\n ...query,\n }\n if (config.selectableTypes.length) {\n query[\"selectableTypes\"] = config.selectableTypes;\n }\n return await request(query);\n }\n\n const browse = async (path, searchTerm, updateCache) => {\n\n let rootPath = config.rootPath;\n let rootPathParts = rootPath.replace(/^\\/+/, '').split(\"/\");\n let physicalPath = path;\n let hideRootPath = rootPath;\n\n if (!physicalPath.startsWith(rootPath)) {\n // The path from the returned items from \"vocabularyUrl\" are starting\n // relative from the Plone Site. So we need to generate the phyiscalPath here.\n if (rootPathParts.length === 1) {\n physicalPath = rootPath + physicalPath;\n } else {\n // We also have to merge the rootPath and the clicked path correctly for example:\n // rootPath: /Plone/media, clicked path: /media/subfolder\n // has to become:\n // /Plone/media/subfolder\n let pathParts = physicalPath.replace(/^\\/+/, '').split(\"/\");\n let overlapIdx = rootPathParts.length;\n for (let idx = 0; idx < rootPathParts.length; idx++) {\n if (rootPathParts[idx] === pathParts[0]) {\n overlapIdx = idx;\n break;\n }\n }\n hideRootPath = \"/\" + (rootPathParts.filter(it => pathParts.includes(it))).join(\"/\");\n physicalPath = \"/\" + (rootPathParts.slice(1, overlapIdx).concat(pathParts)).join(\"/\");\n }\n }\n\n let paths = [];\n let parts = physicalPath.split(\"/\") || [];\n const maxDepth = Math.min(parts.length, config.maxDepth || 999);\n\n let partsToShow = parts.slice(parts.length - maxDepth, parts.length);\n let partsToHide = parts.slice(0, parts.length - maxDepth);\n const pathPrefix = partsToHide.join(\"/\");\n\n while (partsToShow.length > 0) {\n let sub_path = partsToShow.join(\"/\").replace(/^\\//, \"\");\n const poped = partsToShow.pop();\n sub_path = pathPrefix + ((poped != \"\") ? `/${sub_path}` : \"\");\n if (sub_path && paths.indexOf(sub_path) === -1) paths.push(sub_path);\n if (sub_path == rootPath) {\n // respect rootPath\n break;\n }\n }\n\n const pC = get(pathCache);\n let levels = [];\n let pathCounter = 0;\n\n for (var p of paths) {\n pathCounter++;\n const isFirstPath = pathCounter == 1;\n let level = {};\n if (\n !(p in pC) || // new path not found in cache\n (isFirstPath && searchTerm) || // filtering the level\n updateCache // manual cache update request\n ) {\n let query = {\n path: p,\n };\n\n if (isFirstPath && searchTerm) {\n query[\"searchTerm\"] = \"*\" + searchTerm + \"*\";\n }\n\n level = await load(query);\n\n // check if there is more than the current batch\n level.more = config.pageSize < level.total;\n // save possible search filter for later batch loading\n level.searchTerm = searchTerm;\n level.page = 1;\n level.path = p;\n level.displayPath = p.replace(new RegExp(`^(${hideRootPath}|${rootPath})`), \"\") || \"/\"\n\n // do not update cache when searching\n if (!searchTerm) {\n const levelInfo = await load({\n levelInfoPath: p,\n });\n if (levelInfo.total) {\n level.UID = levelInfo.results[0].UID;\n level.Title = levelInfo.results[0].Title;\n level.portal_type = levelInfo.results[0].portal_type;\n level.getIcon = levelInfo.results[0].getIcon;\n // check if level is selectable (config.selectableTypes)\n level.selectable = (!config.selectableTypes.length || config.selectableTypes.indexOf(levelInfo.results[0].portal_type) != -1);\n }\n level.gridView = false;\n pathCache.update((n) => {\n n[p] = level;\n return n;\n });\n }\n } else {\n level = pC[p];\n }\n levels = [level, ...levels];\n }\n store.set(levels);\n }\n\n const search = async (searchTerm, page) => {\n let query = {\n searchPath: config.rootPath,\n page: page,\n };\n if (searchTerm) {\n if (searchTerm.length < 2) {\n // minimum length of search term\n return;\n }\n query[\"searchTerm\"] = \"*\" + searchTerm + \"*\";\n }\n let level = await load(query);\n level.page = page;\n level.searchTerm = searchTerm;\n\n store.update((levels) => {\n const has_more = (page * config.pageSize) < level.total;\n\n // first time or new search\n if (levels.length == 0 || levels[0].searchTerm != searchTerm) {\n level.more = has_more;\n level.selectable = false;\n level.gridView = false;\n return [level,];\n }\n\n // has more ?\n levels[0].more = has_more;\n levels[0].page = level.page;\n\n // append new batch\n levels[0].results = [\n ...levels[0].results,\n ...level.results,\n ];\n return levels;\n });\n }\n\n const nextBatch = async (p, page, searchTerm) => {\n let query = {\n path: p,\n page: page,\n };\n\n if (searchTerm) {\n query[\"searchTerm\"] = \"*\" + searchTerm + \"*\";\n }\n\n let level = await load(query);\n level.more = (page * config.pageSize) < level.total;\n level.page = page;\n\n store.update((levels) => {\n levels.forEach((l) => {\n if (l.path != p) {\n return l;\n }\n l.page = level.page;\n l.more = level.more;\n l.results = [\n ...l.results,\n ...level.results,\n ]\n });\n return levels;\n });\n }\n\n store.get = async ({\n path = \"\",\n searchTerm = \"\",\n updateCache = false,\n loadMorePath = \"\",\n page = 1,\n }) => {\n if (config.mode === \"search\") {\n await search(searchTerm, page);\n } else if (loadMorePath) {\n const pC = get(pathCache);\n if (!(loadMorePath in pC)) {\n return;\n }\n let level = pC[loadMorePath];\n if (page > level.page) {\n await nextBatch(loadMorePath, page, level.searchTerm);\n }\n } else if (path) {\n await browse(path, searchTerm, updateCache);\n }\n\n };\n\n return store;\n}\n","\n\n{#if $config?.favorites}\n
\n \n \n {_t(\"Favorites\")}\n \n \n
\n{/if}\n","\n\n{#if $config.recentlyUsed && items.length}\n
\n \n \n {_t(\"Recently Used\")}\n \n
    \n {#each items.reverse() as recentlyUsed}\n
  • \n select(recentlyUsed)}\n class=\"dropdown-item\"\n >\n \n {recentlyUsed.Title}\n \n
  • \n {/each}\n
\n
\n{/if}\n","\n import API from \"!../../../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"../../../../../../@patternslib/dev/webpack/style-inserter.js\";\n import setAttributes from \"!../../../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../css-loader/dist/cjs.js!../../../../../../sass-loader/dist/cjs.js!../../../../../../svelte-loader/index.js?cssPath=/Users/peterm/workspace/buildout.coredev-6.1/src/plone.staticresources/node_modules/@plone/mockup/src/pat/contentbrowser/src/ContentBrowser.svelte.1.css!./ContentBrowser.svelte\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn;\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../../css-loader/dist/cjs.js!../../../../../../sass-loader/dist/cjs.js!../../../../../../svelte-loader/index.js?cssPath=/Users/peterm/workspace/buildout.coredev-6.1/src/plone.staticresources/node_modules/@plone/mockup/src/pat/contentbrowser/src/ContentBrowser.svelte.1.css!./ContentBrowser.svelte\";\n export default content && content.locals ? content.locals : undefined;\n","\n\n{#if $showContentBrowser}\n
\n {\n scrollToRight();\n initKeyboardNav();\n }}\n use:clickOutside\n on:click_outside={cancelSelection}\n >\n
\n
\n \n
\n \n \n {#if $config.uploadEnabled}\n
\n \n {_t(\"upload to ${current_path}\", {\n current_path: $currentPath,\n })}\n
\n {/if}\n cancelSelection()}\n >\n
\n {#await $contentItems}\n

{_t(\"loading content items\")}

\n {:then levels}\n
\n {#each levels as level, i (level.path)}\n \n
\n {#if i == 0 && $config.mode == \"browse\"}\n changePath($config.rootPath)}\n on:click={() => changePath($config.rootPath)}\n >\n {/if}\n {#if level.selectable}\n addItem(level)}\n >\n {_t(\"select ${level_path}\", {\n level_path: level.Title,\n })}\n \n {/if}\n
\n {#if !level.gridView}\n (level.gridView = true)}\n >\n \n \n {:else}\n (level.gridView = false)}\n >\n \n \n {/if}\n
\n
\n
\n {#each level.results || [] as item, n}\n \n \n keyboardNavigation(item, e)}\n on:click={(e) => clickItem(item, e)}\n >\n {#if level.gridView}\n
\n {#if item.getIcon}\n \n {:else}\n \n {/if}\n {item.Title}\n
\n {:else}\n \n \n {item.Title}\n {#if $config.mode == \"search\"}\n
{item.path}\n {/if}\n
\n {/if}\n {#if item.is_folderish && $config.mode == \"browse\"}\n
\n \n
\n {/if}\n
\n {/each}\n {#if level.more}\n \n
\n
\n {/if}\n {#if level.total == 0}\n
\n

{_t(\"no results found\")}

\n
\n {/if}\n \n \n {/each}\n {#if previewItem?.UID && $previewUids.length == 1}\n
\n
\n addItem(previewItem)}\n >{_t(\"select ${preview_path}\", {\n preview_path: previewItem.path.split(\"/\").pop(),\n })}\n
\n
\n {#if previewItem.getIcon}\n
\n \n
\n {:else}\n
\n \n
\n {/if}\n

{previewItem.Title}

\n

{previewItem.Description}

\n
\n
\n {/if}\n {#if $previewUids.length > 1}\n
\n
\n {_t(\"add selected items\")}\n
\n
\n \n
\n
\n {/if}\n {#if showUpload}\n
\n {/if}\n \n {:catch error}\n

{error.message}

\n {/await}\n \n \n{/if}\n\n\n","\n import API from \"!../../../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"../../../../../../@patternslib/dev/webpack/style-inserter.js\";\n import setAttributes from \"!../../../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../css-loader/dist/cjs.js!../../../../../../sass-loader/dist/cjs.js!../../../../../../svelte-loader/index.js?cssPath=/Users/peterm/workspace/buildout.coredev-6.1/src/plone.staticresources/node_modules/@plone/mockup/src/pat/contentbrowser/src/SelectedItems.svelte.2.css!./SelectedItems.svelte\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn;\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../../css-loader/dist/cjs.js!../../../../../../sass-loader/dist/cjs.js!../../../../../../svelte-loader/index.js?cssPath=/Users/peterm/workspace/buildout.coredev-6.1/src/plone.staticresources/node_modules/@plone/mockup/src/pat/contentbrowser/src/SelectedItems.svelte.2.css!./SelectedItems.svelte\";\n export default content && content.locals ? content.locals : undefined;\n","\n\n\n \n \n
$showContentBrowser = $selectedItems.length ? false : true }>\n {#if $selectedItems}\n {#each $selectedItems as selItem, i (selItem.UID)}\n
\n {/each}\n {/if}\n {#if !$selectedItems}\n

{_t(\"loading selected items\")}

\n {/if}\n
\n \n ($showContentBrowser = true)}\n >{_t(\"Select\")}\n
\n\n\n","import { setContext } from 'svelte';\nimport { writable } from 'svelte/store';\n\nexport const gridView = writable(false);\n\nexport function setCurrentPath() {\n let currentPath = writable('');\n setContext('currentPath', currentPath);\n}\n\nexport function setPathCache() {\n let pathCache = writable({});\n setContext('pathCache', pathCache);\n}\n\n// reactive context stores\nexport function setSelectedItems() {\n let selItems = writable([]);\n setContext('selectedItems', selItems);\n}\n\nexport function setConfig() {\n let config = writable({});\n setContext('config', config);\n}\n\nexport function setShowContentBrowser() {\n let showContentBrowser = writable(false);\n setContext('showContentBrowser', showContentBrowser);\n}\n\nexport function setSelectedUids() {\n let selUids = writable([]);\n setContext(\"selectedUids\", selUids);\n}\n\nexport function setPreviewUids() {\n let prevUids = writable([]);\n setContext(\"previewUids\", prevUids);\n}\n","\n\n\n\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","t","f","$","selector","document","querySelector","extend","args","Object","assign","cumulativeOffset","element","top","left","offsetTop","offsetLeft","offsetParent","directScroll","body","scrollTop","value","inSetter","undefined","this","documentElement","window","pageYOffset","scrollLeft","pageXOffset","defaultOptions","container","duration","delay","offset","easing","Math","pow","onStart","onDone","onAborting","scrollX","scrollY","_scrollTo","options","x","y","cumulativeOffsetContainer","cumulativeOffsetTarget","initialX","initialY","targetX","targetY","diffX","diffY","scrolling","started","start_time","end_time","start","delayStart","tick","progress","scrollToTopLeft","stop","now","proceedOptions","opts","scrollContainerHeight","containerElement","scrollHeight","offsetHeight","html","max","clientHeight","scrollTo","makeScrollToAction","scrollToFunc","node","current","handle","e","preventDefault","addEventListener","update","destroy","removeEventListener","fly","opacity","style","getComputedStyle","target_opacity","transform","od","xValue","xUnit","yValue","yUnit","css","u","subscriber_queue","writable","subscribers","Set","set","new_value","run_queue","length","subscriber","i","fn","subscribe","run","invalidate","add","size","delete","config","pathCache","store","load","async","query","vocabularyUrl","attributes","pageSize","selectableTypes","request","get","path","searchTerm","updateCache","loadMorePath","page","_ref","mode","searchPath","rootPath","level","levels","has_more","total","more","selectable","gridView","results","search","pC","p","forEach","l","nextBatch","rootPathParts","replace","split","physicalPath","hideRootPath","startsWith","pathParts","overlapIdx","idx","filter","it","includes","join","slice","concat","paths","parts","maxDepth","min","partsToShow","pathPrefix","sub_path","pop","indexOf","pathCounter","isFirstPath","displayPath","RegExp","levelInfo","levelInfoPath","UID","Title","portal_type","getIcon","n","browse","favorites","iconName","title","dispatch","select","item","favorite","reverse","getURL","toLowerCase","recentlyUsed","items","$config","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","uploadEnabled","current_path","message","level_path","is_folderish","parseInt","preview_path","Description","currentPath","showContentBrowser","selectedItems","selectedUids","previewUids","contentItems","showUpload","previewItem","keyboardNavInitialized","shiftKey","vw","clientWidth","innerWidth","updatePreview","data","uuid","action","$previewUids","maximumSelectionSize","splice","changePath","folderPath","scrollToRight","showPreview","clickItem","levelWrapper","currentTarget","closest","prevSelection","querySelectorAll","el","children","dataset","metaKey","ctrlKey","map","classList","remove","focus","initKeyboardNav","possibleFocusEls","keyboardNavigation","key","cancelSelection","nextElementSibling","contains","click","previousElementSibling","currCol","target","nxtCol","prevCol","isSelectable","addItem","addSelectedItems","$selectedItems","$showContentBrowser","previewItems","$selectedUids","scrollContainer","scrollWidth","filterItems","utils","debounce","$currentPath","timeout","uploadEl","baseUrl","rootUrl","relativePath","allowPathSelection","hiddenInputContainer","success","fileUpload","obj","event","detail","response","alert","observer","IntersectionObserver","entries","entry","isIntersecting","levelPath","levelNextPage","threshold","root","margin","setTimeout","observe","width","ref","initializing","fieldId","selectedItemsNode","getElementById","RegisteredSelectedItem","componentRegistryKeys","selectedItem","initializeSorting","previousSibling","draggable","animation","onUpdate","sortedUuids","setNodeValue","node_val","separator","dispatchEvent","events","change_event","initialValue","selection","initializeSelectedItemsStore","selectedUidsFromSelectedItems","props","component","contextPath","basePath","upload","recentlyUsedKey","recentlyUsedMaxItems","bSize","log","getLogger","setContext","setCurrentPath","setConfig","setPathCache","selItems","setSelectedItems","setShowContentBrowser","selUids","setSelectedUids","prevUids","setPreviewUids","vocabPath","URL","pathname","debug","JSON","stringify"],"sourceRoot":""} \ No newline at end of file diff --git a/src/plone/staticresources/static/bundle-plone/chunks/43923.203d7fc7697c0bf8de01.min.js b/src/plone/staticresources/static/bundle-plone/chunks/43923.15041af8c75e9ff23adc.min.js similarity index 50% rename from src/plone/staticresources/static/bundle-plone/chunks/43923.203d7fc7697c0bf8de01.min.js rename to src/plone/staticresources/static/bundle-plone/chunks/43923.15041af8c75e9ff23adc.min.js index 35a3188f5..fb6c44350 100644 --- a/src/plone/staticresources/static/bundle-plone/chunks/43923.203d7fc7697c0bf8de01.min.js +++ b/src/plone/staticresources/static/bundle-plone/chunks/43923.15041af8c75e9ff23adc.min.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkplone_staticresources=self.webpackChunkplone_staticresources||[]).push([[43923],{43923:function(t,e,n){n.r(e),n.d(e,{default:function(){return E}});var i=n(71553),a=n(44563),l=n(59329),o=n(35686),s=n.n(o),r=n(40705),c=n.n(r),m=n(75199),p=n.n(m),d=(n(10906),n(53902),'
\n
\n

<%- insertHeading %>

\n <% if(_.contains(linkTypes, \'uploadImage\')){ %>\n

<%- insertImageHelp %>

\n <% } %>\n\n
\n\n <% if(_.contains(linkTypes, \'image\')){ %>\n
\n <%- internalImageText %>\n
\n
\n \n
\n
\n \n \n
\n
\n
\n <% } %>\n\n <% if(_.contains(linkTypes, \'externalImage\')){ %>\n
\n <%- externalImage %>\n
\n
\n \n \n
\n
\n
\n <% } %>\n\n
\x3c!-- / tabs --\x3e\n\n
\n
\n \n \n
\n
\n \n \n
\n <% if(imageCaptioningEnabled){ %>\n
\n \n \n
\n
\n \n \n
\n <% } %>\n
\n \n \n
\n
\n \n \n
\n
\n\n \n \n\n
\n
\n'),h='
\n
\n

<%- insertHeading %>

\n <% if(_.contains(linkTypes, \'upload\')){ %>\n

<%- insertLinkHelp %>

\n <% } %>\n\n
\n\n <% if(_.contains(linkTypes, \'internal\')){ %>\n
\n <%- internal %>\n
\n
\n \x3c!-- this gives the name to the "linkType" --\x3e\n \n
\n
\n
\n <% } %>\n\n <% if(_.contains(linkTypes, \'external\')){ %>\n
\n <%- external %>\n
\n \n \n
\n
\n <% } %>\n\n <% if(_.contains(linkTypes, \'email\')){ %>\n \n <% } %>\n\n <% if(_.contains(linkTypes, \'anchor\')){ %>\n
\n <%- anchor %>\n
\n
\n \n
\n \n
\n
\n
\n
\n <% } %>\n\n
\x3c!-- / tabs --\x3e\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n \n \n
\n
\n',g=i.A.extend({name:"linktype",trigger:".pat-linktype-dummy",defaults:{linkModal:null},init:function(){this.linkModal=this.options.linkModal,this.tinypattern=this.options.tinypattern,this.tiny=this.tinypattern.tiny,this.dom=this.tiny.dom},getEl:function(){return this.el.querySelector("input")},value:function(){return this.getEl().value.trim()},toUrl:function(){return this.value()},load:function(t){let e=this.tiny.dom.getAttrib(t,"data-val");this.set(e)},set:function(t){this.getEl().setAttribute("value",t)},attributes:function(){return{"data-val":this.value()}},updateRelatedItems:function(){}}),u=g.extend({name:"externallinktype",trigger:".pat-externallinktype-dummy",init:function(){g.prototype.init.call(this),this.getEl().addEventListener("change",(function(){var t=s()(this).val();new RegExp("https?://").test(t)||-1!==s()(this).val().split("/")[0].indexOf(".")&&s()(this).val("http://"+t)}))},load:function(t){let e=this.tiny.dom.getAttrib(t,"data-val");this.set(e)}}),y=g.extend({name:"internallinktype",trigger:".pat-internallinktype-dummy",init:async function(){this.getEl()&&(g.prototype.init.call(this),await this.createContentBrowser())},getEl:function(){return this.el.querySelector("input")},createContentBrowser:async function(){var t={selection:[],...this.linkModal.options?.relatedItems};t["maximum-selection-size"]=1,t.upload=1;const e=this.getEl(),i=this.tiny.selection.getNode(),a=this.tiny.dom.getAttrib(i,"data-linktype");"internal"!==a&&"image"!==a||t.selection.push(this.tiny.dom.getAttrib(i,"data-val"));const l=(await Promise.resolve().then(n.bind(n,306))).default;this.contentBrowserPattern=new l(e,t)},toUrl:function(){var t=this.value();return t?this.tinypattern.generateUrl(t):null}}),f=g.extend({name:"uploadlinktype",trigger:".pat-uploadlinktype-dummy",getDelegatedLinkType:function(){return"uploadImage"===this.linkModal.linkType?this.linkModal.linkTypes.image:this.linkModal.linkTypes.internal},toUrl:function(){return this.getDelegatedLinkType().toUrl()},attributes:function(){return this.getDelegatedLinkType().attributes()},set:function(t){return this.getDelegatedLinkType().set(t)},load:function(t){return this.getDelegatedLinkType().load(t)},value:function(){return this.getDelegatedLinkType().value()}}),k=y.extend({name:"imagelinktype",trigger:".pat-imagelinktype-dummy",toUrl:function(){var t=this.value();return this.tinypattern.generateImageUrl(t,this.linkModal.getScaleFromSrcset(this.linkModal.$scale.val()))}}),v=g.extend({name:"emaillinktype",trigger:".pat-emaillinktype-dummy",toUrl:function(){var t=this.value();if(t){var e=this.getSubject(),n="mailto:"+t;return e&&(n+="?subject="+e),n}return null},load:function(t){g.prototype.load.apply(this,[t]),this.linkModal.$subject.val(this.tiny.dom.getAttrib(t,"data-subject"))},getSubject:function(){return this.linkModal.$subject.val()},attributes:function(){var t=g.prototype.attributes.call(this);return t["data-subject"]=this.getSubject(),t}}),x=g.extend({name:"anchorlinktype",trigger:".pat-anchorlinktype-dummy",init:function(){g.prototype.init.call(this),this.$select=this.$el.find("select"),this.anchorNodes=[],this.anchorData=[],this.populate()},value:function(){var t=this.$select.select2("data");return t&&"object"==typeof t&&(t=t.id),t},populate:function(){var t,e,n,i,a,l=this;l.$select.find("option").remove(),l.anchorNodes=[],l.anchorData=[];var o=l.tiny.dom.select(".mceItemAnchor,.mce-item-anchor");for(e=0;e0)for(e=0;e0)for(e=0;e'+m.title+"")}else l.$select.append("")},getIndex:function(t){for(var e=0;e'+n.innerHTML),"#"+i.name}return null},set:function(t){var e=this.getIndex(t);this.$select.select2("data",""+e)}});const b=t=>{document.getElementById(t.id)["pattern-tinymce"].instance.addImageClicked()},T=t=>{document.getElementById(t.id)["pattern-tinymce"].instance.addLinkClicked()};p().PluginManager.add("ploneimage",((t,e)=>{t.ui.registry.addButton("ploneimage",{icon:"image",text:"Insert image",tooltip:"Insert/edit image",onAction:()=>{b(t)}}),t.ui.registry.addMenuItem("ploneimage",{icon:"image",text:"Insert image",onAction:()=>{b(t)}})})),p().PluginManager.add("plonelink",(function(t,e){t.ui.registry.addButton("plonelink",{icon:"link",tooltip:"Insert/edit link",shortcut:"Ctrl+K",onAction:()=>{T(t)},stateSelector:"a[href]"}),t.ui.registry.addMenuItem("plonelink",{icon:"link",text:"Insert link",shortcut:"Ctrl+K",onAction:()=>{T(t)},stateSelector:"a[href]"}),t.ui.registry.addButton("unlink",{icon:"unlink",tooltip:"Remove link",onAction:e=>{t.execCommand("unlink")},stateSelector:"a[href]"})}));var E=i.A.extend({name:"linkmodal",trigger:".pat-linkmodal",defaults:{anchorSelector:"h1,h2,h3",linkTypes:[],initialLinkType:"internal",text:{insertHeading:"Insert Link"},linkTypeClassMapping:{internal:y,upload:f,external:u,email:v,anchor:x,image:k,uploadImage:f,externalImage:g}},linkTypeTemplateMapping:{internal:h,upload:h,external:h,email:h,anchor:h,image:d,uploadImage:d,externalImage:d},template:function(t){return c().template(this.linkTypeTemplateMapping[this.linkType])(t)},init:function(){var t=this;t.tinypattern=t.options.tinypattern,t.tinypattern.options.anchorSelector&&(t.options.anchorSelector=t.tinypattern.options.anchorSelector),t.tiny=t.tinypattern.tiny,t.dom=t.tiny.dom,t.linkType=t.options.initialLinkType,t.linkTypes={},t.modal=l.A.patterns["plone-modal"].init(t.$el,{html:t.generateModalHtml(),content:null,buttons:".plone-btn",reloadWindowOnClose:!1,templateOptions:{classDialog:"modal-dialog modal-lg",reloadWindowOnClose:!1},actionOptions:{reloadWindowOnClose:!1},backdropOptions:{zIndex:"1340",closeOnClick:!1}}),t.modal.on("shown",(e=>{t.modalShown.apply(t,[e])}))},isOnlyTextSelected:function(){var t=this.tiny.selection.getContent();if(/]+>[^<]+<\/a>$/.test(t)||-1===t.indexOf("href=")))return!1;if(this.anchorElm){var e=this.anchorElm.childNodes;if(0===e.length)return!1;for(var n=e.length-1;n>=0;n--)if(3!==e[n].nodeType)return!1}return!0},generateModalHtml:function(){return this.template({options:this.options,upload:this.options.upload,text:this.options.text,insertHeading:this.options.text.insertHeading,insertImageHelp:this.options.text.insertImageHelp,uploadText:this.options.text.upload,insertLinkHelp:this.options.text.insertLinkHelp,internal:this.options.text.internal,external:this.options.text.external,anchor:this.options.text.anchor,anchorLabel:this.options.text.anchorLabel,target:this.options.text.target,linkTypes:this.options.linkTypes,externalText:this.options.text.externalText,emailText:this.options.text.email,subjectText:this.options.text.subject,targetList:this.options.targetList,titleText:this.options.text.title,internalImageText:this.options.text.internalImage,externalImage:this.options.text.externalImage,externalImageText:this.options.text.externalImageText,altText:this.options.text.alt,imageAlignText:this.options.text.imageAlign,captionFromDescriptionText:this.options.text.captionFromDescription,enableImageZoom:this.options.text.enableImageZoom,captionText:this.options.text.caption,scaleText:this.options.text.scale,pictureVariants:this.options.pictureVariants,imageCaptioningEnabled:this.options.imageCaptioningEnabled,cancelBtn:this.options.text.cancelBtn,insertBtn:this.options.text.insertBtn})},isImageMode:function(){return-1!==["image","uploadImage","externalImage"].indexOf(this.linkType)},initElements:async function(){var t=this;t.$target=s()('select[name="target"]',t.modal.$modal),t.$button=s()('.modal-footer input[name="insert"]',t.modal.$modal),t.$title=s()('input[name="title"]',t.modal.$modal),t.$subject=s()('input[name="subject"]',t.modal.$modal),t.$alt=s()('input[name="alt"]',t.modal.$modal),t.$align=s()('select[name="align"]',t.modal.$modal),t.$scale=s()('select[name="scale"]',t.modal.$modal),t.$selectedItems=s()("input.pat-contentbrowser",t.modal.$modal),t.$enableImageZoom=s()('input[name="enableImageZoom"]',t.modal.$modal),t.$captionFromDescription=s()('input[name="captionFromDescription"]',t.modal.$modal),t.$caption=s()('textarea[name="caption"]',t.modal.$modal);for(var e=0;e1&&this.$subject.val(decodeURIComponent(e[1]))}else"#"===t[0]?(this.linkType="anchor",this.linkTypes.anchor.set(t.substring(1))):(this.linkType="external",this.linkTypes.external.set(t))},reinitialize:function(){this.modal.options.html=this.generateModalHtml()}})}}]); -//# sourceMappingURL=43923.203d7fc7697c0bf8de01.min.js.map \ No newline at end of file +"use strict";(self.webpackChunkplone_staticresources=self.webpackChunkplone_staticresources||[]).push([[43923],{43923:function(t,e,n){n.r(e),n.d(e,{default:function(){return E}});var i=n(71553),a=n(44563),l=n(59329),o=n(35686),s=n.n(o),r=n(40705),c=n.n(r),m=n(75199),p=n.n(m),d=(n(10906),n(53902),'
\n
\n

<%- insertHeading %>

\n <% if(_.contains(linkTypes, \'uploadImage\')){ %>\n

<%- insertImageHelp %>

\n <% } %>\n\n
\n\n <% if(_.contains(linkTypes, \'image\')){ %>\n
\n <%- internalImageText %>\n
\n
\n \n
\n
\n \n \n
\n
\n
\n <% } %>\n\n <% if(_.contains(linkTypes, \'externalImage\')){ %>\n
\n <%- externalImage %>\n
\n
\n \n \n
\n
\n
\n <% } %>\n\n
\x3c!-- / tabs --\x3e\n\n
\n
\n \n \n
\n
\n \n \n
\n <% if(imageCaptioningEnabled){ %>\n
\n \n \n
\n
\n \n \n
\n <% } %>\n
\n \n \n
\n
\n \n \n
\n
\n\n \n \n\n
\n
\n'),h='
\n
\n

<%- insertHeading %>

\n <% if(_.contains(linkTypes, \'upload\')){ %>\n

<%- insertLinkHelp %>

\n <% } %>\n\n
\n\n <% if(_.contains(linkTypes, \'internal\')){ %>\n
\n <%- internal %>\n
\n
\n \x3c!-- this gives the name to the "linkType" --\x3e\n \n
\n
\n
\n <% } %>\n\n <% if(_.contains(linkTypes, \'external\')){ %>\n
\n <%- external %>\n
\n \n \n
\n
\n <% } %>\n\n <% if(_.contains(linkTypes, \'email\')){ %>\n \n <% } %>\n\n <% if(_.contains(linkTypes, \'anchor\')){ %>\n
\n <%- anchor %>\n
\n
\n \n
\n \n
\n
\n
\n
\n <% } %>\n\n
\x3c!-- / tabs --\x3e\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n \n \n
\n
\n',g=i.A.extend({name:"linktype",trigger:".pat-linktype-dummy",defaults:{linkModal:null},init:function(){this.linkModal=this.options.linkModal,this.tinypattern=this.options.tinypattern,this.tiny=this.tinypattern.tiny,this.dom=this.tiny.dom},getEl:function(){return this.el.querySelector("input")},value:function(){return this.getEl().value.trim()},toUrl:function(){return this.value()},load:function(t){let e=this.tiny.dom.getAttrib(t,"data-val");this.set(e)},set:function(t){this.getEl().setAttribute("value",t)},attributes:function(){return{"data-val":this.value()}},updateRelatedItems:function(){}}),u=g.extend({name:"externallinktype",trigger:".pat-externallinktype-dummy",init:function(){g.prototype.init.call(this),this.getEl().addEventListener("change",(function(){var t=s()(this).val();new RegExp("https?://").test(t)||-1!==s()(this).val().split("/")[0].indexOf(".")&&s()(this).val("http://"+t)}))},load:function(t){let e=this.tiny.dom.getAttrib(t,"data-val");this.set(e)}}),y=g.extend({name:"internallinktype",trigger:".pat-internallinktype-dummy",init:async function(){this.getEl()&&(g.prototype.init.call(this),await this.createContentBrowser())},getEl:function(){return this.el.querySelector("input")},createContentBrowser:async function(){var t={selection:[],...this.linkModal.options?.relatedItems};t["maximum-selection-size"]=1,t.upload=1;const e=this.getEl(),i=this.tiny.selection.getNode(),a=this.tiny.dom.getAttrib(i,"data-linktype");"internal"!==a&&"image"!==a||t.selection.push(this.tiny.dom.getAttrib(i,"data-val"));const l=(await Promise.resolve().then(n.bind(n,306))).default;this.contentBrowserPattern=new l(e,t)},toUrl:function(){var t=this.value();return t?this.tinypattern.generateUrl(t):null}}),f=g.extend({name:"uploadlinktype",trigger:".pat-uploadlinktype-dummy",getDelegatedLinkType:function(){return"uploadImage"===this.linkModal.linkType?this.linkModal.linkTypes.image:this.linkModal.linkTypes.internal},toUrl:function(){return this.getDelegatedLinkType().toUrl()},attributes:function(){return this.getDelegatedLinkType().attributes()},set:function(t){return this.getDelegatedLinkType().set(t)},load:function(t){return this.getDelegatedLinkType().load(t)},value:function(){return this.getDelegatedLinkType().value()}}),k=y.extend({name:"imagelinktype",trigger:".pat-imagelinktype-dummy",toUrl:function(){var t=this.value();return this.tinypattern.generateImageUrl(t,this.linkModal.getScaleFromSrcset(this.linkModal.$scale.val()))}}),v=g.extend({name:"emaillinktype",trigger:".pat-emaillinktype-dummy",toUrl:function(){var t=this.value();if(t){var e=this.getSubject(),n="mailto:"+t;return e&&(n+="?subject="+e),n}return null},load:function(t){g.prototype.load.apply(this,[t]),this.linkModal.$subject.val(this.tiny.dom.getAttrib(t,"data-subject"))},getSubject:function(){return this.linkModal.$subject.val()},attributes:function(){var t=g.prototype.attributes.call(this);return t["data-subject"]=this.getSubject(),t}}),x=g.extend({name:"anchorlinktype",trigger:".pat-anchorlinktype-dummy",init:function(){g.prototype.init.call(this),this.$select=this.$el.find("select"),this.anchorNodes=[],this.anchorData=[],this.populate()},value:function(){var t=this.$select.select2("data");return t&&"object"==typeof t&&(t=t.id),t},populate:function(){var t,e,n,i,a,l=this;l.$select.find("option").remove(),l.anchorNodes=[],l.anchorData=[];var o=l.tiny.dom.select(".mceItemAnchor,.mce-item-anchor");for(e=0;e0)for(e=0;e0)for(e=0;e'+m.title+"")}else l.$select.append("")},getIndex:function(t){for(var e=0;e'+n.innerHTML),"#"+i.name}return null},set:function(t){var e=this.getIndex(t);this.$select.select2("data",""+e)}});const b=t=>{document.getElementById(t.id.replace("-editable",""))["pattern-tinymce"].instance.addImageClicked()},T=t=>{document.getElementById(t.id.replace("-editable",""))["pattern-tinymce"].instance.addLinkClicked()};p().PluginManager.add("ploneimage",((t,e)=>{t.ui.registry.addButton("ploneimage",{icon:"image",text:"Insert image",tooltip:"Insert/edit image",onAction:()=>{b(t)}}),t.ui.registry.addMenuItem("ploneimage",{icon:"image",text:"Insert image",onAction:()=>{b(t)}})})),p().PluginManager.add("plonelink",(function(t,e){t.ui.registry.addButton("plonelink",{icon:"link",tooltip:"Insert/edit link",shortcut:"Ctrl+K",onAction:()=>{T(t)},stateSelector:"a[href]"}),t.ui.registry.addMenuItem("plonelink",{icon:"link",text:"Insert link",shortcut:"Ctrl+K",onAction:()=>{T(t)},stateSelector:"a[href]"}),t.ui.registry.addButton("unlink",{icon:"unlink",tooltip:"Remove link",onAction:e=>{t.execCommand("unlink")},stateSelector:"a[href]"})}));var E=i.A.extend({name:"linkmodal",trigger:".pat-linkmodal",defaults:{anchorSelector:"h1,h2,h3",linkTypes:[],initialLinkType:"internal",text:{insertHeading:"Insert Link"},linkTypeClassMapping:{internal:y,upload:f,external:u,email:v,anchor:x,image:k,uploadImage:f,externalImage:g}},linkTypeTemplateMapping:{internal:h,upload:h,external:h,email:h,anchor:h,image:d,uploadImage:d,externalImage:d},template:function(t){return c().template(this.linkTypeTemplateMapping[this.linkType])(t)},init:function(){var t=this;t.tinypattern=t.options.tinypattern,t.tinypattern.options.anchorSelector&&(t.options.anchorSelector=t.tinypattern.options.anchorSelector),t.tiny=t.tinypattern.tiny,t.dom=t.tiny.dom,t.linkType=t.options.initialLinkType,t.linkTypes={},t.modal=l.A.patterns["plone-modal"].init(t.$el,{html:t.generateModalHtml(),content:null,buttons:".plone-btn",reloadWindowOnClose:!1,templateOptions:{classDialog:"modal-dialog modal-lg",reloadWindowOnClose:!1},actionOptions:{reloadWindowOnClose:!1},backdropOptions:{zIndex:"1340",closeOnClick:!1}}),t.modal.on("shown",(e=>{t.modalShown.apply(t,[e])}))},isOnlyTextSelected:function(){var t=this.tiny.selection.getContent();if(/]+>[^<]+<\/a>$/.test(t)||-1===t.indexOf("href=")))return!1;if(this.anchorElm){var e=this.anchorElm.childNodes;if(0===e.length)return!1;for(var n=e.length-1;n>=0;n--)if(3!==e[n].nodeType)return!1}return!0},generateModalHtml:function(){return this.template({options:this.options,upload:this.options.upload,text:this.options.text,insertHeading:this.options.text.insertHeading,insertImageHelp:this.options.text.insertImageHelp,uploadText:this.options.text.upload,insertLinkHelp:this.options.text.insertLinkHelp,internal:this.options.text.internal,external:this.options.text.external,anchor:this.options.text.anchor,anchorLabel:this.options.text.anchorLabel,target:this.options.text.target,linkTypes:this.options.linkTypes,externalText:this.options.text.externalText,emailText:this.options.text.email,subjectText:this.options.text.subject,targetList:this.options.targetList,titleText:this.options.text.title,internalImageText:this.options.text.internalImage,externalImage:this.options.text.externalImage,externalImageText:this.options.text.externalImageText,altText:this.options.text.alt,imageAlignText:this.options.text.imageAlign,captionFromDescriptionText:this.options.text.captionFromDescription,enableImageZoom:this.options.text.enableImageZoom,captionText:this.options.text.caption,scaleText:this.options.text.scale,pictureVariants:this.options.pictureVariants,imageCaptioningEnabled:this.options.imageCaptioningEnabled,cancelBtn:this.options.text.cancelBtn,insertBtn:this.options.text.insertBtn})},isImageMode:function(){return-1!==["image","uploadImage","externalImage"].indexOf(this.linkType)},initElements:async function(){var t=this;t.$target=s()('select[name="target"]',t.modal.$modal),t.$button=s()('.modal-footer input[name="insert"]',t.modal.$modal),t.$title=s()('input[name="title"]',t.modal.$modal),t.$subject=s()('input[name="subject"]',t.modal.$modal),t.$alt=s()('input[name="alt"]',t.modal.$modal),t.$align=s()('select[name="align"]',t.modal.$modal),t.$scale=s()('select[name="scale"]',t.modal.$modal),t.$selectedItems=s()("input.pat-contentbrowser",t.modal.$modal),t.$enableImageZoom=s()('input[name="enableImageZoom"]',t.modal.$modal),t.$captionFromDescription=s()('input[name="captionFromDescription"]',t.modal.$modal),t.$caption=s()('textarea[name="caption"]',t.modal.$modal);for(var e=0;e1&&this.$subject.val(decodeURIComponent(e[1]))}else"#"===t[0]?(this.linkType="anchor",this.linkTypes.anchor.set(t.substring(1))):(this.linkType="external",this.linkTypes.external.set(t))},reinitialize:function(){this.modal.options.html=this.generateModalHtml()}})}}]); +//# sourceMappingURL=43923.15041af8c75e9ff23adc.min.js.map \ No newline at end of file diff --git a/src/plone/staticresources/static/bundle-plone/chunks/43923.15041af8c75e9ff23adc.min.js.map b/src/plone/staticresources/static/bundle-plone/chunks/43923.15041af8c75e9ff23adc.min.js.map new file mode 100644 index 000000000..3d6441d68 --- /dev/null +++ b/src/plone/staticresources/static/bundle-plone/chunks/43923.15041af8c75e9ff23adc.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chunks/43923.15041af8c75e9ff23adc.min.js","mappings":"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","sources":["webpack://plone.staticresources/./node_modules/@plone/mockup/src/pat/tinymce/js/links.js"],"sourcesContent":["import Base from \"@patternslib/patternslib/src/core/base\";\nimport events from \"@patternslib/patternslib/src/core/events\";\nimport registry from \"@patternslib/patternslib/src/core/registry\";\nimport $ from \"jquery\";\nimport _ from \"underscore\";\n\nimport tinymce from \"tinymce/tinymce\";\nimport \"../../autotoc/autotoc\";\nimport \"../../modal/modal\";\nimport ImageTemplate from \"../templates/image.xml\";\nimport LinkTemplate from \"../templates/link.xml\";\n\nvar LinkType = Base.extend({\n name: \"linktype\",\n trigger: \".pat-linktype-dummy\",\n defaults: {\n linkModal: null, // required\n },\n\n init: function () {\n this.linkModal = this.options.linkModal;\n this.tinypattern = this.options.tinypattern;\n this.tiny = this.tinypattern.tiny;\n this.dom = this.tiny.dom;\n },\n\n getEl: function () {\n return this.el.querySelector(\"input\");\n },\n\n value: function () {\n return this.getEl().value.trim();\n },\n\n toUrl: function () {\n return this.value();\n },\n\n load: function (element) {\n let val = this.tiny.dom.getAttrib(element, \"data-val\");\n this.set(val);\n },\n\n set: function (val) {\n this.getEl().setAttribute(\"value\", val);\n },\n\n attributes: function () {\n return {\n \"data-val\": this.value(),\n };\n },\n updateRelatedItems: function () { },\n});\n\nvar ExternalLink = LinkType.extend({\n name: \"externallinktype\",\n trigger: \".pat-externallinktype-dummy\",\n init: function () {\n LinkType.prototype.init.call(this);\n // selectedItemsNode.addEventListener(\"change\", readSelectedItemsFromInput);\n this.getEl().addEventListener(\"change\", function () {\n // check here if we should automatically add in http:// to url\n var val = $(this).val();\n if (new RegExp(\"https?://\").test(val)) {\n // already valid url\n return;\n }\n var domain = $(this).val().split(\"/\")[0];\n if (domain.indexOf(\".\") !== -1) {\n $(this).val(\"http://\" + val);\n }\n });\n },\n load: function (element) {\n let val = this.tiny.dom.getAttrib(element, \"data-val\");\n this.set(val);\n },\n});\n\nvar InternalLink = LinkType.extend({\n name: \"internallinktype\",\n trigger: \".pat-internallinktype-dummy\",\n init: async function () {\n const linkEl = this.getEl();\n if (!linkEl) {\n return;\n }\n LinkType.prototype.init.call(this);\n await this.createContentBrowser();\n },\n\n getEl: function () {\n return this.el.querySelector(\"input\");\n },\n\n createContentBrowser: async function () {\n var options = {\n \"selection\": [],\n ...this.linkModal.options?.relatedItems,\n };\n options[\"maximum-selection-size\"] = 1;\n // enable upload in ContentBrowser instead of separate tab\n options[\"upload\"] = 1;\n const inputEl = this.getEl();\n const element = this.tiny.selection.getNode();\n const linkType = this.tiny.dom.getAttrib(element, \"data-linktype\");\n if (linkType === \"internal\" || linkType === \"image\") {\n options.selection.push(this.tiny.dom.getAttrib(element, \"data-val\"));\n }\n const ContentBrowser = (await import(\"../../contentbrowser/contentbrowser\"))\n .default;\n this.contentBrowserPattern = new ContentBrowser(inputEl, options);\n },\n\n toUrl: function () {\n var value = this.value();\n if (value) {\n return this.tinypattern.generateUrl(value);\n }\n return null;\n },\n\n});\n\nvar UploadLink = LinkType.extend({\n name: \"uploadlinktype\",\n trigger: \".pat-uploadlinktype-dummy\",\n /* need to do it a bit differently here.\n when a user uploads and tries to upload from\n it, you need to delegate to the real insert\n linke types */\n getDelegatedLinkType: function () {\n if (this.linkModal.linkType === \"uploadImage\") {\n return this.linkModal.linkTypes.image;\n } else {\n return this.linkModal.linkTypes.internal;\n }\n },\n toUrl: function () {\n return this.getDelegatedLinkType().toUrl();\n },\n attributes: function () {\n return this.getDelegatedLinkType().attributes();\n },\n set: function (val) {\n return this.getDelegatedLinkType().set(val);\n },\n load: function (element) {\n return this.getDelegatedLinkType().load(element);\n },\n value: function () {\n return this.getDelegatedLinkType().value();\n },\n});\n\nvar ImageLink = InternalLink.extend({\n name: \"imagelinktype\",\n trigger: \".pat-imagelinktype-dummy\",\n toUrl: function () {\n var value = this.value();\n return this.tinypattern.generateImageUrl(\n value,\n this.linkModal.getScaleFromSrcset(this.linkModal.$scale.val())\n );\n },\n});\n\nvar EmailLink = LinkType.extend({\n name: \"emaillinktype\",\n trigger: \".pat-emaillinktype-dummy\",\n toUrl: function () {\n var self = this;\n var val = self.value();\n if (val) {\n var subject = self.getSubject();\n var href = \"mailto:\" + val;\n if (subject) {\n href += \"?subject=\" + subject;\n }\n return href;\n }\n return null;\n },\n\n load: function (element) {\n LinkType.prototype.load.apply(this, [element]);\n this.linkModal.$subject.val(this.tiny.dom.getAttrib(element, \"data-subject\"));\n },\n\n getSubject: function () {\n return this.linkModal.$subject.val();\n },\n\n attributes: function () {\n var attribs = LinkType.prototype.attributes.call(this);\n attribs[\"data-subject\"] = this.getSubject();\n return attribs;\n },\n});\n\nvar AnchorLink = LinkType.extend({\n name: \"anchorlinktype\",\n trigger: \".pat-anchorlinktype-dummy\",\n init: function () {\n LinkType.prototype.init.call(this);\n this.$select = this.$el.find(\"select\");\n this.anchorNodes = [];\n this.anchorData = [];\n this.populate();\n },\n\n value: function () {\n var val = this.$select.select2(\"data\");\n if (val && typeof val === \"object\") {\n val = val.id;\n }\n return val;\n },\n\n populate: function () {\n var self = this;\n self.$select.find(\"option\").remove();\n self.anchorNodes = [];\n self.anchorData = [];\n var node, i, j, name, title;\n\n var nodes = self.tiny.dom.select(\".mceItemAnchor,.mce-item-anchor\");\n for (i = 0; i < nodes.length; i = i + 1) {\n node = nodes[i];\n name = self.tiny.dom.getAttrib(node, \"name\");\n if (!name) {\n name = self.tiny.dom.getAttrib(node, \"id\");\n }\n if (name !== \"\") {\n self.anchorNodes.push(node);\n self.anchorData.push({ name: name, title: name });\n }\n }\n\n nodes = self.tiny.dom.select(self.linkModal.options.anchorSelector);\n if (nodes.length > 0) {\n for (i = 0; i < nodes.length; i = i + 1) {\n node = nodes[i];\n title = $(node)\n .text()\n .replace(/^\\s+|\\s+$/g, \"\");\n if (title === \"\") {\n continue;\n }\n name = title.toLowerCase().substring(0, 1024);\n name = name.replace(/[^a-z0-9]/g, \"-\");\n /* okay, ugly, but we need to first check that this anchor isn't already available */\n var found = false;\n for (j = 0; j < self.anchorNodes.length; j = j + 1) {\n var anode = self.anchorData[j];\n if (anode.name === name) {\n found = true;\n // so it's also found, let's update the title to be more presentable\n anode.title = title;\n break;\n }\n }\n if (!found) {\n self.anchorData.push({\n name: name,\n title: title,\n newAnchor: true,\n });\n self.anchorNodes.push(node);\n }\n }\n }\n if (self.anchorNodes.length > 0) {\n for (i = 0; i < self.anchorData.length; i = i + 1) {\n var data = self.anchorData[i];\n self.$select.append(\n '\"\n );\n }\n } else {\n self.$select.append(\"\");\n }\n },\n\n getIndex: function (name) {\n for (var i = 0; i < this.anchorData.length; i = i + 1) {\n var data = this.anchorData[i];\n if (data.name === name) {\n return i;\n }\n }\n return 0;\n },\n\n toUrl: function () {\n var val = this.value();\n if (val) {\n var index = parseInt(val, 10);\n var node = this.anchorNodes[index];\n var data = this.anchorData[index];\n if (data.newAnchor) {\n node.innerHTML =\n '' +\n node.innerHTML;\n }\n return \"#\" + data.name;\n }\n return null;\n },\n\n set: function (val) {\n var anchor = this.getIndex(val);\n this.$select.select2(\"data\", \"\" + anchor);\n },\n});\n\nconst add_image = (editor) => {\n // in case of inline mode we need the node where the pattern is instantinated\n // not the tinymce editable div (\"-editable\")\n var pattern_inst = document.getElementById(editor.id.replace(\"-editable\", \"\"))[\"pattern-tinymce\"].instance;\n pattern_inst.addImageClicked();\n}\n\nconst add_link = (editor) => {\n var pattern_inst = document.getElementById(editor.id.replace(\"-editable\", \"\"))[\"pattern-tinymce\"].instance;\n pattern_inst.addLinkClicked();\n}\n\n// image plugin\n// eslint-disable-next-line no-unused-vars\ntinymce.PluginManager.add(\"ploneimage\", (editor, url) => {\n editor.ui.registry.addButton(\"ploneimage\", {\n icon: \"image\",\n text: \"Insert image\",\n tooltip: \"Insert/edit image\",\n onAction: () => {\n add_image(editor);\n },\n // stateSelector: \"img:not([data-mce-object])\",\n });\n editor.ui.registry.addMenuItem(\"ploneimage\", {\n icon: \"image\",\n text: \"Insert image\",\n onAction: () => {\n add_image(editor);\n },\n // stateSelector: \"img:not([data-mce-object])\",\n });\n});\n\n// link plugin\n// eslint-disable-next-line no-unused-vars\ntinymce.PluginManager.add(\"plonelink\", function (editor, url) {\n editor.ui.registry.addButton(\"plonelink\", {\n icon: \"link\",\n tooltip: \"Insert/edit link\",\n shortcut: \"Ctrl+K\",\n onAction: () => {\n add_link(editor);\n },\n stateSelector: \"a[href]\",\n });\n editor.ui.registry.addMenuItem(\"plonelink\", {\n icon: \"link\",\n text: \"Insert link\",\n shortcut: \"Ctrl+K\",\n onAction: () => {\n add_link(editor);\n },\n stateSelector: \"a[href]\",\n });\n\n editor.ui.registry.addButton(\"unlink\", {\n icon: \"unlink\",\n tooltip: \"Remove link\",\n // eslint-disable-next-line no-unused-vars\n onAction: (api) => {\n editor.execCommand(\"unlink\");\n },\n stateSelector: \"a[href]\",\n });\n});\n\nexport default Base.extend({\n name: \"linkmodal\",\n trigger: \".pat-linkmodal\",\n defaults: {\n anchorSelector: \"h1,h2,h3\",\n linkTypes: [\n /* available, none activate by default because these options\n * only get merged, not set.\n 'internal',\n 'upload',\n 'external',\n 'email',\n 'anchor',\n 'image'\n 'externalImage'*/\n ],\n initialLinkType: \"internal\",\n text: {\n insertHeading: \"Insert Link\",\n },\n linkTypeClassMapping: {\n internal: InternalLink,\n upload: UploadLink,\n external: ExternalLink,\n email: EmailLink,\n anchor: AnchorLink,\n image: ImageLink,\n uploadImage: UploadLink,\n externalImage: LinkType,\n },\n },\n // XXX: this is a temporary work around for having separated templates.\n // Image modal is going to have its own modal class, funcs and template.\n linkTypeTemplateMapping: {\n internal: LinkTemplate,\n upload: LinkTemplate,\n external: LinkTemplate,\n email: LinkTemplate,\n anchor: LinkTemplate,\n image: ImageTemplate,\n uploadImage: ImageTemplate,\n externalImage: ImageTemplate,\n },\n\n template: function (data) {\n return _.template(this.linkTypeTemplateMapping[this.linkType])(data);\n },\n\n init: function () {\n var self = this;\n self.tinypattern = self.options.tinypattern;\n if (self.tinypattern.options.anchorSelector) {\n self.options.anchorSelector = self.tinypattern.options.anchorSelector;\n }\n self.tiny = self.tinypattern.tiny;\n self.dom = self.tiny.dom;\n self.linkType = self.options.initialLinkType;\n self.linkTypes = {};\n self.modal = registry.patterns[\"plone-modal\"].init(self.$el, {\n html: self.generateModalHtml(),\n content: null,\n buttons: \".plone-btn\",\n reloadWindowOnClose: false,\n templateOptions: {\n classDialog: \"modal-dialog modal-lg\",\n reloadWindowOnClose: false,\n },\n actionOptions: { reloadWindowOnClose: false },\n backdropOptions: {\n zIndex: \"1340\",\n closeOnClick: false,\n },\n });\n self.modal.on(\"shown\", (e) => {\n self.modalShown.apply(self, [e]);\n });\n },\n\n isOnlyTextSelected: function () {\n /* pulled from TinyMCE link plugin */\n var html = this.tiny.selection.getContent();\n\n // Partial html and not a fully selected anchor element\n if (\n /]+>[^<]+<\\/a>$/.test(html) || html.indexOf(\"href=\") === -1)\n ) {\n return false;\n }\n\n if (this.anchorElm) {\n var nodes = this.anchorElm.childNodes;\n\n if (nodes.length === 0) {\n return false;\n }\n\n for (var ii = nodes.length - 1; ii >= 0; ii--) {\n if (nodes[ii].nodeType !== 3) {\n return false;\n }\n }\n }\n\n return true;\n },\n\n generateModalHtml: function () {\n return this.template({\n options: this.options,\n upload: this.options.upload,\n text: this.options.text,\n insertHeading: this.options.text.insertHeading,\n insertImageHelp: this.options.text.insertImageHelp,\n uploadText: this.options.text.upload,\n insertLinkHelp: this.options.text.insertLinkHelp,\n internal: this.options.text.internal,\n external: this.options.text.external,\n anchor: this.options.text.anchor,\n anchorLabel: this.options.text.anchorLabel,\n target: this.options.text.target,\n linkTypes: this.options.linkTypes,\n externalText: this.options.text.externalText,\n emailText: this.options.text.email,\n subjectText: this.options.text.subject,\n targetList: this.options.targetList,\n titleText: this.options.text.title,\n internalImageText: this.options.text.internalImage,\n externalImage: this.options.text.externalImage,\n externalImageText: this.options.text.externalImageText,\n altText: this.options.text.alt,\n imageAlignText: this.options.text.imageAlign,\n captionFromDescriptionText: this.options.text.captionFromDescription,\n enableImageZoom: this.options.text.enableImageZoom,\n captionText: this.options.text.caption,\n scaleText: this.options.text.scale,\n pictureVariants: this.options.pictureVariants,\n imageCaptioningEnabled: this.options.imageCaptioningEnabled,\n cancelBtn: this.options.text.cancelBtn,\n insertBtn: this.options.text.insertBtn,\n });\n },\n\n isImageMode: function () {\n return [\"image\", \"uploadImage\", \"externalImage\"].indexOf(this.linkType) !== -1;\n },\n\n initElements: async function () {\n var self = this;\n self.$target = $('select[name=\"target\"]', self.modal.$modal);\n self.$button = $('.modal-footer input[name=\"insert\"]', self.modal.$modal);\n self.$title = $('input[name=\"title\"]', self.modal.$modal);\n self.$subject = $('input[name=\"subject\"]', self.modal.$modal);\n\n self.$alt = $('input[name=\"alt\"]', self.modal.$modal);\n self.$align = $('select[name=\"align\"]', self.modal.$modal);\n self.$scale = $('select[name=\"scale\"]', self.modal.$modal);\n self.$selectedItems = $(\"input.pat-contentbrowser\", self.modal.$modal);\n self.$enableImageZoom = $('input[name=\"enableImageZoom\"]', self.modal.$modal);\n self.$captionFromDescription = $(\n 'input[name=\"captionFromDescription\"]',\n self.modal.$modal\n );\n self.$caption = $('textarea[name=\"caption\"]', self.modal.$modal);\n\n /* load up all the link types */\n for (var index = 0; index < self.options.linkTypes.length; index++) {\n var type = self.options.linkTypes[index];\n var $container = $(\".linkType.\" + type + \" .main\", self.modal.$modal);\n if ($container.length) {\n var instance = new self.options.linkTypeClassMapping[type](\n $container,\n {\n linkModal: self,\n tinypattern: self.tinypattern,\n }\n );\n await events.await_pattern_init(instance);\n self.linkTypes[type] = instance;\n }\n }\n\n $(\".autotoc-nav a\", self.modal.$modal).on(\"click\", function () {\n var $fieldset = $(\"fieldset.linkType\", self.modal.$modal).eq(\n $(this).index()\n );\n var classes = $fieldset[0].className.split(/\\s+/);\n _.each(classes, function (val) {\n if (_.indexOf(self.options.linkTypes, val) !== -1) {\n self.linkType = val;\n }\n });\n });\n\n self.$captionFromDescription.on(\"change\", function () {\n if (this.checked) {\n self.$caption.prop(\"disabled\", true);\n } else {\n self.$caption.prop(\"disabled\", false);\n }\n });\n },\n\n getLinkUrl: function () {\n // get the url, only get one uid\n return this.linkTypes[this.linkType].toUrl();\n },\n\n getValue: function () {\n return this.linkTypes[this.linkType].value();\n },\n\n updateAnchor: function (href) {\n var self = this;\n\n self.tiny.focus();\n self.tiny.selection.setRng(self.rng);\n\n var target = self.$target.val();\n var title = self.$title.val();\n var linkAttrs = $.extend(\n true,\n self.data,\n {\n \"title\": title ? title : null,\n \"target\": target ? target : null,\n \"data-linkType\": self.linkType,\n \"href\": href,\n },\n self.linkTypes[self.linkType].attributes()\n );\n if (self.anchorElm) {\n if (self.onlyText && linkAttrs.text !== self.initialText) {\n if (\"innerText\" in self.anchorElm) {\n self.anchorElm.innerText = self.data.text;\n } else {\n self.anchorElm.textContent = self.data.text;\n }\n }\n\n self.tiny.dom.setAttribs(self.anchorElm, linkAttrs);\n\n self.tiny.selection.select(self.anchorElm);\n self.tiny.undoManager.add();\n } else {\n if (self.onlyText) {\n self.tiny.insertContent(\n self.tiny.dom.createHTML(\n \"a\",\n linkAttrs,\n self.tiny.dom.encode(self.data.text)\n )\n );\n } else {\n self.tiny.execCommand(\"mceInsertLink\", false, linkAttrs);\n }\n }\n },\n\n focusElement: function (elm) {\n this.tiny.focus();\n this.tiny.selection.select(elm);\n this.tiny.nodeChanged();\n },\n\n getScaleFromSrcset: function (pictureVariant) {\n let pictureVariantsConfig = this.options.pictureVariants[pictureVariant];\n return pictureVariantsConfig.sourceset[\n pictureVariantsConfig.sourceset.length - 1\n ].scale;\n },\n\n updateImage: function (src) {\n console.log(`updateImage: ${src}`);\n var self = this;\n var title = self.$title.val();\n var captionFromDescription = self.$captionFromDescription.prop(\"checked\");\n var enableImageZoom = self.$enableImageZoom.prop(\"checked\");\n var caption = self.$caption.val();\n\n self.tiny.focus();\n self.tiny.selection.setRng(self.rng);\n var cssclasses = [\n \"image-richtext\",\n ];\n if (self.$align.val()) {\n cssclasses.push(self.$align.val());\n }\n if (self.linkType !== \"externalImage\") {\n cssclasses.push(\"picture-variant-\" + self.$scale.val())\n }\n if (captionFromDescription || caption) {\n cssclasses.push(\"captioned\");\n }\n if (enableImageZoom) {\n cssclasses.push(\"zoomable\");\n }\n var data = {\n \"src\": src,\n \"title\": title ? title : null,\n \"alt\": self.$alt.val(),\n \"class\": cssclasses.join(\" \"),\n \"data-linkType\": self.linkType,\n \"data-scale\": self.getScaleFromSrcset(self.$scale.val()),\n ...self.linkTypes[self.linkType].attributes()\n };\n\n if (self.linkType !== \"externalImage\") {\n data[\"data-picturevariant\"] = self.$scale.val();\n }\n\n if (caption && !captionFromDescription) {\n data[\"data-captiontext\"] = caption;\n }\n if (self.imgElm && !self.imgElm.getAttribute(\"data-mce-object\")) {\n const imgWidth = self.dom.getAttrib(self.imgElm, \"width\");\n const imgHeight = self.dom.getAttrib(self.imgElm, \"height\");\n if (imgWidth) {\n data.width = imgWidth;\n }\n if (imgHeight) {\n data.height = imgHeight;\n }\n } else {\n self.imgElm = null;\n }\n\n function waitLoad(imgElm) {\n imgElm.onload = imgElm.onerror = function () {\n imgElm.onload = imgElm.onerror = null;\n self.focusElement(imgElm);\n };\n }\n\n var newImgElm = self.dom.create(\"img\", data);\n\n if (self.imgElm && self.imgElm.tagName.toLowerCase() == \"img\") {\n self.imgElm.replaceWith(newImgElm);\n } else {\n self.rng.insertNode(newImgElm);\n }\n self.imgElm = newImgElm;\n\n waitLoad(self.imgElm);\n if (self.imgElm.complete) {\n self.focusElement(self.imgElm);\n }\n },\n\n // eslint-disable-next-line no-unused-vars\n modalShown: async function (e) {\n var self = this;\n await self.initElements();\n self.initData();\n // upload init\n // if (self.options.upload) {\n // self.$upload = $(\".uploadify-me\", self.modal.$modal);\n // self.options.upload.relatedItems = $.extend(\n // true,\n // {},\n // self.options.relatedItems\n // );\n // self.options.upload.relatedItems.selectableTypes = self.options.folderTypes;\n // self.$upload.addClass(\"pat-upload\");\n // new PatternUpload(self.$upload, self.options.upload);\n // self.$upload.on(\n // \"uploadAllCompleted\",\n // function (evt, data) {\n // if (self.linkTypes.image) {\n // self.linkTypes.image.set(data.data.UID);\n // $(\n // \"#\" + $(\"#tinylink-image\", self.modal.$modal).data(\"navref\")\n // ).trigger(\"click\");\n // } else {\n // self.linkTypes.internal.set(data.data.UID);\n // $(\n // \"#\" +\n // $(\"#tinylink-internal\", self.modal.$modal).data(\"navref\")\n // ).trigger(\"click\");\n // }\n // }.bind(self)\n // );\n // }\n\n self.$button.off(\"click\").on(\"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n self.linkType = self.modal.$modal.find(\"fieldset.active\").data(\"linktype\");\n // if (self.linkType === \"uploadImage\" || self.linkType === \"upload\") {\n // var patUpload = self.$upload.data().patternUpload;\n // if (patUpload.dropzone.files.length > 0) {\n // patUpload.processUpload();\n // // eslint-disable-next-line no-unused-vars\n // self.$upload.on(\"uploadAllCompleted\", function (evt, data) {\n // var counter = 0;\n // var checkUpload = function () {\n // if (counter < 5 && !self.linkTypes[self.linkType].value()) {\n // counter += 1;\n // setTimeout(checkUpload, 100);\n // return;\n // } else {\n // var href = self.getLinkUrl();\n // self.updateImage(href);\n // self.hide();\n // }\n // };\n // checkUpload();\n // });\n // }\n // }\n var href;\n try {\n href = self.getLinkUrl();\n } catch (error) {\n console.log(error);\n return; // just cut out if no url\n }\n if (!href) {\n return; // just cut out if no url\n }\n if (self.isImageMode()) {\n self.updateImage(href);\n } else {\n /* regular anchor */\n self.updateAnchor(href);\n }\n self.hide();\n });\n $('.modal-footer input[name=\"cancel\"]', self.modal.$modal).on(\n \"click\",\n function (e) {\n e.preventDefault();\n self.hide();\n }\n );\n },\n\n show: function () {\n this.modal.show();\n },\n\n hide: function () {\n this.modal.hide();\n },\n\n initData: function () {\n var self = this;\n self.data = {};\n // get selection BEFORE..\n // This is pulled from TinyMCE link plugin\n self.initialText = null;\n var value;\n self.rng = self.tiny.selection.getRng();\n self.selectedElm = self.tiny.selection.getNode();\n self.anchorElm = self.tiny.dom.getParent(self.selectedElm, \"a[href]\");\n self.onlyText = self.isOnlyTextSelected();\n\n self.data.text = self.initialText = self.anchorElm\n ? self.anchorElm.innerText || self.anchorElm.textContent\n : self.tiny.selection.getContent({ format: \"text\" });\n self.data.href = self.anchorElm\n ? self.tiny.dom.getAttrib(self.anchorElm, \"href\")\n : \"\";\n\n if (self.anchorElm) {\n self.data.target = self.tiny.dom.getAttrib(self.anchorElm, \"target\");\n } else if (self.tiny.options.get('link_default_target')) {\n self.data.target = self.tiny.options.get('link_default_target');\n }\n\n if ((value = self.tiny.dom.getAttrib(self.anchorElm, \"rel\"))) {\n self.data.rel = value;\n }\n\n if ((value = self.tiny.dom.getAttrib(self.anchorElm, \"class\"))) {\n self.data[\"class\"] = value;\n }\n\n if ((value = self.tiny.dom.getAttrib(self.anchorElm, \"title\"))) {\n self.data.title = value;\n }\n\n self.tiny.focus();\n self.anchorElm = self.dom.getParent(self.selectedElm, \"a[href]\");\n\n var linkType;\n if (self.isImageMode()) {\n var img;\n img = self.selectedElm;\n self.imgElm = img;\n\n var src = self.dom.getAttrib(self.imgElm, \"src\");\n var captionText = self.dom.getAttrib(self.imgElm, \"data-captiontext\");\n self.$title.val(self.dom.getAttrib(self.imgElm, \"title\"));\n self.$alt.val(self.dom.getAttrib(self.imgElm, \"alt\"));\n\n if ($(self.imgElm).hasClass(\"zoomable\")) {\n self.$enableImageZoom.prop(\"checked\", true);\n }\n if ($(self.imgElm).hasClass(\"captioned\") && !captionText) {\n self.$captionFromDescription.prop(\"checked\", true);\n self.$caption.prop(\"disabled\", true);\n } else if ($(self.imgElm).hasClass(\"captioned\") && captionText) {\n self.$captionFromDescription.prop(\"checked\", false);\n } else {\n self.$captionFromDescription.prop(\"checked\", false);\n }\n if (captionText) {\n self.$caption.val(captionText);\n }\n\n linkType = self.dom.getAttrib(self.imgElm, \"data-linktype\");\n if (linkType && linkType in self.linkTypes) {\n self.linkType = linkType;\n self.linkTypes[self.linkType].load(self.imgElm);\n\n // set scale selection in link modal:\n var pictureVariant = self.dom.getAttrib(\n self.imgElm,\n \"data-picturevariant\"\n );\n self.$scale.val(pictureVariant);\n\n // var selectedImageUid = self.dom.getAttrib(\n // self.imgElm,\n // \"data-val\"\n // );\n // self.$selectedItems.val()\n\n $(\"#tinylink-\" + self.linkType, self.modal.$modal).trigger(\"click\");\n } else if (src) {\n self.guessImageLink(src);\n }\n var className = self.dom.getAttrib(self.imgElm, \"class\");\n var klasses = className.split(\" \");\n for (var i = 0; i < klasses.length; i = i + 1) {\n var klass = klasses[i];\n for (var availClass in self.options.imageClasses) {\n if (availClass.indexOf(klass) !== -1) {\n self.$align.val(klass);\n }\n }\n }\n } else if (self.anchorElm) {\n self.focusElement(self.anchorElm);\n var href = \"\";\n href = self.dom.getAttrib(self.anchorElm, \"href\");\n self.$target.val(self.dom.getAttrib(self.anchorElm, \"target\"));\n self.$title.val(self.dom.getAttrib(self.anchorElm, \"title\"));\n linkType = self.dom.getAttrib(self.anchorElm, \"data-linktype\");\n if (linkType) {\n self.linkType = linkType;\n self.linkTypes[self.linkType].load(self.anchorElm);\n var $panel = $(\"#tinylink-\" + self.linkType, self.modal.$modal);\n // $('#tinylink-' + self.linkType, self.modal.$modal).trigger('click');\n if ($panel.length === 1) {\n $(\"#\" + $panel.data(\"autotoc-trigger-id\")).trigger(\"click\");\n }\n } else if (href) {\n self.guessAnchorLink(href);\n }\n }\n },\n\n guessImageLink: function (src) {\n if (src.indexOf(this.options.prependToScalePart) !== -1) {\n this.linkType = \"image\";\n // TODO: use data-scale attribute instead:\n this.$scale.val(this.tinypattern.getScaleFromUrl(src));\n this.linkTypes.image.set(this.tinypattern.stripGeneratedUrl(src));\n } else {\n this.linkType = \"externalImage\";\n this.linkTypes.externalImage.set(src);\n }\n },\n\n guessAnchorLink: function (href) {\n console.log(\"href: \" + href);\n if (\n this.options.prependToUrl &&\n href.indexOf(this.options.prependToUrl) !== -1\n ) {\n // XXX if using default configuration, it gets more difficult\n // here to detect internal urls so this might need to change...\n this.linkType = \"internal\";\n this.linkTypes.internal.set(this.tinypattern.stripGeneratedUrl(href));\n } else if (href.indexOf(\"mailto:\") !== -1) {\n this.linkType = \"email\";\n var email = href.substring(\"mailto:\".length, href.length);\n var split = email.split(\"?subject=\");\n this.linkTypes.email.set(split[0]);\n if (split.length > 1) {\n this.$subject.val(decodeURIComponent(split[1]));\n }\n } else if (href[0] === \"#\") {\n this.linkType = \"anchor\";\n this.linkTypes.anchor.set(href.substring(1));\n } else {\n this.linkType = \"external\";\n this.linkTypes.external.set(href);\n }\n },\n\n // setSelectElement: function ($el, val) {\n // $el.find(\"option:selected\").prop(\"selected\", false);\n // if (val) {\n // // update\n // $el.find('option[value=\"' + val + '\"]').prop(\"selected\", true);\n // }\n // },\n\n reinitialize: function () {\n /*\n * This will probably be called before show is run.\n * It will overwrite the base html template given to\n * be able to privde default values for the overlay\n */\n this.modal.options.html = this.generateModalHtml();\n },\n});\n"],"names":["LinkType","Base","extend","name","trigger","defaults","linkModal","init","this","options","tinypattern","tiny","dom","getEl","el","querySelector","value","trim","toUrl","load","element","val","getAttrib","set","setAttribute","attributes","updateRelatedItems","ExternalLink","prototype","call","addEventListener","$","RegExp","test","split","indexOf","InternalLink","async","createContentBrowser","relatedItems","inputEl","selection","getNode","linkType","push","ContentBrowser","default","contentBrowserPattern","generateUrl","UploadLink","getDelegatedLinkType","linkTypes","image","internal","ImageLink","generateImageUrl","getScaleFromSrcset","$scale","EmailLink","subject","getSubject","href","apply","$subject","attribs","AnchorLink","$select","$el","find","anchorNodes","anchorData","populate","select2","id","node","i","j","title","self","remove","nodes","select","length","anchorSelector","text","replace","toLowerCase","substring","found","anode","newAnchor","data","append","getIndex","index","parseInt","innerHTML","anchor","add_image","editor","document","getElementById","instance","addImageClicked","add_link","addLinkClicked","tinymce","add","url","ui","registry","addButton","icon","tooltip","onAction","addMenuItem","shortcut","stateSelector","api","execCommand","initialLinkType","insertHeading","linkTypeClassMapping","upload","external","email","uploadImage","externalImage","linkTypeTemplateMapping","LinkTemplate","ImageTemplate","template","_","modal","patterns","html","generateModalHtml","content","buttons","reloadWindowOnClose","templateOptions","classDialog","actionOptions","backdropOptions","zIndex","closeOnClick","on","e","modalShown","isOnlyTextSelected","getContent","anchorElm","childNodes","ii","nodeType","insertImageHelp","uploadText","insertLinkHelp","anchorLabel","target","externalText","emailText","subjectText","targetList","titleText","internalImageText","internalImage","externalImageText","altText","alt","imageAlignText","imageAlign","captionFromDescriptionText","captionFromDescription","enableImageZoom","captionText","caption","scaleText","scale","pictureVariants","imageCaptioningEnabled","cancelBtn","insertBtn","isImageMode","initElements","$target","$modal","$button","$title","$alt","$align","$selectedItems","$enableImageZoom","$captionFromDescription","$caption","type","$container","events","await_pattern_init","classes","eq","className","checked","prop","getLinkUrl","getValue","updateAnchor","focus","setRng","rng","linkAttrs","onlyText","initialText","innerText","textContent","setAttribs","undoManager","insertContent","createHTML","encode","focusElement","elm","nodeChanged","pictureVariant","pictureVariantsConfig","sourceset","updateImage","src","console","log","cssclasses","join","imgElm","getAttribute","imgWidth","imgHeight","width","height","newImgElm","create","tagName","replaceWith","insertNode","onload","onerror","complete","initData","off","preventDefault","stopPropagation","error","hide","show","getRng","selectedElm","getParent","format","get","rel","img","hasClass","guessImageLink","klasses","klass","availClass","imageClasses","$panel","guessAnchorLink","prependToScalePart","getScaleFromUrl","stripGeneratedUrl","prependToUrl","decodeURIComponent","reinitialize"],"sourceRoot":""} \ No newline at end of file diff --git a/src/plone/staticresources/static/bundle-plone/chunks/43923.203d7fc7697c0bf8de01.min.js.map b/src/plone/staticresources/static/bundle-plone/chunks/43923.203d7fc7697c0bf8de01.min.js.map deleted file mode 100644 index 89ce9a87f..000000000 --- a/src/plone/staticresources/static/bundle-plone/chunks/43923.203d7fc7697c0bf8de01.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"chunks/43923.203d7fc7697c0bf8de01.min.js","mappings":"+kNAYIA,EAAWC,EAAAA,EAAKC,OAAO,CACvBC,KAAM,WACNC,QAAS,sBACTC,SAAU,CACNC,UAAW,MAGfC,KAAM,WACFC,KAAKF,UAAYE,KAAKC,QAAQH,UAC9BE,KAAKE,YAAcF,KAAKC,QAAQC,YAChCF,KAAKG,KAAOH,KAAKE,YAAYC,KAC7BH,KAAKI,IAAMJ,KAAKG,KAAKC,GACzB,EAEAC,MAAO,WACH,OAAOL,KAAKM,GAAGC,cAAc,QACjC,EAEAC,MAAO,WACH,OAAOR,KAAKK,QAAQG,MAAMC,MAC9B,EAEAC,MAAO,WACH,OAAOV,KAAKQ,OAChB,EAEAG,KAAM,SAAUC,GACZ,IAAIC,EAAMb,KAAKG,KAAKC,IAAIU,UAAUF,EAAS,YAC3CZ,KAAKe,IAAIF,EACb,EAEAE,IAAK,SAAUF,GACXb,KAAKK,QAAQW,aAAa,QAASH,EACvC,EAEAI,WAAY,WACR,MAAO,CACH,WAAYjB,KAAKQ,QAEzB,EACAU,mBAAoB,WAAc,IAGlCC,EAAe3B,EAASE,OAAO,CAC/BC,KAAM,mBACNC,QAAS,8BACTG,KAAM,WACFP,EAAS4B,UAAUrB,KAAKsB,KAAKrB,MAE7BA,KAAKK,QAAQiB,iBAAiB,UAAU,WAEpC,IAAIT,EAAMU,IAAEvB,MAAMa,MACd,IAAIW,OAAO,aAAaC,KAAKZ,KAKJ,IADhBU,IAAEvB,MAAMa,MAAMa,MAAM,KAAK,GAC3BC,QAAQ,MACfJ,IAAEvB,MAAMa,IAAI,UAAYA,EAEhC,GACJ,EACAF,KAAM,SAAUC,GACZ,IAAIC,EAAMb,KAAKG,KAAKC,IAAIU,UAAUF,EAAS,YAC3CZ,KAAKe,IAAIF,EACb,IAGAe,EAAepC,EAASE,OAAO,CAC/BC,KAAM,mBACNC,QAAS,8BACTG,KAAM8B,iBACa7B,KAAKK,UAIpBb,EAAS4B,UAAUrB,KAAKsB,KAAKrB,YACvBA,KAAK8B,uBACf,EAEAzB,MAAO,WACH,OAAOL,KAAKM,GAAGC,cAAc,QACjC,EAEAuB,qBAAsBD,iBAClB,IAAI5B,EAAU,CACV,UAAa,MACVD,KAAKF,UAAUG,SAAS8B,cAE/B9B,EAAQ,0BAA4B,EAEpCA,EAAgB,OAAI,EACpB,MAAM+B,EAAUhC,KAAKK,QACfO,EAAUZ,KAAKG,KAAK8B,UAAUC,UAC9BC,EAAWnC,KAAKG,KAAKC,IAAIU,UAAUF,EAAS,iBACjC,aAAbuB,GAAwC,UAAbA,GAC3BlC,EAAQgC,UAAUG,KAAKpC,KAAKG,KAAKC,IAAIU,UAAUF,EAAS,aAE5D,MAAMyB,SAAwB,uCACzBC,QACLtC,KAAKuC,sBAAwB,IAAIF,EAAeL,EAAS/B,EAC7D,EAEAS,MAAO,WACH,IAAIF,EAAQR,KAAKQ,QACjB,OAAIA,EACOR,KAAKE,YAAYsC,YAAYhC,GAEjC,IACX,IAIAiC,EAAajD,EAASE,OAAO,CAC7BC,KAAM,iBACNC,QAAS,4BAKT8C,qBAAsB,WAClB,MAAgC,gBAA5B1C,KAAKF,UAAUqC,SACRnC,KAAKF,UAAU6C,UAAUC,MAEzB5C,KAAKF,UAAU6C,UAAUE,QAExC,EACAnC,MAAO,WACH,OAAOV,KAAK0C,uBAAuBhC,OACvC,EACAO,WAAY,WACR,OAAOjB,KAAK0C,uBAAuBzB,YACvC,EACAF,IAAK,SAAUF,GACX,OAAOb,KAAK0C,uBAAuB3B,IAAIF,EAC3C,EACAF,KAAM,SAAUC,GACZ,OAAOZ,KAAK0C,uBAAuB/B,KAAKC,EAC5C,EACAJ,MAAO,WACH,OAAOR,KAAK0C,uBAAuBlC,OACvC,IAGAsC,EAAYlB,EAAalC,OAAO,CAChCC,KAAM,gBACNC,QAAS,2BACTc,MAAO,WACH,IAAIF,EAAQR,KAAKQ,QACjB,OAAOR,KAAKE,YAAY6C,iBACpBvC,EACAR,KAAKF,UAAUkD,mBAAmBhD,KAAKF,UAAUmD,OAAOpC,OAEhE,IAGAqC,EAAY1D,EAASE,OAAO,CAC5BC,KAAM,gBACNC,QAAS,2BACTc,MAAO,WACH,IACIG,EADOb,KACIQ,QACf,GAAIK,EAAK,CACL,IAAIsC,EAHGnD,KAGYoD,aACfC,EAAO,UAAYxC,EAIvB,OAHIsC,IACAE,GAAQ,YAAcF,GAEnBE,CACX,CACA,OAAO,IACX,EAEA1C,KAAM,SAAUC,GACZpB,EAAS4B,UAAUT,KAAK2C,MAAMtD,KAAM,CAACY,IACrCZ,KAAKF,UAAUyD,SAAS1C,IAAIb,KAAKG,KAAKC,IAAIU,UAAUF,EAAS,gBACjE,EAEAwC,WAAY,WACR,OAAOpD,KAAKF,UAAUyD,SAAS1C,KACnC,EAEAI,WAAY,WACR,IAAIuC,EAAUhE,EAAS4B,UAAUH,WAAWI,KAAKrB,MAEjD,OADAwD,EAAQ,gBAAkBxD,KAAKoD,aACxBI,CACX,IAGAC,EAAajE,EAASE,OAAO,CAC7BC,KAAM,iBACNC,QAAS,4BACTG,KAAM,WACFP,EAAS4B,UAAUrB,KAAKsB,KAAKrB,MAC7BA,KAAK0D,QAAU1D,KAAK2D,IAAIC,KAAK,UAC7B5D,KAAK6D,YAAc,GACnB7D,KAAK8D,WAAa,GAClB9D,KAAK+D,UACT,EAEAvD,MAAO,WACH,IAAIK,EAAMb,KAAK0D,QAAQM,QAAQ,QAI/B,OAHInD,GAAsB,iBAARA,IACdA,EAAMA,EAAIoD,IAEPpD,CACX,EAEAkD,SAAU,WACN,IAIIG,EAAMC,EAAGC,EAAGzE,EAAM0E,EAJlBC,EAAOtE,KACXsE,EAAKZ,QAAQE,KAAK,UAAUW,SAC5BD,EAAKT,YAAc,GACnBS,EAAKR,WAAa,GAGlB,IAAIU,EAAQF,EAAKnE,KAAKC,IAAIqE,OAAO,mCACjC,IAAKN,EAAI,EAAGA,EAAIK,EAAME,OAAQP,GAAQ,EAClCD,EAAOM,EAAML,IACbxE,EAAO2E,EAAKnE,KAAKC,IAAIU,UAAUoD,EAAM,WAEjCvE,EAAO2E,EAAKnE,KAAKC,IAAIU,UAAUoD,EAAM,OAE5B,KAATvE,IACA2E,EAAKT,YAAYzB,KAAK8B,GACtBI,EAAKR,WAAW1B,KAAK,CAAEzC,KAAMA,EAAM0E,MAAO1E,KAKlD,IADA6E,EAAQF,EAAKnE,KAAKC,IAAIqE,OAAOH,EAAKxE,UAAUG,QAAQ0E,iBAC1CD,OAAS,EACf,IAAKP,EAAI,EAAGA,EAAIK,EAAME,OAAQP,GAAQ,EAKlC,GAJAD,EAAOM,EAAML,GAIC,MAHdE,EAAQ9C,IAAE2C,GACLU,OACAC,QAAQ,aAAc,KAC3B,CAIAlF,GADAA,EAAO0E,EAAMS,cAAcC,UAAU,EAAG,OAC5BF,QAAQ,aAAc,KAElC,IAAIG,GAAQ,EACZ,IAAKZ,EAAI,EAAGA,EAAIE,EAAKT,YAAYa,OAAQN,GAAQ,EAAG,CAChD,IAAIa,EAAQX,EAAKR,WAAWM,GAC5B,GAAIa,EAAMtF,OAASA,EAAM,CACrBqF,GAAQ,EAERC,EAAMZ,MAAQA,EACd,KACJ,CACJ,CACKW,IACDV,EAAKR,WAAW1B,KAAK,CACjBzC,KAAMA,EACN0E,MAAOA,EACPa,WAAW,IAEfZ,EAAKT,YAAYzB,KAAK8B,GApB1B,CAwBR,GAAII,EAAKT,YAAYa,OAAS,EAC1B,IAAKP,EAAI,EAAGA,EAAIG,EAAKR,WAAWY,OAAQP,GAAQ,EAAG,CAC/C,IAAIgB,EAAOb,EAAKR,WAAWK,GAC3BG,EAAKZ,QAAQ0B,OACT,kBAAoBjB,EAAI,KAAOgB,EAAKd,MAAQ,YAEpD,MAEAC,EAAKZ,QAAQ0B,OAAO,sCAE5B,EAEAC,SAAU,SAAU1F,GAChB,IAAK,IAAIwE,EAAI,EAAGA,EAAInE,KAAK8D,WAAWY,OAAQP,GAAQ,EAAG,CAEnD,GADWnE,KAAK8D,WAAWK,GAClBxE,OAASA,EACd,OAAOwE,CAEf,CACA,OAAO,CACX,EAEAzD,MAAO,WACH,IAAIG,EAAMb,KAAKQ,QACf,GAAIK,EAAK,CACL,IAAIyE,EAAQC,SAAS1E,EAAK,IACtBqD,EAAOlE,KAAK6D,YAAYyB,GACxBH,EAAOnF,KAAK8D,WAAWwB,GAQ3B,OAPIH,EAAKD,YACLhB,EAAKsB,UACD,YACAL,EAAKxF,KACL,iCACAuE,EAAKsB,WAEN,IAAML,EAAKxF,IACtB,CACA,OAAO,IACX,EAEAoB,IAAK,SAAUF,GACX,IAAI4E,EAASzF,KAAKqF,SAASxE,GAC3Bb,KAAK0D,QAAQM,QAAQ,OAAQ,GAAKyB,EACtC,IAGJ,MAAMC,EAAaC,IACIC,SAASC,eAAeF,EAAO1B,IAAI,mBAAmB6B,SAC5DC,iBAAiB,EAG5BC,EAAYL,IACKC,SAASC,eAAeF,EAAO1B,IAAI,mBAAmB6B,SAC5DG,gBAAgB,EAKjCC,IAAAA,cAAsBC,IAAI,cAAc,CAACR,EAAQS,KAC7CT,EAAOU,GAAGC,SAASC,UAAU,aAAc,CACvCC,KAAM,QACN5B,KAAM,eACN6B,QAAS,oBACTC,SAAUA,KACNhB,EAAUC,EAAO,IAIzBA,EAAOU,GAAGC,SAASK,YAAY,aAAc,CACzCH,KAAM,QACN5B,KAAM,eACN8B,SAAUA,KACNhB,EAAUC,EAAO,GAGvB,IAKNO,IAAAA,cAAsBC,IAAI,aAAa,SAAUR,EAAQS,GACrDT,EAAOU,GAAGC,SAASC,UAAU,YAAa,CACtCC,KAAM,OACNC,QAAS,mBACTG,SAAU,SACVF,SAAUA,KACNV,EAASL,EAAO,EAEpBkB,cAAe,YAEnBlB,EAAOU,GAAGC,SAASK,YAAY,YAAa,CACxCH,KAAM,OACN5B,KAAM,cACNgC,SAAU,SACVF,SAAUA,KACNV,EAASL,EAAO,EAEpBkB,cAAe,YAGnBlB,EAAOU,GAAGC,SAASC,UAAU,SAAU,CACnCC,KAAM,SACNC,QAAS,cAETC,SAAWI,IACPnB,EAAOoB,YAAY,SAAS,EAEhCF,cAAe,WAEvB,IAEA,MAAepH,EAAAA,EAAKC,OAAO,CACvBC,KAAM,YACNC,QAAS,iBACTC,SAAU,CACN8E,eAAgB,WAChBhC,UAAW,GAWXqE,gBAAiB,WACjBpC,KAAM,CACFqC,cAAe,eAEnBC,qBAAsB,CAClBrE,SAAUjB,EACVuF,OAAQ1E,EACR2E,SAAUjG,EACVkG,MAAOnE,EACPuC,OAAQhC,EACRb,MAAOE,EACPwE,YAAa7E,EACb8E,cAAe/H,IAKvBgI,wBAAyB,CACrB3E,SAAU4E,EACVN,OAAQM,EACRL,SAAUK,EACVJ,MAAOI,EACPhC,OAAQgC,EACR7E,MAAO8E,EACPJ,YAAaI,EACbH,cAAeG,GAGnBC,SAAU,SAAUxC,GAChB,OAAOyC,IAAAA,SAAW5H,KAAKwH,wBAAwBxH,KAAKmC,UAA7CyF,CAAwDzC,EACnE,EAEApF,KAAM,WACF,IAAIuE,EAAOtE,KACXsE,EAAKpE,YAAcoE,EAAKrE,QAAQC,YAC5BoE,EAAKpE,YAAYD,QAAQ0E,iBACzBL,EAAKrE,QAAQ0E,eAAiBL,EAAKpE,YAAYD,QAAQ0E,gBAE3DL,EAAKnE,KAAOmE,EAAKpE,YAAYC,KAC7BmE,EAAKlE,IAAMkE,EAAKnE,KAAKC,IACrBkE,EAAKnC,SAAWmC,EAAKrE,QAAQ+G,gBAC7B1C,EAAK3B,UAAY,CAAC,EAClB2B,EAAKuD,MAAQvB,EAAAA,EAASwB,SAAS,eAAe/H,KAAKuE,EAAKX,IAAK,CACzDoE,KAAMzD,EAAK0D,oBACXC,QAAS,KACTC,QAAS,aACTC,qBAAqB,EACrBC,gBAAiB,CACbC,YAAa,wBACbF,qBAAqB,GAEzBG,cAAe,CAAEH,qBAAqB,GACtCI,gBAAiB,CACbC,OAAQ,OACRC,cAAc,KAGtBnE,EAAKuD,MAAMa,GAAG,SAAUC,IACpBrE,EAAKsE,WAAWtF,MAAMgB,EAAM,CAACqE,GAAG,GAExC,EAEAE,mBAAoB,WAEhB,IAAId,EAAO/H,KAAKG,KAAK8B,UAAU6G,aAG/B,GACI,IAAIrH,KAAKsG,MACP,wBAAwBtG,KAAKsG,KAAoC,IAA3BA,EAAKpG,QAAQ,UAErD,OAAO,EAGX,GAAI3B,KAAK+I,UAAW,CAChB,IAAIvE,EAAQxE,KAAK+I,UAAUC,WAE3B,GAAqB,IAAjBxE,EAAME,OACN,OAAO,EAGX,IAAK,IAAIuE,EAAKzE,EAAME,OAAS,EAAGuE,GAAM,EAAGA,IACrC,GAA2B,IAAvBzE,EAAMyE,GAAIC,SACV,OAAO,CAGnB,CAEA,OAAO,CACX,EAEAlB,kBAAmB,WACf,OAAOhI,KAAK2H,SAAS,CACjB1H,QAASD,KAAKC,QACdkH,OAAQnH,KAAKC,QAAQkH,OACrBvC,KAAM5E,KAAKC,QAAQ2E,KACnBqC,cAAejH,KAAKC,QAAQ2E,KAAKqC,cACjCkC,gBAAiBnJ,KAAKC,QAAQ2E,KAAKuE,gBACnCC,WAAYpJ,KAAKC,QAAQ2E,KAAKuC,OAC9BkC,eAAgBrJ,KAAKC,QAAQ2E,KAAKyE,eAClCxG,SAAU7C,KAAKC,QAAQ2E,KAAK/B,SAC5BuE,SAAUpH,KAAKC,QAAQ2E,KAAKwC,SAC5B3B,OAAQzF,KAAKC,QAAQ2E,KAAKa,OAC1B6D,YAAatJ,KAAKC,QAAQ2E,KAAK0E,YAC/BC,OAAQvJ,KAAKC,QAAQ2E,KAAK2E,OAC1B5G,UAAW3C,KAAKC,QAAQ0C,UACxB6G,aAAcxJ,KAAKC,QAAQ2E,KAAK4E,aAChCC,UAAWzJ,KAAKC,QAAQ2E,KAAKyC,MAC7BqC,YAAa1J,KAAKC,QAAQ2E,KAAKzB,QAC/BwG,WAAY3J,KAAKC,QAAQ0J,WACzBC,UAAW5J,KAAKC,QAAQ2E,KAAKP,MAC7BwF,kBAAmB7J,KAAKC,QAAQ2E,KAAKkF,cACrCvC,cAAevH,KAAKC,QAAQ2E,KAAK2C,cACjCwC,kBAAmB/J,KAAKC,QAAQ2E,KAAKmF,kBACrCC,QAAShK,KAAKC,QAAQ2E,KAAKqF,IAC3BC,eAAgBlK,KAAKC,QAAQ2E,KAAKuF,WAClCC,2BAA4BpK,KAAKC,QAAQ2E,KAAKyF,uBAC9CC,gBAAiBtK,KAAKC,QAAQ2E,KAAK0F,gBACnCC,YAAavK,KAAKC,QAAQ2E,KAAK4F,QAC/BC,UAAWzK,KAAKC,QAAQ2E,KAAK8F,MAC7BC,gBAAiB3K,KAAKC,QAAQ0K,gBAC9BC,uBAAwB5K,KAAKC,QAAQ2K,uBACrCC,UAAW7K,KAAKC,QAAQ2E,KAAKiG,UAC7BC,UAAW9K,KAAKC,QAAQ2E,KAAKkG,WAErC,EAEAC,YAAa,WACT,OAA6E,IAAtE,CAAC,QAAS,cAAe,iBAAiBpJ,QAAQ3B,KAAKmC,SAClE,EAEA6I,aAAcnJ,iBACV,IAAIyC,EAAOtE,KACXsE,EAAK2G,QAAU1J,IAAE,wBAAyB+C,EAAKuD,MAAMqD,QACrD5G,EAAK6G,QAAU5J,IAAE,qCAAsC+C,EAAKuD,MAAMqD,QAClE5G,EAAK8G,OAAS7J,IAAE,sBAAuB+C,EAAKuD,MAAMqD,QAClD5G,EAAKf,SAAWhC,IAAE,wBAAyB+C,EAAKuD,MAAMqD,QAEtD5G,EAAK+G,KAAO9J,IAAE,oBAAqB+C,EAAKuD,MAAMqD,QAC9C5G,EAAKgH,OAAS/J,IAAE,uBAAwB+C,EAAKuD,MAAMqD,QACnD5G,EAAKrB,OAAS1B,IAAE,uBAAwB+C,EAAKuD,MAAMqD,QACnD5G,EAAKiH,eAAiBhK,IAAE,2BAA4B+C,EAAKuD,MAAMqD,QAC/D5G,EAAKkH,iBAAmBjK,IAAE,gCAAiC+C,EAAKuD,MAAMqD,QACtE5G,EAAKmH,wBAA0BlK,IAC3B,uCACA+C,EAAKuD,MAAMqD,QAEf5G,EAAKoH,SAAWnK,IAAE,2BAA4B+C,EAAKuD,MAAMqD,QAGzD,IAAK,IAAI5F,EAAQ,EAAGA,EAAQhB,EAAKrE,QAAQ0C,UAAU+B,OAAQY,IAAS,CAChE,IAAIqG,EAAOrH,EAAKrE,QAAQ0C,UAAU2C,GAC9BsG,EAAarK,IAAE,aAAeoK,EAAO,SAAUrH,EAAKuD,MAAMqD,QAC9D,GAAIU,EAAWlH,OAAQ,CACnB,IAAIoB,EAAW,IAAIxB,EAAKrE,QAAQiH,qBAAqByE,GACjDC,EACA,CACI9L,UAAWwE,EACXpE,YAAaoE,EAAKpE,oBAGpB2L,EAAAA,EAAOC,mBAAmBhG,GAChCxB,EAAK3B,UAAUgJ,GAAQ7F,CAC3B,CACJ,CAEAvE,IAAE,iBAAkB+C,EAAKuD,MAAMqD,QAAQxC,GAAG,SAAS,WAC/C,IAGIqD,EAHYxK,IAAE,oBAAqB+C,EAAKuD,MAAMqD,QAAQc,GACtDzK,IAAEvB,MAAMsF,SAEY,GAAG2G,UAAUvK,MAAM,OAC3CkG,IAAAA,KAAOmE,GAAS,SAAUlL,IAC0B,IAA5C+G,IAAAA,QAAUtD,EAAKrE,QAAQ0C,UAAW9B,KAClCyD,EAAKnC,SAAWtB,EAExB,GACJ,IAEAyD,EAAKmH,wBAAwB/C,GAAG,UAAU,WAClC1I,KAAKkM,QACL5H,EAAKoH,SAASS,KAAK,YAAY,GAE/B7H,EAAKoH,SAASS,KAAK,YAAY,EAEvC,GACJ,EAEAC,WAAY,WAER,OAAOpM,KAAK2C,UAAU3C,KAAKmC,UAAUzB,OACzC,EAEA2L,SAAU,WACN,OAAOrM,KAAK2C,UAAU3C,KAAKmC,UAAU3B,OACzC,EAEA8L,aAAc,SAAUjJ,GACpB,IAAIiB,EAAOtE,KAEXsE,EAAKnE,KAAKoM,QACVjI,EAAKnE,KAAK8B,UAAUuK,OAAOlI,EAAKmI,KAEhC,IAAIlD,EAASjF,EAAK2G,QAAQpK,MACtBwD,EAAQC,EAAK8G,OAAOvK,MACpB6L,EAAYnL,IAAAA,QACZ,EACA+C,EAAKa,KACL,CACI,MAASd,GAAgB,KACzB,OAAUkF,GAAkB,KAC5B,gBAAiBjF,EAAKnC,SACtB,KAAQkB,GAEZiB,EAAK3B,UAAU2B,EAAKnC,UAAUlB,cAE9BqD,EAAKyE,WACDzE,EAAKqI,UAAYD,EAAU9H,OAASN,EAAKsI,cACrC,cAAetI,EAAKyE,UACpBzE,EAAKyE,UAAU8D,UAAYvI,EAAKa,KAAKP,KAErCN,EAAKyE,UAAU+D,YAAcxI,EAAKa,KAAKP,MAI/CN,EAAKnE,KAAKC,IAAI2M,WAAWzI,EAAKyE,UAAW2D,GAEzCpI,EAAKnE,KAAK8B,UAAUwC,OAAOH,EAAKyE,WAChCzE,EAAKnE,KAAK6M,YAAY7G,OAElB7B,EAAKqI,SACLrI,EAAKnE,KAAK8M,cACN3I,EAAKnE,KAAKC,IAAI8M,WACV,IACAR,EACApI,EAAKnE,KAAKC,IAAI+M,OAAO7I,EAAKa,KAAKP,QAIvCN,EAAKnE,KAAK4G,YAAY,iBAAiB,EAAO2F,EAG1D,EAEAU,aAAc,SAAUC,GACpBrN,KAAKG,KAAKoM,QACVvM,KAAKG,KAAK8B,UAAUwC,OAAO4I,GAC3BrN,KAAKG,KAAKmN,aACd,EAEAtK,mBAAoB,SAAUuK,GAC1B,IAAIC,EAAwBxN,KAAKC,QAAQ0K,gBAAgB4C,GACzD,OAAOC,EAAsBC,UACzBD,EAAsBC,UAAU/I,OAAS,GAC3CgG,KACN,EAEAgD,YAAa,SAAUC,GACnBC,QAAQC,IAAI,gBAAgBF,KAC5B,IAAIrJ,EAAOtE,KACPqE,EAAQC,EAAK8G,OAAOvK,MACpBwJ,EAAyB/F,EAAKmH,wBAAwBU,KAAK,WAC3D7B,EAAkBhG,EAAKkH,iBAAiBW,KAAK,WAC7C3B,EAAUlG,EAAKoH,SAAS7K,MAE5ByD,EAAKnE,KAAKoM,QACVjI,EAAKnE,KAAK8B,UAAUuK,OAAOlI,EAAKmI,KAChC,IAAIqB,EAAa,CACb,kBAEAxJ,EAAKgH,OAAOzK,OACZiN,EAAW1L,KAAKkC,EAAKgH,OAAOzK,OAEV,kBAAlByD,EAAKnC,UACL2L,EAAW1L,KAAK,mBAAqBkC,EAAKrB,OAAOpC,QAEjDwJ,GAA0BG,IAC1BsD,EAAW1L,KAAK,aAEhBkI,GACAwD,EAAW1L,KAAK,YAEpB,IAAI+C,EAAO,CACP,IAAOwI,EACP,MAAStJ,GAAgB,KACzB,IAAOC,EAAK+G,KAAKxK,MACjB,MAASiN,EAAWC,KAAK,KACzB,gBAAiBzJ,EAAKnC,SACtB,aAAcmC,EAAKtB,mBAAmBsB,EAAKrB,OAAOpC,UAC/CyD,EAAK3B,UAAU2B,EAAKnC,UAAUlB,cAUrC,GAPsB,kBAAlBqD,EAAKnC,WACLgD,EAAK,uBAAyBb,EAAKrB,OAAOpC,OAG1C2J,IAAYH,IACZlF,EAAK,oBAAsBqF,GAE3BlG,EAAK0J,SAAW1J,EAAK0J,OAAOC,aAAa,mBAAoB,CAC7D,MAAMC,EAAW5J,EAAKlE,IAAIU,UAAUwD,EAAK0J,OAAQ,SAC3CG,EAAY7J,EAAKlE,IAAIU,UAAUwD,EAAK0J,OAAQ,UAC9CE,IACA/I,EAAKiJ,MAAQF,GAEbC,IACAhJ,EAAKkJ,OAASF,EAEtB,MACI7J,EAAK0J,OAAS,KAUlB,IAPkBA,EAOdM,EAAYhK,EAAKlE,IAAImO,OAAO,MAAOpJ,GAEnCb,EAAK0J,QAA+C,OAArC1J,EAAK0J,OAAOQ,QAAQ1J,cACnCR,EAAK0J,OAAOS,YAAYH,GAExBhK,EAAKmI,IAAIiC,WAAWJ,GAExBhK,EAAK0J,OAASM,GAdIN,EAgBT1J,EAAK0J,QAfHW,OAASX,EAAOY,QAAU,WAC7BZ,EAAOW,OAASX,EAAOY,QAAU,KACjCtK,EAAK8I,aAAaY,EACtB,EAaA1J,EAAK0J,OAAOa,UACZvK,EAAK8I,aAAa9I,EAAK0J,OAE/B,EAGApF,WAAY/G,eAAgB8G,GACxB,IAAIrE,EAAOtE,WACLsE,EAAK0G,eACX1G,EAAKwK,WA+BLxK,EAAK6G,QAAQ4D,IAAI,SAASrG,GAAG,SAAS,SAAUC,GA0B5C,IAAItF,EAzBJsF,EAAEqG,iBACFrG,EAAEsG,kBACF3K,EAAKnC,SAAWmC,EAAKuD,MAAMqD,OAAOtH,KAAK,mBAAmBuB,KAAK,YAwB/D,IACI9B,EAAOiB,EAAK8H,YAChB,CAAE,MAAO8C,GAEL,YADAtB,QAAQC,IAAIqB,EAEhB,CACK7L,IAGDiB,EAAKyG,cACLzG,EAAKoJ,YAAYrK,GAGjBiB,EAAKgI,aAAajJ,GAEtBiB,EAAK6K,OACT,IACA5N,IAAE,qCAAsC+C,EAAKuD,MAAMqD,QAAQxC,GACvD,SACA,SAAUC,GACNA,EAAEqG,iBACF1K,EAAK6K,MACT,GAER,EAEAC,KAAM,WACFpP,KAAK6H,MAAMuH,MACf,EAEAD,KAAM,WACFnP,KAAK6H,MAAMsH,MACf,EAEAL,SAAU,WACN,IAKItO,EAkCA2B,EAvCAmC,EAAOtE,KAwCX,GAvCAsE,EAAKa,KAAO,CAAC,EAGbb,EAAKsI,YAAc,KAEnBtI,EAAKmI,IAAMnI,EAAKnE,KAAK8B,UAAUoN,SAC/B/K,EAAKgL,YAAchL,EAAKnE,KAAK8B,UAAUC,UACvCoC,EAAKyE,UAAYzE,EAAKnE,KAAKC,IAAImP,UAAUjL,EAAKgL,YAAa,WAC3DhL,EAAKqI,SAAWrI,EAAKuE,qBAErBvE,EAAKa,KAAKP,KAAON,EAAKsI,YAActI,EAAKyE,UACnCzE,EAAKyE,UAAU8D,WAAavI,EAAKyE,UAAU+D,YAC3CxI,EAAKnE,KAAK8B,UAAU6G,WAAW,CAAE0G,OAAQ,SAC/ClL,EAAKa,KAAK9B,KAAOiB,EAAKyE,UAChBzE,EAAKnE,KAAKC,IAAIU,UAAUwD,EAAKyE,UAAW,QACxC,GAEFzE,EAAKyE,UACLzE,EAAKa,KAAKoE,OAASjF,EAAKnE,KAAKC,IAAIU,UAAUwD,EAAKyE,UAAW,UACpDzE,EAAKnE,KAAKF,QAAQwP,IAAI,yBAC7BnL,EAAKa,KAAKoE,OAASjF,EAAKnE,KAAKF,QAAQwP,IAAI,yBAGxCjP,EAAQ8D,EAAKnE,KAAKC,IAAIU,UAAUwD,EAAKyE,UAAW,UACjDzE,EAAKa,KAAKuK,IAAMlP,IAGfA,EAAQ8D,EAAKnE,KAAKC,IAAIU,UAAUwD,EAAKyE,UAAW,YACjDzE,EAAKa,KAAY,MAAI3E,IAGpBA,EAAQ8D,EAAKnE,KAAKC,IAAIU,UAAUwD,EAAKyE,UAAW,YACjDzE,EAAKa,KAAKd,MAAQ7D,GAGtB8D,EAAKnE,KAAKoM,QACVjI,EAAKyE,UAAYzE,EAAKlE,IAAImP,UAAUjL,EAAKgL,YAAa,WAGlDhL,EAAKyG,cAAe,CACpB,IAAI4E,EACJA,EAAMrL,EAAKgL,YACXhL,EAAK0J,OAAS2B,EAEd,IAAIhC,EAAMrJ,EAAKlE,IAAIU,UAAUwD,EAAK0J,OAAQ,OACtCzD,EAAcjG,EAAKlE,IAAIU,UAAUwD,EAAK0J,OAAQ,oBAoBlD,GAnBA1J,EAAK8G,OAAOvK,IAAIyD,EAAKlE,IAAIU,UAAUwD,EAAK0J,OAAQ,UAChD1J,EAAK+G,KAAKxK,IAAIyD,EAAKlE,IAAIU,UAAUwD,EAAK0J,OAAQ,QAE1CzM,IAAE+C,EAAK0J,QAAQ4B,SAAS,aACxBtL,EAAKkH,iBAAiBW,KAAK,WAAW,GAEtC5K,IAAE+C,EAAK0J,QAAQ4B,SAAS,eAAiBrF,GACzCjG,EAAKmH,wBAAwBU,KAAK,WAAW,GAC7C7H,EAAKoH,SAASS,KAAK,YAAY,KACxB5K,IAAE+C,EAAK0J,QAAQ4B,SAAS,aAC/BtL,EAAKmH,wBAAwBU,KAAK,WAAW,IAI7C5B,GACAjG,EAAKoH,SAAS7K,IAAI0J,IAGtBpI,EAAWmC,EAAKlE,IAAIU,UAAUwD,EAAK0J,OAAQ,mBAC3B7L,KAAYmC,EAAK3B,UAAW,CACxC2B,EAAKnC,SAAWA,EAChBmC,EAAK3B,UAAU2B,EAAKnC,UAAUxB,KAAK2D,EAAK0J,QAGxC,IAAIT,EAAiBjJ,EAAKlE,IAAIU,UAC1BwD,EAAK0J,OACL,uBAEJ1J,EAAKrB,OAAOpC,IAAI0M,GAQhBhM,IAAE,aAAe+C,EAAKnC,SAAUmC,EAAKuD,MAAMqD,QAAQtL,QAAQ,QAC/D,MAAW+N,GACPrJ,EAAKuL,eAAelC,GAIxB,IAFA,IACImC,EADYxL,EAAKlE,IAAIU,UAAUwD,EAAK0J,OAAQ,SACxBtM,MAAM,KACrByC,EAAI,EAAGA,EAAI2L,EAAQpL,OAAQP,GAAQ,EAAG,CAC3C,IAAI4L,EAAQD,EAAQ3L,GACpB,IAAK,IAAI6L,KAAc1L,EAAKrE,QAAQgQ,cACG,IAA/BD,EAAWrO,QAAQoO,IACnBzL,EAAKgH,OAAOzK,IAAIkP,EAG5B,CACJ,MAAO,GAAIzL,EAAKyE,UAAW,CACvBzE,EAAK8I,aAAa9I,EAAKyE,WACvB,IAAI1F,EAKJ,GAJAA,EAAOiB,EAAKlE,IAAIU,UAAUwD,EAAKyE,UAAW,QAC1CzE,EAAK2G,QAAQpK,IAAIyD,EAAKlE,IAAIU,UAAUwD,EAAKyE,UAAW,WACpDzE,EAAK8G,OAAOvK,IAAIyD,EAAKlE,IAAIU,UAAUwD,EAAKyE,UAAW,UACnD5G,EAAWmC,EAAKlE,IAAIU,UAAUwD,EAAKyE,UAAW,iBAChC,CACVzE,EAAKnC,SAAWA,EAChBmC,EAAK3B,UAAU2B,EAAKnC,UAAUxB,KAAK2D,EAAKyE,WACxC,IAAImH,EAAS3O,IAAE,aAAe+C,EAAKnC,SAAUmC,EAAKuD,MAAMqD,QAElC,IAAlBgF,EAAOxL,QACPnD,IAAE,IAAM2O,EAAO/K,KAAK,uBAAuBvF,QAAQ,QAE3D,MAAWyD,GACPiB,EAAK6L,gBAAgB9M,EAE7B,CACJ,EAEAwM,eAAgB,SAAUlC,IACgC,IAAlDA,EAAIhM,QAAQ3B,KAAKC,QAAQmQ,qBACzBpQ,KAAKmC,SAAW,QAEhBnC,KAAKiD,OAAOpC,IAAIb,KAAKE,YAAYmQ,gBAAgB1C,IACjD3N,KAAK2C,UAAUC,MAAM7B,IAAIf,KAAKE,YAAYoQ,kBAAkB3C,MAE5D3N,KAAKmC,SAAW,gBAChBnC,KAAK2C,UAAU4E,cAAcxG,IAAI4M,GAEzC,EAEAwC,gBAAiB,SAAU9M,GAEvB,GADAuK,QAAQC,IAAI,SAAWxK,GAEnBrD,KAAKC,QAAQsQ,eACgC,IAA7ClN,EAAK1B,QAAQ3B,KAAKC,QAAQsQ,cAI1BvQ,KAAKmC,SAAW,WAChBnC,KAAK2C,UAAUE,SAAS9B,IAAIf,KAAKE,YAAYoQ,kBAAkBjN,SAC5D,IAAiC,IAA7BA,EAAK1B,QAAQ,WAAmB,CACvC3B,KAAKmC,SAAW,QAChB,IACIT,EADQ2B,EAAK0B,UAAU,EAAkB1B,EAAKqB,QAChChD,MAAM,aACxB1B,KAAK2C,UAAU0E,MAAMtG,IAAIW,EAAM,IAC3BA,EAAMgD,OAAS,GACf1E,KAAKuD,SAAS1C,IAAI2P,mBAAmB9O,EAAM,IAEnD,KAAuB,MAAZ2B,EAAK,IACZrD,KAAKmC,SAAW,SAChBnC,KAAK2C,UAAU8C,OAAO1E,IAAIsC,EAAK0B,UAAU,MAEzC/E,KAAKmC,SAAW,WAChBnC,KAAK2C,UAAUyE,SAASrG,IAAIsC,GAEpC,EAUAoN,aAAc,WAMVzQ,KAAK6H,MAAM5H,QAAQ8H,KAAO/H,KAAKgI,mBACnC,G","sources":["webpack://plone.staticresources/./node_modules/@plone/mockup/src/pat/tinymce/js/links.js"],"sourcesContent":["import Base from \"@patternslib/patternslib/src/core/base\";\nimport events from \"@patternslib/patternslib/src/core/events\";\nimport registry from \"@patternslib/patternslib/src/core/registry\";\nimport $ from \"jquery\";\nimport _ from \"underscore\";\n\nimport tinymce from \"tinymce/tinymce\";\nimport \"../../autotoc/autotoc\";\nimport \"../../modal/modal\";\nimport ImageTemplate from \"../templates/image.xml\";\nimport LinkTemplate from \"../templates/link.xml\";\n\nvar LinkType = Base.extend({\n name: \"linktype\",\n trigger: \".pat-linktype-dummy\",\n defaults: {\n linkModal: null, // required\n },\n\n init: function () {\n this.linkModal = this.options.linkModal;\n this.tinypattern = this.options.tinypattern;\n this.tiny = this.tinypattern.tiny;\n this.dom = this.tiny.dom;\n },\n\n getEl: function () {\n return this.el.querySelector(\"input\");\n },\n\n value: function () {\n return this.getEl().value.trim();\n },\n\n toUrl: function () {\n return this.value();\n },\n\n load: function (element) {\n let val = this.tiny.dom.getAttrib(element, \"data-val\");\n this.set(val);\n },\n\n set: function (val) {\n this.getEl().setAttribute(\"value\", val);\n },\n\n attributes: function () {\n return {\n \"data-val\": this.value(),\n };\n },\n updateRelatedItems: function () { },\n});\n\nvar ExternalLink = LinkType.extend({\n name: \"externallinktype\",\n trigger: \".pat-externallinktype-dummy\",\n init: function () {\n LinkType.prototype.init.call(this);\n // selectedItemsNode.addEventListener(\"change\", readSelectedItemsFromInput);\n this.getEl().addEventListener(\"change\", function () {\n // check here if we should automatically add in http:// to url\n var val = $(this).val();\n if (new RegExp(\"https?://\").test(val)) {\n // already valid url\n return;\n }\n var domain = $(this).val().split(\"/\")[0];\n if (domain.indexOf(\".\") !== -1) {\n $(this).val(\"http://\" + val);\n }\n });\n },\n load: function (element) {\n let val = this.tiny.dom.getAttrib(element, \"data-val\");\n this.set(val);\n },\n});\n\nvar InternalLink = LinkType.extend({\n name: \"internallinktype\",\n trigger: \".pat-internallinktype-dummy\",\n init: async function () {\n const linkEl = this.getEl();\n if (!linkEl) {\n return;\n }\n LinkType.prototype.init.call(this);\n await this.createContentBrowser();\n },\n\n getEl: function () {\n return this.el.querySelector(\"input\");\n },\n\n createContentBrowser: async function () {\n var options = {\n \"selection\": [],\n ...this.linkModal.options?.relatedItems,\n };\n options[\"maximum-selection-size\"] = 1;\n // enable upload in ContentBrowser instead of separate tab\n options[\"upload\"] = 1;\n const inputEl = this.getEl();\n const element = this.tiny.selection.getNode();\n const linkType = this.tiny.dom.getAttrib(element, \"data-linktype\");\n if (linkType === \"internal\" || linkType === \"image\") {\n options.selection.push(this.tiny.dom.getAttrib(element, \"data-val\"));\n }\n const ContentBrowser = (await import(\"../../contentbrowser/contentbrowser\"))\n .default;\n this.contentBrowserPattern = new ContentBrowser(inputEl, options);\n },\n\n toUrl: function () {\n var value = this.value();\n if (value) {\n return this.tinypattern.generateUrl(value);\n }\n return null;\n },\n\n});\n\nvar UploadLink = LinkType.extend({\n name: \"uploadlinktype\",\n trigger: \".pat-uploadlinktype-dummy\",\n /* need to do it a bit differently here.\n when a user uploads and tries to upload from\n it, you need to delegate to the real insert\n linke types */\n getDelegatedLinkType: function () {\n if (this.linkModal.linkType === \"uploadImage\") {\n return this.linkModal.linkTypes.image;\n } else {\n return this.linkModal.linkTypes.internal;\n }\n },\n toUrl: function () {\n return this.getDelegatedLinkType().toUrl();\n },\n attributes: function () {\n return this.getDelegatedLinkType().attributes();\n },\n set: function (val) {\n return this.getDelegatedLinkType().set(val);\n },\n load: function (element) {\n return this.getDelegatedLinkType().load(element);\n },\n value: function () {\n return this.getDelegatedLinkType().value();\n },\n});\n\nvar ImageLink = InternalLink.extend({\n name: \"imagelinktype\",\n trigger: \".pat-imagelinktype-dummy\",\n toUrl: function () {\n var value = this.value();\n return this.tinypattern.generateImageUrl(\n value,\n this.linkModal.getScaleFromSrcset(this.linkModal.$scale.val())\n );\n },\n});\n\nvar EmailLink = LinkType.extend({\n name: \"emaillinktype\",\n trigger: \".pat-emaillinktype-dummy\",\n toUrl: function () {\n var self = this;\n var val = self.value();\n if (val) {\n var subject = self.getSubject();\n var href = \"mailto:\" + val;\n if (subject) {\n href += \"?subject=\" + subject;\n }\n return href;\n }\n return null;\n },\n\n load: function (element) {\n LinkType.prototype.load.apply(this, [element]);\n this.linkModal.$subject.val(this.tiny.dom.getAttrib(element, \"data-subject\"));\n },\n\n getSubject: function () {\n return this.linkModal.$subject.val();\n },\n\n attributes: function () {\n var attribs = LinkType.prototype.attributes.call(this);\n attribs[\"data-subject\"] = this.getSubject();\n return attribs;\n },\n});\n\nvar AnchorLink = LinkType.extend({\n name: \"anchorlinktype\",\n trigger: \".pat-anchorlinktype-dummy\",\n init: function () {\n LinkType.prototype.init.call(this);\n this.$select = this.$el.find(\"select\");\n this.anchorNodes = [];\n this.anchorData = [];\n this.populate();\n },\n\n value: function () {\n var val = this.$select.select2(\"data\");\n if (val && typeof val === \"object\") {\n val = val.id;\n }\n return val;\n },\n\n populate: function () {\n var self = this;\n self.$select.find(\"option\").remove();\n self.anchorNodes = [];\n self.anchorData = [];\n var node, i, j, name, title;\n\n var nodes = self.tiny.dom.select(\".mceItemAnchor,.mce-item-anchor\");\n for (i = 0; i < nodes.length; i = i + 1) {\n node = nodes[i];\n name = self.tiny.dom.getAttrib(node, \"name\");\n if (!name) {\n name = self.tiny.dom.getAttrib(node, \"id\");\n }\n if (name !== \"\") {\n self.anchorNodes.push(node);\n self.anchorData.push({ name: name, title: name });\n }\n }\n\n nodes = self.tiny.dom.select(self.linkModal.options.anchorSelector);\n if (nodes.length > 0) {\n for (i = 0; i < nodes.length; i = i + 1) {\n node = nodes[i];\n title = $(node)\n .text()\n .replace(/^\\s+|\\s+$/g, \"\");\n if (title === \"\") {\n continue;\n }\n name = title.toLowerCase().substring(0, 1024);\n name = name.replace(/[^a-z0-9]/g, \"-\");\n /* okay, ugly, but we need to first check that this anchor isn't already available */\n var found = false;\n for (j = 0; j < self.anchorNodes.length; j = j + 1) {\n var anode = self.anchorData[j];\n if (anode.name === name) {\n found = true;\n // so it's also found, let's update the title to be more presentable\n anode.title = title;\n break;\n }\n }\n if (!found) {\n self.anchorData.push({\n name: name,\n title: title,\n newAnchor: true,\n });\n self.anchorNodes.push(node);\n }\n }\n }\n if (self.anchorNodes.length > 0) {\n for (i = 0; i < self.anchorData.length; i = i + 1) {\n var data = self.anchorData[i];\n self.$select.append(\n '\"\n );\n }\n } else {\n self.$select.append(\"\");\n }\n },\n\n getIndex: function (name) {\n for (var i = 0; i < this.anchorData.length; i = i + 1) {\n var data = this.anchorData[i];\n if (data.name === name) {\n return i;\n }\n }\n return 0;\n },\n\n toUrl: function () {\n var val = this.value();\n if (val) {\n var index = parseInt(val, 10);\n var node = this.anchorNodes[index];\n var data = this.anchorData[index];\n if (data.newAnchor) {\n node.innerHTML =\n '' +\n node.innerHTML;\n }\n return \"#\" + data.name;\n }\n return null;\n },\n\n set: function (val) {\n var anchor = this.getIndex(val);\n this.$select.select2(\"data\", \"\" + anchor);\n },\n});\n\nconst add_image = (editor) => {\n var pattern_inst = document.getElementById(editor.id)[\"pattern-tinymce\"].instance;\n pattern_inst.addImageClicked();\n}\n\nconst add_link = (editor) => {\n var pattern_inst = document.getElementById(editor.id)[\"pattern-tinymce\"].instance;\n pattern_inst.addLinkClicked();\n}\n\n// image plugin\n// eslint-disable-next-line no-unused-vars\ntinymce.PluginManager.add(\"ploneimage\", (editor, url) => {\n editor.ui.registry.addButton(\"ploneimage\", {\n icon: \"image\",\n text: \"Insert image\",\n tooltip: \"Insert/edit image\",\n onAction: () => {\n add_image(editor);\n },\n // stateSelector: \"img:not([data-mce-object])\",\n });\n editor.ui.registry.addMenuItem(\"ploneimage\", {\n icon: \"image\",\n text: \"Insert image\",\n onAction: () => {\n add_image(editor);\n },\n // stateSelector: \"img:not([data-mce-object])\",\n });\n});\n\n// link plugin\n// eslint-disable-next-line no-unused-vars\ntinymce.PluginManager.add(\"plonelink\", function (editor, url) {\n editor.ui.registry.addButton(\"plonelink\", {\n icon: \"link\",\n tooltip: \"Insert/edit link\",\n shortcut: \"Ctrl+K\",\n onAction: () => {\n add_link(editor);\n },\n stateSelector: \"a[href]\",\n });\n editor.ui.registry.addMenuItem(\"plonelink\", {\n icon: \"link\",\n text: \"Insert link\",\n shortcut: \"Ctrl+K\",\n onAction: () => {\n add_link(editor);\n },\n stateSelector: \"a[href]\",\n });\n\n editor.ui.registry.addButton(\"unlink\", {\n icon: \"unlink\",\n tooltip: \"Remove link\",\n // eslint-disable-next-line no-unused-vars\n onAction: (api) => {\n editor.execCommand(\"unlink\");\n },\n stateSelector: \"a[href]\",\n });\n});\n\nexport default Base.extend({\n name: \"linkmodal\",\n trigger: \".pat-linkmodal\",\n defaults: {\n anchorSelector: \"h1,h2,h3\",\n linkTypes: [\n /* available, none activate by default because these options\n * only get merged, not set.\n 'internal',\n 'upload',\n 'external',\n 'email',\n 'anchor',\n 'image'\n 'externalImage'*/\n ],\n initialLinkType: \"internal\",\n text: {\n insertHeading: \"Insert Link\",\n },\n linkTypeClassMapping: {\n internal: InternalLink,\n upload: UploadLink,\n external: ExternalLink,\n email: EmailLink,\n anchor: AnchorLink,\n image: ImageLink,\n uploadImage: UploadLink,\n externalImage: LinkType,\n },\n },\n // XXX: this is a temporary work around for having separated templates.\n // Image modal is going to have its own modal class, funcs and template.\n linkTypeTemplateMapping: {\n internal: LinkTemplate,\n upload: LinkTemplate,\n external: LinkTemplate,\n email: LinkTemplate,\n anchor: LinkTemplate,\n image: ImageTemplate,\n uploadImage: ImageTemplate,\n externalImage: ImageTemplate,\n },\n\n template: function (data) {\n return _.template(this.linkTypeTemplateMapping[this.linkType])(data);\n },\n\n init: function () {\n var self = this;\n self.tinypattern = self.options.tinypattern;\n if (self.tinypattern.options.anchorSelector) {\n self.options.anchorSelector = self.tinypattern.options.anchorSelector;\n }\n self.tiny = self.tinypattern.tiny;\n self.dom = self.tiny.dom;\n self.linkType = self.options.initialLinkType;\n self.linkTypes = {};\n self.modal = registry.patterns[\"plone-modal\"].init(self.$el, {\n html: self.generateModalHtml(),\n content: null,\n buttons: \".plone-btn\",\n reloadWindowOnClose: false,\n templateOptions: {\n classDialog: \"modal-dialog modal-lg\",\n reloadWindowOnClose: false,\n },\n actionOptions: { reloadWindowOnClose: false },\n backdropOptions: {\n zIndex: \"1340\",\n closeOnClick: false,\n },\n });\n self.modal.on(\"shown\", (e) => {\n self.modalShown.apply(self, [e]);\n });\n },\n\n isOnlyTextSelected: function () {\n /* pulled from TinyMCE link plugin */\n var html = this.tiny.selection.getContent();\n\n // Partial html and not a fully selected anchor element\n if (\n /]+>[^<]+<\\/a>$/.test(html) || html.indexOf(\"href=\") === -1)\n ) {\n return false;\n }\n\n if (this.anchorElm) {\n var nodes = this.anchorElm.childNodes;\n\n if (nodes.length === 0) {\n return false;\n }\n\n for (var ii = nodes.length - 1; ii >= 0; ii--) {\n if (nodes[ii].nodeType !== 3) {\n return false;\n }\n }\n }\n\n return true;\n },\n\n generateModalHtml: function () {\n return this.template({\n options: this.options,\n upload: this.options.upload,\n text: this.options.text,\n insertHeading: this.options.text.insertHeading,\n insertImageHelp: this.options.text.insertImageHelp,\n uploadText: this.options.text.upload,\n insertLinkHelp: this.options.text.insertLinkHelp,\n internal: this.options.text.internal,\n external: this.options.text.external,\n anchor: this.options.text.anchor,\n anchorLabel: this.options.text.anchorLabel,\n target: this.options.text.target,\n linkTypes: this.options.linkTypes,\n externalText: this.options.text.externalText,\n emailText: this.options.text.email,\n subjectText: this.options.text.subject,\n targetList: this.options.targetList,\n titleText: this.options.text.title,\n internalImageText: this.options.text.internalImage,\n externalImage: this.options.text.externalImage,\n externalImageText: this.options.text.externalImageText,\n altText: this.options.text.alt,\n imageAlignText: this.options.text.imageAlign,\n captionFromDescriptionText: this.options.text.captionFromDescription,\n enableImageZoom: this.options.text.enableImageZoom,\n captionText: this.options.text.caption,\n scaleText: this.options.text.scale,\n pictureVariants: this.options.pictureVariants,\n imageCaptioningEnabled: this.options.imageCaptioningEnabled,\n cancelBtn: this.options.text.cancelBtn,\n insertBtn: this.options.text.insertBtn,\n });\n },\n\n isImageMode: function () {\n return [\"image\", \"uploadImage\", \"externalImage\"].indexOf(this.linkType) !== -1;\n },\n\n initElements: async function () {\n var self = this;\n self.$target = $('select[name=\"target\"]', self.modal.$modal);\n self.$button = $('.modal-footer input[name=\"insert\"]', self.modal.$modal);\n self.$title = $('input[name=\"title\"]', self.modal.$modal);\n self.$subject = $('input[name=\"subject\"]', self.modal.$modal);\n\n self.$alt = $('input[name=\"alt\"]', self.modal.$modal);\n self.$align = $('select[name=\"align\"]', self.modal.$modal);\n self.$scale = $('select[name=\"scale\"]', self.modal.$modal);\n self.$selectedItems = $(\"input.pat-contentbrowser\", self.modal.$modal);\n self.$enableImageZoom = $('input[name=\"enableImageZoom\"]', self.modal.$modal);\n self.$captionFromDescription = $(\n 'input[name=\"captionFromDescription\"]',\n self.modal.$modal\n );\n self.$caption = $('textarea[name=\"caption\"]', self.modal.$modal);\n\n /* load up all the link types */\n for (var index = 0; index < self.options.linkTypes.length; index++) {\n var type = self.options.linkTypes[index];\n var $container = $(\".linkType.\" + type + \" .main\", self.modal.$modal);\n if ($container.length) {\n var instance = new self.options.linkTypeClassMapping[type](\n $container,\n {\n linkModal: self,\n tinypattern: self.tinypattern,\n }\n );\n await events.await_pattern_init(instance);\n self.linkTypes[type] = instance;\n }\n }\n\n $(\".autotoc-nav a\", self.modal.$modal).on(\"click\", function () {\n var $fieldset = $(\"fieldset.linkType\", self.modal.$modal).eq(\n $(this).index()\n );\n var classes = $fieldset[0].className.split(/\\s+/);\n _.each(classes, function (val) {\n if (_.indexOf(self.options.linkTypes, val) !== -1) {\n self.linkType = val;\n }\n });\n });\n\n self.$captionFromDescription.on(\"change\", function () {\n if (this.checked) {\n self.$caption.prop(\"disabled\", true);\n } else {\n self.$caption.prop(\"disabled\", false);\n }\n });\n },\n\n getLinkUrl: function () {\n // get the url, only get one uid\n return this.linkTypes[this.linkType].toUrl();\n },\n\n getValue: function () {\n return this.linkTypes[this.linkType].value();\n },\n\n updateAnchor: function (href) {\n var self = this;\n\n self.tiny.focus();\n self.tiny.selection.setRng(self.rng);\n\n var target = self.$target.val();\n var title = self.$title.val();\n var linkAttrs = $.extend(\n true,\n self.data,\n {\n \"title\": title ? title : null,\n \"target\": target ? target : null,\n \"data-linkType\": self.linkType,\n \"href\": href,\n },\n self.linkTypes[self.linkType].attributes()\n );\n if (self.anchorElm) {\n if (self.onlyText && linkAttrs.text !== self.initialText) {\n if (\"innerText\" in self.anchorElm) {\n self.anchorElm.innerText = self.data.text;\n } else {\n self.anchorElm.textContent = self.data.text;\n }\n }\n\n self.tiny.dom.setAttribs(self.anchorElm, linkAttrs);\n\n self.tiny.selection.select(self.anchorElm);\n self.tiny.undoManager.add();\n } else {\n if (self.onlyText) {\n self.tiny.insertContent(\n self.tiny.dom.createHTML(\n \"a\",\n linkAttrs,\n self.tiny.dom.encode(self.data.text)\n )\n );\n } else {\n self.tiny.execCommand(\"mceInsertLink\", false, linkAttrs);\n }\n }\n },\n\n focusElement: function (elm) {\n this.tiny.focus();\n this.tiny.selection.select(elm);\n this.tiny.nodeChanged();\n },\n\n getScaleFromSrcset: function (pictureVariant) {\n let pictureVariantsConfig = this.options.pictureVariants[pictureVariant];\n return pictureVariantsConfig.sourceset[\n pictureVariantsConfig.sourceset.length - 1\n ].scale;\n },\n\n updateImage: function (src) {\n console.log(`updateImage: ${src}`);\n var self = this;\n var title = self.$title.val();\n var captionFromDescription = self.$captionFromDescription.prop(\"checked\");\n var enableImageZoom = self.$enableImageZoom.prop(\"checked\");\n var caption = self.$caption.val();\n\n self.tiny.focus();\n self.tiny.selection.setRng(self.rng);\n var cssclasses = [\n \"image-richtext\",\n ];\n if (self.$align.val()) {\n cssclasses.push(self.$align.val());\n }\n if (self.linkType !== \"externalImage\") {\n cssclasses.push(\"picture-variant-\" + self.$scale.val())\n }\n if (captionFromDescription || caption) {\n cssclasses.push(\"captioned\");\n }\n if (enableImageZoom) {\n cssclasses.push(\"zoomable\");\n }\n var data = {\n \"src\": src,\n \"title\": title ? title : null,\n \"alt\": self.$alt.val(),\n \"class\": cssclasses.join(\" \"),\n \"data-linkType\": self.linkType,\n \"data-scale\": self.getScaleFromSrcset(self.$scale.val()),\n ...self.linkTypes[self.linkType].attributes()\n };\n\n if (self.linkType !== \"externalImage\") {\n data[\"data-picturevariant\"] = self.$scale.val();\n }\n\n if (caption && !captionFromDescription) {\n data[\"data-captiontext\"] = caption;\n }\n if (self.imgElm && !self.imgElm.getAttribute(\"data-mce-object\")) {\n const imgWidth = self.dom.getAttrib(self.imgElm, \"width\");\n const imgHeight = self.dom.getAttrib(self.imgElm, \"height\");\n if (imgWidth) {\n data.width = imgWidth;\n }\n if (imgHeight) {\n data.height = imgHeight;\n }\n } else {\n self.imgElm = null;\n }\n\n function waitLoad(imgElm) {\n imgElm.onload = imgElm.onerror = function () {\n imgElm.onload = imgElm.onerror = null;\n self.focusElement(imgElm);\n };\n }\n\n var newImgElm = self.dom.create(\"img\", data);\n\n if (self.imgElm && self.imgElm.tagName.toLowerCase() == \"img\") {\n self.imgElm.replaceWith(newImgElm);\n } else {\n self.rng.insertNode(newImgElm);\n }\n self.imgElm = newImgElm;\n\n waitLoad(self.imgElm);\n if (self.imgElm.complete) {\n self.focusElement(self.imgElm);\n }\n },\n\n // eslint-disable-next-line no-unused-vars\n modalShown: async function (e) {\n var self = this;\n await self.initElements();\n self.initData();\n // upload init\n // if (self.options.upload) {\n // self.$upload = $(\".uploadify-me\", self.modal.$modal);\n // self.options.upload.relatedItems = $.extend(\n // true,\n // {},\n // self.options.relatedItems\n // );\n // self.options.upload.relatedItems.selectableTypes = self.options.folderTypes;\n // self.$upload.addClass(\"pat-upload\");\n // new PatternUpload(self.$upload, self.options.upload);\n // self.$upload.on(\n // \"uploadAllCompleted\",\n // function (evt, data) {\n // if (self.linkTypes.image) {\n // self.linkTypes.image.set(data.data.UID);\n // $(\n // \"#\" + $(\"#tinylink-image\", self.modal.$modal).data(\"navref\")\n // ).trigger(\"click\");\n // } else {\n // self.linkTypes.internal.set(data.data.UID);\n // $(\n // \"#\" +\n // $(\"#tinylink-internal\", self.modal.$modal).data(\"navref\")\n // ).trigger(\"click\");\n // }\n // }.bind(self)\n // );\n // }\n\n self.$button.off(\"click\").on(\"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n self.linkType = self.modal.$modal.find(\"fieldset.active\").data(\"linktype\");\n // if (self.linkType === \"uploadImage\" || self.linkType === \"upload\") {\n // var patUpload = self.$upload.data().patternUpload;\n // if (patUpload.dropzone.files.length > 0) {\n // patUpload.processUpload();\n // // eslint-disable-next-line no-unused-vars\n // self.$upload.on(\"uploadAllCompleted\", function (evt, data) {\n // var counter = 0;\n // var checkUpload = function () {\n // if (counter < 5 && !self.linkTypes[self.linkType].value()) {\n // counter += 1;\n // setTimeout(checkUpload, 100);\n // return;\n // } else {\n // var href = self.getLinkUrl();\n // self.updateImage(href);\n // self.hide();\n // }\n // };\n // checkUpload();\n // });\n // }\n // }\n var href;\n try {\n href = self.getLinkUrl();\n } catch (error) {\n console.log(error);\n return; // just cut out if no url\n }\n if (!href) {\n return; // just cut out if no url\n }\n if (self.isImageMode()) {\n self.updateImage(href);\n } else {\n /* regular anchor */\n self.updateAnchor(href);\n }\n self.hide();\n });\n $('.modal-footer input[name=\"cancel\"]', self.modal.$modal).on(\n \"click\",\n function (e) {\n e.preventDefault();\n self.hide();\n }\n );\n },\n\n show: function () {\n this.modal.show();\n },\n\n hide: function () {\n this.modal.hide();\n },\n\n initData: function () {\n var self = this;\n self.data = {};\n // get selection BEFORE..\n // This is pulled from TinyMCE link plugin\n self.initialText = null;\n var value;\n self.rng = self.tiny.selection.getRng();\n self.selectedElm = self.tiny.selection.getNode();\n self.anchorElm = self.tiny.dom.getParent(self.selectedElm, \"a[href]\");\n self.onlyText = self.isOnlyTextSelected();\n\n self.data.text = self.initialText = self.anchorElm\n ? self.anchorElm.innerText || self.anchorElm.textContent\n : self.tiny.selection.getContent({ format: \"text\" });\n self.data.href = self.anchorElm\n ? self.tiny.dom.getAttrib(self.anchorElm, \"href\")\n : \"\";\n\n if (self.anchorElm) {\n self.data.target = self.tiny.dom.getAttrib(self.anchorElm, \"target\");\n } else if (self.tiny.options.get('link_default_target')) {\n self.data.target = self.tiny.options.get('link_default_target');\n }\n\n if ((value = self.tiny.dom.getAttrib(self.anchorElm, \"rel\"))) {\n self.data.rel = value;\n }\n\n if ((value = self.tiny.dom.getAttrib(self.anchorElm, \"class\"))) {\n self.data[\"class\"] = value;\n }\n\n if ((value = self.tiny.dom.getAttrib(self.anchorElm, \"title\"))) {\n self.data.title = value;\n }\n\n self.tiny.focus();\n self.anchorElm = self.dom.getParent(self.selectedElm, \"a[href]\");\n\n var linkType;\n if (self.isImageMode()) {\n var img;\n img = self.selectedElm;\n self.imgElm = img;\n\n var src = self.dom.getAttrib(self.imgElm, \"src\");\n var captionText = self.dom.getAttrib(self.imgElm, \"data-captiontext\");\n self.$title.val(self.dom.getAttrib(self.imgElm, \"title\"));\n self.$alt.val(self.dom.getAttrib(self.imgElm, \"alt\"));\n\n if ($(self.imgElm).hasClass(\"zoomable\")) {\n self.$enableImageZoom.prop(\"checked\", true);\n }\n if ($(self.imgElm).hasClass(\"captioned\") && !captionText) {\n self.$captionFromDescription.prop(\"checked\", true);\n self.$caption.prop(\"disabled\", true);\n } else if ($(self.imgElm).hasClass(\"captioned\") && captionText) {\n self.$captionFromDescription.prop(\"checked\", false);\n } else {\n self.$captionFromDescription.prop(\"checked\", false);\n }\n if (captionText) {\n self.$caption.val(captionText);\n }\n\n linkType = self.dom.getAttrib(self.imgElm, \"data-linktype\");\n if (linkType && linkType in self.linkTypes) {\n self.linkType = linkType;\n self.linkTypes[self.linkType].load(self.imgElm);\n\n // set scale selection in link modal:\n var pictureVariant = self.dom.getAttrib(\n self.imgElm,\n \"data-picturevariant\"\n );\n self.$scale.val(pictureVariant);\n\n // var selectedImageUid = self.dom.getAttrib(\n // self.imgElm,\n // \"data-val\"\n // );\n // self.$selectedItems.val()\n\n $(\"#tinylink-\" + self.linkType, self.modal.$modal).trigger(\"click\");\n } else if (src) {\n self.guessImageLink(src);\n }\n var className = self.dom.getAttrib(self.imgElm, \"class\");\n var klasses = className.split(\" \");\n for (var i = 0; i < klasses.length; i = i + 1) {\n var klass = klasses[i];\n for (var availClass in self.options.imageClasses) {\n if (availClass.indexOf(klass) !== -1) {\n self.$align.val(klass);\n }\n }\n }\n } else if (self.anchorElm) {\n self.focusElement(self.anchorElm);\n var href = \"\";\n href = self.dom.getAttrib(self.anchorElm, \"href\");\n self.$target.val(self.dom.getAttrib(self.anchorElm, \"target\"));\n self.$title.val(self.dom.getAttrib(self.anchorElm, \"title\"));\n linkType = self.dom.getAttrib(self.anchorElm, \"data-linktype\");\n if (linkType) {\n self.linkType = linkType;\n self.linkTypes[self.linkType].load(self.anchorElm);\n var $panel = $(\"#tinylink-\" + self.linkType, self.modal.$modal);\n // $('#tinylink-' + self.linkType, self.modal.$modal).trigger('click');\n if ($panel.length === 1) {\n $(\"#\" + $panel.data(\"autotoc-trigger-id\")).trigger(\"click\");\n }\n } else if (href) {\n self.guessAnchorLink(href);\n }\n }\n },\n\n guessImageLink: function (src) {\n if (src.indexOf(this.options.prependToScalePart) !== -1) {\n this.linkType = \"image\";\n // TODO: use data-scale attribute instead:\n this.$scale.val(this.tinypattern.getScaleFromUrl(src));\n this.linkTypes.image.set(this.tinypattern.stripGeneratedUrl(src));\n } else {\n this.linkType = \"externalImage\";\n this.linkTypes.externalImage.set(src);\n }\n },\n\n guessAnchorLink: function (href) {\n console.log(\"href: \" + href);\n if (\n this.options.prependToUrl &&\n href.indexOf(this.options.prependToUrl) !== -1\n ) {\n // XXX if using default configuration, it gets more difficult\n // here to detect internal urls so this might need to change...\n this.linkType = \"internal\";\n this.linkTypes.internal.set(this.tinypattern.stripGeneratedUrl(href));\n } else if (href.indexOf(\"mailto:\") !== -1) {\n this.linkType = \"email\";\n var email = href.substring(\"mailto:\".length, href.length);\n var split = email.split(\"?subject=\");\n this.linkTypes.email.set(split[0]);\n if (split.length > 1) {\n this.$subject.val(decodeURIComponent(split[1]));\n }\n } else if (href[0] === \"#\") {\n this.linkType = \"anchor\";\n this.linkTypes.anchor.set(href.substring(1));\n } else {\n this.linkType = \"external\";\n this.linkTypes.external.set(href);\n }\n },\n\n // setSelectElement: function ($el, val) {\n // $el.find(\"option:selected\").prop(\"selected\", false);\n // if (val) {\n // // update\n // $el.find('option[value=\"' + val + '\"]').prop(\"selected\", true);\n // }\n // },\n\n reinitialize: function () {\n /*\n * This will probably be called before show is run.\n * It will overwrite the base html template given to\n * be able to privde default values for the overlay\n */\n this.modal.options.html = this.generateModalHtml();\n },\n});\n"],"names":["LinkType","Base","extend","name","trigger","defaults","linkModal","init","this","options","tinypattern","tiny","dom","getEl","el","querySelector","value","trim","toUrl","load","element","val","getAttrib","set","setAttribute","attributes","updateRelatedItems","ExternalLink","prototype","call","addEventListener","$","RegExp","test","split","indexOf","InternalLink","async","createContentBrowser","relatedItems","inputEl","selection","getNode","linkType","push","ContentBrowser","default","contentBrowserPattern","generateUrl","UploadLink","getDelegatedLinkType","linkTypes","image","internal","ImageLink","generateImageUrl","getScaleFromSrcset","$scale","EmailLink","subject","getSubject","href","apply","$subject","attribs","AnchorLink","$select","$el","find","anchorNodes","anchorData","populate","select2","id","node","i","j","title","self","remove","nodes","select","length","anchorSelector","text","replace","toLowerCase","substring","found","anode","newAnchor","data","append","getIndex","index","parseInt","innerHTML","anchor","add_image","editor","document","getElementById","instance","addImageClicked","add_link","addLinkClicked","tinymce","add","url","ui","registry","addButton","icon","tooltip","onAction","addMenuItem","shortcut","stateSelector","api","execCommand","initialLinkType","insertHeading","linkTypeClassMapping","upload","external","email","uploadImage","externalImage","linkTypeTemplateMapping","LinkTemplate","ImageTemplate","template","_","modal","patterns","html","generateModalHtml","content","buttons","reloadWindowOnClose","templateOptions","classDialog","actionOptions","backdropOptions","zIndex","closeOnClick","on","e","modalShown","isOnlyTextSelected","getContent","anchorElm","childNodes","ii","nodeType","insertImageHelp","uploadText","insertLinkHelp","anchorLabel","target","externalText","emailText","subjectText","targetList","titleText","internalImageText","internalImage","externalImageText","altText","alt","imageAlignText","imageAlign","captionFromDescriptionText","captionFromDescription","enableImageZoom","captionText","caption","scaleText","scale","pictureVariants","imageCaptioningEnabled","cancelBtn","insertBtn","isImageMode","initElements","$target","$modal","$button","$title","$alt","$align","$selectedItems","$enableImageZoom","$captionFromDescription","$caption","type","$container","events","await_pattern_init","classes","eq","className","checked","prop","getLinkUrl","getValue","updateAnchor","focus","setRng","rng","linkAttrs","onlyText","initialText","innerText","textContent","setAttribs","undoManager","insertContent","createHTML","encode","focusElement","elm","nodeChanged","pictureVariant","pictureVariantsConfig","sourceset","updateImage","src","console","log","cssclasses","join","imgElm","getAttribute","imgWidth","imgHeight","width","height","newImgElm","create","tagName","replaceWith","insertNode","onload","onerror","complete","initData","off","preventDefault","stopPropagation","error","hide","show","getRng","selectedElm","getParent","format","get","rel","img","hasClass","guessImageLink","klasses","klass","availClass","imageClasses","$panel","guessAnchorLink","prependToScalePart","getScaleFromUrl","stripGeneratedUrl","prependToUrl","decodeURIComponent","reinitialize"],"sourceRoot":""} \ No newline at end of file diff --git a/src/plone/staticresources/static/bundle-plone/chunks/44668.b219df6c29d72b128b05.min.js b/src/plone/staticresources/static/bundle-plone/chunks/44668.b219df6c29d72b128b05.min.js deleted file mode 100644 index e8acdca1c..000000000 --- a/src/plone/staticresources/static/bundle-plone/chunks/44668.b219df6c29d72b128b05.min.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkplone_staticresources=self.webpackChunkplone_staticresources||[]).push([[44668],{1350:function(g,I,A){var C=A(71354),e=A.n(C),l=A(76314),t=A.n(l)()(e());t.push([g.id,".content-browser-position-wrapper.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{position:fixed;top:0;right:0;display:flex;justify-content:end;z-index:1500;width:100%;height:100vh;background-color:rgba(0,0,0,.25)}.btn-xs.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{--bs-btn-padding-y:0.15rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.75rem}.content-browser.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{height:100vh;min-width:550px;background-color:var(--bs-light-bg-subtle);border-left:var(--bs-border-style) var(--bs-border-width) #fff;z-index:1500;display:flex;flex-direction:column}.toolBar.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:var(--bs-primary);padding:.325rem .75rem;color:var(--bs-light);width:100%;display:flex;justify-content:start}.toolBar.svelte-jgy3q8 svg{vertical-align:-0.125em}.levelColumns.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{display:flex;flex-wrap:nowrap;width:100%;overflow:hidden;flex-grow:3;border-left:var(--bs-border-style) var(--bs-border-color) var(--bs-border-width);user-select:none}.levelColumn.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:320px;border-right:var(--bs-border-style) var(--bs-border-width) var(--bs-border-color);display:flex;flex-direction:column}.levelToolbar.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:100%;height:2.5rem;display:flex;justify-content:space-between;padding:.375rem;border-bottom:var(--bs-border-style) var(--bs-border-width) var(--bs-border-color)}.levelToolbar.svelte-jgy3q8>.levelActions.svelte-jgy3q8.svelte-jgy3q8{margin-left:auto}.levelToolbar.svelte-jgy3q8>button.svelte-jgy3q8.svelte-jgy3q8{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.levelItems.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{overflow-x:auto}.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{display:flex;align-items:center;justify-content:space-between;font-size:90%;min-height:2rem}.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8:focus-visible{outline:none}.contentItem.even.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:rgba(var(--bs-secondary-bg-rgb), 0.4)}.contentItem.inPath.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8,.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8:focus{background-color:rgba(var(--bs-primary-rgb), 0.15)}.contentItem.selectedItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:var(--bs-primary);color:var(--bs-body-bg)}.contentItem.svelte-jgy3q8>.svelte-jgy3q8.svelte-jgy3q8{padding:.5rem;white-space:nowrap;max-width:450px;text-overflow:ellipsis;overflow:hidden}.contentItem.svelte-jgy3q8>.browseSub.svelte-jgy3q8.svelte-jgy3q8{flex-shrink:0}.contentItem.svelte-jgy3q8 .grid-preview.svelte-jgy3q8>img.svelte-jgy3q8{width:95px;height:95px;object-fit:cover;float:left;margin-right:1rem}.preview.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:320px;min-height:300px;display:flex;flex-direction:column;align-items:center}.preview.svelte-jgy3q8 .info.svelte-jgy3q8.svelte-jgy3q8{padding:.5rem;width:100%;word-wrap:anywhere}.preview.svelte-jgy3q8 .info .previewIcon.svelte-jgy3q8.svelte-jgy3q8{margin:0 auto 1rem auto}.preview.svelte-jgy3q8 .info .previewIcon svg.svelte-jgy3q8.svelte-jgy3q8{width:50px !important;height:50px !important}.preview.svelte-jgy3q8 h4.svelte-jgy3q8.svelte-jgy3q8{font-size:1.2 rem}.preview.svelte-jgy3q8 img.svelte-jgy3q8.svelte-jgy3q8{max-width:100%;max-width:100%;margin-bottom:.5rem}.upload-wrapper.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{padding:1rem;width:590px;overflow-x:auto}.loadmore.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{text-align:center;padding:.25rem 0}","",{version:3,sources:["webpack://./node_modules/@plone/mockup/src/pat/contentbrowser/src/ContentBrowser.svelte"],names:[],mappings:"AAAA,4EAAA,cAAA,CAAA,KAAA,CAAA,OAAA,CAAA,YAAA,CAAA,mBAAA,CAAA,YAAA,CAAA,UAAA,CAAA,YAAA,CAAA,gCAAA,CAAA,kDAAA,0BAAA,CAAA,yBAAA,CAAA,0BAAA,CAAA,2DAAA,YAAA,CAAA,eAAA,CAAA,0CAAA,CAAA,8DAAA,CAAA,YAAA,CAAA,YAAA,CAAA,qBAAA,CAAA,mDAAA,kCAAA,CAAA,sBAAA,CAAA,qBAAA,CAAA,UAAA,CAAA,YAAA,CAAA,qBAAA,CAAA,2BAAA,uBAAA,CAAA,wDAAA,YAAA,CAAA,gBAAA,CAAA,UAAA,CAAA,eAAA,CAAA,WAAA,CAAA,gFAAA,CAAA,gBAAA,CAAA,uDAAA,WAAA,CAAA,iFAAA,CACmC,YAAA,CAAA,qBAAA,CAAA,wDAAA,UAAA,CAAA,aAAA,CAAA,YAAA,CAAA,6BAAA,CAAA,eAAA,CAAA,kFAAA,CACA,sEAAA,gBAAA,CAAA,+DAAA,kBAAA,CAAA,eAAA,CAAA,sBAAA,CAAA,sDAAA,eAAA,CAAA,uDAAA,YAAA,CAAA,kBAAA,CAAA,6BAAA,CAAA,aAAA,CAAA,eAAA,CAAA,qEAAA,YAAA,CAAA,4DAAA,sDAAA,CAAA,2HAAA,kDAAA,CAAA,oEAAA,kCAAA,CAAA,uBAAA,CAAA,wDAAA,aAAA,CAAA,kBAAA,CAAA,eAAA,CAAA,sBAAA,CAAA,eAAA,CAAA,kEAAA,aAAA,CAAA,yEAAA,UAAA,CAAA,WAAA,CAAA,gBAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,mDAAA,WAAA,CAAA,gBAAA,CAAA,YAAA,CAAA,qBAAA,CAAA,kBAAA,CAAA,yDAAA,aAAA,CAAA,UAAA,CAAA,kBAAA,CAAA,sEAAA,uBAAA,CAAA,0EAAA,qBAAA,CAAA,sBAAA,CAAA,sDAAA,iBAAA,CAAA,uDAAA,cAAA,CAAA,cAAA,CAAA,mBAAA,CAAA,0DAAA,YAAA,CAAA,WAAA,CAAA,eAAA,CAAA,oDAAA,iBAAA,CAAA,gBAAA",sourcesContent:[".content-browser-position-wrapper.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{position:fixed;top:0;right:0;display:flex;justify-content:end;z-index:1500;width:100%;height:100vh;background-color:rgba(0, 0, 0, 0.25)}.btn-xs.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{--bs-btn-padding-y:0.15rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.75rem}.content-browser.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{height:100vh;min-width:550px;background-color:var(--bs-light-bg-subtle);border-left:var(--bs-border-style) var(--bs-border-width) #fff;z-index:1500;display:flex;flex-direction:column}.toolBar.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:var(--bs-primary);padding:0.325rem 0.75rem;color:var(--bs-light);width:100%;display:flex;justify-content:start}.toolBar.svelte-jgy3q8 svg{vertical-align:-0.125em}.levelColumns.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{display:flex;flex-wrap:nowrap;width:100%;overflow:hidden;flex-grow:3;border-left:var(--bs-border-style) var(--bs-border-color) var(--bs-border-width);user-select:none}.levelColumn.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:320px;border-right:var(--bs-border-style) var(--bs-border-width)\n var(--bs-border-color);display:flex;flex-direction:column}.levelToolbar.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:100%;height:2.5rem;display:flex;justify-content:space-between;padding:0.375rem;border-bottom:var(--bs-border-style) var(--bs-border-width)\n var(--bs-border-color)}.levelToolbar.svelte-jgy3q8>.levelActions.svelte-jgy3q8.svelte-jgy3q8{margin-left:auto}.levelToolbar.svelte-jgy3q8>button.svelte-jgy3q8.svelte-jgy3q8{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.levelItems.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{overflow-x:auto}.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{display:flex;align-items:center;justify-content:space-between;font-size:90%;min-height:2rem}.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8:focus-visible{outline:none}.contentItem.even.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:rgba(var(--bs-secondary-bg-rgb), .4)}.contentItem.inPath.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8,.contentItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8:focus{background-color:rgba(var(--bs-primary-rgb), 0.15)}.contentItem.selectedItem.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{background-color:var(--bs-primary);color:var(--bs-body-bg)}.contentItem.svelte-jgy3q8>.svelte-jgy3q8.svelte-jgy3q8{padding:0.5rem;white-space:nowrap;max-width:450px;text-overflow:ellipsis;overflow:hidden}.contentItem.svelte-jgy3q8>.browseSub.svelte-jgy3q8.svelte-jgy3q8{flex-shrink:0}.contentItem.svelte-jgy3q8 .grid-preview.svelte-jgy3q8>img.svelte-jgy3q8{width:95px;height:95px;object-fit:cover;float:left;margin-right:1rem}.preview.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{width:320px;min-height:300px;display:flex;flex-direction:column;align-items:center}.preview.svelte-jgy3q8 .info.svelte-jgy3q8.svelte-jgy3q8{padding:0.5rem;width:100%;word-wrap:anywhere}.preview.svelte-jgy3q8 .info .previewIcon.svelte-jgy3q8.svelte-jgy3q8{margin:0 auto 1rem auto}.preview.svelte-jgy3q8 .info .previewIcon svg.svelte-jgy3q8.svelte-jgy3q8{width:50px !important;height:50px !important}.preview.svelte-jgy3q8 h4.svelte-jgy3q8.svelte-jgy3q8{font-size:1.2 rem}.preview.svelte-jgy3q8 img.svelte-jgy3q8.svelte-jgy3q8{max-width:100%;max-width:100%;margin-bottom:0.5rem}.upload-wrapper.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{padding:1rem;width:590px;overflow-x:auto}.loadmore.svelte-jgy3q8.svelte-jgy3q8.svelte-jgy3q8{text-align:center;padding:0.25rem 0}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGVudEJyb3dzZXIuc3ZlbHRlIiwic291cmNlcyI6WyJDb250ZW50QnJvd3Nlci5zdmVsdGUiXSwic291cmNlc0NvbnRlbnQiOlsiPHNjcmlwdD5cbiAgICBpbXBvcnQgdXRpbHMgZnJvbSBcIkBwYXR0ZXJuc2xpYi9wYXR0ZXJuc2xpYi9zcmMvY29yZS91dGlsc1wiO1xuICAgIGltcG9ydCB7IGdldENvbnRleHQgfSBmcm9tIFwic3ZlbHRlXCI7XG4gICAgaW1wb3J0ICogYXMgYW5pbWF0ZVNjcm9sbCBmcm9tIFwic3ZlbHRlLXNjcm9sbHRvXCI7XG4gICAgaW1wb3J0IHsgZmx5IH0gZnJvbSBcInN2ZWx0ZS90cmFuc2l0aW9uXCI7XG4gICAgaW1wb3J0IF90IGZyb20gXCIuLi8uLi8uLi9jb3JlL2kxOG4td3JhcHBlclwiO1xuICAgIGltcG9ydCBVcGxvYWQgZnJvbSBcIi4uLy4uL3VwbG9hZC91cGxvYWRcIjtcbiAgICBpbXBvcnQgY29udGVudFN0b3JlIGZyb20gXCIuL0NvbnRlbnRTdG9yZVwiO1xuICAgIGltcG9ydCB7XG4gICAgICAgIGNsaWNrT3V0c2lkZSxcbiAgICAgICAgZ2V0X2l0ZW1zX2Zyb21fdWlkcyxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgcmVzb2x2ZUljb24sXG4gICAgICAgIHVwZGF0ZVJlY2VudGx5VXNlZCxcbiAgICB9IGZyb20gXCIuL3V0aWxzXCI7XG4gICAgaW1wb3J0IEZhdm9yaXRlcyBmcm9tIFwiLi9GYXZvcml0ZXMuc3ZlbHRlXCI7XG4gICAgaW1wb3J0IFJlY2VudGx5VXNlZCBmcm9tIFwiLi9SZWNlbnRseVVzZWQuc3ZlbHRlXCI7XG5cbiAgICBhbmltYXRlU2Nyb2xsLnNldEdsb2JhbE9wdGlvbnMoe1xuICAgICAgICBzY3JvbGxYOiB0cnVlLFxuICAgICAgICBjb250YWluZXI6IFwiLmxldmVsQ29sdW1uc1wiLFxuICAgICAgICBkdXJhdGlvbjogNTAwLFxuICAgIH0pO1xuXG4gICAgLy8gZ2V0IGNvbnRleHQgc3RvcmVzXG4gICAgY29uc3QgY3VycmVudFBhdGggPSBnZXRDb250ZXh0KFwiY3VycmVudFBhdGhcIik7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29udGV4dChcImNvbmZpZ1wiKTtcbiAgICBjb25zdCBwYXRoQ2FjaGUgPSBnZXRDb250ZXh0KFwicGF0aENhY2hlXCIpO1xuICAgIGNvbnN0IHNob3dDb250ZW50QnJvd3NlciA9IGdldENvbnRleHQoXCJzaG93Q29udGVudEJyb3dzZXJcIik7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IGdldENvbnRleHQoXCJzZWxlY3RlZEl0ZW1zXCIpO1xuICAgIGNvbnN0IHNlbGVjdGVkVWlkcyA9IGdldENvbnRleHQoXCJzZWxlY3RlZFVpZHNcIik7XG4gICAgY29uc3QgcHJldmlld1VpZHMgPSBnZXRDb250ZXh0KFwicHJldmlld1VpZHNcIik7XG5cbiAgICAvLyBpbml0aWFsaXplIGNvbnRlbnQgYnJvd3NlciBzdG9yZVxuICAgIGNvbnN0IGNvbnRlbnRJdGVtcyA9IGNvbnRlbnRTdG9yZSgkY29uZmlnLCBwYXRoQ2FjaGUpO1xuXG4gICAgbGV0IHNob3dVcGxvYWQgPSBmYWxzZTtcbiAgICBsZXQgcHJldmlld0l0ZW0gPSB7fTtcbiAgICBsZXQga2V5Ym9hcmROYXZJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIGxldCBzaGlmdEtleSA9IGZhbHNlO1xuXG4gICAgbGV0IHZ3ID0gTWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIHx8IDAsIHdpbmRvdy5pbm5lcldpZHRoIHx8IDApO1xuXG4gICAgZnVuY3Rpb24gdXBkYXRlUHJldmlldyh7IGRhdGEgPSBudWxsLCB1dWlkID0gbnVsbCwgYWN0aW9uID0gXCJzaG93XCIgfSkge1xuICAgICAgICBpZiAoZGF0YSAmJiBhY3Rpb24gPT0gXCJzaG93XCIpIHtcbiAgICAgICAgICAgIHByZXZpZXdJdGVtID0gZGF0YTtcbiAgICAgICAgICAgICRwcmV2aWV3VWlkcyA9IFtkYXRhLlVJRF07XG4gICAgICAgIH0gZWxzZSBpZiAodXVpZCAmJiBhY3Rpb24gPT0gXCJhZGRcIiAmJiAkcHJldmlld1VpZHMuaW5kZXhPZih1dWlkKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAkY29uZmlnLm1heGltdW1TZWxlY3Rpb25TaXplID4gMCAmJlxuICAgICAgICAgICAgICAgICRwcmV2aWV3VWlkcy5sZW5ndGggPj0gJGNvbmZpZy5tYXhpbXVtU2VsZWN0aW9uU2l6ZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gcmVzcGVjdCBtYXhpbXVtU2VsZWN0aW9uU2l6ZVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRwcmV2aWV3VWlkcyA9IFsuLi4kcHJldmlld1VpZHMsIHV1aWRdOyAvLyBOT1RFOiAkcHJldmlld1VpZHMucHVzaCgpIGlzIG5vdCBhIHJlYWN0aXZlIGNoYW5nZVxuICAgICAgICB9IGVsc2UgaWYgKHV1aWQgJiYgYWN0aW9uID09IFwicmVtb3ZlXCIgJiYgJHByZXZpZXdVaWRzLmluZGV4T2YodXVpZCkgIT09IC0xKSB7XG4gICAgICAgICAgICBwcmV2aWV3VWlkcy51cGRhdGUoKG4pID0+IHtcbiAgICAgICAgICAgICAgICBuLnNwbGljZShuLmluZGV4T2YodXVpZCksIDEpO1xuICAgICAgICAgICAgICAgIHJldHVybiBuO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoYWN0aW9uID09IFwiY2xlYXJcIikge1xuICAgICAgICAgICAgcHJldmlld0l0ZW0gPSB7fTtcbiAgICAgICAgICAgICRwcmV2aWV3VWlkcyA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgZnVuY3Rpb24gdXBsb2FkKCkge1xuICAgICAgICB1cGRhdGVQcmV2aWV3KHsgYWN0aW9uOiBcImNsZWFyXCIgfSk7XG4gICAgICAgIHNob3dVcGxvYWQgPSB0cnVlO1xuICAgICAgICBhd2FpdCB1dGlscy50aW1lb3V0KDEpO1xuICAgICAgICBjb25zdCB1cGxvYWRFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudXBsb2FkLXdyYXBwZXJcIik7XG4gICAgICAgIHVwbG9hZEVsLmNsYXNzTGlzdC5hZGQoXCJwYXQtdXBsb2FkXCIpO1xuICAgICAgICBjb25zdCBwYXRVcGxvYWQgPSBuZXcgVXBsb2FkKHVwbG9hZEVsLCB7XG4gICAgICAgICAgICBiYXNlVXJsOiAkY29uZmlnLnJvb3RVcmwsXG4gICAgICAgICAgICBjdXJyZW50UGF0aDogJGN1cnJlbnRQYXRoLFxuICAgICAgICAgICAgcmVsYXRpdmVQYXRoOiBcIkBAZmlsZVVwbG9hZFwiLFxuICAgICAgICAgICAgYWxsb3dQYXRoU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIGhpZGRlbklucHV0Q29udGFpbmVyOiBcIi51cGxvYWQtd3JhcHBlclwiLFxuICAgICAgICAgICAgc3VjY2VzczogKGZpbGVVcGxvYWQsIG9iaikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnRlbnRJdGVtcy5nZXQoeyBwYXRoOiAkY3VycmVudFBhdGgsIHVwZGF0ZUNhY2hlOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2hvd1ByZXZpZXcoaXRlbSkge1xuICAgICAgICBpZiAoJGNvbmZpZy5tb2RlID09IFwic2VhcmNoXCIpIHtcbiAgICAgICAgICAgIC8vIG9uZSBsZXZlbCBzZWFyY2ggbW9kZVxuICAgICAgICAgICAgdXBkYXRlUHJldmlldyh7IGRhdGE6IGl0ZW0gfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5pc19mb2xkZXJpc2gpIHtcbiAgICAgICAgICAgICRwcmV2aWV3VWlkcyA9IFtpdGVtLlVJRF07XG4gICAgICAgICAgICBjdXJyZW50UGF0aC5zZXQoaXRlbS5wYXRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IGl0ZW0ucGF0aC5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICBjb25zdCBmb2xkZXJQYXRoID0gcGF0aFBhcnRzLnNsaWNlKDAsIHBhdGhQYXJ0cy5sZW5ndGggLSAxKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGN1cnJlbnRQYXRoLnNldChmb2xkZXJQYXRoIHx8ICRjb25maWcucm9vdFBhdGgpO1xuICAgICAgICAgICAgdXBkYXRlUHJldmlldyh7IGRhdGE6IGl0ZW0gfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2Nyb2xsVG9SaWdodCgpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNoYW5nZVBhdGgoaXRlbSwgZSkge1xuICAgICAgICAvLyBhbHdheXMgaGlkZSB1cGxvYWQgd2hlbiBjaGFuZ2luZyBwYXRoXG4gICAgICAgIHNob3dVcGxvYWQgPSBmYWxzZTtcblxuICAgICAgICAvLyBjbGVhciBwcmV2aW91cyBzZWxlY3Rpb25cbiAgICAgICAgdXBkYXRlUHJldmlldyh7IGFjdGlvbjogXCJjbGVhclwiIH0pO1xuXG4gICAgICAgIGlmIChpdGVtID09PSBcIi9cIiB8fCBpdGVtID09PSAkY29uZmlnLnJvb3RQYXRoKSB7XG4gICAgICAgICAgICAvLyBjbGlja2VkIFwiaG9tZVwiIGJ1dHRvblxuICAgICAgICAgICAgY3VycmVudFBhdGguc2V0KCRjb25maWcucm9vdFBhdGgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2hvdyBjbGlja2VkIGl0ZW1cbiAgICAgICAgc2hvd1ByZXZpZXcoaXRlbSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2xpY2tJdGVtKGl0ZW0sIGUpIHtcbiAgICAgICAgaWYgKCFrZXlib2FyZE5hdkluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAvLyBpZiB3ZSd2ZSBhbHJlYWR5IGNsaWNrZWQgYW4gZWxlbWVudCB3aXRoIHRoZSBtb3VzZVxuICAgICAgICAgICAgLy8gZG8gbm90IHN0YXJ0IG92ZXIga2V5Ym9hcmRuYXZcbiAgICAgICAgICAgIGtleWJvYXJkTmF2SW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2hlY2sgZm9yIG11bHRpc2VsZWN0aW9uXG4gICAgICAgIGNvbnN0IGxldmVsV3JhcHBlciA9IGUuY3VycmVudFRhcmdldC5jbG9zZXN0KFwiLmxldmVsSXRlbXNcIik7XG4gICAgICAgIGNvbnN0IHByZXZTZWxlY3Rpb24gPSBsZXZlbFdyYXBwZXIucXVlcnlTZWxlY3RvckFsbChcIi5zZWxlY3RlZEl0ZW1cIik7XG5cbiAgICAgICAgaWYgKHByZXZTZWxlY3Rpb24ubGVuZ3RoICYmICRjb25maWcubWF4aW11bVNlbGVjdGlvblNpemUgIT0gMSkge1xuICAgICAgICAgICAgLy8gY2hlY2sgZm9yIHByZXNzZWQgc2hpZnQgb3IgY3RybC9tZXRhIGtleSBmb3IgbXVsdGlzZWxlY3Rpb25cblxuICAgICAgICAgICAgaWYgKHNoaWZ0S2V5IHx8IGU/LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgLy8gaXRlciB0aHJvdWdoIHRoZSB3cmFwcGVyIGNoaWxkcmVuIGFuZCBzZWxlY3QgYWxsXG4gICAgICAgICAgICAgICAgLy8gaW5iZXR3ZWVuIGN1cnJlbnQgc2VsZWN0aW9uIGFuZCBsYXN0IHByZXZpZXdcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBlbCBvZiBsZXZlbFdyYXBwZXIuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFtpdGVtLlVJRCwgcHJldmlld0l0ZW0uVUlEXS5pbmRleE9mKGVsLmRhdGFzZXQudXVpZCkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3RvcCBzZWxlY3RpbmcgYnV0IG1ha2Ugc3VyZSB0aGUgbGFzdCBpdGVtIGlzIHNlbGVjdGVkIHRvb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZXZpZXcoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dWlkOiBlbC5kYXRhc2V0LnV1aWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogXCJhZGRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IHNlbGVjdGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmV2aWV3KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHV1aWQ6IGVsLmRhdGFzZXQudXVpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogc2VsZWN0ID8gXCJhZGRcIiA6IFwicmVtb3ZlXCIsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZT8ubWV0YUtleSB8fCBlPy5jdHJsS2V5KSB7XG4gICAgICAgICAgICAgICAgLy8gZGUvc2VsZWN0IG11bHRpcGxlIHNpbmdsZSBpdGVtc1xuICAgICAgICAgICAgICAgIC8vIE5PVEU6IG9ubHkgZm9yIG1vdXNlIGNsaWNrIGV2ZW50XG4gICAgICAgICAgICAgICAgdXBkYXRlUHJldmlldyh7XG4gICAgICAgICAgICAgICAgICAgIHV1aWQ6IGl0ZW0uVUlELFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICRwcmV2aWV3VWlkcy5pbmRleE9mKGl0ZW0uVUlEKSA9PSAtMSA/IFwiYWRkXCIgOiBcInJlbW92ZVwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyB1bnNlbGVjdFxuICAgICAgICAgICAgICAgIFsuLi5wcmV2U2VsZWN0aW9uXS5tYXAoKGVsKSA9PiBlbC5jbGFzc0xpc3QucmVtb3ZlKFwic2VsZWN0ZWRJdGVtXCIpKTtcbiAgICAgICAgICAgICAgICBjaGFuZ2VQYXRoKGl0ZW0sIGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2hhbmdlUGF0aChpdGVtLCBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGUuY3VycmVudFRhcmdldC5mb2N1cygpOyAvLyBuZWVkZWQgZm9yIGtleWJvYXJkIG5hdmlnYXRpb25cbiAgICAgICAgZS5jdXJyZW50VGFyZ2V0LmNsYXNzTGlzdC5hZGQoXCJzZWxlY3RlZEl0ZW1cIik7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5pdEtleWJvYXJkTmF2KCkge1xuICAgICAgICAvLyBmb2N1cyBmaXJzdCBlbGVtZW50IHdoZW4gc2hvd2luZyBjb250ZW50YnJvd3NlclxuICAgICAgICBpZiAoa2V5Ym9hcmROYXZJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBvc3NpYmxlRm9jdXNFbHMgPSBbXG4gICAgICAgICAgICAuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLmxldmVsQ29sdW1uIC5pblBhdGhcIiksIC8vIHByZXZpb3VzbHkgc2VsZWN0ZWQgZm9sZGVyXG4gICAgICAgICAgICAuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiLmxldmVsQ29sdW1uIC5zZWxlY3RlZEl0ZW1cIiksIC8vIHByZXZpb3VzbHkgc2VsZWN0ZWQgaXRlbVxuICAgICAgICBdO1xuICAgICAgICBpZighcG9zc2libGVGb2N1c0Vscy5sZW5ndGggJiYgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5sZXZlbENvbHVtbiAuY29udGVudEl0ZW1cIikpIHtcbiAgICAgICAgICAgIHBvc3NpYmxlRm9jdXNFbHMucHVzaChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmxldmVsQ29sdW1uIC5jb250ZW50SXRlbVwiKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvc3NpYmxlRm9jdXNFbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBrZXlib2FyZE5hdkluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHBvc3NpYmxlRm9jdXNFbHNbMF0uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGtleWJvYXJkTmF2aWdhdGlvbihpdGVtLCBlKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBlLmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgIHNoaWZ0S2V5ID0gZS5zaGlmdEtleTtcbiAgICAgICAgaWYgKGUua2V5ID09IFwiRXNjYXBlXCIpIHtcbiAgICAgICAgICAgIGNhbmNlbFNlbGVjdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGUua2V5ID09IFwiQXJyb3dEb3duXCIgJiZcbiAgICAgICAgICAgIG5vZGU/Lm5leHRFbGVtZW50U2libGluZz8uY2xhc3NMaXN0LmNvbnRhaW5zKFwiY29udGVudEl0ZW1cIilcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBub2RlLm5leHRFbGVtZW50U2libGluZy5jbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGUua2V5ID09IFwiQXJyb3dVcFwiICYmXG4gICAgICAgICAgICBub2RlPy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nPy5jbGFzc0xpc3QuY29udGFpbnMoXCJjb250ZW50SXRlbVwiKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIG5vZGUucHJldmlvdXNFbGVtZW50U2libGluZy5jbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlLmtleSA9PSBcIkFycm93UmlnaHRcIikge1xuICAgICAgICAgICAgY29uc3QgY3VyckNvbCA9IGUudGFyZ2V0LmNsb3Nlc3QoXCIubGV2ZWxDb2x1bW5cIik7XG4gICAgICAgICAgICBjb25zdCBueHRDb2wgPSBjdXJyQ29sPy5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgICAgICAgICBpZiAoIW54dENvbCB8fCAhbnh0Q29sLmNsYXNzTGlzdC5jb250YWlucyhcImxldmVsQ29sdW1uXCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbnh0Q29sLnF1ZXJ5U2VsZWN0b3IoXCIuY29udGVudEl0ZW1cIik/LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUua2V5ID09IFwiQXJyb3dMZWZ0XCIpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJDb2wgPSBlLnRhcmdldC5jbG9zZXN0KFwiLmxldmVsQ29sdW1uXCIpO1xuICAgICAgICAgICAgY29uc3QgcHJldkNvbCA9IGN1cnJDb2w/LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgICAgICAgICBpZiAoIXByZXZDb2wgfHwgIXByZXZDb2wuY2xhc3NMaXN0LmNvbnRhaW5zKFwibGV2ZWxDb2x1bW5cIikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmV2Q29sLnF1ZXJ5U2VsZWN0b3IoXCIuaW5QYXRoXCIpLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUua2V5ID09IFwiU3BhY2VcIikge1xuICAgICAgICAgICAgLy8gYWRkIGl0ZW0gdG8gc2VsZWN0aW9uIChsaWtlIG1ldGFLZXkgKyBjbGljaylcbiAgICAgICAgICAgIGNsaWNrSXRlbShpdGVtLCBlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZS5rZXkgPT0gXCJFbnRlclwiKSB7XG4gICAgICAgICAgICBpZiAoaXNTZWxlY3RhYmxlKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgaWYgKCRjb25maWcubWF4aW11bVNlbGVjdGlvblNpemUgPT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBhZGRJdGVtKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZFNlbGVjdGVkSXRlbXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBhZGRJdGVtKGl0ZW0pIHtcbiAgICAgICAgaWYgKCRjb25maWcubWF4aW11bVNlbGVjdGlvblNpemUgPT0gMSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5zZXQoW2l0ZW1dKTtcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkcy5zZXQoW2l0ZW0uVUlEXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLnVwZGF0ZSgobikgPT4gWy4uLm4sIGl0ZW1dKTtcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkcy51cGRhdGUoKCkgPT4gJHNlbGVjdGVkSXRlbXMubWFwKCh4KSA9PiB4LlVJRCkpO1xuICAgICAgICB9XG4gICAgICAgIHVwZGF0ZVJlY2VudGx5VXNlZChpdGVtLCAkY29uZmlnKTtcbiAgICAgICAgdXBkYXRlUHJldmlldyh7IGFjdGlvbjogXCJjbGVhclwiIH0pO1xuICAgICAgICAkc2hvd0NvbnRlbnRCcm93c2VyID0gZmFsc2U7XG4gICAgICAgIGtleWJvYXJkTmF2SW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBhZGRTZWxlY3RlZEl0ZW1zKCkge1xuICAgICAgICBjb25zdCBwcmV2aWV3SXRlbXMgPSBhd2FpdCBnZXRfaXRlbXNfZnJvbV91aWRzKCRwcmV2aWV3VWlkcywgJGNvbmZpZyk7XG4gICAgICAgIHNlbGVjdGVkSXRlbXMudXBkYXRlKChuKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0IG9mIHByZXZpZXdJdGVtcykge1xuICAgICAgICAgICAgICAgIGlmICgkc2VsZWN0ZWRVaWRzLmluZGV4T2YoaXQuVUlEKSAhPSAtMSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgbi5wdXNoKGl0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuO1xuICAgICAgICB9KTtcbiAgICAgICAgc2VsZWN0ZWRVaWRzLnVwZGF0ZSgoKSA9PiAkc2VsZWN0ZWRJdGVtcy5tYXAoKHgpID0+IHguVUlEKSk7XG4gICAgICAgIHVwZGF0ZVByZXZpZXcoeyBhY3Rpb246IFwiY2xlYXJcIiB9KTtcbiAgICAgICAgJHNob3dDb250ZW50QnJvd3NlciA9IGZhbHNlO1xuICAgICAgICBrZXlib2FyZE5hdkluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2VsZWN0UmVjZW50bHlVc2VkKGV2ZW50KSB7XG4gICAgICAgIGFkZEl0ZW0oZXZlbnQuZGV0YWlsLml0ZW0pO1xuICAgIH1cblxuICAgIGFzeW5jIGZ1bmN0aW9uIHNlbGVjdEZhdm9yaXRlKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBldmVudC5kZXRhaWwuaXRlbS5wYXRoO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Qoe1xuICAgICAgICAgICAgdm9jYWJ1bGFyeVVybDogJGNvbmZpZy52b2NhYnVsYXJ5VXJsLFxuICAgICAgICAgICAgYXR0cmlidXRlczogJGNvbmZpZy5hdHRyaWJ1dGVzLFxuICAgICAgICAgICAgbGV2ZWxJbmZvUGF0aDogcGF0aCxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghcmVzcG9uc2UudG90YWwpIHtcbiAgICAgICAgICAgIGFsZXJ0KGAke3BhdGh9IG5vdCBmb3VuZCFgKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpdGVtID0gcmVzcG9uc2UucmVzdWx0c1swXTtcbiAgICAgICAgaWYgKCFpdGVtLnBhdGgpIHtcbiAgICAgICAgICAgIC8vIGZpeCBmb3Igcm9vdFxuICAgICAgICAgICAgaXRlbS5wYXRoID0gJGNvbmZpZy5yb290UGF0aDtcbiAgICAgICAgfVxuICAgICAgICBjaGFuZ2VQYXRoKGl0ZW0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNhbmNlbFNlbGVjdGlvbigpIHtcbiAgICAgICAgJHNob3dDb250ZW50QnJvd3NlciA9IGZhbHNlO1xuICAgICAgICBrZXlib2FyZE5hdkluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgICAgIHVwZGF0ZVByZXZpZXcoeyBhY3Rpb246IFwiY2xlYXJcIiB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpc1NlbGVjdGFibGUoaXRlbSkge1xuICAgICAgICByZXR1cm4gJHNlbGVjdGVkVWlkcy5pbmRleE9mKGl0ZW0uVUlEKSA9PT0gLTE7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2Nyb2xsVG9SaWdodCgpIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5sZXZlbENvbHVtbnNcIik7XG4gICAgICAgIGlmIChzY3JvbGxDb250YWluZXIpIHtcbiAgICAgICAgICAgIGFuaW1hdGVTY3JvbGwuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgIC8vIGVsZW1lbnQ6IFwiLmxldmVsQ29sdW1uOmxhc3QtY2hpbGRcIixcbiAgICAgICAgICAgICAgICB4OiBzY3JvbGxDb250YWluZXIuc2Nyb2xsV2lkdGggKyAxMDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGl0ZW1JblBhdGgoaXRlbSkge1xuICAgICAgICByZXR1cm4gJGNvbmZpZy5tb2RlID09IFwiYnJvd3NlXCIgJiYgJGN1cnJlbnRQYXRoLmluZGV4T2YoaXRlbS5wYXRoKSAhPSAtMTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXJJdGVtcyA9IHV0aWxzLmRlYm91bmNlKChlKSA9PiB7XG4gICAgICAgIGNvbnRlbnRJdGVtcy5nZXQoeyBwYXRoOiAkY3VycmVudFBhdGgsIHNlYXJjaFRlcm06IGUudGFyZ2V0LnZhbHVlIH0pO1xuICAgIH0sIDMwMCk7XG5cbiAgICBmdW5jdGlvbiBsb2FkTW9yZShub2RlKSB7XG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgICAgICAgKGVudHJpZXMpID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gbm9kZS5kYXRhc2V0LmxldmVsUGF0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSBwYXJzZUludChub2RlLmRhdGFzZXQubGV2ZWxOZXh0UGFnZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50SXRlbXMuZ2V0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkTW9yZVBhdGg6IHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgdGhyZXNob2xkOiAwLCByb290OiBudWxsLCBtYXJnaW46IFwiMHB4XCIgfSxcbiAgICAgICAgKTtcbiAgICAgICAgLy8gZGVmZXIgb2JzZXJ2aW5nXG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUobm9kZSk7XG4gICAgICAgIH0sIDUwMCk7XG4gICAgfVxuXG4gICAgJDoge1xuICAgICAgICBpZiAoJHNob3dDb250ZW50QnJvd3Nlcikge1xuICAgICAgICAgICAgY29udGVudEl0ZW1zLmdldCh7IHBhdGg6ICRjdXJyZW50UGF0aCB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICQ6IHtcbiAgICAgICAgJGNvbnRlbnRJdGVtcztcbiAgICAgICAgc2Nyb2xsVG9SaWdodCgpO1xuICAgIH1cblxuICAgICQ6IHtcbiAgICAgICAgJHByZXZpZXdVaWRzO1xuICAgIH1cbjwvc2NyaXB0PlxuXG57I2lmICRzaG93Q29udGVudEJyb3dzZXJ9XG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYnJvd3Nlci1wb3NpdGlvbi13cmFwcGVyXCI+XG4gICAgICAgIDxuYXZcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudC1icm93c2VyXCJcbiAgICAgICAgICAgIHRyYW5zaXRpb246Zmx5PXt7IHg6ICh2dyAvIDEwMCkgKiA5NCwgb3BhY2l0eTogMSB9fVxuICAgICAgICAgICAgb246aW50cm9lbmQ9eygpID0+IHtcbiAgICAgICAgICAgICAgICBzY3JvbGxUb1JpZ2h0KCk7XG4gICAgICAgICAgICAgICAgaW5pdEtleWJvYXJkTmF2KCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdXNlOmNsaWNrT3V0c2lkZVxuICAgICAgICAgICAgb246Y2xpY2tfb3V0c2lkZT17Y2FuY2VsU2VsZWN0aW9ufVxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbEJhciBuYXZiYXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyIG1lLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cImZpbHRlclwiIG9uOmlucHV0PXtmaWx0ZXJJdGVtc30gLz5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PHN2ZyB1c2U6cmVzb2x2ZUljb249e3sgaWNvbk5hbWU6IFwic2VhcmNoXCIgfX0gLz48L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8UmVjZW50bHlVc2VkIG9uOnNlbGVjdEl0ZW09e3NlbGVjdFJlY2VudGx5VXNlZH0gLz5cbiAgICAgICAgICAgICAgICA8RmF2b3JpdGVzIG9uOnNlbGVjdEl0ZW09e3NlbGVjdEZhdm9yaXRlfSAvPlxuICAgICAgICAgICAgICAgIHsjaWYgJGNvbmZpZy51cGxvYWRFbmFibGVkfVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXBsb2FkIGJ0biBidG4tb3V0bGluZS1saWdodCBidG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb246a2V5ZG93bj17dXBsb2FkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOmNsaWNrPXt1cGxvYWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzdmcgdXNlOnJlc29sdmVJY29uPXt7IGljb25OYW1lOiBcInVwbG9hZFwiIH19IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge190KFwidXBsb2FkIHRvICR7Y3VycmVudF9wYXRofVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfcGF0aDogJGN1cnJlbnRQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfTwvYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayB0ZXh0LXdoaXRlIG1zLWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBvbjpjbGlja3xwcmV2ZW50RGVmYXVsdD17KCkgPT4gY2FuY2VsU2VsZWN0aW9uKCl9XG4gICAgICAgICAgICAgICAgICAgID48c3ZnIHVzZTpyZXNvbHZlSWNvbj17eyBpY29uTmFtZTogXCJ4LWNpcmNsZVwiIH19IC8+PC9idXR0b25cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHsjYXdhaXQgJGNvbnRlbnRJdGVtc31cbiAgICAgICAgICAgICAgICA8cD57X3QoXCJsb2FkaW5nIGNvbnRlbnQgaXRlbXNcIil9PC9wPlxuICAgICAgICAgICAgezp0aGVuIGxldmVsc31cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxDb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgIHsjZWFjaCBsZXZlbHMgYXMgbGV2ZWwsIGkgKGxldmVsLnBhdGgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGV2ZWxDb2x1bW57aSAlIDIgPT0gMCA/ICcgb2RkJyA6ICcgZXZlbid9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjpmbHl8bG9jYWw9e3sgZHVyYXRpb246IDMwMCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZXZlbFRvb2xiYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyNpZiBpID09IDAgJiYgJGNvbmZpZy5tb2RlID09IFwiYnJvd3NlXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXhzIHBzLTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246a2V5ZG93bj17KCkgPT4gY2hhbmdlUGF0aCgkY29uZmlnLnJvb3RQYXRoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjpjbGljaz17KCkgPT4gY2hhbmdlUGF0aCgkY29uZmlnLnJvb3RQYXRoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2U6cmVzb2x2ZUljb249e3sgaWNvbk5hbWU6IFwiaG91c2VcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+PC9idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey9pZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyNpZiBsZXZlbC5zZWxlY3RhYmxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7bGV2ZWwuZGlzcGxheVBhdGh9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17IWlzU2VsZWN0YWJsZShsZXZlbCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246Y2xpY2t8cHJldmVudERlZmF1bHQ9eygpID0+IGFkZEl0ZW0obGV2ZWwpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfdChcInNlbGVjdCAke2xldmVsX3BhdGh9XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWxfcGF0aDogbGV2ZWwuVGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey9pZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxldmVsQWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyNpZiAhbGV2ZWwuZ3JpZFZpZXd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGluayBidG4teHMgZ3JpZC12aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246Y2xpY2s9eygpID0+IChsZXZlbC5ncmlkVmlldyA9IHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlOnJlc29sdmVJY29uPXt7IGljb25OYW1lOiBcImdyaWRcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezplbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXhzIGdyaWQtdmlld1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOmNsaWNrPXsoKSA9PiAobGV2ZWwuZ3JpZFZpZXcgPSBmYWxzZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2U6cmVzb2x2ZUljb249e3sgaWNvbk5hbWU6IFwibGlzdFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxJdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7I2VhY2ggbGV2ZWwucmVzdWx0cyB8fCBbXSBhcyBpdGVtLCBufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdmVsdGUtaWdub3JlIG1pc3NpbmctZGVjbGFyYXRpb24gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50SXRlbXtuICUgMiA9PSAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJyBvZGQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyBldmVuJ317aXRlbUluUGF0aChpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICcgaW5QYXRoJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnfXskcHJldmlld1VpZHMuaW5kZXhPZihpdGVtLlVJRCkgIT0gLTFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnIHNlbGVjdGVkSXRlbSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ317IWlzU2VsZWN0YWJsZShpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICcgdGV4dC1tdXRlZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PXtufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdXVpZD17aXRlbS5VSUR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb246a2V5ZG93bnxwcmV2ZW50RGVmYXVsdD17KGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleWJvYXJkTmF2aWdhdGlvbihpdGVtLCBlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjpjbGljaz17KGUpID0+IGNsaWNrSXRlbShpdGVtLCBlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7I2lmIGxldmVsLmdyaWRWaWV3fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1wcmV2aWV3XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7I2lmIGl0ZW0uZ2V0SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17YCR7aXRlbS5nZXRVUkx9L0BAaW1hZ2VzL2ltYWdlL3RodW1iYH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXtpdGVtLlRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7OmVsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2U6cmVzb2x2ZUljb249e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25OYW1lOiBgY29udGVudHR5cGUvJHtpdGVtLnBvcnRhbF90eXBlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFwufCAvZywgXCItXCIpfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5UaXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezplbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIml0ZW0tdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7aXRlbS5wb3J0YWxfdHlwZX06IHtpdGVtLlRpdGxlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2U6cmVzb2x2ZUljb249e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbk5hbWU6IGBjb250ZW50dHlwZS8ke2l0ZW0ucG9ydGFsX3R5cGUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXC58IC9nLCBcIi1cIil9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpdGVtLlRpdGxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyNpZiAkY29uZmlnLm1vZGUgPT0gXCJzZWFyY2hcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj48c3BhbiBjbGFzcz1cInNtYWxsXCI+e2l0ZW0ucGF0aH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsjaWYgaXRlbS5pc19mb2xkZXJpc2ggJiYgJGNvbmZpZy5tb2RlID09IFwiYnJvd3NlXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJicm93c2VTdWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2U6cmVzb2x2ZUljb249e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbk5hbWU6IFwiYXJyb3ctcmlnaHQtY2lyY2xlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey9lYWNofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7I2lmIGxldmVsLm1vcmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb2FkbW9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1sZXZlbC1wYXRoPXtsZXZlbC5wYXRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbGV2ZWwtbmV4dC1wYWdlPXtwYXJzZUludChsZXZlbC5wYWdlKSArIDF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlOmxvYWRNb3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXItYm9yZGVyXCIgcm9sZT1cInN0YXR1c1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsjaWYgbGV2ZWwudG90YWwgPT0gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50SXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntfdChcIm5vIHJlc3VsdHMgZm91bmRcIil9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgey9lYWNofVxuICAgICAgICAgICAgICAgICAgICB7I2lmIHByZXZpZXdJdGVtPy5VSUQgJiYgJHByZXZpZXdVaWRzLmxlbmd0aCA9PSAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxUb29sYmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17IWlzU2VsZWN0YWJsZShwcmV2aWV3SXRlbSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjpjbGlja3xwcmV2ZW50RGVmYXVsdD17KCkgPT4gYWRkSXRlbShwcmV2aWV3SXRlbSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e190KFwic2VsZWN0ICR7cHJldmlld19wYXRofVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlld19wYXRoOiBwcmV2aWV3SXRlbS5wYXRoLnNwbGl0KFwiL1wiKS5wb3AoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfTwvYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7I2lmIHByZXZpZXdJdGVtLmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld0ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJ7cHJldmlld0l0ZW0uZ2V0VVJMfS9AQGltYWdlcy9pbWFnZS9wcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PXtwcmV2aWV3SXRlbS5UaXRsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHs6ZWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3SWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlOnJlc29sdmVJY29uPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uTmFtZTogYGNvbnRlbnR0eXBlLyR7cHJldmlld0l0ZW0ucG9ydGFsX3R5cGUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXC58IC9nLCBcIi1cIil9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND57cHJldmlld0l0ZW0uVGl0bGV9PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3ByZXZpZXdJdGVtLkRlc2NyaXB0aW9ufTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7L2lmfVxuICAgICAgICAgICAgICAgICAgICB7I2lmICRwcmV2aWV3VWlkcy5sZW5ndGggPiAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxUb29sYmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjpjbGlja3xwcmV2ZW50RGVmYXVsdD17YWRkU2VsZWN0ZWRJdGVtc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57X3QoXCJhZGQgc2VsZWN0ZWQgaXRlbXNcIil9PC9idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZTpyZXNvbHZlSWNvbj17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25OYW1lOiBcImZpbGVzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIHsvaWZ9XG4gICAgICAgICAgICAgICAgICAgIHsjaWYgc2hvd1VwbG9hZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtd3JhcHBlclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7L2lmfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgezpjYXRjaCBlcnJvcn1cbiAgICAgICAgICAgICAgICA8cCBzdHlsZT1cImNvbG9yOiByZWRcIj57ZXJyb3IubWVzc2FnZX08L3A+XG4gICAgICAgICAgICB7L2F3YWl0fVxuICAgICAgICA8L25hdj5cbiAgICA8L2Rpdj5cbnsvaWZ9XG5cbjxzdHlsZT5cbiAgICAuY29udGVudC1icm93c2VyLXBvc2l0aW9uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICB6LWluZGV4OiAxNTAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICB9XG4gICAgLmJ0bi14cyB7XG4gICAgICAgIC0tYnMtYnRuLXBhZGRpbmcteTogMC4xNXJlbTtcbiAgICAgICAgLS1icy1idG4tcGFkZGluZy14OiAwLjVyZW07XG4gICAgICAgIC0tYnMtYnRuLWZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB9XG4gICAgLmNvbnRlbnQtYnJvd3NlciB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIG1pbi13aWR0aDogNTUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpZ2h0LWJnLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci13aWR0aCkgI2ZmZjtcbiAgICAgICAgei1pbmRleDogMTUwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLnRvb2xCYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMC4zMjVyZW0gMC43NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWJzLWxpZ2h0KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgfVxuICAgIC50b29sQmFyIDpnbG9iYWwoc3ZnKSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcbiAgICB9XG4gICAgLmxldmVsQ29sdW1ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZmxleC1ncm93OiAzO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItY29sb3IpIHZhcigtLWJzLWJvcmRlci13aWR0aCk7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5sZXZlbENvbHVtbiB7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci13aWR0aClcbiAgICAgICAgICAgIHZhcigtLWJzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmxldmVsVG9vbGJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAwLjM3NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYnMtYm9yZGVyLXN0eWxlKSB2YXIoLS1icy1ib3JkZXItd2lkdGgpXG4gICAgICAgICAgICB2YXIoLS1icy1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgICAubGV2ZWxUb29sYmFyID4gLmxldmVsQWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAubGV2ZWxUb29sYmFyID4gYnV0dG9ue1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAubGV2ZWxJdGVtcyB7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgfVxuICAgIC5jb250ZW50SXRlbSB7XG4gICAgICAgIC8qIHBhZGRpbmc6IDFyZW0gMXJlbTsgKi9cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICAgICAgbWluLWhlaWdodDogMnJlbTtcbiAgICB9XG4gICAgLmNvbnRlbnRJdGVtOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAuY29udGVudEl0ZW0uZXZlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYnMtc2Vjb25kYXJ5LWJnLXJnYiksIC40KTtcbiAgICB9XG4gICAgLmNvbnRlbnRJdGVtLmluUGF0aCxcbiAgICAuY29udGVudEl0ZW06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWJzLXByaW1hcnktcmdiKSwgMC4xNSk7XG4gICAgfVxuICAgIC5jb250ZW50SXRlbS5zZWxlY3RlZEl0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWJzLWJvZHktYmcpO1xuICAgIH1cbiAgICAuY29udGVudEl0ZW0gPiAqIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmNvbnRlbnRJdGVtID4gLmJyb3dzZVN1YiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5jb250ZW50SXRlbSAuZ3JpZC1wcmV2aWV3ID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDk1cHg7XG4gICAgICAgIGhlaWdodDogOTVweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuICAgIC5wcmV2aWV3IHtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgLnByZXZpZXcgLmluZm8ge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB3b3JkLXdyYXA6IGFueXdoZXJlO1xuICAgIH1cbiAgICAucHJldmlldyAuaW5mbyAucHJldmlld0ljb24ge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxcmVtIGF1dG87XG4gICAgfVxuICAgIC5wcmV2aWV3IC5pbmZvIC5wcmV2aWV3SWNvbiBzdmcge1xuICAgICAgICB3aWR0aDogNTBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByZXZpZXcgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuMiByZW07XG4gICAgfVxuICAgIC5wcmV2aWV3IGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnVwbG9hZC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgd2lkdGg6IDU5MHB4O1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIH1cbiAgICAubG9hZG1vcmUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgICB9XG48L3N0eWxlPlxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRsQkksMkVBQWtDLENBQzlCLFFBQVEsQ0FBRSxLQUFLLENBQ2YsR0FBRyxDQUFFLENBQUMsQ0FDTixLQUFLLENBQUUsQ0FBQyxDQUNSLE9BQU8sQ0FBRSxJQUFJLENBQ2IsZUFBZSxDQUFFLEdBQUcsQ0FDcEIsT0FBTyxDQUFFLElBQUksQ0FDYixLQUFLLENBQUUsSUFBSSxDQUNYLE1BQU0sQ0FBRSxLQUFLLENBQ2IsZ0JBQWdCLENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hDLENBQ0EsaURBQVEsQ0FDSixrQkFBa0IsQ0FBRSxPQUFPLENBQzNCLGtCQUFrQixDQUFFLE1BQU0sQ0FDMUIsa0JBQWtCLENBQUUsT0FDeEIsQ0FDQSwwREFBaUIsQ0FDYixNQUFNLENBQUUsS0FBSyxDQUNiLFNBQVMsQ0FBRSxLQUFLLENBQ2hCLGdCQUFnQixDQUFFLElBQUksb0JBQW9CLENBQUMsQ0FDM0MsV0FBVyxDQUFFLElBQUksaUJBQWlCLENBQUMsQ0FBQyxJQUFJLGlCQUFpQixD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*/"],sourceRoot:""}]),I.A=t},49393:function(g,I,A){var C=A(71354),e=A.n(C),l=A(76314),t=A.n(l)()(e());t.push([g.id,".content-browser-selected-items-wrapper.svelte-awokap{display:flex;align-items:start}.content-browser-selected-items.svelte-awokap{list-style:none;background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius) 0 0 var(--bs-border-radius);border:var(--bs-border-style) var(--bs-border-color) var(--bs-border-width);min-height:2.4rem;padding:.5rem .5rem 0 .5rem;flex:1 1 auto}","",{version:3,sources:["webpack://./node_modules/@plone/mockup/src/pat/contentbrowser/src/SelectedItems.svelte"],names:[],mappings:"AAAA,sDAAA,YAAA,CAAA,iBAAA,CAAA,8CAAA,eAAA,CAAA,kCAAA,CAAA,iEAAA,CAAA,2EAAA,CAAA,iBAAA,CAAA,2BAAA,CAAA,aAAA",sourcesContent:[".content-browser-selected-items-wrapper.svelte-awokap{display:flex;align-items:start}.content-browser-selected-items.svelte-awokap{list-style:none;background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius) 0 0 var(--bs-border-radius);border:var(--bs-border-style) var(--bs-border-color) var(--bs-border-width);min-height:2.4rem;padding:0.5rem 0.5rem 0 0.5rem;flex:1 1 auto}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0ZWRJdGVtcy5zdmVsdGUiLCJzb3VyY2VzIjpbIlNlbGVjdGVkSXRlbXMuc3ZlbHRlIl0sInNvdXJjZXNDb250ZW50IjpbIjxzY3JpcHQ+XG4gICAgaW1wb3J0IHsgZ2V0Q29udGV4dCwgb25Nb3VudCwgc2V0Q29udGV4dCB9IGZyb20gXCJzdmVsdGVcIjtcbiAgICBpbXBvcnQgeyBnZXRfaXRlbXNfZnJvbV91aWRzIH0gZnJvbSBcIi4vdXRpbHMuanNcIjtcbiAgICBpbXBvcnQgU29ydGFibGUgZnJvbSBcInNvcnRhYmxlanNcIjtcbiAgICBpbXBvcnQgX3QgZnJvbSBcIi4uLy4uLy4uL2NvcmUvaTE4bi13cmFwcGVyXCI7XG4gICAgaW1wb3J0IGV2ZW50cyBmcm9tIFwiQHBhdHRlcm5zbGliL3BhdHRlcm5zbGliL3NyYy9jb3JlL2V2ZW50c1wiO1xuICAgIGltcG9ydCBwbG9uZV9yZWdpc3RyeSBmcm9tIFwiQHBsb25lL3JlZ2lzdHJ5XCI7XG5cbiAgICBsZXQgcmVmO1xuICAgIGxldCBpbml0aWFsaXppbmcgPSB0cnVlO1xuXG4gICAgLy8gZ2V0IHJlYWN0aXZlIGNvbnRleHQgY29uZmlnXG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29udGV4dChcImNvbmZpZ1wiKTtcbiAgICBjb25zdCBmaWVsZElkID0gJGNvbmZpZy5maWVsZElkO1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXNOb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZmllbGRJZCk7XG5cbiAgICAvLyBnZXQgcmVhY3RpdmUgY29udGV4dCBzdG9yZVxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSBnZXRDb250ZXh0KFwic2VsZWN0ZWRJdGVtc1wiKTtcbiAgICBjb25zdCBzZWxlY3RlZFVpZHMgPSBnZXRDb250ZXh0KFwic2VsZWN0ZWRVaWRzXCIpO1xuXG4gICAgLy8gc2hvd0NvbnRlbnRCcm93c2VyIHJlYWN0aXZlIHN0YXRlXG4gICAgY29uc3Qgc2hvd0NvbnRlbnRCcm93c2VyID0gZ2V0Q29udGV4dChcInNob3dDb250ZW50QnJvd3NlclwiKTtcblxuICAgIC8vIGdldCBzZWxlY3RlZEl0ZW0gY29tcG9uZW50IGZyb20gcmVnaXN0cnkuXG4gICAgLy8gdGhlIHJlZ2lzdHJ5IGtleSBjYW4gYmUgY3VzdG9taXplZCB3aXRoIHBhdHRlcm5fb3B0aW9uc1xuICAgIC8vIGlmIGFuIGFkZG9uIHJlZ2lzdGVycyBhIGN1c3RvbSBjb21wb25lbnQgdG8gYSBjdXN0b20ga2V5XG4gICAgY29uc3QgUmVnaXN0ZXJlZFNlbGVjdGVkSXRlbSA9IHBsb25lX3JlZ2lzdHJ5LmdldENvbXBvbmVudChcbiAgICAgICAgJGNvbmZpZy5jb21wb25lbnRSZWdpc3RyeUtleXM/LnNlbGVjdGVkSXRlbSB8fMKgXCJwYXQtY29udGVudGJyb3dzZXIuU2VsZWN0ZWRJdGVtXCJcbiAgICApO1xuXG4gICAgb25Nb3VudChhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IGluaXRpYWxpemVTZWxlY3RlZEl0ZW1zU3RvcmUoKTtcbiAgICAgICAgaW5pdGlhbGl6ZVNvcnRpbmcoKTtcbiAgICAgICAgaW5pdGlhbGl6aW5nID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBmdW5jdGlvbiB1bnNlbGVjdEl0ZW0oaSkge1xuICAgICAgICBzZWxlY3RlZEl0ZW1zLnVwZGF0ZSgobikgPT4ge1xuICAgICAgICAgICAgbi5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICByZXR1cm4gbjtcbiAgICAgICAgfSk7XG4gICAgICAgIHNlbGVjdGVkVWlkcy51cGRhdGUoKCkgPT4gJHNlbGVjdGVkSXRlbXMubWFwKCh4KSA9PiB4LlVJRCkpO1xuICAgIH1cblxuICAgIC8vIHVzZSB0aGlzIGZ1bmN0aW9uIGluIFwiU2VsZWN0ZWRJdGVtXCIgY29tcG9uZW50IHdpdGhcbiAgICAvLyBjb25zdCB1bnNlbGVjdEl0ZW0gPSBnZXRDb250ZXh0KFwidW5zZWxlY3RJdGVtXCIpXG4gICAgc2V0Q29udGV4dChcInVuc2VsZWN0SXRlbVwiLCB1bnNlbGVjdEl0ZW0pO1xuXG4gICAgYXN5bmMgZnVuY3Rpb24gaW5pdGlhbGl6ZVNlbGVjdGVkSXRlbXNTdG9yZSgpIHtcbiAgICAgICAgY29uc3QgaW5pdGlhbFZhbHVlID0gJGNvbmZpZy5zZWxlY3Rpb24ubGVuZ3RoXG4gICAgICAgICAgICA/ICRjb25maWcuc2VsZWN0aW9uXG4gICAgICAgICAgICA6IHNlbGVjdGVkSXRlbXNOb2RlPy52YWx1ZVxuICAgICAgICAgICAgICA/IHNlbGVjdGVkSXRlbXNOb2RlLnZhbHVlLnNwbGl0KCRjb25maWcuc2VwYXJhdG9yKVxuICAgICAgICAgICAgICA6IFtdO1xuXG4gICAgICAgIGlmICghaW5pdGlhbFZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgJHNlbGVjdGVkSXRlbXMgPSBhd2FpdCBnZXRfaXRlbXNfZnJvbV91aWRzKGluaXRpYWxWYWx1ZSwgJGNvbmZpZyk7XG4gICAgICAgIHNlbGVjdGVkVWlkcy51cGRhdGUoKCkgPT4gJHNlbGVjdGVkSXRlbXMubWFwKCh4KSA9PiB4LlVJRCkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluaXRpYWxpemVTb3J0aW5nKCkge1xuICAgICAgICBpZiAoJGNvbmZpZy5tYXhpbXVtU2VsZWN0aW9uU2l6ZSAhPT0gMSAmJiAkc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBTb3J0YWJsZS5jcmVhdGUoXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtc05vZGUucHJldmlvdXNTaWJsaW5nLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICAgICAgICAgIFwiLmNvbnRlbnQtYnJvd3Nlci1zZWxlY3RlZC1pdGVtc1wiLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkcmFnZ2FibGU6IFwiLnNlbGVjdGVkLWl0ZW1cIixcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAyMDAsXG4gICAgICAgICAgICAgICAgICAgIG9uVXBkYXRlOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNvcnRlZFV1aWRzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGVsIG9mIGUudGFyZ2V0LmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydGVkVXVpZHMucHVzaChlbC5kYXRhc2V0W1widXVpZFwiXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXROb2RlVmFsdWUoc29ydGVkVXVpZHMpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2VsZWN0ZWRVaWRzRnJvbVNlbGVjdGVkSXRlbXMoKSB7XG4gICAgICAgIGxldCBpdGVtcyA9IFtdO1xuICAgICAgICAkc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtcy5wdXNoKGl0ZW0uVUlEKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBpdGVtcztcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXROb2RlVmFsdWUoc2VsZWN0ZWRVaWRzKSB7XG4gICAgICAgIGNvbnN0IG5vZGVfdmFsID0gc2VsZWN0ZWRVaWRzLmpvaW4oJGNvbmZpZy5zZXBhcmF0b3IpO1xuICAgICAgICBzZWxlY3RlZEl0ZW1zTm9kZS52YWx1ZSA9IG5vZGVfdmFsO1xuICAgICAgICBzZWxlY3RlZEl0ZW1zTm9kZS5kaXNwYXRjaEV2ZW50KGV2ZW50cy5jaGFuZ2VfZXZlbnQoKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gTG9hZFNlbGVjdGVkSXRlbUNvbXBvbmVudChub2RlLCBwcm9wcykge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBuZXcgUmVnaXN0ZXJlZFNlbGVjdGVkSXRlbS5jb21wb25lbnQoe3RhcmdldDogbm9kZSwgcHJvcHM6IHByb3BzfSk7XG4gICAgfVxuXG4gICAgJDoge1xuICAgICAgICAkc2VsZWN0ZWRJdGVtcztcbiAgICAgICAgaWYgKCRzZWxlY3RlZEl0ZW1zLmxlbmd0aCB8fCAhaW5pdGlhbGl6aW5nKSB7XG4gICAgICAgICAgICBzZXROb2RlVmFsdWUoc2VsZWN0ZWRVaWRzRnJvbVNlbGVjdGVkSXRlbXMoKSk7XG4gICAgICAgICAgICBpbml0aWFsaXplU29ydGluZygpO1xuICAgICAgICB9XG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxkaXZcbiAgICBjbGFzcz1cImNvbnRlbnQtYnJvd3Nlci1zZWxlY3RlZC1pdGVtcy13cmFwcGVyXCJcbiAgICBzdHlsZT1cIndpZHRoOiB7JGNvbmZpZy53aWR0aCB8fCAnYXV0byd9XCJcbiAgICBiaW5kOnRoaXM9e3JlZn1cbj5cbiAgICA8IS0tIHN2ZWx0ZS1pZ25vcmUgYTExeS1jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzIC0tPlxuICAgIDwhLS0gc3ZlbHRlLWlnbm9yZSBhMTF5LW5vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1icm93c2VyLXNlbGVjdGVkLWl0ZW1zXCJcbiAgICAgICAgIG9uOmNsaWNrPXsoKSA9PiAkc2hvd0NvbnRlbnRCcm93c2VyID0gJHNlbGVjdGVkSXRlbXMubGVuZ3RoID8gZmFsc2UgOiB0cnVlIH0+XG4gICAgICAgIHsjaWYgJHNlbGVjdGVkSXRlbXN9XG4gICAgICAgICAgICB7I2VhY2ggJHNlbGVjdGVkSXRlbXMgYXMgc2VsSXRlbSwgaSAoc2VsSXRlbS5VSUQpfVxuICAgICAgICAgICAgICAgIDxkaXYgdXNlOkxvYWRTZWxlY3RlZEl0ZW1Db21wb25lbnQ9e3tpZHg6aSwgaXRlbTpzZWxJdGVtfX0gLz5cbiAgICAgICAgICAgIHsvZWFjaH1cbiAgICAgICAgey9pZn1cbiAgICAgICAgeyNpZiAhJHNlbGVjdGVkSXRlbXN9XG4gICAgICAgICAgICA8cD57X3QoXCJsb2FkaW5nIHNlbGVjdGVkIGl0ZW1zXCIpfTwvcD5cbiAgICAgICAgey9pZn1cbiAgICA8L2Rpdj5cbiAgICA8IS0tIHN2ZWx0ZS1pZ25vcmUgYTExeS1pbnZhbGlkLWF0dHJpYnV0ZSAtLT5cbiAgICA8YVxuICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIGhyZWY9XCIjXCJcbiAgICAgICAgc3R5bGU9XCJib3JkZXItcmFkaXVzOjAgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgMFwiXG4gICAgICAgIG9uOmNsaWNrfHByZXZlbnREZWZhdWx0PXsoKSA9PiAoJHNob3dDb250ZW50QnJvd3NlciA9IHRydWUpfVxuICAgICAgICA+e190KFwiU2VsZWN0XCIpfTwvYVxuICAgID5cbjwvZGl2PlxuXG48c3R5bGU+XG4gICAgLmNvbnRlbnQtYnJvd3Nlci1zZWxlY3RlZC1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIH1cbiAgICAuY29udGVudC1icm93c2VyLXNlbGVjdGVkLWl0ZW1zIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpIDAgMCB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1icy1ib3JkZXItc3R5bGUpIHZhcigtLWJzLWJvcmRlci1jb2xvcikgdmFyKC0tYnMtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgbWluLWhlaWdodDogMi40cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAgMC41cmVtO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG48L3N0eWxlPlxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJJSSxxREFBd0MsQ0FDcEMsT0FBTyxDQUFFLElBQUksQ0FDYixXQUFXLENBQUUsS0FDakIsQ0FDQSw2Q0FBZ0MsQ0FDNUIsVUFBVSxDQUFFLElBQUksQ0FDaEIsZ0JBQWdCLENBQUUsSUFBSSxZQUFZLENBQUMsQ0FDbkMsYUFBYSxDQUFFLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FDbEUsTUFBTSxDQUFFLElBQUksaUJBQWlCLENBQUMsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxDQUM1RSxVQUFVLENBQUUsTUFBTSxDQUNsQixPQUFPLENBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUMvQixJQUFJLENBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUNkIn0=*/"],sourceRoot:""}]),I.A=t},44668:function(g,I,A){A.r(I),A.d(I,{default:function(){return zg}});var C=A(43467),e=(A(2531),A(23505)),l=A(41949),t=A(8633);function c(g){const I=g-1;return I*I*I+1}var i={$(g){return"string"==typeof g?document.querySelector(g):g},extend(...g){return Object.assign(...g)},cumulativeOffset(g){let I=0,A=0;do{I+=g.offsetTop||0,A+=g.offsetLeft||0,g=g.offsetParent}while(g);return{top:I,left:A}},directScroll(g){return g&&g!==document&&g!==document.body},scrollTop(g,I){let A=void 0!==I;return this.directScroll(g)?A?g.scrollTop=I:g.scrollTop:A?document.documentElement.scrollTop=document.body.scrollTop=I:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},scrollLeft(g,I){let A=void 0!==I;return this.directScroll(g)?A?g.scrollLeft=I:g.scrollLeft:A?document.documentElement.scrollLeft=document.body.scrollLeft=I:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0}};const s={container:"body",duration:500,delay:0,offset:0,easing:function(g){return g<.5?4*g*g*g:.5*Math.pow(2*g-2,3)+1},onStart:C.lQ1,onDone:C.lQ1,onAborting:C.lQ1,scrollX:!1,scrollY:!0},n=g=>{let{offset:I,duration:A,delay:e,easing:l,x:t=0,y:c=0,scrollX:s,scrollY:n,onStart:b,onDone:d,container:u,onAborting:o,element:a}=g;"function"==typeof I&&(I=I());var G=i.cumulativeOffset(u),r=a?i.cumulativeOffset(a):{top:c,left:t},Z=i.scrollLeft(u),m=i.scrollTop(u),X=r.left-G.left+I,B=r.top-G.top+I,x=X-Z,V=B-m;let p=!0,y=!1,W=(0,C.tB5)()+e,F=W+A;function v(g){g||(y=!0,b(a,{x:t,y:c}))}function Q(g){!function(g,I,A){s&&i.scrollLeft(g,A),n&&i.scrollTop(g,I)}(u,m+V*g,Z+x*g)}function N(){p=!1}return(0,C.HWo)((g=>{if(!y&&g>=W&&v(!1),y&&g>=F&&(Q(1),N(),d(a,{x:t,y:c})),!p)return o(a,{x:t,y:c}),!1;if(y){Q(0+1*l((g-W)/A))}return!0})),v(e),Q(0),N},b=g=>{let I=i.extend({},s,g);return I.container=i.$(I.container),I.element=i.$(I.element),I},d=g=>{if(g&&g!==document&&g!==document.body)return g.scrollHeight-g.offsetHeight;{let g=document.body,I=document.documentElement;return Math.max(g.scrollHeight,g.offsetHeight,I.clientHeight,I.scrollHeight,I.offsetHeight)}},u=g=>n(b(g)),o=g=>(I,A)=>{let C=A;const e=I=>{I.preventDefault(),g("string"==typeof C?{element:C}:C)};return I.addEventListener("click",e),I.addEventListener("touchstart",e),{update(g){C=g},destroy(){I.removeEventListener("click",e),I.removeEventListener("touchstart",e)}}};o(u),o((g=>(g=b(g),n(i.extend(g,{element:null,y:0}))))),o((g=>(g=b(g),n(i.extend(g,{element:null,y:d(g.container)})))));function a(g,{delay:I=0,duration:A=400,easing:e=c,x:l=0,y:t=0,opacity:i=0}={}){const s=getComputedStyle(g),n=+s.opacity,b="none"===s.transform?"":s.transform,d=n*(1-i),[u,o]=(0,C.AE)(l),[a,G]=(0,C.AE)(t);return{delay:I,duration:A,easing:e,css:(g,I)=>`\n\t\t\ttransform: ${b} translate(${(1-g)*u}${o}, ${(1-g)*a}${G});\n\t\t\topacity: ${n-d*I}`}}var G=A(20681),r=A(98146);const Z=[];function m(g,I=C.lQ1){let A;const e=new Set;function l(I){if((0,C.jXN)(g,I)&&(g=I,A)){const I=!Z.length;for(const I of e)I[1](),Z.push(I,g);if(I){for(let g=0;g{e.delete(s),0===e.size&&A&&(A(),A=null)}}}}var X=A(42777);function B(g,I){const A=m([]),e=async I=>(I={...{vocabularyUrl:g.vocabularyUrl,attributes:g.attributes,pageSize:g.pageSize},...I},g.selectableTypes.length&&(I.selectableTypes=g.selectableTypes),await(0,X.Em)(I));return A.get=async l=>{let{path:t="",searchTerm:c="",updateCache:i=!1,loadMorePath:s="",page:n=1}=l;if("search"===g.mode)await(async(I,C)=>{let l={searchPath:g.rootPath,page:C};if(I){if(I.length<2)return;l.searchTerm="*"+I+"*"}let t=await e(l);t.page=C,t.searchTerm=I,A.update((A=>{const e=C*g.pageSizet.page&&await(async(I,C,l)=>{let t={path:I,page:C};l&&(t.searchTerm="*"+l+"*");let c=await e(t);c.more=C*g.pageSize(g.forEach((g=>{if(g.path!=I)return g;g.page=c.page,g.more=c.more,g.results=[...g.results,...c.results]})),g)))})(s,n,t.searchTerm)}else t&&await(async(l,t,c)=>{let i=g.rootPath,s=i.replace(/^\/+/,"").split("/"),n=l,b=i;if(!n.startsWith(i))if(1===s.length)n=i+n;else{let g=n.replace(/^\/+/,"").split("/"),I=s.length;for(let A=0;Ag.includes(I))).join("/"),n="/"+s.slice(1,I).concat(g).join("/")}let d=[],u=n.split("/")||[];const o=Math.min(u.length,g.maxDepth||999);let a=u.slice(u.length-o,u.length);const G=u.slice(0,u.length-o).join("/");for(;a.length>0;){let g=a.join("/").replace(/^\//,"");if(g=G+(""!=a.pop()?`/${g}`:""),g&&-1===d.indexOf(g)&&d.push(g),g==i)break}const r=(0,C.bif)(I);let Z=[],m=0;for(var X of d){m++;const A=1==m;let C={};if(!(X in r)||A&&t||c){let l={path:X};if(A&&t&&(l.searchTerm="*"+t+"*"),C=await e(l),C.more=g.pageSize(g[X]=C,g)))}}else C=r[X];Z=[C,...Z]}A.set(Z)})(t,c,i)},A}function x(g,I,A){const C=g.slice();return C[5]=I[A],C}function V(g){let I,A,e,l,t,c,i,s,n,b,d=(0,G.Ay)("Favorites")+"",u=(0,C.rv_)(g[0].favorites),o=[];for(let I=0;IA(0,e=g)));const c=(0,l.ur)();function i(g){c("selectItem",{item:g})}return[e,t,i,g=>i(g)]}class F extends C.r7T{constructor(g){super(),(0,C.TsN)(this,g,W,y,C.jXN,{})}}var v=F;function Q(g,I,A){const C=g.slice();return C[6]=I[A],C}function N(g){let I,A,e,l,t,c,i,s,n,b,d=(0,G.Ay)("Recently Used")+"",u=(0,C.rv_)(g[2].reverse()),o=[];for(let I=0;IA(0,e=g)));const c=(0,X.gf)(!0,e),i=(0,l.ur)();function s(g){i("selectItem",{item:g})}return[e,t,c,s,g=>s(g)]}class R extends C.r7T{constructor(g){super(),(0,C.TsN)(this,g,U,Y,C.jXN,{})}}var w=R,L=A(85072),D=A.n(L),J=A(97825),S=A.n(J),j=A(57722),f=A.n(j),k=A(55056),H=A.n(k),z=A(10540),E=A.n(z),T=A(41113),q=A.n(T),P=A(1350),K={};K.styleTagTransform=q(),K.setAttributes=H(),K.insert=f(),K.domAPI=S(),K.insertStyleElement=E();D()(P.A,K),P.A&&P.A.locals&&P.A.locals;function O(g,I,A){const C=g.slice();return C[48]=I[A],C[49]=I,C[50]=A,C}function M(g,I,A){const C=g.slice();return C[51]=I[A],C[53]=A,C}function $(g){let I,A,e,l,t,c,i,s,n,b,d,u,o,G,r,Z,m,B,x,V,p,y,W,F,Q;d=new w({}),d.$on("selectItem",g[22]),o=new v({}),o.$on("selectItem",g[23]);let N=g[6].uploadEnabled&&_(g),h={ctx:g,current:null,token:null,hasCatch:!0,pending:Bg,then:Ig,catch:gg,value:47,error:54};return(0,C.vBd)(V=g[1],h),{c(){I=(0,C.ND4)("div"),A=(0,C.ND4)("nav"),e=(0,C.ND4)("div"),l=(0,C.ND4)("div"),t=(0,C.ND4)("input"),c=(0,C.xem)(),i=(0,C.ND4)("label"),s=(0,C.QQy)("svg"),b=(0,C.xem)(),(0,C.N0i)(d.$$.fragment),u=(0,C.xem)(),(0,C.N0i)(o.$$.fragment),G=(0,C.xem)(),N&&N.c(),r=(0,C.xem)(),Z=(0,C.ND4)("button"),m=(0,C.QQy)("svg"),x=(0,C.xem)(),h.block.c(),(0,C.CFu)(t,"type","text"),(0,C.CFu)(t,"name","filter"),(0,C.CFu)(i,"for","filter"),(0,C.CFu)(l,"class","filter me-3"),(0,C.CFu)(Z,"class","btn btn-link text-white ms-auto"),(0,C.CFu)(Z,"tabindex","0"),(0,C.CFu)(e,"class","toolBar navbar svelte-jgy3q8"),(0,C.CFu)(A,"class","content-browser svelte-jgy3q8"),(0,C.CFu)(I,"class","content-browser-position-wrapper svelte-jgy3q8")},m(a,V){(0,C.Yry)(a,I,V),(0,C.BCw)(I,A),(0,C.BCw)(A,e),(0,C.BCw)(e,l),(0,C.BCw)(l,t),(0,C.BCw)(l,c),(0,C.BCw)(l,i),(0,C.BCw)(i,s),(0,C.BCw)(e,b),(0,C.wSR)(d,e,null),(0,C.BCw)(e,u),(0,C.wSR)(o,e,null),(0,C.BCw)(e,G),N&&N.m(e,null),(0,C.BCw)(e,r),(0,C.BCw)(e,Z),(0,C.BCw)(Z,m),(0,C.BCw)(A,x),h.block.m(A,h.anchor=null),h.mount=()=>A,h.anchor=null,W=!0,F||(Q=[(0,C.KTR)(t,"input",g[28]),(0,C.hGc)(n=X.qz.call(null,s,{iconName:"search"})),(0,C.hGc)(B=X.qz.call(null,m,{iconName:"x-circle"})),(0,C.KTR)(Z,"click",(0,C.xZN)(g[30])),(0,C.KTR)(A,"introend",g[39]),(0,C.hGc)(p=X.EO.call(null,A)),(0,C.KTR)(A,"click_outside",g[24])],F=!0)},p(I,A){(g=I)[6].uploadEnabled?N?N.p(g,A):(N=_(g),N.c(),N.m(e,r)):N&&(N.d(1),N=null),h.ctx=g,2&A[0]&&V!==(V=g[1])&&(0,C.vBd)(V,h)||(0,C._6B)(h,g,A)},i(I){W||((0,C.c7F)(d.$$.fragment,I),(0,C.c7F)(o.$$.fragment,I),I&&(0,C.Dti)((()=>{W&&(y||(y=(0,C.h86)(A,a,{x:g[14]/100*94,opacity:1},!0)),y.run(1))})),W=!0)},o(I){(0,C.Tn8)(d.$$.fragment,I),(0,C.Tn8)(o.$$.fragment,I),I&&(y||(y=(0,C.h86)(A,a,{x:g[14]/100*94,opacity:1},!1)),y.run(0)),W=!1},d(g){g&&(0,C.YoD)(I),(0,C.Hbl)(d),(0,C.Hbl)(o),N&&N.d(),h.block.d(),h.token=null,h=null,g&&y&&y.end(),F=!1,(0,C.oOW)(Q)}}}function _(g){let I,A,e,l,t,c,i,s,n=(0,G.Ay)("upload to ${current_path}",{current_path:g[2]})+"";return{c(){I=(0,C.ND4)("div"),A=(0,C.ND4)("button"),e=(0,C.QQy)("svg"),t=(0,C.xem)(),c=(0,C.Qq7)(n),(0,C.CFu)(A,"type","button"),(0,C.CFu)(A,"class","upload btn btn-outline-light btn-sm"),(0,C.CFu)(A,"tabindex","0"),(0,C.CFu)(I,"class","ms-2")},m(n,b){(0,C.Yry)(n,I,b),(0,C.BCw)(I,A),(0,C.BCw)(A,e),(0,C.BCw)(A,t),(0,C.BCw)(A,c),i||(s=[(0,C.hGc)(l=X.qz.call(null,e,{iconName:"upload"})),(0,C.KTR)(A,"keydown",g[15]),(0,C.KTR)(A,"click",g[15])],i=!0)},p(g,I){4&I[0]&&n!==(n=(0,G.Ay)("upload to ${current_path}",{current_path:g[2]})+"")&&(0,C.iQh)(c,n)},d(g){g&&(0,C.YoD)(I),i=!1,(0,C.oOW)(s)}}}function gg(g){let I,A,e=g[54].message+"";return{c(){I=(0,C.ND4)("p"),A=(0,C.Qq7)(e),(0,C.hgi)(I,"color","red")},m(g,e){(0,C.Yry)(g,I,e),(0,C.BCw)(I,A)},p(g,I){2&I[0]&&e!==(e=g[54].message+"")&&(0,C.iQh)(A,e)},d(g){g&&(0,C.YoD)(I)}}}function Ig(g){let I,A,e,l,t=[],c=new Map,i=(0,C.rv_)(g[47]);const s=g=>g[48].path;for(let I=0;I1&&mg(g),d=g[4]&&Xg(g);return{c(){I=(0,C.ND4)("div");for(let g=0;g1?b?b.p(g,u):(b=mg(g),b.c(),b.m(I,l)):b&&(b.d(1),b=null),g[4]?d||(d=Xg(g),d.c(),d.m(I,null)):d&&(d.d(1),d=null)},d(g){g&&(0,C.YoD)(I);for(let g=0;g{u=(0,C.b7f)(A,a,{duration:300}),u.start()})))},o:C.lQ1,d(g){g&&(0,C.YoD)(A),o&&o.d(),G&&G.d(),m.d(),(0,C.ppq)(B,g),x&&x.d(),V&&V.d()}}}function Gg(g){let I,A,e,l,t,c,i,s,n,b,d,u,o,a,r,Z=(0,G.Ay)("select ${preview_path}",{preview_path:g[5].path.split("/").pop()})+"",m=g[5].Title+"",X=g[5].Description+"";function B(g,I){return g[5].getIcon?Zg:rg}let x=B(g),V=x(g);return{c(){I=(0,C.ND4)("div"),A=(0,C.ND4)("div"),e=(0,C.ND4)("button"),l=(0,C.Qq7)(Z),c=(0,C.xem)(),i=(0,C.ND4)("div"),V.c(),s=(0,C.xem)(),n=(0,C.ND4)("h4"),b=(0,C.Qq7)(m),d=(0,C.xem)(),u=(0,C.ND4)("p"),o=(0,C.Qq7)(X),(0,C.CFu)(e,"class","btn btn-primary btn-xs svelte-jgy3q8"),e.disabled=t=!g[25](g[5]),(0,C.CFu)(A,"class","levelToolbar svelte-jgy3q8"),(0,C.CFu)(n,"class","svelte-jgy3q8"),(0,C.CFu)(i,"class","info svelte-jgy3q8"),(0,C.CFu)(I,"class","preview svelte-jgy3q8")},m(t,G){(0,C.Yry)(t,I,G),(0,C.BCw)(I,A),(0,C.BCw)(A,e),(0,C.BCw)(e,l),(0,C.BCw)(I,c),(0,C.BCw)(I,i),V.m(i,null),(0,C.BCw)(i,s),(0,C.BCw)(i,n),(0,C.BCw)(n,b),(0,C.BCw)(i,d),(0,C.BCw)(i,u),(0,C.BCw)(u,o),a||(r=(0,C.KTR)(e,"click",(0,C.xZN)(g[38])),a=!0)},p(g,I){32&I[0]&&Z!==(Z=(0,G.Ay)("select ${preview_path}",{preview_path:g[5].path.split("/").pop()})+"")&&(0,C.iQh)(l,Z),32&I[0]&&t!==(t=!g[25](g[5]))&&(e.disabled=t),x===(x=B(g))&&V?V.p(g,I):(V.d(1),V=x(g),V&&(V.c(),V.m(i,s))),32&I[0]&&m!==(m=g[5].Title+"")&&(0,C.iQh)(b,m),32&I[0]&&X!==(X=g[5].Description+"")&&(0,C.iQh)(o,X)},d(g){g&&(0,C.YoD)(I),V.d(),a=!1,r()}}}function rg(g){let I,A,e,l,t;return{c(){I=(0,C.ND4)("div"),A=(0,C.QQy)("svg"),(0,C.CFu)(A,"class","svelte-jgy3q8"),(0,C.CFu)(I,"class","previewIcon svelte-jgy3q8")},m(c,i){(0,C.Yry)(c,I,i),(0,C.BCw)(I,A),l||(t=(0,C.hGc)(e=X.qz.call(null,A,{iconName:`contenttype/${g[5].portal_type.toLowerCase().replace(/\.| /g,"-")}`})),l=!0)},p(g,I){e&&(0,C.Qk1)(e.update)&&32&I[0]&&e.update.call(null,{iconName:`contenttype/${g[5].portal_type.toLowerCase().replace(/\.| /g,"-")}`})},d(g){g&&(0,C.YoD)(I),l=!1,t()}}}function Zg(g){let I,A,e,l;return{c(){I=(0,C.ND4)("div"),A=(0,C.ND4)("img"),(0,C.mq_)(A.src,e=g[5].getURL+"/@@images/image/preview")||(0,C.CFu)(A,"src",e),(0,C.CFu)(A,"alt",l=g[5].Title),(0,C.CFu)(A,"class","svelte-jgy3q8"),(0,C.CFu)(I,"class","previewImage")},m(g,e){(0,C.Yry)(g,I,e),(0,C.BCw)(I,A)},p(g,I){32&I[0]&&!(0,C.mq_)(A.src,e=g[5].getURL+"/@@images/image/preview")&&(0,C.CFu)(A,"src",e),32&I[0]&&l!==(l=g[5].Title)&&(0,C.CFu)(A,"alt",l)},d(g){g&&(0,C.YoD)(I)}}}function mg(g){let I,A,e,l,t,c,i,s,n;return{c(){I=(0,C.ND4)("div"),A=(0,C.ND4)("div"),e=(0,C.ND4)("button"),e.textContent=`${(0,G.Ay)("add selected items")}`,l=(0,C.xem)(),t=(0,C.ND4)("div"),c=(0,C.QQy)("svg"),(0,C.CFu)(e,"class","btn btn-primary btn-xs svelte-jgy3q8"),(0,C.CFu)(A,"class","levelToolbar svelte-jgy3q8"),(0,C.CFu)(c,"class","svelte-jgy3q8"),(0,C.CFu)(t,"class","info svelte-jgy3q8"),(0,C.CFu)(I,"class","preview svelte-jgy3q8")},m(b,d){(0,C.Yry)(b,I,d),(0,C.BCw)(I,A),(0,C.BCw)(A,e),(0,C.BCw)(I,l),(0,C.BCw)(I,t),(0,C.BCw)(t,c),s||(n=[(0,C.KTR)(e,"click",(0,C.xZN)(g[21])),(0,C.hGc)(i=X.qz.call(null,c,{iconName:"files"}))],s=!0)},p:C.lQ1,d(g){g&&(0,C.YoD)(I),s=!1,(0,C.oOW)(n)}}}function Xg(g){let I;return{c(){I=(0,C.ND4)("div"),(0,C.CFu)(I,"class","upload-wrapper svelte-jgy3q8")},m(g,A){(0,C.Yry)(g,I,A)},d(g){g&&(0,C.YoD)(I)}}}function Bg(g){let I;return{c(){I=(0,C.ND4)("p"),I.textContent=`${(0,G.Ay)("loading content items")}`},m(g,A){(0,C.Yry)(g,I,A)},p:C.lQ1,d(g){g&&(0,C.YoD)(I)}}}function xg(g){let I,A,e=g[3]&&$(g);return{c(){e&&e.c(),I=(0,C.Iex)()},m(g,l){e&&e.m(g,l),(0,C.Yry)(g,I,l),A=!0},p(g,A){g[3]?e?(e.p(g,A),8&A[0]&&(0,C.c7F)(e,1)):(e=$(g),e.c(),(0,C.c7F)(e,1),e.m(I.parentNode,I)):e&&((0,C.V44)(),(0,C.Tn8)(e,1,1,(()=>{e=null})),(0,C.GYV)())},i(g){A||((0,C.c7F)(e),A=!0)},o(g){(0,C.Tn8)(e),A=!1},d(g){g&&(0,C.YoD)(I),e&&e.d(g)}}}function Vg(g,I,A){let e,c,n,b,d,o,a;(g=>{i.extend(s,g||{})})({scrollX:!0,container:".levelColumns",duration:500});const G=(0,l.SD)("currentPath");(0,C.j0C)(g,G,(g=>A(2,n=g)));const Z=(0,l.SD)("config");(0,C.j0C)(g,Z,(g=>A(6,d=g)));const m=(0,l.SD)("pathCache"),x=(0,l.SD)("showContentBrowser");(0,C.j0C)(g,x,(g=>A(3,b=g)));const V=(0,l.SD)("selectedItems");(0,C.j0C)(g,V,(g=>A(43,a=g)));const p=(0,l.SD)("selectedUids");(0,C.j0C)(g,p,(g=>A(42,o=g)));const y=(0,l.SD)("previewUids");(0,C.j0C)(g,y,(g=>A(0,e=g)));const W=B(d,m);(0,C.j0C)(g,W,(g=>A(1,c=g)));let F=!1,v={},Q=!1,N=!1,h=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0);function Y({data:g=null,uuid:I=null,action:l="show"}){if(g&&"show"==l)A(5,v=g),(0,C.vu6)(y,e=[g.UID],e);else if(I&&"add"==l&&-1===e.indexOf(I)){if(d.maximumSelectionSize>0&&e.length>=d.maximumSelectionSize)return;(0,C.vu6)(y,e=[...e,I],e)}else I&&"remove"==l&&-1!==e.indexOf(I)?y.update((g=>(g.splice(g.indexOf(I),1),g))):"clear"==l&&(A(5,v={}),(0,C.vu6)(y,e=[],e))}function U(g,I){A(4,F=!1),Y({action:"clear"}),"/"!==g&&g!==d.rootPath?function(g){if("search"==d.mode)Y({data:g});else if(g.is_folderish)(0,C.vu6)(y,e=[g.UID],e),G.set(g.path);else{const I=g.path.split("/"),A=I.slice(0,I.length-1).join("/");G.set(A||d.rootPath),Y({data:g})}f()}(g):G.set(d.rootPath)}function R(g,I){Q||(Q=!0);const A=I.currentTarget.closest(".levelItems"),C=A.querySelectorAll(".selectedItem");if(C.length&&1!=d.maximumSelectionSize)if(N||I?.shiftKey){let I=!1;for(const C of A.children){if(-1!==[g.UID,v.UID].indexOf(C.dataset.uuid)){if(I){Y({uuid:C.dataset.uuid,action:"add"}),I=!1;continue}I=!0}Y({uuid:C.dataset.uuid,action:I?"add":"remove"})}}else I?.metaKey||I?.ctrlKey?Y({uuid:g.UID,action:-1==e.indexOf(g.UID)?"add":"remove"}):([...C].map((g=>g.classList.remove("selectedItem"))),U(g));else U(g);I.currentTarget.focus(),I.currentTarget.classList.add("selectedItem")}function w(){if(Q)return;const g=[...document.querySelectorAll(".levelColumn .inPath"),...document.querySelectorAll(".levelColumn .selectedItem")];!g.length&&document.querySelector(".levelColumn .contentItem")&&g.push(document.querySelector(".levelColumn .contentItem")),g.length&&(Q=!0,g[0].focus())}function L(g,I){const A=I.currentTarget;if(N=I.shiftKey,"Escape"==I.key&&S(),"ArrowDown"==I.key&&A?.nextElementSibling?.classList.contains("contentItem")&&A.nextElementSibling.click(),"ArrowUp"==I.key&&A?.previousElementSibling?.classList.contains("contentItem")&&A.previousElementSibling.click(),"ArrowRight"==I.key){const g=I.target.closest(".levelColumn"),A=g?.nextElementSibling;if(!A||!A.classList.contains("levelColumn"))return;A.querySelector(".contentItem")?.click()}if("ArrowLeft"==I.key){const g=I.target.closest(".levelColumn"),A=g?.previousElementSibling;if(!A||!A.classList.contains("levelColumn"))return;A.querySelector(".inPath").click()}"Space"==I.key&&R(g,I),"Enter"==I.key&&j(g)&&(1==d.maximumSelectionSize?D(g):J())}async function D(g){1==d.maximumSelectionSize?(V.set([g]),p.set([g.UID])):(V.update((I=>[...I,g])),p.update((()=>a.map((g=>g.UID))))),(0,X.r1)(g,d),Y({action:"clear"}),(0,C.vu6)(x,b=!1,b),Q=!1}async function J(){const g=await(0,X.x6)(e,d);V.update((I=>{for(const A of g)-1==o.indexOf(A.UID)&&I.push(A);return I})),p.update((()=>a.map((g=>g.UID)))),Y({action:"clear"}),(0,C.vu6)(x,b=!1,b),Q=!1}function S(){(0,C.vu6)(x,b=!1,b),Q=!1,Y({action:"clear"})}function j(g){return-1===o.indexOf(g.UID)}function f(){const g=document.querySelector(".levelColumns");g&&u({x:g.scrollWidth+100})}const k=t.A.debounce((g=>{W.get({path:n,searchTerm:g.target.value})}),300);return g.$$.update=()=>{12&g.$$.dirty[0]&&b&&W.get({path:n}),2&g.$$.dirty[0]&&f(),g.$$.dirty[0]},[e,c,n,b,F,v,d,G,Z,x,V,p,y,W,h,async function(){Y({action:"clear"}),A(4,F=!0),await t.A.timeout(1);const g=document.querySelector(".upload-wrapper");g.classList.add("pat-upload"),new r.default(g,{baseUrl:d.rootUrl,currentPath:n,relativePath:"@@fileUpload",allowPathSelection:!1,hiddenInputContainer:".upload-wrapper",success:(g,I)=>{W.get({path:n,updateCache:!0})}})},U,R,w,L,D,J,function(g){D(g.detail.item)},async function(g){const I=g.detail.item.path,A=await(0,X.Em)({vocabularyUrl:d.vocabularyUrl,attributes:d.attributes,levelInfoPath:I});if(!A.total)return void alert(`${I} not found!`);const C=A.results[0];C.path||(C.path=d.rootPath),U(C)},S,j,f,function(g){return"browse"==d.mode&&-1!=n.indexOf(g.path)},k,function(g){const I=new IntersectionObserver((I=>{for(const A of I)if(A.isIntersecting){const I=g.dataset.levelPath,A=parseInt(g.dataset.levelNextPage);W.get({loadMorePath:I,page:A})}}),{threshold:0,root:null,margin:"0px"});window.setTimeout((()=>{I.observe(g)}),500)},()=>S(),()=>U(d.rootPath),()=>U(d.rootPath),g=>D(g),(g,I,A)=>(0,C.vu6)(W,I[A].gridView=!0,c),(g,I,A)=>(0,C.vu6)(W,I[A].gridView=!1,c),(g,I)=>L(g,I),(g,I)=>R(g,I),()=>D(v),()=>{f(),w()}]}class pg extends C.r7T{constructor(g){super(),(0,C.TsN)(this,g,Vg,xg,C.jXN,{},null,[-1,-1])}}var yg=pg,Wg=A(64708),Fg=A.n(Wg),vg=A(44563),Qg=A(58621),Ng=A.n(Qg),hg=A(49393),Yg={};Yg.styleTagTransform=q(),Yg.setAttributes=H(),Yg.insert=f(),Yg.domAPI=S(),Yg.insertStyleElement=E();D()(hg.A,Yg),hg.A&&hg.A.locals&&hg.A.locals;function Ug(g,I,A){const C=g.slice();return C[21]=I[A],C[23]=A,C}function Rg(g){let I,A=[],e=new Map,l=(0,C.rv_)(g[0]);const t=g=>g[21].UID;for(let I=0;IA(2,t=g)));const b=t.fieldId,d=document.getElementById(b),u=(0,l.SD)("selectedItems");(0,C.j0C)(g,u,(g=>A(0,e=g)));const o=(0,l.SD)("selectedUids"),a=(0,l.SD)("showContentBrowser");(0,C.j0C)(g,a,(g=>A(3,c=g)));const G=Ng().getComponent(t.componentRegistryKeys?.selectedItem||"pat-contentbrowser.SelectedItem");function r(){1!==t.maximumSelectionSize&&e.length>1&&Fg().create(d.previousSibling.querySelector(".content-browser-selected-items"),{draggable:".selected-item",animation:200,onUpdate:g=>{let I=[];for(const A of g.target.children)I.push(A.dataset.uuid);Z(I)}})}function Z(g){const I=g.join(t.separator);d.value=I,d.dispatchEvent(vg.A.change_event())}(0,l.Rc)((async()=>{await async function(){const g=t.selection.length?t.selection:d?.value?d.value.split(t.separator):[];if(!g.length)return;(0,C.vu6)(u,e=await(0,X.x6)(g,t),e),o.update((()=>e.map((g=>g.UID))))}(),r(),A(8,s=!1)})),(0,l.o)("unselectItem",(function(g){u.update((I=>(I.splice(g,1),I))),o.update((()=>e.map((g=>g.UID))))}));return g.$$.update=()=>{257&g.$$.dirty&&(!e.length&&s||(Z(function(){let g=[];return e.forEach((I=>{g.push(I.UID)})),g}()),r()))},[e,i,t,c,n,u,a,function(g,I){new G.component({target:g,props:I})},s,()=>(0,C.vu6)(a,c=!e.length,c),()=>(0,C.vu6)(a,c=!0,c),function(g){C.Dnk[g?"unshift":"push"]((()=>{i=g,A(1,i)}))}]}class Sg extends C.r7T{constructor(g){super(),(0,C.TsN)(this,g,Jg,Dg,C.jXN,{})}}var jg=Sg;m(!1);function fg(g){let I,A,e,l;return I=new yg({}),e=new jg({}),{c(){(0,C.N0i)(I.$$.fragment),A=(0,C.xem)(),(0,C.N0i)(e.$$.fragment)},m(g,t){(0,C.wSR)(I,g,t),(0,C.Yry)(g,A,t),(0,C.wSR)(e,g,t),l=!0},p:C.lQ1,i(g){l||((0,C.c7F)(I.$$.fragment,g),(0,C.c7F)(e.$$.fragment,g),l=!0)},o(g){(0,C.Tn8)(I.$$.fragment,g),(0,C.Tn8)(e.$$.fragment,g),l=!1},d(g){g&&(0,C.YoD)(A),(0,C.Hbl)(I,g),(0,C.Hbl)(e,g)}}}function kg(g,I,A){let t,c,{maxDepth:i}=I,{width:s}=I,{attributes:n}=I,{contextPath:b}=I,{vocabularyUrl:d}=I,{mode:u="browse"}=I,{rootPath:o=""}=I,{rootUrl:a=""}=I,{basePath:G=""}=I,{selectableTypes:r=[]}=I,{maximumSelectionSize:Z=-1}=I,{separator:X}=I,{selection:B=[]}=I,{query:x={}}=I,{fieldId:V}=I,{upload:p}=I,{favorites:y}=I,{recentlyUsed:W}=I,{recentlyUsedKey:F}=I,{recentlyUsedMaxItems:v}=I,{bSize:Q=20}=I,{componentRegistryKeys:N={}}=I;const h=e.A.getLogger("pat-contentbrowser");!function(){let g=m("");(0,l.o)("currentPath",g)}(),function(){let g=m({});(0,l.o)("config",g)}(),function(){let g=m({});(0,l.o)("pathCache",g)}(),function(){let g=m([]);(0,l.o)("selectedItems",g)}(),function(){let g=m(!1);(0,l.o)("showContentBrowser",g)}(),function(){let g=m([]);(0,l.o)("selectedUids",g)}(),function(){let g=m([]);(0,l.o)("previewUids",g)}();const Y=(0,l.SD)("currentPath");if((0,C.j0C)(g,Y,(g=>A(25,c=g))),!c)if(G||o)(0,C.vu6)(Y,c=0!=G.indexOf(o)?o:G,c);else{const g=new URL(d).pathname.split("/");o=b=(0,C.vu6)(Y,c=g.slice(0,g.length-1).join("/")||"/",c)}let U=(0,l.SD)("config");return(0,C.j0C)(g,U,(g=>A(24,t=g))),(0,C.vu6)(U,t={mode:u,attributes:n,contextPath:b,vocabularyUrl:d,width:s,maxDepth:i,rootPath:o,rootUrl:a,basePath:G,selectableTypes:r,maximumSelectionSize:Z,separator:X,selection:B,query:x,fieldId:V,uploadEnabled:p,favorites:y,recentlyUsed:W,recentlyUsedKey:F,recentlyUsedMaxItems:v,pageSize:Q,componentRegistryKeys:N},t),h.debug(`Initialized App<${V}> with config ${JSON.stringify(t)}`),g.$$set=g=>{"maxDepth"in g&&A(4,i=g.maxDepth),"width"in g&&A(5,s=g.width),"attributes"in g&&A(6,n=g.attributes),"contextPath"in g&&A(2,b=g.contextPath),"vocabularyUrl"in g&&A(7,d=g.vocabularyUrl),"mode"in g&&A(8,u=g.mode),"rootPath"in g&&A(3,o=g.rootPath),"rootUrl"in g&&A(9,a=g.rootUrl),"basePath"in g&&A(10,G=g.basePath),"selectableTypes"in g&&A(11,r=g.selectableTypes),"maximumSelectionSize"in g&&A(12,Z=g.maximumSelectionSize),"separator"in g&&A(13,X=g.separator),"selection"in g&&A(14,B=g.selection),"query"in g&&A(15,x=g.query),"fieldId"in g&&A(16,V=g.fieldId),"upload"in g&&A(17,p=g.upload),"favorites"in g&&A(18,y=g.favorites),"recentlyUsed"in g&&A(19,W=g.recentlyUsed),"recentlyUsedKey"in g&&A(20,F=g.recentlyUsedKey),"recentlyUsedMaxItems"in g&&A(21,v=g.recentlyUsedMaxItems),"bSize"in g&&A(22,Q=g.bSize),"componentRegistryKeys"in g&&A(23,N=g.componentRegistryKeys)},[Y,U,b,o,i,s,n,d,u,a,G,r,Z,X,B,x,V,p,y,W,F,v,Q,N]}class Hg extends C.r7T{constructor(g){super(),(0,C.TsN)(this,g,kg,fg,C.jXN,{maxDepth:4,width:5,attributes:6,contextPath:2,vocabularyUrl:7,mode:8,rootPath:3,rootUrl:9,basePath:10,selectableTypes:11,maximumSelectionSize:12,separator:13,selection:14,query:15,fieldId:16,upload:17,favorites:18,recentlyUsed:19,recentlyUsedKey:20,recentlyUsedMaxItems:21,bSize:22,componentRegistryKeys:23})}}var zg=Hg}}]); -//# sourceMappingURL=44668.b219df6c29d72b128b05.min.js.map \ No newline at end of file diff --git a/src/plone/staticresources/static/bundle-plone/chunks/94174.b5387973ce4b0deb5652.min.js b/src/plone/staticresources/static/bundle-plone/chunks/94174.2e0244743b0e8b7de087.min.js similarity index 99% rename from src/plone/staticresources/static/bundle-plone/chunks/94174.b5387973ce4b0deb5652.min.js rename to src/plone/staticresources/static/bundle-plone/chunks/94174.2e0244743b0e8b7de087.min.js index d77207218..484ef90c5 100644 --- a/src/plone/staticresources/static/bundle-plone/chunks/94174.b5387973ce4b0deb5652.min.js +++ b/src/plone/staticresources/static/bundle-plone/chunks/94174.2e0244743b0e8b7de087.min.js @@ -1,2 +1,2 @@ -(self.webpackChunkplone_staticresources=self.webpackChunkplone_staticresources||[]).push([[94174],{71553:function(e,t,n){"use strict";n.d(t,{A:function(){return p}});var a=n(35686),i=n.n(a),o=n(59329),r=n(23505),s={getOptions(e,t,n){n=n||{},0===e.length||i().nodeName(e[0],"body")||(n=this.getOptions(e.parent(),t,n));let a={};if(0!==e.length&&(a=e.data("pat-"+t),a&&"string"==typeof a)){const e={};i().each(a.split(";"),(function(t,n){(n=n.split(":")).reverse();let a=n.pop();a=a.replace(/^\s+|\s+$/g,""),n.reverse();let i=n.join(":");i=i.replace(/^\s+|\s+$/g,""),e[a]=i})),a=e}return i().extend(!0,{},n,a)}};const l=r.A.getLogger("Patternslib Base"),c=function(e,t,n){e.jquery||(e=i()(e));const a=this.prototype.name,l=r.A.getLogger(`pat.${a}`);let c=e.data(`pattern-${a}`);if(void 0===c&&o.A.patterns[a])try{e.data(`pattern-${a}`,"initializing"),t="mockup"===this.prototype.parser?s.getOptions(e,a,t):t,c=new o.A.patterns[a](e,t,n)}catch(e){l.error(`Failed while initializing ${a} pattern.`,e)}return c},d=async function(e,t,n){e?.jquery&&0===e.length||!e?l.warn("No element given to pattern."):(e.jquery||(e=i()(e)),this.$el=e,this.el=e[0],this.options=i().extend(!0,{},this.defaults||{},t||{}),this.emit("pre-init"),await this.init(e,t,n),this.$el.data(`pattern-${this.name}`,this),this.el[`pattern-${this.name}`]=this,this.emit("init"))};d.prototype={constructor:d,on(e,t){this.$el.on(`${e}.${this.name}.patterns`,t)},one(e,t){this.$el.one(`${e}.${this.name}.patterns`,t)},emit(e,t){void 0===t&&(t=[]),this.$el.trigger(`${e}.${this.name}.patterns`,t)}},d.extend=function(e){const t=this;let n;if(!e)throw new Error("Pattern configuration properties required when calling Base.extend");n=Object.hasOwnProperty.call(e,"constructor")?e.constructor:function(){t.apply(this,arguments)},n.extend=d.extend,n.init=c,n.jquery_plugin=!0,n.trigger=e.trigger,n.parser=e?.parser||null;var a=function(){this.constructor=n};return a.prototype=t.prototype,n.prototype=new a,i().extend(!0,n.prototype,e),n.__super__=t.prototype,e.name?e.trigger?!1!==e.autoregister&&o.A.register(n,e.name):l.warn(`The pattern ${e.name} does not have a trigger attribute, it will not be registered.`):l.warn("This pattern without a name attribute will not be registered!"),n};var p=d},33077:function(e,t,n){"use strict";n.d(t,{m:function(){return o}});var a=n(44563);const i=n(23505).A.getLogger("basepattern");class o{static name;static trigger;static parser;parser_group_options=!0;parser_multiple=void 0;parser_inherit=!0;constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.name=this.constructor.name,this.trigger=this.constructor.trigger,this.parser=this.constructor.parser,e?(e.jquery&&(e=e[0]),this.el=e,this.el.dispatchEvent(new Event(`pre-init.${this.name}.patterns`,{bubbles:!0,cancelable:!0})),window.setTimeout((async()=>{if(void 0!==this.el[`pattern-${this.name}`])return i.debug(`Not reinstatiating the pattern ${this.name}.`,this.el),void this.el.dispatchEvent(new Event(`not-init.${this.name}.patterns`,{bubbles:!0,cancelable:!1}));this.options=this.parser?.parse(this.el,t,this.parser_multiple,this.parser_inherit,this.parser_group_options)??t,this.el[`pattern-${this.name}`]=this,await this.init(),this.el.dispatchEvent(new Event(`init.${this.name}.patterns`,{bubbles:!0,cancelable:!0}))}),0)):i.warn(`No element given to pattern ${this.name}.`)}async init(){}one(e,t){a.A.add_event_listener(this.el,`${e}.${this.name}.patterns`,`basepattern-one--${e}.${this.name}.patterns`,t,{once:!0})}destroy(){delete this.el[`pattern-${this.name}`]}}},62800:function(e,t,n){"use strict";const a=n(23505).A.getLogger("core dom"),i="__patternslib__data_prefix__",o="__patternslib__style__display";function r(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=window.getComputedStyle(e).getPropertyValue(t);return(n||a)&&(i=parseFloat(i)||0),n&&!a&&(i=parseInt(Math.round(i),10)),i}const s=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.body;t===window&&(t=document.body);const n=Math.abs(e.getBoundingClientRect().left+t.scrollLeft-t.getBoundingClientRect().left-d.get_css_value(t,"border-left-width",!0));return{top:Math.abs(e.getBoundingClientRect().top+t.scrollTop-t.getBoundingClientRect().top-d.get_css_value(t,"border-top-width",!0)),left:n}},l=(e,t,n)=>e[`${i}${t}`]||n,c=(e,t,n)=>{e[`${i}${t}`]=n},d={toNodeArray:e=>(e.jquery||e instanceof NodeList?e=[...e]:e instanceof Array==!1&&(e=[e]),e),querySelectorAllAndMe:(e,t)=>{if(!e)return[];const n=[...e.querySelectorAll(t)];return e.matches(t)&&n.unshift(e),n},wrap:(e,t)=>{e.parentNode.insertBefore(t,e),t.appendChild(e)},hide:e=>{"none"!==e.style.display&&(e.style.display&&(e[o]=e.style.display),e.style.display="none")},show:e=>{const t=e[o]||null;e.style.display=t,delete e[o]},find_parents:(e,t)=>{const n=[];let a=e;for(;a;)a=a.parentNode?.closest?.(t),a&&n.push(a);return n},find_scoped:(e,t)=>(0===t.indexOf("#")?document:e).querySelectorAll(t),get_parents:e=>{const t=[];let n=e?.parentNode;for(;n;)t.push(n),n=n?.parentNode,n=n instanceof HTMLElement?n:null;return t},acquire_attribute:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=e;const o=[];for(;i;){const e=i.getAttribute(t);if(e||n&&""===e){if(!a)return e;o.push(e)}i=i.parentElement}if(a)return o},is_visible:e=>e.offsetWidth>0&&e.offsetHeight>0,is_input:e=>/^(?:input|select|textarea|button)$/i.test(e.nodeName),create_from_string:e=>document.createRange().createContextualFragment(e.trim()),get_css_value:r,find_scroll_container:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:document.body;for(;e&&e!==document.body;){if(!t||"y"===t){let t=r(e,"overflow-y");if(["auto","scroll"].includes(t))return e}if(!t||"x"===t){let t=r(e,"overflow-x");if(["auto","scroll"].includes(t))return e}e=e.parentElement}return n},get_scroll_x:e=>void 0!==e.scrollLeft?e.scrollLeft:e.scrollX,get_scroll_y:e=>void 0!==e.scrollTop?e.scrollTop:e.scrollY,get_relative_position:s,scroll_to_element:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"top";const i=s(e,t),o={behavior:"auto"};"top"!==a&&"both"!==a||(o.top=i.top-n),"left"!==a&&"both"!==a||(o.left=i.left-n),t.scrollTo(o)},scroll_to_top:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;e.scrollTo({top:0-t,behavior:"auto"})},scroll_to_bottom:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=(e===window?document.body:e).scrollHeight;e.scrollTo({top:n-t,behavior:"auto"})},get_data:l,set_data:c,delete_data:(e,t)=>{delete e[`${i}${t}`]},template:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return a.warn("Using dom.template is not recommended due to a problem with Content-Security-Policy."),new Function("return `"+e+"`;").call(t)},get_visible_ratio:(e,t)=>{if(!e)return 0;const n=e.getBoundingClientRect(),a=t!==window?t.getBoundingClientRect():{top:0,bottom:window.innerHeight};let i=0;if(n.topa.top){const e=n.bottom-n.top;i=(Math.min(n.bottom,a.bottom)-Math.max(n.top,a.top))/e}return i},escape_css_id:e=>`#${CSS.escape(e.split("#")[1])}`,element_uuid:e=>{if(!l(e,"uuid",!1)){let t;if(window.crypto.randomUUID)t=window.crypto.randomUUID();else{const e=new Uint32Array(4);t=window.crypto.getRandomValues(e).join("")}c(e,"uuid",t)}return l(e,"uuid")},find_form:e=>e.closest(".pat-subform")||e.form||e.querySelector("input, select, textarea, button")?.form||e.closest("form")};t.A=d},44563:function(e,t,n){"use strict";var a=n(8633);const i=new Map,o=(e,t)=>{const n=e?[e]:i.keys();for(const e of n){if(!e?.removeEventListener)return;const n=i.get(e);if(!n)return;let o;o=t?[...n.entries()].filter((e=>a.A.regexp_from_wildcard(t).test(e[0]))):n.entries();for(const t of o||[])e.removeEventListener(t[1][0],t[1][1],t[1][2]),i.get(e).delete(t[0]),i.get(e).size||i.delete(e)}};t.A={add_event_listener:function(e,t,n,a){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(!e?.addEventListener)return;o(e,n),i.has(e)||i.set(e,new Map);let s=a;!0===r?.once&&(s=t=>{i.get(e)?.delete(n),a(t)}),i.get(e).set(n,[t,s,r.capture?r:void 0]),e.addEventListener(t,s,r)},remove_event_listener:o,await_event:(e,t)=>new Promise((n=>e.addEventListener(t,n,{once:!0}))),await_pattern_init:e=>new Promise(((t,n)=>{e.one("init",(n=>{n.target===e.el&&(o(e.el,`basepattern-one--not-init.${e.name}.patterns`),t())})),e.one("not-init",(t=>{t.target===e.el&&(o(e.el,`basepattern-one--init.${e.name}.patterns`),n())}))})).catch((()=>{throw new Error(`Pattern "${e.name}" not initialized.`)})),generic_event:e=>new Event(e,{bubbles:!0,cancelable:!0}),blur_event:()=>new Event("blur",{bubbles:!1,cancelable:!1}),click_event:()=>new Event("click",{bubbles:!0,cancelable:!0}),change_event:()=>new Event("change",{bubbles:!0,cancelable:!1}),focus_event:()=>new Event("focus",{bubbles:!1,cancelable:!1}),input_event:()=>new Event("input",{bubbles:!0,cancelable:!1}),mousedown_event:()=>new Event("mousedown",{bubbles:!0,cancelable:!0}),mouseup_event:()=>new Event("mouseup",{bubbles:!0,cancelable:!0}),scroll_event:()=>new Event("scroll",{bubbles:!0,cancelable:!1}),submit_event:function(){let{submitter:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{submitter:void 0};const t=new Event("submit",{bubbles:!0,cancelable:!0});return t.submitter=e,t},dragstart_event:()=>new Event("dragstart",{bubbles:!0,cancelable:!0}),dragend_event:()=>new Event("dragend",{bubbles:!0,cancelable:!0})}},23505:function(e,t){"use strict";var n,a;Function.prototype.bind||(Function.prototype.bind=function(e){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var t=Array.prototype.slice.call(arguments,1),n=this,a=function(){},i=function(){return n.apply(this instanceof a&&e?this:e,t.concat(Array.prototype.slice.call(arguments)))};return a.prototype=this.prototype,i.prototype=new a,i});var i={DEBUG:10,INFO:20,WARN:30,ERROR:40,FATAL:50};function o(){}function r(e,t){this._loggers={},this.name=e||"",this._parent=t||null,t||(this._enabled=!0,this._level=i.WARN)}function s(e){a=e}o.prototype={output:function(e,t,n){e&&n.unshift(e+":"),t<=i.DEBUG?(n.unshift("[DEBUG]"),console.log.apply(console,n)):t<=i.INFO?console.info.apply(console,n):t<=i.WARN?console.warn.apply(console,n):console.error.apply(console,n)}},r.prototype={getLogger:function(e){for(var t=e.split("."),n=this,a=this.name?[this.name]:[];t.length;){var i=t.shift();a.push(i),i in n._loggers||(n._loggers[i]=new r(a.join("."),n)),n=n._loggers[i]}return n},_getFlag:function(e){var t=this;for(e="_"+e;null!==t;){if(void 0!==t[e])return t[e];t=t._parent}return null},setEnabled:function(e){this._enabled=!!e},isEnabled:function(){this._getFlag("enabled")},setLevel:function(e){"number"==typeof e?this._level=e:"string"==typeof e&&(e=e.toUpperCase())in i&&(this._level=i[e])},getLevel:function(){return this._getFlag("level")},log:function(e,t){!t.length||!this._getFlag("enabled")||et.toUpperCase()))}addAlias(e,t){if(!this.parameters[t])throw`Attempted to add an alias "${e}" for a non-existing parser argument "${t}".`;this.parameters[t].alias=e}addGroupToSpec(e){const t=e.name.match(this.group_pattern);if(t){const n=t[1],a=t[2];if(n in this.possible_groups){const e=this.possible_groups[n],t=e.name.match(this.group_pattern)[2];e.group=n,e.dest=t,this.groups[n]=new s,this.groups[n].addArgument(t,e.value,e.choices,e.multiple),delete this.possible_groups[n]}n in this.groups?(this.groups[n].addArgument(a,e.value,e.choices,e.multiple),e.group=n,e.dest=a):(this.possible_groups[n]=e,e.dest=this._camelCase(e.name))}return e}addJSONArgument(e,t){this.order.push(e),this.parameters[e]=this.addGroupToSpec({name:e,value:t,dest:e,group:null,type:"json"})}addArgument(e,t,n,a){const i={name:e,value:a&&!Array.isArray(t)?[t]:t,multiple:a,dest:e,group:null};if(n&&Array.isArray(n)&&n.length){i.choices=n,i.type=this._typeof(n[0]);for(const t of n)-1===this.enum_conflicts.indexOf(t)&&(t in this.enum_values?(this.enum_conflicts.push(t),delete this.enum_values[t]):this.enum_values[t]=e)}else"string"==typeof i.value&&"$"===i.value.slice(0,1)?i.type=this.parameters[i.value.slice(1)].type:i.type=this._typeof(a?i.value[0]:i.value);this.order.push(e),this.parameters[e]=this.addGroupToSpec(i)}_typeof(e){return null===e?"null":typeof e}_coerce(e,t){const n=this.parameters[e];if(typeof t!==n.type)try{switch(n.type){case"json":t=JSON.parse(t);break;case"boolean":if("string"==typeof t){t=t.toLowerCase();const e=parseInt(t,10);t=isNaN(e)?"true"===t||"y"===t||"yes"===t||"y"===t||"on"===t:!!e}else{if("number"!=typeof t)throw`Cannot convert value for ${e} to boolean.`;t=!!t}break;case"number":if("string"==typeof t){if(t=parseInt(t,10),isNaN(t))throw`Cannot convert value for ${e} to number.`}else{if("boolean"!=typeof t)throw`Cannot convert value for ${e} to number.`;t+=0}break;case"string":t=t.toString();break;case"null":case"undefined":break;default:throw`Do not know how to convert value for ${e} of type ${typeof t} to ${n.type}.`}}catch(e){return this.log.warn(e),null}return n.choices&&-1===n.choices.indexOf(t)?(this.log.warn(`Illegal value for ${e}: ${t}.`),null):t}_set(e,t,n){if(!(t in this.parameters))return void this.log.debug(`Ignoring value for unknown argument: ${t}.`);let a;if(this.parameters[t].multiple){a="string"==typeof n?n.split(/,+/):n,n=[];for(const e of a){const a=this._coerce(t,e.trim());null!==a&&n.push(a)}}else if(null===(n=this._coerce(t,n)))return;e[t]=n}_split(e){const t=[];return e.replace(this.token_pattern,((e,n,a,i)=>{n?t.push(n):i&&t.push(i)})),t}_parseExtendedNotation(e){const t={},n=e.replace(/;;/g,"\0x1f").replace(/&/g,"&\0x1f").split(/;/).map((e=>e.replace(new RegExp("\0x1f","g"),";")));for(const a of n){if(!a)continue;const n=a.match(this.named_param_pattern);if(!n){this.log.warn(`Invalid parameter: ${a}: ${e}.`);continue}const i=n[1],o=n[2].trim(),r=Object.values(this.parameters).filter((e=>e.alias===i));if(1===r.length)this._set(t,r[0].name,o);else if(i in this.parameters)this._set(t,i,o);else{if(!(i in this.groups)){this.log.warn(`Unknown named parameter: ${n[1]}.`);continue}{const e=this.groups[i]._parseShorthandNotation(o);for(const n in e)this._set(t,i+"-"+n,e[n])}}}return t}_parseShorthandNotation(e){const t=this._split(e),n={};let a=0;for(;t.length;){const e=t.shift().trim();let i,o,r=!0;if("no-"===e.slice(0,3)?(i=!1,o=e.slice(3)):(i=!0,o=e),o in this.parameters&&"boolean"===this.parameters[o].type)r=!1,this._set(n,o,i);else if(o in this.enum_values)r=!1,this._set(n,this.enum_values[o],o);else{if(!r){t.unshift(e);break}this._set(n,this.order[a],e)}if(a++,a>=this.order.length)break}return t.length&&this.log.warn(`Ignore extra arguments: ${t.join(" ")}.`),n}_parse(e){if(!e)return{};if(e.match(this.json_param_pattern))try{return JSON.parse(e)}catch(t){this.log.warn(`Invalid JSON argument found: ${e}.`)}if(e.match(this.named_param_pattern))return this._parseExtendedNotation(e);const t=e.indexOf(";");if(-1===t)return this._parseShorthandNotation(e);const n=this._parseShorthandNotation(e.slice(0,t)),a=this._parseExtendedNotation(e.slice(t+1));for(const e in a)n[e]=a[e];return n}_defaults(e){const t={};for(const n in this.parameters)if("function"==typeof this.parameters[n].value)try{t[n]=this.parameters[n].value(e,n),this.parameters[n].type=typeof t[n]}catch(e){this.log.error(`Default function for ${n} failed.`)}else t[n]=this.parameters[n].value;return t}_cleanupOptions(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];for(const t of Object.keys(e)){const n=this.parameters[t];void 0!==n&&(e[t]===n.value&&"string"==typeof n.value&&"$"===n.value.slice(0,1)&&(e[t]=e[n.value.slice(1)]))}if(t)for(const t of Object.keys(e)){const n=this.parameters[t];let a;void 0!==n&&(n.group?("object"!=typeof e[n.group]&&(e[n.group]={}),a=e[n.group]):a=e,n.dest!==t&&(a[n.dest]=e[t],delete e[t]))}return e}parse(e,t,n){let a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];e.jquery||(e=i()(e)),"boolean"==typeof t&&void 0===n&&(n=t,t={});const s=a?[[this._defaults(e)]]:[[{}]];let l,c=1;l=!a||e.hasClass("pat-modal")&&"data-pat-inject"===this.attribute?e:e.parents(`[${this.attribute}]`).addBack();for(const e of l){let t;const n=(i()(e).attr(this.attribute)||"").trim();if(!n)continue;const a=this._parse.bind(this);t=n.match(/&&/)?n.split(/\s*&&\s*/).map(a):a(n),Array.isArray(t)||(t=[t]),c=Math.max(t.length,c),s.push(t)}"object"==typeof t&&(Array.isArray(t)?(s.push(t),c=Math.max(t.length,c)):s.push([t])),n||(c=1);const d=o.A.removeDuplicateObjects(o.A.mergeStack(s,c)).map((e=>this._cleanupOptions(e,r)));return n?d:d[0]}}s.prototype.add_argument=s.prototype.addArgument,t.A=s},89476:function(){!function(){let e=null;const t='button, input[type="button"], input[type="submit"], input[type="image"]';document.addEventListener("click",(function(n){n.target.closest&&(e=n.target.closest(t))}),!0),document.addEventListener("submit",(function(n){if("submitter"in n)return;const a=[document.activeElement,e];e=null;for(const e of a)if(e&&e.form&&e.matches(t))return void(n.submitter=e);n.submitter=n.target.querySelector(t)}),!0)}()},59329:function(e,t,n){"use strict";var a=n(35686),i=n.n(a),o=n(62800),r=n(23505),s=n(8633);const l=r.A.getLogger("registry"),c=/patterns-disable=([^&]+)/g,d=/patterns-dont-catch/g,p={};let u,h=!1;for(;null!==(u=c.exec(window.location.search));)p[u[1]]=!0,l.info("Pattern disabled via url config:",u[1]);for(;null!==(u=d.exec(window.location.search));)h=!0,l.info("I will not catch init exceptions");void 0===window.__patternslib_registry&&(window.__patternslib_registry={});const m=window.__patternslib_registry;void 0===window.__patternslib_registry_initialized&&(window.__patternslib_registry_initialized=!1);const f={patterns:m,init(){i()(document).ready((function(){window.__patternslib_registry_initialized||(window.__patternslib_registry_initialized=!0,l.debug("Loaded: "+Object.keys(f.patterns).sort().join(", ")),f.scan(document.body),l.debug("Finished initial scan."))}))},clear(){for(const e in f.patterns)delete f.patterns[e]},transformPattern(e,t){if(p[e])return void l.debug(`Skipping disabled pattern: ${e}.`);const n=f.patterns[e],a=n.transform||n.prototype?.transform;if(a)try{a(i()(t))}catch(t){if(h)throw t;l.error(`Transform error for pattern ${e}.`,t)}},initPattern(e,t,n){const a=i()(t),o=f.patterns[e],s=r.A.getLogger(`pat.${e}`);if(t.matches(o.trigger)){s.debug("Initialising.",t);try{o.init?o.init(a,null,n):new o(a,null,n),s.debug("done.")}catch(e){if(h)throw e;s.error("Caught error:",e)}}},orderPatterns(e){return e.includes("validation")&&(e.splice(e.indexOf("validation"),1),e.unshift("validation")),e.includes("clone-code")&&(e.splice(e.indexOf("clone-code"),1),e.unshift("clone-code")),e},scan(e,t,n){if(!e)return;if("string"==typeof e)e=document.querySelector(e);else{if(e instanceof Text)return;e.jquery&&(e=e[0])}const a=[];t=this.orderPatterns(t||Object.keys(f.patterns));for(const n of t){this.transformPattern(n,e);const t=f.patterns[n];t.trigger&&a.unshift(t.trigger)}let i=o.A.querySelectorAllAndMe(e,a.map((e=>e.trim().replace(/,$/,""))).join(","));i=i.filter((e=>!(e.matches(".disable-patterns")||e?.parentNode?.closest?.(".disable-patterns")||e?.parentNode?.closest?.("pre")||e?.parentNode?.closest?.("template")||e.matches(".cant-touch-this")||e?.parentNode?.closest?.(".cant-touch-this"))));for(const e of i.reverse())for(const a of t)this.initPattern(a,e,n);document.body.classList.add("patterns-loaded")},register(e,t){if(!(t=t||e.name))return l.error("Pattern lacks a name.",e),!1;if(f.patterns[t])return l.debug(`Already have a pattern called ${t}.`),!1;if(f.patterns[t]=e,e.jquery_plugin){const n=("pat-"+t).replace(/-([a-zA-Z])/g,(function(e,t){return t.toUpperCase()}));i().fn[n]=s.A.jqueryPlugin(e),i().fn[n.replace(/^pat/,"pattern")]=i().fn[n]}return l.debug(`Registered pattern ${t}`,e),window.__patternslib_registry_initialized&&(f.scan(document.body,[t]),l.debug(`Re-scanned dom with newly registered pattern ${t}.`)),!0}};t.A=f},8633:function(e,t,n){"use strict";var a=n(35686),i=n.n(a),o=n(62800);i().fn.safeClone=function(){return this.clone()},Array.prototype.forEach||(Array.prototype.forEach=function(e,t){var n,a;if(null===this)throw new TypeError(" this is null or not defined");var i=Object(this),o=i.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(n=t),a=0;a1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;e instanceof i()&&(e=e[0]);const a=e.getBoundingClientRect();return![a.top,a.bottom,a.left,a.right].every((e=>0===e))&&(t?a.top<=0+n&&a.bottom>=0+n:a.top>=0&&a.left>=0&&a.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&a.right<=(window.innerWidth||document.documentElement.clientWidth))}var p={jqueryPlugin:function(e){return function(t,n){return 0===this.length?this:("object"==typeof t&&(n=t,t=void 0),"function"==typeof e?r.call(this,e,t,n):s.call(this,e,t,n))}},escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isObject:l,extend:function(e){if(!l(e))return e;for(var t,n,a=1,i=arguments.length;a!n.test(e)));a.length?t.setAttribute("class",a.join(" ")):t.removeAttribute("class")}}},hideOrShow:(e,t,n,a)=>{e=o.A.toNodeArray(e);const r={none:{hide:"hide",show:"show"},fade:{hide:"fadeOut",show:"fadeIn"},slide:{hide:"slideUp",show:"slideDown"}},s="css"===n.transition||"none"===n.transition?null:n.effect.duration,l=e=>{e.classList.remove("in-progress"),e.classList.add(t?"visible":"hidden"),i()(e).trigger("pat-update",{pattern:a,action:"attribute-changed",dom:e,transition:"complete"})};for(const c of e)if(c.classList.remove("visible"),c.classList.remove("hidden"),c.classList.remove("in-progress"),s){const e=r[n.transition];c.classList.add("in-progress"),i()(c).trigger("pat-update",{pattern:a,action:"attribute-changed",dom:c,transition:"start"}),i()(c)[t?e.show:e.hide]({duration:s,easing:n.effect.easing,complete:()=>l(c)})}else"css"!==n.transition&&o.A[t?"show":"hide"](c),l(c)},addURLQueryParameter:function(e,t,n){var a=new RegExp("(\\?|\\&)"+t+"=.*?(?=(&|$))"),i=e.toString().split("#"),o=i[0],r=i[1],s=o;return s=a.test(o)?o.replace(a,"$1"+t+"="+n):/\?.+$/.test(o)?o+"&"+t+"="+n:o+"?"+t+"="+n,r&&(s+="#"+r),s},removeDuplicateObjects:function(e){const t=function(e,t){return this[e]===t};return e.reduce((function(e,n){let a=!1;for(const i of e)a=Object.keys(i).length===Object.keys(n).length&&0===Object.entries(i).filter((e=>!t.bind(n)(e[0],e[1]))).length;return a||e.push(n),e}),[])},mergeStack:function(e,t){const n=[];for(let e=0;ee?e:o])}return n},isElementInViewport:d,hasValue:function(e){return"INPUT"===e.tagName?"checkbox"===e.type||"radio"===e.type?e.checked:""!==e.value:"SELECT"===e.tagName?-1!==e.selectedIndex:"TEXTAREA"===e.tagName&&""!==e.value},parseTime:function(e){var t=/^(\d+(?:\.\d+)?)\s*(\w*)/.exec(e);if(!t)throw new Error("Invalid time");var n=parseFloat(t[1]);switch(t[2]){case"s":return Math.round(1e3*n);case"m":return Math.round(1e3*n*60);default:return Math.round(n)}},parseLength:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=/^(\d+(?:\.\d+)?)\s*(\%?\w*)/.exec(e);if(!n)throw new Error("Invalid length");const a=parseFloat(n[1]);switch(n[2]){case"px":default:return Math.round(a);case"%":return t?t/100*Math.round(a):0;case"vw":return Math.round(a*window.innerWidth/100);case"vh":return Math.round(a*window.innerHeight/100);case"vmin":return Math.round(a*Math.min(window.innerWidth,window.innerHeight)/100);case"vmax":return Math.round(a*Math.max(window.innerWidth,window.innerHeight)/100)}},findRelatives:function(e){var t=i()(e),n=i()(e),a=i()();if(n=(n=n.add(t.closest("label"))).add(t.closest("fieldset")),e.id&&(a=i()("label[for='"+e.id+"']")),!a.length){var o=t.closest("form");o.length||(o=i()(document.body)),a=o.find("label[for='"+e.name+"']")}return n=n.add(a)},get_bounds:function(e){const t=e.getBoundingClientRect();return{x:parseInt(Math.round(t.x),10)||0,y:parseInt(Math.round(t.y),10)||0,top:parseInt(Math.round(t.top),10)||0,bottom:parseInt(Math.round(t.bottom),10)||0,left:parseInt(Math.round(t.left),10)||0,right:parseInt(Math.round(t.right),10)||0,width:parseInt(Math.round(t.width),10)||0,height:parseInt(Math.round(t.height),10)||0}},checkInputSupport:function(e,t){let n=!1;const a=document.createElement("input");return a.setAttribute("type",e),n=a.type==e,void 0!==t&&(a.setAttribute("value",t),n=a.value!==t),n},checkCSSFeature:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"div";n=document.createElement(n);let a=void 0!==n.style[e];return a&&void 0!==t&&(n.style[e]=t,a=n.style[e]===t),a},animation_frame:()=>new Promise(window.requestAnimationFrame),timeout:e=>new Promise((t=>setTimeout(t,e))),debounce:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{timer:null},a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return n.last_run=0,function(){const i=arguments;!a&&n.timer&&Date.now()-n.last_run<=t||(clearTimeout(n.timer),n.last_run=Date.now(),n.timer=setTimeout((()=>{e.apply(this,i)}),t))}},isIE:()=>!!document.documentMode,jqToNode:e=>(e.jquery&&(e=e[0]),e),ensureArray:(e,t)=>!!(NodeList.prototype.isPrototypeOf(e)||Array.isArray(e)||e.jquery)?t?[...e]:e:[e],localized_isodate:e=>{const t=e.getDate().toString().padStart(2,"0"),n=(e.getMonth()+1).toString().padStart(2,"0");return`${e.getFullYear().toString()}-${n}-${t}`},escape_html:e=>{if(!e)return"";const t=document.createElement("div");return t.appendChild(document.createTextNode(e)),t.innerHTML.replace(/"/g,""")},unescape_html:e=>{if(!e)return"";return(new DOMParser).parseFromString(e,"text/html").documentElement.textContent.replace(/"/g,'"')},is_iso_date_time:function(e){return(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?/^\d{4}-[01]\d-[0-3]\d(T[0-2]\d:[0-5]\d)?$/:/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d$/).test(e)},is_iso_date:e=>/^\d{4}-[01]\d-[0-3]\d$/.test(e),date_diff:(e,t)=>{const n=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),a=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate());return Math.floor((n-a)/864e5)},threshold_list:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=[];for(let n=1;n<=e;n++)t.push(n/e);return t.push(0),t.sort()},is_option_truthy:e=>![void 0,null,"none",!1,"false",""].includes(e),elementInViewport:e=>(console.warn("Deprecated. Use utils.isElementInViewport"),d(e))};t.A=p},94055:function(e,t,n){"use strict";n.r(t),n.d(t,{parser:function(){return u}});var a=n(35686),i=n.n(a),o=n(71553),r=n(23505),s=n(33541),l=n(62800),c=n(44563),d=n(8633);const p=r.A.getLogger("date-picker"),u=new s.A("date-picker");u.addArgument("behavior","styled",["native","styled"]),u.addArgument("week-numbers",[],["show","hide"]),u.addArgument("i18n"),u.addArgument("first-day",0),u.addArgument("after"),u.addArgument("offset-days",0),u.add_argument("output-format",null),u.add_argument("locale",null),u.addAlias("behaviour","behavior"),t.default=o.A.extend({name:"date-picker",trigger:".pat-date-picker",parser:u,format:"YYYY-MM-DD",async init(){const e=this.el,t=this.el.disabled;if(this.options=i().extend(u.parse(e),this.options),!t&&this.options.after){const e=document.querySelectorAll(this.options.after);for(const t of e)t.addEventListener("change",(e=>{let t=e.target.value;if(t=t?new Date(t):null,!t)return;let n=this.el.value;if(n=n?new Date(n):null,!n||n{e.preventDefault()})),this.options.outputFormat){const e=(await Promise.resolve().then(n.bind(n,90101))).default,t={format:this.format};this.options.outputFormat&&(t["output-format"]=this.options.outputFormat),this.options.locale&&(t.locale=this.options.locale),r=new e(a,t)}else this.el.value&&(a.textContent=e.value);const s=()=>{this.add_clear_button(a),!this.el.value&&this.el.placeholder&&(a.innerHTML=`${this.el.placeholder}`)};if(r?i()(a).on("init.display-time.patterns",(()=>{s()})):s(),this.el.addEventListener("change",(()=>{a.setAttribute("datetime",this.el.value),r&&this.el.value?r.format():a.textContent=this.el.value,s()})),t)return}else{if(t)return;if(d.A.checkInputSupport("date","invalid date"))return;"date"===e.getAttribute("type")&&e.setAttribute("type","text")}window.__patternslib_import_styles&&n.e(69498).then(n.bind(n,69498));const o=(await n.e(95463).then(n.t.bind(n,95463,23))).default,r={field:e,trigger:a||e,format:this.format,firstDay:this.options.firstDay,showWeekNumber:"show"===this.options.weekNumbers,onSelect:()=>this.dispatch_change_event(),onClose:()=>{"styled"!==this.options.behavior||this.el.value||e.dispatchEvent(c.A.blur_event())}};if(e.getAttribute("min")&&(r.minDate=new Date(e.getAttribute("min"))),e.getAttribute("max")&&(r.maxDate=new Date(e.getAttribute("max"))),this.options.i18n)try{const e=await fetch(this.options.i18n);r.i18n=await e.json()}catch{p.error(`date-picker could not load i18n for ${this.options.i18n}`)}this.pikaday=new o(r)},add_clear_button(e){if(!this.el.disabled&&!this.el.required&&this.el.value){const t=document.createElement("span");t.setAttribute("class","cancel-button"),t.addEventListener("click",(e=>{e.stopPropagation(),this.el.value=null,this.dispatch_change_event()})),e.appendChild(t)}},dispatch_change_event(){const e=new Event("change",{bubbles:!0,cancelable:!0});e.firedBy=this.pikaday,this.el.dispatchEvent(e),i()(this.el).trigger("input-change"),i()(this.el.form).trigger("input-change")}})},90101:function(e,t,n){"use strict";n.r(t),n.d(t,{parser:function(){return d}});var a=n(71553),i=n(33541),o=n(62800),r=n(23505),s=n(8633);let l;const c=r.A.getLogger("pat-display-time"),d=new i.A("display-time");d.add_argument("format",""),d.add_argument("locale",null),d.add_argument("strict",!1),d.add_argument("from-now",!1),d.add_argument("no-suffix",!1),d.add_argument("output-format",null),t.default=a.A.extend({name:"display-time",trigger:".pat-display-time",async init(){l=(await n.e(38761).then(n.t.bind(n,38761,23))).default,this.options=d.parse(this.el,this.options);let e=this.options.locale||o.A.acquire_attribute(this.el,"lang")||"en";e=e.substr(0,2).toLowerCase();try{await n(89595)(`./${e}.js`),l.locale(e),this.lang=e}catch{l.locale("en"),this.lang="en"}c.debug(`Moment.js language used: ${e}.`),this.format()},format(){const e=this.el.getAttribute("datetime");let t="";if(e){const n=l(e,this.options.format,this.options.strict);if(t=n,!0===this.options.fromNow)if(s.A.is_iso_date(e)){const e=new Intl.RelativeTimeFormat(this.lang,{numeric:"auto"}),a=s.A.date_diff(n.toDate(),new Date);t=n.calendar(null,{lastWeek:`[${e.format(a,"day")}]`,lastDay:`[${e.format(-1,"day")}]`,sameDay:`[${e.format(0,"day")}]`,nextDay:`[${e.format(1,"day")}]`,nextWeek:"dddd",sameElse:()=>`[${e.format(a,"day")}]`})}else t=n.fromNow(this.options.noSuffix);else this.options.outputFormat&&(t=n.format(this.options.outputFormat))}this.el.textContent=t}})},94232:function(e,t,n){"use strict";n.d(t,{Ay:function(){return m},K3:function(){return u}});var a=n(35686),i=n.n(a),o=n(33077),r=n(23505),s=n(33541),l=n(44563),c=n(59329),d=n(8633);n(71553).A.extend({name:"close-panel",trigger:".close-panel",init(){const e=this.el.closest("dialog");e&&l.A.add_event_listener(e,"close-panel","close-panel--dialog",(()=>{e.close()})),this.el.addEventListener("click",(async e=>{await d.A.timeout(0),e.target.matches(":not([formnovalidate])")&&e.target.matches("[type=submit], button:not([type=button])")&&!1===this.el.closest("form")?.checkValidity()||this.el.dispatchEvent(new Event("close-panel",{bubbles:!0,cancelable:!0}))}))}});const p=r.A.getLogger("pat-tooltip"),u=new s.A("tooltip");u.addArgument("position-list",[],["tl","tm","tr","rt","rm","rb","br","bm","bl","lb","lm","lt"],!0),u.addArgument("position-policy","auto",["auto","force"]),u.addArgument("trigger","click",["click","hover","none"]),u.addArgument("source","title",["ajax","content","title"]),u.addArgument("ajax-data-type","html",["html","markdown"]),u.addArgument("closing","auto",["auto","sticky","close-button"]),u.addArgument("delay"),u.addArgument("mark-inactive",!0),u.addArgument("class"),u.addArgument("target","body"),u.addArgument("arrow-padding",null),u.addArgument("url",null);class h extends o.m{static name="tooltip";static trigger=".pat-tooltip, .pat-tooltip-ng";static parser=(()=>u)();tippy=null;active_class="tooltip-active-hover";inactive_class="tooltip-inactive";async init(){const e=this.el;window.__patternslib_import_styles&&n.e(41615).then(n.bind(n,41615));const t=(await n.e(56805).then(n.t.bind(n,56805,23))).default;this.tippy_options=this.parseOptionsForTippy(this.options);const a={animation:!1,arrow:!0,hideOnClick:"close-button"!==this.options.closing,ignoreAttributes:!0,interactive:!0,onHide:this._onHide.bind(this),onShow:this._onShow.bind(this),trigger:"click"};t.setDefaultProps(a),this.tippy=new t(e,this.tippy_options),"title"===this.options.source&&e.removeAttribute("title"),"click"===this.options.trigger&&"ajax"===this.options.source&&l.A.add_event_listener(e,"click","pat-tooltip--click-prevent-default",(e=>{e.preventDefault(),e.stopPropagation()})),"click"===this.options.trigger&&(this.active_class="tooltip-active-click"),this.options.markInactive&&e.classList.add(this.inactive_class)}show(){this.tippy.show()}async hide(){await d.A.timeout(1),this.tippy.hide()}destroy(){super.destroy(),this.tippy.destroy()}parseOptionsForTippy(e){const t=e=>{return`${n=e[0],{t:"bottom",r:"left",b:"top",l:"right"}[n]}${t=e[1],{l:"-start",r:"-end",m:"",t:"-start",b:"-end"}[t]}`;var t,n},n={popperOptions:{modifiers:[]}};null!==e.arrowPadding&&n.popperOptions.modifiers.push({name:"arrow",options:{padding:parseInt(e.arrowPadding,10)}});const a={position:()=>{if(!e.position?.list?.length)return;n.placement=t(e.position.list[0]);const a={name:"flip",enabled:!0};if("force"===e.position.policy)a.enabled=!1;else if(e.position.length>1){const n=e.position.list.slice(1).map(t);a.fallbackPlacements=n}n.popperOptions.modifiers.push(a)},trigger(){"hover"===e.trigger?n.trigger="mouseenter focus":"none"===e.trigger&&(n.trigger="manual",n.hideOnClick=!1)},source:()=>{let t;"title"===e.source?t=this.el.getAttribute("title"):"content"===e.source?(t=this.el.innerHTML,n.allowHTML=!0):"ajax"===e.source&&(t=document.createElement("progress"),n.allowHTML=!0),n.content=t},delay(){e.delay&&(n.delay=[d.A.parseTime(e.delay),0])},target:()=>{e.target&&("parent"===e.target?n.appendTo="parent":"body"===e.target?n.appendTo=document.body:n.appendTo=document.querySelector(e.target))}};for(let t in e){switch(t){case"ajax-data-type":t="ajaxDataType";break;case"mark-inactive":t="markInactive"}a[t]&&a[t](t)}return n}_initialize_content(){c.A.scan(this.tippy.popper)}async _onShow(){const e=[];if(this.options.class&&e.push(...this.options.class.split(" ")),e.push("tooltip-container"),"close-button"===this.options.closing){for(const e of this.tippy.popper.querySelectorAll(".pat-tooltip--close-button"))e.remove();const e=document.createElement("button");e.setAttribute("class","close-panel pat-tooltip--close-button");const t=this.tippy.popper.querySelector(".tippy-content");t.parentNode.insertBefore(e,t)}l.A.add_event_listener(this.tippy.popper,"close-panel","pat-tooltip--close-panel",(()=>this.hide())),this.tippy.popper.classList.add(...e),this.options.markInactive&&(this.el.classList.remove(this.inactive_class),this.el.classList.add(this.active_class)),"auto"!==this.options.closing&&"hover"===this.options.trigger&&this.tippy.setProps({trigger:"click"}),"ajax"===this.options.source&&await this._get_content(),i()(this.tippy.popper).trigger("patterns-injected",[{skipPatInjectHandler:!0},this.el,this.tippy.popper]),this._initialize_content()}_onHide(){this.options.markInactive&&(this.el.classList.remove(this.active_class),this.el.classList.add(this.inactive_class)),"auto"!==this.options.closing&&"hover"===this.options.trigger&&this.tippy.setProps({trigger:"mouseenter focus"}),"ajax"===this.options.source&&this.tippy.setContent(document.createElement("progress"))}async _get_content(){let e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.url;if(({url:n,selector:e}=this.get_url_parts(n||this.el.getAttribute("href"))),n){const a=this.data_type_handlers[this.options.ajaxDataType];try{const i=await fetch(n,{headers:{Accept:"text/html,application/xhtml+xml,application/xml"}}),o=await i.text();t=await a(o,n,e)}catch(e){p.error("Error on ajax request. ${e}")}}else e&&(t=document.querySelector(e),t=t?.innerHTML||void 0);t&&(this.tippy.setContent(t),await d.A.timeout(1),this.tippy.popperInstance.forceUpdate())}async get_content(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.url;await this._get_content(e),this._initialize_content()}get_url_parts(e){let t,n,a;return e?([t,n]=e.split("#"),n&&(n=`#${n}`,[n,a]=n.split("?")),a&&(t=`${t}?${a}`),{url:t,selector:n}):{url:t,selector:n}}static data_type_handlers={html(e,t,n){let a=document.createElement("div");return a.innerHTML=e,n&&(a=a.querySelector(n)),a?.innerHTML||""},async markdown(e,t,n){const a=c.A.patterns.markdown;if(!a)return e;const o=new a(i()("
"));await l.A.await_pattern_init(o);const r={url:t};n&&(r.source=n);return(await o.renderForInjection(r,e))[0]}};static register_type_handler(e,t){h.data_type_handlers[e]=t}constructor(){super(...arguments),this.register_type_handler=this.constructor.register_type_handler,this.data_type_handlers=this.constructor.data_type_handlers}}c.A.register(h);var m=h},20681:function(e,t,n){"use strict";n.d(t,{YA:function(){return r}});var a=n(13767);let i={plone:null,widgets:null};const o=function(e,t,n){if(null===i[e]){var o=new a.A;o.loadCatalog(e),i[e]=o.MessageFactory(e)}return i[e](t,n)},r=function(e,t){return o("plone",e,t)};t.Ay=function(e,t){return o("widgets",e,t)}},13767:function(e,t,n){"use strict";var a=n(35686),i=n.n(a);t.A=function(){var e=this;e.baseUrl=i()("body").attr("data-i18ncatalogurl"),e.currentLanguage=i()("html").attr("lang")||"en",e.currentLanguage.split("-").length>1&&(e.currentLanguage=e.currentLanguage.split("-")[0]+"_"+e.currentLanguage.split("-")[1].toUpperCase()),e.storage=null,e.catalogs={},e.ttl=864e5,Date.now||(Date.now=function(){return(new Date).valueOf()});try{"localStorage"in window&&null!==window.localStorage&&"JSON"in window&&null!==window.JSON&&(e.storage=window.localStorage)}catch(e){console.log("Failed to set local storage")}e.configure=function(t){for(var n in t)e[n]=t[n]},e._setCatalog=function(t,n,a){t in e.catalogs||(e.catalogs[t]={}),e.catalogs[t][n]=a},e._storeCatalog=function(t,n,a){var i=t+"-"+n;null!==e.storage&&null!==a&&(e.storage.setItem(i,JSON.stringify(a)),e.storage.setItem(i+"-updated",Date.now()))},e.getUrl=function(t,n){return e.baseUrl+"?domain="+t+"&language="+n},e.loadCatalog=function(t,n){if(void 0===n&&(n=e.currentLanguage),null!==e.storage){var a=t+"-"+n;if(a in e.storage&&Date.now()-parseInt(e.storage.getItem(a+"-updated"),10)
"),t.$el.addClass(t.className).hide().appendTo("body"))},t.show=function(e){t.init(),t.$el.show(),t.$el.css("position","absolute"),t.$el.css("top","50%"),t.$el.css("left","50%");var n=t.options.zIndex;"function"==typeof n?n=Math.max(n(),10005):(n=10005,i()(".modal-wrapper,.-modal-backdrop").each((function(){n=Math.max(n,i()(this).css("zIndex")||10005)})),n+=1),t.$el.css("zIndex",n),void 0===e&&(e=!0),t.options.backdrop&&(t.options.backdrop.closeOnClick=e,t.options.backdrop.closeOnEsc=e,t.options.backdrop.init(),t.options.backdrop.show())},t.hide=function(){t.init(),t.$el.hide()},t},s=function(e){return void 0===e&&(e="id"),e+Math.floor(65536*(1+Math.random())).toString(16).substring(1)},l={dragAndDrop:function(){return"draggable"in document.createElement("span")},fileApi:function(){return"undefined"!=typeof FileReader},history:function(){return!(!window.history||!window.history.pushState)}},c={get:function(e){if(window.localStorage){var t=window.localStorage[e];return"string"==typeof t?JSON.parse(t):void 0}},set:function(e,t){window.localStorage&&(window.localStorage[e]=JSON.stringify(t))}};const d=new Map;t.A={bool:function(e){return"string"==typeof e&&(e=e.trim(e).toLowerCase()),-1===["false",!1,"0",0,"",void 0,null].indexOf(e)},escapeHTML:function(e){return i()("
").text(e).html()},removeHTML:function(e){return e.replace(/<[^>]+>/gi,"")},featureSupport:l,generateId:s,getAuthenticator:function(){var e=i()('input[name="_authenticator"]');return 0===e.length?(e=i()('a[href*="_authenticator"]')).length>0?e.attr("href").split("_authenticator=")[1]:"":e.val()},getWindow:function(){var e=window;return e.parent!==window&&(e=e.parent),e},Loading:r,loading:new r,parseBodyTag:function(e){return i()(/]*>[^]*<\/body>/im.exec(e)[0].replace("","
")).eq(0).html()},QueryHelper:function(e){var t=this;return t.options=i().extend({},{pattern:null,vocabularyUrl:null,searchParam:"SearchableText",pathOperator:"plone.app.querystring.operation.string.path",attributes:["UID","Title","Description","getURL","portal_type"],batchSize:10,baseCriteria:[],sort_on:"is_folderish",sort_order:"reverse",pathDepth:1},e),t.pattern=t.options.pattern,void 0!==t.pattern&&null!==t.pattern||(t.pattern={browsing:!1,basePath:"/"}),t.options.url&&!t.options.vocabularyUrl?t.options.vocabularyUrl=t.options.url:t.pattern.vocabularyUrl&&(t.options.vocabularyUrl=t.pattern.vocabularyUrl),t.valid=Boolean(t.options.vocabularyUrl),t.getBatch=function(e){return{page:e||1,size:t.options.batchSize}},t.getCurrentPath=function(){var e,n=t.pattern;"function"==typeof(e=t.currentPath?t.currentPath:n.currentPath)&&(e=e());var a=e;return a||(a=n.basePath?n.basePath:n.options.basePath?n.options.basePath:"/"),a},t.getCriterias=function(e,n){void 0===n&&(n={});var a=[];return(n=i().extend({},{useBaseCriteria:!0,additionalCriterias:[]},n)).useBaseCriteria&&(a=t.options.baseCriteria.slice(0)),e&&(e+="*",a.push({i:t.options.searchParam,o:"plone.app.querystring.operation.string.contains",v:e})),n.searchPath?a.push({i:"path",o:t.options.pathOperator,v:n.searchPath+"::"+t.options.pathDepth}):t.pattern.browsing&&a.push({i:"path",o:t.options.pathOperator,v:t.getCurrentPath()+"::"+t.options.pathDepth}),a=a.concat(n.additionalCriterias)},t.getQueryData=function(e,n){var a={query:JSON.stringify({criteria:t.getCriterias(e),sort_on:t.options.sort_on,sort_order:t.options.sort_order}),attributes:JSON.stringify(t.options.attributes)};return n&&(a.batch=JSON.stringify(t.getBatch(n))),a},t.getUrl=function(){var e=t.options.vocabularyUrl;return-1===e.indexOf("?")?e+="?":e+="&",e+i().param(t.getQueryData())},t.selectAjax=function(){return{url:t.options.vocabularyUrl,dataType:"JSON",quietMillis:100,data:function(e,n){return t.getQueryData(e,n)},results:function(e,t){var n=10*tn.abort()),5e3);const i=await fetch(`${t}/${e}`,{signal:n.signal});a=await i.text()}catch(n){o.warn(`Loading icon "${e}" from URL ${t} failed.`),console.warn(n)}}if(!a){e=t;try{n.e(7202).then(n.bind(n,7202));const t=await n.e(66298).then(n.t.bind(n,66298,19)),i=t[e]?.split?.("/");i[0].includes("bootstrap-icons")&&(a=await n(59145)(`./${i[1]}`),a=a?.default)}catch(e){o.warn(`Loading icon "${t}" failed from fallback.`),console.warn(e)}}return a}()),o.debug(`Loading icon "${t}"`)),await d.get(a)},setId:function(e,t){void 0===t&&(t="id");var n=e.attr("id");return n=void 0===n?s(t):n.replace(/\./g,"-"),e.attr("id",n),n},storage:c}},10906:function(e,t,n){"use strict";var a=n(35686),i=n.n(a);n(71553).A.extend({name:"autotoc",trigger:".pat-autotoc",parser:"mockup",defaults:{section:"section",levels:"h1,h2,h3",IDPrefix:"autotoc-item-",classTOCName:"autotoc-nav",classSectionName:"autotoc-section",classLevelPrefixName:"autotoc-level-",classActiveName:"active",scrollDuration:"slow",scrollEasing:"swing"},init:function(){n.e(49446).then(n.bind(n,49446));var e=this;e.$toc=i()("