????
Current Path : C:/inetpub/vhost/dbadm.gdtsolutions.vn/web/js/ |
Current File : C:/inetpub/vhost/dbadm.gdtsolutions.vn/web/js/extended-vendor-async-96234119ae67eb8fb493.js |
(self.webpackChunk_cloudbeaver_product_default=self.webpackChunk_cloudbeaver_product_default||[]).push([[11116],{29407:(t,e,i)=>{"use strict";function getWindow(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function isElement(t){return t instanceof getWindow(t).Element||t instanceof Element}function isHTMLElement(t){return t instanceof getWindow(t).HTMLElement||t instanceof HTMLElement}function isShadowRoot(t){return"undefined"!=typeof ShadowRoot&&(t instanceof getWindow(t).ShadowRoot||t instanceof ShadowRoot)}i.d(e,{n4:()=>Z});var n=Math.max,o=Math.min,s=Math.round;function getUAString(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),o=1,a=1;e&&isHTMLElement(t)&&(o=t.offsetWidth>0&&s(n.width)/t.offsetWidth||1,a=t.offsetHeight>0&&s(n.height)/t.offsetHeight||1);var l=(isElement(t)?getWindow(t):window).visualViewport,h=!isLayoutViewport()&&i,c=(n.left+(h&&l?l.offsetLeft:0))/o,d=(n.top+(h&&l?l.offsetTop:0))/a,f=n.width/o,p=n.height/a;return{width:f,height:p,top:d,right:c+f,bottom:d+p,left:c,x:c,y:d}}function getWindowScroll(t){var e=getWindow(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function getNodeName(t){return t?(t.nodeName||"").toLowerCase():null}function getDocumentElement(t){return((isElement(t)?t.ownerDocument:t.document)||window.document).documentElement}function getWindowScrollBarX(t){return getBoundingClientRect(getDocumentElement(t)).left+getWindowScroll(t).scrollLeft}function getComputedStyle(t){return getWindow(t).getComputedStyle(t)}function isScrollParent(t){var e=getComputedStyle(t),i=e.overflow,n=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+o+n)}function getCompositeRect(t,e,i){void 0===i&&(i=!1);var n=isHTMLElement(e),o=isHTMLElement(e)&&function isElementScaled(t){var e=t.getBoundingClientRect(),i=s(e.width)/t.offsetWidth||1,n=s(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=getDocumentElement(e),l=getBoundingClientRect(t,o,i),h={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!i)&&(("body"!==getNodeName(e)||isScrollParent(a))&&(h=function getNodeScroll(t){return t!==getWindow(t)&&isHTMLElement(t)?function getHTMLElementScroll(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}(t):getWindowScroll(t)}(e)),isHTMLElement(e)?((c=getBoundingClientRect(e,!0)).x+=e.clientLeft,c.y+=e.clientTop):a&&(c.x=getWindowScrollBarX(a))),{x:l.left+h.scrollLeft-c.x,y:l.top+h.scrollTop-c.y,width:l.width,height:l.height}}function getLayoutRect(t){var e=getBoundingClientRect(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function getParentNode(t){return"html"===getNodeName(t)?t:t.assignedSlot||t.parentNode||(isShadowRoot(t)?t.host:null)||getDocumentElement(t)}function getScrollParent(t){return["html","body","#document"].indexOf(getNodeName(t))>=0?t.ownerDocument.body:isHTMLElement(t)&&isScrollParent(t)?t:getScrollParent(getParentNode(t))}function listScrollParents(t,e){var i;void 0===e&&(e=[]);var n=getScrollParent(t),o=n===(null==(i=t.ownerDocument)?void 0:i.body),s=getWindow(n),a=o?[s].concat(s.visualViewport||[],isScrollParent(n)?n:[]):n,l=e.concat(a);return o?l:l.concat(listScrollParents(getParentNode(a)))}function isTableElement(t){return["table","td","th"].indexOf(getNodeName(t))>=0}function getTrueOffsetParent(t){return isHTMLElement(t)&&"fixed"!==getComputedStyle(t).position?t.offsetParent:null}function getOffsetParent(t){for(var e=getWindow(t),i=getTrueOffsetParent(t);i&&isTableElement(i)&&"static"===getComputedStyle(i).position;)i=getTrueOffsetParent(i);return i&&("html"===getNodeName(i)||"body"===getNodeName(i)&&"static"===getComputedStyle(i).position)?e:i||function getContainingBlock(t){var e=/firefox/i.test(getUAString());if(/Trident/i.test(getUAString())&&isHTMLElement(t)&&"fixed"===getComputedStyle(t).position)return null;var i=getParentNode(t);for(isShadowRoot(i)&&(i=i.host);isHTMLElement(i)&&["html","body"].indexOf(getNodeName(i))<0;){var n=getComputedStyle(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}var a="top",l="bottom",h="right",c="left",d="auto",f=[a,l,h,c],p="start",m="end",g="clippingParents",O="viewport",v="popper",y="reference",b=f.reduce((function(t,e){return t.concat([e+"-"+p,e+"-"+m])}),[]),x=[].concat(f,[d]).reduce((function(t,e){return t.concat([e,e+"-"+p,e+"-"+m])}),[]),_=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function order(t){var e=new Map,i=new Set,n=[];function sort(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&sort(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||sort(t)})),n}var S={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function popperGenerator(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,o=e.defaultOptions,s=void 0===o?S:o;return function createPopper(t,e,i){void 0===i&&(i=s);var o,a,l={placement:"bottom",orderedModifiers:[],options:Object.assign({},S,s),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},h=[],c=!1,d={state:l,setOptions:function setOptions(i){var o="function"==typeof i?i(l.options):i;cleanupModifierEffects(),l.options=Object.assign({},s,l.options,o),l.scrollParents={reference:isElement(t)?listScrollParents(t):t.contextElement?listScrollParents(t.contextElement):[],popper:listScrollParents(e)};var a=function orderModifiers(t){var e=order(t);return _.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}(function mergeByName(t){var e=t.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{});return Object.keys(e).map((function(t){return e[t]}))}([].concat(n,l.options.modifiers)));return l.orderedModifiers=a.filter((function(t){return t.enabled})),function runModifierEffects(){l.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,o=t.effect;if("function"==typeof o){var s=o({state:l,name:e,instance:d,options:n}),a=function noopFn(){};h.push(s||a)}}))}(),d.update()},forceUpdate:function forceUpdate(){if(!c){var t=l.elements,e=t.reference,i=t.popper;if(areValidElements(e,i)){l.rects={reference:getCompositeRect(e,getOffsetParent(i),"fixed"===l.options.strategy),popper:getLayoutRect(i)},l.reset=!1,l.placement=l.options.placement,l.orderedModifiers.forEach((function(t){return l.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<l.orderedModifiers.length;n++)if(!0!==l.reset){var o=l.orderedModifiers[n],s=o.fn,a=o.options,h=void 0===a?{}:a,f=o.name;"function"==typeof s&&(l=s({state:l,options:h,name:f,instance:d})||l)}else l.reset=!1,n=-1}}},update:(o=function(){return new Promise((function(t){d.forceUpdate(),t(l)}))},function(){return a||(a=new Promise((function(t){Promise.resolve().then((function(){a=void 0,t(o())}))}))),a}),destroy:function destroy(){cleanupModifierEffects(),c=!0}};if(!areValidElements(t,e))return d;function cleanupModifierEffects(){h.forEach((function(t){return t()})),h=[]}return d.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),d}}var P={passive:!0};function getBasePlacement(t){return t.split("-")[0]}function getVariation(t){return t.split("-")[1]}function getMainAxisFromPlacement(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function computeOffsets(t){var e,i=t.reference,n=t.element,o=t.placement,s=o?getBasePlacement(o):null,d=o?getVariation(o):null,f=i.x+i.width/2-n.width/2,g=i.y+i.height/2-n.height/2;switch(s){case a:e={x:f,y:i.y-n.height};break;case l:e={x:f,y:i.y+i.height};break;case h:e={x:i.x+i.width,y:g};break;case c:e={x:i.x-n.width,y:g};break;default:e={x:i.x,y:i.y}}var O=s?getMainAxisFromPlacement(s):null;if(null!=O){var v="y"===O?"height":"width";switch(d){case p:e[O]=e[O]-(i[v]/2-n[v]/2);break;case m:e[O]=e[O]+(i[v]/2-n[v]/2)}}return e}var k={top:"auto",right:"auto",bottom:"auto",left:"auto"};function mapToStyles(t){var e,i=t.popper,n=t.popperRect,o=t.placement,d=t.variation,f=t.offsets,p=t.position,g=t.gpuAcceleration,O=t.adaptive,v=t.roundOffsets,y=t.isFixed,b=f.x,x=void 0===b?0:b,_=f.y,S=void 0===_?0:_,P="function"==typeof v?v({x,y:S}):{x,y:S};x=P.x,S=P.y;var C=f.hasOwnProperty("x"),Q=f.hasOwnProperty("y"),T=c,A=a,R=window;if(O){var Z=getOffsetParent(i),M="clientHeight",L="clientWidth";if(Z===getWindow(i)&&"static"!==getComputedStyle(Z=getDocumentElement(i)).position&&"absolute"===p&&(M="scrollHeight",L="scrollWidth"),o===a||(o===c||o===h)&&d===m)A=l,S-=(y&&Z===R&&R.visualViewport?R.visualViewport.height:Z[M])-n.height,S*=g?1:-1;if(o===c||(o===a||o===l)&&d===m)T=h,x-=(y&&Z===R&&R.visualViewport?R.visualViewport.width:Z[L])-n.width,x*=g?1:-1}var E,D=Object.assign({position:p},O&&k),z=!0===v?function roundOffsetsByDPR(t,e){var i=t.x,n=t.y,o=e.devicePixelRatio||1;return{x:s(i*o)/o||0,y:s(n*o)/o||0}}({x,y:S},getWindow(i)):{x,y:S};return x=z.x,S=z.y,g?Object.assign({},D,((E={})[A]=Q?"0":"",E[T]=C?"0":"",E.transform=(R.devicePixelRatio||1)<=1?"translate("+x+"px, "+S+"px)":"translate3d("+x+"px, "+S+"px, 0)",E)):Object.assign({},D,((e={})[A]=Q?S+"px":"",e[T]=C?x+"px":"",e.transform="",e))}const C={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function offset(t){var e=t.state,i=t.options,n=t.name,o=i.offset,s=void 0===o?[0,0]:o,l=x.reduce((function(t,i){return t[i]=function distanceAndSkiddingToXY(t,e,i){var n=getBasePlacement(t),o=[c,a].indexOf(n)>=0?-1:1,s="function"==typeof i?i(Object.assign({},e,{placement:t})):i,l=s[0],d=s[1];return l=l||0,d=(d||0)*o,[c,h].indexOf(n)>=0?{x:d,y:l}:{x:l,y:d}}(i,e.rects,s),t}),{}),d=l[e.placement],f=d.x,p=d.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=f,e.modifiersData.popperOffsets.y+=p),e.modifiersData[n]=l}};var Q={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(t){return t.replace(/left|right|bottom|top/g,(function(t){return Q[t]}))}var T={start:"end",end:"start"};function getOppositeVariationPlacement(t){return t.replace(/start|end/g,(function(t){return T[t]}))}function contains(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&isShadowRoot(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function rectToClientRect(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function getClientRectFromMixedType(t,e,i){return e===O?rectToClientRect(function getViewportRect(t,e){var i=getWindow(t),n=getDocumentElement(t),o=i.visualViewport,s=n.clientWidth,a=n.clientHeight,l=0,h=0;if(o){s=o.width,a=o.height;var c=isLayoutViewport();(c||!c&&"fixed"===e)&&(l=o.offsetLeft,h=o.offsetTop)}return{width:s,height:a,x:l+getWindowScrollBarX(t),y:h}}(t,i)):isElement(e)?function getInnerBoundingClientRect(t,e){var i=getBoundingClientRect(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):rectToClientRect(function getDocumentRect(t){var e,i=getDocumentElement(t),o=getWindowScroll(t),s=null==(e=t.ownerDocument)?void 0:e.body,a=n(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),l=n(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),h=-o.scrollLeft+getWindowScrollBarX(t),c=-o.scrollTop;return"rtl"===getComputedStyle(s||i).direction&&(h+=n(i.clientWidth,s?s.clientWidth:0)-a),{width:a,height:l,x:h,y:c}}(getDocumentElement(t)))}function getClippingRect(t,e,i,s){var a="clippingParents"===e?function getClippingParents(t){var e=listScrollParents(getParentNode(t)),i=["absolute","fixed"].indexOf(getComputedStyle(t).position)>=0&&isHTMLElement(t)?getOffsetParent(t):t;return isElement(i)?e.filter((function(t){return isElement(t)&&contains(t,i)&&"body"!==getNodeName(t)})):[]}(t):[].concat(e),l=[].concat(a,[i]),h=l[0],c=l.reduce((function(e,i){var a=getClientRectFromMixedType(t,i,s);return e.top=n(a.top,e.top),e.right=o(a.right,e.right),e.bottom=o(a.bottom,e.bottom),e.left=n(a.left,e.left),e}),getClientRectFromMixedType(t,h,s));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function mergePaddingObject(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function expandToHashMap(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}function detectOverflow(t,e){void 0===e&&(e={});var i=e,n=i.placement,o=void 0===n?t.placement:n,s=i.strategy,c=void 0===s?t.strategy:s,d=i.boundary,p=void 0===d?g:d,m=i.rootBoundary,b=void 0===m?O:m,x=i.elementContext,_=void 0===x?v:x,S=i.altBoundary,P=void 0!==S&&S,k=i.padding,C=void 0===k?0:k,Q=mergePaddingObject("number"!=typeof C?C:expandToHashMap(C,f)),T=_===v?y:v,A=t.rects.popper,R=t.elements[P?T:_],Z=getClippingRect(isElement(R)?R:R.contextElement||getDocumentElement(t.elements.popper),p,b,c),M=getBoundingClientRect(t.elements.reference),L=computeOffsets({reference:M,element:A,strategy:"absolute",placement:o}),E=rectToClientRect(Object.assign({},A,L)),D=_===v?E:M,z={top:Z.top-D.top+Q.top,bottom:D.bottom-Z.bottom+Q.bottom,left:Z.left-D.left+Q.left,right:D.right-Z.right+Q.right},I=t.modifiersData.offset;if(_===v&&I){var W=I[o];Object.keys(z).forEach((function(t){var e=[h,l].indexOf(t)>=0?1:-1,i=[a,l].indexOf(t)>=0?"y":"x";z[t]+=W[i]*e}))}return z}function within(t,e,i){return n(t,o(e,i))}const A={name:"preventOverflow",enabled:!0,phase:"main",fn:function preventOverflow(t){var e=t.state,i=t.options,s=t.name,d=i.mainAxis,f=void 0===d||d,m=i.altAxis,g=void 0!==m&&m,O=i.boundary,v=i.rootBoundary,y=i.altBoundary,b=i.padding,x=i.tether,_=void 0===x||x,S=i.tetherOffset,P=void 0===S?0:S,k=detectOverflow(e,{boundary:O,rootBoundary:v,padding:b,altBoundary:y}),C=getBasePlacement(e.placement),Q=getVariation(e.placement),T=!Q,A=getMainAxisFromPlacement(C),R=function getAltAxis(t){return"x"===t?"y":"x"}(A),Z=e.modifiersData.popperOffsets,M=e.rects.reference,L=e.rects.popper,E="function"==typeof P?P(Object.assign({},e.rects,{placement:e.placement})):P,D="number"==typeof E?{mainAxis:E,altAxis:E}:Object.assign({mainAxis:0,altAxis:0},E),z=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,I={x:0,y:0};if(Z){if(f){var W,B="y"===A?a:c,V="y"===A?l:h,X="y"===A?"height":"width",N=Z[A],j=N+k[B],q=N-k[V],Y=_?-L[X]/2:0,U=Q===p?M[X]:L[X],G=Q===p?-L[X]:-M[X],H=e.elements.arrow,K=_&&H?getLayoutRect(H):{width:0,height:0},J=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},tt=J[B],et=J[V],it=within(0,M[X],K[X]),nt=T?M[X]/2-Y-it-tt-D.mainAxis:U-it-tt-D.mainAxis,ot=T?-M[X]/2+Y+it+et+D.mainAxis:G+it+et+D.mainAxis,rt=e.elements.arrow&&getOffsetParent(e.elements.arrow),st=rt?"y"===A?rt.clientTop||0:rt.clientLeft||0:0,at=null!=(W=null==z?void 0:z[A])?W:0,lt=N+ot-at,ht=within(_?o(j,N+nt-at-st):j,N,_?n(q,lt):q);Z[A]=ht,I[A]=ht-N}if(g){var ct,dt="x"===A?a:c,ut="x"===A?l:h,ft=Z[R],pt="y"===R?"height":"width",mt=ft+k[dt],gt=ft-k[ut],Ot=-1!==[a,c].indexOf(C),vt=null!=(ct=null==z?void 0:z[R])?ct:0,yt=Ot?mt:ft-M[pt]-L[pt]-vt+D.altAxis,wt=Ot?ft+M[pt]+L[pt]-vt-D.altAxis:gt,bt=_&&Ot?function withinMaxClamp(t,e,i){var n=within(t,e,i);return n>i?i:n}(yt,ft,wt):within(_?yt:mt,ft,_?wt:gt);Z[R]=bt,I[R]=bt-ft}e.modifiersData[s]=I}},requiresIfExists:["offset"]};const R={name:"arrow",enabled:!0,phase:"main",fn:function arrow(t){var e,i=t.state,n=t.name,o=t.options,s=i.elements.arrow,d=i.modifiersData.popperOffsets,p=getBasePlacement(i.placement),m=getMainAxisFromPlacement(p),g=[c,h].indexOf(p)>=0?"height":"width";if(s&&d){var O=function toPaddingObject(t,e){return mergePaddingObject("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:expandToHashMap(t,f))}(o.padding,i),v=getLayoutRect(s),y="y"===m?a:c,b="y"===m?l:h,x=i.rects.reference[g]+i.rects.reference[m]-d[m]-i.rects.popper[g],_=d[m]-i.rects.reference[m],S=getOffsetParent(s),P=S?"y"===m?S.clientHeight||0:S.clientWidth||0:0,k=x/2-_/2,C=O[y],Q=P-v[g]-O[b],T=P/2-v[g]/2+k,A=within(C,T,Q),R=m;i.modifiersData[n]=((e={})[R]=A,e.centerOffset=A-T,e)}},effect:function arrow_effect(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&contains(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getSideOffsets(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function isAnySideFullyClipped(t){return[a,h,l,c].some((function(e){return t[e]>=0}))}var Z=popperGenerator({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function fn(){},effect:function effect(t){var e=t.state,i=t.instance,n=t.options,o=n.scroll,s=void 0===o||o,a=n.resize,l=void 0===a||a,h=getWindow(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&c.forEach((function(t){t.addEventListener("scroll",i.update,P)})),l&&h.addEventListener("resize",i.update,P),function(){s&&c.forEach((function(t){t.removeEventListener("scroll",i.update,P)})),l&&h.removeEventListener("resize",i.update,P)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function popperOffsets(t){var e=t.state,i=t.name;e.modifiersData[i]=computeOffsets({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function computeStyles(t){var e=t.state,i=t.options,n=i.gpuAcceleration,o=void 0===n||n,s=i.adaptive,a=void 0===s||s,l=i.roundOffsets,h=void 0===l||l,c={placement:getBasePlacement(e.placement),variation:getVariation(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,mapToStyles(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:h})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,mapToStyles(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:h})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function applyStyles(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},o=e.elements[t];isHTMLElement(o)&&getNodeName(o)&&(Object.assign(o.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?o.removeAttribute(t):o.setAttribute(t,!0===e?"":e)})))}))},effect:function applyStyles_effect(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],o=e.attributes[t]||{},s=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});isHTMLElement(n)&&getNodeName(n)&&(Object.assign(n.style,s),Object.keys(o).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]},C,{name:"flip",enabled:!0,phase:"main",fn:function flip(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var o=i.mainAxis,s=void 0===o||o,m=i.altAxis,g=void 0===m||m,O=i.fallbackPlacements,v=i.padding,y=i.boundary,_=i.rootBoundary,S=i.altBoundary,P=i.flipVariations,k=void 0===P||P,C=i.allowedAutoPlacements,Q=e.options.placement,T=getBasePlacement(Q),A=O||(T===Q||!k?[getOppositePlacement(Q)]:function getExpandedFallbackPlacements(t){if(getBasePlacement(t)===d)return[];var e=getOppositePlacement(t);return[getOppositeVariationPlacement(t),e,getOppositeVariationPlacement(e)]}(Q)),R=[Q].concat(A).reduce((function(t,i){return t.concat(getBasePlacement(i)===d?function computeAutoPlacement(t,e){void 0===e&&(e={});var i=e,n=i.placement,o=i.boundary,s=i.rootBoundary,a=i.padding,l=i.flipVariations,h=i.allowedAutoPlacements,c=void 0===h?x:h,d=getVariation(n),p=d?l?b:b.filter((function(t){return getVariation(t)===d})):f,m=p.filter((function(t){return c.indexOf(t)>=0}));0===m.length&&(m=p);var g=m.reduce((function(e,i){return e[i]=detectOverflow(t,{placement:i,boundary:o,rootBoundary:s,padding:a})[getBasePlacement(i)],e}),{});return Object.keys(g).sort((function(t,e){return g[t]-g[e]}))}(e,{placement:i,boundary:y,rootBoundary:_,padding:v,flipVariations:k,allowedAutoPlacements:C}):i)}),[]),Z=e.rects.reference,M=e.rects.popper,L=new Map,E=!0,D=R[0],z=0;z<R.length;z++){var I=R[z],W=getBasePlacement(I),B=getVariation(I)===p,V=[a,l].indexOf(W)>=0,X=V?"width":"height",N=detectOverflow(e,{placement:I,boundary:y,rootBoundary:_,altBoundary:S,padding:v}),j=V?B?h:c:B?l:a;Z[X]>M[X]&&(j=getOppositePlacement(j));var q=getOppositePlacement(j),Y=[];if(s&&Y.push(N[W]<=0),g&&Y.push(N[j]<=0,N[q]<=0),Y.every((function(t){return t}))){D=I,E=!1;break}L.set(I,Y)}if(E)for(var U=function _loop(t){var e=R.find((function(e){var i=L.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return D=e,"break"},G=k?3:1;G>0;G--){if("break"===U(G))break}e.placement!==D&&(e.modifiersData[n]._skip=!0,e.placement=D,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},A,R,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function hide(t){var e=t.state,i=t.name,n=e.rects.reference,o=e.rects.popper,s=e.modifiersData.preventOverflow,a=detectOverflow(e,{elementContext:"reference"}),l=detectOverflow(e,{altBoundary:!0}),h=getSideOffsets(a,n),c=getSideOffsets(l,o,s),d=isAnySideFullyClipped(h),f=isAnySideFullyClipped(c);e.modifiersData[i]={referenceClippingOffsets:h,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:f},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}}]})},1030:function(t,e){!function(t){"use strict";var e="1.9.4";function extend(t){var e,i,n,o;for(i=1,n=arguments.length;i<n;i++)for(e in o=arguments[i])t[e]=o[e];return t}var i=Object.create||function(){function F(){}return function(t){return F.prototype=t,new F}}();function bind(t,e){var i=Array.prototype.slice;if(t.bind)return t.bind.apply(t,i.call(arguments,1));var n=i.call(arguments,2);return function(){return t.apply(e,n.length?n.concat(i.call(arguments)):arguments)}}var n=0;function stamp(t){return"_leaflet_id"in t||(t._leaflet_id=++n),t._leaflet_id}function throttle(t,e,i){var n,o,s,a;return a=function(){n=!1,o&&(s.apply(i,o),o=!1)},s=function(){n?o=arguments:(t.apply(i,arguments),setTimeout(a,e),n=!0)},s}function wrapNum(t,e,i){var n=e[1],o=e[0],s=n-o;return t===n&&i?t:((t-o)%s+s)%s+o}function falseFn(){return!1}function formatNum(t,e){if(!1===e)return t;var i=Math.pow(10,void 0===e?6:e);return Math.round(t*i)/i}function trim(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function splitWords(t){return trim(t).split(/\s+/)}function setOptions(t,e){for(var n in Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?i(t.options):{}),e)t.options[n]=e[n];return t.options}function getParamString(t,e,i){var n=[];for(var o in t)n.push(encodeURIComponent(i?o.toUpperCase():o)+"="+encodeURIComponent(t[o]));return(e&&-1!==e.indexOf("?")?"&":"?")+n.join("&")}var o=/\{ *([\w_ -]+) *\}/g;function template(t,e){return t.replace(o,(function(t,i){var n=e[i];if(void 0===n)throw new Error("No value provided for variable "+t);return"function"==typeof n&&(n=n(e)),n}))}var s=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function indexOf(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var a="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function getPrefixed(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var l=0;function timeoutDefer(t){var e=+new Date,i=Math.max(0,16-(e-l));return l=e+i,window.setTimeout(t,i)}var h=window.requestAnimationFrame||getPrefixed("RequestAnimationFrame")||timeoutDefer,c=window.cancelAnimationFrame||getPrefixed("CancelAnimationFrame")||getPrefixed("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function requestAnimFrame(t,e,i){if(!i||h!==timeoutDefer)return h.call(window,bind(t,e));t.call(e)}function cancelAnimFrame(t){t&&c.call(window,t)}var d={__proto__:null,extend,create:i,bind,get lastId(){return n},stamp,throttle,wrapNum,falseFn,formatNum,trim,splitWords,setOptions,getParamString,template,isArray:s,indexOf,emptyImageUrl:a,requestFn:h,cancelFn:c,requestAnimFrame,cancelAnimFrame};function Class(){}function checkDeprecatedMixinEvents(t){if("undefined"!=typeof L&&L&&L.Mixin){t=s(t)?t:[t];for(var e=0;e<t.length;e++)t[e]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}Class.extend=function(t){var NewClass=function(){setOptions(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},e=NewClass.__super__=this.prototype,n=i(e);for(var o in n.constructor=NewClass,NewClass.prototype=n,this)Object.prototype.hasOwnProperty.call(this,o)&&"prototype"!==o&&"__super__"!==o&&(NewClass[o]=this[o]);return t.statics&&extend(NewClass,t.statics),t.includes&&(checkDeprecatedMixinEvents(t.includes),extend.apply(null,[n].concat(t.includes))),extend(n,t),delete n.statics,delete n.includes,n.options&&(n.options=e.options?i(e.options):{},extend(n.options,t.options)),n._initHooks=[],n.callInitHooks=function(){if(!this._initHooksCalled){e.callInitHooks&&e.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,i=n._initHooks.length;t<i;t++)n._initHooks[t].call(this)}},NewClass},Class.include=function(t){var e=this.prototype.options;return extend(this.prototype,t),t.options&&(this.prototype.options=e,this.mergeOptions(t.options)),this},Class.mergeOptions=function(t){return extend(this.prototype.options,t),this},Class.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};var f={on:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e);else for(var o=0,s=(t=splitWords(t)).length;o<s;o++)this._on(t[o],e,i);return this},off:function(t,e,i){if(arguments.length)if("object"==typeof t)for(var n in t)this._off(n,t[n],e);else{t=splitWords(t);for(var o=1===arguments.length,s=0,a=t.length;s<a;s++)o?this._off(t[s]):this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,i,n){if("function"==typeof e){if(!1===this._listens(t,e,i)){i===this&&(i=void 0);var o={fn:e,ctx:i};n&&(o.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(o)}}else console.warn("wrong listener type: "+typeof e)},_off:function(t,e,i){var n,o,s;if(this._events&&(n=this._events[t]))if(1!==arguments.length)if("function"==typeof e){var a=this._listens(t,e,i);if(!1!==a){var l=n[a];this._firingCount&&(l.fn=falseFn,this._events[t]=n=n.slice()),n.splice(a,1)}}else console.warn("wrong listener type: "+typeof e);else{if(this._firingCount)for(o=0,s=n.length;o<s;o++)n[o].fn=falseFn;delete this._events[t]}},fire:function(t,e,i){if(!this.listens(t,i))return this;var n=extend({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var s=0,a=o.length;s<a;s++){var l=o[s],h=l.fn;l.once&&this.off(t,h,l.ctx),h.call(l.ctx||this,n)}this._firingCount--}}return i&&this._propagateEvent(n),this},listens:function(t,e,i,n){"string"!=typeof t&&console.warn('"string" type argument expected');var o=e;"function"!=typeof e&&(n=!!e,o=void 0,i=void 0);var s=this._events&&this._events[t];if(s&&s.length&&!1!==this._listens(t,o,i))return!0;if(n)for(var a in this._eventParents)if(this._eventParents[a].listens(t,e,i,n))return!0;return!1},_listens:function(t,e,i){if(!this._events)return!1;var n=this._events[t]||[];if(!e)return!!n.length;i===this&&(i=void 0);for(var o=0,s=n.length;o<s;o++)if(n[o].fn===e&&n[o].ctx===i)return o;return!1},once:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e,!0);else for(var o=0,s=(t=splitWords(t)).length;o<s;o++)this._on(t[o],e,i,!0);return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[stamp(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[stamp(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,extend({layer:t.target,propagatedFrom:t.target},t),!0)}};f.addEventListener=f.on,f.removeEventListener=f.clearAllEventListeners=f.off,f.addOneTimeEventListener=f.once,f.fireEvent=f.fire,f.hasEventListeners=f.listens;var p=Class.extend(f);function Point(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var m=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};function toPoint(t,e,i){return t instanceof Point?t:s(t)?new Point(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new Point(t.x,t.y):new Point(t,e,i)}function Bounds(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function toBounds(t,e){return!t||t instanceof Bounds?t:new Bounds(t,e)}function LatLngBounds(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function toLatLngBounds(t,e){return t instanceof LatLngBounds?t:new LatLngBounds(t,e)}function LatLng(t,e,i){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==i&&(this.alt=+i)}function toLatLng(t,e,i){return t instanceof LatLng?t:s(t)&&"object"!=typeof t[0]?3===t.length?new LatLng(t[0],t[1],t[2]):2===t.length?new LatLng(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new LatLng(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new LatLng(t,e,i)}Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(toPoint(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(toPoint(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new Point(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new Point(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=m(this.x),this.y=m(this.y),this},distanceTo:function(t){var e=(t=toPoint(t)).x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return(t=toPoint(t)).x===this.x&&t.y===this.y},contains:function(t){return t=toPoint(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+formatNum(this.x)+", "+formatNum(this.y)+")"}},Bounds.prototype={extend:function(t){var e,i;if(!t)return this;if(t instanceof Point||"number"==typeof t[0]||"x"in t)e=i=toPoint(t);else if(e=(t=toBounds(t)).min,i=t.max,!e||!i)return this;return this.min||this.max?(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)):(this.min=e.clone(),this.max=i.clone()),this},getCenter:function(t){return toPoint((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return toPoint(this.min.x,this.max.y)},getTopRight:function(){return toPoint(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return(t="number"==typeof t[0]||t instanceof Point?toPoint(t):toBounds(t))instanceof Bounds?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=toBounds(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,a=o.y>=e.y&&n.y<=i.y;return s&&a},overlaps:function(t){t=toBounds(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.x<i.x,a=o.y>e.y&&n.y<i.y;return s&&a},isValid:function(){return!(!this.min||!this.max)},pad:function(t){var e=this.min,i=this.max,n=Math.abs(e.x-i.x)*t,o=Math.abs(e.y-i.y)*t;return toBounds(toPoint(e.x-n,e.y-o),toPoint(i.x+n,i.y+o))},equals:function(t){return!!t&&(t=toBounds(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight()))}},LatLngBounds.prototype={extend:function(t){var e,i,n=this._southWest,o=this._northEast;if(t instanceof LatLng)e=t,i=t;else{if(!(t instanceof LatLngBounds))return t?this.extend(toLatLng(t)||toLatLngBounds(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return n||o?(n.lat=Math.min(e.lat,n.lat),n.lng=Math.min(e.lng,n.lng),o.lat=Math.max(i.lat,o.lat),o.lng=Math.max(i.lng,o.lng)):(this._southWest=new LatLng(e.lat,e.lng),this._northEast=new LatLng(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,o=Math.abs(e.lng-i.lng)*t;return new LatLngBounds(new LatLng(e.lat-n,e.lng-o),new LatLng(i.lat+n,i.lng+o))},getCenter:function(){return new LatLng((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new LatLng(this.getNorth(),this.getWest())},getSouthEast:function(){return new LatLng(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof LatLng||"lat"in t?toLatLng(t):toLatLngBounds(t);var e,i,n=this._southWest,o=this._northEast;return t instanceof LatLngBounds?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=toLatLngBounds(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,a=o.lng>=e.lng&&n.lng<=i.lng;return s&&a},overlaps:function(t){t=toLatLngBounds(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.lat<i.lat,a=o.lng>e.lng&&n.lng<i.lng;return s&&a},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=toLatLngBounds(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}},LatLng.prototype={equals:function(t,e){return!!t&&(t=toLatLng(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+formatNum(this.lat,t)+", "+formatNum(this.lng,t)+")"},distanceTo:function(t){return v.distance(this,toLatLng(t))},wrap:function(){return v.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return toLatLngBounds([this.lat-e,this.lng-i],[this.lat+e,this.lng+i])},clone:function(){return new LatLng(this.lat,this.lng,this.alt)}};var g,O={latLngToPoint:function(t,e){var i=this.projection.project(t),n=this.scale(e);return this.transformation._transform(i,n)},pointToLatLng:function(t,e){var i=this.scale(e),n=this.transformation.untransform(t,i);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,i=this.scale(t);return new Bounds(this.transformation.transform(e.min,i),this.transformation.transform(e.max,i))},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?wrapNum(t.lng,this.wrapLng,!0):t.lng;return new LatLng(this.wrapLat?wrapNum(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),n=e.lat-i.lat,o=e.lng-i.lng;if(0===n&&0===o)return t;var s=t.getSouthWest(),a=t.getNorthEast();return new LatLngBounds(new LatLng(s.lat-n,s.lng-o),new LatLng(a.lat-n,a.lng-o))}},v=extend({},O,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,n=t.lat*i,o=e.lat*i,s=Math.sin((e.lat-t.lat)*i/2),a=Math.sin((e.lng-t.lng)*i/2),l=s*s+Math.cos(n)*Math.cos(o)*a*a,h=2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l));return this.R*h}}),y=6378137,b={R:y,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,n=Math.max(Math.min(i,t.lat),-i),o=Math.sin(n*e);return new Point(this.R*t.lng*e,this.R*Math.log((1+o)/(1-o))/2)},unproject:function(t){var e=180/Math.PI;return new LatLng((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:(g=y*Math.PI,new Bounds([-g,-g],[g,g]))};function Transformation(t,e,i,n){if(s(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=e,this._c=i,this._d=n}function toTransformation(t,e,i,n){return new Transformation(t,e,i,n)}Transformation.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new Point((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}};var x=extend({},v,{code:"EPSG:3857",projection:b,transformation:function(){var t=.5/(Math.PI*b.R);return toTransformation(t,.5,-t,.5)}()}),_=extend({},x,{code:"EPSG:900913"});function svgCreate(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function pointsToPath(t,e){var i,n,o,s,a,l,h="";for(i=0,o=t.length;i<o;i++){for(n=0,s=(a=t[i]).length;n<s;n++)h+=(n?"L":"M")+(l=a[n]).x+" "+l.y;h+=e?dt.svg?"z":"x":""}return h||"M0 0"}var S,P=document.documentElement.style,k="ActiveXObject"in window,C=k&&!document.addEventListener,Q="msLaunchUri"in navigator&&!("documentMode"in document),T=userAgentContains("webkit"),A=userAgentContains("android"),R=userAgentContains("android 2")||userAgentContains("android 3"),Z=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),M=A&&userAgentContains("Google")&&Z<537&&!("AudioNode"in window),E=!!window.opera,D=!Q&&userAgentContains("chrome"),z=userAgentContains("gecko")&&!T&&!E&&!k,I=!D&&userAgentContains("safari"),W=userAgentContains("phantom"),B="OTransition"in P,V=0===navigator.platform.indexOf("Win"),X=k&&"transition"in P,N="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!R,j="MozPerspective"in P,q=!window.L_DISABLE_3D&&(X||N||j)&&!B&&!W,Y="undefined"!=typeof orientation||userAgentContains("mobile"),U=Y&&T,G=Y&&N,H=!window.PointerEvent&&window.MSPointerEvent,K=!(!window.PointerEvent&&!H),J="ontouchstart"in window||!!window.TouchEvent,tt=!window.L_NO_TOUCH&&(J||K),et=Y&&E,it=Y&&z,nt=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,ot=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",falseFn,e),window.removeEventListener("testPassiveEventSupport",falseFn,e)}catch(t){}return t}(),rt=!!document.createElement("canvas").getContext,st=!(!document.createElementNS||!svgCreate("svg").createSVGRect),at=!!st&&((S=document.createElement("div")).innerHTML="<svg/>","http://www.w3.org/2000/svg"===(S.firstChild&&S.firstChild.namespaceURI)),lt=!st&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),ht=0===navigator.platform.indexOf("Mac"),ct=0===navigator.platform.indexOf("Linux");function userAgentContains(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var dt={ie:k,ielt9:C,edge:Q,webkit:T,android:A,android23:R,androidStock:M,opera:E,chrome:D,gecko:z,safari:I,phantom:W,opera12:B,win:V,ie3d:X,webkit3d:N,gecko3d:j,any3d:q,mobile:Y,mobileWebkit:U,mobileWebkit3d:G,msPointer:H,pointer:K,touch:tt,touchNative:J,mobileOpera:et,mobileGecko:it,retina:nt,passiveEvents:ot,canvas:rt,svg:st,vml:lt,inlineSvg:at,mac:ht,linux:ct},ut=dt.msPointer?"MSPointerDown":"pointerdown",ft=dt.msPointer?"MSPointerMove":"pointermove",pt=dt.msPointer?"MSPointerUp":"pointerup",mt=dt.msPointer?"MSPointerCancel":"pointercancel",gt={touchstart:ut,touchmove:ft,touchend:pt,touchcancel:mt},Ot={touchstart:_onPointerStart,touchmove:_handlePointer,touchend:_handlePointer,touchcancel:_handlePointer},vt={},yt=!1;function addPointerListener(t,e,i){return"touchstart"===e&&_addPointerDocListener(),Ot[e]?(i=Ot[e].bind(this,i),t.addEventListener(gt[e],i,!1),i):(console.warn("wrong event specified:",e),falseFn)}function removePointerListener(t,e,i){gt[e]?t.removeEventListener(gt[e],i,!1):console.warn("wrong event specified:",e)}function _globalPointerDown(t){vt[t.pointerId]=t}function _globalPointerMove(t){vt[t.pointerId]&&(vt[t.pointerId]=t)}function _globalPointerUp(t){delete vt[t.pointerId]}function _addPointerDocListener(){yt||(document.addEventListener(ut,_globalPointerDown,!0),document.addEventListener(ft,_globalPointerMove,!0),document.addEventListener(pt,_globalPointerUp,!0),document.addEventListener(mt,_globalPointerUp,!0),yt=!0)}function _handlePointer(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],vt)e.touches.push(vt[i]);e.changedTouches=[e],t(e)}}function _onPointerStart(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&preventDefault(e),_handlePointer(t,e)}function makeDblclick(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return t=n,n.type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}var wt=200;function addDoubleTapListener(t,e){t.addEventListener("dblclick",e);var i,n=0;function simDblclick(t){if(1===t.detail){if("mouse"!==t.pointerType&&(!t.sourceCapabilities||t.sourceCapabilities.firesTouchEvents)){var o=getPropagationPath(t);if(!o.some((function(t){return t instanceof HTMLLabelElement&&t.attributes.for}))||o.some((function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement}))){var s=Date.now();s-n<=wt?2==++i&&e(makeDblclick(t)):i=1,n=s}}}else i=t.detail}return t.addEventListener("click",simDblclick),{dblclick:e,simDblclick}}function removeDoubleTapListener(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}var bt,xt,_t,St,Pt,kt=testProp(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),Ct=testProp(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Qt="webkitTransition"===Ct||"OTransition"===Ct?Ct+"End":"transitionend";function get(t){return"string"==typeof t?document.getElementById(t):t}function getStyle(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function create$1(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function remove(t){var e=t.parentNode;e&&e.removeChild(t)}function empty(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function toFront(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function toBack(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function hasClass(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=getClass(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function addClass(t,e){if(void 0!==t.classList)for(var i=splitWords(e),n=0,o=i.length;n<o;n++)t.classList.add(i[n]);else if(!hasClass(t,e)){var s=getClass(t);setClass(t,(s?s+" ":"")+e)}}function removeClass(t,e){void 0!==t.classList?t.classList.remove(e):setClass(t,trim((" "+getClass(t)+" ").replace(" "+e+" "," ")))}function setClass(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function getClass(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function setOpacity(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&_setOpacityIE(t,e)}function _setOpacityIE(t,e){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"}function testProp(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function setTransform(t,e,i){var n=e||new Point(0,0);t.style[kt]=(dt.ie3d?"translate("+n.x+"px,"+n.y+"px)":"translate3d("+n.x+"px,"+n.y+"px,0)")+(i?" scale("+i+")":"")}function setPosition(t,e){t._leaflet_pos=e,dt.any3d?setTransform(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function getPosition(t){return t._leaflet_pos||new Point(0,0)}if("onselectstart"in document)bt=function(){on(window,"selectstart",preventDefault)},xt=function(){off(window,"selectstart",preventDefault)};else{var Tt=testProp(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);bt=function(){if(Tt){var t=document.documentElement.style;_t=t[Tt],t[Tt]="none"}},xt=function(){Tt&&(document.documentElement.style[Tt]=_t,_t=void 0)}}function disableImageDrag(){on(window,"dragstart",preventDefault)}function enableImageDrag(){off(window,"dragstart",preventDefault)}function preventOutline(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(restoreOutline(),St=t,Pt=t.style.outlineStyle,t.style.outlineStyle="none",on(window,"keydown",restoreOutline))}function restoreOutline(){St&&(St.style.outlineStyle=Pt,St=void 0,Pt=void 0,off(window,"keydown",restoreOutline))}function getSizedParentNode(t){do{t=t.parentNode}while(!(t.offsetWidth&&t.offsetHeight||t===document.body));return t}function getScale(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}var $t={__proto__:null,TRANSFORM:kt,TRANSITION:Ct,TRANSITION_END:Qt,get,getStyle,create:create$1,remove,empty,toFront,toBack,hasClass,addClass,removeClass,setClass,getClass,setOpacity,testProp,setTransform,setPosition,getPosition,get disableTextSelection(){return bt},get enableTextSelection(){return xt},disableImageDrag,enableImageDrag,preventOutline,restoreOutline,getSizedParentNode,getScale};function on(t,e,i,n){if(e&&"object"==typeof e)for(var o in e)addOne(t,o,e[o],i);else for(var s=0,a=(e=splitWords(e)).length;s<a;s++)addOne(t,e[s],i,n);return this}var At="_leaflet_events";function off(t,e,i,n){if(1===arguments.length)batchRemove(t),delete t[At];else if(e&&"object"==typeof e)for(var o in e)removeOne(t,o,e[o],i);else if(e=splitWords(e),2===arguments.length)batchRemove(t,(function(t){return-1!==indexOf(e,t)}));else for(var s=0,a=e.length;s<a;s++)removeOne(t,e[s],i,n);return this}function batchRemove(t,e){for(var i in t[At]){var n=i.split(/\d/)[0];e&&!e(n)||removeOne(t,n,null,null,i)}}var Rt={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function addOne(t,e,i,n){var o=e+stamp(i)+(n?"_"+stamp(n):"");if(t[At]&&t[At][o])return this;var handler=function(e){return i.call(n||t,e||window.event)},s=handler;!dt.touchNative&&dt.pointer&&0===e.indexOf("touch")?handler=addPointerListener(t,e,handler):dt.touch&&"dblclick"===e?handler=addDoubleTapListener(t,handler):"addEventListener"in t?"touchstart"===e||"touchmove"===e||"wheel"===e||"mousewheel"===e?t.addEventListener(Rt[e]||e,handler,!!dt.passiveEvents&&{passive:!1}):"mouseenter"===e||"mouseleave"===e?(handler=function(e){e=e||window.event,isExternalTarget(t,e)&&s(e)},t.addEventListener(Rt[e],handler,!1)):t.addEventListener(e,s,!1):t.attachEvent("on"+e,handler),t[At]=t[At]||{},t[At][o]=handler}function removeOne(t,e,i,n,o){o=o||e+stamp(i)+(n?"_"+stamp(n):"");var s=t[At]&&t[At][o];if(!s)return this;!dt.touchNative&&dt.pointer&&0===e.indexOf("touch")?removePointerListener(t,e,s):dt.touch&&"dblclick"===e?removeDoubleTapListener(t,s):"removeEventListener"in t?t.removeEventListener(Rt[e]||e,s,!1):t.detachEvent("on"+e,s),t[At][o]=null}function stopPropagation(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function disableScrollPropagation(t){return addOne(t,"wheel",stopPropagation),this}function disableClickPropagation(t){return on(t,"mousedown touchstart dblclick contextmenu",stopPropagation),t._leaflet_disable_click=!0,this}function preventDefault(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function stop(t){return preventDefault(t),stopPropagation(t),this}function getPropagationPath(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function getMousePosition(t,e){if(!e)return new Point(t.clientX,t.clientY);var i=getScale(e),n=i.boundingClientRect;return new Point((t.clientX-n.left)/i.x-e.clientLeft,(t.clientY-n.top)/i.y-e.clientTop)}var Zt=dt.linux&&dt.chrome?window.devicePixelRatio:dt.mac?3*window.devicePixelRatio:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function getWheelDelta(t){return dt.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Zt:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function isExternalTarget(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var Mt={__proto__:null,on,off,stopPropagation,disableScrollPropagation,disableClickPropagation,preventDefault,stop,getPropagationPath,getMousePosition,getWheelDelta,isExternalTarget,addListener:on,removeListener:off},Lt=p.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=getPosition(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=requestAnimFrame(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var i=this._startPos.add(this._offset.multiplyBy(t));e&&i._round(),setPosition(this._el,i),this.fire("step")},_complete:function(){cancelAnimFrame(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Et=p.extend({options:{crs:x,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=setOptions(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=bind(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(toLatLng(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=Ct&&dt.any3d&&!dt.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),on(this._proxy,Qt,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){return e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(toLatLng(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i&&(void 0!==i.animate&&(i.zoom=extend({animate:i.animate},i.zoom),i.pan=extend({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,e,i.pan&&i.pan.noMoveStart),this)},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(dt.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(dt.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),o=this.getSize().divideBy(2),s=(t instanceof Point?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),a=this.containerPointToLatLng(o.add(s));return this.setView(a,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():toLatLngBounds(t);var i=toPoint(e.paddingTopLeft||e.padding||[0,0]),n=toPoint(e.paddingBottomRight||e.padding||[0,0]),o=this.getBoundsZoom(t,!1,i.add(n));if((o="number"==typeof e.maxZoom?Math.min(e.maxZoom,o):o)===1/0)return{center:t.getCenter(),zoom:o};var s=n.subtract(i).divideBy(2),a=this.project(t.getSouthWest(),o),l=this.project(t.getNorthEast(),o);return{center:this.unproject(a.add(l).divideBy(2).add(s),o),zoom:o}},fitBounds:function(t,e){if(!(t=toLatLngBounds(t)).isValid())throw new Error("Bounds are not valid.");var i=this._getBoundsCenterZoom(t,e);return this.setView(i.center,i.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(e=e||{},!(t=toPoint(t).round()).x&&!t.y)return this.fire("moveend");if(!0!==e.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Lt,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate){addClass(this._mapPane,"leaflet-pan-anim");var i=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,i){if(!1===(i=i||{}).animate||!dt.any3d)return this.setView(t,e,i);this._stop();var n=this.project(this.getCenter()),o=this.project(t),s=this.getSize(),a=this._zoom;t=toLatLng(t),e=void 0===e?a:e;var l=Math.max(s.x,s.y),h=l*this.getZoomScale(a,e),c=o.distanceTo(n)||1,d=1.42,f=d*d;function r(t){var e=(h*h-l*l+(t?-1:1)*f*f*c*c)/(2*(t?h:l)*f*c),i=Math.sqrt(e*e+1)-e;return i<1e-9?-18:Math.log(i)}function sinh(t){return(Math.exp(t)-Math.exp(-t))/2}function cosh(t){return(Math.exp(t)+Math.exp(-t))/2}function tanh(t){return sinh(t)/cosh(t)}var p=r(0);function w(t){return l*(cosh(p)/cosh(p+d*t))}function u(t){return l*(cosh(p)*tanh(p+d*t)-sinh(p))/f}function easeOut(t){return 1-Math.pow(1-t,1.5)}var m=Date.now(),g=(r(1)-p)/d,O=i.duration?1e3*i.duration:1e3*g*.8;function frame(){var i=(Date.now()-m)/O,s=easeOut(i)*g;i<=1?(this._flyToFrame=requestAnimFrame(frame,this),this._move(this.unproject(n.add(o.subtract(n).multiplyBy(u(s)/c)),a),this.getScaleZoom(l/w(s),a),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}return this._moveStart(!0,i.noMoveStart),frame.call(this),this},flyToBounds:function(t,e){var i=this._getBoundsCenterZoom(t,e);return this.flyTo(i.center,i.zoom,e)},setMaxBounds:function(t){return t=toLatLngBounds(t),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,toLatLngBounds(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=toPoint((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=toPoint(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),a=this.getPixelBounds(),l=toBounds([a.min.add(i),a.max.subtract(n)]),h=l.getSize();if(!l.contains(s)){this._enforcingBounds=!0;var c=s.subtract(l.getCenter()),d=l.extend(s).getSize().subtract(h);o.x+=c.x<0?-d.x:d.x,o.y+=c.y<0?-d.y:d.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=extend({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),o=i.divideBy(2).round(),s=n.subtract(o);return s.x||s.y?(t.animate&&t.pan?this.panBy(s):(t.pan&&this._rawPanBy(s),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(bind(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=extend({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=bind(this._handleGeolocationResponse,this),i=bind(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=new LatLng(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(i);this.setView(e,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var a in t.coords)"number"==typeof t.coords[a]&&(s[a]=t.coords[a]);this.fire("locationfound",s)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),remove(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(cancelAnimFrame(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)remove(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=create$1("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new LatLngBounds(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=toLatLngBounds(t),i=toPoint(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),a=t.getNorthWest(),l=t.getSouthEast(),h=this.getSize().subtract(i),c=toBounds(this.project(l,n),this.project(a,n)).getSize(),d=dt.any3d?this.options.zoomSnap:1,f=h.x/c.x,p=h.y/c.y,m=e?Math.max(f,p):Math.min(f,p);return n=this.getScaleZoom(m,n),d&&(n=Math.round(n/(d/100))*(d/100),n=e?Math.ceil(n/d)*d:Math.floor(n/d)*d),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new Point(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new Bounds(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(toLatLng(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(toPoint(t),e)},layerPointToLatLng:function(t){var e=toPoint(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(toLatLng(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(toLatLng(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(toLatLngBounds(t))},distance:function(t,e){return this.options.crs.distance(toLatLng(t),toLatLng(e))},containerPointToLayerPoint:function(t){return toPoint(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return toPoint(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(toPoint(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(toLatLng(t)))},mouseEventToContainerPoint:function(t){return getMousePosition(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=get(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");on(e,"scroll",this._onScroll,this),this._containerId=stamp(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&dt.any3d,addClass(t,"leaflet-container"+(dt.touch?" leaflet-touch":"")+(dt.retina?" leaflet-retina":"")+(dt.ielt9?" leaflet-oldie":"")+(dt.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=getStyle(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),setPosition(this._mapPane,new Point(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(addClass(t.markerPane,"leaflet-zoom-hide"),addClass(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){setPosition(this._mapPane,new Point(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var o=this._zoom!==e;this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return cancelAnimFrame(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){setPosition(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[stamp(this._container)]=this;var e=t?off:on;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),dt.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){cancelAnimFrame(this._resizeRequest),this._resizeRequest=requestAnimFrame((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,a=!1;s;){if((i=this._targets[stamp(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(o&&!isExternalTarget(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n.length||a||o||!this.listens(e,!0)||(n=[this]),n},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&preventOutline(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){if("click"===t.type){var n=extend({},t);n.type="preclick",this._fireDOMEvent(n,n.type,i)}var o=this._findEventTargets(t,e);if(i){for(var s=[],a=0;a<i.length;a++)i[a].listens(e,!0)&&s.push(i[a]);o=s.concat(o)}if(o.length){"contextmenu"===e&&preventDefault(t);var l=o[0],h={originalEvent:t};if("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type){var c=l.getLatLng&&(!l._radius||l._radius<=10);h.containerPoint=c?this.latLngToContainerPoint(l.getLatLng()):this.mouseEventToContainerPoint(t),h.layerPoint=this.containerPointToLayerPoint(h.containerPoint),h.latlng=c?l.getLatLng():this.layerPointToLatLng(h.layerPoint)}for(a=0;a<o.length;a++)if(o[a].fire(e,h,!0),h.originalEvent._stopped||!1===o[a].options.bubblingMouseEvents&&-1!==indexOf(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return getPosition(this._mapPane)||new Point(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){var n=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(n)},_latLngBoundsToNewLayerBounds:function(t,e,i){var n=this._getNewPixelOrigin(i,e);return toBounds([this.project(t.getSouthWest(),e)._subtract(n),this.project(t.getNorthWest(),e)._subtract(n),this.project(t.getSouthEast(),e)._subtract(n),this.project(t.getNorthEast(),e)._subtract(n)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){if(!i)return t;var n=this.project(t,e),o=this.getSize().divideBy(2),s=new Bounds(n.subtract(o),n.add(o)),a=this._getBoundsOffset(s,i,e);return Math.abs(a.x)<=1&&Math.abs(a.y)<=1?t:this.unproject(n.add(a),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),n=new Bounds(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(n,e))},_getBoundsOffset:function(t,e,i){var n=toBounds(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),o=n.min.subtract(t.min),s=n.max.subtract(t.max);return new Point(this._rebound(o.x,-s.x),this._rebound(o.y,-s.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=dt.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){removeClass(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i)||(this.panBy(i,e),0))},_createAnimProxy:function(){var t=this._proxy=create$1("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=kt,i=this._proxy.style[e];setTransform(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){remove(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();setTransform(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==i.animate&&!this.getSize().contains(o)||(requestAnimFrame((function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)}),this),0))},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,addClass(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(bind(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&removeClass(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function createMap(t,e){return new Et(t,e)}var Dt=Class.extend({options:{position:"topright"},initialize:function(t){setOptions(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return addClass(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(remove(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),control=function(t){return new Dt(t)};Et.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=create$1("div",e+"control-container",this._container);function createCorner(n,o){var s=e+n+" "+e+o;t[n+o]=create$1("div",s,i)}createCorner("top","left"),createCorner("top","right"),createCorner("bottom","left"),createCorner("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)remove(this._controlCorners[t]);remove(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var zt=Dt.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i<n?-1:n<i?1:0}},initialize:function(t,e,i){for(var n in setOptions(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return Dt.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(stamp(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){addClass(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(addClass(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):removeClass(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return removeClass(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=create$1("div",t),i=this.options.collapsed;e.setAttribute("aria-haspopup",!0),disableClickPropagation(e),disableScrollPropagation(e);var n=this._section=create$1("section",t+"-list");i&&(this._map.on("click",this.collapse,this),on(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var o=this._layersLink=create$1("a",t+"-toggle",e);o.href="#",o.title="Layers",o.setAttribute("role","button"),on(o,{keydown:function(t){13===t.keyCode&&this._expandSafely()},click:function(t){preventDefault(t),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=create$1("div",t+"-base",n),this._separator=create$1("div",t+"-separator",n),this._overlaysList=create$1("div",t+"-overlays",n),e.appendChild(n)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&stamp(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(bind((function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)}),this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;empty(this._baseLayersList),empty(this._overlaysList),this._layerControlInputs=[];var t,e,i,n,o=0;for(i=0;i<this._layers.length;i++)n=this._layers[i],this._addItem(n),e=e||n.overlay,t=t||!n.overlay,o+=n.overlay?0:1;return this.options.hideSingleBase&&(t=t&&o>1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(stamp(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+stamp(this),n),this._layerControlInputs.push(e),e.layerId=stamp(t.layer),on(e,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("span");return i.appendChild(s),s.appendChild(e),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t,e,i=this._layerControlInputs,n=this._map.getZoom(),o=i.length-1;o>=0;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&n<e.options.minZoom||void 0!==e.options.maxZoom&&n>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,on(t,"click",preventDefault),this.expand();var e=this;setTimeout((function(){off(t,"click",preventDefault),e._preventClick=!1}))}}),layers=function(t,e,i){return new zt(t,e,i)},It=Dt.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=create$1("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=create$1("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),disableClickPropagation(s),on(s,"click",stop),on(s,"click",o,this),on(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";removeClass(this._zoomInButton,e),removeClass(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(addClass(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(addClass(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});Et.mergeOptions({zoomControl:!0}),Et.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new It,this.addControl(this.zoomControl))}));var zoom=function(t){return new It(t)},Wt=Dt.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=create$1("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=create$1("div",e,i)),t.imperial&&(this._iScale=create$1("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),scale=function(t){return new Wt(t)},Bt='<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg>',Vt=Dt.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(dt.inlineSvg?Bt+" ":"")+"Leaflet</a>"},initialize:function(t){setOptions(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=create$1("div","leaflet-control-attribution"),disableClickPropagation(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",(function(){this.removeAttribution(t.layer.getAttribution())}),this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' <span aria-hidden="true">|</span> ')}}});Et.mergeOptions({attributionControl:!0}),Et.addInitHook((function(){this.options.attributionControl&&(new Vt).addTo(this)}));var attribution=function(t){return new Vt(t)};Dt.Layers=zt,Dt.Zoom=It,Dt.Scale=Wt,Dt.Attribution=Vt,control.layers=layers,control.zoom=zoom,control.scale=scale,control.attribution=attribution;var Xt=Class.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Xt.addTo=function(t,e){return t.addHandler(e,this),this};var Nt={Events:f},jt=dt.touch?"touchstart mousedown":"mousedown",qt=p.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){setOptions(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(on(this._dragStartTarget,jt,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(qt._dragging===this&&this.finishDrag(!0),off(this._dragStartTarget,jt,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!hasClass(this._element,"leaflet-zoom-anim")))if(t.touches&&1!==t.touches.length)qt._dragging===this&&this.finishDrag();else if(!(qt._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(qt._dragging=this,this._preventOutline&&preventOutline(this._element),disableImageDrag(),bt(),this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t,i=getSizedParentNode(this._element);this._startPoint=new Point(e.clientX,e.clientY),this._startPos=getPosition(this._element),this._parentScale=getScale(i);var n="mousedown"===t.type;on(document,n?"mousemove":"touchmove",this._onMove,this),on(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}},_onMove:function(t){if(this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new Point(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)<this.options.clickTolerance||(i.x/=this._parentScale.x,i.y/=this._parentScale.y,preventDefault(t),this._moved||(this.fire("dragstart"),this._moved=!0,addClass(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),addClass(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(i),this._moving=!0,this._lastEvent=t,this._updatePosition()))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),setPosition(this._element,this._newPos),this.fire("drag",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){removeClass(document.body,"leaflet-dragging"),this._lastTarget&&(removeClass(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),off(document,"mousemove touchmove",this._onMove,this),off(document,"mouseup touchend touchcancel",this._onUp,this),enableImageDrag(),xt();var e=this._moved&&this._moving;this._moving=!1,qt._dragging=!1,e&&this.fire("dragend",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function clipPolygon(t,e,i){var n,o,s,a,l,h,c,d,f,p=[1,4,2,8];for(o=0,c=t.length;o<c;o++)t[o]._code=_getBitCode(t[o],e);for(a=0;a<4;a++){for(d=p[a],n=[],o=0,s=(c=t.length)-1;o<c;s=o++)l=t[o],h=t[s],l._code&d?h._code&d||((f=_getEdgeIntersection(h,l,d,e,i))._code=_getBitCode(f,e),n.push(f)):(h._code&d&&((f=_getEdgeIntersection(h,l,d,e,i))._code=_getBitCode(f,e),n.push(f)),n.push(l));t=n}return t}function polygonCenter(t,e){var i,n,o,s,a,l,h,c,d;if(!t||0===t.length)throw new Error("latlngs not passed");isFlat(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var f=toLatLng([0,0]),p=toLatLngBounds(t);p.getNorthWest().distanceTo(p.getSouthWest())*p.getNorthEast().distanceTo(p.getNorthWest())<1700&&(f=centroid(t));var m=t.length,g=[];for(i=0;i<m;i++){var O=toLatLng(t[i]);g.push(e.project(toLatLng([O.lat-f.lat,O.lng-f.lng])))}for(l=h=c=0,i=0,n=m-1;i<m;n=i++)o=g[i],s=g[n],a=o.y*s.x-s.y*o.x,h+=(o.x+s.x)*a,c+=(o.y+s.y)*a,l+=3*a;d=0===l?g[0]:[h/l,c/l];var v=e.unproject(toPoint(d));return toLatLng([v.lat+f.lat,v.lng+f.lng])}function centroid(t){for(var e=0,i=0,n=0,o=0;o<t.length;o++){var s=toLatLng(t[o]);e+=s.lat,i+=s.lng,n++}return toLatLng([e/n,i/n])}var Yt,Ut={__proto__:null,clipPolygon,polygonCenter,centroid};function simplify(t,e){if(!e||!t.length)return t.slice();var i=e*e;return t=_simplifyDP(t=_reducePoints(t,i),i)}function pointToSegmentDistance(t,e,i){return Math.sqrt(_sqClosestPointOnSegment(t,e,i,!0))}function closestPointOnSegment(t,e,i){return _sqClosestPointOnSegment(t,e,i)}function _simplifyDP(t,e){var i=t.length,n=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(i);n[0]=n[i-1]=1,_simplifyDPStep(t,n,e,0,i-1);var o,s=[];for(o=0;o<i;o++)n[o]&&s.push(t[o]);return s}function _simplifyDPStep(t,e,i,n,o){var s,a,l,h=0;for(a=n+1;a<=o-1;a++)(l=_sqClosestPointOnSegment(t[a],t[n],t[o],!0))>h&&(s=a,h=l);h>i&&(e[s]=1,_simplifyDPStep(t,e,i,n,s),_simplifyDPStep(t,e,i,s,o))}function _reducePoints(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;n<s;n++)_sqDist(t[n],t[o])>e&&(i.push(t[n]),o=n);return o<s-1&&i.push(t[s-1]),i}function clipSegment(t,e,i,n,o){var s,a,l,h=n?Yt:_getBitCode(t,i),c=_getBitCode(e,i);for(Yt=c;;){if(!(h|c))return[t,e];if(h&c)return!1;l=_getBitCode(a=_getEdgeIntersection(t,e,s=h||c,i,o),i),s===h?(t=a,h=l):(e=a,c=l)}}function _getEdgeIntersection(t,e,i,n,o){var s,a,l=e.x-t.x,h=e.y-t.y,c=n.min,d=n.max;return 8&i?(s=t.x+l*(d.y-t.y)/h,a=d.y):4&i?(s=t.x+l*(c.y-t.y)/h,a=c.y):2&i?(s=d.x,a=t.y+h*(d.x-t.x)/l):1&i&&(s=c.x,a=t.y+h*(c.x-t.x)/l),new Point(s,a,o)}function _getBitCode(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function _sqDist(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function _sqClosestPointOnSegment(t,e,i,n){var o,s=e.x,a=e.y,l=i.x-s,h=i.y-a,c=l*l+h*h;return c>0&&((o=((t.x-s)*l+(t.y-a)*h)/c)>1?(s=i.x,a=i.y):o>0&&(s+=l*o,a+=h*o)),l=t.x-s,h=t.y-a,n?l*l+h*h:new Point(s,a)}function isFlat(t){return!s(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function _flat(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),isFlat(t)}function polylineCenter(t,e){var i,n,o,s,a,l,h,c;if(!t||0===t.length)throw new Error("latlngs not passed");isFlat(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var d=toLatLng([0,0]),f=toLatLngBounds(t);f.getNorthWest().distanceTo(f.getSouthWest())*f.getNorthEast().distanceTo(f.getNorthWest())<1700&&(d=centroid(t));var p=t.length,m=[];for(i=0;i<p;i++){var g=toLatLng(t[i]);m.push(e.project(toLatLng([g.lat-d.lat,g.lng-d.lng])))}for(i=0,n=0;i<p-1;i++)n+=m[i].distanceTo(m[i+1])/2;if(0===n)c=m[0];else for(i=0,s=0;i<p-1;i++)if(a=m[i],l=m[i+1],(s+=o=a.distanceTo(l))>n){h=(s-n)/o,c=[l.x-h*(l.x-a.x),l.y-h*(l.y-a.y)];break}var O=e.unproject(toPoint(c));return toLatLng([O.lat+d.lat,O.lng+d.lng])}var Gt={__proto__:null,simplify,pointToSegmentDistance,closestPointOnSegment,clipSegment,_getEdgeIntersection,_getBitCode,_sqClosestPointOnSegment,isFlat,_flat,polylineCenter},Ft={project:function(t){return new Point(t.lng,t.lat)},unproject:function(t){return new LatLng(t.y,t.x)},bounds:new Bounds([-180,-90],[180,90])},Ht={R:6378137,R_MINOR:6356752.314245179,bounds:new Bounds([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,s=Math.sqrt(1-o*o),a=s*Math.sin(n),l=Math.tan(Math.PI/4-n/2)/Math.pow((1-a)/(1+a),s/2);return n=-i*Math.log(Math.max(l,1e-10)),new Point(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),a=Math.exp(-t.y/n),l=Math.PI/2-2*Math.atan(a),h=0,c=.1;h<15&&Math.abs(c)>1e-7;h++)e=s*Math.sin(l),e=Math.pow((1-e)/(1+e),s/2),l+=c=Math.PI/2-2*Math.atan(a*e)-l;return new LatLng(l*i,t.x*i/n)}},Kt={__proto__:null,LonLat:Ft,Mercator:Ht,SphericalMercator:b},Jt=extend({},v,{code:"EPSG:3395",projection:Ht,transformation:function(){var t=.5/(Math.PI*Ht.R);return toTransformation(t,.5,-t,.5)}()}),te=extend({},v,{code:"EPSG:4326",projection:Ft,transformation:toTransformation(1/180,1,-1/180,.5)}),ee=extend({},O,{projection:Ft,transformation:toTransformation(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});O.Earth=v,O.EPSG3395=Jt,O.EPSG3857=x,O.EPSG900913=_,O.EPSG4326=te,O.Simple=ee;var ie=p.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[stamp(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[stamp(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});Et.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=stamp(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=stamp(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return stamp(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?s(t)?t:[t]:[]).length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[stamp(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=stamp(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-1/0,i=this._getZoomSpan();for(var n in this._zoomBoundLayers){var o=this._zoomBoundLayers[n].options;t=void 0===o.minZoom?t:Math.min(t,o.minZoom),e=void 0===o.maxZoom?e:Math.max(e,o.maxZoom)}this._layersMaxZoom=e===-1/0?void 0:e,this._layersMinZoom=t===1/0?void 0:t,i!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var ne=ie.extend({initialize:function(t,e){var i,n;if(setOptions(this,e),this._layers={},t)for(i=0,n=t.length;i<n;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return("number"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)(i=this._layers[e])[t]&&i[t].apply(i,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return stamp(t)}}),layerGroup=function(t,e){return new ne(t,e)},oe=ne.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),ne.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),ne.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new LatLngBounds;for(var e in this._layers){var i=this._layers[e];t.extend(i.getBounds?i.getBounds():i.getLatLng())}return t}}),featureGroup=function(t,e){return new oe(t,e)},re=Class.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){setOptions(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var n=this._createImg(i,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(n,t),(this.options.crossOrigin||""===this.options.crossOrigin)&&(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),n},_setIconStyles:function(t,e){var i=this.options,n=i[e+"Size"];"number"==typeof n&&(n=[n,n]);var o=toPoint(n),s=toPoint("shadow"===e&&i.shadowAnchor||i.iconAnchor||o&&o.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px"),o&&(t.style.width=o.x+"px",t.style.height=o.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return dt.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});function icon(t){return new re(t)}var se=re.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return"string"!=typeof se.imagePath&&(se.imagePath=this._detectIconPath()),(this.options.imagePath||se.imagePath)+re.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){var strip=function(t,e,i){var n=e.exec(t);return n&&n[i]};return(t=strip(t,/^url\((['"])?(.+)\1\)$/,2))&&strip(t,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var t=create$1("div","leaflet-default-icon-path",document.body),e=getStyle(t,"background-image")||getStyle(t,"backgroundImage");if(document.body.removeChild(t),e=this._stripUrl(e))return e;var i=document.querySelector('link[href$="leaflet.css"]');return i?i.href.substring(0,i.href.length-11-1):""}}),ae=Xt.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new qt(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),addClass(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&removeClass(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=getPosition(e._icon),a=i.getPixelBounds(),l=i.getPixelOrigin(),h=toBounds(a.min._subtract(l).add(o),a.max._subtract(l).subtract(o));if(!h.contains(s)){var c=toPoint((Math.max(h.max.x,s.x)-h.max.x)/(a.max.x-h.max.x)-(Math.min(h.min.x,s.x)-h.min.x)/(a.min.x-h.min.x),(Math.max(h.max.y,s.y)-h.max.y)/(a.max.y-h.max.y)-(Math.min(h.min.y,s.y)-h.min.y)/(a.min.y-h.min.y)).multiplyBy(n);i.panBy(c,{animate:!1}),this._draggable._newPos._add(c),this._draggable._startPos._add(c),setPosition(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=requestAnimFrame(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(cancelAnimFrame(this._panRequest),this._panRequest=requestAnimFrame(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,n=getPosition(e._icon),o=e._map.layerPointToLatLng(n);i&&setPosition(i,n),e._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){cancelAnimFrame(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),le=ie.extend({options:{icon:new se,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){setOptions(this,e),this._latlng=toLatLng(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=toLatLng(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),n=!1;i!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(i.title=t.title),"IMG"===i.tagName&&(i.alt=t.alt||"")),addClass(i,e),t.keyboard&&(i.tabIndex="0",i.setAttribute("role","button")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&on(i,"focus",this._panOnFocus,this);var o=t.icon.createShadow(this._shadow),s=!1;o!==this._shadow&&(this._removeShadow(),s=!0),o&&(addClass(o,e),o.alt=""),this._shadow=o,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),o&&s&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&off(this._icon,"focus",this._panOnFocus,this),remove(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&remove(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&setPosition(this._icon,t),this._shadow&&setPosition(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(addClass(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),ae)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new ae(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&setOpacity(this._icon,t),this._shadow&&setOpacity(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t=this._map;if(t){var e=this.options.icon.options,i=e.iconSize?toPoint(e.iconSize):toPoint(0,0),n=e.iconAnchor?toPoint(e.iconAnchor):toPoint(0,0);t.panInside(this._latlng,{paddingTopLeft:n,paddingBottomRight:i.subtract(n)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function marker(t,e){return new le(t,e)}var he=ie.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return setOptions(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),ce=he.extend({options:{fill:!0,radius:10},initialize:function(t,e){setOptions(this,e),this._latlng=toLatLng(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=toLatLng(t),this.redraw(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return he.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),n=[t+i,e+i];this._pxBounds=new Bounds(this._point.subtract(n),this._point.add(n))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function circleMarker(t,e){return new ce(t,e)}var de=ce.extend({initialize:function(t,e,i){if("number"==typeof e&&(e=extend({},i,{radius:e})),setOptions(this,e),this._latlng=toLatLng(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new LatLngBounds(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:he.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,i=this._map,n=i.options.crs;if(n.distance===v.distance){var o=Math.PI/180,s=this._mRadius/v.R/o,a=i.project([e+s,t]),l=i.project([e-s,t]),h=a.add(l).divideBy(2),c=i.unproject(h).lat,d=Math.acos((Math.cos(s*o)-Math.sin(e*o)*Math.sin(c*o))/(Math.cos(e*o)*Math.cos(c*o)))/o;(isNaN(d)||0===d)&&(d=s/Math.cos(Math.PI/180*e)),this._point=h.subtract(i.getPixelOrigin()),this._radius=isNaN(d)?0:h.x-i.project([c,t-d]).x,this._radiusY=h.y-a.y}else{var f=n.unproject(n.project(this._latlng).subtract([this._mRadius,0]));this._point=i.latLngToLayerPoint(this._latlng),this._radius=this._point.x-i.latLngToLayerPoint(f).x}this._updateBounds()}});function circle(t,e,i){return new de(t,e,i)}var ue=he.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){setOptions(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,i,n=1/0,o=null,s=_sqClosestPointOnSegment,a=0,l=this._parts.length;a<l;a++)for(var h=this._parts[a],c=1,d=h.length;c<d;c++){var f=s(t,e=h[c-1],i=h[c],!0);f<n&&(n=f,o=s(t,e,i))}return o&&(o.distance=Math.sqrt(n)),o},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return polylineCenter(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=toLatLng(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new LatLngBounds,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return isFlat(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=isFlat(t),n=0,o=t.length;n<o;n++)i?(e[n]=toLatLng(t[n]),this._bounds.extend(e[n])):e[n]=this._convertLatLngs(t[n]);return e},_project:function(){var t=new Bounds;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),e=new Point(t,t);this._rawPxBounds&&(this._pxBounds=new Bounds([this._rawPxBounds.min.subtract(e),this._rawPxBounds.max.add(e)]))},_projectLatlngs:function(t,e,i){var n,o,s=t[0]instanceof LatLng,a=t.length;if(s){for(o=[],n=0;n<a;n++)o[n]=this._map.latLngToLayerPoint(t[n]),i.extend(o[n]);e.push(o)}else for(n=0;n<a;n++)this._projectLatlngs(t[n],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var e,i,n,o,s,a,l,h=this._parts;for(e=0,n=0,o=this._rings.length;e<o;e++)for(i=0,s=(l=this._rings[e]).length;i<s-1;i++)(a=clipSegment(l[i],l[i+1],t,i,!0))&&(h[n]=h[n]||[],h[n].push(a[0]),a[1]===l[i+1]&&i!==s-2||(h[n].push(a[1]),n++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,n=t.length;i<n;i++)t[i]=simplify(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,n,o,s,a,l,h=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(i=0,s=this._parts.length;i<s;i++)for(n=0,o=(a=(l=this._parts[i]).length)-1;n<a;o=n++)if((e||0!==n)&&pointToSegmentDistance(t,l[o],l[n])<=h)return!0;return!1}});function polyline(t,e){return new ue(t,e)}ue._flat=_flat;var fe=ue.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return polygonCenter(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(t){var e=ue.prototype._convertLatLngs.call(this,t),i=e.length;return i>=2&&e[0]instanceof LatLng&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){ue.prototype._setLatLngs.call(this,t),isFlat(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return isFlat(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new Point(e,e);if(t=new Bounds(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;o<s;o++)(n=clipPolygon(this._rings[o],t,!0)).length&&this._parts.push(n)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,i,n,o,s,a,l,h,c=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(o=0,l=this._parts.length;o<l;o++)for(s=0,a=(h=(e=this._parts[o]).length)-1;s<h;a=s++)i=e[s],n=e[a],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(c=!c);return c||ue.prototype._containsPoint.call(this,t,!0)}});function polygon(t,e){return new fe(t,e)}var pe=oe.extend({initialize:function(t,e){setOptions(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=s(t)?t:t.features;if(o){for(e=0,i=o.length;e<i;e++)((n=o[e]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var a=this.options;if(a.filter&&!a.filter(t))return this;var l=geometryToLayer(t,a);return l?(l.feature=asFeature(t),l.defaultOptions=l.options,this.resetStyle(l),a.onEachFeature&&a.onEachFeature(t,l),this.addLayer(l)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=extend({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(t){return this.eachLayer((function(e){this._setLayerStyle(e,t)}),this)},_setLayerStyle:function(t,e){t.setStyle&&("function"==typeof e&&(e=e(t.feature)),t.setStyle(e))}});function geometryToLayer(t,e){var i,n,o,s,a="Feature"===t.type?t.geometry:t,l=a?a.coordinates:null,h=[],c=e&&e.pointToLayer,d=e&&e.coordsToLatLng||coordsToLatLng;if(!l&&!a)return null;switch(a.type){case"Point":return _pointToLayer(c,t,i=d(l),e);case"MultiPoint":for(o=0,s=l.length;o<s;o++)i=d(l[o]),h.push(_pointToLayer(c,t,i,e));return new oe(h);case"LineString":case"MultiLineString":return n=coordsToLatLngs(l,"LineString"===a.type?0:1,d),new ue(n,e);case"Polygon":case"MultiPolygon":return n=coordsToLatLngs(l,"Polygon"===a.type?1:2,d),new fe(n,e);case"GeometryCollection":for(o=0,s=a.geometries.length;o<s;o++){var f=geometryToLayer({geometry:a.geometries[o],type:"Feature",properties:t.properties},e);f&&h.push(f)}return new oe(h);case"FeatureCollection":for(o=0,s=a.features.length;o<s;o++){var p=geometryToLayer(a.features[o],e);p&&h.push(p)}return new oe(h);default:throw new Error("Invalid GeoJSON object.")}}function _pointToLayer(t,e,i,n){return t?t(e,i):new le(i,n&&n.markersInheritOptions&&n)}function coordsToLatLng(t){return new LatLng(t[1],t[0],t[2])}function coordsToLatLngs(t,e,i){for(var n,o=[],s=0,a=t.length;s<a;s++)n=e?coordsToLatLngs(t[s],e-1,i):(i||coordsToLatLng)(t[s]),o.push(n);return o}function latLngToCoords(t,e){return void 0!==(t=toLatLng(t)).alt?[formatNum(t.lng,e),formatNum(t.lat,e),formatNum(t.alt,e)]:[formatNum(t.lng,e),formatNum(t.lat,e)]}function latLngsToCoords(t,e,i,n){for(var o=[],s=0,a=t.length;s<a;s++)o.push(e?latLngsToCoords(t[s],isFlat(t[s])?0:e-1,i,n):latLngToCoords(t[s],n));return!e&&i&&o.length>0&&o.push(o[0].slice()),o}function getFeature(t,e){return t.feature?extend({},t.feature,{geometry:e}):asFeature(e)}function asFeature(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var me={toGeoJSON:function(t){return getFeature(this,{type:"Point",coordinates:latLngToCoords(this.getLatLng(),t)})}};function geoJSON(t,e){return new pe(t,e)}le.include(me),de.include(me),ce.include(me),ue.include({toGeoJSON:function(t){var e=!isFlat(this._latlngs);return getFeature(this,{type:(e?"Multi":"")+"LineString",coordinates:latLngsToCoords(this._latlngs,e?1:0,!1,t)})}}),fe.include({toGeoJSON:function(t){var e=!isFlat(this._latlngs),i=e&&!isFlat(this._latlngs[0]),n=latLngsToCoords(this._latlngs,i?2:e?1:0,!0,t);return e||(n=[n]),getFeature(this,{type:(i?"Multi":"")+"Polygon",coordinates:n})}}),ne.include({toMultiPoint:function(t){var e=[];return this.eachLayer((function(i){e.push(i.toGeoJSON(t).geometry.coordinates)})),getFeature(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var i="GeometryCollection"===e,n=[];return this.eachLayer((function(e){if(e.toGeoJSON){var o=e.toGeoJSON(t);if(i)n.push(o.geometry);else{var s=asFeature(o);"FeatureCollection"===s.type?n.push.apply(n,s.features):n.push(s)}}})),i?getFeature(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var ge=geoJSON,Oe=ie.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=toLatLngBounds(e),setOptions(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(addClass(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){remove(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&toFront(this._image),this},bringToBack:function(){return this._map&&toBack(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=toLatLngBounds(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:create$1("img");addClass(e,"leaflet-image-layer"),this._zoomAnimated&&addClass(e,"leaflet-zoom-animated"),this.options.className&&addClass(e,this.options.className),e.onselectstart=falseFn,e.onmousemove=falseFn,e.onload=bind(this.fire,this,"load"),e.onerror=bind(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;setTransform(this._image,i,e)},_reset:function(){var t=this._image,e=new Bounds(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();setPosition(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){setOpacity(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),imageOverlay=function(t,e,i){return new Oe(t,e,i)},ve=Oe.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:create$1("video");if(addClass(e,"leaflet-image-layer"),this._zoomAnimated&&addClass(e,"leaflet-zoom-animated"),this.options.className&&addClass(e,this.options.className),e.onselectstart=falseFn,e.onmousemove=falseFn,e.onloadeddata=bind(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],o=0;o<i.length;o++)n.push(i[o].src);this._url=i.length>0?n:[e.src]}else{s(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var a=0;a<this._url.length;a++){var l=create$1("source");l.src=this._url[a],e.appendChild(l)}}}});function videoOverlay(t,e,i){return new ve(t,e,i)}var ye=Oe.extend({_initImage:function(){var t=this._image=this._url;addClass(t,"leaflet-image-layer"),this._zoomAnimated&&addClass(t,"leaflet-zoom-animated"),this.options.className&&addClass(t,this.options.className),t.onselectstart=falseFn,t.onmousemove=falseFn}});function svgOverlay(t,e,i){return new ye(t,e,i)}var we=ie.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(t,e){t&&(t instanceof LatLng||s(t))?(this._latlng=toLatLng(t),setOptions(this,e)):(setOptions(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return(t=arguments.length?t:this._source._map).hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&setOpacity(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&setOpacity(this._container,1),this.bringToFront(),this.options.interactive&&(addClass(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(setOpacity(this._container,0),this._removeTimeout=setTimeout(bind(remove,void 0,this._container),200)):remove(this._container),this.options.interactive&&(removeClass(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=toLatLng(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&toFront(this._container),this},bringToBack:function(){return this._map&&toBack(this._container),this},_prepareOpen:function(t){var e=this._source;if(!e._map)return!1;if(e instanceof oe){e=null;var i=this._source._layers;for(var n in i)if(i[n]._map){e=i[n];break}if(!e)return!1;this._source=e}if(!t)if(e.getCenter)t=e.getCenter();else if(e.getLatLng)t=e.getLatLng();else{if(!e.getBounds)throw new Error("Unable to get source layer LatLng.");t=e.getBounds().getCenter()}return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=toPoint(this.options.offset),i=this._getAnchor();this._zoomAnimated?setPosition(this._container,t.add(i)):e=e.add(t).add(i);var n=this._containerBottom=-e.y,o=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=n+"px",this._container.style.left=o+"px"}},_getAnchor:function(){return[0,0]}});Et.include({_initOverlay:function(t,e,i,n){var o=e;return o instanceof t||(o=new t(n).setContent(e)),i&&o.setLatLng(i),o}}),ie.include({_initOverlay:function(t,e,i,n){var o=i;return o instanceof t?(setOptions(o,n),o._source=this):(o=e&&!n?e:new t(n,this)).setContent(i),o}});var be=we.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return!(t=arguments.length?t:this._source._map).hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,we.prototype.openOn.call(this,t)},onAdd:function(t){we.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof he||this._source.on("preclick",stopPropagation))},onRemove:function(t){we.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof he||this._source.off("preclick",stopPropagation))},getEvents:function(){var t=we.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t="leaflet-popup",e=this._container=create$1("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),i=this._wrapper=create$1("div",t+"-content-wrapper",e);if(this._contentNode=create$1("div",t+"-content",i),disableClickPropagation(e),disableScrollPropagation(this._contentNode),on(e,"contextmenu",stopPropagation),this._tipContainer=create$1("div",t+"-tip-container",e),this._tip=create$1("div",t+"-tip",this._tipContainer),this.options.closeButton){var n=this._closeButton=create$1("a",t+"-close-button",e);n.setAttribute("role","button"),n.setAttribute("aria-label","Close popup"),n.href="#close",n.innerHTML='<span aria-hidden="true">×</span>',on(n,"click",(function(t){preventDefault(t),this.close()}),this)}},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="";var n=t.offsetHeight,o=this.options.maxHeight,s="leaflet-popup-scrolled";o&&n>o?(e.height=o+"px",addClass(t,s)):removeClass(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();setPosition(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan)if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning)this._autopanning=!1;else{var t=this._map,e=parseInt(getStyle(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,o=new Point(this._containerLeft,-i-this._containerBottom);o._add(getPosition(this._container));var s=t.layerPointToContainerPoint(o),a=toPoint(this.options.autoPanPadding),l=toPoint(this.options.autoPanPaddingTopLeft||a),h=toPoint(this.options.autoPanPaddingBottomRight||a),c=t.getSize(),d=0,f=0;s.x+n+h.x>c.x&&(d=s.x+n-c.x+h.x),s.x-d-l.x<0&&(d=s.x-l.x),s.y+i+h.y>c.y&&(f=s.y+i-c.y+h.y),s.y-f-l.y<0&&(f=s.y-l.y),(d||f)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([d,f]))}},_getAnchor:function(){return toPoint(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),popup=function(t,e){return new be(t,e)};Et.mergeOptions({closePopupOnClick:!0}),Et.include({openPopup:function(t,e,i){return this._initOverlay(be,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),ie.include({bindPopup:function(t,e){return this._popup=this._initOverlay(be,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof oe||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){stop(t);var e=t.layer||t.target;this._popup._source!==e||e instanceof he?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var xe=we.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){we.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){we.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=we.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=create$1("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+stamp(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),a=n.layerPointToContainerPoint(t),l=this.options.direction,h=o.offsetWidth,c=o.offsetHeight,d=toPoint(this.options.offset),f=this._getAnchor();"top"===l?(e=h/2,i=c):"bottom"===l?(e=h/2,i=0):"center"===l?(e=h/2,i=c/2):"right"===l?(e=0,i=c/2):"left"===l?(e=h,i=c/2):a.x<s.x?(l="right",e=0,i=c/2):(l="left",e=h+2*(d.x+f.x),i=c/2),t=t.subtract(toPoint(e,i,!0)).add(d).add(f),removeClass(o,"leaflet-tooltip-right"),removeClass(o,"leaflet-tooltip-left"),removeClass(o,"leaflet-tooltip-top"),removeClass(o,"leaflet-tooltip-bottom"),addClass(o,"leaflet-tooltip-"+l),setPosition(o,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&setOpacity(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return toPoint(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),tooltip=function(t,e){return new xe(t,e)};Et.include({openTooltip:function(t,e,i){return this._initOverlay(xe,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),ie.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(xe,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t}},openTooltip:function(t){return this._tooltip&&(this instanceof oe||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&(on(e,"focus",(function(){this._tooltip._source=t,this.openTooltip()}),this),on(e,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&e.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(t){if(this._tooltip&&this._map)if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var e=this;this._map.once("moveend",(function(){e._openOnceFlag=!1,e._openTooltip(t)}))}else this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var e,i,n=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),i=this._map.containerPointToLayerPoint(e),n=this._map.layerPointToLatLng(i)),this._tooltip.setLatLng(n)}});var _e=re.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),i=this.options;if(i.html instanceof Element?(empty(e),e.appendChild(i.html)):e.innerHTML=!1!==i.html?i.html:"",i.bgPos){var n=toPoint(i.bgPos);e.style.backgroundPosition=-n.x+"px "+-n.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}});function divIcon(t){return new _e(t)}re.Default=se;var Se=ie.extend({options:{tileSize:256,opacity:1,updateWhenIdle:dt.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){setOptions(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),remove(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(toFront(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(toBack(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var t=this._clampZoom(this._map.getZoom());t!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()}return this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=throttle(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof Point?t:new Point(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,n=-t(-1/0,1/0),o=0,s=i.length;o<s;o++)e=i[o].style.zIndex,i[o]!==this._container&&e&&(n=t(n,+e));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!dt.ielt9){setOpacity(this._container,this.options.opacity);var t=+new Date,e=!1,i=!1;for(var n in this._tiles){var o=this._tiles[n];if(o.current&&o.loaded){var s=Math.min(1,(t-o.loaded)/200);setOpacity(o.el,s),s<1?e=!0:(o.active?i=!0:this._onOpaqueTile(o),o.active=!0)}}i&&!this._noPrune&&this._pruneTiles(),e&&(cancelAnimFrame(this._fadeFrame),this._fadeFrame=requestAnimFrame(this._updateOpacity,this))}},_onOpaqueTile:falseFn,_initContainer:function(){this._container||(this._container=create$1("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):(remove(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=create$1("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=e,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),falseFn(n.el.offsetWidth),this._onCreateLevel(n)),this._level=n,n}},_onUpdateLevel:falseFn,_onRemoveLevel:falseFn,_onCreateLevel:falseFn,_pruneTiles:function(){if(this._map){var t,e,i=this._map.getZoom();if(i>this.options.maxZoom||i<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(e=this._tiles[t]).retain=e.current;for(t in this._tiles)if((e=this._tiles[t]).current&&!e.active){var n=e.coords;this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)remove(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,n){var o=Math.floor(t/2),s=Math.floor(e/2),a=i-1,l=new Point(+o,+s);l.z=+a;var h=this._tileCoordsToKey(l),c=this._tiles[h];return c&&c.active?(c.retain=!0,!0):(c&&c.loaded&&(c.retain=!0),a>n&&this._retainParent(o,s,a,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var a=new Point(o,s);a.z=i+1;var l=this._tileCoordsToKey(a),h=this._tiles[l];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),i+1<n&&this._retainChildren(o,s,i+1,n))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,n){var o=Math.round(e);o=void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom?void 0:this._clampZoom(o);var s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var n=this._map.getZoomScale(i,t.zoom),o=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(e,i)).round();dt.any3d?setTransform(t.el,o,n):setPosition(t.el,o)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],n).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],n).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],n).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],n).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),n=e.getZoomScale(i,this._tileZoom),o=e.project(t,this._tileZoom).floor(),s=e.getSize().divideBy(2*n);return new Bounds(o.subtract(s),o.add(s))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var n=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(n),s=o.getCenter(),a=[],l=this.options.keepBuffer,h=new Bounds(o.getBottomLeft().subtract([l,-l]),o.getTopRight().add([l,-l]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var c in this._tiles){var d=this._tiles[c].coords;d.z===this._tileZoom&&h.contains(new Point(d.x,d.y))||(this._tiles[c].current=!1)}if(Math.abs(i-this._tileZoom)>1)this._setView(t,i);else{for(var f=o.min.y;f<=o.max.y;f++)for(var p=o.min.x;p<=o.max.x;p++){var m=new Point(p,f);if(m.z=this._tileZoom,this._isValidTile(m)){var g=this._tiles[this._tileCoordsToKey(m)];g?g.current=!0:a.push(m)}}if(a.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==a.length){this._loading||(this._loading=!0,this.fire("loading"));var O=document.createDocumentFragment();for(p=0;p<a.length;p++)this._addTile(a[p],O);this._level.el.appendChild(O)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return toLatLngBounds(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i);return[e.unproject(n,t.z),e.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new LatLngBounds(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new Point(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(remove(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){addClass(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=falseFn,t.onmousemove=falseFn,dt.ielt9&&this.options.opacity<1&&setOpacity(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),bind(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&requestAnimFrame(bind(this._tileReady,this,t,null,o)),setPosition(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(setOpacity(i.el,0),cancelAnimFrame(this._fadeFrame),this._fadeFrame=requestAnimFrame(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(addClass(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),dt.ielt9||!this._map._fadeAnimated?requestAnimFrame(this._pruneTiles,this):setTimeout(bind(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new Point(this._wrapX?wrapNum(t.x,this._wrapX):t.x,this._wrapY?wrapNum(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new Bounds(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});function gridLayer(t){return new Se(t)}var Pe=Se.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=setOptions(this,e)).detectRetina&&dt.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return on(i,"load",bind(this._tileOnLoad,this,e,i)),on(i,"error",bind(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:dt.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return template(this._url,extend(e,this.options))},_tileOnLoad:function(t,e){dt.ielt9?setTimeout(bind(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=falseFn,e.onerror=falseFn,!e.complete)){e.src=a;var i=this._tiles[t].coords;remove(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",a),Se.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==a))return Se.prototype._tileReady.call(this,t,e,i)}});function tileLayer(t,e){return new Pe(t,e)}var ke=Pe.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=extend({},this.defaultWmsParams);for(var n in e)n in this.options||(i[n]=e[n]);var o=(e=setOptions(this,e)).detectRetina&&dt.retina?2:1,s=this.getTileSize();i.width=s.x*o,i.height=s.y*o,this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,Pe.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=toBounds(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,a=(this._wmsVersion>=1.3&&this._crs===te?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),l=Pe.prototype.getTileUrl.call(this,t);return l+getParamString(this.wmsParams,l,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+a},setParams:function(t,e){return extend(this.wmsParams,t),e||this.redraw(),this}});function tileLayerWMS(t,e){return new ke(t,e)}Pe.WMS=ke,tileLayer.wms=tileLayerWMS;var Ce=ie.extend({options:{padding:.1},initialize:function(t){setOptions(this,t),stamp(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),addClass(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));dt.any3d?setTransform(this._container,s,i):setPosition(this._container,s)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new Bounds(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Qe=Ce.extend({options:{tolerance:0},getEvents:function(){var t=Ce.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ce.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");on(t,"mousemove",this._onMouseMove,this),on(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),on(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){cancelAnimFrame(this._redrawRequest),delete this._ctx,remove(this._container),off(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){Ce.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=dt.retina?2:1;setPosition(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",dt.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){Ce.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[stamp(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[stamp(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,n=t.options.dashArray.split(/[, ]+/),o=[];for(i=0;i<n.length;i++){if(e=Number(n[i]),isNaN(e))return;o.push(e)}t.options._dashArray=o}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||requestAnimFrame(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Bounds,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var i=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,i.x,i.y),this._ctx.clip()}this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,n,o,s,a=t._parts,l=a.length,h=this._ctx;if(l){for(h.beginPath(),i=0;i<l;i++){for(n=0,o=a[i].length;n<o;n++)s=a[i][n],h[n?"lineTo":"moveTo"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,i=this._ctx,n=Math.max(Math.round(t._radius),1),o=(Math.max(Math.round(t._radiusY),1)||n)/n;1!==o&&(i.save(),i.scale(1,o)),i.beginPath(),i.arc(e.x,e.y/o,n,0,2*Math.PI,!1),1!==o&&i.restore(),this._fillStroke(i,t)}},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&0!==i.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(n)&&("click"!==t.type&&"preclick"!==t.type||!this._map._draggableMoved(e))&&(i=e);this._fireEvent(!!i&&[i],t)},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(removeClass(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,n,o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(e)&&(n=i);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(addClass(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._fireEvent(!!this._hoveredLayer&&[this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(bind((function(){this._mouseHoverThrottled=!1}),this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e=t._order;if(e){var i=e.next,n=e.prev;i&&(i.prev=n,n?n.next=i:i&&(this._drawFirst=i),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))}},_bringToBack:function(t){var e=t._order;if(e){var i=e.next,n=e.prev;n&&(n.next=i,i?i.prev=n:n&&(this._drawLast=n),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}});function canvas(t){return dt.canvas?new Qe(t):null}var Te=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),$e={_initContainer:function(){this._container=create$1("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ce.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Te("shape");addClass(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Te("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[stamp(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;remove(e),t.removeInteractiveTarget(e),delete this._layers[stamp(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=Te("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=s(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=Te("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){toFront(t._container)},_bringToBack:function(t){toBack(t._container)}},Ae=dt.vml?Te:svgCreate,Re=Ce.extend({_initContainer:function(){this._container=Ae("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Ae("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){remove(this._container),off(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){Ce.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),setPosition(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=Ae("path");t.options.className&&addClass(e,t.options.className),t.options.interactive&&addClass(e,"leaflet-interactive"),this._updateStyle(t),this._layers[stamp(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){remove(t._path),t.removeInteractiveTarget(t._path),delete this._layers[stamp(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,pointsToPath(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,o)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){toFront(t._path)},_bringToBack:function(t){toBack(t._path)}});function svg(t){return dt.svg||dt.vml?new Re(t):null}dt.vml&&Re.include($e),Et.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&canvas(t)||svg(t)}});var Ze=fe.extend({initialize:function(t,e){fe.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=toLatLngBounds(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});function rectangle(t,e){return new Ze(t,e)}Re.create=Ae,Re.pointsToPath=pointsToPath,pe.geometryToLayer=geometryToLayer,pe.coordsToLatLng=coordsToLatLng,pe.coordsToLatLngs=coordsToLatLngs,pe.latLngToCoords=latLngToCoords,pe.latLngsToCoords=latLngsToCoords,pe.getFeature=getFeature,pe.asFeature=asFeature,Et.mergeOptions({boxZoom:!0});var Me=Xt.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){on(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){off(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){remove(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),bt(),disableImageDrag(),this._startPoint=this._map.mouseEventToContainerPoint(t),on(document,{contextmenu:stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=create$1("div","leaflet-zoom-box",this._container),addClass(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new Bounds(this._point,this._startPoint),i=e.getSize();setPosition(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(remove(this._box),removeClass(this._container,"leaflet-crosshair")),xt(),enableImageDrag(),off(document,{contextmenu:stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(bind(this._resetState,this),0);var e=new LatLngBounds(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Et.addInitHook("addHandler","boxZoom",Me),Et.mergeOptions({doubleClickZoom:!0});var Le=Xt.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});Et.addInitHook("addHandler","doubleClickZoom",Le),Et.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Ee=Xt.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new qt(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}addClass(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){removeClass(this._map._container,"leaflet-grab"),removeClass(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=toLatLngBounds(this._map.options.maxBounds);this._offsetLimit=toBounds(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,a=Math.abs(o+i)<Math.abs(s+i)?o:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=a},_onDragEnd:function(t){var e=this._map,i=e.options,n=!i.inertia||t.noInertia||this._times.length<2;if(e.fire("dragend",t),n)e.fire("moveend");else{this._prunePositions(+new Date);var o=this._lastPos.subtract(this._positions[0]),s=(this._lastTime-this._times[0])/1e3,a=i.easeLinearity,l=o.multiplyBy(a/s),h=l.distanceTo([0,0]),c=Math.min(i.inertiaMaxSpeed,h),d=l.multiplyBy(c/h),f=c/(i.inertiaDeceleration*a),p=d.multiplyBy(-f/2).round();p.x||p.y?(p=e._limitOffset(p,e.options.maxBounds),requestAnimFrame((function(){e.panBy(p,{duration:f,easeLinearity:a,noMoveStart:!0,animate:!0})}))):e.fire("moveend")}}});Et.addInitHook("addHandler","dragging",Ee),Et.mergeOptions({keyboard:!0,keyboardPanDelta:80});var De=Xt.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),on(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),off(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,i=t.scrollTop||e.scrollTop,n=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(n,i)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,i,n=this._panKeys={},o=this.keyCodes;for(e=0,i=o.left.length;e<i;e++)n[o.left[e]]=[-1*t,0];for(e=0,i=o.right.length;e<i;e++)n[o.right[e]]=[t,0];for(e=0,i=o.down.length;e<i;e++)n[o.down[e]]=[0,t];for(e=0,i=o.up.length;e<i;e++)n[o.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,i,n=this._zoomKeys={},o=this.keyCodes;for(e=0,i=o.zoomIn.length;e<i;e++)n[o.zoomIn[e]]=t;for(e=0,i=o.zoomOut.length;e<i;e++)n[o.zoomOut[e]]=-t},_addHooks:function(){on(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){off(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i=t.keyCode,n=this._map;if(i in this._panKeys){if(!n._panAnim||!n._panAnim._inProgress)if(e=this._panKeys[i],t.shiftKey&&(e=toPoint(e).multiplyBy(3)),n.options.maxBounds&&(e=n._limitOffset(toPoint(e),n.options.maxBounds)),n.options.worldCopyJump){var o=n.wrapLatLng(n.unproject(n.project(n.getCenter()).add(e)));n.panTo(o)}else n.panBy(e)}else if(i in this._zoomKeys)n.setZoom(n.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[i]);else{if(27!==i||!n._popup||!n._popup.options.closeOnEscapeKey)return;n.closePopup()}stop(t)}}});Et.addInitHook("addHandler","keyboard",De),Et.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var ze=Xt.extend({addHooks:function(){on(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){off(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=getWheelDelta(t),i=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var n=Math.max(i-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(bind(this._performZoom,this),n),stop(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0;t._stop();var n=this._delta/(4*this._map.options.wheelPxPerZoomLevel),o=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,s=i?Math.ceil(o/i)*i:o,a=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,a&&("center"===t.options.scrollWheelZoom?t.setZoom(e+a):t.setZoomAround(this._lastMousePos,e+a))}});Et.addInitHook("addHandler","scrollWheelZoom",ze);var Ie=600;Et.mergeOptions({tapHold:dt.touchNative&&dt.safari&&dt.mobile,tapTolerance:15});var We=Xt.extend({addHooks:function(){on(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){off(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new Point(e.clientX,e.clientY),this._holdTimeout=setTimeout(bind((function(){this._cancel(),this._isTapValid()&&(on(document,"touchend",preventDefault),on(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))}),this),Ie),on(document,"touchend touchcancel contextmenu",this._cancel,this),on(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function cancelClickPrevent(){off(document,"touchend",preventDefault),off(document,"touchend touchcancel",cancelClickPrevent)},_cancel:function(){clearTimeout(this._holdTimeout),off(document,"touchend touchcancel contextmenu",this._cancel,this),off(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new Point(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});Et.addInitHook("addHandler","tapHold",We),Et.mergeOptions({touchZoom:dt.touch,bounceAtZoomLimits:!0});var Be=Xt.extend({addHooks:function(){addClass(this._map._container,"leaflet-touch-zoom"),on(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){removeClass(this._map._container,"leaflet-touch-zoom"),off(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),on(document,"touchmove",this._onTouchMove,this),on(document,"touchend touchcancel",this._onTouchEnd,this),preventDefault(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===o)return}else{var s=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===o&&0===s.x&&0===s.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(s),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),cancelAnimFrame(this._animRequest);var a=bind(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=requestAnimFrame(a,this,!0),preventDefault(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,cancelAnimFrame(this._animRequest),off(document,"touchmove",this._onTouchMove,this),off(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});Et.addInitHook("addHandler","touchZoom",Be),Et.BoxZoom=Me,Et.DoubleClickZoom=Le,Et.Drag=Ee,Et.Keyboard=De,Et.ScrollWheelZoom=ze,Et.TapHold=We,Et.TouchZoom=Be,t.Bounds=Bounds,t.Browser=dt,t.CRS=O,t.Canvas=Qe,t.Circle=de,t.CircleMarker=ce,t.Class=Class,t.Control=Dt,t.DivIcon=_e,t.DivOverlay=we,t.DomEvent=Mt,t.DomUtil=$t,t.Draggable=qt,t.Evented=p,t.FeatureGroup=oe,t.GeoJSON=pe,t.GridLayer=Se,t.Handler=Xt,t.Icon=re,t.ImageOverlay=Oe,t.LatLng=LatLng,t.LatLngBounds=LatLngBounds,t.Layer=ie,t.LayerGroup=ne,t.LineUtil=Gt,t.Map=Et,t.Marker=le,t.Mixin=Nt,t.Path=he,t.Point=Point,t.PolyUtil=Ut,t.Polygon=fe,t.Polyline=ue,t.Popup=be,t.PosAnimation=Lt,t.Projection=Kt,t.Rectangle=Ze,t.Renderer=Ce,t.SVG=Re,t.SVGOverlay=ye,t.TileLayer=Pe,t.Tooltip=xe,t.Transformation=Transformation,t.Util=d,t.VideoOverlay=ve,t.bind=bind,t.bounds=toBounds,t.canvas=canvas,t.circle=circle,t.circleMarker=circleMarker,t.control=control,t.divIcon=divIcon,t.extend=extend,t.featureGroup=featureGroup,t.geoJSON=geoJSON,t.geoJson=ge,t.gridLayer=gridLayer,t.icon=icon,t.imageOverlay=imageOverlay,t.latLng=toLatLng,t.latLngBounds=toLatLngBounds,t.layerGroup=layerGroup,t.map=createMap,t.marker=marker,t.point=toPoint,t.polygon=polygon,t.polyline=polyline,t.popup=popup,t.rectangle=rectangle,t.setOptions=setOptions,t.stamp=stamp,t.svg=svg,t.svgOverlay=svgOverlay,t.tileLayer=tileLayer,t.tooltip=tooltip,t.transformation=toTransformation,t.version=e,t.videoOverlay=videoOverlay;var Ve=window.L;t.noConflict=function(){return window.L=Ve,this},window.L=t}(e)},46513:t=>{t.exports=parse,t.exports.parse=parse,t.exports.stringify=function stringify(t){"Feature"===t.type&&(t=t.geometry);function pairWKT(t){return t.join(" ")}function ringWKT(t){return t.map(pairWKT).join(", ")}function ringsWKT(t){return t.map(ringWKT).map(wrapParens).join(", ")}function wrapParens(t){return"("+t+")"}switch(t.type){case"Point":return"POINT ("+pairWKT(t.coordinates)+")";case"LineString":return"LINESTRING ("+ringWKT(t.coordinates)+")";case"Polygon":return"POLYGON ("+ringsWKT(t.coordinates)+")";case"MultiPoint":return"MULTIPOINT ("+ringWKT(t.coordinates)+")";case"MultiPolygon":return"MULTIPOLYGON ("+function multiRingsWKT(t){return t.map(ringsWKT).map(wrapParens).join(", ")}(t.coordinates)+")";case"MultiLineString":return"MULTILINESTRING ("+ringsWKT(t.coordinates)+")";case"GeometryCollection":return"GEOMETRYCOLLECTION ("+t.geometries.map(stringify).join(", ")+")";default:throw new Error("stringify requires a valid GeoJSON Feature or geometry object as input")}};var e=/[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/,i=new RegExp("^"+e.source+"(\\s"+e.source+"){1,}");function parse(t){var e=t.split(";"),n=e.pop(),o=(e.shift()||"").split("=").pop(),s=0;function $(t){var e=n.substring(s).match(t);return e?(s+=e[0].length,e[0]):null}function white(){$(/^\s*/)}function multicoords(){white();for(var t,e=0,n=[],o=[n],s=n;t=$(/^(\()/)||$(/^(\))/)||$(/^(,)/)||$(i);){if("("===t)o.push(s),s=[],o[o.length-1].push(s),e++;else if(")"===t){if(0===s.length)return null;if(!(s=o.pop()))return null;if(0===--e)break}else if(","===t)s=[],o[o.length-1].push(s);else{if(t.split(/\s/g).some(isNaN))return null;Array.prototype.push.apply(s,t.split(/\s/g).map(parseFloat))}white()}return 0!==e?null:n}function coords(){for(var t,e,n=[];e=$(i)||$(/^(,)/);)","===e?(n.push(t),t=[]):e.split(/\s/g).some(isNaN)||(t||(t=[]),Array.prototype.push.apply(t,e.split(/\s/g).map(parseFloat))),white();return t?(n.push(t),n.length?n:null):null}function root(){return function point(){if(!$(/^(point(\sz)?)/i))return null;if(white(),!$(/^(\()/))return null;var t=coords();return t?(white(),$(/^(\))/)?{type:"Point",coordinates:t[0]}:null):null}()||function linestring(){if(!$(/^(linestring(\sz)?)/i))return null;if(white(),!$(/^(\()/))return null;var t=coords();return t&&$(/^(\))/)?{type:"LineString",coordinates:t}:null}()||function polygon(){if(!$(/^(polygon(\sz)?)/i))return null;white();var t=multicoords();return t?{type:"Polygon",coordinates:t}:null}()||function multipoint(){if(!$(/^(multipoint)/i))return null;white();var t=n.substring(n.indexOf("(")+1,n.length-1).replace(/\(/g,"").replace(/\)/g,"");n="MULTIPOINT ("+t+")";var e=multicoords();return e?(white(),{type:"MultiPoint",coordinates:e}):null}()||function multilinestring(){if(!$(/^(multilinestring)/i))return null;white();var t=multicoords();return t?(white(),{type:"MultiLineString",coordinates:t}):null}()||function multipolygon(){if(!$(/^(multipolygon)/i))return null;white();var t=multicoords();return t?{type:"MultiPolygon",coordinates:t}:null}()||function geometrycollection(){var t,e=[];if(!$(/^(geometrycollection)/i))return null;if(white(),!$(/^(\()/))return null;for(;t=root();)e.push(t),white(),$(/^(,)/),white();return $(/^(\))/)?{type:"GeometryCollection",geometries:e}:null}()}return function crs(t){return t&&o.match(/\d+/)&&(t.crs={type:"name",properties:{name:"urn:ogc:def:crs:EPSG::"+o}}),t}(root())}},18007:(t,e,i)=>{"use strict";i.d(e,{$l:()=>hasNextSnippetField,$w:()=>acceptCompletion,Ar:()=>ifNotIn,Bc:()=>N,DH:()=>completionStatus,Gw:()=>snippetCompletion,HR:()=>Z,N:()=>closeCompletion,N7:()=>deleteBracketPair,OO:()=>j,TT:()=>hasPrevSnippetField,UA:()=>snippet,_5:()=>CompletionContext,aU:()=>moveCompletionSelection,c7:()=>completeAnyWord,d0:()=>ifIn,et:()=>completeFromList,gC:()=>selectedCompletion,kR:()=>insertBracket,lq:()=>currentCompletions,pB:()=>clearSnippet,qh:()=>selectedCompletionIndex,rB:()=>startCompletion,rK:()=>a,tB:()=>A,tN:()=>T,w7:()=>setSelectedCompletion,wm:()=>closeBrackets,yU:()=>autocompletion,zH:()=>insertCompletionText});var n=i(87988),o=i(80624),s=i(29565);class CompletionContext{constructor(t,e,i){this.state=t,this.pos=e,this.explicit=i,this.abortListeners=[]}tokenBefore(t){let e=(0,s.mv)(this.state).resolveInner(this.pos,-1);for(;e&&t.indexOf(e.name)<0;)e=e.parent;return e?{from:e.from,to:this.pos,text:this.state.sliceDoc(e.from,this.pos),type:e.type}:null}matchBefore(t){let e=this.state.doc.lineAt(this.pos),i=Math.max(e.from,this.pos-250),n=e.text.slice(i-e.from,this.pos-e.from),o=n.search(ensureAnchor(t,!1));return o<0?null:{from:i+o,to:this.pos,text:n.slice(o)}}get aborted(){return null==this.abortListeners}addEventListener(t,e){"abort"==t&&this.abortListeners&&this.abortListeners.push(e)}}function toSet(t){let e=Object.keys(t).join(""),i=/\w/.test(e);return i&&(e=e.replace(/\w/g,"")),`[${i?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function completeFromList(t){let e=t.map((t=>"string"==typeof t?{label:t}:t)),[i,n]=e.every((t=>/^\w+$/.test(t.label)))?[/\w*$/,/\w+$/]:function prefixMatch(t){let e=Object.create(null),i=Object.create(null);for(let{label:n}of t){e[n[0]]=!0;for(let t=1;t<n.length;t++)i[n[t]]=!0}let n=toSet(e)+toSet(i)+"*$";return[new RegExp("^"+n),new RegExp(n)]}(e);return t=>{let o=t.matchBefore(n);return o||t.explicit?{from:o?o.from:t.pos,options:e,validFor:i}:null}}function ifIn(t,e){return i=>{for(let n=(0,s.mv)(i.state).resolveInner(i.pos,-1);n;n=n.parent){if(t.indexOf(n.name)>-1)return e(i);if(n.type.isTop)break}return null}}function ifNotIn(t,e){return i=>{for(let e=(0,s.mv)(i.state).resolveInner(i.pos,-1);e;e=e.parent){if(t.indexOf(e.name)>-1)return null;if(e.type.isTop)break}return e(i)}}class Option{constructor(t,e,i,n){this.completion=t,this.source=e,this.match=i,this.score=n}}function cur(t){return t.selection.main.from}function ensureAnchor(t,e){var i;let{source:n}=t,o=e&&"^"!=n[0],s="$"!=n[n.length-1];return o||s?new RegExp(`${o?"^":""}(?:${n})${s?"$":""}`,null!==(i=t.flags)&&void 0!==i?i:t.ignoreCase?"i":""):t}const a=n.YH.define();function insertCompletionText(t,e,i,o){let{main:s}=t.selection,a=i-s.from,l=o-s.from;return Object.assign(Object.assign({},t.changeByRange((h=>h!=s&&i!=o&&t.sliceDoc(h.from+a,h.from+l)!=t.sliceDoc(i,o)?{range:h}:{changes:{from:h.from+a,to:o==s.from?h.to:h.from+l,insert:e},range:n.OF.cursor(h.from+a+e.length)}))),{scrollIntoView:!0,userEvent:"input.complete"})}const l=new WeakMap;function asSource(t){if(!Array.isArray(t))return t;let e=l.get(t);return e||l.set(t,e=completeFromList(t)),e}const h=n.Pe.define(),c=n.Pe.define();class FuzzyMatcher{constructor(t){this.pattern=t,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let e=0;e<t.length;){let i=(0,n.vS)(t,e),o=(0,n.Fh)(i);this.chars.push(i);let s=t.slice(e,e+o),a=s.toUpperCase();this.folded.push((0,n.vS)(a==s?s.toLowerCase():a,0)),e+=o}this.astral=t.length!=this.chars.length}ret(t,e){return this.score=t,this.matched=e,this}match(t){if(0==this.pattern.length)return this.ret(-100,[]);if(t.length<this.pattern.length)return null;let{chars:e,folded:i,any:o,precise:s,byWord:a}=this;if(1==e.length){let o=(0,n.vS)(t,0),s=(0,n.Fh)(o),a=s==t.length?0:-100;if(o==e[0]);else{if(o!=i[0])return null;a+=-200}return this.ret(a,[0,s])}let l=t.indexOf(this.pattern);if(0==l)return this.ret(t.length==this.pattern.length?0:-100,[0,this.pattern.length]);let h=e.length,c=0;if(l<0){for(let s=0,a=Math.min(t.length,200);s<a&&c<h;){let a=(0,n.vS)(t,s);a!=e[c]&&a!=i[c]||(o[c++]=s),s+=(0,n.Fh)(a)}if(c<h)return null}let d=0,f=0,p=!1,m=0,g=-1,O=-1,v=/[a-z]/.test(t),y=!0;for(let o=0,c=Math.min(t.length,200),b=0;o<c&&f<h;){let c=(0,n.vS)(t,o);l<0&&(d<h&&c==e[d]&&(s[d++]=o),m<h&&(c==e[m]||c==i[m]?(0==m&&(g=o),O=o+1,m++):m=0));let x,_=c<255?c>=48&&c<=57||c>=97&&c<=122?2:c>=65&&c<=90?1:0:(x=(0,n.MK)(c))!=x.toLowerCase()?1:x!=x.toUpperCase()?2:0;(!o||1==_&&v||0==b&&0!=_)&&(e[f]==c||i[f]==c&&(p=!0)?a[f++]=o:a.length&&(y=!1)),b=_,o+=(0,n.Fh)(c)}return f==h&&0==a[0]&&y?this.result((p?-200:0)-100,a,t):m==h&&0==g?this.ret(-200-t.length+(O==t.length?0:-100),[0,O]):l>-1?this.ret(-700-t.length,[l,l+this.pattern.length]):m==h?this.ret(-900-t.length,[g,O]):f==h?this.result((p?-200:0)-100-700+(y?0:-1100),a,t):2==e.length?null:this.result((o[0]?-700:0)-200-1100,o,t)}result(t,e,i){let o=[],s=0;for(let t of e){let e=t+(this.astral?(0,n.Fh)((0,n.vS)(i,t)):1);s&&o[s-1]==t?o[s-1]=e:(o[s++]=t,o[s++]=e)}return this.ret(t-i.length,o)}}class StrictMatcher{constructor(t){this.pattern=t,this.matched=[],this.score=0,this.folded=t.toLowerCase()}match(t){if(t.length<this.pattern.length)return null;let e=t.slice(0,this.pattern.length),i=e==this.pattern?0:e.toLowerCase()==this.folded?-200:null;return null==i?null:(this.matched=[0,e.length],this.score=i+(t.length==this.pattern.length?0:-100),this)}}const d=n.sj.define({combine:t=>(0,n.QR)(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:defaultPositionInfo,filterStrict:!1,compareCompletions:(t,e)=>t.label.localeCompare(e.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(t,e)=>t&&e,closeOnBlur:(t,e)=>t&&e,icons:(t,e)=>t&&e,tooltipClass:(t,e)=>i=>joinClass(t(i),e(i)),optionClass:(t,e)=>i=>joinClass(t(i),e(i)),addToOptions:(t,e)=>t.concat(e),filterStrict:(t,e)=>t||e})});function joinClass(t,e){return t?e?t+" "+e:t:e}function defaultPositionInfo(t,e,i,n,s,a){let l,h,c=t.textDirection==o.OP.RTL,d=c,f=!1,p="top",m=e.left-s.left,g=s.right-e.right,O=n.right-n.left,v=n.bottom-n.top;if(d&&m<Math.min(O,g)?d=!1:!d&&g<Math.min(O,m)&&(d=!0),O<=(d?m:g))l=Math.max(s.top,Math.min(i.top,s.bottom-v))-e.top,h=Math.min(400,d?m:g);else{f=!0,h=Math.min(400,(c?e.right:s.right-e.left)-30);let t=s.bottom-e.bottom;t>=v||t>e.top?l=i.bottom-e.top:(p="bottom",l=e.bottom-i.top)}return{style:`${p}: ${l/((e.bottom-e.top)/a.offsetHeight)}px; max-width: ${h/((e.right-e.left)/a.offsetWidth)}px`,class:"cm-completionInfo-"+(f?c?"left-narrow":"right-narrow":d?"left":"right")}}function rangeAroundSelected(t,e,i){if(t<=i)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let t=Math.floor(e/i);return{from:t*i,to:(t+1)*i}}let n=Math.floor((t-e)/i);return{from:t-(n+1)*i,to:t-n*i}}class CompletionTooltip{constructor(t,e,i){this.view=t,this.stateField=e,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:t=>this.placeInfo(t),key:this},this.space=null,this.currentClass="";let n=t.state.field(e),{options:o,selected:s}=n.open,a=t.state.facet(d);this.optionContent=function optionContent(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(t){let e=document.createElement("div");return e.classList.add("cm-completionIcon"),t.type&&e.classList.add(...t.type.split(/\s+/g).map((t=>"cm-completionIcon-"+t))),e.setAttribute("aria-hidden","true"),e},position:20}),e.push({render(t,e,i,n){let o=document.createElement("span");o.className="cm-completionLabel";let s=t.displayLabel||t.label,a=0;for(let t=0;t<n.length;){let e=n[t++],i=n[t++];e>a&&o.appendChild(document.createTextNode(s.slice(a,e)));let l=o.appendChild(document.createElement("span"));l.appendChild(document.createTextNode(s.slice(e,i))),l.className="cm-completionMatchedText",a=i}return a<s.length&&o.appendChild(document.createTextNode(s.slice(a))),o},position:50},{render(t){if(!t.detail)return null;let e=document.createElement("span");return e.className="cm-completionDetail",e.textContent=t.detail,e},position:80}),e.sort(((t,e)=>t.position-e.position)).map((t=>t.render))}(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=rangeAroundSelected(o.length,s,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(t.state),this.dom.addEventListener("mousedown",(i=>{let{options:n}=t.state.field(e).open;for(let e,o=i.target;o&&o!=this.dom;o=o.parentNode)if("LI"==o.nodeName&&(e=/-(\d+)$/.exec(o.id))&&+e[1]<n.length)return this.applyCompletion(t,n[+e[1]]),void i.preventDefault()})),this.dom.addEventListener("focusout",(e=>{let i=t.state.field(this.stateField,!1);i&&i.tooltip&&t.state.facet(d).closeOnBlur&&e.relatedTarget!=t.contentDOM&&t.dispatch({effects:c.of(null)})})),this.showOptions(o,n.id)}mount(){this.updateSel()}showOptions(t,e){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t,e,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}update(t){var e;let i=t.state.field(this.stateField),n=t.startState.field(this.stateField);if(this.updateTooltipClass(t.state),i!=n){let{options:o,selected:s,disabled:a}=i.open;n.open&&n.open.options==o||(this.range=rangeAroundSelected(o.length,s,t.state.facet(d).maxRenderedOptions),this.showOptions(o,i.id)),this.updateSel(),a!=(null===(e=n.open)||void 0===e?void 0:e.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(t){let e=this.tooltipClass(t);if(e!=this.currentClass){for(let t of this.currentClass.split(" "))t&&this.dom.classList.remove(t);for(let t of e.split(" "))t&&this.dom.classList.add(t);this.currentClass=e}}positioned(t){this.space=t,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let t=this.view.state.field(this.stateField),e=t.open;if((e.selected>-1&&e.selected<this.range.from||e.selected>=this.range.to)&&(this.range=rangeAroundSelected(e.options.length,e.selected,this.view.state.facet(d).maxRenderedOptions),this.showOptions(e.options,t.id)),this.updateSelectedOption(e.selected)){this.destroyInfo();let{completion:i}=e.options[e.selected],{info:n}=i;if(!n)return;let s="string"==typeof n?document.createTextNode(n):n(i);if(!s)return;"then"in s?s.then((e=>{e&&this.view.state.field(this.stateField,!1)==t&&this.addInfoPane(e,i)})).catch((t=>(0,o.c_)(this.view.state,t,"completion info"))):this.addInfoPane(s,i)}}addInfoPane(t,e){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",null!=t.nodeType)i.appendChild(t),this.infoDestroy=null;else{let{dom:e,destroy:n}=t;i.appendChild(e),this.infoDestroy=n||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(t){let e=null;for(let i=this.list.firstChild,n=this.range.from;i;i=i.nextSibling,n++)"LI"==i.nodeName&&i.id?n==t?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),e=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected"):n--;return e&&function scrollIntoView(t,e){let i=t.getBoundingClientRect(),n=e.getBoundingClientRect(),o=i.height/t.offsetHeight;n.top<i.top?t.scrollTop-=(i.top-n.top)/o:n.bottom>i.bottom&&(t.scrollTop+=(n.bottom-i.bottom)/o)}(this.list,e),e}measureInfo(){let t=this.dom.querySelector("[aria-selected]");if(!t||!this.info)return null;let e=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),n=t.getBoundingClientRect(),o=this.space;if(!o){let t=this.dom.ownerDocument.defaultView||window;o={left:0,top:0,right:t.innerWidth,bottom:t.innerHeight}}return n.top>Math.min(o.bottom,e.bottom)-10||n.bottom<Math.max(o.top,e.top)+10?null:this.view.state.facet(d).positionInfo(this.view,e,n,i,o,this.dom)}placeInfo(t){this.info&&(t?(t.style&&(this.info.style.cssText=t.style),this.info.className="cm-tooltip cm-completionInfo "+(t.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(t,e,i){const n=document.createElement("ul");n.id=e,n.setAttribute("role","listbox"),n.setAttribute("aria-expanded","true"),n.setAttribute("aria-label",this.view.state.phrase("Completions"));let o=null;for(let s=i.from;s<i.to;s++){let{completion:a,match:l}=t[s],{section:h}=a;if(h){let t="string"==typeof h?h:h.name;if(t!=o&&(s>i.from||0==i.from))if(o=t,"string"!=typeof h&&h.header)n.appendChild(h.header(h));else{n.appendChild(document.createElement("completion-section")).textContent=t}}const c=n.appendChild(document.createElement("li"));c.id=e+"-"+s,c.setAttribute("role","option");let d=this.optionClass(a);d&&(c.className=d);for(let t of this.optionContent){let e=t(a,this.view.state,this.view,l);e&&c.appendChild(e)}}return i.from&&n.classList.add("cm-completionListIncompleteTop"),i.to<t.length&&n.classList.add("cm-completionListIncompleteBottom"),n}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function completionTooltip(t,e){return i=>new CompletionTooltip(i,t,e)}function score(t){return 100*(t.boost||0)+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}class CompletionDialog{constructor(t,e,i,n,o,s){this.options=t,this.attrs=e,this.tooltip=i,this.timestamp=n,this.selected=o,this.disabled=s}setSelected(t,e){return t==this.selected||t>=this.options.length?this:new CompletionDialog(this.options,makeAttrs(e,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,e,i,n,o){let s=function sortOptions(t,e){let i=[],n=null,addOption=t=>{i.push(t);let{section:e}=t.completion;if(e){n||(n=[]);let t="string"==typeof e?e:e.name;n.some((e=>e.name==t))||n.push("string"==typeof e?{name:t}:e)}},o=e.facet(d);for(let n of t)if(n.hasResult()){let t=n.result.getMatch;if(!1===n.result.filter)for(let e of n.result.options)addOption(new Option(e,n.source,t?t(e):[],1e9-i.length));else{let i,s=e.sliceDoc(n.from,n.to),a=o.filterStrict?new StrictMatcher(s):new FuzzyMatcher(s);for(let e of n.result.options)if(i=a.match(e.label)){let o=e.displayLabel?t?t(e,i.matched):[]:i.matched;addOption(new Option(e,n.source,o,i.score+(e.boost||0)))}}}if(n){let t=Object.create(null),e=0,cmp=(t,e)=>{var i,n;return(null!==(i=t.rank)&&void 0!==i?i:1e9)-(null!==(n=e.rank)&&void 0!==n?n:1e9)||(t.name<e.name?-1:1)};for(let i of n.sort(cmp))e-=1e5,t[i.name]=e;for(let e of i){let{section:i}=e.completion;i&&(e.score+=t["string"==typeof i?i:i.name])}}let s=[],a=null,l=o.compareCompletions;for(let t of i.sort(((t,e)=>e.score-t.score||l(t.completion,e.completion)))){let e=t.completion;!a||a.label!=e.label||a.detail!=e.detail||null!=a.type&&null!=e.type&&a.type!=e.type||a.apply!=e.apply||a.boost!=e.boost?s.push(t):score(t.completion)>score(a)&&(s[s.length-1]=t),a=t.completion}return s}(t,e);if(!s.length)return n&&t.some((t=>1==t.state))?new CompletionDialog(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;let a=e.facet(d).selectOnOpen?0:-1;if(n&&n.selected!=a&&-1!=n.selected){let t=n.options[n.selected].completion;for(let e=0;e<s.length;e++)if(s[e].completion==t){a=e;break}}return new CompletionDialog(s,makeAttrs(i,a),{pos:t.reduce(((t,e)=>e.hasResult()?Math.min(t,e.from):t),1e8),create:v,above:o.aboveCursor},n?n.timestamp:Date.now(),a,!1)}map(t){return new CompletionDialog(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:t.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class CompletionState{constructor(t,e,i){this.active=t,this.id=e,this.open=i}static start(){return new CompletionState(p,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(t){let{state:e}=t,i=e.facet(d),n=(i.override||e.languageDataAt("autocomplete",cur(e)).map(asSource)).map((e=>(this.active.find((t=>t.source==e))||new ActiveSource(e,this.active.some((t=>0!=t.state))?1:0)).update(t,i)));n.length==this.active.length&&n.every(((t,e)=>t==this.active[e]))&&(n=this.active);let o=this.open;o&&t.docChanged&&(o=o.map(t.changes)),t.selection||n.some((e=>e.hasResult()&&t.changes.touchesRange(e.from,e.to)))||!function sameResults(t,e){if(t==e)return!0;for(let i=0,n=0;;){for(;i<t.length&&!t[i].hasResult;)i++;for(;n<e.length&&!e[n].hasResult;)n++;let o=i==t.length,s=n==e.length;if(o||s)return o==s;if(t[i++].result!=e[n++].result)return!1}}(n,this.active)?o=CompletionDialog.build(n,e,this.id,o,i):o&&o.disabled&&!n.some((t=>1==t.state))&&(o=null),!o&&n.every((t=>1!=t.state))&&n.some((t=>t.hasResult()))&&(n=n.map((t=>t.hasResult()?new ActiveSource(t.source,0):t)));for(let e of t.effects)e.is(g)&&(o=o&&o.setSelected(e.value,this.id));return n==this.active&&o==this.open?this:new CompletionState(n,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:f}}const f={"aria-autocomplete":"list"};function makeAttrs(t,e){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(i["aria-activedescendant"]=t+"-"+e),i}const p=[];function getUserEvent(t,e){if(t.isUserEvent("input.complete")){let i=t.annotation(a);if(i&&e.activateOnCompletion(i))return"input"}return t.isUserEvent("input.type")?"input":t.isUserEvent("delete.backward")?"delete":null}class ActiveSource{constructor(t,e,i=-1){this.source=t,this.state=e,this.explicitPos=i}hasResult(){return!1}update(t,e){let i=getUserEvent(t,e),n=this;i?n=n.handleUserEvent(t,i,e):t.docChanged?n=n.handleChange(t):t.selection&&0!=n.state&&(n=new ActiveSource(n.source,0));for(let e of t.effects)if(e.is(h))n=new ActiveSource(n.source,1,e.value?cur(t.state):-1);else if(e.is(c))n=new ActiveSource(n.source,0);else if(e.is(m))for(let t of e.value)t.source==n.source&&(n=t);return n}handleUserEvent(t,e,i){return"delete"!=e&&i.activateOnTyping?new ActiveSource(this.source,1):this.map(t.changes)}handleChange(t){return t.changes.touchesRange(cur(t.startState))?new ActiveSource(this.source,0):this.map(t.changes)}map(t){return t.empty||this.explicitPos<0?this:new ActiveSource(this.source,this.state,t.mapPos(this.explicitPos))}}class ActiveResult extends ActiveSource{constructor(t,e,i,n,o){super(t,2,e),this.result=i,this.from=n,this.to=o}hasResult(){return!0}handleUserEvent(t,e,i){var n;let o=this.result;o.map&&!t.changes.empty&&(o=o.map(o,t.changes));let s=t.changes.mapPos(this.from),a=t.changes.mapPos(this.to,1),l=cur(t.state);if((this.explicitPos<0?l<=s:l<this.from)||l>a||!o||"delete"==e&&cur(t.startState)==this.from)return new ActiveSource(this.source,"input"==e&&i.activateOnTyping?1:0);let h=this.explicitPos<0?-1:t.changes.mapPos(this.explicitPos);return function checkValid(t,e,i,n){if(!t)return!1;let o=e.sliceDoc(i,n);return"function"==typeof t?t(o,i,n,e):ensureAnchor(t,!0).test(o)}(o.validFor,t.state,s,a)?new ActiveResult(this.source,h,o,s,a):o.update&&(o=o.update(o,s,a,new CompletionContext(t.state,l,h>=0)))?new ActiveResult(this.source,h,o,o.from,null!==(n=o.to)&&void 0!==n?n:cur(t.state)):new ActiveSource(this.source,1,h)}handleChange(t){return t.changes.touchesRange(this.from,this.to)?new ActiveSource(this.source,0):this.map(t.changes)}map(t){if(t.empty)return this;return(this.result.map?this.result.map(this.result,t):this.result)?new ActiveResult(this.source,this.explicitPos<0?-1:t.mapPos(this.explicitPos),this.result,t.mapPos(this.from),t.mapPos(this.to,1)):new ActiveSource(this.source,0)}}const m=n.Pe.define({map:(t,e)=>t.map((t=>t.map(e)))}),g=n.Pe.define(),O=n.sU.define({create:()=>CompletionState.start(),update:(t,e)=>t.update(e),provide:t=>[o.DK.from(t,(t=>t.tooltip)),o.Lz.contentAttributes.from(t,(t=>t.attrs))]});function applyCompletion(t,e){const i=e.completion.apply||e.completion.label;let n=t.state.field(O).active.find((t=>t.source==e.source));return n instanceof ActiveResult&&("string"==typeof i?t.dispatch(Object.assign(Object.assign({},insertCompletionText(t.state,i,n.from,n.to)),{annotations:a.of(e.completion)})):i(t,e.completion,n.from,n.to),!0)}const v=completionTooltip(O,applyCompletion);function moveCompletionSelection(t,e="option"){return i=>{let n=i.state.field(O,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp<i.state.facet(d).interactionDelay)return!1;let s,a=1;"page"==e&&(s=(0,o.Eg)(i,n.open.tooltip))&&(a=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:l}=n.open.options,h=n.open.selected>-1?n.open.selected+a*(t?1:-1):t?0:l-1;return h<0?h="page"==e?0:l-1:h>=l&&(h="page"==e?l-1:0),i.dispatch({effects:g.of(h)}),!0}}const acceptCompletion=t=>{let e=t.state.field(O,!1);return!(t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(d).interactionDelay)&&applyCompletion(t,e.open.options[e.open.selected])},startCompletion=t=>!!t.state.field(O,!1)&&(t.dispatch({effects:h.of(!0)}),!0),closeCompletion=t=>{let e=t.state.field(O,!1);return!(!e||!e.active.some((t=>0!=t.state)))&&(t.dispatch({effects:c.of(null)}),!0)};class RunningQuery{constructor(t,e){this.active=t,this.context=e,this.time=Date.now(),this.updates=[],this.done=void 0}}const y=o.Z9.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(O).active)1==e.state&&this.startQuery(e)}update(t){let e=t.state.field(O),i=t.state.facet(d);if(!t.selectionSet&&!t.docChanged&&t.startState.field(O)==e)return;let n=t.transactions.some((t=>(t.selection||t.docChanged)&&!getUserEvent(t,i)));for(let e=0;e<this.running.length;e++){let i=this.running[e];if(n||i.updates.length+t.transactions.length>50&&Date.now()-i.time>1e3){for(let t of i.context.abortListeners)try{t()}catch(t){(0,o.c_)(this.view.state,t)}i.context.abortListeners=null,this.running.splice(e--,1)}else i.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some((t=>t.effects.some((t=>t.is(h)))))&&(this.pendingStart=!0);let s=this.pendingStart?50:i.activateOnTypingDelay;if(this.debounceUpdate=e.active.some((t=>1==t.state&&!this.running.some((e=>e.active.source==t.source))))?setTimeout((()=>this.startUpdate()),s):-1,0!=this.composing)for(let e of t.transactions)"input"==getUserEvent(e,i)?this.composing=2:2==this.composing&&e.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(O);for(let t of e.active)1!=t.state||this.running.some((e=>e.active.source==t.source))||this.startQuery(t)}startQuery(t){let{state:e}=this.view,i=cur(e),n=new CompletionContext(e,i,t.explicitPos==i),s=new RunningQuery(t,n);this.running.push(s),Promise.resolve(t.source(n)).then((t=>{s.context.aborted||(s.done=t||null,this.scheduleAccept())}),(t=>{this.view.dispatch({effects:c.of(null)}),(0,o.c_)(this.view.state,t)}))}scheduleAccept(){this.running.every((t=>void 0!==t.done))?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout((()=>this.accept()),this.view.state.facet(d).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],i=this.view.state.facet(d);for(let n=0;n<this.running.length;n++){let o=this.running[n];if(void 0===o.done)continue;if(this.running.splice(n--,1),o.done){let n=new ActiveResult(o.active.source,o.active.explicitPos,o.done,o.done.from,null!==(t=o.done.to)&&void 0!==t?t:cur(o.updates.length?o.updates[0].startState:this.view.state));for(let t of o.updates)n=n.update(t,i);if(n.hasResult()){e.push(n);continue}}let s=this.view.state.field(O).active.find((t=>t.source==o.active.source));if(s&&1==s.state)if(null==o.done){let t=new ActiveSource(o.active.source,0);for(let e of o.updates)t=t.update(e,i);1!=t.state&&e.push(t)}else this.startQuery(s)}e.length&&this.view.dispatch({effects:m.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(O,!1);if(e&&e.tooltip&&this.view.state.facet(d).closeOnBlur){let i=e.open&&(0,o.Eg)(this.view,e.open.tooltip);i&&i.dom.contains(t.relatedTarget)||setTimeout((()=>this.view.dispatch({effects:c.of(null)})),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:h.of(!1)})),20),this.composing=0}}}),b="object"==typeof navigator&&/Win/.test(navigator.platform),x=n.Nb.highest(o.Lz.domEventHandlers({keydown(t,e){let i=e.state.field(O,!1);if(!i||!i.open||i.open.disabled||i.open.selected<0||t.key.length>1||t.ctrlKey&&(!b||!t.altKey)||t.metaKey)return!1;let n=i.open.options[i.open.selected],o=i.active.find((t=>t.source==n.source)),s=n.completion.commitCharacters||o.result.commitCharacters;return s&&s.indexOf(t.key)>-1&&applyCompletion(e,n),!1}})),_=o.Lz.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class FieldPos{constructor(t,e,i,n){this.field=t,this.line=e,this.from=i,this.to=n}}class FieldRange{constructor(t,e,i){this.field=t,this.from=e,this.to=i}map(t){let e=t.mapPos(this.from,-1,n.iR.TrackDel),i=t.mapPos(this.to,1,n.iR.TrackDel);return null==e||null==i?null:new FieldRange(this.field,e,i)}}class Snippet{constructor(t,e){this.lines=t,this.fieldPositions=e}instantiate(t,e){let i=[],n=[e],o=t.doc.lineAt(e),a=/^\s*/.exec(o.text)[0];for(let o of this.lines){if(i.length){let i=a,l=/^\t*/.exec(o)[0].length;for(let e=0;e<l;e++)i+=t.facet(s.Xt);n.push(e+i.length-l),o=i+o.slice(l)}i.push(o),e+=o.length+1}let l=this.fieldPositions.map((t=>new FieldRange(t.field,n[t.line]+t.from,n[t.line]+t.to)));return{text:i,ranges:l}}static parse(t){let e,i=[],n=[],o=[];for(let s of t.split(/\r\n?|\n/)){for(;e=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(s);){let t=e[1]?+e[1]:null,a=e[2]||e[3]||"",l=-1,h=a.replace(/\\[{}]/g,(t=>t[1]));for(let e=0;e<i.length;e++)(null!=t?i[e].seq==t:h&&i[e].name==h)&&(l=e);if(l<0){let e=0;for(;e<i.length&&(null==t||null!=i[e].seq&&i[e].seq<t);)e++;i.splice(e,0,{seq:t,name:h}),l=e;for(let t of o)t.field>=l&&t.field++}o.push(new FieldPos(l,n.length,e.index,e.index+h.length)),s=s.slice(0,e.index)+a+s.slice(e.index+e[0].length)}s=s.replace(/\\([{}])/g,((t,e,i)=>{for(let t of o)t.line==n.length&&t.from>i&&(t.from--,t.to--);return e})),n.push(s)}return new Snippet(n,o)}}let S=o.NZ.widget({widget:new class extends o.xO{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),P=o.NZ.mark({class:"cm-snippetField"});class ActiveSnippet{constructor(t,e){this.ranges=t,this.active=e,this.deco=o.NZ.set(t.map((t=>(t.from==t.to?S:P).range(t.from,t.to))))}map(t){let e=[];for(let i of this.ranges){let n=i.map(t);if(!n)return null;e.push(n)}return new ActiveSnippet(e,this.active)}selectionInsideField(t){return t.ranges.every((t=>this.ranges.some((e=>e.field==this.active&&e.from<=t.from&&e.to>=t.to))))}}const k=n.Pe.define({map:(t,e)=>t&&t.map(e)}),C=n.Pe.define(),Q=n.sU.define({create:()=>null,update(t,e){for(let i of e.effects){if(i.is(k))return i.value;if(i.is(C)&&t)return new ActiveSnippet(t.ranges,i.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>o.Lz.decorations.from(t,(t=>t?t.deco:o.NZ.none))});function fieldSelection(t,e){return n.OF.create(t.filter((t=>t.field==e)).map((t=>n.OF.range(t.from,t.to))))}function snippet(t){let e=Snippet.parse(t);return(t,i,o,s)=>{let{text:l,ranges:h}=e.instantiate(t.state,o),c={changes:{from:o,to:s,insert:n.EY.of(l)},scrollIntoView:!0,annotations:i?[a.of(i),n.ZX.userEvent.of("input.complete")]:void 0};if(h.length&&(c.selection=fieldSelection(h,0)),h.some((t=>t.field>0))){let e=new ActiveSnippet(h,0),i=c.effects=[k.of(e)];void 0===t.state.field(Q,!1)&&i.push(n.Pe.appendConfig.of([Q,M,L,_]))}t.dispatch(t.state.update(c))}}function moveField(t){return({state:e,dispatch:i})=>{let n=e.field(Q,!1);if(!n||t<0&&0==n.active)return!1;let o=n.active+t,s=t>0&&!n.ranges.some((e=>e.field==o+t));return i(e.update({selection:fieldSelection(n.ranges,o),effects:k.of(s?null:new ActiveSnippet(n.ranges,o)),scrollIntoView:!0})),!0}}const clearSnippet=({state:t,dispatch:e})=>!!t.field(Q,!1)&&(e(t.update({effects:k.of(null)})),!0),T=moveField(1),A=moveField(-1);function hasNextSnippetField(t){let e=t.field(Q,!1);return!(!e||!e.ranges.some((t=>t.field==e.active+1)))}function hasPrevSnippetField(t){let e=t.field(Q,!1);return!!(e&&e.active>0)}const R=[{key:"Tab",run:T,shift:A},{key:"Escape",run:clearSnippet}],Z=n.sj.define({combine:t=>t.length?t[0]:R}),M=n.Nb.highest(o.w4.compute([Z],(t=>t.facet(Z))));function snippetCompletion(t,e){return Object.assign(Object.assign({},e),{apply:snippet(t)})}const L=o.Lz.domEventHandlers({mousedown(t,e){let i,n=e.state.field(Q,!1);if(!n||null==(i=e.posAtCoords({x:t.clientX,y:t.clientY})))return!1;let o=n.ranges.find((t=>t.from<=i&&t.to>=i));return!(!o||o.field==n.active)&&(e.dispatch({selection:fieldSelection(n.ranges,o.field),effects:k.of(n.ranges.some((t=>t.field>o.field))?new ActiveSnippet(n.ranges,o.field):null),scrollIntoView:!0}),!0)}});function mapRE(t,e){return new RegExp(e(t.source),t.unicode?"u":"")}const E=Object.create(null);function storeWords(t,e,i,n,o){for(let s=t.iterLines(),a=0;!s.next().done;){let t,{value:l}=s;for(e.lastIndex=0;t=e.exec(l);)if(!n[t[0]]&&a+t.index!=o&&(i.push({type:"text",label:t[0]}),n[t[0]]=!0,i.length>=2e3))return;a+=l.length+1}}function collectWords(t,e,i,n,o){let s=t.length>=1e3,a=s&&e.get(t);if(a)return a;let l=[],h=Object.create(null);if(t.children){let s=0;for(let a of t.children){if(a.length>=1e3)for(let t of collectWords(a,e,i,n-s,o-s))h[t.label]||(h[t.label]=!0,l.push(t));else storeWords(a,i,l,h,o-s);s+=a.length+1}}else storeWords(t,i,l,h,o);return s&&l.length<2e3&&e.set(t,l),l}const completeAnyWord=t=>{let e=t.state.languageDataAt("wordChars",t.pos).join(""),i=function wordRE(t){let e=t.replace(/[\]\-\\]/g,"\\$&");try{return new RegExp(`[\\p{Alphabetic}\\p{Number}_${e}]+`,"ug")}catch(t){return new RegExp(`[w${e}]`,"g")}}(e),n=t.matchBefore(mapRE(i,(t=>t+"$")));if(!n&&!t.explicit)return null;let o=n?n.from:t.pos,s=collectWords(t.state.doc,function wordCache(t){return E[t]||(E[t]=new WeakMap)}(e),i,5e4,o);return{from:o,options:s,validFor:mapRE(i,(t=>"^"+t))}},D={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},z=n.Pe.define({map(t,e){let i=e.mapPos(t,-1,n.iR.TrackAfter);return null==i?void 0:i}}),I=new class extends n.FB{};I.startSide=1,I.endSide=-1;const W=n.sU.define({create:()=>n.om.empty,update(t,e){if(t=t.map(e.changes),e.selection){let i=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:t=>t>=i.from&&t<=i.to})}for(let i of e.effects)i.is(z)&&(t=t.update({add:[I.range(i.value,i.value+1)]}));return t}});function closeBrackets(){return[X,W]}const B="()[]{}<>";function closing(t){for(let e=0;e<B.length;e+=2)if(B.charCodeAt(e)==t)return B.charAt(e+1);return(0,n.MK)(t<128?t:t+1)}function config(t,e){return t.languageDataAt("closeBrackets",e)[0]||D}const V="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),X=o.Lz.inputHandler.of(((t,e,i,o)=>{if((V?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let s=t.state.selection.main;if(o.length>2||2==o.length&&1==(0,n.Fh)((0,n.vS)(o,0))||e!=s.from||i!=s.to)return!1;let a=insertBracket(t.state,o);return!!a&&(t.dispatch(a),!0)})),deleteBracketPair=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=config(t,t.selection.main.head).brackets||D.brackets,o=null,s=t.changeByRange((e=>{if(e.empty){let o=function prevChar(t,e){let i=t.sliceString(e-2,e);return(0,n.Fh)((0,n.vS)(i,0))==i.length?i:i.slice(1)}(t.doc,e.head);for(let s of i)if(s==o&&nextChar(t.doc,e.head)==closing((0,n.vS)(s,0)))return{changes:{from:e.head-s.length,to:e.head+s.length},range:n.OF.cursor(e.head-s.length)}}return{range:o=e}}));return o||e(t.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!o},N=[{key:"Backspace",run:deleteBracketPair}];function insertBracket(t,e){let i=config(t,t.selection.main.head),o=i.brackets||D.brackets;for(let s of o){let a=closing((0,n.vS)(s,0));if(e==s)return a==s?handleSame(t,s,o.indexOf(s+s+s)>-1,i):handleOpen(t,s,a,i.before||D.before);if(e==a&&closedBracketAt(t,t.selection.main.from))return handleClose(t,s,a)}return null}function closedBracketAt(t,e){let i=!1;return t.field(W).between(0,t.doc.length,(t=>{t==e&&(i=!0)})),i}function nextChar(t,e){let i=t.sliceString(e,e+2);return i.slice(0,(0,n.Fh)((0,n.vS)(i,0)))}function handleOpen(t,e,i,o){let s=null,a=t.changeByRange((a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:i,from:a.to}],effects:z.of(a.to+e.length),range:n.OF.range(a.anchor+e.length,a.head+e.length)};let l=nextChar(t.doc,a.head);return!l||/\s/.test(l)||o.indexOf(l)>-1?{changes:{insert:e+i,from:a.head},effects:z.of(a.head+e.length),range:n.OF.cursor(a.head+e.length)}:{range:s=a}}));return s?null:t.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function handleClose(t,e,i){let o=null,s=t.changeByRange((e=>e.empty&&nextChar(t.doc,e.head)==i?{changes:{from:e.head,to:e.head+i.length,insert:i},range:n.OF.cursor(e.head+i.length)}:o={range:e}));return o?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function handleSame(t,e,i,o){let a=o.stringPrefixes||D.stringPrefixes,l=null,h=t.changeByRange((o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:e,from:o.to}],effects:z.of(o.to+e.length),range:n.OF.range(o.anchor+e.length,o.head+e.length)};let h,c=o.head,d=nextChar(t.doc,c);if(d==e){if(nodeStart(t,c))return{changes:{insert:e+e,from:c},effects:z.of(c+e.length),range:n.OF.cursor(c+e.length)};if(closedBracketAt(t,c)){let o=i&&t.sliceDoc(c,c+3*e.length)==e+e+e?e+e+e:e;return{changes:{from:c,to:c+o.length,insert:o},range:n.OF.cursor(c+o.length)}}}else{if(i&&t.sliceDoc(c-2*e.length,c)==e+e&&(h=canStartStringAt(t,c-2*e.length,a))>-1&&nodeStart(t,h))return{changes:{insert:e+e+e+e,from:c},effects:z.of(c+e.length),range:n.OF.cursor(c+e.length)};if(t.charCategorizer(c)(d)!=n.Je.Word&&canStartStringAt(t,c,a)>-1&&!function probablyInString(t,e,i,n){let o=(0,s.mv)(t).resolveInner(e,-1),a=n.reduce(((t,e)=>Math.max(t,e.length)),0);for(let s=0;s<5;s++){let s=t.sliceDoc(o.from,Math.min(o.to,o.from+i.length+a)),l=s.indexOf(i);if(!l||l>-1&&n.indexOf(s.slice(0,l))>-1){let e=o.firstChild;for(;e&&e.from==o.from&&e.to-e.from>i.length+l;){if(t.sliceDoc(e.to-i.length,e.to)==i)return!1;e=e.firstChild}return!0}let h=o.to==e&&o.parent;if(!h)break;o=h}return!1}(t,c,e,a))return{changes:{insert:e+e,from:c},effects:z.of(c+e.length),range:n.OF.cursor(c+e.length)}}return{range:l=o}}));return l?null:t.update(h,{scrollIntoView:!0,userEvent:"input.type"})}function nodeStart(t,e){let i=(0,s.mv)(t).resolveInner(e+1);return i.parent&&i.from==e}function canStartStringAt(t,e,i){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=n.Je.Word)return e;for(let s of i){let i=e-s.length;if(t.sliceDoc(i,e)==s&&o(t.sliceDoc(i-1,i))!=n.Je.Word)return i}return-1}function autocompletion(t={}){return[x,O,d.of(t),y,q,_]}const j=[{key:"Ctrl-Space",run:startCompletion},{key:"Escape",run:closeCompletion},{key:"ArrowDown",run:moveCompletionSelection(!0)},{key:"ArrowUp",run:moveCompletionSelection(!1)},{key:"PageDown",run:moveCompletionSelection(!0,"page")},{key:"PageUp",run:moveCompletionSelection(!1,"page")},{key:"Enter",run:acceptCompletion}],q=n.Nb.highest(o.w4.computeN([d],(t=>t.facet(d).defaultKeymap?[j]:[])));function completionStatus(t){let e=t.field(O,!1);return e&&e.active.some((t=>1==t.state))?"pending":e&&e.active.some((t=>0!=t.state))?"active":null}const Y=new WeakMap;function currentCompletions(t){var e;let i=null===(e=t.field(O,!1))||void 0===e?void 0:e.open;if(!i||i.disabled)return[];let n=Y.get(i.options);return n||Y.set(i.options,n=i.options.map((t=>t.completion))),n}function selectedCompletion(t){var e;let i=null===(e=t.field(O,!1))||void 0===e?void 0:e.open;return i&&!i.disabled&&i.selected>=0?i.options[i.selected].completion:null}function selectedCompletionIndex(t){var e;let i=null===(e=t.field(O,!1))||void 0===e?void 0:e.open;return i&&!i.disabled&&i.selected>=0?i.selected:null}function setSelectedCompletion(t){return g.of(t)}},99101:(t,e,i)=>{"use strict";i.d(e,{Yc:()=>b,pw:()=>y});var n=i(87988),o=i(80624),s=i(29565),a=i(95900);function command(t,e){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let o=t(e,i);return!!o&&(n(i.update(o)),!0)}}const l=command(changeLineComment,0),h=command(changeBlockComment,0),c=command(((t,e)=>changeBlockComment(t,e,function selectedLineRanges(t){let e=[];for(let i of t.selection.ranges){let n=t.doc.lineAt(i.from),o=i.to<=n.to?n:t.doc.lineAt(i.to),s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=o.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:o.to})}return e}(e))),0);function getConfig(t,e){let i=t.languageDataAt("commentTokens",e);return i.length?i[0]:{}}const d=50;function changeBlockComment(t,e,i=e.selection.ranges){let n=i.map((t=>getConfig(e,t.from).block));if(!n.every((t=>t)))return null;let o=i.map(((t,i)=>function findBlockComment(t,{open:e,close:i},n,o){let s,a,l=t.sliceDoc(n-d,n),h=t.sliceDoc(o,o+d),c=/\s*$/.exec(l)[0].length,f=/^\s*/.exec(h)[0].length,p=l.length-c;if(l.slice(p-e.length,p)==e&&h.slice(f,f+i.length)==i)return{open:{pos:n-c,margin:c&&1},close:{pos:o+f,margin:f&&1}};o-n<=2*d?s=a=t.sliceDoc(n,o):(s=t.sliceDoc(n,n+d),a=t.sliceDoc(o-d,o));let m=/^\s*/.exec(s)[0].length,g=/\s*$/.exec(a)[0].length,O=a.length-g-i.length;return s.slice(m,m+e.length)==e&&a.slice(O,O+i.length)==i?{open:{pos:n+m+e.length,margin:/\s/.test(s.charAt(m+e.length))?1:0},close:{pos:o-g-i.length,margin:/\s/.test(a.charAt(O-1))?1:0}}:null}(e,n[i],t.from,t.to)));if(2!=t&&!o.every((t=>t)))return{changes:e.changes(i.map(((t,e)=>o[e]?[]:[{from:t.from,insert:n[e].open+" "},{from:t.to,insert:" "+n[e].close}])))};if(1!=t&&o.some((t=>t))){let t=[];for(let e,i=0;i<o.length;i++)if(e=o[i]){let o=n[i],{open:s,close:a}=e;t.push({from:s.pos-o.open.length,to:s.pos+s.margin},{from:a.pos-a.margin,to:a.pos+o.close.length})}return{changes:t}}return null}function changeLineComment(t,e,i=e.selection.ranges){let n=[],o=-1;for(let{from:t,to:s}of i){let i=n.length,a=1e9,l=getConfig(e,t).line;if(l){for(let i=t;i<=s;){let h=e.doc.lineAt(i);if(h.from>o&&(t==s||s>h.from)){o=h.from;let t=/^\s*/.exec(h.text)[0].length,e=t==h.length,i=h.text.slice(t,t+l.length)==l?t:-1;t<h.text.length&&t<a&&(a=t),n.push({line:h,comment:i,token:l,indent:t,empty:e,single:!1})}i=h.to+1}if(a<1e9)for(let t=i;t<n.length;t++)n[t].indent<n[t].line.text.length&&(n[t].indent=a);n.length==i+1&&(n[i].single=!0)}}if(2!=t&&n.some((t=>t.comment<0&&(!t.empty||t.single)))){let t=[];for(let{line:e,token:i,indent:o,empty:s,single:a}of n)!a&&s||t.push({from:e.from+o,insert:i+" "});let i=e.changes(t);return{changes:i,selection:e.selection.map(i,1)}}if(1!=t&&n.some((t=>t.comment>=0))){let t=[];for(let{line:e,comment:i,token:o}of n)if(i>=0){let n=e.from+i,s=n+o.length;" "==e.text[s-e.from]&&s++,t.push({from:n,to:s})}return{changes:t}}return null}const f=n.YH.define(),p=n.sj.define();class HistEvent{constructor(t,e,i,n,o){this.changes=t,this.effects=e,this.mapped=i,this.startSelection=n,this.selectionsAfter=o}setSelAfter(t){return new HistEvent(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,e,i;return{changes:null===(t=this.changes)||void 0===t?void 0:t.toJSON(),mapped:null===(e=this.mapped)||void 0===e?void 0:e.toJSON(),startSelection:null===(i=this.startSelection)||void 0===i?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map((t=>t.toJSON()))}}static fromJSON(t){return new HistEvent(t.changes&&n.VR.fromJSON(t.changes),[],t.mapped&&n.Gu.fromJSON(t.mapped),t.startSelection&&n.OF.fromJSON(t.startSelection),t.selectionsAfter.map(n.OF.fromJSON))}static fromTransaction(t,e){let i=m;for(let e of t.startState.facet(p)){let n=e(t);n.length&&(i=i.concat(n))}return!i.length&&t.changes.empty?null:new HistEvent(t.changes.invert(t.startState.doc),i,void 0,e||t.startState.selection,m)}static selection(t){return new HistEvent(void 0,m,void 0,void 0,t)}}function updateBranch(t,e,i,n){let o=e+1>i+20?e-i-1:0,s=t.slice(o,e);return s.push(n),s}function conc(t,e){return t.length?e.length?t.concat(e):t:e}const m=[],g=200;function addSelection(t,e){if(t.length){let i=t[t.length-1],n=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-g));return n.length&&n[n.length-1].eq(e)?t:(n.push(e),updateBranch(t,t.length-1,1e9,i.setSelAfter(n)))}return[HistEvent.selection([e])]}function popSelection(t){let e=t[t.length-1],i=t.slice();return i[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),i}function addMappingToBranch(t,e){if(!t.length)return t;let i=t.length,n=m;for(;i;){let o=mapEvent(t[i-1],e,n);if(o.changes&&!o.changes.empty||o.effects.length){let e=t.slice(0,i);return e[i-1]=o,e}e=o.mapped,i--,n=o.selectionsAfter}return n.length?[HistEvent.selection(n)]:m}function mapEvent(t,e,i){let o=conc(t.selectionsAfter.length?t.selectionsAfter.map((t=>t.map(e))):m,i);if(!t.changes)return HistEvent.selection(o);let s=t.changes.map(e),a=e.mapDesc(t.changes,!0),l=t.mapped?t.mapped.composeDesc(a):a;return new HistEvent(s,n.Pe.mapEffects(t.effects,e),l,t.startSelection.map(a),o)}const O=/^(input\.type|delete)($|\.)/;class HistoryState{constructor(t,e,i=0,n=void 0){this.done=t,this.undone=e,this.prevTime=i,this.prevUserEvent=n}isolate(){return this.prevTime?new HistoryState(this.done,this.undone):this}addChanges(t,e,i,n,o){let s=this.done,a=s[s.length-1];return s=a&&a.changes&&!a.changes.empty&&t.changes&&(!i||O.test(i))&&(!a.selectionsAfter.length&&e-this.prevTime<n.newGroupDelay&&n.joinToEvent(o,function isAdjacent(t,e){let i=[],n=!1;return t.iterChangedRanges(((t,e)=>i.push(t,e))),e.iterChangedRanges(((t,e,o,s)=>{for(let t=0;t<i.length;){let e=i[t++],a=i[t++];s>=e&&o<=a&&(n=!0)}})),n}(a.changes,t.changes))||"input.type.compose"==i)?updateBranch(s,s.length-1,n.minDepth,new HistEvent(t.changes.compose(a.changes),conc(t.effects,a.effects),a.mapped,a.startSelection,m)):updateBranch(s,s.length,n.minDepth,t),new HistoryState(s,m,e,i)}addSelection(t,e,i,n){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:m;return o.length>0&&e-this.prevTime<n&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&function eqSelectionShape(t,e){return t.ranges.length==e.ranges.length&&0===t.ranges.filter(((t,i)=>t.empty!=e.ranges[i].empty)).length}(o[o.length-1],t)?this:new HistoryState(addSelection(this.done,t),this.undone,e,i)}addMapping(t){return new HistoryState(addMappingToBranch(this.done,t),addMappingToBranch(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,e,i){let n=0==t?this.done:this.undone;if(0==n.length)return null;let o=n[n.length-1],s=o.selectionsAfter[0]||e.selection;if(i&&o.selectionsAfter.length)return e.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:f.of({side:t,rest:popSelection(n),selection:s}),userEvent:0==t?"select.undo":"select.redo",scrollIntoView:!0});if(o.changes){let i=1==n.length?m:n.slice(0,n.length-1);return o.mapped&&(i=addMappingToBranch(i,o.mapped)),e.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:f.of({side:t,rest:i,selection:s}),filter:!1,userEvent:0==t?"undo":"redo",scrollIntoView:!0})}return null}}HistoryState.empty=new HistoryState(m,m);function updateSel(t,e){return n.OF.create(t.ranges.map(e),t.mainIndex)}function setSel(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function moveSel({state:t,dispatch:e},i){let n=updateSel(t.selection,i);return!n.eq(t.selection,!0)&&(e(setSel(t,n)),!0)}function rangeEnd(t,e){return n.OF.cursor(e?t.to:t.from)}function cursorByChar(t,e){return moveSel(t,(i=>i.empty?t.moveByChar(i,e):rangeEnd(i,e)))}function ltrAtCursor(t){return t.textDirectionAt(t.state.selection.main.head)==o.OP.LTR}const cursorCharLeft=t=>cursorByChar(t,!ltrAtCursor(t)),cursorCharRight=t=>cursorByChar(t,ltrAtCursor(t));function cursorByGroup(t,e){return moveSel(t,(i=>i.empty?t.moveByGroup(i,e):rangeEnd(i,e)))}"undefined"!=typeof Intl&&Intl.Segmenter;function interestingNode(t,e,i){if(e.type.prop(i))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function moveBySyntax(t,e,i){let o,l,h=(0,s.mv)(t).resolveInner(e.head),c=i?a.uY.closedBy:a.uY.openedBy;for(let n=e.head;;){let e=i?h.childAfter(n):h.childBefore(n);if(!e)break;interestingNode(t,e,c)?h=e:n=i?e.to:e.from}return l=h.type.prop(c)&&(o=i?(0,s.jU)(t,h.from,1):(0,s.jU)(t,h.to,-1))&&o.matched?i?o.end.to:o.end.from:i?h.to:h.from,n.OF.cursor(l,i?-1:1)}function cursorByLine(t,e){return moveSel(t,(i=>{if(!i.empty)return rangeEnd(i,e);let n=t.moveVertically(i,e);return n.head!=i.head?n:t.moveToLineBoundary(i,e)}))}const cursorLineUp=t=>cursorByLine(t,!1),cursorLineDown=t=>cursorByLine(t,!0);function pageInfo(t){let e,i=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,s=0;if(i){for(let e of t.state.facet(o.Lz.scrollMargins)){let i=e(t);(null==i?void 0:i.top)&&(n=Math.max(null==i?void 0:i.top,n)),(null==i?void 0:i.bottom)&&(s=Math.max(null==i?void 0:i.bottom,s))}e=t.scrollDOM.clientHeight-n-s}else e=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:s,selfScroll:i,height:Math.max(t.defaultLineHeight,e-5)}}function cursorByPage(t,e){let i,n=pageInfo(t),{state:s}=t,a=updateSel(s.selection,(i=>i.empty?t.moveVertically(i,e,n.height):rangeEnd(i,e)));if(a.eq(s.selection))return!1;if(n.selfScroll){let e=t.coordsAtPos(s.selection.main.head),l=t.scrollDOM.getBoundingClientRect(),h=l.top+n.marginTop,c=l.bottom-n.marginBottom;e&&e.top>h&&e.bottom<c&&(i=o.Lz.scrollIntoView(a.main.head,{y:"start",yMargin:e.top-h}))}return t.dispatch(setSel(s,a),{effects:i}),!0}const cursorPageUp=t=>cursorByPage(t,!1),cursorPageDown=t=>cursorByPage(t,!0);function moveByLineBoundary(t,e,i){let o=t.lineBlockAt(e.head),s=t.moveToLineBoundary(e,i);if(s.head==e.head&&s.head!=(i?o.to:o.from)&&(s=t.moveToLineBoundary(e,i,!1)),!i&&s.head==o.from&&o.length){let i=/^\s*/.exec(t.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;i&&e.head!=o.from+i&&(s=n.OF.cursor(o.from+i))}return s}function toMatchingBracket(t,e,i){let o=!1,a=updateSel(t.selection,(e=>{let a=(0,s.jU)(t,e.head,-1)||(0,s.jU)(t,e.head,1)||e.head>0&&(0,s.jU)(t,e.head-1,1)||e.head<t.doc.length&&(0,s.jU)(t,e.head+1,-1);if(!a||!a.end)return e;o=!0;let l=a.start.from==e.head?a.end.to:a.end.from;return i?n.OF.range(e.anchor,l):n.OF.cursor(l)}));return!!o&&(e(setSel(t,a)),!0)}function extendSel(t,e){let i=updateSel(t.state.selection,(t=>{let i=e(t);return n.OF.range(t.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)}));return!i.eq(t.state.selection)&&(t.dispatch(setSel(t.state,i)),!0)}function selectByChar(t,e){return extendSel(t,(i=>t.moveByChar(i,e)))}const selectCharLeft=t=>selectByChar(t,!ltrAtCursor(t)),selectCharRight=t=>selectByChar(t,ltrAtCursor(t));function selectByGroup(t,e){return extendSel(t,(i=>t.moveByGroup(i,e)))}function selectByLine(t,e){return extendSel(t,(i=>t.moveVertically(i,e)))}const selectLineUp=t=>selectByLine(t,!1),selectLineDown=t=>selectByLine(t,!0);function selectByPage(t,e){return extendSel(t,(i=>t.moveVertically(i,e,pageInfo(t).height)))}const selectPageUp=t=>selectByPage(t,!1),selectPageDown=t=>selectByPage(t,!0),cursorDocStart=({state:t,dispatch:e})=>(e(setSel(t,{anchor:0})),!0),cursorDocEnd=({state:t,dispatch:e})=>(e(setSel(t,{anchor:t.doc.length})),!0),selectDocStart=({state:t,dispatch:e})=>(e(setSel(t,{anchor:t.selection.main.anchor,head:0})),!0),selectDocEnd=({state:t,dispatch:e})=>(e(setSel(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0);function deleteBy(t,e){if(t.state.readOnly)return!1;let i="delete.selection",{state:s}=t,a=s.changeByRange((o=>{let{from:s,to:a}=o;if(s==a){let n=e(o);n<s?(i="delete.backward",n=skipAtomic(t,n,!1)):n>s&&(i="delete.forward",n=skipAtomic(t,n,!0)),s=Math.min(s,n),a=Math.max(a,n)}else s=skipAtomic(t,s,!1),a=skipAtomic(t,a,!0);return s==a?{range:o}:{changes:{from:s,to:a},range:n.OF.cursor(s,s<o.head?-1:1)}}));return!a.changes.empty&&(t.dispatch(s.update(a,{scrollIntoView:!0,userEvent:i,effects:"delete.selection"==i?o.Lz.announce.of(s.phrase("Selection deleted")):void 0})),!0)}function skipAtomic(t,e,i){if(t instanceof o.Lz)for(let n of t.state.facet(o.Lz.atomicRanges).map((e=>e(t))))n.between(e,e,((t,n)=>{t<e&&n>e&&(e=i?n:t)}));return e}const deleteByChar=(t,e,i)=>deleteBy(t,(o=>{let a,l,h=o.from,{state:c}=t,d=c.doc.lineAt(h);if(i&&!e&&h>d.from&&h<d.from+200&&!/[^ \t]/.test(a=d.text.slice(0,h-d.from))){if("\t"==a[a.length-1])return h-1;let t=(0,n.y$)(a,c.tabSize)%(0,s.tp)(c)||(0,s.tp)(c);for(let e=0;e<t&&" "==a[a.length-1-e];e++)h--;l=h}else l=(0,n.zK)(d.text,h-d.from,e,e)+d.from,l==h&&d.number!=(e?c.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(d.text.slice(l-d.from,h-d.from))&&(l=(0,n.zK)(d.text,l-d.from,!1,!1)+d.from);return l})),deleteCharBackward=t=>deleteByChar(t,!1,!0),deleteCharForward=t=>deleteByChar(t,!0,!1),deleteByGroup=(t,e)=>deleteBy(t,(i=>{let o=i.head,{state:s}=t,a=s.doc.lineAt(o),l=s.charCategorizer(o);for(let t=null;;){if(o==(e?a.to:a.from)){o==i.head&&a.number!=(e?s.doc.lines:1)&&(o+=e?1:-1);break}let h=(0,n.zK)(a.text,o-a.from,e)+a.from,c=a.text.slice(Math.min(o,h)-a.from,Math.max(o,h)-a.from),d=l(c);if(null!=t&&d!=t)break;" "==c&&o==i.head||(t=d),o=h}return o})),deleteGroupBackward=t=>deleteByGroup(t,!1);function selectedLineBlocks(t){let e=[],i=-1;for(let n of t.selection.ranges){let o=t.doc.lineAt(n.from),s=t.doc.lineAt(n.to);if(n.empty||n.to!=s.from||(s=t.doc.lineAt(n.to-1)),i>=o.number){let t=e[e.length-1];t.to=s.to,t.ranges.push(n)}else e.push({from:o.from,to:s.to,ranges:[n]});i=s.number+1}return e}function moveLine(t,e,i){if(t.readOnly)return!1;let o=[],s=[];for(let e of selectedLineBlocks(t)){if(i?e.to==t.doc.length:0==e.from)continue;let a=t.doc.lineAt(i?e.to+1:e.from-1),l=a.length+1;if(i){o.push({from:e.to,to:a.to},{from:e.from,insert:a.text+t.lineBreak});for(let i of e.ranges)s.push(n.OF.range(Math.min(t.doc.length,i.anchor+l),Math.min(t.doc.length,i.head+l)))}else{o.push({from:a.from,to:e.from},{from:e.to,insert:t.lineBreak+a.text});for(let t of e.ranges)s.push(n.OF.range(t.anchor-l,t.head-l))}}return!!o.length&&(e(t.update({changes:o,scrollIntoView:!0,selection:n.OF.create(s,t.selection.mainIndex),userEvent:"move.line"})),!0)}function copyLine(t,e,i){if(t.readOnly)return!1;let n=[];for(let e of selectedLineBlocks(t))i?n.push({from:e.from,insert:t.doc.slice(e.from,e.to)+t.lineBreak}):n.push({from:e.to,insert:t.lineBreak+t.doc.slice(e.from,e.to)});return e(t.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const v=newlineAndIndent(!1);function newlineAndIndent(t){return({state:e,dispatch:i})=>{if(e.readOnly)return!1;let o=e.changeByRange((i=>{let{from:o,to:l}=i,h=e.doc.lineAt(o),c=!t&&o==l&&function isBetweenBrackets(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let i,n=(0,s.mv)(t).resolveInner(e),o=n.childBefore(e),l=n.childAfter(e);return o&&l&&o.to<=e&&l.from>=e&&(i=o.type.prop(a.uY.closedBy))&&i.indexOf(l.name)>-1&&t.doc.lineAt(o.to).from==t.doc.lineAt(l.from).from&&!/\S/.test(t.sliceDoc(o.to,l.from))?{from:o.to,to:l.from}:null}(e,o);t&&(o=l=(l<=h.to?h:e.doc.lineAt(l)).to);let d=new s.KB(e,{simulateBreak:o,simulateDoubleBreak:!!c}),f=(0,s._v)(d,o);for(null==f&&(f=(0,n.y$)(/^\s*/.exec(e.doc.lineAt(o).text)[0],e.tabSize));l<h.to&&/\s/.test(h.text[l-h.from]);)l++;c?({from:o,to:l}=c):o>h.from&&o<h.from+100&&!/\S/.test(h.text.slice(0,o))&&(o=h.from);let p=["",(0,s.EI)(e,f)];return c&&p.push((0,s.EI)(e,d.lineIndent(h.from,-1))),{changes:{from:o,to:l,insert:n.EY.of(p)},range:n.OF.cursor(o+1+p[1].length)}}));return i(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function changeBySelectedLine(t,e){let i=-1;return t.changeByRange((o=>{let s=[];for(let n=o.from;n<=o.to;){let a=t.doc.lineAt(n);a.number>i&&(o.empty||o.to>a.from)&&(e(a,s,o),i=a.number),n=a.to+1}let a=t.changes(s);return{changes:s,range:n.OF.range(a.mapPos(o.anchor,1),a.mapPos(o.head,1))}}))}const indentMore=({state:t,dispatch:e})=>!t.readOnly&&(e(t.update(changeBySelectedLine(t,((e,i)=>{i.push({from:e.from,insert:t.facet(s.Xt)})})),{userEvent:"input.indent"})),!0),indentLess=({state:t,dispatch:e})=>!t.readOnly&&(e(t.update(changeBySelectedLine(t,((e,i)=>{let o=/^\s*/.exec(e.text)[0];if(!o)return;let a=(0,n.y$)(o,t.tabSize),l=0,h=(0,s.EI)(t,Math.max(0,a-(0,s.tp)(t)));for(;l<o.length&&l<h.length&&o.charCodeAt(l)==h.charCodeAt(l);)l++;i.push({from:e.from+l,to:e.from+o.length,insert:h.slice(l)})})),{userEvent:"delete.dedent"})),!0),y=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:t=>moveSel(t,(e=>moveBySyntax(t.state,e,!ltrAtCursor(t)))),shift:t=>extendSel(t,(e=>moveBySyntax(t.state,e,!ltrAtCursor(t))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:t=>moveSel(t,(e=>moveBySyntax(t.state,e,ltrAtCursor(t)))),shift:t=>extendSel(t,(e=>moveBySyntax(t.state,e,ltrAtCursor(t))))},{key:"Alt-ArrowUp",run:({state:t,dispatch:e})=>moveLine(t,e,!1)},{key:"Shift-Alt-ArrowUp",run:({state:t,dispatch:e})=>copyLine(t,e,!1)},{key:"Alt-ArrowDown",run:({state:t,dispatch:e})=>moveLine(t,e,!0)},{key:"Shift-Alt-ArrowDown",run:({state:t,dispatch:e})=>copyLine(t,e,!0)},{key:"Escape",run:({state:t,dispatch:e})=>{let i=t.selection,o=null;return i.ranges.length>1?o=n.OF.create([i.main]):i.main.empty||(o=n.OF.create([n.OF.cursor(i.main.head)])),!!o&&(e(setSel(t,o)),!0)}},{key:"Mod-Enter",run:newlineAndIndent(!0)},{key:"Alt-l",mac:"Ctrl-l",run:({state:t,dispatch:e})=>{let i=selectedLineBlocks(t).map((({from:e,to:i})=>n.OF.range(e,Math.min(i+1,t.doc.length))));return e(t.update({selection:n.OF.create(i),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:t,dispatch:e})=>{let i=updateSel(t.selection,(e=>{var i;for(let o=(0,s.mv)(t).resolveStack(e.from,1);o;o=o.next){let{node:t}=o;if((t.from<e.from&&t.to>=e.to||t.to>e.to&&t.from<=e.from)&&(null===(i=t.parent)||void 0===i?void 0:i.parent))return n.OF.range(t.to,t.from)}return e}));return e(setSel(t,i)),!0},preventDefault:!0},{key:"Mod-[",run:indentLess},{key:"Mod-]",run:indentMore},{key:"Mod-Alt-\\",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=Object.create(null),n=new s.KB(t,{overrideIndentation:t=>{let e=i[t];return null==e?-1:e}}),o=changeBySelectedLine(t,((e,o,a)=>{let l=(0,s._v)(n,e.from);if(null==l)return;/\S/.test(e.text)||(l=0);let h=/^\s*/.exec(e.text)[0],c=(0,s.EI)(t,l);(h!=c||a.from<e.from+h.length)&&(i[e.from]=l,o.push({from:e.from,to:e.from+h.length,insert:c}))}));return o.changes.empty||e(t.update(o,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:t=>{if(t.state.readOnly)return!1;let{state:e}=t,i=e.changes(selectedLineBlocks(e).map((({from:t,to:i})=>(t>0?t--:i<e.doc.length&&i++,{from:t,to:i})))),n=updateSel(e.selection,(e=>{let i;if(t.lineWrapping){let n=t.lineBlockAt(e.head),o=t.coordsAtPos(e.head,e.assoc||1);o&&(i=n.bottom+t.documentTop-o.bottom+t.defaultLineHeight/2)}return t.moveVertically(e,!0,i)})).map(i);return t.dispatch({changes:i,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:t,dispatch:e})=>toMatchingBracket(t,e,!1)},{key:"Mod-/",run:t=>{let{state:e}=t,i=e.doc.lineAt(e.selection.main.from),n=getConfig(t.state,i.from);return n.line?l(t):!!n.block&&c(t)}},{key:"Alt-A",run:h}].concat([{key:"ArrowLeft",run:cursorCharLeft,shift:selectCharLeft,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:t=>cursorByGroup(t,!ltrAtCursor(t)),shift:t=>selectByGroup(t,!ltrAtCursor(t)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:t=>moveSel(t,(e=>moveByLineBoundary(t,e,!ltrAtCursor(t)))),shift:t=>extendSel(t,(e=>moveByLineBoundary(t,e,!ltrAtCursor(t)))),preventDefault:!0},{key:"ArrowRight",run:cursorCharRight,shift:selectCharRight,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:t=>cursorByGroup(t,ltrAtCursor(t)),shift:t=>selectByGroup(t,ltrAtCursor(t)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:t=>moveSel(t,(e=>moveByLineBoundary(t,e,ltrAtCursor(t)))),shift:t=>extendSel(t,(e=>moveByLineBoundary(t,e,ltrAtCursor(t)))),preventDefault:!0},{key:"ArrowUp",run:cursorLineUp,shift:selectLineUp,preventDefault:!0},{mac:"Cmd-ArrowUp",run:cursorDocStart,shift:selectDocStart},{mac:"Ctrl-ArrowUp",run:cursorPageUp,shift:selectPageUp},{key:"ArrowDown",run:cursorLineDown,shift:selectLineDown,preventDefault:!0},{mac:"Cmd-ArrowDown",run:cursorDocEnd,shift:selectDocEnd},{mac:"Ctrl-ArrowDown",run:cursorPageDown,shift:selectPageDown},{key:"PageUp",run:cursorPageUp,shift:selectPageUp},{key:"PageDown",run:cursorPageDown,shift:selectPageDown},{key:"Home",run:t=>moveSel(t,(e=>moveByLineBoundary(t,e,!1))),shift:t=>extendSel(t,(e=>moveByLineBoundary(t,e,!1))),preventDefault:!0},{key:"Mod-Home",run:cursorDocStart,shift:selectDocStart},{key:"End",run:t=>moveSel(t,(e=>moveByLineBoundary(t,e,!0))),shift:t=>extendSel(t,(e=>moveByLineBoundary(t,e,!0))),preventDefault:!0},{key:"Mod-End",run:cursorDocEnd,shift:selectDocEnd},{key:"Enter",run:v},{key:"Mod-a",run:({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:deleteCharBackward,shift:deleteCharBackward},{key:"Delete",run:deleteCharForward},{key:"Mod-Backspace",mac:"Alt-Backspace",run:deleteGroupBackward},{key:"Mod-Delete",mac:"Alt-Delete",run:t=>deleteByGroup(t,!0)},{mac:"Mod-Backspace",run:t=>deleteBy(t,(e=>{let i=t.moveToLineBoundary(e,!1).head;return e.head>i?i:Math.max(0,e.head-1)}))},{mac:"Mod-Delete",run:t=>deleteBy(t,(e=>{let i=t.moveToLineBoundary(e,!0).head;return e.head<i?i:Math.min(t.state.doc.length,e.head+1)}))}].concat([{key:"Ctrl-b",run:cursorCharLeft,shift:selectCharLeft,preventDefault:!0},{key:"Ctrl-f",run:cursorCharRight,shift:selectCharRight},{key:"Ctrl-p",run:cursorLineUp,shift:selectLineUp},{key:"Ctrl-n",run:cursorLineDown,shift:selectLineDown},{key:"Ctrl-a",run:t=>moveSel(t,(e=>n.OF.cursor(t.lineBlockAt(e.head).from,1))),shift:t=>extendSel(t,(e=>n.OF.cursor(t.lineBlockAt(e.head).from)))},{key:"Ctrl-e",run:t=>moveSel(t,(e=>n.OF.cursor(t.lineBlockAt(e.head).to,-1))),shift:t=>extendSel(t,(e=>n.OF.cursor(t.lineBlockAt(e.head).to)))},{key:"Ctrl-d",run:deleteCharForward},{key:"Ctrl-h",run:deleteCharBackward},{key:"Ctrl-k",run:t=>deleteBy(t,(e=>{let i=t.lineBlockAt(e.head).to;return e.head<i?i:Math.min(t.state.doc.length,e.head+1)}))},{key:"Ctrl-Alt-h",run:deleteGroupBackward},{key:"Ctrl-o",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange((t=>({changes:{from:t.from,to:t.to,insert:n.EY.of(["",""])},range:n.OF.cursor(t.from)})));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange((e=>{if(!e.empty||0==e.from||e.from==t.doc.length)return{range:e};let i=e.from,o=t.doc.lineAt(i),s=i==o.from?i-1:(0,n.zK)(o.text,i-o.from,!1)+o.from,a=i==o.to?i+1:(0,n.zK)(o.text,i-o.from,!0)+o.from;return{changes:{from:s,to:a,insert:t.doc.slice(i,a).append(t.doc.slice(s,i))},range:n.OF.cursor(a)}}));return!i.changes.empty&&(e(t.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:cursorPageDown}].map((t=>({mac:t.key,run:t.run,shift:t.shift}))))),b={key:"Tab",run:indentMore,shift:indentLess}},8431:(t,e,i)=>{"use strict";i.d(e,{qy:()=>html});var n=i(46273),o=i(7295),s=i(95900);const a=20,l=22,h=23,c=24,d=26,f=27,p=28,m=31,g=34,O=37,v={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},y={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},b={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function isSpace(t){return 9==t||10==t||13==t||32==t}let x=null,_=null,S=0;function tagNameAfter(t,e){let i=t.pos+e;if(S==i&&_==t)return x;let n=t.peek(e);for(;isSpace(n);)n=t.peek(++e);let o="";for(;45==(s=n)||46==s||58==s||s>=65&&s<=90||95==s||s>=97&&s<=122||s>=161;)o+=String.fromCharCode(n),n=t.peek(++e);var s;return _=t,S=i,x=o?o.toLowerCase():n==P||n==k?void 0:null}const P=63,k=33;function ElementContext(t,e){this.name=t,this.parent=e}const C=[6,10,7,8,9],Q=new n.Aj({start:null,shift:(t,e,i,n)=>C.indexOf(e)>-1?new ElementContext(tagNameAfter(n,1)||"",t):t,reduce:(t,e)=>e==a&&t?t.parent:t,reuse(t,e,i,n){let o=e.type.id;return 6==o||36==o?new ElementContext(tagNameAfter(n,1)||"",t):t},strict:!1}),T=new n.Lu(((t,e)=>{if(60!=t.next)return void(t.next<0&&e.context&&t.acceptToken(57));t.advance();let i=47==t.next;i&&t.advance();let n=tagNameAfter(t,0);if(void 0===n)return;if(!n)return t.acceptToken(i?14:6);let o=e.context?e.context.name:null;if(i){if(n==o)return t.acceptToken(11);if(o&&y[o])return t.acceptToken(57,-2);if(e.dialectEnabled(0))return t.acceptToken(12);for(let t=e.context;t;t=t.parent)if(t.name==n)return;t.acceptToken(13)}else{if("script"==n)return t.acceptToken(7);if("style"==n)return t.acceptToken(8);if("textarea"==n)return t.acceptToken(9);if(v.hasOwnProperty(n))return t.acceptToken(10);o&&b[o]&&b[o][n]?t.acceptToken(57,-1):t.acceptToken(6)}}),{contextual:!0}),A=new n.Lu((t=>{for(let e=0,i=0;;i++){if(t.next<0){i&&t.acceptToken(58);break}if(45==t.next)e++;else{if(62==t.next&&e>=2){i>=3&&t.acceptToken(58,-2);break}e=0}t.advance()}}));const R=new n.Lu(((t,e)=>{if(47==t.next&&62==t.peek(1)){let i=e.dialectEnabled(1)||function inForeignElement(t){for(;t;t=t.parent)if("svg"==t.name||"math"==t.name)return!0;return!1}(e.context);t.acceptToken(i?5:4,2)}else 62==t.next&&t.acceptToken(4,1)}));function contentTokenizer(t,e,i){let o=2+t.length;return new n.Lu((n=>{for(let s=0,a=0,l=0;;l++){if(n.next<0){l&&n.acceptToken(e);break}if(0==s&&60==n.next||1==s&&47==n.next||s>=2&&s<o&&n.next==t.charCodeAt(s-2))s++,a++;else if(2!=s&&s!=o||!isSpace(n.next)){if(s==o&&62==n.next){l>a?n.acceptToken(e,-a):n.acceptToken(i,-(a-2));break}if((10==n.next||13==n.next)&&l){n.acceptToken(e,1);break}s=a=0}else a++;n.advance()}}))}const Z=contentTokenizer("script",54,1),M=contentTokenizer("style",55,2),L=contentTokenizer("textarea",56,3),E=(0,o.pn)({"Text RawText":o._A.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":o._A.angleBracket,TagName:o._A.tagName,"MismatchedCloseTag/TagName":[o._A.tagName,o._A.invalid],AttributeName:o._A.attributeName,"AttributeValue UnquotedAttributeValue":o._A.attributeValue,Is:o._A.definitionOperator,"EntityReference CharacterReference":o._A.character,Comment:o._A.blockComment,ProcessingInst:o._A.processingInstruction,DoctypeDecl:o._A.documentMeta}),D=n.U1.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%ZQ&rO,59fO%fQ&rO,59iO%qQ&rO,59lO%|Q&rO,59nOOOa'#D^'#D^O&XOaO'#CxO&dOaO,59[OOOb'#D_'#D_O&lObO'#C{O&wObO,59[OOOd'#D`'#D`O'POdO'#DOO'[OdO,59[OOO`'#Da'#DaO'dO!rO,59[O'kQ#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'pO$fO,59oOOO`,59o,59oO'xQ#|O,59qO'}Q#|O,59rOOO`-E7W-E7WO(SQ&rO'#CsOOQW'#DZ'#DZO(bQ&rO1G.wOOOa1G.w1G.wOOO`1G/Y1G/YO(mQ&rO1G/QOOOb1G/Q1G/QO(xQ&rO1G/TOOOd1G/T1G/TO)TQ&rO1G/WOOO`1G/W1G/WO)`Q&rO1G/YOOOa-E7[-E7[O)kQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)pQ#tO'#C|OOOd-E7^-E7^O)uQ#tO'#DPOOO`-E7_-E7_O)zQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O*PQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOO`7+$t7+$tOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rO*[Q#|O,59eO*aQ#|O,59hO*fQ#|O,59kOOO`1G/X1G/XO*kO7[O'#CvO*|OMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O+_O7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+pOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:",]~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OT}OhyO~OS!POT}OhyO~OS!ROT}OhyO~OS!TOT}OhyO~OS}OT}OhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXTgXhgX~OS!fOT!gOhyO~OS!hOT!gOhyO~OS!iOT!gOhyO~OS!jOT!gOhyO~OS!gOT!gOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:Q,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"],["isolate",-11,21,29,30,32,33,35,36,37,38,41,42,"ltr",-3,26,27,39,""]],propSources:[E],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[Z,M,L,R,T,A,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:509},tokenPrec:511});function getAttrs(t,e){let i=Object.create(null);for(let n of t.getChildren(h)){let t=n.getChild(c),o=n.getChild(d)||n.getChild(f);t&&(i[e.read(t.from,t.to)]=o?o.type.id==d?e.read(o.from+1,o.to-1):e.read(o.from,o.to):"")}return i}function findTagName(t,e){let i=t.getChild(l);return i?e.read(i.from,i.to):" "}function maybeNest(t,e,i){let n;for(let o of i)if(!o.attrs||o.attrs(n||(n=getAttrs(t.node.parent.firstChild,e))))return{parser:o.parser};return null}function configureNesting(t=[],e=[]){let i=[],n=[],o=[],l=[];for(let e of t){("script"==e.tag?i:"style"==e.tag?n:"textarea"==e.tag?o:l).push(e)}let c=e.length?Object.create(null):null;for(let t of e)(c[t.name]||(c[t.name]=[])).push(t);return(0,s.$g)(((t,e)=>{let s=t.type.id;if(s==p)return maybeNest(t,e,i);if(s==m)return maybeNest(t,e,n);if(s==g)return maybeNest(t,e,o);if(s==a&&l.length){let i,n=t.node,o=n.firstChild,s=o&&findTagName(o,e);if(s)for(let t of l)if(t.tag==s&&(!t.attrs||t.attrs(i||(i=getAttrs(o,e))))){let e=n.lastChild,i=e.type.id==O?e.from:n.to;if(i>o.to)return{parser:t.parser,overlay:[{from:o.to,to:i}]}}}if(c&&s==h){let i,n=t.node;if(i=n.firstChild){let t=c[e.read(i.from,i.to)];if(t)for(let i of t){if(i.tagName&&i.tagName!=findTagName(n.parent,e))continue;let t=n.lastChild;if(t.type.id==d){let e=t.from+1,n=t.lastChild,o=t.to-(n&&n.isError?0:1);if(o>e)return{parser:i.parser,overlay:[{from:e,to:o}]}}else if(t.type.id==f)return{parser:i.parser,overlay:[{from:t.from,to:t.to}]}}}}return null}))}const z=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function isAlpha(t){return t>=65&&t<=90||t>=97&&t<=122||t>=161}function isDigit(t){return t>=48&&t<=57}const I=new n.Lu(((t,e)=>{for(let i=!1,n=0,o=0;;o++){let{next:s}=t;if(isAlpha(s)||45==s||95==s||i&&isDigit(s))!i&&(45!=s||o>0)&&(i=!0),n===o&&45==s&&n++,t.advance();else{if(92!=s||10==t.peek(1)){i&&t.acceptToken(40==s?100:2==n&&e.canShift(2)?2:101);break}t.advance(),t.next>-1&&t.advance(),i=!0}}})),W=new n.Lu((t=>{if(z.includes(t.peek(-1))){let{next:e}=t;(isAlpha(e)||95==e||35==e||46==e||91==e||58==e&&isAlpha(t.peek(1))||45==e||38==e)&&t.acceptToken(99)}})),B=new n.Lu((t=>{if(!z.includes(t.peek(-1))){let{next:e}=t;if(37==e&&(t.advance(),t.acceptToken(1)),isAlpha(e)){do{t.advance()}while(isAlpha(t.next)||isDigit(t.next));t.acceptToken(1)}}})),V=(0,o.pn)({"AtKeyword import charset namespace keyframes media supports":o._A.definitionKeyword,"from to selector":o._A.keyword,NamespaceName:o._A.namespace,KeyframeName:o._A.labelName,KeyframeRangeName:o._A.operatorKeyword,TagName:o._A.tagName,ClassName:o._A.className,PseudoClassName:o._A.constant(o._A.className),IdName:o._A.labelName,"FeatureName PropertyName":o._A.propertyName,AttributeName:o._A.attributeName,NumberLiteral:o._A.number,KeywordQuery:o._A.keyword,UnaryQueryOp:o._A.operatorKeyword,"CallTag ValueName":o._A.atom,VariableName:o._A.variableName,Callee:o._A.operatorKeyword,Unit:o._A.unit,"UniversalSelector NestingSelector":o._A.definitionOperator,MatchOp:o._A.compareOperator,"ChildOp SiblingOp, LogicOp":o._A.logicOperator,BinOp:o._A.arithmeticOperator,Important:o._A.modifier,Comment:o._A.blockComment,ColorLiteral:o._A.color,"ParenthesizedContent StringLiteral":o._A.string,":":o._A.punctuation,"PseudoOp #":o._A.derefOperator,"; ,":o._A.separator,"( )":o._A.paren,"[ ]":o._A.squareBracket,"{ }":o._A.brace}),X={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:138},N={__proto__:null,"@import":118,"@media":142,"@charset":146,"@namespace":150,"@keyframes":156,"@supports":168},j={__proto__:null,not:132,only:132},q=n.U1.deserialize({version:14,states:":^QYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DTO$vQ[O'#DWOOQP'#Em'#EmO${QdO'#DgO%jQ[O'#DtO${QdO'#DvO%{Q[O'#DxO&WQ[O'#D{O&`Q[O'#ERO&nQ[O'#ETOOQS'#El'#ElOOQS'#EW'#EWQYQ[OOO&uQXO'#CdO'jQWO'#DcO'oQWO'#EsO'zQ[O'#EsQOQWOOP(UO#tO'#C_POOO)C@[)C@[OOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(aQ[O'#E[O({QWO,58{O)TQ[O,59SO$qQ[O,59oO$vQ[O,59rO(aQ[O,59uO(aQ[O,59wO(aQ[O,59xO)`Q[O'#DbOOQS,58{,58{OOQP'#Ck'#CkOOQO'#DR'#DROOQP,59S,59SO)gQWO,59SO)lQWO,59SOOQP'#DV'#DVOOQP,59o,59oOOQO'#DX'#DXO)qQ`O,59rOOQS'#Cp'#CpO${QdO'#CqO)yQvO'#CsO+ZQtO,5:ROOQO'#Cx'#CxO)lQWO'#CwO+oQWO'#CyO+tQ[O'#DOOOQS'#Ep'#EpOOQO'#Dj'#DjO+|Q[O'#DqO,[QWO'#EtO&`Q[O'#DoO,jQWO'#DrOOQO'#Eu'#EuO)OQWO,5:`O,oQpO,5:bOOQS'#Dz'#DzO,wQWO,5:dO,|Q[O,5:dOOQO'#D}'#D}O-UQWO,5:gO-ZQWO,5:mO-cQWO,5:oOOQS-E8U-E8UO${QdO,59}O-kQ[O'#E^O-xQWO,5;_O-xQWO,5;_POOO'#EV'#EVP.TO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.zQXO,5:vOOQO-E8Y-E8YOOQS1G.g1G.gOOQP1G.n1G.nO)gQWO1G.nO)lQWO1G.nOOQP1G/Z1G/ZO/XQ`O1G/^O/rQXO1G/aO0YQXO1G/cO0pQXO1G/dO1WQWO,59|O1]Q[O'#DSO1dQdO'#CoOOQP1G/^1G/^O${QdO1G/^O1kQpO,59]OOQS,59_,59_O${QdO,59aO1sQWO1G/mOOQS,59c,59cO1xQ!bO,59eOOQS'#DP'#DPOOQS'#EY'#EYO2QQ[O,59jOOQS,59j,59jO2YQWO'#DjO2eQWO,5:VO2jQWO,5:]O&`Q[O,5:XO&`Q[O'#E_O2rQWO,5;`O2}QWO,5:ZO(aQ[O,5:^OOQS1G/z1G/zOOQS1G/|1G/|OOQS1G0O1G0OO3`QWO1G0OO3eQdO'#EOOOQS1G0R1G0ROOQS1G0X1G0XOOQS1G0Z1G0ZO3pQtO1G/iOOQO,5:x,5:xO4WQ[O,5:xOOQO-E8[-E8[O4eQWO1G0yPOOO-E8T-E8TPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$x7+$xO${QdO7+$xOOQS1G/h1G/hO4pQXO'#ErO4wQWO,59nO4|QtO'#EXO5tQdO'#EoO6OQWO,59ZO6TQpO7+$xOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%X7+%XO6]QWO1G/POOQS-E8W-E8WOOQS1G/U1G/UO${QdO1G/qOOQO1G/w1G/wOOQO1G/s1G/sO6bQWO,5:yOOQO-E8]-E8]O6pQXO1G/xOOQS7+%j7+%jO6wQYO'#CsOOQO'#EQ'#EQO7SQ`O'#EPOOQO'#EP'#EPO7_QWO'#E`O7gQdO,5:jOOQS,5:j,5:jO7rQtO'#E]O${QdO'#E]O8sQdO7+%TOOQO7+%T7+%TOOQO1G0d1G0dO9WQpO<<HdO9`QWO,5;^OOQP1G/Y1G/YOOQS-E8V-E8VO${QdO'#EZO9hQWO,5;ZOOQT1G.u1G.uOOQP<<Hd<<HdOOQS7+$k7+$kO9pQdO7+%]OOQO7+%d7+%dOOQO,5:k,5:kO3hQdO'#EaO7_QWO,5:zOOQS,5:z,5:zOOQS-E8^-E8^OOQS1G0U1G0UO9wQtO,5:wOOQS-E8Z-E8ZOOQO<<Ho<<HoOOQPAN>OAN>OO:xQdO,5:uOOQO-E8X-E8XOOQO<<Hw<<HwOOQO,5:{,5:{OOQO-E8_-E8_OOQS1G0f1G0f",stateData:";[~O#ZOS#[QQ~OUYOXYO]VO^VOqXOxWO![aO!]ZO!i[O!k]O!m^O!p_O!v`O#XRO#bTO~OQfOUYOXYO]VO^VOqXOxWO![aO!]ZO!i[O!k]O!m^O!p_O!v`O#XeO#bTO~O#U#gP~P!ZO#[jO~O#XlO~O]qO^qOqsOtoOxrO!OtO!RvO#VuO#bnO~O!TwO~P#pO`}O#WzO#XyO~O#X!OO~O#X!QO~OQ![Ob!TOf![Oh![On!YOq!ZO#W!WO#X!SO#e!UO~Ob!^O!d!`O!g!aO#X!]O!T#hP~Oh!fOn!YO#X!eO~Oh!hO#X!hO~Ob!^O!d!`O!g!aO#X!]O~O!Y#hP~P%jO]WX]!WX^WXqWXtWXxWX!OWX!RWX!TWX#VWX#bWX~O]!mO~O!Y!nO#U#gX!S#gX~O#U#gX!S#gX~P!ZO#]!qO#^!qO#_!sO~OUYOXYO]VO^VOqXOxWO#XRO#bTO~OtoO!TwO~O`!zO#WzO#XyO~O!S#gP~P!ZOb#RO~Ob#SO~Op#TO|#UO~OP#WObgXjgX!YgX!dgX!ggX#XgXagXQgXfgXhgXngXqgXtgX!XgX#UgX#WgX#egXpgX!SgX~Ob!^Oj#XO!d!`O!g!aO#X!]O!Y#hP~Ob#[O~Op#`O#X#]O~Ob!^O!d!`O!g!aO#X#aO~Ot#eO!b#dO!T#hX!Y#hX~Ob#hO~Oj#XO!Y#jO~O!Y#kO~Oh#lOn!YO~O!T#mO~O!TwO!b#dO~O!TwO!Y#pO~O!Y#QX#U#QX!S#QX~P!ZO!Y!nO#U#ga!S#ga~O#]!qO#^!qO#_#wO~O]qO^qOqsOxrO!OtO!RvO#VuO#bnO~Ot#Oa!T#Oaa#Oa~P.`Op#yO|#zO~O]qO^qOqsOxrO#bnO~Ot}i!O}i!R}i!T}i#V}ia}i~P/aOt!Pi!O!Pi!R!Pi!T!Pi#V!Pia!Pi~P/aOt!Qi!O!Qi!R!Qi!T!Qi#V!Qia!Qi~P/aO!S#{O~Oa#fP~P(aOa#cP~P${Oa$SOj#XO~O!Y$UO~Oh$VOo$VO~Op$XO#X#]O~O]!`Xa!^X!b!^X~O]$YO~Oa$ZO!b#dO~Ot#eO!T#ha!Y#ha~O!b#dOt!ca!T!ca!Y!caa!ca~O!Y$`O~O!S$gO#X$bO#e$aO~Oj#XOt$iO!X$kO!Y!Vi#U!Vi!S!Vi~P${O!Y#Qa#U#Qa!S#Qa~P!ZO!Y!nO#U#gi!S#gi~Oa#fX~P#pOa$oO~Oj#XOQ!{Xa!{Xb!{Xf!{Xh!{Xn!{Xq!{Xt!{X#W!{X#X!{X#e!{X~Ot$qOa#cX~P${Oa$sO~Oj#XOp$tO~Oa$uO~O!b#dOt#Ra!T#Ra!Y#Ra~Oa$wO~P.`OP#WOtgX!TgX~O#e$aOt!sX!T!sX~Ot$yO!TwO~O!S$}O#X$bO#e$aO~Oj#XOQ#PXb#PXf#PXh#PXn#PXq#PXt#PX!X#PX!Y#PX#U#PX#W#PX#X#PX#e#PX!S#PX~Ot$iO!X%QO!Y!Vq#U!Vq!S!Vq~P${Oj#XOp%RO~OtoOa#fa~Ot$qOa#ca~Oa%UO~P${Oj#XOQ#Pab#Paf#Pah#Pan#Paq#Pat#Pa!X#Pa!Y#Pa#U#Pa#W#Pa#X#Pa#e#Pa!S#Pa~Oa!}at!}a~P${O#Zo#[#ej!R#e~",goto:"-g#jPPP#kP#nP#w$WP#w$g#wPP$mPPP$s$|$|P%`P$|P$|%z&^PPPP$|&vP&z'Q#wP'W#w'^P#wP#w#wPPP'd'y(WPP#nPP(_(_(i(_P(_P(_(_P#nP#nP#nP(l#nP(o(r(u(|#nP#nP)R)X)h)v)|*S*^*d*n*t*zPPPPPPPPPP+Q+ZP+v+yP,o,r,x-RRkQ_bOPdhw!n#skYOPdhotuvw!n#R#h#skSOPdhotuvw!n#R#h#sQmTR!tnQ{VR!xqQ!x}Q#Z!XR#x!zq![Z]!T!m#S#U#X#q#z$P$Y$i$j$q$v%Sp![Z]!T!m#S#U#X#q#z$P$Y$i$j$q$v%SU$d#m$f$yR$x$cq!XZ]!T!m#S#U#X#q#z$P$Y$i$j$q$v%Sp![Z]!T!m#S#U#X#q#z$P$Y$i$j$q$v%SQ!f^R#l!gT#^!Z#_Q|VR!yqQ!x|R#x!yQ!PWR!{rQ!RXR!|sQxUQ!wpQ#i!cQ#o!jQ#p!kQ${$eR%X$zSgPwQ!phQ#r!nR$l#sZfPhw!n#sa!b[`a!V!^!`#d#eR#b!^R!g^R!i_R#n!iS$e#m$fR%V$yV$c#m$f$yQ!rjR#v!rQdOShPwU!ldh#sR#s!nQ$P#SU$p$P$v%SQ$v$YR%S$qQ#_!ZR$W#_Q$r$PR%T$rQpUS!vp$nR$n#|Q$j#qR%P$jQ!ogS#t!o#uR#u!pQ#f!_R$^#fQ$f#mR$|$fQ$z$eR%W$z_cOPdhw!n#s^UOPdhw!n#sQ!uoQ!}tQ#OuQ#PvQ#|#RR$_#hR$Q#SQ!VZQ!d]Q#V!TQ#q!m[$O#S$P$Y$q$v%SQ$R#UQ$T#XS$h#q$jQ$m#zR%O$iR#}#RQiPR#QwQ!c[Q!kaR#Y!VU!_[a!VQ!j`Q#c!^Q#g!`Q$[#dR$]#e",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName , PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:117,nodeProps:[["isolate",-2,3,24,""],["openedBy",17,"(",32,"[",50,"{"],["closedBy",18,")",33,"]",51,"}"]],propSources:[V],skippedNodes:[0,3,87],repeatNodeCount:11,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#Z~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#Z~o`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!X[o`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYxQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QS|So`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!RQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#e[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#e[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[o`#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSt^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#bQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#[~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Y^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS|SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!OQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!OQo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[![Qo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSq^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSp^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!bQo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!TUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!S^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!RQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[W,B,I,1,2,3,4,new n.uC("m~RRYZ[z{a~~g~aO#^~~dP!P!Qg~lO#_~~",28,105)],topRules:{StyleSheet:[0,4],Styles:[1,86]},specialized:[{term:100,get:t=>X[t]||-1},{term:58,get:t=>N[t]||-1},{term:101,get:t=>j[t]||-1}],tokenPrec:1200});var Y=i(29565);let U=null;function properties(){if(!U&&"object"==typeof document&&document.body){let{style:t}=document.body,e=[],i=new Set;for(let n in t)"cssText"!=n&&"cssFloat"!=n&&"string"==typeof t[n]&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))),i.has(n)||(e.push(n),i.add(n)));U=e.sort().map((t=>({type:"property",label:t})))}return U||[]}const G=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map((t=>({type:"class",label:t}))),H=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map((t=>({type:"keyword",label:t}))).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map((t=>({type:"constant",label:t})))),K=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map((t=>({type:"type",label:t}))),J=/^(\w[\w-]*|-\w[\w-]*|)$/,tt=/^-(-[\w-]*)?$/;const et=new s.RY,it=["Declaration"];function astTop(t){for(let e=t;;){if(e.type.isTop)return e;if(!(e=e.parent))return t}}function variableNames(t,e,i){if(e.to-e.from>4096){let n=et.get(e);if(n)return n;let o=[],a=new Set,l=e.cursor(s.Qj.IncludeAnonymous);if(l.firstChild())do{for(let e of variableNames(t,l.node,i))a.has(e.label)||(a.add(e.label),o.push(e))}while(l.nextSibling());return et.set(e,o),o}{let n=[],o=new Set;return e.cursor().iterate((e=>{var s;if(i(e)&&e.matchContext(it)&&":"==(null===(s=e.node.nextSibling)||void 0===s?void 0:s.name)){let i=t.sliceString(e.from,e.to);o.has(i)||(o.add(i),n.push({label:i,type:"variable"}))}})),n}}const defineCSSCompletionSource=t=>e=>{let{state:i,pos:n}=e,o=(0,Y.mv)(i).resolveInner(n,-1),s=o.type.isError&&o.from==o.to-1&&"-"==i.doc.sliceString(o.from,o.to);if("PropertyName"==o.name||(s||"TagName"==o.name)&&/^(Block|Styles)$/.test(o.resolve(o.to).name))return{from:o.from,options:properties(),validFor:J};if("ValueName"==o.name)return{from:o.from,options:H,validFor:J};if("PseudoClassName"==o.name)return{from:o.from,options:G,validFor:J};if(t(o)||(e.explicit||s)&&function isVarArg(t,e){var i;if(("("==t.name||t.type.isError)&&(t=t.parent||t),"ArgList"!=t.name)return!1;let n=null===(i=t.parent)||void 0===i?void 0:i.firstChild;return"Callee"==(null==n?void 0:n.name)&&"var"==e.sliceString(n.from,n.to)}(o,i.doc))return{from:t(o)||s?o.from:n,options:variableNames(i.doc,astTop(o),t),validFor:tt};if("TagName"==o.name){for(let{parent:t}=o;t;t=t.parent)if("Block"==t.name)return{from:o.from,options:properties(),validFor:J};return{from:o.from,options:K,validFor:J}}if(!e.explicit)return null;let a=o.resolve(n),l=a.childBefore(n);return l&&":"==l.name&&"PseudoClassSelector"==a.name?{from:n,options:G,validFor:J}:l&&":"==l.name&&"Declaration"==a.name||"ArgList"==a.name?{from:n,options:H,validFor:J}:"Block"==a.name||"Styles"==a.name?{from:n,options:properties(),validFor:J}:null},nt=defineCSSCompletionSource((t=>"VariableName"==t.name)),ot=Y.bj.define({name:"css",parser:q.configure({props:[Y.Oh.add({Declaration:(0,Y.mz)()}),Y.b_.add({"Block KeyframeList":Y.yd})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});var rt=i(75634),st=i(80624),at=i(87988);const lt=["_blank","_self","_top","_parent"],ht=["ascii","utf-8","utf-16","latin1","latin1"],ct=["get","post","put","delete"],dt=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],ut=["true","false"],ft={},pt={a:{attrs:{href:null,ping:null,type:null,media:null,target:lt,hreflang:null}},abbr:ft,address:ft,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:ft,aside:ft,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:ft,base:{attrs:{href:null,target:lt}},bdi:ft,bdo:ft,blockquote:{attrs:{cite:null}},body:ft,br:ft,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:dt,formmethod:ct,formnovalidate:["novalidate"],formtarget:lt,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:ft,center:ft,cite:ft,code:ft,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:ft,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:ft,div:ft,dl:ft,dt:ft,em:ft,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:ft,figure:ft,footer:ft,form:{attrs:{action:null,name:null,"accept-charset":ht,autocomplete:["on","off"],enctype:dt,method:ct,novalidate:["novalidate"],target:lt}},h1:ft,h2:ft,h3:ft,h4:ft,h5:ft,h6:ft,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:ft,hgroup:ft,hr:ft,html:{attrs:{manifest:null}},i:ft,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:dt,formmethod:ct,formnovalidate:["novalidate"],formtarget:lt,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:ft,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:ft,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:ft,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:ht,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:ft,noscript:ft,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:ft,param:{attrs:{name:null,value:null}},pre:ft,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:ft,rt:ft,ruby:ft,samp:ft,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:ht}},section:ft,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:ft,source:{attrs:{src:null,type:null,media:null}},span:ft,strong:ft,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:ft,summary:ft,sup:ft,table:ft,tbody:ft,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:ft,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:ft,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:ft,time:{attrs:{datetime:null}},title:ft,tr:ft,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:ft,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:ft},mt={accesskey:null,class:null,contenteditable:ut,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:ut,autocorrect:ut,autocapitalize:ut,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":ut,"aria-autocomplete":["inline","list","both","none"],"aria-busy":ut,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":ut,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":ut,"aria-hidden":ut,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":ut,"aria-multiselectable":ut,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":ut,"aria-relevant":null,"aria-required":ut,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},gt="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((t=>"on"+t));for(let t of gt)mt[t]=null;class Schema{constructor(t,e){this.tags=Object.assign(Object.assign({},pt),t),this.globalAttrs=Object.assign(Object.assign({},mt),e),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function elementName(t,e,i=t.length){if(!e)return"";let n=e.firstChild,o=n&&n.getChild("TagName");return o?t.sliceString(o.from,Math.min(o.to,i)):""}function findParentElement(t,e=!1){for(;t;t=t.parent)if("Element"==t.name){if(!e)return t;e=!1}return null}function allowedChildren(t,e,i){let n=i.tags[elementName(t,findParentElement(e))];return(null==n?void 0:n.children)||i.allTags}function openTags(t,e){let i=[];for(let n=findParentElement(e);n&&!n.type.isTop;n=findParentElement(n.parent)){let o=elementName(t,n);if(o&&"CloseTag"==n.lastChild.name)break;o&&i.indexOf(o)<0&&("EndTag"==e.name||e.from>=n.firstChild.to)&&i.push(o)}return i}Schema.default=new Schema;const Ot=/^[:\-\.\w\u00b7-\uffff]*$/;function completeTag(t,e,i,n,o){let s=/\s*>/.test(t.sliceDoc(o,o+5))?"":">",a=findParentElement(i,!0);return{from:n,to:o,options:allowedChildren(t.doc,a,e).map((t=>({label:t,type:"type"}))).concat(openTags(t.doc,i).map(((t,e)=>({label:"/"+t,apply:"/"+t+s,type:"type",boost:99-e})))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function completeCloseTag(t,e,i,n){let o=/\s*>/.test(t.sliceDoc(n,n+5))?"":">";return{from:i,to:n,options:openTags(t.doc,e).map(((t,e)=>({label:t,apply:t+o,type:"type",boost:99-e}))),validFor:Ot}}function htmlCompletionFor(t,e){let{state:i,pos:n}=e,o=(0,Y.mv)(i).resolveInner(n,-1),s=o.resolve(n);for(let t,e=n;s==o&&(t=o.childBefore(e));){let i=t.lastChild;if(!i||!i.type.isError||i.from<i.to)break;s=o=t,e=i.from}return"TagName"==o.name?o.parent&&/CloseTag$/.test(o.parent.name)?completeCloseTag(i,o,o.from,n):completeTag(i,t,o,o.from,n):"StartTag"==o.name?completeTag(i,t,o,n,n):"StartCloseTag"==o.name||"IncompleteCloseTag"==o.name?completeCloseTag(i,o,n,n):"OpenTag"==o.name||"SelfClosingTag"==o.name||"AttributeName"==o.name?function completeAttrName(t,e,i,n,o){let s=findParentElement(i),a=s?e.tags[elementName(t.doc,s)]:null,l=a&&a.attrs?Object.keys(a.attrs):[];return{from:n,to:o,options:(a&&!1===a.globalAttrs?l:l.length?l.concat(e.globalAttrNames):e.globalAttrNames).map((t=>({label:t,type:"property"}))),validFor:Ot}}(i,t,o,"AttributeName"==o.name?o.from:n,n):"Is"==o.name||"AttributeValue"==o.name||"UnquotedAttributeValue"==o.name?function completeAttrValue(t,e,i,n,o){var s;let a,l=null===(s=i.parent)||void 0===s?void 0:s.getChild("AttributeName"),h=[];if(l){let s=t.sliceDoc(l.from,l.to),c=e.globalAttrs[s];if(!c){let n=findParentElement(i),o=n?e.tags[elementName(t.doc,n)]:null;c=(null==o?void 0:o.attrs)&&o.attrs[s]}if(c){let e=t.sliceDoc(n,o).toLowerCase(),i='"',s='"';/^['"]/.test(e)?(a='"'==e[0]?/^[^"]*$/:/^[^']*$/,i="",s=t.sliceDoc(o,o+1)==e[0]?"":e[0],e=e.slice(1),n++):a=/^[^\s<>='"]*$/;for(let t of c)h.push({label:t,apply:i+t+s,type:"constant"})}}return{from:n,to:o,options:h,validFor:a}}(i,t,o,"Is"==o.name?n:o.from,n):!e.explicit||"Element"!=s.name&&"Text"!=s.name&&"Document"!=s.name?null:function completeStartTag(t,e,i,n){let o=[],s=0;for(let n of allowedChildren(t.doc,i,e))o.push({label:"<"+n,type:"type"});for(let e of openTags(t.doc,i))o.push({label:"</"+e+">",type:"type",boost:99-s++});return{from:n,to:n,options:o,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(i,t,o,n)}function htmlCompletionSourceWith(t){let{extraTags:e,extraGlobalAttributes:i}=t,n=i||e?new Schema(e,i):Schema.default;return t=>htmlCompletionFor(n,t)}const vt=rt.o$.parser.configure({top:"SingleExpression"}),yt=[{tag:"script",attrs:t=>"text/typescript"==t.type||"ts"==t.lang,parser:rt.sL.parser},{tag:"script",attrs:t=>"text/babel"==t.type||"text/jsx"==t.type,parser:rt.W6.parser},{tag:"script",attrs:t=>"text/typescript-jsx"==t.type,parser:rt.g4.parser},{tag:"script",attrs:t=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(t.type),parser:vt},{tag:"script",attrs:t=>!t.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(t.type),parser:rt.o$.parser},{tag:"style",attrs:t=>(!t.lang||"css"==t.lang)&&(!t.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(t.type)),parser:ot.parser}],wt=[{name:"style",parser:ot.parser.configure({top:"Styles"})}].concat(gt.map((t=>({name:t,parser:rt.o$.parser})))),bt=Y.bj.define({name:"html",parser:D.configure({props:[Y.Oh.add({Element(t){let e=/^(\s*)(<\/)?/.exec(t.textAfter);return t.node.to<=t.pos+e[0].length?t.continue():t.lineIndent(t.node.from)+(e[2]?0:t.unit)},"OpenTag CloseTag SelfClosingTag":t=>t.column(t.node.from)+t.unit,Document(t){if(t.pos+/\s*/.exec(t.textAfter)[0].length<t.node.to)return t.continue();let e,i=null;for(let e=t.node;;){let t=e.lastChild;if(!t||"Element"!=t.name||t.to!=e.to)break;i=e=t}return i&&(!(e=i.lastChild)||"CloseTag"!=e.name&&"SelfClosingTag"!=e.name)?t.lineIndent(i.from)+t.unit:null}}),Y.b_.add({Element(t){let e=t.firstChild,i=t.lastChild;return e&&"OpenTag"==e.name?{from:e.to,to:"CloseTag"==i.name?i.from:t.to}:null}}),Y.Q_.add({"OpenTag CloseTag":t=>t.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),xt=bt.configure({wrap:configureNesting(yt,wt)});function html(t={}){let e,i="";!1===t.matchClosingTags&&(i="noMatch"),!0===t.selfClosingTags&&(i=(i?i+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(e=configureNesting((t.nestedLanguages||[]).concat(yt),(t.nestedAttributes||[]).concat(wt)));let n=e?bt.configure({wrap:e,dialect:i}):i?xt.configure({dialect:i}):xt;return new Y.Yy(n,[xt.data.of({autocomplete:htmlCompletionSourceWith(t)}),!1!==t.autoCloseTags?St:[],(0,rt.Q2)().support,new Y.Yy(ot,ot.data.of({autocomplete:nt})).support])}const _t=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),St=st.Lz.inputHandler.of(((t,e,i,n,o)=>{if(t.composing||t.state.readOnly||e!=i||">"!=n&&"/"!=n||!xt.isActiveAt(t.state,e,-1))return!1;let s=o(),{state:a}=s,l=a.changeByRange((t=>{var e,i,o;let s,l=a.doc.sliceString(t.from-1,t.to)==n,{head:h}=t,c=(0,Y.mv)(a).resolveInner(h,-1);if(l&&">"==n&&"EndTag"==c.name){let n=c.parent;if("CloseTag"!=(null===(i=null===(e=n.parent)||void 0===e?void 0:e.lastChild)||void 0===i?void 0:i.name)&&(s=elementName(a.doc,n.parent,h))&&!_t.has(s)){return{range:t,changes:{from:h,to:h+(">"===a.doc.sliceString(h,h+1)?1:0),insert:`</${s}>`}}}}else if(l&&"/"==n&&"IncompleteCloseTag"==c.name){let t=c.parent;if(c.from==h-2&&"CloseTag"!=(null===(o=t.lastChild)||void 0===o?void 0:o.name)&&(s=elementName(a.doc,t,h))&&!_t.has(s)){let t=h+(">"===a.doc.sliceString(h,h+1)?1:0),e=`${s}>`;return{range:at.OF.cursor(h+e.length,-1),changes:{from:h,to:t,insert:e}}}}return{range:t}}));return!l.changes.empty&&(t.dispatch([s,a.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}))},75634:(t,e,i)=>{"use strict";i.d(e,{Q2:()=>javascript,o$:()=>Z,W6:()=>E,g4:()=>D,sL:()=>L});var n=i(46273),o=i(7295);const s=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],a=new n.Aj({start:!1,shift:(t,e)=>5==e||6==e||315==e?t:316==e,strict:!1}),l=new n.Lu(((t,e)=>{let{next:i}=t;(125==i||-1==i||e.context)&&t.acceptToken(313)}),{contextual:!0,fallback:!0}),h=new n.Lu(((t,e)=>{let i,{next:n}=t;s.indexOf(n)>-1||(47!=n||47!=(i=t.peek(1))&&42!=i)&&(125==n||59==n||-1==n||e.context||t.acceptToken(312))}),{contextual:!0}),c=new n.Lu(((t,e)=>{let{next:i}=t;if(43==i||45==i){if(t.advance(),i==t.next){t.advance();let i=!e.context&&e.canShift(1);t.acceptToken(i?1:2)}}else 63==i&&46==t.peek(1)&&(t.advance(),t.advance(),(t.next<48||t.next>57)&&t.acceptToken(3))}),{contextual:!0});function identifierChar(t,e){return t>=65&&t<=90||t>=97&&t<=122||95==t||t>=192||!e&&t>=48&&t<=57}const d=new n.Lu(((t,e)=>{if(60!=t.next||!e.dialectEnabled(0))return;if(t.advance(),47==t.next)return;let i=0;for(;s.indexOf(t.next)>-1;)t.advance(),i++;if(identifierChar(t.next,!0)){for(t.advance(),i++;identifierChar(t.next,!1);)t.advance(),i++;for(;s.indexOf(t.next)>-1;)t.advance(),i++;if(44==t.next)return;for(let e=0;;e++){if(7==e){if(!identifierChar(t.next,!0))return;break}if(t.next!="extends".charCodeAt(e))break;t.advance(),i++}}t.acceptToken(4,-i)})),f=(0,o.pn)({"get set async static":o._A.modifier,"for while do if else switch try catch finally return throw break continue default case":o._A.controlKeyword,"in of await yield void typeof delete instanceof":o._A.operatorKeyword,"let var const using function class extends":o._A.definitionKeyword,"import export from":o._A.moduleKeyword,"with debugger as new":o._A.keyword,TemplateString:o._A.special(o._A.string),super:o._A.atom,BooleanLiteral:o._A.bool,this:o._A.self,null:o._A.null,Star:o._A.modifier,VariableName:o._A.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":o._A.function(o._A.variableName),VariableDefinition:o._A.definition(o._A.variableName),Label:o._A.labelName,PropertyName:o._A.propertyName,PrivatePropertyName:o._A.special(o._A.propertyName),"CallExpression/MemberExpression/PropertyName":o._A.function(o._A.propertyName),"FunctionDeclaration/VariableDefinition":o._A.function(o._A.definition(o._A.variableName)),"ClassDeclaration/VariableDefinition":o._A.definition(o._A.className),PropertyDefinition:o._A.definition(o._A.propertyName),PrivatePropertyDefinition:o._A.definition(o._A.special(o._A.propertyName)),UpdateOp:o._A.updateOperator,"LineComment Hashbang":o._A.lineComment,BlockComment:o._A.blockComment,Number:o._A.number,String:o._A.string,Escape:o._A.escape,ArithOp:o._A.arithmeticOperator,LogicOp:o._A.logicOperator,BitOp:o._A.bitwiseOperator,CompareOp:o._A.compareOperator,RegExp:o._A.regexp,Equals:o._A.definitionOperator,Arrow:o._A.function(o._A.punctuation),": Spread":o._A.punctuation,"( )":o._A.paren,"[ ]":o._A.squareBracket,"{ }":o._A.brace,"InterpolationStart InterpolationEnd":o._A.special(o._A.brace),".":o._A.derefOperator,", ;":o._A.separator,"@":o._A.meta,TypeName:o._A.typeName,TypeDefinition:o._A.definition(o._A.typeName),"type enum interface implements namespace module declare":o._A.definitionKeyword,"abstract global Privacy readonly override":o._A.modifier,"is keyof unique infer":o._A.operatorKeyword,JSXAttributeValue:o._A.attributeValue,JSXText:o._A.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":o._A.angleBracket,"JSXIdentifier JSXNameSpacedName":o._A.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":o._A.attributeName,"JSXBuiltin/JSXIdentifier":o._A.standard(o._A.tagName)}),p={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,extends:54,this:58,true:66,false:66,null:78,void:82,typeof:86,super:102,new:136,delete:148,yield:157,await:161,class:166,public:229,private:229,protected:229,readonly:231,instanceof:250,satisfies:253,in:254,const:256,import:290,keyof:345,unique:349,infer:355,is:391,abstract:411,implements:413,type:415,let:418,var:420,using:423,interface:429,enum:433,namespace:439,module:441,declare:445,global:449,for:468,of:477,while:480,with:484,do:488,if:492,else:494,switch:498,case:504,try:510,catch:514,finally:518,return:522,throw:526,break:530,continue:534,debugger:538},m={__proto__:null,async:123,get:125,set:127,declare:189,public:191,private:191,protected:191,static:193,abstract:195,override:197,readonly:203,accessor:205,new:395},g={__proto__:null,"<":187},O=n.U1.deserialize({version:14,states:"$=dO%TQ^OOO%[Q^OOO'_Q`OOP(lOWOOO*zQ?NdO'#CiO+RO!bO'#CjO+aO#tO'#CjO+oO!0LbO'#D^O.QQ^O'#DdO.bQ^O'#DoO%[Q^O'#DwO0fQ^O'#EPOOQ?Mr'#EX'#EXO1PQWO'#EUOOQO'#Em'#EmOOQO'#Ih'#IhO1XQWO'#GpO1dQWO'#ElO1iQWO'#ElO3hQ?NdO'#JmO6[Q?NdO'#JnO6uQWO'#F[O6zQ&jO'#FsOOQ?Mr'#Fe'#FeO7VO,YO'#FeO7eQ7[O'#FzO9RQWO'#FyOOQ?Mr'#Jn'#JnOOQ?Mp'#Jm'#JmO9WQWO'#GtOOQU'#KZ'#KZO9cQWO'#IUO9hQ?MxO'#IVOOQU'#JZ'#JZOOQU'#IZ'#IZQ`Q^OOO`Q^OOO9pQMnO'#DsO9wQ^O'#D{O:OQ^O'#D}O9^QWO'#GpO:VQ7[O'#CoO:eQWO'#EkO:pQWO'#EvO:uQ7[O'#FdO;dQWO'#GpOOQO'#K['#K[O;iQWO'#K[O;wQWO'#GxO;wQWO'#GyO;wQWO'#G{O9^QWO'#HOO<nQWO'#HRO>VQWO'#CeO>gQWO'#H_O>oQWO'#HeO>oQWO'#HgO`Q^O'#HiO>oQWO'#HkO>oQWO'#HnO>tQWO'#HtO>yQ?MyO'#HzO%[Q^O'#H|O?UQ?MyO'#IOO?aQ?MyO'#IQO9hQ?MxO'#ISO?lQ?NdO'#CiO@nQ`O'#DiQOQWOOO%[Q^O'#D}OAUQWO'#EQO:VQ7[O'#EkOAaQWO'#EkOAlQpO'#FdOOQU'#Cg'#CgOOQ?Mp'#Dn'#DnOOQ?Mp'#Jq'#JqO%[Q^O'#JqOOQO'#Jt'#JtOOQO'#Id'#IdOBlQ`O'#EdOOQ?Mp'#Ec'#EcOOQ?Mp'#Jx'#JxOChQ?NQO'#EdOCrQ`O'#ETOOQO'#Js'#JsODWQ`O'#JtOEeQ`O'#ETOCrQ`O'#EdPErO#@ItO'#CbPOOO)CDx)CDxOOOO'#I['#I[OE}O!bO,59UOOQ?Mr,59U,59UOOOO'#I]'#I]OF]O#tO,59UO%[Q^O'#D`OOOO'#I_'#I_OFkO!0LbO,59xOOQ?Mr,59x,59xOFyQ^O'#I`OG^QWO'#JoOI]QrO'#JoO+}Q^O'#JoOIdQWO,5:OOIzQWO'#EmOJXQWO'#KOOJdQWO'#J}OJdQWO'#J}OJlQWO,5;ZOJqQWO'#J|OOQ?Mv,5:Z,5:ZOJxQ^O,5:ZOLvQ?NdO,5:cOMgQWO,5:kONQQ?MxO'#J{ONXQWO'#JzO9WQWO'#JzONmQWO'#JzONuQWO,5;YONzQWO'#JzO!#PQrO'#JnOOQ?Mr'#Ci'#CiO%[Q^O'#EPO!#oQrO,5:pOOQQ'#Ju'#JuOOQO-E<f-E<fO9^QWO,5=[O!$VQWO,5=[O!$[Q^O,5;WO!&_Q7[O'#EhO!'xQWO,5;WO!'}Q^O'#DvO!(XQ`O,5;aO!(aQ`O,5;aO%[Q^O,5;aOOQU'#FS'#FSOOQU'#FU'#FUO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bO%[Q^O,5;bOOQU'#FY'#FYO!(oQ^O,5;sOOQ?Mr,5;x,5;xOOQ?Mr,5;y,5;yOOQ?Mr,5;{,5;{O%[Q^O'#IlO!*rQ?MxO,5<gO!&_Q7[O,5;bO!+aQ7[O,5;bO!-RQ7[O'#EZO%[Q^O,5;vOOQ?Mr,5;z,5;zO!-YQ&jO'#FiO!.VQ&jO'#KSO!-qQ&jO'#KSO!.^Q&jO'#KSOOQO'#KS'#KSO!.rQ&jO,5<ROOOS,5<_,5<_O!/TQ^O'#FuOOOS'#Ik'#IkO7VO,YO,5<PO!/[Q&jO'#FwOOQ?Mr,5<P,5<PO!/{Q!LQO'#CvOOQ?Mr'#Cz'#CzO!0`QWO'#CzO!0eO!0LbO'#DOO!1RQ7[O,5<dO!1YQWO,5<fO!2uQ$ISO'#GVO!3SQWO'#GWO!3XQWO'#GWO!4wQ$ISO'#G[O!5sQ`O'#G`OOQO'#Gk'#GkO!+hQ7[O'#GjOOQO'#Gm'#GmO!+hQ7[O'#GlO!6fQ!LQO'#JgOOQ?Mr'#Jg'#JgO!6pQWO'#JfO!7OQWO'#JeO!7WQWO'#CuOOQ?Mr'#Cx'#CxOOQ?Mr'#DS'#DSOOQ?Mr'#DU'#DUO1SQWO'#DWO!+hQ7[O'#F}O!+hQ7[O'#GPO!7`QWO'#GRO!7eQWO'#GSO!3XQWO'#GYO!+hQ7[O'#G_O!7jQWO'#EnO!8XQWO,5<eOOQ?Mp'#Cr'#CrO!8aQWO'#EoO!9ZQ`O'#EpOOQ?Mp'#J|'#J|O!9bQ?MxO'#K]O9hQ?MxO,5=`O`Q^O,5>pOOQU'#Jc'#JcOOQU,5>q,5>qOOQU-E<X-E<XO!;aQ?NdO,5:_O!9UQ`O,5:]O!=zQ?NdO,5:gO%[Q^O,5:gO!@bQ?NdO,5:iOOQO,5@v,5@vO!ARQ7[O,5=[O!AaQ?MxO'#JdO9RQWO'#JdO!ArQ?MxO,59ZO!A}Q`O,59ZO!BVQ7[O,59ZO:VQ7[O,59ZO!BbQWO,5;WO!BjQWO'#H^O!COQWO'#K`O%[Q^O,5;|O!9UQ`O,5<OO!CWQWO,5=wO!C]QWO,5=wO!CbQWO,5=wO9hQ?MxO,5=wO;wQWO,5=gOOQO'#Cv'#CvO!CpQ`O,5=dO!CxQ7[O,5=eO!DTQWO,5=gO!DYQpO,5=jO!DbQWO'#K[O>tQWO'#HTO9^QWO'#HVO!DgQWO'#HVO:VQ7[O'#HXO!DlQWO'#HXOOQU,5=m,5=mO!DqQWO'#HYO!ESQWO'#CoO!EXQWO,59PO!EcQWO,59PO!GhQ^O,59POOQU,59P,59PO!GxQ?MxO,59PO%[Q^O,59PO!JTQ^O'#HaOOQU'#Hb'#HbOOQU'#Hc'#HcO`Q^O,5=yO!JkQWO,5=yO`Q^O,5>PO`Q^O,5>RO!JpQWO,5>TO`Q^O,5>VO!JuQWO,5>YO!JzQ^O,5>`OOQU,5>f,5>fO%[Q^O,5>fO9hQ?MxO,5>hOOQU,5>j,5>jO# UQWO,5>jOOQU,5>l,5>lO# UQWO,5>lOOQU,5>n,5>nO# rQ`O'#D[O%[Q^O'#JqO# |Q`O'#JqO#!kQ`O'#DjO#!|Q`O'#DjO#%_Q^O'#DjO#%fQWO'#JpO#%nQWO,5:TO#%sQWO'#EqO#&RQWO'#KPO#&ZQWO,5;[O#&`Q`O'#DjO#&mQ`O'#ESOOQ?Mr,5:l,5:lO%[Q^O,5:lO#&tQWO,5:lO>tQWO,5;VO!A}Q`O,5;VO!BVQ7[O,5;VO:VQ7[O,5;VO#&|QWO,5@]O#'RQ(CYO,5:pOOQO-E<b-E<bO#(XQ?NQO,5;OOCrQ`O,5:oO#(cQ`O,5:oOCrQ`O,5;OO!ArQ?MxO,5:oOOQ?Mp'#Eg'#EgOOQO,5;O,5;OO%[Q^O,5;OO#(pQ?MxO,5;OO#({Q?MxO,5;OO!A}Q`O,5:oOOQO,5;U,5;UO#)ZQ?MxO,5;OPOOO'#IY'#IYP#)oO#@ItO,58|POOO,58|,58|OOOO-E<Y-E<YOOQ?Mr1G.p1G.pOOOO-E<Z-E<ZO#)zQpO,59zOOOO-E<]-E<]OOQ?Mr1G/d1G/dO#*PQrO,5>zO+}Q^O,5>zOOQO,5?Q,5?QO#*ZQ^O'#I`OOQO-E<^-E<^O#*hQWO,5@ZO#*pQrO,5@ZO#*wQWO,5@iOOQ?Mr1G/j1G/jO%[Q^O,5@jO#+PQWO'#IfOOQO-E<d-E<dO#*wQWO,5@iOOQ?Mp1G0u1G0uOOQ?Mv1G/u1G/uOOQ?Mv1G0V1G0VO%[Q^O,5@gO#+eQ?MxO,5@gO#+vQ?MxO,5@gO#+}QWO,5@fO9WQWO,5@fO#,VQWO,5@fO#,eQWO'#IiO#+}QWO,5@fOOQ?Mp1G0t1G0tO!(XQ`O,5:rO!(dQ`O,5:rOOQQ,5:t,5:tO#-VQYO,5:tO#-_Q7[O1G2vO9^QWO1G2vOOQ?Mr1G0r1G0rO#-mQ?NdO1G0rO#.rQ?NbO,5;SOOQ?Mr'#GU'#GUO#/`Q?NdO'#JgO!$[Q^O1G0rO#1hQrO'#JrO%[Q^O'#JrO#1rQWO,5:bOOQ?Mr'#D['#D[OOQ?Mr1G0{1G0{O%[Q^O1G0{OOQ?Mr1G1e1G1eO#1wQWO1G0{O#4]Q?NdO1G0|O#4dQ?NdO1G0|O#6zQ?NdO1G0|O#7RQ?NdO1G0|O#9YQ?NdO1G0|O#9pQ?NdO1G0|O#<gQ?NdO1G0|O#<nQ?NdO1G0|O#?OQ?NdO1G0|O#?]Q?NdO1G0|O#AWQ?NdO1G0|O#DWQ07bO'#CiO#FRQ07bO1G1_O#FYQ07bO'#JnO#FmQ?NdO,5?WOOQ?Mp-E<j-E<jO#GaQ?NdO1G0|OOQ?Mr1G0|1G0|O#IiQ7[O'#JwO#IsQWO,5:uO#IxQ?NdO1G1bO#JlQ&jO,5<VO#JtQ&jO,5<WO#J|Q&jO'#FnO#KeQWO'#FmOOQO'#KT'#KTOOQO'#Ij'#IjO#KjQ&jO1G1mOOQ?Mr1G1m1G1mOOOS1G1x1G1xO#K{Q07bO'#JmO#LVQWO,5<aO!(oQ^O,5<aOOOS-E<i-E<iOOQ?Mr1G1k1G1kO#L[Q`O'#KSOOQ?Mr,5<c,5<cO#LdQ`O,5<cOOQ?Mr,59f,59fO!&_Q7[O'#DQOOOO'#I^'#I^O#LiO!0LbO,59jOOQ?Mr,59j,59jO%[Q^O1G2OO!7eQWO'#InO#LtQ7[O,5<xOOQ?Mr,5<u,5<uO!+hQ7[O'#IqO#MdQ7[O,5=UO!+hQ7[O'#IsO#NVQ7[O,5=WO!&_Q7[O,5=YOOQO1G2Q1G2QO#NaQpO'#CrO#NtQ$ISO'#EoO$ sQ`O'#G`O$!aQpO,5<qO$!hQWO'#KWO9WQWO'#KWO$!vQWO,5<sO!+hQ7[O,5<rO$!{QWO'#GXO$#^QWO,5<rO$#cQpO'#GUO$#pQpO'#KXO$#zQWO'#KXO!&_Q7[O'#KXO$$PQWO,5<vO$$UQ`O'#GaO!5nQ`O'#GaO$$gQWO'#GcO$$lQWO'#GeO!3XQWO'#GhO$$qQ?MxO'#IpO$$|Q`O,5<zOOQ?Mv,5<z,5<zO$%TQ`O'#GaO$%cQ`O'#GbO$%kQ`O'#GbO$%pQ7[O,5=UO$&QQ7[O,5=WOOQ?Mr,5=Z,5=ZO!+hQ7[O,5@QO!+hQ7[O,5@QO$&bQWO'#IuO$&mQWO,5@PO$&uQWO,59aO$'iQ!LSO,59rOOQ?Mr'#Jk'#JkO$([Q7[O,5<iO$(}Q7[O,5<kO@fQWO,5<mOOQ?Mr,5<n,5<nO$)XQWO,5<tO$)^Q7[O,5<yO$)nQWO'#JzO!$[Q^O1G2PO$)sQWO1G2PO9WQWO'#J}O9WQWO'#EqO%[Q^O'#EqO9WQWO'#IwO$)xQ?MxO,5@wOOQU1G2z1G2zOOQU1G4[1G4[OOQ?Mr1G/y1G/yOOQ?Mr1G/w1G/wO$+zQ?NdO1G0ROOQU1G2v1G2vO!&_Q7[O1G2vO%[Q^O1G2vO#-bQWO1G2vO$.OQ7[O'#EhOOQ?Mp,5@O,5@OO$.YQ?MxO,5@OOOQU1G.u1G.uO!ArQ?MxO1G.uO!A}Q`O1G.uO!BVQ7[O1G.uO$.kQWO1G0rO$.pQWO'#CiO$.{QWO'#KaO$/TQWO,5=xO$/YQWO'#KaO$/_QWO'#KaO$/mQWO'#I}O$/{QWO,5@zO$0TQrO1G1hOOQ?Mr1G1j1G1jO9^QWO1G3cO@fQWO1G3cO$0[QWO1G3cO$0aQWO1G3cOOQU1G3c1G3cO!DTQWO1G3RO!&_Q7[O1G3OO$0fQWO1G3OOOQU1G3P1G3PO!&_Q7[O1G3PO$0kQWO1G3PO$0sQ`O'#G}OOQU1G3R1G3RO!5nQ`O'#IyO!DYQpO1G3UOOQU1G3U1G3UOOQU,5=o,5=oO$0{Q7[O,5=qO9^QWO,5=qO$$lQWO,5=sO9RQWO,5=sO!A}Q`O,5=sO!BVQ7[O,5=sO:VQ7[O,5=sO$1ZQWO'#K_O$1fQWO,5=tOOQU1G.k1G.kO$1kQ?MxO1G.kO@fQWO1G.kO$1vQWO1G.kO9hQ?MxO1G.kO$4OQrO,5@|O$4]QWO,5@|O9WQWO,5@|O$4hQ^O,5={O$4oQWO,5={OOQU1G3e1G3eO`Q^O1G3eOOQU1G3k1G3kOOQU1G3m1G3mO>oQWO1G3oO$4tQ^O1G3qO$8xQ^O'#HpOOQU1G3t1G3tO$9VQWO'#HvO>tQWO'#HxOOQU1G3z1G3zO$9_Q^O1G3zO9hQ?MxO1G4QOOQU1G4S1G4SOOQ?Mp'#G]'#G]O9hQ?MxO1G4UO9hQ?MxO1G4WO$=fQWO,5@]O!(oQ^O,5;]O9WQWO,5;]O>tQWO,5:UO!(oQ^O,5:UO!A}Q`O,5:UO$=kQ07bO,5:UOOQO,5;],5;]O$=uQ`O'#IaO$>]QWO,5@[OOQ?Mr1G/o1G/oO$>eQ`O'#IgO$>oQWO,5@kOOQ?Mp1G0v1G0vO#!|Q`O,5:UOOQO'#Ic'#IcO$>wQ`O,5:nOOQ?Mv,5:n,5:nO#&wQWO1G0WOOQ?Mr1G0W1G0WO%[Q^O1G0WOOQ?Mr1G0q1G0qO>tQWO1G0qO!A}Q`O1G0qO!BVQ7[O1G0qOOQ?Mp1G5w1G5wO!ArQ?MxO1G0ZOOQO1G0j1G0jO%[Q^O1G0jO$?OQ?MxO1G0jO$?ZQ?MxO1G0jO!A}Q`O1G0ZOCrQ`O1G0ZO$?iQ?MxO1G0jOOQO1G0Z1G0ZO$?}Q?NdO1G0jPOOO-E<W-E<WPOOO1G.h1G.hOOOO1G/f1G/fO$@XQpO,5<gO$@aQrO1G4fOOQO1G4l1G4lO%[Q^O,5>zO$@kQWO1G5uO$@sQWO1G6TO$@{QrO1G6UO9WQWO,5?QO$AVQ?NdO1G6RO%[Q^O1G6RO$AgQ?MxO1G6RO$AxQWO1G6QO$AxQWO1G6QO9WQWO1G6QO$BQQWO,5?TO9WQWO,5?TOOQO,5?T,5?TO$BfQWO,5?TO$)nQWO,5?TOOQO-E<g-E<gOOQQ1G0^1G0^OOQQ1G0`1G0`O#-YQWO1G0`OOQU7+(b7+(bO!&_Q7[O7+(bO%[Q^O7+(bO$BtQWO7+(bO$CPQ7[O7+(bO$C_Q?NdO,5=UO$EgQ?NdO,5=WO$GoQ?NdO,5=UO$I}Q?NdO,5=WO$L]Q?NdO,59rO$NbQ?NdO,5<iO%!jQ?NdO,5<kO%$rQ?NdO,5<yOOQ?Mr7+&^7+&^O%'QQ?NdO7+&^O%'tQ^O'#IbO%(RQWO,5@^O%(ZQrO,5@^OOQ?Mr1G/|1G/|O%(eQWO7+&gOOQ?Mr7+&g7+&gO%(jQ07bO,5:cO%[Q^O7+&yO%(tQ07bO,5:_O%)RQ07bO,5:gO%)]Q07bO,5:iO%)gQ7[O'#IeO%)qQWO,5@cOOQ?Mr1G0a1G0aOOQO1G1q1G1qOOQO1G1r1G1rO%)yQtO,5<YO!(oQ^O,5<XOOQO-E<h-E<hOOQ?Mr7+'X7+'XOOOS7+'d7+'dOOOS1G1{1G1{O%*UQWO1G1{OOQ?Mr1G1}1G1}O%*ZQpO,59lOOOO-E<[-E<[OOQ?Mr1G/U1G/UO%*bQ?NdO7+'jOOQ?Mr,5?Y,5?YO%+UQpO,5?YOOQ?Mr1G2d1G2dP!&_Q7[O'#InPOQ?Mr-E<l-E<lO%+tQ7[O,5?]OOQ?Mr-E<o-E<oO%,gQ7[O,5?_OOQ?Mr-E<q-E<qO%,qQpO1G2tO%,xQpO'#CrO%-`Q7[O'#J}O%-gQ^O'#EqOOQ?Mr1G2]1G2]O%-qQWO'#ImO%.VQWO,5@rO%.VQWO,5@rO%._QWO,5@rO%.jQWO,5@rOOQO1G2_1G2_O%.xQ7[O1G2^O!+hQ7[O1G2^O%/YQ$ISO'#IoO%/gQWO,5@sO!&_Q7[O,5@sO%/oQpO,5@sOOQ?Mr1G2b1G2bOOQ?Mp,5<{,5<{OOQ?Mp,5<|,5<|O$)nQWO,5<|OCcQWO,5<|O!A}Q`O,5<{OOQO'#Gd'#GdO%/yQWO,5<}OOQ?Mp,5=P,5=PO$)nQWO,5=SOOQO,5?[,5?[OOQO-E<n-E<nOOQ?Mv1G2f1G2fO!5nQ`O,5<{O%0RQWO,5<|O$$gQWO,5<}O!5nQ`O,5<|O!+hQ7[O'#IqO%0uQ7[O1G2pO!+hQ7[O'#IsO%1hQ7[O1G2rO%1rQ7[O1G5lO%1|Q7[O1G5lOOQO,5?a,5?aOOQO-E<s-E<sOOQO1G.{1G.{O!9UQ`O,59tO%[Q^O,59tOOQ?Mr,5<h,5<hO%2ZQWO1G2XO!+hQ7[O1G2`O%2`Q?NdO7+'kOOQ?Mr7+'k7+'kO!$[Q^O7+'kO%3SQWO,5;]OOQ?Mp,5?c,5?cOOQ?Mp-E<u-E<uO%3XQpO'#KYO#&wQWO7+(bO4UQrO7+(bO$BwQWO7+(bO%3cQ?NbO'#CiO%3vQ?NbO,5=QO%4hQWO,5=QOOQ?Mp1G5j1G5jOOQU7+$a7+$aO!ArQ?MxO7+$aO!A}Q`O7+$aO!$[Q^O7+&^O%4mQWO'#I|O%5UQWO,5@{OOQO1G3d1G3dO9^QWO,5@{O%5UQWO,5@{O%5^QWO,5@{OOQO,5?i,5?iOOQO-E<{-E<{OOQ?Mr7+'S7+'SO%5cQWO7+(}O9hQ?MxO7+(}O9^QWO7+(}O@fQWO7+(}OOQU7+(m7+(mO%5hQ?NbO7+(jO!&_Q7[O7+(jO%5rQpO7+(kOOQU7+(k7+(kO!&_Q7[O7+(kO%5yQWO'#K^O%6UQWO,5=iOOQO,5?e,5?eOOQO-E<w-E<wOOQU7+(p7+(pO%7eQ`O'#HWOOQU1G3]1G3]O!&_Q7[O1G3]O%[Q^O1G3]O%7lQWO1G3]O%7wQ7[O1G3]O9hQ?MxO1G3_O$$lQWO1G3_O9RQWO1G3_O!A}Q`O1G3_O!BVQ7[O1G3_O%8VQWO'#I{O%8kQWO,5@yO%8sQ`O,5@yOOQ?Mp1G3`1G3`OOQU7+$V7+$VO@fQWO7+$VO9hQ?MxO7+$VO%9OQWO7+$VO%[Q^O1G6hO%[Q^O1G6iO%9TQ?MxO1G6hO%9_Q^O1G3gO%9fQWO1G3gO%9kQ^O1G3gOOQU7+)P7+)PO9hQ?MxO7+)ZO`Q^O7+)]OOQU'#Kd'#KdOOQU'#JO'#JOO%9rQ^O,5>[OOQU,5>[,5>[O%[Q^O'#HqO%:PQWO'#HsOOQU,5>b,5>bO9WQWO,5>bOOQU,5>d,5>dOOQU7+)f7+)fOOQU7+)l7+)lOOQU7+)p7+)pOOQU7+)r7+)rO%:UQ`O1G5wO%:jQ07bO1G0wO%:tQWO1G0wOOQO1G/p1G/pO%;PQ07bO1G/pO>tQWO1G/pO!(oQ^O'#DjOOQO,5>{,5>{OOQO-E<_-E<_OOQO,5?R,5?ROOQO-E<e-E<eO!A}Q`O1G/pOOQO-E<a-E<aOOQ?Mv1G0Y1G0YOOQ?Mr7+%r7+%rO#&wQWO7+%rOOQ?Mr7+&]7+&]O>tQWO7+&]O!A}Q`O7+&]OOQO7+%u7+%uO$?}Q?NdO7+&UOOQO7+&U7+&UO%[Q^O7+&UO%;ZQ?MxO7+&UO!ArQ?MxO7+%uO!A}Q`O7+%uO%;fQ?MxO7+&UO%;tQ?NdO7++mO%[Q^O7++mO%<UQWO7++lO%<UQWO7++lOOQO1G4o1G4oO9WQWO1G4oO%<^QWO1G4oOOQQ7+%z7+%zO#&wQWO<<K|O4UQrO<<K|O%<lQWO<<K|OOQU<<K|<<K|O!&_Q7[O<<K|O%[Q^O<<K|O%<tQWO<<K|O%=PQ?NdO,5?]O%?XQ?NdO,5?_O%AaQ?NdO1G2^O%CoQ?NdO1G2pO%EwQ?NdO1G2rO%HPQrO,5>|O%[Q^O,5>|OOQO-E<`-E<`O%HZQWO1G5xOOQ?Mr<<JR<<JRO%HcQ07bO1G0rO%JjQ07bO1G0|O%JqQ07bO1G0|O%LrQ07bO1G0|O%LyQ07bO1G0|O%NkQ07bO1G0|O& RQ07bO1G0|O&#cQ07bO1G0|O&#jQ07bO1G0|O&%eQ07bO1G0|O&%rQ07bO1G0|O&'mQ07bO1G0|O&(QQ?NdO<<JeO&)VQ07bO1G0|O&*xQ07bO'#JgO&,{Q07bO1G1bO&-YQ07bO1G0RO&-dQ7[O,5?POOQO-E<c-E<cO!(oQ^O'#FpOOQO'#KU'#KUOOQO1G1t1G1tO&-nQWO1G1sO&-sQ07bO,5?WOOOS7+'g7+'gOOOO1G/W1G/WOOQ?Mr1G4t1G4tO!+hQ7[O7+(`O&0TQrO'#CiO&0_QWO,5?XO9WQWO,5?XOOQO-E<k-E<kO&0mQWO1G6^O&0mQWO1G6^O&0uQWO1G6^O&1QQ7[O7+'xO&1bQpO,5?ZO&1lQWO,5?ZO!&_Q7[O,5?ZOOQO-E<m-E<mO&1qQpO1G6_O&1{QWO1G6_OOQ?Mp1G2h1G2hO$)nQWO1G2hOOQ?Mp1G2g1G2gO&2TQWO1G2iO!&_Q7[O1G2iOOQ?Mp1G2n1G2nO!A}Q`O1G2gOCcQWO1G2hO&2YQWO1G2iO&2bQWO1G2hO&3UQ7[O,5?]OOQ?Mr-E<p-E<pO&3wQ7[O,5?_OOQ?Mr-E<r-E<rO!+hQ7[O7++WOOQ?Mr1G/`1G/`O&4RQWO1G/`OOQ?Mr7+'s7+'sO&4WQ7[O7+'zO&4hQ?NdO<<KVOOQ?Mr<<KV<<KVO&5[QWO1G0wO!&_Q7[O'#IvO&5aQWO,5@tO&7cQrO<<K|O!&_Q7[O1G2lOOQU<<G{<<G{O!ArQ?MxO<<G{O&7jQ?NdO<<IxOOQ?Mr<<Ix<<IxOOQO,5?h,5?hO&8^QWO,5?hO&8cQWO,5?hOOQO-E<z-E<zO&8qQWO1G6gO&8qQWO1G6gO9^QWO1G6gO@fQWO<<LiOOQU<<Li<<LiO&8yQWO<<LiO9hQ?MxO<<LiOOQU<<LU<<LUO%5hQ?NbO<<LUOOQU<<LV<<LVO%5rQpO<<LVO&9OQ`O'#IxO&9ZQWO,5@xO!(oQ^O,5@xOOQU1G3T1G3TO%-gQ^O'#JqOOQO'#Iz'#IzO9hQ?MxO'#IzO&9cQ`O,5=rOOQU,5=r,5=rO&9jQ`O'#EdO&:OQWO7+(wO&:TQWO7+(wOOQU7+(w7+(wO!&_Q7[O7+(wO%[Q^O7+(wO&:]QWO7+(wOOQU7+(y7+(yO9hQ?MxO7+(yO$$lQWO7+(yO9RQWO7+(yO!A}Q`O7+(yO&:hQWO,5?gOOQO-E<y-E<yOOQO'#HZ'#HZO&:sQWO1G6eO9hQ?MxO<<GqOOQU<<Gq<<GqO@fQWO<<GqO&:{QWO7+,SO&;QQWO7+,TO%[Q^O7+,SO%[Q^O7+,TOOQU7+)R7+)RO&;VQWO7+)RO&;[Q^O7+)RO&;cQWO7+)ROOQU<<Lu<<LuOOQU<<Lw<<LwOOQU-E<|-E<|OOQU1G3v1G3vO&;hQWO,5>]OOQU,5>_,5>_O&;mQWO1G3|O9WQWO7+&cO!(oQ^O7+&cOOQO7+%[7+%[O&;rQ07bO1G6UO>tQWO7+%[OOQ?Mr<<I^<<I^OOQ?Mr<<Iw<<IwO>tQWO<<IwOOQO<<Ip<<IpO$?}Q?NdO<<IpO%[Q^O<<IpOOQO<<Ia<<IaO!ArQ?MxO<<IaO&;|Q?MxO<<IpO&<XQ?NdO<= XO&<iQWO<= WOOQO7+*Z7+*ZO9WQWO7+*ZOOQUANAhANAhO&<qQrOANAhO!&_Q7[OANAhO#&wQWOANAhO4UQrOANAhO&<xQWOANAhO%[Q^OANAhO&=QQ?NdO7+'xO&?`Q?NdO,5?]O&AhQ?NdO,5?_O&CpQ?NdO7+'zO&FOQrO1G4hO&FYQ07bO7+&^O&HZQ07bO,5=UO&J_Q07bO,5=WO&JoQ07bO,5=UO&KPQ07bO,5=WO&KaQ07bO,59rO&MdQ07bO,5<iO' dQ07bO,5<kO'#dQ07bO,5<yO'%VQ07bO7+'jO'%dQ07bO7+'kO'%qQWO,5<[OOQO7+'_7+'_O'%vQ7[O<<KzOOQO1G4s1G4sO'%}QWO1G4sO'&YQWO1G4sO'&hQWO7++xO'&hQWO7++xO!&_Q7[O1G4uO'&pQpO1G4uO'&zQWO7++yOOQ?Mp7+(S7+(SO$)nQWO7+(TO''SQpO7+(TOOQ?Mp7+(R7+(RO$)nQWO7+(SO''ZQWO7+(TO!&_Q7[O7+(TOCcQWO7+(SO''`Q7[O<<NrOOQ?Mr7+$z7+$zO''jQpO,5?bOOQO-E<t-E<tO''tQ?NbO7+(WOOQUAN=gAN=gO9^QWO1G5SOOQO1G5S1G5SO'(UQWO1G5SO'(ZQWO7+,RO'(ZQWO7+,RO9hQ?MxOANBTO@fQWOANBTOOQUANBTANBTOOQUANApANApOOQUANAqANAqO'(cQWO,5?dOOQO-E<v-E<vO'(nQ07bO1G6dOOQO,5?f,5?fOOQO-E<x-E<xOOQU1G3^1G3^O%-gQ^O,5<}OOQU<<Lc<<LcO!&_Q7[O<<LcO&:OQWO<<LcO'(xQWO<<LcO%[Q^O<<LcOOQU<<Le<<LeO9hQ?MxO<<LeO$$lQWO<<LeO9RQWO<<LeO')QQ`O1G5RO')]QWO7+,POOQUAN=]AN=]O9hQ?MxOAN=]OOQU<= n<= nOOQU<= o<= oO')eQWO<= nO')jQWO<= oOOQU<<Lm<<LmO')oQWO<<LmO')tQ^O<<LmOOQU1G3w1G3wO>tQWO7+)hO'){QWO<<I}O'*WQ07bO<<I}OOQO<<Hv<<HvOOQ?MrAN?cAN?cOOQOAN?[AN?[O$?}Q?NdOAN?[OOQOAN>{AN>{O%[Q^OAN?[OOQO<<Mu<<MuOOQUG27SG27SO!&_Q7[OG27SO#&wQWOG27SO'*bQrOG27SO4UQrOG27SO'*iQWOG27SO'*qQ07bO<<JeO'+OQ07bO1G2^O',qQ07bO,5?]O'.qQ07bO,5?_O'0qQ07bO1G2pO'2qQ07bO1G2rO'4qQ07bO<<KVO'5OQ07bO<<IxOOQO1G1v1G1vO!+hQ7[OANAfOOQO7+*_7+*_O'5]QWO7+*_O'5hQWO<= dO'5pQpO7+*aOOQ?Mp<<Ko<<KoO$)nQWO<<KoOOQ?Mp<<Kn<<KnO'5zQpO<<KoO$)nQWO<<KnOOQO7+*n7+*nO9^QWO7+*nO'6RQWO<= mOOQUG27oG27oO9hQ?MxOG27oO!(oQ^O1G5OO'6ZQWO7+,OO&:OQWOANA}OOQUANA}ANA}O!&_Q7[OANA}O'6cQWOANA}OOQUANBPANBPO9hQ?MxOANBPO$$lQWOANBPOOQO'#H['#H[OOQO7+*m7+*mOOQUG22wG22wOOQUANEYANEYOOQUANEZANEZOOQUANBXANBXO'6kQWOANBXOOQU<<MS<<MSO!(oQ^OAN?iOOQOG24vG24vO$?}Q?NdOG24vO#&wQWOLD,nOOQULD,nLD,nO!&_Q7[OLD,nO'6pQrOLD,nO'6wQ07bO7+'xO'8jQ07bO,5?]O':jQ07bO,5?_O'<jQ07bO7+'zO'>]Q7[OG27QOOQO<<My<<MyOOQ?MpANAZANAZO$)nQWOANAZOOQ?MpANAYANAYOOQO<<NY<<NYOOQULD-ZLD-ZO'>mQ07bO7+*jOOQUG27iG27iO&:OQWOG27iO!&_Q7[OG27iOOQUG27kG27kO9hQ?MxOG27kOOQUG27sG27sO'>wQ07bOG25TOOQOLD*bLD*bOOQU!$(!Y!$(!YO#&wQWO!$(!YO!&_Q7[O!$(!YO'?RQ?NdOG27QOOQ?MpG26uG26uOOQULD-TLD-TO&:OQWOLD-TOOQULD-VLD-VOOQU!)9Et!)9EtO#&wQWO!)9EtOOQU!$(!o!$(!oOOQU!.K;`!.K;`O'AaQ07bOG27QO!(oQ^O'#DwO1PQWO'#EUO'CSQrO'#JmO'CZQMnO'#DsO'CbQ^O'#D{O'CiQrO'#CiO'FPQrO'#CiO!(oQ^O'#D}O'FaQ^O,5;WO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O,5;bO!(oQ^O'#IlO'HdQWO,5<gO'HlQ7[O,5;bO'JVQ7[O,5;bO!(oQ^O,5;vO!&_Q7[O'#GjO'HlQ7[O'#GjO!&_Q7[O'#GlO'HlQ7[O'#GlO1SQWO'#DWO1SQWO'#DWO!&_Q7[O'#F}O'HlQ7[O'#F}O!&_Q7[O'#GPO'HlQ7[O'#GPO!&_Q7[O'#G_O'HlQ7[O'#G_O!(oQ^O,5:gO'J^Q`O'#D[O!(oQ^O,5@jO'FaQ^O1G0rO'JhQ07bO'#CiO!(oQ^O1G2OO!&_Q7[O'#IqO'HlQ7[O'#IqO!&_Q7[O'#IsO'HlQ7[O'#IsO'JrQpO'#CrO!&_Q7[O,5<rO'HlQ7[O,5<rO'FaQ^O1G2PO!(oQ^O7+&yO!&_Q7[O1G2^O'HlQ7[O1G2^O!&_Q7[O'#IqO'HlQ7[O'#IqO!&_Q7[O'#IsO'HlQ7[O'#IsO!&_Q7[O1G2`O'HlQ7[O1G2`O'FaQ^O7+'kO'FaQ^O7+&^O!&_Q7[OANAfO'HlQ7[OANAfO'KVQWO'#ElO'K[QWO'#ElO'KdQWO'#F[O'KiQWO'#EvO'KnQWO'#KOO'KyQWO'#J|O'LUQWO,5;WO'LZQ7[O,5<dO'LbQWO'#GWO'LgQWO'#GWO'LlQWO,5<eO'LtQWO,5;WO'L|Q07bO1G1_O'MTQWO,5<rO'MYQWO,5<rO'M_QWO,5<tO'MdQWO,5<tO'MiQWO1G2PO'MnQWO1G0rO'MsQ7[O<<KzO'MzQ7[O<<KzO7eQ7[O'#FzO9RQWO'#FyOAaQWO'#EkO!(oQ^O,5;sO!3XQWO'#GWO!3XQWO'#GWO!3XQWO'#GYO!3XQWO'#GYO!+hQ7[O7+(`O!+hQ7[O7+(`O%,qQpO1G2tO%,qQpO1G2tO!&_Q7[O,5=YO!&_Q7[O,5=Y",stateData:"( O~O'wOS'xOSTOS'yRQ~OPYOQYOSfOY!VOaqOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![XO!fuO!iZO!lYO!mYO!nYO!pvO!rwO!uxO!y]O#t!PO$V|O%e}O%g!QO%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO%v!UO&S!WO&Y!XO&[!YO&^!ZO&`![O&c!]O&i!^O&o!_O&q!`O&s!aO&u!bO&w!cO(OSO(QTO(TUO([VO(j[O(yiO~OWtO~P`OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(O!dO(QTO(TUO([VO(j[O(yiO~Oa!wOp!nO!P!oO!_!yO!`!vO!a!vO!y:lO#Q!pO#R!pO#S!xO#T!pO#U!pO#X!zO#Y!zO(P!lO(QTO(TUO(`!mO(j!sO~O'y!{O~OP]XR]X[]Xa]Xo]X}]X!P]X!Y]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X'u]X([]X(m]X(t]X(u]X~O!d%PX~P(qO_!}O(Q#PO(R!}O(S#PO~O_#QO(S#PO(T#PO(U#QO~Ou#SO!R#TO(]#TO(^#VO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(O:pO(QTO(TUO([VO(j[O(yiO~O!X#ZO!Y#WO!V(cP!V(qP~P+}O!Z#cO~P`OPYOQYOSfOd!jOe!iOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!r!gO!u!hO$V!kO(QTO(TUO([VO(j[O(yiO~Om#mO!X#iO!y]O#f#lO#g#iO(O:qO!h(nP~P.iO!i#oO(O#nO~O!u#sO!y]O%e#tO~O#h#uO~O!d#vO#h#uO~OP$]OR#zO[$cOo$QO}#yO!P#{O!Y$`O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO#z$YO([VO(m$ZO(t#|O(u#}O~Oa(aX'u(aX's(aX!h(aX!V(aX![(aX%f(aX!d(aX~P1qO#P$dO#]$eO$P$eOP(bXR(bX[(bXo(bX}(bX!P(bX!Y(bX!i(bX!m(bX#O(bX#k(bX#l(bX#m(bX#n(bX#o(bX#p(bX#q(bX#r(bX#s(bX#u(bX#w(bX#y(bX#z(bX([(bX(m(bX(t(bX(u(bX![(bX%f(bX~Oa(bX'u(bX's(bX!V(bX!h(bXs(bX!d(bX~P4UO#]$eO~O$[$hO$^$gO$e$mO~OSfO![$nO$h$oO$j$qO~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{%[O!P$|O![$}O!f%aO!i$yO#g%bO$V%_O$r%]O$t%^O$w%`O(O$sO(QTO(TUO([$vO(t%OO(u%QOg(XP~O!i%cO~O!P%fO![%gO(O%eO~O!d%kO~Oa%lO'u%lO~O}%pO~P%[O(P!lO~P%[O%k%tO~P%[Oh%WO!i%cO(O%eO(P!lO~Oe%{O!i%cO(O%eO~O#s$SO~O}&QO![%}O!i&PO%g&TO(O%eO(P!lO(QTO(TUO`)SP~O!u#sO~O%p&VO!P)OX![)OX(O)OX~O(O&WO~O!r&]O#t!PO%g!QO%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO~Od&bOe&aO!u&_O%e&`O%x&^O~P;|Od&eOeyO![&dO!r&]O!uxO!y]O#t!PO%e}O%i!OO%j!OO%k!OO%n!RO%p!SO%s!TO%t!TO%v!UO~Ob&hO#]&kO%g&fO(P!lO~P=RO!i&lO!r&pO~O!i#oO~O![XO~Oa%lO't&xO'u%lO~Oa%lO't&{O'u%lO~Oa%lO't&}O'u%lO~O's]X!V]Xs]X!h]X&W]X![]X%f]X!d]X~P(qO!_'[O!`'TO!a'TO(P!lO(QTO(TUO~Op'RO!P'QO!X'UO(`'PO!Z(dP!Z(sP~P@YOk'_O![']O(O%eO~Oe'dO!i%cO(O%eO~O}&QO!i&PO~Op!nO!P!oO!y:lO#Q!pO#R!pO#T!pO#U!pO(P!lO(QTO(TUO(`!mO(j!sO~O!_'jO!`'iO!a'iO#S!pO#X'kO#Y'kO~PAtOa%lOh%WO!d#vO!i%cO'u%lO(m'mO~O!m'qO#]'oO~PCSOp!nO!P!oO(QTO(TUO(`!mO(j!sO~O![XOp(hX!P(hX!_(hX!`(hX!a(hX!y(hX#Q(hX#R(hX#S(hX#T(hX#U(hX#X(hX#Y(hX(P(hX(Q(hX(T(hX(`(hX(j(hX~O!`'iO!a'iO(P!lO~PCrO'z'uO'{'uO'|'wO~O_!}O(Q'yO(R!}O(S'yO~O_#QO(S'yO(T'yO(U#QO~Ou#SO!R#TO(]#TO(^'}O~O!X(PO!V'SX!V'YX!Y'SX!Y'YX~P+}O!Y(RO!V(cX~OP$]OR#zO[$cOo$QO}#yO!P#{O!Y(RO!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO#z$YO([VO(m$ZO(t#|O(u#}O~O!V(cX~PGfO!V(WO~O!V(pX!Y(pX!d(pX!h(pX(m(pX~O#](pX#h#aX!Z(pX~PIiO#](XO!V(rX!Y(rX~O!Y(YO!V(qX~O!V(]O~O#]$eO~PIiO!Z(^O~P`OR#zO}#yO!P#{O!i#xO([VOP!ka[!kao!ka!Y!ka!m!ka#O!ka#k!ka#l!ka#m!ka#n!ka#o!ka#p!ka#q!ka#r!ka#s!ka#u!ka#w!ka#y!ka#z!ka(m!ka(t!ka(u!ka~Oa!ka'u!ka's!ka!V!ka!h!kas!kaYO(QTO(TUO([VO(j[O(y<dO~O!Y$`Oa$oa'u$oa's$oa!h$oa!V$oa![$oa%f$oa!d$oa~O#t)`O~P!&_Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{%[O!P$|O![$}O!f%aO!i$yO#g%bO$V%_O$r%]O$t%^O$w%`O(O(rO(QTO(TUO([$vO(t%OO(u%QO~Og(kP~P!+hO})eO!d)dO![$]X$Y$]X$[$]X$^$]X$e$]X~O!d)dO![(vX$Y(vX$[(vX$^(vX$e(vX~O})eO~P!-qO})eO![(vX$Y(vX$[(vX$^(vX$e(vX~O![)gO$Y)kO$[)fO$^)fO$e)lO~O!X)oO~P!(oO$[$hO$^$gO$e)sO~Ok$xX}$xX!P$xX#P$xX(t$xX(u$xX~OgjXg$xXkjX!YjX#]jX~P!/gOp)uO~Ou)vO(])wO(^)yO~Ok*SO}){O!P)|O(t%OO(u%QO~Og)zO~P!0pOg*TO~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;YO!P*VO![*WO!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(QTO(TUO([$vO(t%OO(u%QO~O!X*ZO(O*UO!h(zP~P!1_O#h*]O~O!i*^O~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;YO!P$|O![$}O!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(O*`O(QTO(TUO([$vO(t%OO(u%QO~O!X*cO!V({P~P!3^Oo*oO!P*gO!_*mO!`*fO!a*fO!i*^O#X*nO%]*iO(P!lO(`!mO~O!Z*lO~P!5RO#P$dOk(ZX}(ZX!P(ZX(t(ZX(u(ZX!Y(ZX#](ZX~Og(ZX#}(ZX~P!5zOk*tO#]*sOg(YX!Y(YX~O!Y*uOg(XX~O(O&WOg(XP~O!i*|O~O(O(rO~Om+QO!P%fO!X#iO![%gO!y]O#f#lO#g#iO(O%eO!h(nP~O!d#vO#h+RO~O!P%fO!X+TO!Y(YO![%gO(O%eO!V(qP~Op'XO!P+VO!X+UO(QTO(TUO(`(xO~O!Z(sP~P!8uO!Y+WOa)PX'u)PX~OP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO#z$YO([VO(m$ZO(t#|O(u#}O~Oa!ga!Y!ga'u!ga's!ga!V!ga!h!gas!ga![!ga%f!ga!d!ga~P!9mOR#zO}#yO!P#{O!i#xO([VOP!oa[!oao!oa!Y!oa!m!oa#O!oa#k!oa#l!oa#m!oa#n!oa#o!oa#p!oa#q!oa#r!oa#s!oa#u!oa#w!oa#y!oa#z!oa(m!oa(t!oa(u!oa~Oa!oa'u!oa's!oa!V!oa!h!oas!oa![!oa%f!oa!d!oa~P!<TOR#zO}#yO!P#{O!i#xO([VOP!qa[!qao!qa!Y!qa!m!qa#O!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#q!qa#r!qa#s!qa#u!qa#w!qa#y!qa#z!qa(m!qa(t!qa(u!qa~Oa!qa'u!qa's!qa!V!qa!h!qas!qa![!qa%f!qa!d!qa~P!>kOh%WOk+aO![']O%f+`O~O!d+cOa(WX![(WX'u(WX!Y(WX~Oa%lO![XO'u%lO~Oh%WO!i%cO~Oh%WO!i%cO(O%eO~O!d#vO#h(tO~Ob+nO%g+oO(O+kO(QTO(TUO!Z)TP~O!Y+pO`)SX~O[+tO~O`+uO~O![%}O(O%eO(P!lO`)SP~Oh%WO#]+zO~Oh%WOk+}O![$}O~O![,PO~O},RO![XO~O%k%tO~O!u,WO~Oe,]O~Ob,^O(O#nO(QTO(TUO!Z)RP~Oe%{O~O%g!QO(O&WO~P=RO[,cO`,bO~OPYOQYOSfOdzOeyOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO!fuO!iZO!lYO!mYO!nYO!pvO!uxO!y]O%e}O(QTO(TUO([VO(j[O(yiO~O![!eO!r!gO$V!kO(O!dO~P!EkO`,bOa%lO'u%lO~OPYOQYOSfOd!jOe!iOmkOoYOpkOqkOwkOyYO{YO!PWO!TkO!UkO![!eO!fuO!iZO!lYO!mYO!nYO!pvO!u!hO$V!kO(O!dO(QTO(TUO([VO(j[O(yiO~Oa,hO!rwO#t!OO%i!OO%j!OO%k!OO~P!HTO!i&lO~O&Y,nO~O![,pO~O&k,rO&m,sOP&haQ&haS&haY&haa&had&hae&ham&hao&hap&haq&haw&hay&ha{&ha!P&ha!T&ha!U&ha![&ha!f&ha!i&ha!l&ha!m&ha!n&ha!p&ha!r&ha!u&ha!y&ha#t&ha$V&ha%e&ha%g&ha%i&ha%j&ha%k&ha%n&ha%p&ha%s&ha%t&ha%v&ha&S&ha&Y&ha&[&ha&^&ha&`&ha&c&ha&i&ha&o&ha&q&ha&s&ha&u&ha&w&ha's&ha(O&ha(Q&ha(T&ha([&ha(j&ha(y&ha!Z&ha&a&hab&ha&f&ha~O(O,xO~Oh!bX!Y!OX!Z!OX!d!OX!d!bX!i!bX#]!OX~O!Y!bX!Z!bX~P# ZO!d,}O#],|Oh(eX!Y#eX!Y(eX!Z#eX!Z(eX!d(eX!i(eX~Oh%WO!d-PO!i%cO!Y!^X!Z!^X~Op!nO!P!oO(QTO(TUO(`!mO~OP:kOQ:kOSfOd<fOe!iOmkOo:kOpkOqkOwkOy:kO{:kO!PWO!TkO!UkO![!eO!f:nO!iZO!l:kO!m:kO!n:kO!p:oO!r:rO!u!hO$V!kO(QTO(TUO([VO(j[O(y<dO~O(O;fO~P##_O!Y-TO!Z(dX~O!Z-VO~O!d,}O#],|O!Y#eX!Z#eX~O!Y-WO!Z(sX~O!Z-YO~O!`-ZO!a-ZO(P!lO~P#!|O!Z-^O~P'_Ok-aO![']O~O!V-fO~Op!xa!_!xa!`!xa!a!xa#Q!xa#R!xa#S!xa#T!xa#U!xa#X!xa#Y!xa(P!xa(Q!xa(T!xa(`!xa(j!xa~P!#ZO!m-kO#]-iO~PCSO!`-mO!a-mO(P!lO~PCrOa%lO#]-iO'u%lO~Oa%lO!d#vO#]-iO'u%lO~Oa%lO!d#vO!m-kO#]-iO'u%lO(m'mO~O'z'uO'{'uO'|-rO~Os-sO~O!V'Sa!Y'Sa~P!9mO!X-wO!V'SX!Y'SX~P%[O!Y(RO!V(ca~O!V(ca~PGfO!Y(YO!V(qa~O!P%fO!X-{O![%gO(O%eO!V'YX!Y'YX~O#]-}O!Y(oa!h(oaa(oa'u(oa~O!d#vO~P#+eO!Y(fO!h(na~O!P%fO![%gO#g.RO(O%eO~Om.WO!P%fO!X.TO![%gO!y]O#f.VO#g.TO(O%eO!Y']X!h']X~OR.[O!i#xO~Oh%WOk._O![']O%f.^O~Oa#`i!Y#`i'u#`i's#`i!V#`i!h#`is#`i![#`i%f#`i!d#`i~P!9mOk<pO}){O!P)|O(t%OO(u%QO~O#h#[aa#[a#]#[a'u#[a!Y#[a!h#[a![#[a!V#[a~P#.aO#h(ZXP(ZXR(ZX[(ZXa(ZXo(ZX!i(ZX!m(ZX#O(ZX#k(ZX#l(ZX#m(ZX#n(ZX#o(ZX#p(ZX#q(ZX#r(ZX#s(ZX#u(ZX#w(ZX#y(ZX#z(ZX'u(ZX([(ZX(m(ZX!h(ZX!V(ZX's(ZXs(ZX![(ZX%f(ZX!d(ZX~P!5zO!Y.lO!h(fX~P!9mO!h.oO~O!V.qO~OP$]OR#zO}#yO!P#{O!i#xO!m$]O([VO[#jia#jio#ji!Y#ji#O#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#k#ji~P#1|O#k$OO~P#1|OP$]OR#zO}#yO!P#{O!i#xO!m$]O#k$OO#l$PO#m$PO#n$PO([VO[#jia#ji!Y#ji#O#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~Oo#ji~P#4kOo$QO~P#4kOP$]OR#zOo$QO}#yO!P#{O!i#xO!m$]O#k$OO#l$PO#m$PO#n$PO#o$RO([VOa#ji!Y#ji#u#ji#w#ji#y#ji#z#ji'u#ji(m#ji(t#ji(u#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O[#ji#O#ji#p#ji#q#ji#r#ji#s#ji~P#7YO[$cO#O$SO#p$SO#q$SO#r$bO#s$SO~P#7YOP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO([VO(u#}Oa#ji!Y#ji#y#ji#z#ji'u#ji(m#ji(t#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#w$VO~P#:WO#w#ji~P#:WOP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO([VOa#ji!Y#ji#y#ji#z#ji'u#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~O#w#ji(t#ji(u#ji~P#<uO#w$VO(t#|O(u#}O~P#<uOP$]OR#zO[$cOo$QO}#yO!P#{O!i#xO!m$]O#O$SO#k$OO#l$PO#m$PO#n$PO#o$RO#p$SO#q$SO#r$bO#s$SO#u$TO#w$VO#y$XO([VO(t#|O(u#}O~Oa#ji!Y#ji#z#ji'u#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~P#?jOP]XR]X[]Xo]X}]X!P]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X!Y]X!Z]X~O#}]X~P#BQOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO#w:{O#y:}O#z;OO([VO(m$ZO(t#|O(u#}O~O#}.sO~P#D_O#P$dO#];TO$P;TO#}(bX!Z(bX~P! YOa'`a!Y'`a'u'`a's'`a!h'`a!V'`as'`a!['`a%f'`a!d'`a~P!9mOP#jiR#ji[#jia#jio#ji!Y#ji!i#ji!m#ji#O#ji#k#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji'u#ji([#ji(m#ji's#ji!V#ji!h#jis#ji![#ji%f#ji!d#ji~P#.aO!Y.wOg(kX~P!0pOg.yO~Oa$Oi!Y$Oi'u$Oi's$Oi!V$Oi!h$Ois$Oi![$Oi%f$Oi!d$Oi~P!9mO$[.zO$^.zO~O$[.{O$^.{O~O!d)dO#].|O![$bX$Y$bX$[$bX$^$bX$e$bX~O!X.}O~O![)gO$Y/PO$[)fO$^)fO$e/QO~O!Y;PO!Z(aX~P#D_O!Z/RO~O!d)dO$e(vX~O$e/TO~Ou)vO(])wO(^/WO~O!V/[O~P!&_O(t%OOk%^a}%^a!P%^a(u%^a!Y%^a#]%^a~Og%^a#}%^a~P#L{O(u%QOk%`a}%`a!P%`a(t%`a!Y%`a#]%`a~Og%`a#}%`a~P#MnO!YfX!dfX!hfX!h$xX(mfX~P!/gO!X/eO!Y(YO(O/dO!V(qP!V({P~P!1_Oo*oO!_*mO!`*fO!a*fO!i*^O#X*nO%]*iO(P!lO~Op'XO!P/fO!X+UO!Z*lO(QTO(TUO(`;cO!Z(sP~P$ XO!h/gO~P#.aO!Y/hO!d#vO(m'mO!h(zX~O!h/mO~O!P%fO!X*ZO![%gO(O%eO!h(zP~O#h/oO~O!V$xX!Y$xX!d%PX~P!/gO!Y/pO!V({X~P#.aO!d/rO~O!V/tO~Oh%WOo/xO!d#vO!i%cO(m'mO~O(O/zO~O!d+cO~Oa%lO!Y0OO'u%lO~O!Z0QO~P!5RO!`0RO!a0RO(P!lO(`!mO~O!P0TO(`!mO~O#X0UO~Og%^a!Y%^a#]%^a#}%^a~P!0pOg%`a!Y%`a#]%`a#}%`a~P!0pO(O&WOg'iX!Y'iX~O!Y*uOg(Xa~Og0_O~OR0`O}0`O!P0aO#P$dOkza(tza(uza!Yza#]za~Ogza#}za~P$&zO}){O!P)|Ok$qa(t$qa(u$qa!Y$qa#]$qa~Og$qa#}$qa~P$'sO}){O!P)|Ok$sa(t$sa(u$sa!Y$sa#]$sa~Og$sa#}$sa~P$(fO#h0dO~Og%Ra!Y%Ra#]%Ra#}%Ra~P!0pO!d#vO~O#h0gO~O!Y+WOa)Pa'u)Pa~OR#zO}#yO!P#{O!i#xO([VOP!oi[!oio!oi!Y!oi!m!oi#O!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#q!oi#r!oi#s!oi#u!oi#w!oi#y!oi#z!oi(m!oi(t!oi(u!oi~Oa!oi'u!oi's!oi!V!oi!h!ois!oi![!oi%f!oi!d!oi~P$*TOh%WOo$uOp$tOq$tOw%YOy%ZO{;YO!P$|O![$}O!f<jO!i$yO#g;`O$V%_O$r;[O$t;^O$w%`O(QTO(TUO([$vO(t%OO(u%QO~Om0pO(O0oO~P$,kO!d+cOa(Wa![(Wa'u(Wa!Y(Wa~O#h0vO~O[]X!YfX!ZfX~O!Y0wO!Z)TX~O!Z0yO~O[0zO~Ob0|O(O+kO(QTO(TUO~O![%}O(O%eO`'qX!Y'qX~O!Y+pO`)Sa~O!h1PO~P!9mO[1SO~O`1TO~O#]1WO~Ok1ZO![$}O~O(`(xO!Z)QP~Oh%WOk1dO![1aO%f1cO~O[1nO!Y1lO!Z)RX~O!Z1oO~O`1qOa%lO'u%lO~O(O#nO(QTO(TUO~O#P$dO#]$eO$P$eOP(bXR(bX[(bXo(bX}(bX!P(bX!Y(bX!i(bX!m(bX#O(bX#k(bX#l(bX#m(bX#n(bX#o(bX#p(bX#q(bX#r(bX#u(bX#w(bX#y(bX#z(bX([(bX(m(bX(t(bX(u(bX~O#s1tO&W1uOa(bX~P$2RO#]$eO#s1tO&W1uO~Oa1wO~P%[Oa1yO~O&a1|OP&_iQ&_iS&_iY&_ia&_id&_ie&_im&_io&_ip&_iq&_iw&_iy&_i{&_i!P&_i!T&_i!U&_i![&_i!f&_i!i&_i!l&_i!m&_i!n&_i!p&_i!r&_i!u&_i!y&_i#t&_i$V&_i%e&_i%g&_i%i&_i%j&_i%k&_i%n&_i%p&_i%s&_i%t&_i%v&_i&S&_i&Y&_i&[&_i&^&_i&`&_i&c&_i&i&_i&o&_i&q&_i&s&_i&u&_i&w&_i's&_i(O&_i(Q&_i(T&_i([&_i(j&_i(y&_i!Z&_ib&_i&f&_i~Ob2SO!Z2QO&f2RO~P`O![XO!i2UO~O&m,sOP&hiQ&hiS&hiY&hia&hid&hie&him&hio&hip&hiq&hiw&hiy&hi{&hi!P&hi!T&hi!U&hi![&hi!f&hi!i&hi!l&hi!m&hi!n&hi!p&hi!r&hi!u&hi!y&hi#t&hi$V&hi%e&hi%g&hi%i&hi%j&hi%k&hi%n&hi%p&hi%s&hi%t&hi%v&hi&S&hi&Y&hi&[&hi&^&hi&`&hi&c&hi&i&hi&o&hi&q&hi&s&hi&u&hi&w&hi's&hi(O&hi(Q&hi(T&hi([&hi(j&hi(y&hi!Z&hi&a&hib&hi&f&hi~O!V2[O~O!Y!^a!Z!^a~P#D_Op!nO!P!oO!X2bO(`!mO!Y'TX!Z'TX~P@YO!Y-TO!Z(da~O!Y'ZX!Z'ZX~P!8uO!Y-WO!Z(sa~O!Z2iO~P'_Oa%lO#]2rO'u%lO~Oa%lO!d#vO#]2rO'u%lO~Oa%lO!d#vO!m2vO#]2rO'u%lO(m'mO~Oa%lO'u%lO~P!9mO!Y$`Os$oa~O!V'Si!Y'Si~P!9mO!Y(RO!V(ci~O!Y(YO!V(qi~O!V(ri!Y(ri~P!9mO!Y(oi!h(oia(oi'u(oi~P!9mO#]2xO!Y(oi!h(oia(oi'u(oi~O!Y(fO!h(ni~O!P%fO![%gO!y]O#f2}O#g2|O(O%eO~O!P%fO![%gO#g2|O(O%eO~Ok3UO![']O%f3TO~Oh%WOk3UO![']O%f3TO~O#h%^aP%^aR%^a[%^aa%^ao%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a'u%^a([%^a(m%^a!h%^a!V%^a's%^as%^a![%^a%f%^a!d%^a~P#L{O#h%`aP%`aR%`a[%`aa%`ao%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a'u%`a([%`a(m%`a!h%`a!V%`a's%`as%`a![%`a%f%`a!d%`a~P#MnO#h%^aP%^aR%^a[%^aa%^ao%^a!Y%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a'u%^a([%^a(m%^a!h%^a!V%^a's%^a#]%^as%^a![%^a%f%^a!d%^a~P#.aO#h%`aP%`aR%`a[%`aa%`ao%`a!Y%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a'u%`a([%`a(m%`a!h%`a!V%`a's%`a#]%`as%`a![%`a%f%`a!d%`a~P#.aO#hzaPza[zaazaoza!iza!mza#Oza#kza#lza#mza#nza#oza#pza#qza#rza#sza#uza#wza#yza#zza'uza([za(mza!hza!Vza'szasza![za%fza!dza~P$&zO#h$qaP$qaR$qa[$qaa$qao$qa!i$qa!m$qa#O$qa#k$qa#l$qa#m$qa#n$qa#o$qa#p$qa#q$qa#r$qa#s$qa#u$qa#w$qa#y$qa#z$qa'u$qa([$qa(m$qa!h$qa!V$qa's$qas$qa![$qa%f$qa!d$qa~P$'sO#h$saP$saR$sa[$saa$sao$sa!i$sa!m$sa#O$sa#k$sa#l$sa#m$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#u$sa#w$sa#y$sa#z$sa'u$sa([$sa(m$sa!h$sa!V$sa's$sas$sa![$sa%f$sa!d$sa~P$(fO#h%RaP%RaR%Ra[%Raa%Rao%Ra!Y%Ra!i%Ra!m%Ra#O%Ra#k%Ra#l%Ra#m%Ra#n%Ra#o%Ra#p%Ra#q%Ra#r%Ra#s%Ra#u%Ra#w%Ra#y%Ra#z%Ra'u%Ra([%Ra(m%Ra!h%Ra!V%Ra's%Ra#]%Ras%Ra![%Ra%f%Ra!d%Ra~P#.aOa#`q!Y#`q'u#`q's#`q!V#`q!h#`qs#`q![#`q%f#`q!d#`q~P!9mO!X3^O!Y'UX!h'UX~P%[O!Y.lO!h(fa~O!Y.lO!h(fa~P!9mO!V3aO~O#}!ka!Z!ka~PKPO#}!ga!Y!ga!Z!ga~P#D_O#}!oa!Z!oa~P!<TO#}!qa!Z!qa~P!>kOg'XX!Y'XX~P!+hO!Y.wOg(ka~OSfO![3uO$c3vO~O!Z3zO~Os3{O~P#.aOa$lq!Y$lq'u$lq's$lq!V$lq!h$lqs$lq![$lq%f$lq!d$lq~P!9mO!V3|O~P#.aO}){O!P)|O(u%QOk'ea(t'ea!Y'ea#]'ea~Og'ea#}'ea~P%+]O}){O!P)|Ok'ga(t'ga(u'ga!Y'ga#]'ga~Og'ga#}'ga~P%,OO(m$ZO~P#.aO!VfX!V$xX!YfX!Y$xX!d%PX#]fX~P!/gO(O;lO~P!1_OmkO(O4OO~P.iO!P%fO!X4QO![%gO(O%eO!Y'aX!h'aX~O!Y/hO!h(za~O!Y/hO!d#vO!h(za~O!Y/hO!d#vO(m'mO!h(za~Og$zi!Y$zi#]$zi#}$zi~P!0pO!X4YO!V'cX!Y'cX~P!3^O!Y/pO!V({a~O!Y/pO!V({a~P#.aO!d#vO#s4bO~Oo4eO!d#vO(m'mO~O(t%OOk%^i}%^i!P%^i(u%^i!Y%^i#]%^i~Og%^i#}%^i~P%0^O(u%QOk%`i}%`i!P%`i(t%`i!Y%`i#]%`i~Og%`i#}%`i~P%1POg(Yi!Y(Yi~P!0pO#]4lOg(Yi!Y(Yi~P!0pO!h4oO~Oa$mq!Y$mq'u$mq's$mq!V$mq!h$mqs$mq![$mq%f$mq!d$mq~P!9mO!V4sO~O!Y4tO![(|X~P#.aOa$xX![$xX%Z]X'u$xX!Y$xX~P!/gO%Z4wOalXklX}lX!PlX![lX'ulX(tlX(ulX!YlX~O%Z4wO~Ob4}O%g5OO(O+kO(QTO(TUO!Y'pX!Z'pX~O!Y0wO!Z)Ta~O[5SO~O`5TO~Oa%lO'u%lO~P#.aO![$}O~P#.aO!Y5]O#]5_O!Z)QX~O!Z5`O~Op!nO!P5aO!_!yO!`!vO!a!vO!y:lO#Q!pO#R!pO#S!pO#T!pO#U!pO#X5fO#Y!zO(P!lO(QTO(TUO(`!mO(j!sO~O!Z5eO~P%6ZOk5kO![1aO%f5jO~Oh%WOk5kO![1aO%f5jO~Ob5rO(O#nO(QTO(TUO!Y'oX!Z'oX~O!Y1lO!Z)Ra~O(QTO(TUO(`5tO~O`5xO~O#s5{O&W5|O~PMlO!h5}O~P%[Oa6PO~Oa6PO~P%[Ob2SO!Z6UO&f2RO~P`O!d6WO~O!d6YOh(ei!Y(ei!Z(ei!d(ei!i(ei~O!Y#ei!Z#ei~P#D_O#]6ZO!Y#ei!Z#ei~O!Y!^i!Z!^i~P#D_Oa%lO#]6dO'u%lO~Oa%lO!d#vO#]6dO'u%lO~O!Y(oq!h(oqa(oq'u(oq~P!9mO!Y(fO!h(nq~O!P%fO![%gO#g6kO(O%eO~O![']O%f6nO~Ok6rO![']O%f6nO~O#h'eaP'eaR'ea['eaa'eao'ea!i'ea!m'ea#O'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#s'ea#u'ea#w'ea#y'ea#z'ea'u'ea(['ea(m'ea!h'ea!V'ea's'eas'ea!['ea%f'ea!d'ea~P%+]O#h'gaP'gaR'ga['gaa'gao'ga!i'ga!m'ga#O'ga#k'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#u'ga#w'ga#y'ga#z'ga'u'ga(['ga(m'ga!h'ga!V'ga's'gas'ga!['ga%f'ga!d'ga~P%,OO#h$ziP$ziR$zi[$zia$zio$zi!Y$zi!i$zi!m$zi#O$zi#k$zi#l$zi#m$zi#n$zi#o$zi#p$zi#q$zi#r$zi#s$zi#u$zi#w$zi#y$zi#z$zi'u$zi([$zi(m$zi!h$zi!V$zi's$zi#]$zis$zi![$zi%f$zi!d$zi~P#.aO#h%^iP%^iR%^i[%^ia%^io%^i!i%^i!m%^i#O%^i#k%^i#l%^i#m%^i#n%^i#o%^i#p%^i#q%^i#r%^i#s%^i#u%^i#w%^i#y%^i#z%^i'u%^i([%^i(m%^i!h%^i!V%^i's%^is%^i![%^i%f%^i!d%^i~P%0^O#h%`iP%`iR%`i[%`ia%`io%`i!i%`i!m%`i#O%`i#k%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#u%`i#w%`i#y%`i#z%`i'u%`i([%`i(m%`i!h%`i!V%`i's%`is%`i![%`i%f%`i!d%`i~P%1PO!Y'Ua!h'Ua~P!9mO!Y.lO!h(fi~O#}#`i!Y#`i!Z#`i~P#D_OP$]OR#zO}#yO!P#{O!i#xO!m$]O([VO[#jio#ji#O#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~O#k#ji~P%HpO#k:tO~P%HpOP$]OR#zO}#yO!P#{O!i#xO!m$]O#k:tO#l:uO#m:uO#n:uO([VO[#ji#O#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~Oo#ji~P%JxOo:vO~P%JxOP$]OR#zOo:vO}#yO!P#{O!i#xO!m$]O#k:tO#l:uO#m:uO#n:uO#o:wO([VO#u#ji#w#ji#y#ji#z#ji#}#ji(m#ji(t#ji(u#ji!Y#ji!Z#ji~O[#ji#O#ji#p#ji#q#ji#r#ji#s#ji~P%MQO[;SO#O:xO#p:xO#q:xO#r;RO#s:xO~P%MQOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO([VO(u#}O#y#ji#z#ji#}#ji(m#ji(t#ji!Y#ji!Z#ji~O#w:{O~P& iO#w#ji~P& iOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO([VO#y#ji#z#ji#}#ji(m#ji!Y#ji!Z#ji~O#w#ji(t#ji(u#ji~P&#qO#w:{O(t#|O(u#}O~P&#qOP$]OR#zO[;SOo:vO}#yO!P#{O!i#xO!m$]O#O:xO#k:tO#l:uO#m:uO#n:uO#o:wO#p:xO#q:xO#r;RO#s:xO#u:yO#w:{O#y:}O([VO(t#|O(u#}O~O#z#ji#}#ji(m#ji!Y#ji!Z#ji~P&&POa#{y!Y#{y'u#{y's#{y!V#{y!h#{ys#{y![#{y%f#{y!d#{y~P!9mOk<qO}){O!P)|O(t%OO(u%QO~OP#jiR#ji[#jio#ji!i#ji!m#ji#O#ji#k#ji#l#ji#m#ji#n#ji#o#ji#p#ji#q#ji#r#ji#s#ji#u#ji#w#ji#y#ji#z#ji#}#ji([#ji(m#ji!Y#ji!Z#ji~P&(tO#P$dOP(ZXR(ZX[(ZXk(ZXo(ZX}(ZX!P(ZX!i(ZX!m(ZX#O(ZX#k(ZX#l(ZX#m(ZX#n(ZX#o(ZX#p(ZX#q(ZX#r(ZX#s(ZX#u(ZX#w(ZX#y(ZX#z(ZX#}(ZX([(ZX(m(ZX(t(ZX(u(ZX!Y(ZX!Z(ZX~O#}$Oi!Y$Oi!Z$Oi~P#D_O#}!oi!Z!oi~P$*TOg'Xa!Y'Xa~P!0pO!Z7UO~O!Y'`a!Z'`a~P#D_OP]XR]X[]Xo]X}]X!P]X!V]X!Y]X!i]X!m]X#O]X#P]X#]]X#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X~O!d%WX#s%WX~P&-}O!d#vO(m'mO!Y'aa!h'aa~O!Y/hO!h(zi~O!Y/hO!d#vO!h(zi~Og$zq!Y$zq#]$zq#}$zq~P!0pO!V'ca!Y'ca~P#.aO!d7]O~O!Y/pO!V({i~P#.aO!Y/pO!V({i~O!V7aO~O!d#vO#s7fO~Oo7gO!d#vO(m'mO~O}){O!P)|O(u%QOk'fa(t'fa!Y'fa#]'fa~Og'fa#}'fa~P&2mO}){O!P)|Ok'ha(t'ha(u'ha!Y'ha#]'ha~Og'ha#}'ha~P&3`O!V7iO~Og$|q!Y$|q#]$|q#}$|q~P!0pOa$my!Y$my'u$my's$my!V$my!h$mys$my![$my%f$my!d$my~P!9mO!d6YO~O!Y4tO![(|a~O![']OP$SaR$Sa[$Sao$Sa}$Sa!P$Sa!Y$Sa!i$Sa!m$Sa#O$Sa#k$Sa#l$Sa#m$Sa#n$Sa#o$Sa#p$Sa#q$Sa#r$Sa#s$Sa#u$Sa#w$Sa#y$Sa#z$Sa([$Sa(m$Sa(t$Sa(u$Sa~O%f6nO~P&5iOa#`y!Y#`y'u#`y's#`y!V#`y!h#`ys#`y![#`y%f#`y!d#`y~P!9mO[7nO~Ob7pO(O+kO(QTO(TUO~O!Y0wO!Z)Ti~O`7tO~O(`(xO!Y'lX!Z'lX~O!Y5]O!Z)Qa~O!Z7}O~P%6ZOp!nO!P8OO(QTO(TUO(`!mO(j!sO~O![1aO~O![1aO%f8QO~Ok8TO![1aO%f8QO~O[8YO!Y'oa!Z'oa~O!Y1lO!Z)Ri~O!h8^O~O!h8_O~O!h8bO~O!h8bO~P%[Oa8dO~O!d8eO~O!h8fO~O!Y(ri!Z(ri~P#D_Oa%lO#]8nO'u%lO~O!Y(oy!h(oya(oy'u(oy~P!9mO!Y(fO!h(ny~O%f8qO~P&5iO![']O%f8qO~O#h$zqP$zqR$zq[$zqa$zqo$zq!Y$zq!i$zq!m$zq#O$zq#k$zq#l$zq#m$zq#n$zq#o$zq#p$zq#q$zq#r$zq#s$zq#u$zq#w$zq#y$zq#z$zq'u$zq([$zq(m$zq!h$zq!V$zq's$zq#]$zqs$zq![$zq%f$zq!d$zq~P#.aO#h'faP'faR'fa['faa'fao'fa!i'fa!m'fa#O'fa#k'fa#l'fa#m'fa#n'fa#o'fa#p'fa#q'fa#r'fa#s'fa#u'fa#w'fa#y'fa#z'fa'u'fa(['fa(m'fa!h'fa!V'fa's'fas'fa!['fa%f'fa!d'fa~P&2mO#h'haP'haR'ha['haa'hao'ha!i'ha!m'ha#O'ha#k'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#u'ha#w'ha#y'ha#z'ha'u'ha(['ha(m'ha!h'ha!V'ha's'has'ha!['ha%f'ha!d'ha~P&3`O#h$|qP$|qR$|q[$|qa$|qo$|q!Y$|q!i$|q!m$|q#O$|q#k$|q#l$|q#m$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#u$|q#w$|q#y$|q#z$|q'u$|q([$|q(m$|q!h$|q!V$|q's$|q#]$|qs$|q![$|q%f$|q!d$|q~P#.aO!Y'Ui!h'Ui~P!9mO#}#`q!Y#`q!Z#`q~P#D_O(t%OOP%^aR%^a[%^ao%^a!i%^a!m%^a#O%^a#k%^a#l%^a#m%^a#n%^a#o%^a#p%^a#q%^a#r%^a#s%^a#u%^a#w%^a#y%^a#z%^a#}%^a([%^a(m%^a!Y%^a!Z%^a~Ok%^a}%^a!P%^a(u%^a~P&FgO(u%QOP%`aR%`a[%`ao%`a!i%`a!m%`a#O%`a#k%`a#l%`a#m%`a#n%`a#o%`a#p%`a#q%`a#r%`a#s%`a#u%`a#w%`a#y%`a#z%`a#}%`a([%`a(m%`a!Y%`a!Z%`a~Ok%`a}%`a!P%`a(t%`a~P&HkOk<qO}){O!P)|O(u%QO~P&FgOk<qO}){O!P)|O(t%OO~P&HkOR0`O}0`O!P0aO#P$dOPza[zakzaoza!iza!mza#Oza#kza#lza#mza#nza#oza#pza#qza#rza#sza#uza#wza#yza#zza#}za([za(mza(tza(uza!Yza!Zza~O}){O!P)|OP$qaR$qa[$qak$qao$qa!i$qa!m$qa#O$qa#k$qa#l$qa#m$qa#n$qa#o$qa#p$qa#q$qa#r$qa#s$qa#u$qa#w$qa#y$qa#z$qa#}$qa([$qa(m$qa(t$qa(u$qa!Y$qa!Z$qa~O}){O!P)|OP$saR$sa[$sak$sao$sa!i$sa!m$sa#O$sa#k$sa#l$sa#m$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#u$sa#w$sa#y$sa#z$sa#}$sa([$sa(m$sa(t$sa(u$sa!Y$sa!Z$sa~OP%RaR%Ra[%Rao%Ra!i%Ra!m%Ra#O%Ra#k%Ra#l%Ra#m%Ra#n%Ra#o%Ra#p%Ra#q%Ra#r%Ra#s%Ra#u%Ra#w%Ra#y%Ra#z%Ra#}%Ra([%Ra(m%Ra!Y%Ra!Z%Ra~P&(tO#}$lq!Y$lq!Z$lq~P#D_O#}$mq!Y$mq!Z$mq~P#D_O!Z9OO~O#}9PO~P!0pO!d#vO!Y'ai!h'ai~O!d#vO(m'mO!Y'ai!h'ai~O!Y/hO!h(zq~O!V'ci!Y'ci~P#.aO!Y/pO!V({q~O!V9VO~P#.aO!V9VO~Og(Yy!Y(Yy~P!0pO!Y'ja!['ja~P#.aOa%Yq![%Yq'u%Yq!Y%Yq~P#.aO[9[O~O!Y0wO!Z)Tq~O#]9`O!Y'la!Z'la~O!Y5]O!Z)Qi~P#D_O![1aO%f9dO~O(QTO(TUO(`9iO~O!Y1lO!Z)Rq~O!h9lO~O!h9mO~O!h9nO~O!h9nO~P%[O#]9qO!Y#ey!Z#ey~O!Y#ey!Z#ey~P#D_O%f9vO~P&5iO![']O%f9vO~O#}#{y!Y#{y!Z#{y~P#D_OP$ziR$zi[$zio$zi!i$zi!m$zi#O$zi#k$zi#l$zi#m$zi#n$zi#o$zi#p$zi#q$zi#r$zi#s$zi#u$zi#w$zi#y$zi#z$zi#}$zi([$zi(m$zi!Y$zi!Z$zi~P&(tO}){O!P)|O(u%QOP'eaR'ea['eak'eao'ea!i'ea!m'ea#O'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#s'ea#u'ea#w'ea#y'ea#z'ea#}'ea(['ea(m'ea(t'ea!Y'ea!Z'ea~O}){O!P)|OP'gaR'ga['gak'gao'ga!i'ga!m'ga#O'ga#k'ga#l'ga#m'ga#n'ga#o'ga#p'ga#q'ga#r'ga#s'ga#u'ga#w'ga#y'ga#z'ga#}'ga(['ga(m'ga(t'ga(u'ga!Y'ga!Z'ga~O(t%OOP%^iR%^i[%^ik%^io%^i}%^i!P%^i!i%^i!m%^i#O%^i#k%^i#l%^i#m%^i#n%^i#o%^i#p%^i#q%^i#r%^i#s%^i#u%^i#w%^i#y%^i#z%^i#}%^i([%^i(m%^i(u%^i!Y%^i!Z%^i~O(u%QOP%`iR%`i[%`ik%`io%`i}%`i!P%`i!i%`i!m%`i#O%`i#k%`i#l%`i#m%`i#n%`i#o%`i#p%`i#q%`i#r%`i#s%`i#u%`i#w%`i#y%`i#z%`i#}%`i([%`i(m%`i(t%`i!Y%`i!Z%`i~O#}$my!Y$my!Z$my~P#D_O#}#`y!Y#`y!Z#`y~P#D_O!d#vO!Y'aq!h'aq~O!Y/hO!h(zy~O!V'cq!Y'cq~P#.aO!V:PO~P#.aO!Y0wO!Z)Ty~O!Y5]O!Z)Qq~O![1aO%f:WO~O!h:ZO~O%f:`O~P&5iOP$zqR$zq[$zqo$zq!i$zq!m$zq#O$zq#k$zq#l$zq#m$zq#n$zq#o$zq#p$zq#q$zq#r$zq#s$zq#u$zq#w$zq#y$zq#z$zq#}$zq([$zq(m$zq!Y$zq!Z$zq~P&(tO}){O!P)|O(u%QOP'faR'fa['fak'fao'fa!i'fa!m'fa#O'fa#k'fa#l'fa#m'fa#n'fa#o'fa#p'fa#q'fa#r'fa#s'fa#u'fa#w'fa#y'fa#z'fa#}'fa(['fa(m'fa(t'fa!Y'fa!Z'fa~O}){O!P)|OP'haR'ha['hak'hao'ha!i'ha!m'ha#O'ha#k'ha#l'ha#m'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#u'ha#w'ha#y'ha#z'ha#}'ha(['ha(m'ha(t'ha(u'ha!Y'ha!Z'ha~OP$|qR$|q[$|qo$|q!i$|q!m$|q#O$|q#k$|q#l$|q#m$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#u$|q#w$|q#y$|q#z$|q#}$|q([$|q(m$|q!Y$|q!Z$|q~P&(tOg%b!Z!Y%b!Z#]%b!Z#}%b!Z~P!0pO!Y'lq!Z'lq~P#D_O!Y#e!Z!Z#e!Z~P#D_O#h%b!ZP%b!ZR%b!Z[%b!Za%b!Zo%b!Z!Y%b!Z!i%b!Z!m%b!Z#O%b!Z#k%b!Z#l%b!Z#m%b!Z#n%b!Z#o%b!Z#p%b!Z#q%b!Z#r%b!Z#s%b!Z#u%b!Z#w%b!Z#y%b!Z#z%b!Z'u%b!Z([%b!Z(m%b!Z!h%b!Z!V%b!Z's%b!Z#]%b!Zs%b!Z![%b!Z%f%b!Z!d%b!Z~P#.aOP%b!ZR%b!Z[%b!Zo%b!Z!i%b!Z!m%b!Z#O%b!Z#k%b!Z#l%b!Z#m%b!Z#n%b!Z#o%b!Z#p%b!Z#q%b!Z#r%b!Z#s%b!Z#u%b!Z#w%b!Z#y%b!Z#z%b!Z#}%b!Z([%b!Z(m%b!Z!Y%b!Z!Z%b!Z~P&(tOs(aX~P1qO}%pO~P!(oO(P!lO~P!(oO!VfX!YfX#]fX~P&-}OP]XR]X[]Xo]X}]X!P]X!Y]X!YfX!i]X!m]X#O]X#P]X#]]X#]fX#hfX#k]X#l]X#m]X#n]X#o]X#p]X#q]X#r]X#s]X#u]X#w]X#y]X#z]X$P]X([]X(m]X(t]X(u]X~O!dfX!h]X!hfX(mfX~P'CvOP:kOQ:kOSfOd<fOe!iOmkOo:kOpkOqkOwkOy:kO{:kO!PWO!TkO!UkO![XO!f:nO!iZO!l:kO!m:kO!n:kO!p:oO!r:rO!u!hO$V!kO(O)YO(QTO(TUO([VO(j[O(y<dO~O!Y;PO!Z$oa~Oh%WOm%XOo$uOp$tOq$tOw%YOy%ZO{;ZO!P$|O![$}O!f<kO!i$yO#g;aO$V%_O$r;]O$t;_O$w%`O(O(rO(QTO(TUO([$vO(t%OO(u%QO~O#t)`O~P'HlOo!bX(m!bX~P# ZO!Z]X!ZfX~P'CvO!VfX!V$xX!YfX!Y$xX#]fX~P!/gO#h:sO~O!d#vO#h:sO~O#];TO~O#s:xO~O#];dO!Y(rX!Z(rX~O#];TO!Y(pX!Z(pX~O#h;eO~Og;gO~P!0pO#h;mO~O#h;nO~O!d#vO#h;oO~O!d#vO#h;eO~O#};pO~P#D_O#h;qO~O#h;rO~O#h;wO~O#h;xO~O#h;yO~O#h;zO~O#};{O~P!0pO#};|O~P!0pO#P#Q#R#T#U#X#f#g#r(y$r$t$w%Z%e%f%g%n%p%s%t%v%x~'yT#l!U'w(P#mp#k#no}'x$['x(O$^(`~",goto:"$2y)XPPPPPP)YPP)]P)nP+O/PPPPP5wPP6_PP<U?kP@OP@OPPP@OPBOP@OP@OP@OPBSPBXPBvPGoPPPGsPPPPGsJuPPPJ{KwPGsPGsPPNVGsPPPGsPGsP!!^GsP!%s!&x!'RP!'u!'y!'u!+VPPPPPPP!+v!&xPP!,W!-QP!/tGsGs!/y!3U!7l!7l!;jPPP!;rGsPPPPPPPPPPP!?QP!@_PPGs!ApPGsPGsGsGsGsGsPGs!CSP!F]P!IbP!If!Ip!It!ItP!FYP!Ix!IxP!L}P!MRGsGs!MX#!]BS@OP@OP@O@OP##i@O@O#%s@O#(c@O#*g@O@O#+V#-c#-c#-h#-q#-c#-zP#-cP@O#.d@O#2T@O@O5wPPP#5zPPP#6e#6eP#6eP#6{#6ePP#7RP#6xP#6x#7f#6x#8Q#8W5t)]#8Z)]P#8b#8b#8bP)]P)]P)]P)]PP)]P#8h#8kP#8k)]P#8oP#8rP)]P)]P)]P)]P)]P)])]PP#8x#9O#9Z#9a#9g#9m#9s#:R#:X#:c#:i#:s#:y#;Z#;a#<R#<e#<k#<q#=P#=f#?T#?c#?j#AO#A^#Bx#CW#C^#Cd#Cj#Ct#Cz#DQ#D[#Dn#DtPPPPPPPPPP#DzPPPPPPP#Eo#Hv#JV#J^#JfPPP$ lP$ u$$m$+V$+Y$+]$+x$+{$,S$,[P$,b$,eP$-R$-V$-}$/]$/b$/xPP$/}$0T$0XP$0[$0`$0d$1Y$1q$2Y$2^$2a$2d$2j$2m$2q$2uR!|RoqOXst!Z#d%k&o&q&r&t,k,p1|2PY!vQ']-]1a5dQ%rvQ%zyQ&R|Q&g!VS'T!e-TQ'c!iS'i!r!yU*f$}*W*kQ+i%{Q+v&TQ,[&aQ-Z'[Q-e'dQ-m'jQ0R*mQ1k,]R;b:o%QdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V,h,k,p-a-i-w-}.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3^5a5k5{5|6P6d8O8T8d8nS#q]:l!r)[$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gU*y%[;Y;ZQ+n%}Q,^&dQ,e&lQ0m+aQ0q+cQ0|+oQ1s,cQ3Q._Q4}0wQ5r1lQ6p3UQ7p5OR8t6r'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gt!nQ!r!v!y!z'T'[']'i'j'k-T-Z-]-m1a5d5f$z$ti#v$b$c$d$y$|%P%R%]%^%b)v)|*O*Q*S*V*]*c*s*t+`+c+z+}.^.w/]/e/o/p/r0V0X0d1W1Z1c3T3}4Y4b4l4t4w5j6n7]7f8Q8q9P9d9v:W:`;R;S;U;V;W;X;[;];^;_;`;a;h;i;j;k;m;n;q;r;s;t;u;v;w;x;{;|<d<l<m<p<qQ&U|Q'R!eU'X%g*W-WQ+n%}Q,^&dQ0c*|Q0|+oQ1R+uQ1r,bQ1s,cQ4}0wQ5W1TQ5r1lQ5u1nQ5v1qQ7p5OQ7s5TQ8]5xQ9_7tR9j8YrnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PR,`&h&x^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<f<g[#]WZ#W#Z'U(P!b%hm#h#i#l$y%c%f(Y(d(e(f*V*Z*^+T+U+W,g,}-{.R.S.T.V/e/h2U2|2}4Q6Y6kQ%uxQ%yyS&O|&TQ&[!TQ'`!hQ'b!iQ(m#sS+h%z%{Q+l%}Q,V&_Q,Z&aS-d'c'dQ.a(nQ0u+iQ0{+oQ0}+pQ1Q+tQ1f,WS1j,[,]Q2n-eQ4|0wQ5Q0zQ5V1SQ5q1kQ7o5OQ7r5SQ9Z7nR:R9[!O${i$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<m!S%wy!i!u%y%z%{'S'b'c'd'h'r*e+h+i-Q-d-e-l/y0u2g2n2u4dQ+b%uQ+{&XQ,O&YQ,Y&aQ.`(mQ1e,VU1i,Z,[,]Q3V.aQ5l1fS5p1j1kQ8X5q#[<h#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qo<i;R;S;V;X;];_;a;i;k;n;r;t;v;x;|W%Ui%W*u<dS&X!Q&fQ&Y!RQ&Z!SR+y&V${%Ti#v$b$c$d$y$|%P%R%]%^%b)v)|*O*Q*S*V*]*c*s*t+`+c+z+}.^.w/]/e/o/p/r0V0X0d1W1Z1c3T3}4Y4b4l4t4w5j6n7]7f8Q8q9P9d9v:W:`;R;S;U;V;W;X;[;];^;_;`;a;h;i;j;k;m;n;q;r;s;t;u;v;w;x;{;|<d<l<m<p<qT)w$v)xV*y%[;Y;ZW'X!e%g*W-WS(y#y#zQ+]%pQ+s&QS.Y(i(jQ1[,PQ4m0`R7x5]'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<g$i$_c#Y#e%o%q%s(O(U(p(u(})O)P)Q)R)S)T)U)V)W)X)Z)])c)m+^+r-R-p-u-z-|.k.n.r.t.u.v/X0e2]2`2p2w3]3b3c3d3e3f3g3h3i3j3k3l3m3n3q3r3y4q4z6]6c6h6w6x7R7S7z8h8l8v8|8}9s:T:[:m<ZT#TV#U'PkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gQ'V!eR2c-Tv!nQ!e!r!v!y!z'T'[']'i'j'k-T-Z-]-m1a5d5fU*e$}*W*kS/y*f*mQ0S*nQ1^,RQ4d0RR4g0UnqOXst!Z#d%k&o&q&r&t,k,p1|2PQ&v!^Q's!xS(o#u:sQ+f%xQ,T&[Q,U&^Q-b'aQ-o'lS.j(t;eS0f+R;oQ0s+gQ1`,SQ2T,rQ2V,sQ2_-OQ2l-cQ2o-gS4r0g;yQ4x0tS4{0v;zQ6[2aQ6`2mQ6e2tQ7m4yQ8i6^Q8j6aQ8m6fR9p8f$d$^c#Y#e%q%s(O(U(p(u(})O)P)Q)R)S)T)U)V)W)X)Z)])c)m+^+r-R-p-u-z-|.k.n.r.u.v/X0e2]2`2p2w3]3b3c3d3e3f3g3h3i3j3k3l3m3n3q3r3y4q4z6]6c6h6w6x7R7S7z8h8l8v8|8}9s:T:[:m<ZS(k#p'fQ({#zS+[%o.tS.Z(j(lR3O.['OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gS#q]:lQ&q!XQ&r!YQ&t![Q&u!]R1{,nQ'^!hQ+_%uQ-`'`S.](m+bQ2j-_W3S.`.a0l0nQ6_2kW6l3P3R3V4vU8p6m6o6qU9u8r8s8uS:^9t9wQ:f:_R:i:gU!wQ']-]T5b1a5d!Q_OXZ`st!V!Z#d#h%c%k&f&h&o&q&r&t(f,k,p.S1|2P]!pQ!r']-]1a5dT#q]:l%[{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nS(y#y#zS.Y(i(j!s<Q$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gU$fd)[,eS(l#p'fU*r%S(s3pU0b*x.f6}Q4v0mQ6m3QQ8s6pR9w8tm!tQ!r!v!y!z']'i'j'k-]-m1a5d5fQ'q!uS(b#g1vS-k'h'tQ/k*YQ/w*eQ2v-nQ4U/lS4_/x0SQ7X4PS7d4e4gQ9R7YR9Y7gQ#wbQ'p!uS(a#g1vS(c#m+QQ+S%dQ+d%vQ+j%|U-j'h'q'tQ.O(bQ/j*YQ/v*eQ/|*hQ0r+eQ1g,XS2s-k-nQ2{.WS4T/k/lS4^/w0SQ4a/{Q4c/}Q5n1hQ6g2vQ7W4PQ7[4US7`4_4gQ7e4fQ8V5oS9Q7X7YQ9U7aQ9W7dQ9g8WQ9}9RQ:O9VQ:Q9YQ:Y9hQ:b:PQ<T<OQ<`<XR<a<YV!wQ']-]%[aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nS#wz!j!r;}$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gR<T<f%[bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nQ%dj!S%vy!i!u%y%z%{'S'b'c'd'h'r*e+h+i-Q-d-e-l/y0u2g2n2u4dS%|z!jQ+e%wQ,X&aW1h,Y,Z,[,]U5o1i1j1kS8W5p5qQ9h8X!r<O$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gQ<X<eR<Y<f%OeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8nY#bWZ#W#Z(P!b%hm#h#i#l$y%c%f(Y(d(e(f*V*Z*^+T+U+W,g,}-{.R.S.T.V/e/h2U2|2}4Q6Y6kQ,f&l!p<P$[$n)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gR<S'UU'Y!e%g*WR2e-W%QdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V,h,k,p-a-i-w-}.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3^5a5k5{5|6P6d8O8T8d8n!r)[$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gQ,e&lQ0m+aQ3Q._Q6p3UR8t6r!b$Uc#Y%o(O(U(p(u)W)X)])c+r-p-u-z-|.k.n/X0e2p2w3]3n4q4z6c6h6w8l9s:m!P:z)Z)m-R.t2]2`3b3l3m3q3y6]6x7R7S7z8h8v8|8}:T:[<Z!f$Wc#Y%o(O(U(p(u)T)U)W)X)])c+r-p-u-z-|.k.n/X0e2p2w3]3n4q4z6c6h6w8l9s:m!T:|)Z)m-R.t2]2`3b3i3j3l3m3q3y6]6x7R7S7z8h8v8|8}:T:[<Z!^$[c#Y%o(O(U(p(u)])c+r-p-u-z-|.k.n/X0e2p2w3]3n4q4z6c6h6w8l9s:mQ3}/cz<g)Z)m-R.t2]2`3b3q3y6]6x7R7S7z8h8v8|8}:T:[<ZQ<l<nR<m<o'OkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gS$oh$pR3v.|'VgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n$p%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.|.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gT$kf$qQ$ifS)f$l)jR)r$qT$jf$qT)h$l)j'VhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$`$e$n$p%k%r&P&h&k&l&o&q&r&t&x'Q'U'_'o(P(R(X(`(t(v(z)o)z+R+V+a,h,k,p,|-P-a-i-w-}._.l.s.|.}/f0a0g0v1d1t1u1w1y1|2P2R2b2r2x3U3^3u5_5a5k5{5|6P6Z6d6r8O8T8d8n9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<gT$oh$pQ$rhR)q$p%[jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Y$`$e%k%r&P&h&k&l&o&q&r&t&x'Q'_'o(P(R(X(`(t(v(z)z+R+V+a,h,k,p-a-i-w-}._.l.s/f0a0g0v1d1t1u1w1y1|2P2R2r2x3U3^5a5k5{5|6P6d6r8O8T8d8n!s<e$[$n'U)o,|-P.}2b3u5_6Z9`9q:k:n:o:r:s:t:u:v:w:x:y:z:{:|:};O;P;T;b;d;e;g;o;p;y;z<g#elOPXZst!Z!`!o#S#d#o#{$n%k&h&k&l&o&q&r&t&x'Q'_(z)o+V+a,h,k,p-a._.}/f0a1d1t1u1w1y1|2P2R3U3u5a5k5{5|6P6r8O8T8d!O%Si$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<m#[(s#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qQ*}%`Q/Y){o3p;R;S;V;X;];_;a;i;k;n;r;t;v;x;|!O$zi$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<mQ*_${U*h$}*W*kQ+O%aQ/}*i#[<V#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qn<W;R;S;V;X;];_;a;i;k;n;r;t;v;x;|Q<[<hQ<]<iQ<^<jR<_<k!O%Si$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<m#[(s#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qo3p;R;S;V;X;];_;a;i;k;n;r;t;v;x;|noOXst!Z#d%k&o&q&r&t,k,p1|2PS*b$|*VQ,y&{Q,z&}R4X/p$z%Ti#v$b$c$d$y$|%P%R%]%^%b)v)|*O*Q*S*V*]*c*s*t+`+c+z+}.^.w/]/e/o/p/r0V0X0d1W1Z1c3T3}4Y4b4l4t4w5j6n7]7f8Q8q9P9d9v:W:`;R;S;U;V;W;X;[;];^;_;`;a;h;i;j;k;m;n;q;r;s;t;u;v;w;x;{;|<d<l<m<p<qQ+|&YQ1Y,OQ5Z1XR7w5[V*j$}*W*kU*j$}*W*kT5c1a5dU/{*g/f5aT4f0T8OQ+d%vQ/|*hQ0r+eQ1g,XQ5n1hQ8V5oQ9g8WR:Y9h!O%Pi$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<mr*O$w)a*P*q+P/n0Z0[3s4V4p7V7h9|<U<b<cS0V*p0W#[;U#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qn;V;R;S;V;X;];_;a;i;k;n;r;t;v;x;|!^;h(q)_*X*a.b.e.i/U/Z/c/s0k1V1X3Y4W4[5Y5[6s6v7^7b7j7l9T9X:a<n<o`;i3o6y6|7Q8w9x9{:jS;s.d3ZT;t6{8z!O%Ri$d%P%R%]%^%b*O*Q*]*s*t.w/o0V0X0d3}4l9P<d<l<mv*Q$w)a*R*p+P/_/n0Z0[3s4V4h4p7V7h9|<U<b<cS0X*q0Y#[;W#v$b$c$y$|)v)|*S*V*c+`+c+z+}.^/]/e/p/r1W1Z1c3T4Y4b4t4w5j6n7]7f8Q8q9d9v:W:`;U;W;[;^;`;h;j;m;q;s;u;w;{<p<qn;X;R;S;V;X;];_;a;i;k;n;r;t;v;x;|!b;j(q)_*X*a.c.d.i/U/Z/c/s0k1V1X3W3Y4W4[5Y5[6s6t6v7^7b7j7l9T9X:a<n<od;k3o6z6{7Q8w8x9x9y9{:jS;u.e3[T;v6|8{rnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PQ&c!UR,h&lrnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PR&c!UQ,Q&ZR1U+ysnOXst!V!Z#d%k&f&o&q&r&t,k,p1|2PQ1b,VS5i1e1fU8P5g5h5lS9c8R8SS:U9b9eQ:c:VR:h:dQ&j!VR,a&fR5u1nS&O|&TR0}+pQ&o!WR,k&pR,q&uT1},p2PR,u&vQ,t&vR2W,uQ'v!{R-q'vSsOtQ#dXT%ns#dQ#OTR'x#OQ#RUR'z#RQ)x$vR/V)xQ#UVR'|#UQ#XWU(S#X(T-xQ(T#YR-x(UQ-U'VR2d-UQ.m(uS3_.m3`R3`.nQ-]']R2h-]Y!rQ']-]1a5dR'g!rQ.x)aR3t.xU#_W%f*VU(Z#_([-yQ([#`R-y(VQ-X'YR2f-Xt`OXst!V!Z#d%k&f&h&o&q&r&t,k,p1|2PS#hZ%cU#r`#h.SR.S(fQ(g#jQ.P(cW.X(g.P2y6iQ2y.QR6i2zQ)j$lR/O)jQ$phR)p$pQ$acU)^$a-t;QQ-t:mR;Q)mQ/i*YW4R/i4S7Z9SU4S/j/k/lS7Z4T4UR9S7[$X)}$w(q)_)a*X*a*p*q*z*{+P.d.e.g.h.i/U/Z/_/a/c/n/s0Z0[0k1V1X3W3X3Y3o3s4V4W4[4h4j4p5Y5[6s6t6u6v6{6|7O7P7Q7V7^7b7h7j7l8w8x8y9T9X9x9y9z9{9|:a:j<U<b<c<n<oQ/q*aU4Z/q4]7_Q4]/sR7_4[S*k$}*WR0P*kr*P$w)a*p*q+P/n0Z0[3s4V4p7V7h9|<U<b<c!^.b(q)_*X*a.d.e.i/U/Z/c/s0k1V1X3Y4W4[5Y5[6s6v7^7b7j7l9T9X:a<n<oU/`*P.b6ya6y3o6{6|7Q8w9x9{:jQ0W*pQ3Z.dU4i0W3Z8zR8z6{v*R$w)a*p*q+P/_/n0Z0[3s4V4h4p7V7h9|<U<b<c!b.c(q)_*X*a.d.e.i/U/Z/c/s0k1V1X3W3Y4W4[5Y5[6s6t6v7^7b7j7l9T9X:a<n<oU/b*R.c6ze6z3o6{6|7Q8w8x9x9y9{:jQ0Y*qQ3[.eU4k0Y3[8{R8{6|Q*v%VR0^*vQ4u0kR7k4uQ+X%iR0j+XQ5^1[S7y5^9aR9a7zQ,S&[R1_,SQ5d1aR7|5dQ1m,^S5s1m8ZR8Z5uQ0x+lW5P0x5R7q9]Q5R0{Q7q5QR9]7rQ+q&OR1O+qQ2P,pR6T2PYrOXst#dQ&s!ZQ+Z%kQ,j&oQ,l&qQ,m&rQ,o&tQ1z,kS1},p2PR6S1|Q%mpQ&w!_Q&z!aQ&|!bQ'O!cQ'n!uQ+Y%jQ+f%xQ+x&UQ,`&jQ,w&yW-h'h'p'q'tQ-o'lQ0O*jQ0s+gS1p,a,dQ2X,vQ2Y,yQ2Z,zQ2o-gW2q-j-k-n-pQ4x0tQ5U1RQ5X1VQ5m1gQ5w1rQ6R1{U6b2p2s2vQ6e2tQ7m4yQ7u5WQ7v5YQ7{5cQ8U5nQ8[5vS8k6c6gQ8m6fQ9^7sQ9f8VQ9k8]Q9r8lQ:S9_Q:X9gQ:]9sR:e:YQ%xyQ'a!iQ'l!uU+g%y%z%{Q-O'SU-c'b'c'dS-g'h'rQ/u*eS0t+h+iQ2a-QS2m-d-eQ2t-lQ4`/yQ4y0uQ6^2gQ6a2nQ6f2uR7c4dS$xi<dR*w%WU%Vi%W<dR0]*uQ$wiS(q#v+cS)_$b$cQ)a$dQ*X$yS*a$|*VQ*p%PQ*q%RQ*z%]Q*{%^Q+P%bQ.d;UQ.e;WQ.g;[Q.h;^Q.i;`Q/U)vS/Z)|/]Q/_*OQ/a*QQ/c*SQ/n*]S/s*c/eQ0Z*sQ0[*th0k+`.^1c3T5j6n8Q8q9d9v:W:`Q1V+zQ1X+}Q3W;hQ3X;jQ3Y;mS3o;R;SQ3s.wQ4V/oQ4W/pQ4[/rQ4h0VQ4j0XQ4p0dQ5Y1WQ5[1ZQ6s;qQ6t;sQ6u;uQ6v;wQ6{;VQ6|;XQ7O;]Q7P;_Q7Q;aQ7V3}Q7^4YQ7b4bQ7h4lQ7j4tQ7l4wQ8w;nQ8x;iQ8y;kQ9T7]Q9X7fQ9x;rQ9y;tQ9z;vQ9{;xQ9|9PQ:a;{Q:j;|Q<U<dQ<b<lQ<c<mQ<n<pR<o<qQ*x%[Q.f;YR6};ZnpOXst!Z#d%k&o&q&r&t,k,p1|2PQ!fPS#fZ#oQ&y!`U'e!o5a8OQ'{#SQ(|#{Q)n$nS,d&h&kQ,i&lQ,v&xQ,{'QQ-_'_Q.p(zQ/S)oS0h+V/fQ0n+aQ1x,hQ2k-aQ3R._Q3x.}Q4n0aQ5h1dQ5y1tQ5z1uQ6O1wQ6Q1yQ6V2RQ6q3UQ7T3uQ8S5kQ8`5{Q8a5|Q8c6PQ8u6rQ9e8TR9o8d#YcOPXZst!Z!`!o#d#o#{%k&h&k&l&o&q&r&t&x'Q'_(z+V+a,h,k,p-a._/f0a1d1t1u1w1y1|2P2R3U5a5k5{5|6P6r8O8T8dQ#YWQ#eYQ%ouQ%qvS%sw!gS(O#W(RQ(U#ZQ(p#uQ(u#xQ(}$OQ)O$PQ)P$QQ)Q$RQ)R$SQ)S$TQ)T$UQ)U$VQ)V$WQ)W$XQ)X$YQ)Z$[Q)]$`Q)c$eW)m$n)o.}3uQ+^%rQ+r&PS-R'U2bQ-p'oS-u(P-wQ-z(XQ-|(`Q.k(tQ.n(vQ.r:kQ.t:nQ.u:oQ.v:rQ/X)zQ0e+RQ2],|Q2`-PQ2p-iQ2w-}Q3].lQ3b:sQ3c:tQ3d:uQ3e:vQ3f:wQ3g:xQ3h:yQ3i:zQ3j:{Q3k:|Q3l:}Q3m;OQ3n.sQ3q;TQ3r;bQ3y;PQ4q0gQ4z0vQ6];dQ6c2rQ6h2xQ6w3^Q6x;eQ7R;gQ7S;oQ7z5_Q8h6ZQ8l6dQ8v;pQ8|;yQ8};zQ9s8nQ:T9`Q:[9qQ:m#SR<Z<gR#[WR'W!el!tQ!r!v!y!z']'i'j'k-]-m1a5d5fS'S!e-TS-Q'T'[R2g-ZR(w#xQ!fQT-[']-]]!qQ!r']-]1a5dQ#p]R'f:lR)b$dY!uQ']-]1a5dQ'h!rS'r!v!yS't!z5fS-l'i'jQ-n'kR2u-mT#kZ%cS#jZ%cS%im,gU(c#h#i#lS.Q(d(eQ.U(fQ0i+WQ2z.RU2{.S.T.VS6j2|2}R8o6kd#^W#W#Z%f(P(Y*V+T-{/er#gZm#h#i#l%c(d(e(f+W.R.S.T.V2|2}6kS*Y$y*^Q/l*ZQ1v,gQ2^,}Q4P/hQ6X2UQ7Y4QQ8g6YT<R'U+UV#aW%f*VU#`W%f*VS(Q#W(YU(V#Z+T/eS-S'U+UT-v(P-{V'Z!e%g*WQ$lfR)t$qT)i$l)jR3w.|T*[$y*^T*d$|*VQ0l+`Q3P.^Q5g1cQ6o3TQ8R5jQ8r6nQ9b8QQ9t8qQ:V9dQ:_9vQ:d:WR:g:`nqOXst!Z#d%k&o&q&r&t,k,p1|2PQ&i!VR,`&ftmOXst!U!V!Z#d%k&f&o&q&r&t,k,p1|2PR,g&lT%jm,gR1],PR,_&dQ&S|R+w&TR+m%}T&m!W&pT&n!W&pT2O,p2P",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:376,context:a,nodeProps:[["isolate",-8,5,6,14,34,36,48,50,52,""],["group",-26,9,17,19,65,204,208,212,213,215,218,221,231,233,239,241,243,245,248,254,260,262,264,266,268,270,271,"Statement",-34,13,14,29,32,33,39,48,51,52,54,59,67,69,73,77,79,81,82,107,108,117,118,135,138,140,141,142,143,144,146,147,166,167,169,"Expression",-23,28,30,34,38,40,42,171,173,175,176,178,179,180,182,183,184,186,187,188,198,200,202,203,"Type",-3,85,100,106,"ClassItem"],["openedBy",23,"<",35,"InterpolationStart",53,"[",57,"{",70,"(",159,"JSXStartCloseTag"],["closedBy",24,">",37,"InterpolationEnd",47,"]",58,"}",71,")",164,"JSXEndTag"]],propSources:[f],skippedNodes:[0,5,6,274],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$h&j(U!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(U!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$h&j(RpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(RpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$h&j(Rp(U!b'w0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(S#S$h&j'x0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$h&j(Rp(U!b'x0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$h&j!m),Q(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#u(Ch$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#u(Ch$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(Q':f$h&j(U!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$h&j(U!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$h&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$c`$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$c``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$c`$h&j(U!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(U!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$c`(U!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$h&j(Rp(U!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$h&j(Rp(U!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$h&j(U!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$h&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(U!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$h&j(RpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(RpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Rp(U!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$h&j(j%1l(Rp(U!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$h&j(Rp(U!b$[#t(O,2j(`$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$h&j(Rp(U!b$[#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$h&j(Rp(U!b#m(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$h&j$P(Ch(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(u+JY$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$h&j#y(Ch(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(T';W$h&j(RpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$h&j(RpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$h&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$c`$h&j(RpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(RpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$c`(RpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!i/.^$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!h!Lf$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$h&j(Rp(U!b(P%&f#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$h&j(Rp(U!b#k(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$h&j(Rp(U!bo+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!Y+Jf$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$h&j(Rp(U!b}.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_!X!L^$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$h&j(Rp(U!b#l(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$h&j(Rp(U!b!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$h&j(U!b!U7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$h&j!U7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$h&j!U7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!U7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!U7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$h&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$h&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$h&j(U!b!U7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(U!b!U7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(U!b!U7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(U!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$h&j(U!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$h&j(Rp!U7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$h&j(Rp!U7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Rp!U7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Rp!U7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(RpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$h&j(RpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$h&j(Rp(U!b!U7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Rp(U!b!U7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Rp(U!b!U7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Rp(U!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$h&j(Rp(U!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$h&j(Rp(U!b'y0/l!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$h&j(Rp(U!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$h&j(U!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$h&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(U!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$h&j(RpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(RpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Rp(U!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$h&j$P(Ch(Rp(U!b!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Y#t$h&j(Rp(U!b!U7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$h&j(Rp(U!bp'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!d$b$h&j#})Lv(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#O-<U(Rp(U!b(y7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$j&j(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#o(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$P(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#p(Ch(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#]*!Y$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#h(Cl$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#p(Ch$e#|$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#p(Ch$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#o(Ch$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#o(Ch$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(m(Ct$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$h&j#z(Ch(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!y$Ip$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!P0,v$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$h&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$h&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$h&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$h&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$h&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$h&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!V#)l$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#w(Ch$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$h&j(Rp(U!b([+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$h&j(Rp(U!b(O,2j$^#t(`$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$h&j(Rp(U!b$^#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X![#Hb(Rp(U!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(t+JY$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z(Kd$?V_!Z(Cds`$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!n7`$h&j(Rp(U!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$h&j(Rp(U!b'w0/l$[#t(O,2j(`$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$h&j(Rp(U!b'x0/l$[#t(O,2j(`$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[h,c,d,2,3,4,5,6,7,8,9,10,11,12,13,14,l,new n.uC("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOu~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!R~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(^~~",141,335),new n.uC("j~RQYZXz{^~^O'{~~aP!P!Qd~iO'|~~",25,318)],topRules:{Script:[0,7],SingleExpression:[1,272],SingleClassItem:[2,273]},dialects:{jsx:0,ts:14769},dynamicPrecedences:{77:1,79:1,91:1,167:1,196:1},specialized:[{term:322,get:t=>p[t]||-1},{term:338,get:t=>m[t]||-1},{term:92,get:t=>g[t]||-1}],tokenPrec:14793});var v=i(29565),y=i(87988),b=i(80624),x=i(18007),_=i(95900);const S=[(0,x.Gw)("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),(0,x.Gw)("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),(0,x.Gw)("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),(0,x.Gw)("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),(0,x.Gw)("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),(0,x.Gw)("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),(0,x.Gw)("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),(0,x.Gw)("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),(0,x.Gw)("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),(0,x.Gw)('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),(0,x.Gw)('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],P=S.concat([(0,x.Gw)("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),(0,x.Gw)("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),(0,x.Gw)("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),k=new _.RY,C=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function defID(t){return(e,i)=>{let n=e.node.getChild("VariableDefinition");return n&&i(n,t),!0}}const Q=["FunctionDeclaration"],T={FunctionDeclaration:defID("function"),ClassDeclaration:defID("class"),ClassExpression:()=>!0,EnumDeclaration:defID("constant"),TypeAliasDeclaration:defID("type"),NamespaceDeclaration:defID("namespace"),VariableDefinition(t,e){t.matchContext(Q)||e(t,"variable")},TypeDefinition(t,e){e(t,"type")},__proto__:null};function getScope(t,e){let i=k.get(e);if(i)return i;let n=[],o=!0;function def(e,i){let o=t.sliceString(e.from,e.to);n.push({label:o,type:i})}return e.cursor(_.Qj.IncludeAnonymous).iterate((e=>{if(o)o=!1;else if(e.name){let t=T[e.name];if(t&&t(e,def)||C.has(e.name))return!1}else if(e.to-e.from>8192){for(let i of getScope(t,e.node))n.push(i);return!1}})),k.set(e,n),n}const A=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,R=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function localCompletionSource(t){let e=(0,v.mv)(t.state).resolveInner(t.pos,-1);if(R.indexOf(e.name)>-1)return null;let i="VariableName"==e.name||e.to-e.from<20&&A.test(t.state.sliceDoc(e.from,e.to));if(!i&&!t.explicit)return null;let n=[];for(let i=e;i;i=i.parent)C.has(i.name)&&(n=n.concat(getScope(t.state.doc,i)));return{options:n,from:i?e.from:t.pos,validFor:A}}const Z=v.bj.define({name:"javascript",parser:O.configure({props:[v.Oh.add({IfStatement:(0,v.mz)({except:/^\s*({|else\b)/}),TryStatement:(0,v.mz)({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:v._Y,SwitchBody:t=>{let e=t.textAfter,i=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return t.baseIndent+(i?0:n?1:2)*t.unit},Block:(0,v.Ay)({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"TemplateString BlockComment":()=>null,"Statement Property":(0,v.mz)({except:/^{/}),JSXElement(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},JSXEscape(t){let e=/\s*\}/.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"JSXOpenTag JSXSelfClosingTag":t=>t.column(t.node.from)+t.unit}),v.b_.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":v.yd,BlockComment:t=>({from:t.from+2,to:t.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),M={test:t=>/^JSX/.test(t.name),facet:(0,v.p9)({commentTokens:{block:{open:"{/*",close:"*/}"}}})},L=Z.configure({dialect:"ts"},"typescript"),E=Z.configure({dialect:"jsx",props:[v.Q0.add((t=>t.isTop?[M]:void 0))]}),D=Z.configure({dialect:"jsx ts",props:[v.Q0.add((t=>t.isTop?[M]:void 0))]},"typescript");let kwCompletion=t=>({label:t,type:"keyword"});const z="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(kwCompletion),I=z.concat(["declare","implements","private","protected","public"].map(kwCompletion));function javascript(t={}){let e=t.jsx?t.typescript?D:E:t.typescript?L:Z,i=t.typescript?P.concat(I):S.concat(z);return new v.Yy(e,[Z.data.of({autocomplete:(0,x.Ar)(R,(0,x.et)(i))}),Z.data.of({autocomplete:localCompletionSource}),t.jsx?B:[]])}function elementName(t,e,i=t.length){for(let n=null==e?void 0:e.firstChild;n;n=n.nextSibling)if("JSXIdentifier"==n.name||"JSXBuiltin"==n.name||"JSXNamespacedName"==n.name||"JSXMemberExpression"==n.name)return t.sliceString(n.from,Math.min(n.to,i));return""}const W="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),B=b.Lz.inputHandler.of(((t,e,i,n,o)=>{if((W?t.composing:t.compositionStarted)||t.state.readOnly||e!=i||">"!=n&&"/"!=n||!Z.isActiveAt(t.state,e,-1))return!1;let s=o(),{state:a}=s,l=a.changeByRange((t=>{var e;let i,{head:o}=t,s=(0,v.mv)(a).resolveInner(o-1,-1);if("JSXStartTag"==s.name&&(s=s.parent),a.doc.sliceString(o-1,o)!=n||"JSXAttributeValue"==s.name&&s.to>o);else{if(">"==n&&"JSXFragmentTag"==s.name)return{range:t,changes:{from:o,insert:"</>"}};if("/"==n&&"JSXStartCloseTag"==s.name){let t=s.parent,n=t.parent;if(n&&t.from==o-2&&((i=elementName(a.doc,n.firstChild,o))||"JSXFragmentTag"==(null===(e=n.firstChild)||void 0===e?void 0:e.name))){let t=`${i}>`;return{range:y.OF.cursor(o+t.length,-1),changes:{from:o,insert:t}}}}else if(">"==n){let e=function findOpenTag(t){for(;;){if("JSXOpenTag"==t.name||"JSXSelfClosingTag"==t.name||"JSXFragmentTag"==t.name)return t;if("JSXEscape"==t.name||!t.parent)return null;t=t.parent}}(s);if(e&&"JSXOpenTag"==e.name&&!/^\/?>|^<\//.test(a.doc.sliceString(o,o+2))&&(i=elementName(a.doc,e,o)))return{range:t,changes:{from:o,insert:`</${i}>`}}}}return{range:t}}));return!l.changes.empty&&(t.dispatch([s,a.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}))},40017:(t,e,i)=>{"use strict";i.d(e,{Pq:()=>json});var n=i(46273),o=i(7295);const s=(0,o.pn)({String:o._A.string,Number:o._A.number,"True False":o._A.bool,PropertyName:o._A.propertyName,Null:o._A.null,",":o._A.separator,"[ ]":o._A.squareBracket,"{ }":o._A.brace}),a=n.U1.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",stateData:"#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",goto:"!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",12,"["],["closedBy",8,"}",13,"]"]],propSources:[s],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zOh~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yOg~~'OO]~~'TO[~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var l=i(29565);const h=l.bj.define({name:"json",parser:a.configure({props:[l.Oh.add({Object:(0,l.mz)({except:/^\s*\}/}),Array:(0,l.mz)({except:/^\s*\]/})}),l.b_.add({"Object Array":l.yd})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function json(){return new l.Yy(h)}},2008:(t,e,i)=>{"use strict";i.r(e),i.d(e,{Cassandra:()=>L,MSSQL:()=>Z,MariaSQL:()=>R,MySQL:()=>A,PLSQL:()=>E,PostgreSQL:()=>k,SQLDialect:()=>SQLDialect,SQLite:()=>M,StandardSQL:()=>P,keywordCompletion:()=>keywordCompletion,keywordCompletionSource:()=>keywordCompletionSource,schemaCompletion:()=>schemaCompletion,schemaCompletionSource:()=>schemaCompletionSource,sql:()=>sql});var n=i(29565),o=i(7295),s=i(46273),a=i(18007);const l=5,h=6,c=20,d=21,f=24;function isAlpha(t){return t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57}function readLiteral(t,e,i){for(let n=!1;;){if(t.next<0)return;if(t.next==e&&!n)return void t.advance();n=i&&!n&&92==t.next,t.advance()}}function readWord(t,e){for(;95==t.next||isAlpha(t.next);)null!=e&&(e+=String.fromCharCode(t.next)),t.advance();return e}function readBits(t,e){for(;48==t.next||49==t.next;)t.advance();e&&t.next==e&&t.advance()}function readNumber(t,e){for(;;){if(46==t.next){if(e)break;e=!0}else if(t.next<48||t.next>57)break;t.advance()}if(69==t.next||101==t.next)for(t.advance(),43!=t.next&&45!=t.next||t.advance();t.next>=48&&t.next<=57;)t.advance()}function eol(t){for(;!(t.next<0||10==t.next);)t.advance()}function inString(t,e){for(let i=0;i<e.length;i++)if(e.charCodeAt(i)==t)return!0;return!1}const p=" \t\r\n";function keywords(t,e,i){let n=Object.create(null);n.true=n.false=l,n.null=n.unknown=h;for(let e of t.split(" "))e&&(n[e]=c);for(let t of e.split(" "))t&&(n[t]=d);for(let t of(i||"").split(" "))t&&(n[t]=f);return n}const m="array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ",g="absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ",O={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,plsqlQuotingMechanism:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',words:keywords(g,m)};function tokensFor(t){return new s.Lu((e=>{var i;let{next:n}=e;if(e.advance(),inString(n,p)){for(;inString(e.next,p);)e.advance();e.acceptToken(36)}else if(36==n&&t.doubleDollarQuotedStrings){let t=readWord(e,"");36==e.next&&(e.advance(),function readDoubleDollarLiteral(t,e){t:for(;;){if(t.next<0)return console.log("exit at end",t.pos);if(36==t.next){t.advance();for(let i=0;i<e.length;i++){if(t.next!=e.charCodeAt(i))continue t;t.advance()}if(36==t.next)return void t.advance()}else t.advance()}}(e,t),e.acceptToken(3))}else if(39==n||34==n&&t.doubleQuotedStrings)readLiteral(e,n,t.backslashEscapes),e.acceptToken(3);else if(35==n&&t.hashComments||47==n&&47==e.next&&t.slashComments)eol(e),e.acceptToken(1);else if(45!=n||45!=e.next||t.spaceAfterDashes&&32!=e.peek(1))if(47==n&&42==e.next){e.advance();for(let t=1;;){let i=e.next;if(e.next<0)break;if(e.advance(),42==i&&47==e.next){if(t--,e.advance(),!t)break}else 47==i&&42==e.next&&(t++,e.advance())}e.acceptToken(2)}else if(101!=n&&69!=n||39!=e.next)if(110!=n&&78!=n||39!=e.next||!t.charSetCasts)if(95==n&&t.charSetCasts)for(let i=0;;i++){if(39==e.next&&i>1){e.advance(),readLiteral(e,39,t.backslashEscapes),e.acceptToken(3);break}if(!isAlpha(e.next))break;e.advance()}else if(t.plsqlQuotingMechanism&&(113==n||81==n)&&39==e.next&&e.peek(1)>0&&!inString(e.peek(1),p)){let t=e.peek(1);e.advance(2),function readPLSQLQuotedLiteral(t,e){let i="[{<(".indexOf(String.fromCharCode(e)),n=i<0?e:"]}>)".charCodeAt(i);for(;;){if(t.next<0)return;if(t.next==n&&39==t.peek(1))return void t.advance(2);t.advance()}}(e,t),e.acceptToken(3)}else if(40==n)e.acceptToken(7);else if(41==n)e.acceptToken(8);else if(123==n)e.acceptToken(9);else if(125==n)e.acceptToken(10);else if(91==n)e.acceptToken(11);else if(93==n)e.acceptToken(12);else if(59==n)e.acceptToken(13);else if(t.unquotedBitLiterals&&48==n&&98==e.next)e.advance(),readBits(e),e.acceptToken(22);else if(98!=n&&66!=n||39!=e.next&&34!=e.next){if(48==n&&(120==e.next||88==e.next)||(120==n||88==n)&&39==e.next){let t=39==e.next;for(e.advance();(o=e.next)>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=70;)e.advance();t&&39==e.next&&e.advance(),e.acceptToken(4)}else if(46==n&&e.next>=48&&e.next<=57)readNumber(e,!0),e.acceptToken(4);else if(46==n)e.acceptToken(14);else if(n>=48&&n<=57)readNumber(e,!1),e.acceptToken(4);else if(inString(n,t.operatorChars)){for(;inString(e.next,t.operatorChars);)e.advance();e.acceptToken(15)}else if(inString(n,t.specialVar))e.next==n&&e.advance(),function readWordOrQuoted(t){if(39==t.next||34==t.next||96==t.next){let e=t.next;t.advance(),readLiteral(t,e,!1)}else readWord(t)}(e),e.acceptToken(17);else if(inString(n,t.identifierQuotes))readLiteral(e,n,!1),e.acceptToken(19);else if(58==n||44==n)e.acceptToken(16);else if(isAlpha(n)){let o=readWord(e,String.fromCharCode(n));e.acceptToken(46==e.next||46==e.peek(-o.length-1)?18:null!==(i=t.words[o.toLowerCase()])&&void 0!==i?i:18)}}else{const i=e.next;e.advance(),t.treatBitsAsBytes?(readLiteral(e,i,t.backslashEscapes),e.acceptToken(23)):(readBits(e,i),e.acceptToken(22))}else e.advance(),readLiteral(e,39,t.backslashEscapes),e.acceptToken(3);else e.advance(),readLiteral(e,39,!0);else eol(e),e.acceptToken(1);var o}))}const v=tokensFor(O),y=s.U1.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,v],topRules:{Script:[0,25]},tokenPrec:0});function tokenBefore(t){let e=t.cursor().moveTo(t.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function idName(t,e){let i=t.sliceString(e.from,e.to),n=/^([`'"])(.*)\1$/.exec(i);return n?n[2]:i}function plainID(t){return t&&("Identifier"==t.name||"QuotedIdentifier"==t.name)}function pathFor(t,e){if("CompositeIdentifier"==e.name){let i=[];for(let n=e.firstChild;n;n=n.nextSibling)plainID(n)&&i.push(idName(t,n));return i}return[idName(t,e)]}function parentsFor(t,e){for(let i=[];;){if(!e||"."!=e.name)return i;let n=tokenBefore(e);if(!plainID(n))return i;i.unshift(idName(t,n)),e=tokenBefore(n)}}function sourceContext(t,e){let i=(0,n.mv)(t).resolveInner(e,-1),o=function getAliases(t,e){let i;for(let t=e;!i;t=t.parent){if(!t)return null;"Statement"==t.name&&(i=t)}let n=null;for(let e=i.firstChild,o=!1,s=null;e;e=e.nextSibling){let i="Keyword"==e.name?t.sliceString(e.from,e.to).toLowerCase():null,a=null;if(o)if("as"==i&&s&&plainID(e.nextSibling))a=idName(t,e.nextSibling);else{if(i&&b.has(i))break;s&&plainID(e)&&(a=idName(t,e))}else o="from"==i;a&&(n||(n=Object.create(null)),n[a]=pathFor(t,s)),s=/Identifier$/.test(e.name)?e:null}return n}(t.doc,i);return"Identifier"==i.name||"QuotedIdentifier"==i.name||"Keyword"==i.name?{from:i.from,quoted:"QuotedIdentifier"==i.name?t.doc.sliceString(i.from,i.from+1):null,parents:parentsFor(t.doc,tokenBefore(i)),aliases:o}:"."==i.name?{from:e,quoted:null,parents:parentsFor(t.doc,i),aliases:o}:{from:e,quoted:null,parents:[],empty:!0,aliases:o}}const b=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));const x=/^\w*$/,_=/^[`'"]?\w*[`'"]?$/;function isSelfTag(t){return t.self&&"string"==typeof t.self.label}class CompletionLevel{constructor(t){this.idQuote=t,this.list=[],this.children=void 0}child(t){let e=this.children||(this.children=Object.create(null)),i=e[t];return i||(t&&!this.list.some((e=>e.label==t))&&this.list.push(nameCompletion(t,"type",this.idQuote)),e[t]=new CompletionLevel(this.idQuote))}maybeChild(t){return this.children?this.children[t]:null}addCompletion(t){let e=this.list.findIndex((e=>e.label==t.label));e>-1?this.list[e]=t:this.list.push(t)}addCompletions(t){for(let e of t)this.addCompletion("string"==typeof e?nameCompletion(e,"property",this.idQuote):e)}addNamespace(t){Array.isArray(t)?this.addCompletions(t):isSelfTag(t)?this.addNamespace(t.children):this.addNamespaceObject(t)}addNamespaceObject(t){for(let e of Object.keys(t)){let i=t[e],n=null,o=e.replace(/\\?\./g,(t=>"."==t?"\0":t)).split("\0"),s=this;isSelfTag(i)&&(n=i.self,i=i.children);for(let t=0;t<o.length;t++)n&&t==o.length-1&&s.addCompletion(n),s=s.child(o[t].replace(/\\\./g,"."));s.addNamespace(i)}}}function nameCompletion(t,e,i){return/^[a-z_][a-z_\d]*$/.test(t)?{label:t,type:e}:{label:t,type:e,apply:i+t+i}}let S=y.configure({props:[n.Oh.add({Statement:(0,n.mz)()}),n.b_.add({Statement:(t,e)=>({from:Math.min(t.from+100,e.doc.lineAt(t.from).to),to:t.to}),BlockComment:t=>({from:t.from+2,to:t.to-2})}),(0,o.pn)({Keyword:o._A.keyword,Type:o._A.typeName,Builtin:o._A.standard(o._A.name),Bits:o._A.number,Bytes:o._A.string,Bool:o._A.bool,Null:o._A.null,Number:o._A.number,String:o._A.string,Identifier:o._A.name,QuotedIdentifier:o._A.special(o._A.string),SpecialVar:o._A.special(o._A.name),LineComment:o._A.lineComment,BlockComment:o._A.blockComment,Operator:o._A.operator,"Semi Punctuation":o._A.punctuation,"( )":o._A.paren,"{ }":o._A.brace,"[ ]":o._A.squareBracket})]});class SQLDialect{constructor(t,e,i){this.dialect=t,this.language=e,this.spec=i}get extension(){return this.language.extension}static define(t){let e=function dialect(t,e,i,n){let o={};for(let e in O)o[e]=(t.hasOwnProperty(e)?t:O)[e];return e&&(o.words=keywords(e,i||"",n)),o}(t,t.keywords,t.types,t.builtin),i=n.bj.define({name:"sql",parser:S.configure({tokenizers:[{from:v,to:tokensFor(e)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new SQLDialect(e,i,t)}}function keywordCompletionSource(t,e=!1){return function completeKeywords(t,e){let i=Object.keys(t).map((i=>({label:e?i.toUpperCase():i,type:t[i]==d?"type":t[i]==c?"keyword":"variable",boost:-1})));return(0,a.Ar)(["QuotedIdentifier","SpecialVar","String","LineComment","BlockComment","."],(0,a.et)(i))}(t.dialect.words,e)}function keywordCompletion(t,e=!1){return t.language.data.of({autocomplete:keywordCompletionSource(t,e)})}function schemaCompletionSource(t){return t.schema?function completeFromSchema(t,e,i,n,o,s){var a;let l=(null===(a=null==s?void 0:s.spec.identifierQuotes)||void 0===a?void 0:a[0])||'"',h=new CompletionLevel(l),c=o?h.child(o):null;return h.addNamespace(t),e&&(c||h).addCompletions(e),i&&h.addCompletions(i),c&&h.addCompletions(c.list),n&&h.addCompletions((c||h).child(n).list),t=>{let{parents:e,from:i,quoted:o,empty:s,aliases:a}=sourceContext(t.state,t.pos);if(s&&!t.explicit)return null;a&&1==e.length&&(e=a[e[0]]||e);let l=h;for(let t of e){for(;!l.children||!l.children[t];)if(l==h&&c)l=c;else{if(l!=c||!n)return null;l=l.child(n)}let e=l.maybeChild(t);if(!e)return null;l=e}let d=o&&t.state.sliceDoc(t.pos,t.pos+1)==o,f=l.list;return l==h&&a&&(f=f.concat(Object.keys(a).map((t=>({label:t,type:"constant"}))))),{from:i,to:d?t.pos+1:void 0,options:(p=o,m=f,p?m.map((t=>Object.assign(Object.assign({},t),{label:t.label[0]==p?t.label:p+t.label+p,apply:void 0}))):m),validFor:o?_:x};var p,m}}(t.schema,t.tables,t.schemas,t.defaultTable,t.defaultSchema,t.dialect||P):()=>null}function schemaCompletion(t){return t.schema?(t.dialect||P).language.data.of({autocomplete:schemaCompletionSource(t)}):[]}function sql(t={}){let e=t.dialect||P;return new n.Yy(e.language,[schemaCompletion(t),keywordCompletion(e,!!t.upperCaseKeywords)])}const P=SQLDialect.define({}),k=SQLDialect.define({charSetCasts:!0,doubleDollarQuotedStrings:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:g+"a abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom c cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion g generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull k key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower m mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner p parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time t table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:m+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text timetz timestamptz tsquery tsvector txid_snapshot uuid xml"}),C="accessible algorithm analyze asensitive authors auto_increment autocommit avg avg_row_length binlog btree cache catalog_name chain change changed checkpoint checksum class_origin client_statistics coalesce code collations columns comment committed completion concurrent consistent contains contributors convert database databases day_hour day_microsecond day_minute day_second delay_key_write delayed delimiter des_key_file dev_pop dev_samp deviance directory disable discard distinctrow div dual dumpfile enable enclosed ends engine engines enum errors escaped even event events every explain extended fast field fields flush force found_rows fulltext grants handler hash high_priority hosts hour_microsecond hour_minute hour_second ignore ignore_server_ids import index index_statistics infile innodb insensitive insert_method install invoker iterate keys kill linear lines list load lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modify mutex mysql_errno no_write_to_binlog offline offset one online optimize optionally outfile pack_keys parser partition partitions password phase plugin plugins prev processlist profile profiles purge query quick range read_write rebuild recover regexp relaylog remove rename reorganize repair repeatable replace require resume rlike row_format rtree schedule schema_name schemas second_microsecond security sensitive separator serializable server share show slave slow snapshot soname spatial sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result ssl starting starts std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace terminated triggers truncate uncommitted uninstall unlock upgrade use use_frm user_resources user_statistics utc_date utc_time utc_timestamp variables views warnings xa xor year_month zerofill",Q=m+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int1 int2 int3 int4 int8 float4 float8 varbinary varcharacter precision datetime unsigned signed",T="charset clear edit ego help nopager notee nowarning pager print prompt quit rehash source status system tee",A=SQLDialect.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:g+"group_concat "+C,types:Q,builtin:T}),R=SQLDialect.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:g+"always generated groupby_concat hard persistent shutdown soft virtual "+C,types:Q,builtin:T}),Z=SQLDialect.define({keywords:g+"trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec go if use index holdlock nolock nowait paglock pivot readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot tablock tablockx unpivot updlock with",types:m+"bigint smallint smallmoney tinyint money real text nvarchar ntext varbinary image hierarchyid uniqueidentifier sql_variant xml",builtin:"binary_checksum checksum connectionproperty context_info current_request_id error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big xact_state object_id",operatorChars:"*+-%<>!=^&|/",specialVar:"@"}),M=SQLDialect.define({keywords:g+"abort analyze attach autoincrement conflict database detach exclusive fail glob ignore index indexed instead isnull notnull offset plan pragma query raise regexp reindex rename replace temp vacuum virtual",types:m+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int2 int8 unsigned signed real",builtin:"auth backup bail changes clone databases dbinfo dump echo eqp explain fullschema headers help import imposter indexes iotrace lint load log mode nullvalue once print prompt quit restore save scanstats separator shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width",operatorChars:"*+-%<>!=&|/~",identifierQuotes:'`"',specialVar:"@:?$"}),L=SQLDialect.define({keywords:"add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime infinity NaN",types:m+"ascii bigint blob counter frozen inet list map static text timeuuid tuple uuid varint",slashComments:!0}),E=SQLDialect.define({keywords:g+"abort accept access add all alter and any arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body by case cast char_base check close cluster clusters colauth column comment commit compress connected constant constraint crash create current currval cursor data_base database dba deallocate debugoff debugon declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry exception exception_init exchange exclusive exists external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base of off offline on online only option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw rebuild record ref references refresh rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work",builtin:"appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define echo editfile embedded feedback flagger flush heading headsep instance linesize lno loboffset logsource longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar repfooter repheader serveroutput shiftinout show showmode spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout timing trimout trimspool ttitle underline verify version wrap",types:m+"ascii bfile bfilename bigserial bit blob dec long number nvarchar nvarchar2 serial smallint string text uid varchar2 xml",operatorChars:"*/+-%<>!=~",doubleQuotedStrings:!0,charSetCasts:!0,plsqlQuotingMechanism:!0})},71408:(t,e,i)=>{"use strict";i.d(e,{_n:()=>xml});var n=i(46273),o=i(7295);function nameChar(t){return 45==t||46==t||58==t||t>=65&&t<=90||95==t||t>=97&&t<=122||t>=161}let s=null,a=null,l=0;function tagNameAfter(t,e){let i=t.pos+e;if(a==t&&l==i)return s;for(;9==(n=t.peek(e))||10==n||13==n||32==n;)e++;var n;let o="";for(;;){let i=t.peek(e);if(!nameChar(i))break;o+=String.fromCharCode(i),e++}return a=t,l=i,s=o||null}function ElementContext(t,e){this.name=t,this.parent=e,this.hash=e?e.hash:0;for(let e=0;e<t.length;e++)this.hash+=(this.hash<<4)+t.charCodeAt(e)+(t.charCodeAt(e)<<8)}const h=new n.Aj({start:null,shift:(t,e,i,n)=>1==e?new ElementContext(tagNameAfter(n,1)||"",t):t,reduce:(t,e)=>11==e&&t?t.parent:t,reuse(t,e,i,n){let o=e.type.id;return 1==o||13==o?new ElementContext(tagNameAfter(n,1)||"",t):t},hash:t=>t?t.hash:0,strict:!1}),c=new n.Lu(((t,e)=>{if(60==t.next)if(t.advance(),47==t.next){t.advance();let i=tagNameAfter(t,0);if(!i)return t.acceptToken(5);if(e.context&&i==e.context.name)return t.acceptToken(2);for(let n=e.context;n;n=n.parent)if(n.name==i)return t.acceptToken(3,-2);t.acceptToken(4)}else if(33!=t.next&&63!=t.next)return t.acceptToken(1)}),{contextual:!0});function scanTo(t,e){return new n.Lu((i=>{let n=0,o=e.charCodeAt(0);t:for(;!(i.next<0);i.advance(),n++)if(i.next==o){for(let t=1;t<e.length;t++)if(i.peek(t)!=e.charCodeAt(t))continue t;break}n&&i.acceptToken(t)}))}const d=scanTo(35,"--\x3e"),f=scanTo(36,"?>"),p=scanTo(37,"]]>"),m=(0,o.pn)({Text:o._A.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":o._A.angleBracket,TagName:o._A.tagName,"MismatchedCloseTag/TagName":[o._A.tagName,o._A.invalid],AttributeName:o._A.attributeName,AttributeValue:o._A.attributeValue,Is:o._A.definitionOperator,"EntityReference CharacterReference":o._A.character,Comment:o._A.blockComment,ProcessingInst:o._A.processingInstruction,DoctypeDecl:o._A.documentMeta,Cdata:o._A.special(o._A.string)}),g=n.U1.deserialize({version:14,states:",SOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DS'#DSOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C{'#C{O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C|'#C|O$dOrO,59^OOOP,59^,59^OOOS'#C}'#C}O$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6y-E6yOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6z-E6zOOOP1G.x1G.xOOOS-E6{-E6{OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'jO!bO,59eOOOO-E6w-E6wO'xOpO1G.uO'xOpO1G.uOOOP1G.u1G.uO(QOpO7+$fOOOP7+$f7+$fO(YO!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(eO#tO'#CnOOOO1G.q1G.qO(sOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO({O#tO,59YOOOO,59Y,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.t",stateData:")Z~OPQOSVOTWOVWOWWOXWOiXOxPO}TO!PUO~OuZOw]O~O^`Oy^O~OPQOQcOSVOTWOVWOWWOXWOxPO}TO!PUO~ORdO~P!SOseO|gO~OthO!OjO~O^lOy^O~OuZOwoO~O^qOy^O~O[vO`sOdwOy^O~ORyO~P!SO^{Oy^O~OseO|}O~OthO!O!PO~O^!QOy^O~O[!SOy^O~O[!VO`sOd!WOy^O~Oa!YOy^O~Oy^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oy^O~O[!_Oy^O~O[!aOy^O~O[!cO`sOd!dOy^O~O[!cO`sOd!dO~Oa!eOy^O~Oy^Oz!gO~Oy^O[ma`madma~O[!jOy^O~O[!kOy^O~O[!lO`sOd!mO~OW!pOX!pOz!rO{!pO~O[!sOy^O~OW!pOX!pOz!vO{!pO~O",goto:"%[wPPPPPPPPPPxxP!OP!UPP!_!iP!oxxxP!u!{#R$Z$j$p$v$|PPPP%SXWORYbXRORYb_t`qru!T!U!bQ!h!YS!o!e!fR!t!nQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!i!nQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!i!]R!n!eQu`S!UqrU![u!U!bR!b!TQ!q!gR!u!qQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:47,context:h,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[m],skippedNodes:[0],repeatNodeCount:8,tokenData:"Jy~R!XOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs'ssv$nvw(Zw}$n}!O,^!O!P$n!P!Q.m!Q![$n![!]0V!]!^$n!^!_3h!_!`El!`!aF_!a!bGQ!b!c$n!c!}0V!}#P$n#P#QHj#Q#R$n#R#S0V#S#T$n#T#o0V#o%W$n%W%o0V%o%p$n%p&a0V&a&b$n&b1p0V1p4U$n4U4d0V4d4e$n4e$IS0V$IS$I`$n$I`$Ib0V$Ib$Kh$n$Kh%#t0V%#t&/x$n&/x&Et0V&Et&FV$n&FV;'S0V;'S;:j3b;:j;=`&e<%l?&r$n?&r?Ah0V?Ah?BY$n?BY?Mn0V?MnO$nX$uWVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nP%dTVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_P%vP;=`<%l%_W&OT{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yW&bP;=`<%l%yX&hP;=`<%l$n_&t_VP{WyUOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ'zTzYVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_~(^ast)c![!]*g!c!}*g#R#S*g#T#o*g%W%o*g%p&a*g&b1p*g4U4d*g4e$IS*g$I`$Ib*g$Kh%#t*g&/x&Et*g&FV;'S*g;'S;:j,W?&r?Ah*g?BY?Mn*g~)fQ!Q![)l#l#m)z~)oQ!Q![)l!]!^)u~)zOX~~)}R!Q![*W!c!i*W#T#Z*W~*ZS!Q![*W!]!^)u!c!i*W#T#Z*W~*jg}!O*g!O!P*g!Q![*g![!]*g!]!^,R!c!}*g#R#S*g#T#o*g$}%O*g%W%o*g%p&a*g&b1p*g1p4U*g4U4d*g4e$IS*g$I`$Ib*g$Je$Jg*g$Kh%#t*g&/x&Et*g&FV;'S*g;'S;:j,W?&r?Ah*g?BY?Mn*g~,WOW~~,ZP;=`<%l*gZ,eYVP{WOr$nrs%_sv$nw}$n}!O-T!O!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ-[YVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a-z!a;'S$n;'S;=`&e<%lO$nZ.TW|QVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n].tYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a/d!a;'S$n;'S;=`&e<%lO$n]/mWdSVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_0b!O`S^QVP{WOr$nrs%_sv$nw}$n}!O0V!O!P0V!P!Q$n!Q![0V![!]0V!]!^$n!^!_%y!_!c$n!c!}0V!}#R$n#R#S0V#S#T$n#T#o0V#o$}$n$}%O0V%O%W$n%W%o0V%o%p$n%p&a0V&a&b$n&b1p0V1p4U0V4U4d0V4d4e$n4e$IS0V$IS$I`$n$I`$Ib0V$Ib$Je$n$Je$Jg0V$Jg$Kh$n$Kh%#t0V%#t&/x$n&/x&Et0V&Et&FV$n&FV;'S0V;'S;:j3b;:j;=`&e<%l?&r$n?&r?Ah0V?Ah?BY$n?BY?Mn0V?MnO$n_3eP;=`<%l0VX3mW{WOq%yqr4Vsv%yw!a%y!a!bEU!b;'S%y;'S;=`&_<%lO%yX4[]{WOr%ysv%yw}%y}!O5T!O!f%y!f!g6V!g!}%y!}#O;f#O#W%y#W#XAr#X;'S%y;'S;=`&_<%lO%yX5YV{WOr%ysv%yw}%y}!O5o!O;'S%y;'S;=`&_<%lO%yX5vT}P{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX6[V{WOr%ysv%yw!q%y!q!r6q!r;'S%y;'S;=`&_<%lO%yX6vV{WOr%ysv%yw!e%y!e!f7]!f;'S%y;'S;=`&_<%lO%yX7bV{WOr%ysv%yw!v%y!v!w7w!w;'S%y;'S;=`&_<%lO%yX7|V{WOr%ysv%yw!{%y!{!|8c!|;'S%y;'S;=`&_<%lO%yX8hV{WOr%ysv%yw!r%y!r!s8}!s;'S%y;'S;=`&_<%lO%yX9SV{WOr%ysv%yw!g%y!g!h9i!h;'S%y;'S;=`&_<%lO%yX9nX{WOr9irs:Zsv9ivw:Zw!`9i!`!a:x!a;'S9i;'S;=`;`<%lO9iP:^TO!`:Z!`!a:m!a;'S:Z;'S;=`:r<%lO:ZP:rOiPP:uP;=`<%l:ZX;PTiP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX;cP;=`<%l9iX;kX{WOr%ysv%yw!e%y!e!f<W!f#V%y#V#W?f#W;'S%y;'S;=`&_<%lO%yX<]V{WOr%ysv%yw!f%y!f!g<r!g;'S%y;'S;=`&_<%lO%yX<wV{WOr%ysv%yw!c%y!c!d=^!d;'S%y;'S;=`&_<%lO%yX=cV{WOr%ysv%yw!v%y!v!w=x!w;'S%y;'S;=`&_<%lO%yX=}V{WOr%ysv%yw!c%y!c!d>d!d;'S%y;'S;=`&_<%lO%yX>iV{WOr%ysv%yw!}%y!}#O?O#O;'S%y;'S;=`&_<%lO%yX?VT{WxPOr%ysv%yw;'S%y;'S;=`&_<%lO%yX?kV{WOr%ysv%yw#W%y#W#X@Q#X;'S%y;'S;=`&_<%lO%yX@VV{WOr%ysv%yw#T%y#T#U@l#U;'S%y;'S;=`&_<%lO%yX@qV{WOr%ysv%yw#h%y#h#iAW#i;'S%y;'S;=`&_<%lO%yXA]V{WOr%ysv%yw#T%y#T#U>d#U;'S%y;'S;=`&_<%lO%yXAwV{WOr%ysv%yw#c%y#c#dB^#d;'S%y;'S;=`&_<%lO%yXBcV{WOr%ysv%yw#V%y#V#WBx#W;'S%y;'S;=`&_<%lO%yXB}V{WOr%ysv%yw#h%y#h#iCd#i;'S%y;'S;=`&_<%lO%yXCiV{WOr%ysv%yw#m%y#m#nDO#n;'S%y;'S;=`&_<%lO%yXDTV{WOr%ysv%yw#d%y#d#eDj#e;'S%y;'S;=`&_<%lO%yXDoV{WOr%ysv%yw#X%y#X#Y9i#Y;'S%y;'S;=`&_<%lO%yXE]T!PP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yZEuWaQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_FhW[UVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZGXYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aGw!a;'S$n;'S;=`&e<%lO$nZHQW!OQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZHqYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_#P$n#P#QIa#Q;'S$n;'S;=`&e<%lO$nZIhYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aJW!a;'S$n;'S;=`&e<%lO$nZJaWwQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n",tokenizers:[c,d,f,p,0,1,2,3],topRules:{Document:[0,6]},tokenPrec:0});var O=i(29565),v=i(87988),y=i(80624);function tagName(t,e){let i=e&&e.getChild("TagName");return i?t.sliceString(i.from,i.to):""}function elementName$1(t,e){let i=e&&e.firstChild;return i&&"OpenTag"==i.name?tagName(t,i):""}function findParentElement(t){for(let e=t&&t.parent;e;e=e.parent)if("Element"==e.name)return e;return null}class dist_Element{constructor(t,e,i){this.attrs=e,this.attrValues=i,this.children=[],this.name=t.name,this.completion=Object.assign(Object.assign({type:"type"},t.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=t.textContent?t.textContent.map((t=>({label:t,type:"text"}))):[]}}const b=/^[:\-\.\w\u00b7-\uffff]*$/;function attrCompletion(t){return Object.assign(Object.assign({type:"property"},t.completion||{}),{label:t.name})}function valueCompletion(t){return"string"==typeof t?{label:`"${t}"`,type:"constant"}:/^"/.test(t.label)?t:Object.assign(Object.assign({},t),{label:`"${t.label}"`})}function completeFromSchema(t,e){let i=[],n=[],o=Object.create(null);for(let t of e){let e=attrCompletion(t);i.push(e),t.global&&n.push(e),t.values&&(o[t.name]=t.values.map(valueCompletion))}let s=[],a=[],l=Object.create(null);for(let e of t){let t=n,h=o;e.attributes&&(t=t.concat(e.attributes.map((t=>"string"==typeof t?i.find((e=>e.label==t))||{label:t,type:"property"}:(t.values&&(h==o&&(h=Object.create(h)),h[t.name]=t.values.map(valueCompletion)),attrCompletion(t))))));let c=new dist_Element(e,t,h);l[c.name]=c,s.push(c),e.top&&a.push(c)}a.length||(a=s);for(let e=0;e<s.length;e++){let i=t[e],n=s[e];if(i.children)for(let t of i.children)l[t]&&n.children.push(l[t]);else n.children=s}return t=>{var e;let{doc:i}=t.state,h=function findLocation(t,e){var i;let n=(0,O.mv)(t).resolveInner(e,-1),o=null;for(let t=n;!o&&t.parent;t=t.parent)"OpenTag"!=t.name&&"CloseTag"!=t.name&&"SelfClosingTag"!=t.name&&"MismatchedCloseTag"!=t.name||(o=t);if(o&&(o.to>e||o.lastChild.type.isError)){let t=o.parent;if("TagName"==n.name)return"CloseTag"==o.name||"MismatchedCloseTag"==o.name?{type:"closeTag",from:n.from,context:t}:{type:"openTag",from:n.from,context:findParentElement(t)};if("AttributeName"==n.name)return{type:"attrName",from:n.from,context:o};if("AttributeValue"==n.name)return{type:"attrValue",from:n.from,context:o};let i=n==o||"Attribute"==n.name?n.childBefore(e):n;return"StartTag"==(null==i?void 0:i.name)?{type:"openTag",from:e,context:findParentElement(t)}:"StartCloseTag"==(null==i?void 0:i.name)&&i.to<=e?{type:"closeTag",from:e,context:t}:"Is"==(null==i?void 0:i.name)?{type:"attrValue",from:e,context:o}:i?{type:"attrName",from:e,context:o}:null}if("StartCloseTag"==n.name)return{type:"closeTag",from:e,context:n.parent};for(;n.parent&&n.to==e&&!(null===(i=n.lastChild)||void 0===i?void 0:i.type.isError);)n=n.parent;return"Element"==n.name||"Text"==n.name||"Document"==n.name?{type:"tag",from:e,context:"Element"==n.name?n:findParentElement(n)}:null}(t.state,t.pos);if(!h||"tag"==h.type&&!t.explicit)return null;let{type:c,from:d,context:f}=h;if("openTag"==c){let t=a,e=elementName$1(i,f);if(e){let i=l[e];t=(null==i?void 0:i.children)||s}return{from:d,options:t.map((t=>t.completion)),validFor:b}}if("closeTag"==c){let n=elementName$1(i,f);return n?{from:d,to:t.pos+(">"==i.sliceString(t.pos,t.pos+1)?1:0),options:[(null===(e=l[n])||void 0===e?void 0:e.closeNameCompletion)||{label:n+">",type:"type"}],validFor:b}:null}if("attrName"==c){let t=l[tagName(i,f)];return{from:d,options:(null==t?void 0:t.attrs)||n,validFor:b}}if("attrValue"==c){let e=function attrName(t,e,i){let n=e&&e.getChildren("Attribute").find((t=>t.from<=i&&t.to>=i)),o=n&&n.getChild("AttributeName");return o?t.sliceString(o.from,o.to):""}(i,f,d);if(!e)return null;let n=l[tagName(i,f)],s=((null==n?void 0:n.attrValues)||o)[e];return s&&s.length?{from:d,to:t.pos+('"'==i.sliceString(t.pos,t.pos+1)?1:0),options:s,validFor:/^"[^"]*"?$/}:null}if("tag"==c){let e=elementName$1(i,f),n=l[e],o=[],h=f&&f.lastChild;!e||h&&"CloseTag"==h.name&&tagName(i,h)==e||o.push(n?n.closeCompletion:{label:"</"+e+">",type:"type",boost:2});let c=o.concat(((null==n?void 0:n.children)||(f?s:a)).map((t=>t.openCompletion)));if(f&&(null==n?void 0:n.text.length)){let e=f.firstChild;e.to>t.pos-20&&!/\S/.test(t.state.sliceDoc(e.to,t.pos))&&(c=c.concat(n.text))}return{from:d,options:c,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const x=O.bj.define({name:"xml",parser:g.configure({props:[O.Oh.add({Element(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"OpenTag CloseTag SelfClosingTag":t=>t.column(t.node.from)+t.unit}),O.b_.add({Element(t){let e=t.firstChild,i=t.lastChild;return e&&"OpenTag"==e.name?{from:e.to,to:"CloseTag"==i.name?i.from:t.to}:null}}),O.Q_.add({"OpenTag CloseTag":t=>t.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function xml(t={}){let e=[x.data.of({autocomplete:completeFromSchema(t.elements||[],t.attributes||[])})];return!1!==t.autoCloseTags&&e.push(_),new O.Yy(x,e)}function elementName(t,e,i=t.length){if(!e)return"";let n=e.firstChild,o=n&&n.getChild("TagName");return o?t.sliceString(o.from,Math.min(o.to,i)):""}const _=y.Lz.inputHandler.of(((t,e,i,n,o)=>{if(t.composing||t.state.readOnly||e!=i||">"!=n&&"/"!=n||!x.isActiveAt(t.state,e,-1))return!1;let s=o(),{state:a}=s,l=a.changeByRange((t=>{var e,i,o;let s,{head:l}=t,h=a.doc.sliceString(l-1,l)==n,c=(0,O.mv)(a).resolveInner(l,-1);if(h&&">"==n&&"EndTag"==c.name){let n=c.parent;if("CloseTag"!=(null===(i=null===(e=n.parent)||void 0===e?void 0:e.lastChild)||void 0===i?void 0:i.name)&&(s=elementName(a.doc,n.parent,l))){return{range:t,changes:{from:l,to:l+(">"===a.doc.sliceString(l,l+1)?1:0),insert:`</${s}>`}}}}else if(h&&"/"==n&&"StartCloseTag"==c.name){let t=c.parent;if(c.from==l-2&&"CloseTag"!=(null===(o=t.lastChild)||void 0===o?void 0:o.name)&&(s=elementName(a.doc,t,l))){let t=l+(">"===a.doc.sliceString(l,l+1)?1:0),e=`${s}>`;return{range:v.OF.cursor(l+e.length,-1),changes:{from:l,to:t,insert:e}}}}return{range:t}}));return!l.changes.empty&&(t.dispatch([s,a.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}))},29565:(t,e,i)=>{"use strict";i.d(e,{Ay:()=>delimitedIndent,BH:()=>g,EI:()=>indentString,GY:()=>highlightingFor,KB:()=>IndentContext,Lv:()=>foldGutter,Oh:()=>y,Q0:()=>d,Q_:()=>X,SG:()=>bracketMatching,WD:()=>indentOnInput,Xt:()=>v,Yy:()=>LanguageSupport,_Y:()=>flatIndent,_v:()=>getIndentation,b_:()=>_,bj:()=>LRLanguage,jU:()=>matchBrackets,mv:()=>syntaxTree,mz:()=>continuedIndent,p9:()=>defineLanguageFacet,tp:()=>getIndentUnit,y9:()=>syntaxHighlighting,yd:()=>foldInside});var n,o=i(95900),s=i(87988),a=i(80624),l=i(7295),h=i(80646);const c=new o.uY;function defineLanguageFacet(t){return s.sj.define({combine:t?e=>e.concat(t):void 0})}const d=new o.uY;class Language{constructor(t,e,i=[],n=""){this.data=t,this.name=n,s.$t.prototype.hasOwnProperty("tree")||Object.defineProperty(s.$t.prototype,"tree",{get(){return syntaxTree(this)}}),this.parser=e,this.extension=[g.of(this),s.$t.languageData.of(((t,e,i)=>{let n=topNodeAt(t,e,i),o=n.type.prop(c);if(!o)return[];let s=t.facet(o),a=n.type.prop(d);if(a){let o=n.resolve(e-n.from,i);for(let e of a)if(e.test(o,t)){let i=t.facet(e.facet);return"replace"==e.type?i:i.concat(s)}}return s}))].concat(i)}isActiveAt(t,e,i=-1){return topNodeAt(t,e,i).type.prop(c)==this.data}findRegions(t){let e=t.facet(g);if((null==e?void 0:e.data)==this.data)return[{from:0,to:t.doc.length}];if(!e||!e.allowsNesting)return[];let i=[],explore=(t,e)=>{if(t.prop(c)==this.data)return void i.push({from:e,to:e+t.length});let n=t.prop(o.uY.mounted);if(n){if(n.tree.prop(c)==this.data){if(n.overlay)for(let t of n.overlay)i.push({from:t.from+e,to:t.to+e});else i.push({from:e,to:e+t.length});return}if(n.overlay){let t=i.length;if(explore(n.tree,n.overlay[0].from+e),i.length>t)return}}for(let i=0;i<t.children.length;i++){let n=t.children[i];n instanceof o.PH&&explore(n,t.positions[i]+e)}};return explore(syntaxTree(t),0),i}get allowsNesting(){return!0}}function topNodeAt(t,e,i){let n=t.facet(g),s=syntaxTree(t).topNode;if(!n||n.allowsNesting)for(let t=s;t;t=t.enter(e,i,o.Qj.ExcludeBuffers))t.type.isTop&&(s=t);return s}Language.setState=s.Pe.define();class LRLanguage extends Language{constructor(t,e,i){super(t,e,[],i),this.parser=e}static define(t){let e=defineLanguageFacet(t.languageData);return new LRLanguage(e,t.parser.configure({props:[c.add((t=>t.isTop?e:void 0))]}),t.name)}configure(t,e){return new LRLanguage(this.data,this.parser.configure(t),e||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function syntaxTree(t){let e=t.field(Language.state,!1);return e?e.tree:o.PH.empty}class DocInput{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,e){let i=this.cursorPos-this.string.length;return t<i||e>=this.cursorPos?this.doc.sliceString(t,e):this.string.slice(t-i,e-i)}}let f=null;class ParseContext{constructor(t,e,i=[],n,o,s,a,l){this.parser=t,this.state=e,this.fragments=i,this.tree=n,this.treeLen=o,this.viewport=s,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(t,e,i){return new ParseContext(t,e,[],o.PH.empty,0,i,[],null)}startParse(){return this.parser.startParse(new DocInput(this.state.doc),this.fragments)}work(t,e){return null!=e&&e>=this.state.doc.length&&(e=void 0),this.tree!=o.PH.empty&&this.isDone(null!=e?e:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var i;if("number"==typeof t){let e=Date.now()+t;t=()=>Date.now()>e}for(this.parse||(this.parse=this.startParse()),null!=e&&(null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&e<this.state.doc.length&&this.parse.stopAt(e);;){let n=this.parse.advance();if(n){if(this.fragments=this.withoutTempSkipped(o.rr.addTree(n,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(i=this.parse.stoppedAt)&&void 0!==i?i:this.state.doc.length,this.tree=n,this.parse=null,!(this.treeLen<(null!=e?e:this.state.doc.length)))return!0;this.parse=this.startParse()}if(t())return!1}}))}takeTree(){let t,e;this.parse&&(t=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext((()=>{for(;!(e=this.parse.advance()););})),this.treeLen=t,this.tree=e,this.fragments=this.withoutTempSkipped(o.rr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let e=f;f=this;try{return t()}finally{f=e}}withoutTempSkipped(t){for(let e;e=this.tempSkipped.pop();)t=cutFragments(t,e.from,e.to);return t}changes(t,e){let{fragments:i,tree:n,treeLen:s,viewport:a,skipped:l}=this;if(this.takeTree(),!t.empty){let e=[];if(t.iterChangedRanges(((t,i,n,o)=>e.push({fromA:t,toA:i,fromB:n,toB:o}))),i=o.rr.applyChanges(i,e),n=o.PH.empty,s=0,a={from:t.mapPos(a.from,-1),to:t.mapPos(a.to,1)},this.skipped.length){l=[];for(let e of this.skipped){let i=t.mapPos(e.from,1),n=t.mapPos(e.to,-1);i<n&&l.push({from:i,to:n})}}}return new ParseContext(this.parser,e,i,n,s,a,l,this.scheduleOn)}updateViewport(t){if(this.viewport.from==t.from&&this.viewport.to==t.to)return!1;this.viewport=t;let e=this.skipped.length;for(let e=0;e<this.skipped.length;e++){let{from:i,to:n}=this.skipped[e];i<t.to&&n>t.from&&(this.fragments=cutFragments(this.fragments,i,n),this.skipped.splice(e--,1))}return!(this.skipped.length>=e)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,e){this.skipped.push({from:t,to:e})}static getSkippingParser(t){return new class extends o.iX{createParse(e,i,n){let s=n[0].from,a=n[n.length-1].to;return{parsedPos:s,advance(){let e=f;if(e){for(let t of n)e.tempSkipped.push(t);t&&(e.scheduleOn=e.scheduleOn?Promise.all([e.scheduleOn,t]):t)}return this.parsedPos=a,new o.PH(o.Z6.none,[],[],a-s)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let e=this.fragments;return this.treeLen>=t&&e.length&&0==e[0].from&&e[0].to>=t}static get(){return f}}function cutFragments(t,e,i){return o.rr.applyChanges(t,[{fromA:e,toA:i,fromB:e,toB:i}])}class LanguageState{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let e=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),e.viewport.to);return e.work(20,i)||e.takeTree(),new LanguageState(e)}static init(t){let e=Math.min(3e3,t.doc.length),i=ParseContext.create(t.facet(g).parser,t,{from:0,to:e});return i.work(20,e)||i.takeTree(),new LanguageState(i)}}Language.state=s.sU.define({create:LanguageState.init,update(t,e){for(let t of e.effects)if(t.is(Language.setState))return t.value;return e.startState.facet(g)!=e.state.facet(g)?LanguageState.init(e.state):t.apply(e)}});let requestIdle=t=>{let e=setTimeout((()=>t()),500);return()=>clearTimeout(e)};"undefined"!=typeof requestIdleCallback&&(requestIdle=t=>{let e=-1,i=setTimeout((()=>{e=requestIdleCallback(t,{timeout:400})}),100);return()=>e<0?clearTimeout(i):cancelIdleCallback(e)});const p="undefined"!=typeof navigator&&(null===(n=navigator.scheduling)||void 0===n?void 0:n.isInputPending)?()=>navigator.scheduling.isInputPending():null,m=a.Z9.fromClass(class ParseWorker{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let e=this.view.state.field(Language.state).context;(e.updateViewport(t.view.viewport)||this.view.viewport.to>e.treeLen)&&this.scheduleWork(),(t.docChanged||t.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(e)}scheduleWork(){if(this.working)return;let{state:t}=this.view,e=t.field(Language.state);e.tree==e.context.tree&&e.context.isDone(t.doc.length)||(this.working=requestIdle(this.work))}work(t){this.working=null;let e=Date.now();if(this.chunkEnd<e&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=e+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:n}}=this.view,o=i.field(Language.state);if(o.tree==o.context.tree&&o.context.isDone(n+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,t&&!p?Math.max(25,t.timeRemaining()-5):1e9),a=o.context.treeLen<n&&i.doc.length>n+1e3,l=o.context.work((()=>p&&p()||Date.now()>s),n+(a?0:1e5));this.chunkBudget-=Date.now()-e,(l||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:Language.setState.of(new LanguageState(o.context))})),this.chunkBudget>0&&(!l||a)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then((()=>this.scheduleWork())).catch((t=>(0,a.c_)(this.view.state,t))).then((()=>this.workScheduled--)),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),g=s.sj.define({combine:t=>t.length?t[0]:null,enables:t=>[Language.state,m,a.Lz.contentAttributes.compute([t],(e=>{let i=e.facet(t);return i&&i.name?{"data-language":i.name}:{}}))]});class LanguageSupport{constructor(t,e=[]){this.language=t,this.support=e,this.extension=[t,e]}}const O=s.sj.define(),v=s.sj.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some((t=>t!=e[0])))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function getIndentUnit(t){let e=t.facet(v);return 9==e.charCodeAt(0)?t.tabSize*e.length:e.length}function indentString(t,e){let i="",n=t.tabSize,o=t.facet(v)[0];if("\t"==o){for(;e>=n;)i+="\t",e-=n;o=" "}for(let t=0;t<e;t++)i+=o;return i}function getIndentation(t,e){t instanceof s.$t&&(t=new IndentContext(t));for(let i of t.state.facet(O)){let n=i(t,e);if(void 0!==n)return n}let i=syntaxTree(t.state);return i.length>=e?function syntaxIndentation(t,e,i){let n=e.resolveStack(i),o=n.node.enterUnfinishedNodesBefore(i);if(o!=n.node){let t=[];for(let e=o;e!=n.node;e=e.parent)t.push(e);for(let e=t.length-1;e>=0;e--)n={node:t[e],next:n}}return indentFor(n,t,i)}(t,i,e):null}class IndentContext{constructor(t,e={}){this.state=t,this.options=e,this.unit=getIndentUnit(t)}lineAt(t,e=1){let i=this.state.doc.lineAt(t),{simulateBreak:n,simulateDoubleBreak:o}=this.options;return null!=n&&n>=i.from&&n<=i.to?o&&n==t?{text:"",from:t}:(e<0?n<t:n<=t)?{text:i.text.slice(n-i.from),from:n}:{text:i.text.slice(0,n-i.from),from:i.from}:i}textAfterPos(t,e=1){if(this.options.simulateDoubleBreak&&t==this.options.simulateBreak)return"";let{text:i,from:n}=this.lineAt(t,e);return i.slice(t-n,Math.min(i.length,t+100-n))}column(t,e=1){let{text:i,from:n}=this.lineAt(t,e),o=this.countColumn(i,t-n),s=this.options.overrideIndentation?this.options.overrideIndentation(n):-1;return s>-1&&(o+=s-this.countColumn(i,i.search(/\S|$/))),o}countColumn(t,e=t.length){return(0,s.y$)(t,this.state.tabSize,e)}lineIndent(t,e=1){let{text:i,from:n}=this.lineAt(t,e),o=this.options.overrideIndentation;if(o){let t=o(n);if(t>-1)return t}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const y=new o.uY;function indentFor(t,e,i){for(let n=t;n;n=n.next){let t=indentStrategy(n.node);if(t)return t(TreeIndentContext.create(e,i,n))}return 0}function indentStrategy(t){let e=t.type.prop(y);if(e)return e;let i,n=t.firstChild;if(n&&(i=n.type.prop(o.uY.closedBy))){let e=t.lastChild,n=e&&i.indexOf(e.name)>-1;return t=>delimitedStrategy(t,!0,1,void 0,n&&!function ignoreClosed(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}(t)?e.from:void 0)}return null==t.parent?topIndent:null}function topIndent(){return 0}class TreeIndentContext extends IndentContext{constructor(t,e,i){super(t.state,t.options),this.base=t,this.pos=e,this.context=i}get node(){return this.context.node}static create(t,e,i){return new TreeIndentContext(t,e,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(t){let e=this.state.doc.lineAt(t.from);for(;;){let i=t.resolve(e.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(isParent(i,t))break;e=this.state.doc.lineAt(i.from)}return this.lineIndent(e.from)}continue(){return indentFor(this.context.next,this.base,this.pos)}}function isParent(t,e){for(let i=e;i;i=i.parent)if(t==i)return!0;return!1}function delimitedIndent({closing:t,align:e=!0,units:i=1}){return n=>delimitedStrategy(n,e,i,t)}function delimitedStrategy(t,e,i,n,o){let s=t.textAfter,a=s.match(/^\s*/)[0].length,l=n&&s.slice(a,a+n.length)==n||o==t.pos+a,h=e?function bracketedAligned(t){let e=t.node,i=e.childAfter(e.from),n=e.lastChild;if(!i)return null;let o=t.options.simulateBreak,s=t.state.doc.lineAt(i.from),a=null==o||o<=s.from?s.to:Math.min(s.to,o);for(let t=i.to;;){let o=e.childAfter(t);if(!o||o==n)return null;if(!o.type.isSkipped)return o.from<a?i:null;t=o.to}}(t):null;return h?l?t.column(h.from):t.column(h.to):t.baseIndent+(l?0:t.unit*i)}const flatIndent=t=>t.baseIndent;function continuedIndent({except:t,units:e=1}={}){return i=>{let n=t&&t.test(i.textAfter);return i.baseIndent+(n?0:e*i.unit)}}const b=200;function indentOnInput(){return s.$t.transactionFilter.of((t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let i=t.newDoc,{head:n}=t.newSelection.main,o=i.lineAt(n);if(n>o.from+b)return t;let s=i.sliceString(o.from,n);if(!e.some((t=>t.test(s))))return t;let{state:a}=t,l=-1,h=[];for(let{head:t}of a.selection.ranges){let e=a.doc.lineAt(t);if(e.from==l)continue;l=e.from;let i=getIndentation(a,e.from);if(null==i)continue;let n=/^\s*/.exec(e.text)[0],o=indentString(a,i);n!=o&&h.push({from:e.from,to:e.from+n.length,insert:o})}return h.length?[t,{changes:h,sequential:!0}]:t}))}const x=s.sj.define(),_=new o.uY;function foldInside(t){let e=t.firstChild,i=t.lastChild;return e&&e.to<i.from?{from:e.to,to:i.type.isError?t.to:i.from}:null}function isUnfinished(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function foldable(t,e,i){for(let n of t.facet(x)){let o=n(t,e,i);if(o)return o}return function syntaxFolding(t,e,i){let n=syntaxTree(t);if(n.length<i)return null;let o=null;for(let s=n.resolveStack(i,1);s;s=s.next){let a=s.node;if(a.to<=i||a.from>i)continue;if(o&&a.from<e)break;let l=a.type.prop(_);if(l&&(a.to<n.length-50||n.length==t.doc.length||!isUnfinished(a))){let n=l(a,t);n&&n.from<=i&&n.from>=e&&n.to>i&&(o=n)}}return o}(t,e,i)}function mapRange(t,e){let i=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);return i>=n?void 0:{from:i,to:n}}const S=s.Pe.define({map:mapRange}),P=s.Pe.define({map:mapRange});const k=s.sU.define({create:()=>a.NZ.none,update(t,e){t=t.map(e.changes);for(let i of e.effects)if(i.is(S)&&!foldExists(t,i.value.from,i.value.to)){let{preparePlaceholder:n}=e.state.facet(Q),o=n?a.NZ.replace({widget:new PreparedFoldWidget(n(e.state,i.value))}):T;t=t.update({add:[o.range(i.value.from,i.value.to)]})}else i.is(P)&&(t=t.update({filter:(t,e)=>i.value.from!=t||i.value.to!=e,filterFrom:i.value.from,filterTo:i.value.to}));if(e.selection){let i=!1,{head:n}=e.selection.main;t.between(n,n,((t,e)=>{t<n&&e>n&&(i=!0)})),i&&(t=t.update({filterFrom:n,filterTo:n,filter:(t,e)=>e<=n||t>=n}))}return t},provide:t=>a.Lz.decorations.from(t),toJSON(t,e){let i=[];return t.between(0,e.doc.length,((t,e)=>{i.push(t,e)})),i},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let i=0;i<t.length;){let n=t[i++],o=t[i++];if("number"!=typeof n||"number"!=typeof o)throw new RangeError("Invalid JSON for fold state");e.push(T.range(n,o))}return a.NZ.set(e,!0)}});function findFold(t,e,i){var n;let o=null;return null===(n=t.field(k,!1))||void 0===n||n.between(e,i,((t,e)=>{(!o||o.from>t)&&(o={from:t,to:e})})),o}function foldExists(t,e,i){let n=!1;return t.between(e,e,((t,o)=>{t==e&&o==i&&(n=!0)})),n}const C={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Q=s.sj.define({combine:t=>(0,s.QR)(t,C)});function codeFolding(t){let e=[k,R];return t&&e.push(Q.of(t)),e}function widgetToDOM(t,e){let{state:i}=t,n=i.facet(Q),onclick=e=>{let i=t.lineBlockAt(t.posAtDOM(e.target)),n=findFold(t.state,i.from,i.to);n&&t.dispatch({effects:P.of(n)}),e.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(t,onclick,e);let o=document.createElement("span");return o.textContent=n.placeholderText,o.setAttribute("aria-label",i.phrase("folded code")),o.title=i.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=onclick,o}const T=a.NZ.replace({widget:new class extends a.xO{toDOM(t){return widgetToDOM(t,null)}}});class PreparedFoldWidget extends a.xO{constructor(t){super(),this.value=t}eq(t){return this.value==t.value}toDOM(t){return widgetToDOM(t,this.value)}}const A={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class FoldMarker extends a.wJ{constructor(t,e){super(),this.config=t,this.open=e}eq(t){return this.config==t.config&&this.open==t.open}toDOM(t){if(this.config.markerDOM)return this.config.markerDOM(this.open);let e=document.createElement("span");return e.textContent=this.open?this.config.openText:this.config.closedText,e.title=t.state.phrase(this.open?"Fold line":"Unfold line"),e}}function foldGutter(t={}){let e=Object.assign(Object.assign({},A),t),i=new FoldMarker(e,!0),n=new FoldMarker(e,!1),o=a.Z9.fromClass(class{constructor(t){this.from=t.viewport.from,this.markers=this.buildMarkers(t)}update(t){(t.docChanged||t.viewportChanged||t.startState.facet(g)!=t.state.facet(g)||t.startState.field(k,!1)!=t.state.field(k,!1)||syntaxTree(t.startState)!=syntaxTree(t.state)||e.foldingChanged(t))&&(this.markers=this.buildMarkers(t.view))}buildMarkers(t){let e=new s.vB;for(let o of t.viewportLineBlocks){let s=findFold(t.state,o.from,o.to)?n:foldable(t.state,o.from,o.to)?i:null;s&&e.add(o.from,o.from,s)}return e.finish()}}),{domEventHandlers:l}=e;return[o,(0,a.cU)({class:"cm-foldGutter",markers(t){var e;return(null===(e=t.plugin(o))||void 0===e?void 0:e.markers)||s.om.empty},initialSpacer:()=>new FoldMarker(e,!1),domEventHandlers:Object.assign(Object.assign({},l),{click:(t,e,i)=>{if(l.click&&l.click(t,e,i))return!0;let n=findFold(t.state,e.from,e.to);if(n)return t.dispatch({effects:P.of(n)}),!0;let o=foldable(t.state,e.from,e.to);return!!o&&(t.dispatch({effects:S.of(o)}),!0)}})}),codeFolding()]}const R=a.Lz.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class HighlightStyle{constructor(t,e){let i;function def(t){let e=h.G.newName();return(i||(i=Object.create(null)))["."+e]=t,e}this.specs=t;const n="string"==typeof e.all?e.all:e.all?def(e.all):void 0,o=e.scope;this.scope=o instanceof Language?t=>t.prop(c)==o.data:o?t=>t==o:void 0,this.style=(0,l.az)(t.map((t=>({tag:t.tag,class:t.class||def(Object.assign({},t,{tag:null}))}))),{all:n}).style,this.module=i?new h.G(i):null,this.themeType=e.themeType}static define(t,e){return new HighlightStyle(t,e||{})}}const Z=s.sj.define(),M=s.sj.define({combine:t=>t.length?[t[0]]:null});function getHighlighters(t){let e=t.facet(Z);return e.length?e:t.facet(M)}function syntaxHighlighting(t,e){let i,n=[L];return t instanceof HighlightStyle&&(t.module&&n.push(a.Lz.styleModule.of(t.module)),i=t.themeType),(null==e?void 0:e.fallback)?n.push(M.of(t)):i?n.push(Z.computeN([a.Lz.darkTheme],(e=>e.facet(a.Lz.darkTheme)==("dark"==i)?[t]:[]))):n.push(Z.of(t)),n}function highlightingFor(t,e,i){let n=getHighlighters(t),o=null;if(n)for(let t of n)if(!t.scope||i&&t.scope(i)){let i=t.style(e);i&&(o=o?o+" "+i:i)}return o}class TreeHighlighter{constructor(t){this.markCache=Object.create(null),this.tree=syntaxTree(t.state),this.decorations=this.buildDeco(t,getHighlighters(t.state)),this.decoratedTo=t.viewport.to}update(t){let e=syntaxTree(t.state),i=getHighlighters(t.state),n=i!=getHighlighters(t.startState),{viewport:o}=t.view,s=t.changes.mapPos(this.decoratedTo,1);e.length<o.to&&!n&&e.type==this.tree.type&&s>=o.to?(this.decorations=this.decorations.map(t.changes),this.decoratedTo=s):(e!=this.tree||t.viewportChanged||n)&&(this.tree=e,this.decorations=this.buildDeco(t.view,i),this.decoratedTo=o.to)}buildDeco(t,e){if(!e||!this.tree.length)return a.NZ.none;let i=new s.vB;for(let{from:n,to:o}of t.visibleRanges)(0,l.DM)(this.tree,e,((t,e,n)=>{i.add(t,e,this.markCache[n]||(this.markCache[n]=a.NZ.mark({class:n})))}),n,o);return i.finish()}}const L=s.Nb.high(a.Z9.fromClass(TreeHighlighter,{decorations:t=>t.decorations})),E=(l._A.meta,l._A.link,l._A.heading,l._A.emphasis,l._A.strong,l._A.strikethrough,l._A.keyword,l._A.atom,l._A.bool,l._A.url,l._A.contentSeparator,l._A.labelName,l._A.literal,l._A.inserted,l._A.string,l._A.deleted,l._A.regexp,l._A.escape,l._A.string,l._A.variableName,l._A.variableName,l._A.typeName,l._A.namespace,l._A.className,l._A.variableName,l._A.macroName,l._A.propertyName,l._A.comment,l._A.invalid,a.Lz.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}})),D=1e4,z="()[]{}",I=s.sj.define({combine:t=>(0,s.QR)(t,{afterCursor:!0,brackets:z,maxScanDistance:D,renderMatch:defaultRenderMatch})}),W=a.NZ.mark({class:"cm-matchingBracket"}),B=a.NZ.mark({class:"cm-nonmatchingBracket"});function defaultRenderMatch(t){let e=[],i=t.matched?W:B;return e.push(i.range(t.start.from,t.start.to)),t.end&&e.push(i.range(t.end.from,t.end.to)),e}const V=[s.sU.define({create:()=>a.NZ.none,update(t,e){if(!e.docChanged&&!e.selection)return t;let i=[],n=e.state.facet(I);for(let t of e.state.selection.ranges){if(!t.empty)continue;let o=matchBrackets(e.state,t.head,-1,n)||t.head>0&&matchBrackets(e.state,t.head-1,1,n)||n.afterCursor&&(matchBrackets(e.state,t.head,1,n)||t.head<e.state.doc.length&&matchBrackets(e.state,t.head+1,-1,n));o&&(i=i.concat(n.renderMatch(o,e.state)))}return a.NZ.set(i,!0)},provide:t=>a.Lz.decorations.from(t)}),E];function bracketMatching(t={}){return[I.of(t),V]}const X=new o.uY;function matchingNodes(t,e,i){let n=t.prop(e<0?o.uY.openedBy:o.uY.closedBy);if(n)return n;if(1==t.name.length){let n=i.indexOf(t.name);if(n>-1&&n%2==(e<0?1:0))return[i[n+e]]}return null}function findHandle(t){let e=t.type.prop(X);return e?e(t.node):t}function matchBrackets(t,e,i,n={}){let o=n.maxScanDistance||D,s=n.brackets||z,a=syntaxTree(t),l=a.resolveInner(e,i);for(let n=l;n;n=n.parent){let o=matchingNodes(n.type,i,s);if(o&&n.from<n.to){let a=findHandle(n);if(a&&(i>0?e>=a.from&&e<a.to:e>a.from&&e<=a.to))return matchMarkedBrackets(t,e,i,n,a,o,s)}}return function matchPlainBrackets(t,e,i,n,o,s,a){let l=i<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),h=a.indexOf(l);if(h<0||h%2==0!=i>0)return null;let c={from:i<0?e-1:e,to:i>0?e+1:e},d=t.doc.iterRange(e,i>0?t.doc.length:0),f=0;for(let t=0;!d.next().done&&t<=s;){let s=d.value;i<0&&(t+=s.length);let l=e+t*i;for(let t=i>0?0:s.length-1,e=i>0?s.length:-1;t!=e;t+=i){let e=a.indexOf(s[t]);if(!(e<0||n.resolveInner(l+t,1).type!=o))if(e%2==0==i>0)f++;else{if(1==f)return{start:c,end:{from:l+t,to:l+t+1},matched:e>>1==h>>1};f--}}i>0&&(t+=s.length)}return d.done?{start:c,matched:!1}:null}(t,e,i,a,l.type,o,s)}function matchMarkedBrackets(t,e,i,n,o,s,a){let l=n.parent,h={from:o.from,to:o.to},c=0,d=null==l?void 0:l.cursor();if(d&&(i<0?d.childBefore(n.from):d.childAfter(n.to)))do{if(i<0?d.to<=n.from:d.from>=n.to){if(0==c&&s.indexOf(d.type.name)>-1&&d.from<d.to){let t=findHandle(d);return{start:h,end:t?{from:t.from,to:t.to}:void 0,matched:!0}}if(matchingNodes(d.type,i,a))c++;else if(matchingNodes(d.type,-i,a)){if(0==c){let t=findHandle(d);return{start:h,end:t&&t.from<t.to?{from:t.from,to:t.to}:void 0,matched:!1}}c--}}}while(i<0?d.prevSibling():d.nextSibling());return{start:h,matched:!1}}const N=Object.create(null),j=[o.Z6.none],q=[],Y=Object.create(null),U=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])U[t]=createTokenType(N,e);function warnForPart(t,e){q.indexOf(t)>-1||(q.push(t),console.warn(e))}function createTokenType(t,e){let i=[];for(let n of e.split(" ")){let e=[];for(let i of n.split(".")){let n=t[i]||l._A[i];n?"function"==typeof n?e.length?e=e.map(n):warnForPart(i,`Modifier ${i} used at start of tag`):e.length?warnForPart(i,`Tag ${i} used as modifier`):e=Array.isArray(n)?n:[n]:warnForPart(i,`Unknown highlighting tag ${i}`)}for(let t of e)i.push(t)}if(!i.length)return 0;let n=e.replace(/ /g,"_"),s=n+" "+i.map((t=>t.id)),a=Y[s];if(a)return a.id;let h=Y[s]=o.Z6.define({id:j.length,name:n,props:[(0,l.pn)({[n]:i})]});return j.push(h),h.id}a.OP.RTL,a.OP.LTR},82567:(t,e,i)=>{"use strict";i.d(e,{SV:()=>MergeView});var n=i(80624),o=i(87988),s=i(80646);i(29565),i(7295);class Change{constructor(t,e,i,n){this.fromA=t,this.toA=e,this.fromB=i,this.toB=n}offset(t,e){return new Change(this.fromA+t,this.toA+t,this.fromB+e,this.toB+e)}}function findDiff(t,e,i,n,o,s){if(t==n)return[];let c=commonPrefix(t,e,i,n,o,s),d=commonSuffix(t,e+c,i,n,o+c,s),f=(i-=d)-(e+=c),p=(s-=d)-(o+=c);if(!f||!p)return[new Change(e,i,o,s)];if(f>p){let a=t.slice(e,i).indexOf(n.slice(o,s));if(a>-1)return[new Change(e,e+a,o,o),new Change(e+a+p,i,s,s)]}else if(p>f){let a=n.slice(o,s).indexOf(t.slice(e,i));if(a>-1)return[new Change(e,e,o,o+a),new Change(i,i,o+a+f,s)]}if(1==f||1==p)return[new Change(e,i,o,s)];let m=halfMatch(t,e,i,n,o,s);if(m){let[a,l,h]=m;return findDiff(t,e,a,n,o,l).concat(findDiff(t,a+h,i,n,l+h,s))}return function findSnake(t,e,i,n,o,s){let c=i-e,d=s-o;if(a<1e9&&Math.min(c,d)>16*a)return Math.min(c,d)>64*a?[new Change(e,i,o,s)]:crudeMatch(t,e,i,n,o,s);let f=Math.ceil((c+d)/2);l.reset(f),h.reset(f);let match1=(i,s)=>t.charCodeAt(e+i)==n.charCodeAt(o+s),match2=(e,o)=>t.charCodeAt(i-e-1)==n.charCodeAt(s-o-1),p=(c-d)%2!=0?h:null,m=p?null:l;for(let g=0;g<f;g++){if(g>a)return crudeMatch(t,e,i,n,o,s);let O=l.advance(g,c,d,f,p,!1,match1)||h.advance(g,c,d,f,m,!0,match2);if(O)return bisect(t,e,i,e+O[0],n,o,s,o+O[1])}return[new Change(e,i,o,s)]}(t,e,i,n,o,s)}let a=1e9;class Frontier{constructor(){this.vec=[]}reset(t){this.len=t<<1;for(let t=0;t<this.len;t++)this.vec[t]=-1;this.vec[t+1]=0,this.start=this.end=0}advance(t,e,i,n,o,s,a){for(let l=-t+this.start;l<=t-this.end;l+=2){let h=n+l,c=l==-t||l!=t&&this.vec[h-1]<this.vec[h+1]?this.vec[h+1]:this.vec[h-1]+1,d=c-l;for(;c<e&&d<i&&a(c,d);)c++,d++;if(this.vec[h]=c,c>e)this.end+=2;else if(d>i)this.start+=2;else if(o){let t=n+(e-i)-l;if(t>=0&&t<this.len&&-1!=o.vec[t])if(s){let i=o.vec[t];if(i>=e-c)return[i,n+i-t]}else{if(c>=e-o.vec[t])return[c,d]}}}return null}}const l=new Frontier,h=new Frontier;function bisect(t,e,i,n,o,s,a,l){let h=!1;return validIndex(t,n)||++n!=i||(h=!0),validIndex(o,l)||++l!=a||(h=!0),h?[new Change(e,i,s,a)]:findDiff(t,e,n,o,s,l).concat(findDiff(t,n,i,o,l,a))}function chunkSize(t,e){let i=1,n=Math.min(t,e);for(;i<n;)i<<=1;return i}function commonPrefix(t,e,i,n,o,s){if(e==i||e==s||t.charCodeAt(e)!=n.charCodeAt(o))return 0;let a=chunkSize(i-e,s-o);for(let l=e,h=o;;){let o=l+a,c=h+a;if(o>i||c>s||t.slice(l,o)!=n.slice(h,c)){if(1==a)return l-e-(validIndex(t,l)?0:1);a>>=1}else{if(o==i||c==s)return o-e;l=o,h=c}}}function commonSuffix(t,e,i,n,o,s){if(e==i||o==s||t.charCodeAt(i-1)!=n.charCodeAt(s-1))return 0;let a=chunkSize(i-e,s-o);for(let l=i,h=s;;){let s=l-a,c=h-a;if(s<e||c<o||t.slice(s,l)!=n.slice(c,h)){if(1==a)return i-l-(validIndex(t,l)?0:1);a>>=1}else{if(s==e||c==o)return i-s;l=s,h=c}}}function findMatch(t,e,i,n,o,s,a,l){let h=n.slice(o,s),c=null;for(;;){if(c||a<l)return c;for(let l=e+a;;){validIndex(t,l)||l++;let d=l+a;if(validIndex(t,d)||(d+=d==l+1?1:-1),d>=i)break;let f=t.slice(l,d),p=-1;for(;-1!=(p=h.indexOf(f,p+1));){let a=commonPrefix(t,d,i,n,o+p+f.length,s),h=commonSuffix(t,e,l,n,o,o+p),m=f.length+a+h;(!c||c[2]<m)&&(c=[l-h,o+p-h,m])}l=d}if(l<0)return c;a>>=1}}function halfMatch(t,e,i,n,o,s){let a=i-e,l=s-o;if(a<l){let a=halfMatch(n,o,s,t,e,i);return a&&[a[1],a[0],a[2]]}return a<4||2*l<a?null:findMatch(t,e,i,n,o,s,Math.floor(a/4),-1)}function crudeMatch(t,e,i,n,o,s){let a,l=i-e,h=s-o;if(l<h){let h=findMatch(n,o,s,t,e,i,Math.floor(l/6),50);a=h&&[h[1],h[0],h[2]]}else a=findMatch(t,e,i,n,o,s,Math.floor(h/6),50);if(!a)return[new Change(e,i,o,s)];let[c,d,f]=a;return findDiff(t,e,c,n,o,d).concat(findDiff(t,c+f,i,n,d+f,s))}function mergeAdjacent(t,e){for(let i=1;i<t.length;i++){let n=t[i-1],o=t[i];n.toA>o.fromA-e&&n.toB>o.fromB-e&&(t[i-1]=new Change(n.fromA,o.toA,n.fromB,o.toB),t.splice(i--,1))}}let c;try{c=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch(t){}function asciiWordChar(t){return t>48&&t<58||t>64&&t<91||t>96&&t<123}function wordCharAfter(t,e){if(e==t.length)return 0;let i=t.charCodeAt(e);return i<192?asciiWordChar(i)?1:0:c?isSurrogate1(i)&&e!=t.length-1?c.test(t.slice(e,e+2))?2:0:c.test(String.fromCharCode(i))?1:0:0}function wordCharBefore(t,e){if(!e)return 0;let i=t.charCodeAt(e-1);return i<192?asciiWordChar(i)?1:0:c?isSurrogate2(i)&&1!=e?c.test(t.slice(e-2,e))?2:0:c.test(String.fromCharCode(i))?1:0:0}function findWordBoundaryAfter(t,e,i){if(e==t.length||!wordCharBefore(t,e))return e;for(let n=e,o=e+i;;){let i=wordCharAfter(t,n);if(!i)return n;if(n+=i,n>o)return e}}function findWordBoundaryBefore(t,e,i){if(!e||!wordCharAfter(t,e))return e;for(let n=e,o=e-i;;){let i=wordCharBefore(t,n);if(!i)return n;if(n-=i,n<o)return e}}function findIndentBefore(t,e,i){for(let n=e,o=e-i;;){let i=n?t.charCodeAt(n-1):10;if(10==i)return n;if(n--,n<o||32!=i&&9!=i)return e}}const isSurrogate1=t=>t>=55296&&t<=56319,isSurrogate2=t=>t>=56320&&t<=57343;function validIndex(t,e){return!e||e==t.length||!isSurrogate1(t.charCodeAt(e-1))||!isSurrogate2(t.charCodeAt(e))}function diff(t,e,i){var n;return a=(null!==(n=null==i?void 0:i.scanLimit)&&void 0!==n?n:1e9)>>1,function normalize(t,e,i){for(;;){mergeAdjacent(i,1);let n=!1;for(let o=0;o<i.length;o++){let s,a,l=i[o];(s=commonPrefix(t,l.fromA,l.toA,e,l.fromB,l.toB))&&(l=i[o]=new Change(l.fromA+s,l.toA,l.fromB+s,l.toB)),(a=commonSuffix(t,l.fromA,l.toA,e,l.fromB,l.toB))&&(l=i[o]=new Change(l.fromA,l.toA-a,l.fromB,l.toB-a));let h=l.toA-l.fromA,c=l.toB-l.fromB;if(h&&c)continue;let d=l.fromA-(o?i[o-1].toA:0),f=(o<i.length-1?i[o+1].fromA:t.length)-l.toA;if(!d||!f)continue;let p=h?t.slice(l.fromA,l.toA):e.slice(l.fromB,l.toB);d<=p.length&&t.slice(l.fromA-d,l.fromA)==p.slice(p.length-d)?(i[o]=new Change(l.fromA-d,l.toA-d,l.fromB-d,l.toB-d),n=!0):f<=p.length&&t.slice(l.toA,l.toA+f)==p.slice(0,f)&&(i[o]=new Change(l.fromA+f,l.toA+f,l.fromB+f,l.toB+f),n=!0)}if(!n)break}return i}(t,e,findDiff(t,0,t.length,e,0,e.length))}function presentableDiff(t,e,i){return function makePresentable(t,e,i){for(let n=0,o=0;o<t.length;o++){let s=t[o],a=s.toA-s.fromA,l=s.toB-s.fromB;if(a&&l||a>3||l>3){let h=o==t.length-1?e.length:t[o+1].fromA,c=s.fromA-n,d=h-s.toA,f=findWordBoundaryBefore(e,s.fromA,Math.min(c,5)),p=findWordBoundaryAfter(e,s.toA,Math.min(d,5)),m=s.fromA-f,g=p-s.toA;if(!a||!l){let d,O,v=Math.max(a,l),[y,b,x]=a?[e,s.fromA,s.toA]:[i,s.fromB,s.toB];m&&g?(v>m&&e.slice(f,s.fromA)==y.slice(x-m,x)?(s=t[o]=new Change(f,f+a,s.fromB-m,s.toB-m),f=s.fromA,p=findWordBoundaryAfter(e,s.toA,Math.min(h-s.toA,5))):v>g&&e.slice(s.toA,p)==y.slice(b,b+g)&&(s=t[o]=new Change(p-a,p,s.fromB+g,s.toB+g),p=s.toA,f=findWordBoundaryBefore(e,s.fromA,Math.min(s.fromA-n,5))),m=s.fromA-f,g=p-s.toA):m||g||!(O=s.fromA-(d=findIndentBefore(e,s.fromA,c)))||e.slice(d,s.fromA)!=y.slice(x-O,x)||(s=t[o]=new Change(d,d+a,s.fromB-O,s.toB-O))}(m||g)&&(s=t[o]=new Change(s.fromA-m,s.toA+g,s.fromB-m,s.toB+g)),n=s.toA}}return mergeAdjacent(t,3),t}(diff(t,e,i),t,e)}const d=o.sj.define({combine:t=>t[0]}),f=o.Pe.define(),p=o.sU.define({create:t=>null,update(t,e){for(let i of e.effects)i.is(f)&&(t=i.value);return t}});class Chunk{constructor(t,e,i,n,o){this.changes=t,this.fromA=e,this.toA=i,this.fromB=n,this.toB=o}offset(t,e){return t||e?new Chunk(this.changes,this.fromA+t,this.toA+t,this.fromB+e,this.toB+e):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(t,e,i){return toChunks(presentableDiff(t.toString(),e.toString(),i),t,e,0,0)}static updateA(t,e,i,n,o){return updateChunks(findRangesForChange(t,n,!0,i.length),t,e,i,o)}static updateB(t,e,i,n,o){return updateChunks(findRangesForChange(t,n,!1,e.length),t,e,i,o)}}function fromLine(t,e,i,n){let o=i.lineAt(t),s=n.lineAt(e);return o.to==t&&s.to==e&&t<i.length&&e<n.length?[t+1,e+1]:[o.from,s.from]}function toLine(t,e,i,n){let o=i.lineAt(t),s=n.lineAt(e);return o.from==t&&s.from==e?[t,e]:[o.to+1,s.to+1]}function toChunks(t,e,i,n,o){let s=[];for(let a=0;a<t.length;a++){let l=t[a],[h,c]=fromLine(l.fromA+n,l.fromB+o,e,i),[d,f]=toLine(l.toA+n,l.toB+o,e,i),p=[l.offset(-h+n,-c+o)];for(;a<t.length-1;){let s=t[a+1],[l,m]=fromLine(s.fromA+n,s.fromB+o,e,i);if(l>d+1&&m>f+1)break;p.push(s.offset(-h+n,-c+o)),[d,f]=toLine(s.toA+n,s.toB+o,e,i),a++}s.push(new Chunk(p,h,Math.max(h,d),c,Math.max(c,f)))}return s}const m=1e3;function findPos(t,e,i,n){let o=0,s=t.length;for(;;){if(o==s){let n=0,s=0;o&&({toA:n,toB:s}=t[o-1]);let a=e-(i?n:s);return[n+a,s+a]}let a=o+s>>1,l=t[a],[h,c]=i?[l.fromA,l.toA]:[l.fromB,l.toB];if(h>e)s=a;else{if(!(c<=e))return n?[l.fromA,l.fromB]:[l.toA,l.toB];o=a+1}}}function findRangesForChange(t,e,i,n){let o=[];return e.iterChangedRanges(((s,a,l,h)=>{let c=0,d=i?e.length:n,f=0,p=i?n:e.length;s>m&&([c,f]=findPos(t,s-m,i,!0)),a<e.length-m&&([d,p]=findPos(t,a+m,i,!1));let g,O=h-l-(a-s),[v,y]=i?[O,0]:[0,O];o.length&&(g=o[o.length-1]).toA>=c?o[o.length-1]={fromA:g.fromA,fromB:g.fromB,toA:d,toB:p,diffA:g.diffA+v,diffB:g.diffB+y}:o.push({fromA:c,toA:d,fromB:f,toB:p,diffA:v,diffB:y})})),o}function updateChunks(t,e,i,n,o){if(!t.length)return e;let s=[];for(let a=0,l=0,h=0,c=0;;a++){let d=a==t.length?null:t[a],f=d?d.fromA+l:i.length,p=d?d.fromB+h:n.length;for(;c<e.length;){let t=e[c];if(t.toA+l>f||t.toB+h>p)break;s.push(t.offset(l,h)),c++}if(!d)break;let m=d.toA+l+d.diffA,g=d.toB+h+d.diffB,O=presentableDiff(i.sliceString(f,m),n.sliceString(p,g),o);for(let t of toChunks(O,i,n,f,p))s.push(t);for(l+=d.diffA,h+=d.diffB;c<e.length;){let t=e[c];if(t.fromA+l>m&&t.fromB+h>g)break;c++}}return s}const g={scanLimit:500},O=n.Z9.fromClass(class{constructor(t){({deco:this.deco,gutter:this.gutter}=getChunkDeco(t))}update(t){(t.docChanged||t.viewportChanged||function chunksChanged(t,e){return t.field(p,!1)!=e.field(p,!1)}(t.startState,t.state)||function configChanged(t,e){return t.facet(d)!=e.facet(d)}(t.startState,t.state))&&({deco:this.deco,gutter:this.gutter}=getChunkDeco(t.view))}},{decorations:t=>t.deco}),v=o.Nb.low((0,n.cU)({class:"cm-changeGutter",markers:t=>{var e;return(null===(e=t.plugin(O))||void 0===e?void 0:e.gutter)||o.om.empty}}));const y=n.NZ.line({class:"cm-changedLine"}),b=n.NZ.mark({class:"cm-changedText"}),x=n.NZ.mark({tagName:"ins",class:"cm-insertedLine"}),_=n.NZ.mark({tagName:"del",class:"cm-deletedLine"}),S=new class extends n.wJ{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function buildChunkDeco(t,e,i,n,o,s){let a=i?t.fromA:t.fromB,l=i?t.toA:t.toB,h=0;if(a!=l){o.add(a,a,y),o.add(a,l,i?_:x),s&&s.add(a,a,S);for(let c=e.iterRange(a,l-1),d=a;!c.next().done;){if(c.lineBreak){d++,o.add(d,d,y),s&&s.add(d,d,S);continue}let e=d+c.value.length;if(n)for(;h<t.changes.length;){let n=t.changes[h],s=a+(i?n.fromA:n.fromB),l=a+(i?n.toA:n.toB),c=Math.max(d,s),f=Math.min(e,l);if(c<f&&o.add(c,f,b),!(l<e))break;h++}d=e}}}function getChunkDeco(t){let e=t.state.field(p),{side:i,highlightChanges:n,markGutter:s}=t.state.facet(d),a="a"==i,l=new o.vB,h=s?new o.vB:null,{from:c,to:f}=t.viewport;for(let i of e){if((a?i.fromA:i.fromB)>=f)break;(a?i.toA:i.toB)>c&&buildChunkDeco(i,t.state.doc,a,n,l,h)}return{deco:l.finish(),gutter:h&&h.finish()}}class Spacer extends n.xO{constructor(t){super(),this.height=t}eq(t){return this.height==t.height}toDOM(){let t=document.createElement("div");return t.className="cm-mergeSpacer",t.style.height=this.height+"px",t}updateDOM(t){return t.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}const P=o.Pe.define({map:(t,e)=>t.map(e)}),k=o.sU.define({create:()=>n.NZ.none,update:(t,e)=>{for(let t of e.effects)if(t.is(P))return t.value;return t.map(e.changes)},provide:t=>n.Lz.decorations.from(t)}),C=.01;const Q=o.Pe.define({map:(t,e)=>e.mapPos(t)});class CollapseWidget extends n.xO{constructor(t){super(),this.lines=t}eq(t){return this.lines==t.lines}toDOM(t){let e=document.createElement("div");return e.className="cm-collapsedLines",e.textContent="⦚ "+t.state.phrase("$ unchanged lines",this.lines)+" ⦚",e.addEventListener("click",(e=>{let i=t.posAtDOM(e.target);t.dispatch({effects:Q.of(i)});let{side:n,sibling:o}=t.state.facet(d);o&&o().dispatch({effects:Q.of(mapPos(i,t.state.field(p),"a"==n))})})),e}ignoreEvent(t){return t instanceof MouseEvent}get estimatedHeight(){return 27}}function mapPos(t,e,i){let n=0,o=0;for(let s=0;;s++){let a=s<e.length?e[s]:null;if(!a||(i?a.fromA:a.fromB)>=t)return o+(t-n);[n,o]=i?[a.toA,a.toB]:[a.toB,a.toA]}}const T=o.sU.define({create:t=>n.NZ.none,update(t,e){t=t.map(e.changes);for(let i of e.effects)i.is(Q)&&(t=t.update({filter:t=>t!=i.value}));return t},provide:t=>n.Lz.decorations.from(t)});function collapseUnchanged({margin:t=3,minSize:e=4}){return T.init((i=>function buildCollapsedRanges(t,e,i){let s=new o.vB,a="a"==t.facet(d).side,l=t.field(p),h=1;for(let o=0;;o++){let c=o<l.length?l[o]:null,d=o?h+e:1,f=c?t.doc.lineAt(a?c.fromA:c.fromB).number-1-e:t.doc.lines,p=f-d+1;if(p>=i&&s.add(t.doc.line(d).from,t.doc.line(f).to,n.NZ.replace({widget:new CollapseWidget(p),block:!0})),!c)break;h=t.doc.lineAt(Math.min(t.doc.length,a?c.toA:c.toB)).number}return s.finish()}(i,t,e)))}const A=n.Lz.styleModule.of(new s.G({".cm-mergeView":{overflowY:"auto"},".cm-mergeViewEditors":{display:"flex",alignItems:"stretch"},".cm-mergeViewEditor":{flexGrow:1,flexBasis:0,overflow:"hidden"},".cm-merge-revert":{width:"1.6em",flexGrow:0,flexShrink:0,position:"relative"},".cm-merge-revert button":{position:"absolute",display:"block",width:"100%",boxSizing:"border-box",textAlign:"center",background:"none",border:"none",font:"inherit",cursor:"pointer"}})),R=n.Lz.baseTheme({".cm-mergeView & .cm-scroller, .cm-mergeView &":{height:"auto !important",overflowY:"visible !important"},"&.cm-merge-a .cm-changedLine, .cm-deletedChunk":{backgroundColor:"rgba(160, 128, 100, .08)"},"&.cm-merge-b .cm-changedLine":{backgroundColor:"rgba(100, 160, 128, .08)"},"&light.cm-merge-a .cm-changedText, &light .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ee443366, #ee443366) bottom/100% 2px no-repeat"},"&dark.cm-merge-a .cm-changedText, &dark .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ffaa9966, #ffaa9966) bottom/100% 2px no-repeat"},"&light.cm-merge-b .cm-changedText":{background:"linear-gradient(#22bb2266, #22bb2266) bottom/100% 2px no-repeat"},"&dark.cm-merge-b .cm-changedText":{background:"linear-gradient(#88ff8866, #88ff8866) bottom/100% 2px no-repeat"},".cm-insertedLine, .cm-deletedLine":{textDecoration:"none"},".cm-deletedChunk":{paddingLeft:"6px","& .cm-chunkButtons":{position:"absolute",insetInlineEnd:"5px"},"& button":{border:"none",cursor:"pointer",color:"white",margin:"0 2px",borderRadius:"3px","&[name=accept]":{background:"#2a2"},"&[name=reject]":{background:"#d43"}}},".cm-collapsedLines":{padding:"5px 5px 5px 10px",cursor:"pointer"},"&light .cm-collapsedLines":{color:"#444",background:"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)"},"&dark .cm-collapsedLines":{color:"#ddd",background:"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)"},".cm-changeGutter":{width:"3px",paddingLeft:"1px"},"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter":{background:"#e43"},"&dark.cm-merge-a .cm-changedLineGutter, &dark .cm-deletedLineGutter":{background:"#fa9"},"&light.cm-merge-b .cm-changedLineGutter":{background:"#2b2"},"&dark.cm-merge-b .cm-changedLineGutter":{background:"#8f8"}}),Z=new o.xx,M=new o.xx;class MergeView{constructor(t){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=t.diffConfig||g;let e=[o.Nb.low(O),R,A,k,n.Lz.updateListener.of((t=>{this.measuring<0&&(t.heightChanged||t.viewportChanged)&&!t.transactions.some((t=>t.effects.some((t=>t.is(P)))))&&this.measure()}))],i=[d.of({side:"a",sibling:()=>this.b,highlightChanges:!1!==t.highlightChanges,markGutter:!1!==t.gutter})];!1!==t.gutter&&i.push(v);let s=o.$t.create({doc:t.a.doc,selection:t.a.selection,extensions:[t.a.extensions||[],n.Lz.editorAttributes.of({class:"cm-merge-a"}),M.of(i),e]}),a=[d.of({side:"b",sibling:()=>this.a,highlightChanges:!1!==t.highlightChanges,markGutter:!1!==t.gutter})];!1!==t.gutter&&a.push(v);let l=o.$t.create({doc:t.b.doc,selection:t.b.selection,extensions:[t.b.extensions||[],n.Lz.editorAttributes.of({class:"cm-merge-b"}),M.of(a),e]});this.chunks=Chunk.build(s.doc,l.doc,this.diffConf);let h=[p.init((()=>this.chunks)),Z.of(t.collapseUnchanged?collapseUnchanged(t.collapseUnchanged):[])];s=s.update({effects:o.Pe.appendConfig.of(h)}).state,l=l.update({effects:o.Pe.appendConfig.of(h)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let c=t.orientation||"a-b",f=document.createElement("div");f.className="cm-mergeViewEditor";let m=document.createElement("div");m.className="cm-mergeViewEditor",this.editorDOM.appendChild("a-b"==c?f:m),this.editorDOM.appendChild("a-b"==c?m:f),this.a=new n.Lz({state:s,parent:f,root:t.root,dispatchTransactions:t=>this.dispatch(t,this.a)}),this.b=new n.Lz({state:l,parent:m,root:t.root,dispatchTransactions:t=>this.dispatch(t,this.b)}),this.setupRevertControls(!!t.revertControls,"b-to-a"==t.revertControls,t.renderRevertControl),t.parent&&t.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(t,e){if(t.some((t=>t.docChanged))){let i=t[t.length-1],n=t.reduce(((t,e)=>t.compose(e.changes)),o.VR.empty(t[0].startState.doc.length));this.chunks=e==this.a?Chunk.updateA(this.chunks,i.newDoc,this.b.state.doc,n,this.diffConf):Chunk.updateB(this.chunks,this.a.state.doc,i.newDoc,n,this.diffConf),e.update([...t,i.state.update({effects:f.of(this.chunks)})]);let s=e==this.a?this.b:this.a;s.update([s.state.update({effects:f.of(this.chunks)})]),this.scheduleMeasure()}else e.update(t)}reconfigure(t){if("diffConfig"in t&&(this.diffConf=t.diffConfig),"orientation"in t){let e="b-a"!=t.orientation;if(e!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let t=this.a.dom.parentNode,i=this.b.dom.parentNode;t.remove(),i.remove(),this.editorDOM.insertBefore(e?t:i,this.editorDOM.firstChild),this.editorDOM.appendChild(e?i:t),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in t||"renderRevertControl"in t){let e=!!this.revertDOM,i=this.revertToA,n=this.renderRevert;"revertControls"in t&&(e=!!t.revertControls,i="b-to-a"==t.revertControls),"renderRevertControl"in t&&(n=t.renderRevertControl),this.setupRevertControls(e,i,n)}let e="highlightChanges"in t,i="gutter"in t,n="collapseUnchanged"in t;if(e||i||n){let o=[],s=[];if(e||i){let n=this.a.state.facet(d),a=i?!1!==t.gutter:n.markGutter,l=e?!1!==t.highlightChanges:n.highlightChanges;o.push(M.reconfigure([d.of({side:"a",sibling:()=>this.b,highlightChanges:l,markGutter:a}),a?v:[]])),s.push(M.reconfigure([d.of({side:"b",sibling:()=>this.a,highlightChanges:l,markGutter:a}),a?v:[]]))}if(n){let e=Z.reconfigure(t.collapseUnchanged?collapseUnchanged(t.collapseUnchanged):[]);o.push(e),s.push(e)}this.a.dispatch({effects:o}),this.b.dispatch({effects:s})}this.scheduleMeasure()}setupRevertControls(t,e,i){this.revertToA=e,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=i,!t&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):t&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",(t=>this.revertClicked(t))),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(this.measuring<0){let t=this.dom.ownerDocument.defaultView||window;this.measuring=t.requestAnimationFrame((()=>{this.measuring=-1,this.measure()}))}}measure(){!function updateSpacers(t,e,i){let s=new o.vB,a=new o.vB,l=t.state.field(k).iter(),h=e.state.field(k).iter(),c=0,d=0,f=0,p=0;for(let o=0;;o++){let m=o<i.length?i[o]:null;if(c<(m?m.fromA:t.state.doc.length)){let i=t.lineBlockAt(c).top+f-(e.lineBlockAt(d).top+p);i<-.01?(f-=i,s.add(c,c,n.NZ.widget({widget:new Spacer(-i),block:!0,side:-1}))):i>C&&(p+=i,a.add(d,d,n.NZ.widget({widget:new Spacer(i),block:!0,side:-1})))}if(!m)break;for(c=m.toA,d=m.toB;l.value&&l.from<c;)f-=l.value.spec.widget.height,l.next();for(;h.value&&h.from<d;)p-=h.value.spec.widget.height,h.next()}for(;l.value;)f-=l.value.spec.widget.height,l.next();for(;h.value;)p-=h.value.spec.widget.height,h.next();let m=t.contentHeight+f-(e.contentHeight+p);m<C?s.add(t.state.doc.length,t.state.doc.length,n.NZ.widget({widget:new Spacer(-m),block:!0,side:1})):m>C&&a.add(e.state.doc.length,e.state.doc.length,n.NZ.widget({widget:new Spacer(m),block:!0,side:1}));let g=s.finish(),O=a.finish();o.om.eq([g],[t.state.field(k)])||t.dispatch({effects:P.of(g)}),o.om.eq([O],[e.state.field(k)])||e.dispatch({effects:P.of(O)})}(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let t=this.revertDOM,e=t.firstChild,i=this.a.viewport,n=this.b.viewport;for(let o=0;o<this.chunks.length;o++){let s=this.chunks[o];if(s.fromA>i.to||s.fromB>n.to)break;if(s.fromA<i.from||s.fromB<n.from)continue;let a=this.a.lineBlockAt(s.fromA).top+"px";for(;e&&+e.dataset.chunk<o;)e=rm(e);e&&e.dataset.chunk==String(o)?(e.style.top!=a&&(e.style.top=a),e=e.nextSibling):t.insertBefore(this.renderRevertButton(a,o),e)}for(;e;)e=rm(e)}renderRevertButton(t,e){let i;if(this.renderRevert)i=this.renderRevert();else{i=document.createElement("button");let t=this.a.state.phrase("Revert this chunk");i.setAttribute("aria-label",t),i.setAttribute("title",t),i.textContent=this.revertToLeft?"⇜":"⇝"}return i.style.top=t,i.setAttribute("data-chunk",String(e)),i}revertClicked(t){let e,i=t.target;for(;i&&i.parentNode!=this.revertDOM;)i=i.parentNode;if(i&&(e=this.chunks[i.dataset.chunk])){let[i,n,o,s,a,l]=this.revertToA?[this.b,this.a,e.fromB,e.toB,e.fromA,e.toA]:[this.a,this.b,e.fromA,e.toA,e.fromB,e.toB],h=i.state.sliceDoc(o,Math.max(o,s-1));o!=s&&l<=n.state.doc.length&&(h+=i.state.lineBreak),n.dispatch({changes:{from:a,to:Math.min(n.state.doc.length,l),insert:h},userEvent:"revert"}),t.preventDefault()}}destroy(){this.a.destroy(),this.b.destroy(),this.measuring>-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}}function rm(t){let e=t.nextSibling;return t.remove(),e}n.xO},27735:(t,e,i)=>{"use strict";i.d(e,{gN:()=>highlightSelectionMatches});var n=i(80624),o=i(87988);i(95607);const s="function"==typeof String.prototype.normalize?t=>t.normalize("NFKD"):t=>t;class SearchCursor{constructor(t,e,i=0,n=t.length,o,a){this.test=a,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(i,n),this.bufferStart=i,this.normalize=o?t=>o(s(t)):s,this.query=this.normalize(e)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return(0,o.vS)(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let e=(0,o.MK)(t),i=this.bufferStart+this.bufferPos;this.bufferPos+=(0,o.Fh)(t);let n=this.normalize(e);for(let t=0,o=i;;t++){let s=n.charCodeAt(t),a=this.match(s,o,this.bufferPos+this.bufferStart);if(t==n.length-1){if(a)return this.value=a,this;break}o==i&&t<e.length&&e.charCodeAt(t)==s&&o++}}}match(t,e,i){let n=null;for(let e=0;e<this.matches.length;e+=2){let o=this.matches[e],s=!1;this.query.charCodeAt(o)==t&&(o==this.query.length-1?n={from:this.matches[e+1],to:i}:(this.matches[e]++,s=!0)),s||(this.matches.splice(e,2),e-=2)}return this.query.charCodeAt(0)==t&&(1==this.query.length?n={from:e,to:i}:this.matches.push(1,e)),n&&this.test&&!this.test(n.from,n.to,this.buffer,this.bufferStart)&&(n=null),n}}"undefined"!=typeof Symbol&&(SearchCursor.prototype[Symbol.iterator]=function(){return this});const a={from:-1,to:-1,match:/.*/.exec("")},l="gm"+(null==/x/.unicode?"":"u");class RegExpCursor{constructor(t,e,i,n=0,o=t.length){if(this.text=t,this.to=o,this.curLine="",this.done=!1,this.value=a,/\\[sWDnr]|\n|\r|\[\^/.test(e))return new MultilineRegExpCursor(t,e,i,n,o);this.re=new RegExp(e,l+((null==i?void 0:i.ignoreCase)?"i":"")),this.test=null==i?void 0:i.test,this.iter=t.iter();let s=t.lineAt(n);this.curLineStart=s.from,this.matchPos=toCharEnd(t,n),this.getLine(this.curLineStart)}getLine(t){this.iter.next(t),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let e=this.matchPos<=this.to&&this.re.exec(this.curLine);if(e){let i=this.curLineStart+e.index,n=i+e[0].length;if(this.matchPos=toCharEnd(this.text,n+(i==n?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(i<n||i>this.value.to)&&(!this.test||this.test(i,n,e)))return this.value={from:i,to:n,match:e},this;t=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),t=0}}}}const h=new WeakMap;class FlattenedDoc{constructor(t,e){this.from=t,this.text=e}get to(){return this.from+this.text.length}static get(t,e,i){let n=h.get(t);if(!n||n.from>=i||n.to<=e){let n=new FlattenedDoc(e,t.sliceString(e,i));return h.set(t,n),n}if(n.from==e&&n.to==i)return n;let{text:o,from:s}=n;return s>e&&(o=t.sliceString(e,s)+o,s=e),n.to<i&&(o+=t.sliceString(n.to,i)),h.set(t,new FlattenedDoc(s,o)),new FlattenedDoc(e,o.slice(e-s,i-s))}}class MultilineRegExpCursor{constructor(t,e,i,n,o){this.text=t,this.to=o,this.done=!1,this.value=a,this.matchPos=toCharEnd(t,n),this.re=new RegExp(e,l+((null==i?void 0:i.ignoreCase)?"i":"")),this.test=null==i?void 0:i.test,this.flat=FlattenedDoc.get(t,n,this.chunkEnd(n+5e3))}chunkEnd(t){return t>=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,e=this.re.exec(this.flat.text);if(e&&!e[0]&&e.index==t&&(this.re.lastIndex=t+1,e=this.re.exec(this.flat.text)),e){let t=this.flat.from+e.index,i=t+e[0].length;if((this.flat.to>=this.to||e.index+e[0].length<=this.flat.text.length-10)&&(!this.test||this.test(t,i,e)))return this.value={from:t,to:i,match:e},this.matchPos=toCharEnd(this.text,i+(t==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=FlattenedDoc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function toCharEnd(t,e){if(e>=t.length)return e;let i,n=t.lineAt(e);for(;e<n.to&&(i=n.text.charCodeAt(e-n.from))>=56320&&i<57344;)e++;return e}"undefined"!=typeof Symbol&&(RegExpCursor.prototype[Symbol.iterator]=MultilineRegExpCursor.prototype[Symbol.iterator]=function(){return this});const c={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},d=o.sj.define({combine:t=>(0,o.QR)(t,c,{highlightWordAroundCursor:(t,e)=>t||e,minSelectionLength:Math.min,maxMatches:Math.min})});function highlightSelectionMatches(t){let e=[g,m];return t&&e.push(d.of(t)),e}const f=n.NZ.mark({class:"cm-selectionMatch"}),p=n.NZ.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function insideWordBoundaries(t,e,i,n){return!(0!=i&&t(e.sliceDoc(i-1,i))==o.Je.Word||n!=e.doc.length&&t(e.sliceDoc(n,n+1))==o.Je.Word)}const m=n.Z9.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(d),{state:i}=t,s=i.selection;if(s.ranges.length>1)return n.NZ.none;let a,l=s.main,h=null;if(l.empty){if(!e.highlightWordAroundCursor)return n.NZ.none;let t=i.wordAt(l.head);if(!t)return n.NZ.none;h=i.charCategorizer(l.head),a=i.sliceDoc(t.from,t.to)}else{let t=l.to-l.from;if(t<e.minSelectionLength||t>200)return n.NZ.none;if(e.wholeWords){if(a=i.sliceDoc(l.from,l.to),h=i.charCategorizer(l.head),!insideWordBoundaries(h,i,l.from,l.to)||!function insideWord(t,e,i,n){return t(e.sliceDoc(i,i+1))==o.Je.Word&&t(e.sliceDoc(n-1,n))==o.Je.Word}(h,i,l.from,l.to))return n.NZ.none}else if(a=i.sliceDoc(l.from,l.to),!a)return n.NZ.none}let c=[];for(let o of t.visibleRanges){let t=new SearchCursor(i.doc,a,o.from,o.to);for(;!t.next().done;){let{from:o,to:s}=t.value;if((!h||insideWordBoundaries(h,i,o,s))&&(l.empty&&o<=l.from&&s>=l.to?c.push(p.range(o,s)):(o>=l.to||s<=l.from)&&c.push(f.range(o,s)),c.length>e.maxMatches))return n.NZ.none}}return n.NZ.set(c)}},{decorations:t=>t.decorations}),g=n.Lz.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}})},87988:(t,e,i)=>{"use strict";i.d(e,{$t:()=>EditorState,DA:()=>StateEffectType,EY:()=>Text,FB:()=>RangeValue,Fh:()=>codePointSize,Gu:()=>ChangeDesc,Je:()=>P,MK:()=>fromCodePoint,N1:()=>Line,Nb:()=>m,OF:()=>EditorSelection,Pe:()=>StateEffect,Q6:()=>Range,QR:()=>combineConfig,UJ:()=>AnnotationType,VR:()=>ChangeSet,YH:()=>Annotation,ZX:()=>Transaction,iR:()=>a,kn:()=>findColumn,om:()=>RangeSet,sU:()=>StateField,sj:()=>Facet,vB:()=>RangeSetBuilder,vS:()=>codePointAt,xx:()=>Compartment,y$:()=>countColumn,yn:()=>SelectionRange,zK:()=>findClusterBreak});class Text{lineAt(t){if(t<0||t>this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,e,i){[t,e]=clip(this,t,e);let n=[];return this.decompose(0,t,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(e,this.length,n,1),TextNode.from(n,this.length-(e-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,e=this.length){[t,e]=clip(this,t,e);let i=[];return this.decompose(t,e,i,0),TextNode.from(i,e-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let e=this.scanIdentical(t,1),i=this.length-this.scanIdentical(t,-1),n=new RawTextCursor(this),o=new RawTextCursor(t);for(let t=e,s=e;;){if(n.next(t),o.next(t),t=0,n.lineBreak!=o.lineBreak||n.done!=o.done||n.value!=o.value)return!1;if(s+=n.value.length,n.done||s>=i)return!0}}iter(t=1){return new RawTextCursor(this,t)}iterRange(t,e=this.length){return new PartialTextCursor(this,t,e)}iterLines(t,e){let i;if(null==t)i=this.iter();else{null==e&&(e=this.lines+1);let n=this.line(t).from;i=this.iterRange(n,Math.max(n,e==this.lines+1?this.length:e<=1?0:this.line(e-1).to))}return new LineCursor(i)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}constructor(){}static of(t){if(0==t.length)throw new RangeError("A document must have at least one line");return 1!=t.length||t[0]?t.length<=32?new TextLeaf(t):TextNode.from(TextLeaf.split(t,[])):Text.empty}}class TextLeaf extends Text{constructor(t,e=function textLength(t){let e=-1;for(let i of t)e+=i.length+1;return e}(t)){super(),this.text=t,this.length=e}get lines(){return this.text.length}get children(){return null}lineInner(t,e,i,n){for(let o=0;;o++){let s=this.text[o],a=n+s.length;if((e?i:a)>=t)return new Line(n,a,i,s);n=a+1,i++}}decompose(t,e,i,n){let o=t<=0&&e>=this.length?this:new TextLeaf(sliceText(this.text,t,e),Math.min(e,this.length)-Math.max(0,t));if(1&n){let t=i.pop(),e=appendText(o.text,t.text.slice(),0,o.length);if(e.length<=32)i.push(new TextLeaf(e,t.length+o.length));else{let t=e.length>>1;i.push(new TextLeaf(e.slice(0,t)),new TextLeaf(e.slice(t)))}}else i.push(o)}replace(t,e,i){if(!(i instanceof TextLeaf))return super.replace(t,e,i);[t,e]=clip(this,t,e);let n=appendText(this.text,appendText(i.text,sliceText(this.text,0,t)),e),o=this.length+i.length-(e-t);return n.length<=32?new TextLeaf(n,o):TextNode.from(TextLeaf.split(n,[]),o)}sliceString(t,e=this.length,i="\n"){[t,e]=clip(this,t,e);let n="";for(let o=0,s=0;o<=e&&s<this.text.length;s++){let a=this.text[s],l=o+a.length;o>t&&s&&(n+=i),t<l&&e>o&&(n+=a.slice(Math.max(0,t-o),e-o)),o=l+1}return n}flatten(t){for(let e of this.text)t.push(e)}scanIdentical(){return 0}static split(t,e){let i=[],n=-1;for(let o of t)i.push(o),n+=o.length+1,32==i.length&&(e.push(new TextLeaf(i,n)),i=[],n=-1);return n>-1&&e.push(new TextLeaf(i,n)),e}}class TextNode extends Text{constructor(t,e){super(),this.children=t,this.length=e,this.lines=0;for(let e of t)this.lines+=e.lines}lineInner(t,e,i,n){for(let o=0;;o++){let s=this.children[o],a=n+s.length,l=i+s.lines-1;if((e?l:a)>=t)return s.lineInner(t,e,i,n);n=a+1,i=l+1}}decompose(t,e,i,n){for(let o=0,s=0;s<=e&&o<this.children.length;o++){let a=this.children[o],l=s+a.length;if(t<=l&&e>=s){let o=n&((s<=t?1:0)|(l>=e?2:0));s>=t&&l<=e&&!o?i.push(a):a.decompose(t-s,e-s,i,o)}s=l+1}}replace(t,e,i){if([t,e]=clip(this,t,e),i.lines<this.lines)for(let n=0,o=0;n<this.children.length;n++){let s=this.children[n],a=o+s.length;if(t>=o&&e<=a){let l=s.replace(t-o,e-o,i),h=this.lines-s.lines+l.lines;if(l.lines<h>>4&&l.lines>h>>6){let o=this.children.slice();return o[n]=l,new TextNode(o,this.length-(e-t)+i.length)}return super.replace(o,a,l)}o=a+1}return super.replace(t,e,i)}sliceString(t,e=this.length,i="\n"){[t,e]=clip(this,t,e);let n="";for(let o=0,s=0;o<this.children.length&&s<=e;o++){let a=this.children[o],l=s+a.length;s>t&&o&&(n+=i),t<l&&e>s&&(n+=a.sliceString(t-s,e-s,i)),s=l+1}return n}flatten(t){for(let e of this.children)e.flatten(t)}scanIdentical(t,e){if(!(t instanceof TextNode))return 0;let i=0,[n,o,s,a]=e>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;n+=e,o+=e){if(n==s||o==a)return i;let l=this.children[n],h=t.children[o];if(l!=h)return i+l.scanIdentical(h,e);i+=l.length+1}}static from(t,e=t.reduce(((t,e)=>t+e.length+1),-1)){let i=0;for(let e of t)i+=e.lines;if(i<32){let i=[];for(let e of t)e.flatten(i);return new TextLeaf(i,e)}let n=Math.max(32,i>>5),o=n<<1,s=n>>1,a=[],l=0,h=-1,c=[];function add(t){let e;if(t.lines>o&&t instanceof TextNode)for(let e of t.children)add(e);else t.lines>s&&(l>s||!l)?(flush(),a.push(t)):t instanceof TextLeaf&&l&&(e=c[c.length-1])instanceof TextLeaf&&t.lines+e.lines<=32?(l+=t.lines,h+=t.length+1,c[c.length-1]=new TextLeaf(e.text.concat(t.text),e.length+1+t.length)):(l+t.lines>n&&flush(),l+=t.lines,h+=t.length+1,c.push(t))}function flush(){0!=l&&(a.push(1==c.length?c[0]:TextNode.from(c,h)),h=-1,l=c.length=0)}for(let e of t)add(e);return flush(),1==a.length?a[0]:new TextNode(a,e)}}function appendText(t,e,i=0,n=1e9){for(let o=0,s=0,a=!0;s<t.length&&o<=n;s++){let l=t[s],h=o+l.length;h>=i&&(h>n&&(l=l.slice(0,n-o)),o<i&&(l=l.slice(i-o)),a?(e[e.length-1]+=l,a=!1):e.push(l)),o=h+1}return e}function sliceText(t,e,i){return appendText(t,[""],e,i)}Text.empty=new TextLeaf([""],0);class RawTextCursor{constructor(t,e=1){this.dir=e,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[t],this.offsets=[e>0?1:(t instanceof TextLeaf?t.text.length:t.children.length)<<1]}nextInner(t,e){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,n=this.nodes[i],o=this.offsets[i],s=o>>1,a=n instanceof TextLeaf?n.text.length:n.children.length;if(s==(e>0?a:0)){if(0==i)return this.done=!0,this.value="",this;e>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&o)==(e>0?0:1)){if(this.offsets[i]+=e,0==t)return this.lineBreak=!0,this.value="\n",this;t--}else if(n instanceof TextLeaf){let o=n.text[s+(e<0?-1:0)];if(this.offsets[i]+=e,o.length>Math.max(0,t))return this.value=0==t?o:e>0?o.slice(t):o.slice(0,o.length-t),this;t-=o.length}else{let o=n.children[s+(e<0?-1:0)];t>o.length?(t-=o.length,this.offsets[i]+=e):(e<0&&this.offsets[i]--,this.nodes.push(o),this.offsets.push(e>0?1:(o instanceof TextLeaf?o.text.length:o.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}}class PartialTextCursor{constructor(t,e,i){this.value="",this.done=!1,this.cursor=new RawTextCursor(t,e>i?-1:1),this.pos=e>i?t.length:0,this.from=Math.min(e,i),this.to=Math.max(e,i)}nextInner(t,e){if(e<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,e<0?this.pos-this.to:this.from-this.pos);let i=e<0?this.pos-this.from:this.to-this.pos;t>i&&(t=i),i-=t;let{value:n}=this.cursor.next(t);return this.pos+=(n.length+t)*e,this.value=n.length<=i?n:e<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class LineCursor{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:e,lineBreak:i,value:n}=this.inner.next(t);return e&&this.afterBreak?(this.value="",this.afterBreak=!1):e?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(Text.prototype[Symbol.iterator]=function(){return this.iter()},RawTextCursor.prototype[Symbol.iterator]=PartialTextCursor.prototype[Symbol.iterator]=LineCursor.prototype[Symbol.iterator]=function(){return this});class Line{constructor(t,e,i,n){this.from=t,this.to=e,this.number=i,this.text=n}get length(){return this.to-this.from}}function clip(t,e,i){return[e=Math.max(0,Math.min(t.length,e)),Math.max(e,Math.min(t.length,i))]}let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((t=>t?parseInt(t,36):1));for(let t=1;t<n.length;t++)n[t]+=n[t-1];function isExtendingChar(t){for(let e=1;e<n.length;e+=2)if(n[e]>t)return n[e-1]<=t;return!1}function isRegionalIndicator(t){return t>=127462&&t<=127487}const o=8205;function findClusterBreak(t,e,i=!0,n=!0){return(i?nextClusterBreak:prevClusterBreak)(t,e,n)}function nextClusterBreak(t,e,i){if(e==t.length)return e;e&&surrogateLow(t.charCodeAt(e))&&surrogateHigh(t.charCodeAt(e-1))&&e--;let n=codePointAt(t,e);for(e+=codePointSize(n);e<t.length;){let s=codePointAt(t,e);if(n==o||s==o||i&&isExtendingChar(s))e+=codePointSize(s),n=s;else{if(!isRegionalIndicator(s))break;{let i=0,n=e-2;for(;n>=0&&isRegionalIndicator(codePointAt(t,n));)i++,n-=2;if(i%2==0)break;e+=2}}}return e}function prevClusterBreak(t,e,i){for(;e>0;){let n=nextClusterBreak(t,e-2,i);if(n<e)return n;e--}return 0}function surrogateLow(t){return t>=56320&&t<57344}function surrogateHigh(t){return t>=55296&&t<56320}function codePointAt(t,e){let i=t.charCodeAt(e);if(!surrogateHigh(i)||e+1==t.length)return i;let n=t.charCodeAt(e+1);return surrogateLow(n)?n-56320+(i-55296<<10)+65536:i}function fromCodePoint(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}function codePointSize(t){return t<65536?1:2}const s=/\r\n?|\n/;var a=function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t}(a||(a={}));class ChangeDesc{constructor(t){this.sections=t}get length(){let t=0;for(let e=0;e<this.sections.length;e+=2)t+=this.sections[e];return t}get newLength(){let t=0;for(let e=0;e<this.sections.length;e+=2){let i=this.sections[e+1];t+=i<0?this.sections[e]:i}return t}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(t){for(let e=0,i=0,n=0;e<this.sections.length;){let o=this.sections[e++],s=this.sections[e++];s<0?(t(i,n,o),n+=o):n+=s,i+=o}}iterChangedRanges(t,e=!1){iterChanges(this,t,e)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let i=this.sections[e++],n=this.sections[e++];n<0?t.push(i,n):t.push(n,i)}return new ChangeDesc(t)}composeDesc(t){return this.empty?t:t.empty?this:composeSets(this,t)}mapDesc(t,e=!1){return t.empty?this:mapSet(this,t,e)}mapPos(t,e=-1,i=a.Simple){let n=0,o=0;for(let s=0;s<this.sections.length;){let l=this.sections[s++],h=this.sections[s++],c=n+l;if(h<0){if(c>t)return o+(t-n);o+=l}else{if(i!=a.Simple&&c>=t&&(i==a.TrackDel&&n<t&&c>t||i==a.TrackBefore&&n<t||i==a.TrackAfter&&c>t))return null;if(c>t||c==t&&e<0&&!l)return t==n||e<0?o:o+h;o+=h}n=c}if(t>n)throw new RangeError(`Position ${t} is out of range for changeset of length ${n}`);return o}touchesRange(t,e=t){for(let i=0,n=0;i<this.sections.length&&n<=e;){let o=n+this.sections[i++];if(this.sections[i++]>=0&&n<=e&&o>=t)return!(n<t&&o>e)||"cover";n=o}return!1}toString(){let t="";for(let e=0;e<this.sections.length;){let i=this.sections[e++],n=this.sections[e++];t+=(t?" ":"")+i+(n>=0?":"+n:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some((t=>"number"!=typeof t)))throw new RangeError("Invalid JSON representation of ChangeDesc");return new ChangeDesc(t)}static create(t){return new ChangeDesc(t)}}class ChangeSet extends ChangeDesc{constructor(t,e){super(t),this.inserted=e}apply(t){if(this.length!=t.length)throw new RangeError("Applying change set to a document with the wrong length");return iterChanges(this,((e,i,n,o,s)=>t=t.replace(n,n+(i-e),s)),!1),t}mapDesc(t,e=!1){return mapSet(this,t,e,!0)}invert(t){let e=this.sections.slice(),i=[];for(let n=0,o=0;n<e.length;n+=2){let s=e[n],a=e[n+1];if(a>=0){e[n]=a,e[n+1]=s;let l=n>>1;for(;i.length<l;)i.push(Text.empty);i.push(s?t.slice(o,o+s):Text.empty)}o+=s}return new ChangeSet(e,i)}compose(t){return this.empty?t:t.empty?this:composeSets(this,t,!0)}map(t,e=!1){return t.empty?this:mapSet(this,t,e,!0)}iterChanges(t,e=!1){iterChanges(this,t,e)}get desc(){return ChangeDesc.create(this.sections)}filter(t){let e=[],i=[],n=[],o=new SectionIter(this);t:for(let s=0,a=0;;){let l=s==t.length?1e9:t[s++];for(;a<l||a==l&&0==o.len;){if(o.done)break t;let t=Math.min(o.len,l-a);addSection(n,t,-1);let s=-1==o.ins?-1:0==o.off?o.ins:0;addSection(e,t,s),s>0&&addInsert(i,e,o.text),o.forward(t),a+=t}let h=t[s++];for(;a<h;){if(o.done)break t;let t=Math.min(o.len,h-a);addSection(e,t,-1),addSection(n,t,-1==o.ins?-1:0==o.off?o.ins:0),o.forward(t),a+=t}}return{changes:new ChangeSet(e,i),filtered:ChangeDesc.create(n)}}toJSON(){let t=[];for(let e=0;e<this.sections.length;e+=2){let i=this.sections[e],n=this.sections[e+1];n<0?t.push(i):0==n?t.push([i]):t.push([i].concat(this.inserted[e>>1].toJSON()))}return t}static of(t,e,i){let n=[],o=[],a=0,l=null;function flush(t=!1){if(!t&&!n.length)return;a<e&&addSection(n,e-a,-1);let i=new ChangeSet(n,o);l=l?l.compose(i.map(l)):i,n=[],o=[],a=0}return function process(t){if(Array.isArray(t))for(let e of t)process(e);else if(t instanceof ChangeSet){if(t.length!=e)throw new RangeError(`Mismatched change set length (got ${t.length}, expected ${e})`);flush(),l=l?l.compose(t.map(l)):t}else{let{from:l,to:h=l,insert:c}=t;if(l>h||l<0||h>e)throw new RangeError(`Invalid change range ${l} to ${h} (in doc of length ${e})`);let d=c?"string"==typeof c?Text.of(c.split(i||s)):c:Text.empty,f=d.length;if(l==h&&0==f)return;l<a&&flush(),l>a&&addSection(n,l-a,-1),addSection(n,h-l,f),addInsert(o,n,d),a=h}}(t),flush(!l),l}static empty(t){return new ChangeSet(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let e=[],i=[];for(let n=0;n<t.length;n++){let o=t[n];if("number"==typeof o)e.push(o,-1);else{if(!Array.isArray(o)||"number"!=typeof o[0]||o.some(((t,e)=>e&&"string"!=typeof t)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==o.length)e.push(o[0],0);else{for(;i.length<n;)i.push(Text.empty);i[n]=Text.of(o.slice(1)),e.push(o[0],i[n].length)}}}return new ChangeSet(e,i)}static createSet(t,e){return new ChangeSet(t,e)}}function addSection(t,e,i,n=!1){if(0==e&&i<=0)return;let o=t.length-2;o>=0&&i<=0&&i==t[o+1]?t[o]+=e:0==e&&0==t[o]?t[o+1]+=i:n?(t[o]+=e,t[o+1]+=i):t.push(e,i)}function addInsert(t,e,i){if(0==i.length)return;let n=e.length-2>>1;if(n<t.length)t[t.length-1]=t[t.length-1].append(i);else{for(;t.length<n;)t.push(Text.empty);t.push(i)}}function iterChanges(t,e,i){let n=t.inserted;for(let o=0,s=0,a=0;a<t.sections.length;){let l=t.sections[a++],h=t.sections[a++];if(h<0)o+=l,s+=l;else{let c=o,d=s,f=Text.empty;for(;c+=l,d+=h,h&&n&&(f=f.append(n[a-2>>1])),!(i||a==t.sections.length||t.sections[a+1]<0);)l=t.sections[a++],h=t.sections[a++];e(o,c,s,d,f),o=c,s=d}}}function mapSet(t,e,i,n=!1){let o=[],s=n?[]:null,a=new SectionIter(t),l=new SectionIter(e);for(let t=-1;;)if(-1==a.ins&&-1==l.ins){let t=Math.min(a.len,l.len);addSection(o,t,-1),a.forward(t),l.forward(t)}else if(l.ins>=0&&(a.ins<0||t==a.i||0==a.off&&(l.len<a.len||l.len==a.len&&!i))){let e=l.len;for(addSection(o,l.ins,-1);e;){let i=Math.min(a.len,e);a.ins>=0&&t<a.i&&a.len<=i&&(addSection(o,0,a.ins),s&&addInsert(s,o,a.text),t=a.i),a.forward(i),e-=i}l.next()}else{if(!(a.ins>=0)){if(a.done&&l.done)return s?ChangeSet.createSet(o,s):ChangeDesc.create(o);throw new Error("Mismatched change set lengths")}{let e=0,i=a.len;for(;i;)if(-1==l.ins){let t=Math.min(i,l.len);e+=t,i-=t,l.forward(t)}else{if(!(0==l.ins&&l.len<i))break;i-=l.len,l.next()}addSection(o,e,t<a.i?a.ins:0),s&&t<a.i&&addInsert(s,o,a.text),t=a.i,a.forward(a.len-i)}}}function composeSets(t,e,i=!1){let n=[],o=i?[]:null,s=new SectionIter(t),a=new SectionIter(e);for(let t=!1;;){if(s.done&&a.done)return o?ChangeSet.createSet(n,o):ChangeDesc.create(n);if(0==s.ins)addSection(n,s.len,0,t),s.next();else if(0!=a.len||a.done){if(s.done||a.done)throw new Error("Mismatched change set lengths");{let e=Math.min(s.len2,a.len),i=n.length;if(-1==s.ins){let i=-1==a.ins?-1:a.off?0:a.ins;addSection(n,e,i,t),o&&i&&addInsert(o,n,a.text)}else-1==a.ins?(addSection(n,s.off?0:s.len,e,t),o&&addInsert(o,n,s.textBit(e))):(addSection(n,s.off?0:s.len,a.off?0:a.ins,t),o&&!a.off&&addInsert(o,n,a.text));t=(s.ins>e||a.ins>=0&&a.len>e)&&(t||n.length>i),s.forward2(e),a.forward(e)}}else addSection(n,0,a.ins,t),o&&addInsert(o,n,a.text),a.next()}}class SectionIter{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i<t.length?(this.len=t[this.i++],this.ins=t[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return-2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:t}=this.set,e=this.i-2>>1;return e>=t.length?Text.empty:t[e]}textBit(t){let{inserted:e}=this.set,i=this.i-2>>1;return i>=e.length&&!t?Text.empty:e[i].slice(this.off,null==t?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){-1==this.ins?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}class SelectionRange{constructor(t,e,i){this.from=t,this.to=e,this.flags=i}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let t=7&this.flags;return 7==t?null:t}get goalColumn(){let t=this.flags>>6;return 16777215==t?void 0:t}map(t,e=-1){let i,n;return this.empty?i=n=t.mapPos(this.from,e):(i=t.mapPos(this.from,1),n=t.mapPos(this.to,-1)),i==this.from&&n==this.to?this:new SelectionRange(i,n,this.flags)}extend(t,e=t){if(t<=this.anchor&&e>=this.anchor)return EditorSelection.range(t,e);let i=Math.abs(t-this.anchor)>Math.abs(e-this.anchor)?t:e;return EditorSelection.range(this.anchor,i)}eq(t,e=!1){return!(this.anchor!=t.anchor||this.head!=t.head||e&&this.empty&&this.assoc!=t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||"number"!=typeof t.anchor||"number"!=typeof t.head)throw new RangeError("Invalid JSON representation for SelectionRange");return EditorSelection.range(t.anchor,t.head)}static create(t,e,i){return new SelectionRange(t,e,i)}}class EditorSelection{constructor(t,e){this.ranges=t,this.mainIndex=e}map(t,e=-1){return t.empty?this:EditorSelection.create(this.ranges.map((i=>i.map(t,e))),this.mainIndex)}eq(t,e=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(t.ranges[i],e))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new EditorSelection([this.main],0)}addRange(t,e=!0){return EditorSelection.create([t].concat(this.ranges),e?0:this.mainIndex+1)}replaceRange(t,e=this.mainIndex){let i=this.ranges.slice();return i[e]=t,EditorSelection.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((t=>t.toJSON())),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||"number"!=typeof t.main||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new EditorSelection(t.ranges.map((t=>SelectionRange.fromJSON(t))),t.main)}static single(t,e=t){return new EditorSelection([EditorSelection.range(t,e)],0)}static create(t,e=0){if(0==t.length)throw new RangeError("A selection needs at least one range");for(let i=0,n=0;n<t.length;n++){let o=t[n];if(o.empty?o.from<=i:o.from<i)return EditorSelection.normalized(t.slice(),e);i=o.to}return new EditorSelection(t,e)}static cursor(t,e=0,i,n){return SelectionRange.create(t,t,(0==e?0:e<0?8:16)|(null==i?7:Math.min(6,i))|(null!=n?n:16777215)<<6)}static range(t,e,i,n){let o=(null!=i?i:16777215)<<6|(null==n?7:Math.min(6,n));return e<t?SelectionRange.create(e,t,48|o):SelectionRange.create(t,e,(e>t?8:0)|o)}static normalized(t,e=0){let i=t[e];t.sort(((t,e)=>t.from-e.from)),e=t.indexOf(i);for(let i=1;i<t.length;i++){let n=t[i],o=t[i-1];if(n.empty?n.from<=o.to:n.from<o.to){let s=o.from,a=Math.max(n.to,o.to);i<=e&&e--,t.splice(--i,2,n.anchor>n.head?EditorSelection.range(a,s):EditorSelection.range(s,a))}}return new EditorSelection(t,e)}}function checkSelection(t,e){for(let i of t.ranges)if(i.to>e)throw new RangeError("Selection points outside of document")}let l=0;class Facet{constructor(t,e,i,n,o){this.combine=t,this.compareInput=e,this.compare=i,this.isStatic=n,this.id=l++,this.default=t([]),this.extensions="function"==typeof o?o(this):o}get reader(){return this}static define(t={}){return new Facet(t.combine||(t=>t),t.compareInput||((t,e)=>t===e),t.compare||(t.combine?(t,e)=>t===e:sameArray),!!t.static,t.enables)}of(t){return new FacetProvider([],this,0,t)}compute(t,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(t,this,1,e)}computeN(t,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(t,this,2,e)}from(t,e){return e||(e=t=>t),this.compute([t],(i=>e(i.field(t))))}}function sameArray(t,e){return t==e||t.length==e.length&&t.every(((t,i)=>t===e[i]))}class FacetProvider{constructor(t,e,i,n){this.dependencies=t,this.facet=e,this.type=i,this.value=n,this.id=l++}dynamicSlot(t){var e;let i=this.value,n=this.facet.compareInput,o=this.id,s=t[o]>>1,a=2==this.type,l=!1,h=!1,c=[];for(let i of this.dependencies)"doc"==i?l=!0:"selection"==i?h=!0:1&(null!==(e=t[i.id])&&void 0!==e?e:1)||c.push(t[i.id]);return{create:t=>(t.values[s]=i(t),1),update(t,e){if(l&&e.docChanged||h&&(e.docChanged||e.selection)||ensureAll(t,c)){let e=i(t);if(a?!compareArray(e,t.values[s],n):!n(e,t.values[s]))return t.values[s]=e,1}return 0},reconfigure:(t,e)=>{let l,h=e.config.address[o];if(null!=h){let o=getAddr(e,h);if(this.dependencies.every((i=>i instanceof Facet?e.facet(i)===t.facet(i):!(i instanceof StateField)||e.field(i,!1)==t.field(i,!1)))||(a?compareArray(l=i(t),o,n):n(l=i(t),o)))return t.values[s]=o,0}else l=i(t);return t.values[s]=l,1}}}}function compareArray(t,e,i){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!i(t[n],e[n]))return!1;return!0}function ensureAll(t,e){let i=!1;for(let n of e)1&ensureAddr(t,n)&&(i=!0);return i}function dynamicFacetSlot(t,e,i){let n=i.map((e=>t[e.id])),o=i.map((t=>t.type)),s=n.filter((t=>!(1&t))),a=t[e.id]>>1;function get(t){let i=[];for(let e=0;e<n.length;e++){let s=getAddr(t,n[e]);if(2==o[e])for(let t of s)i.push(t);else i.push(s)}return e.combine(i)}return{create(t){for(let e of n)ensureAddr(t,e);return t.values[a]=get(t),1},update(t,i){if(!ensureAll(t,s))return 0;let n=get(t);return e.compare(n,t.values[a])?0:(t.values[a]=n,1)},reconfigure(t,o){let s=ensureAll(t,n),l=o.config.facets[e.id],h=o.facet(e);if(l&&!s&&sameArray(i,l))return t.values[a]=h,0;let c=get(t);return e.compare(c,h)?(t.values[a]=h,0):(t.values[a]=c,1)}}}const h=Facet.define({static:!0});class StateField{constructor(t,e,i,n,o){this.id=t,this.createF=e,this.updateF=i,this.compareF=n,this.spec=o,this.provides=void 0}static define(t){let e=new StateField(l++,t.create,t.update,t.compare||((t,e)=>t===e),t);return t.provide&&(e.provides=t.provide(e)),e}create(t){let e=t.facet(h).find((t=>t.field==this));return((null==e?void 0:e.create)||this.createF)(t)}slot(t){let e=t[this.id]>>1;return{create:t=>(t.values[e]=this.create(t),1),update:(t,i)=>{let n=t.values[e],o=this.updateF(n,i);return this.compareF(n,o)?0:(t.values[e]=o,1)},reconfigure:(t,i)=>null!=i.config.address[this.id]?(t.values[e]=i.field(this),0):(t.values[e]=this.create(t),1)}}init(t){return[this,h.of({field:this,create:t})]}get extension(){return this}}const c=4,d=3,f=2,p=1;function prec(t){return e=>new PrecExtension(e,t)}const m={highest:prec(0),high:prec(p),default:prec(f),low:prec(d),lowest:prec(c)};class PrecExtension{constructor(t,e){this.inner=t,this.prec=e}}class Compartment{of(t){return new CompartmentInstance(this,t)}reconfigure(t){return Compartment.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class CompartmentInstance{constructor(t,e){this.compartment=t,this.inner=e}}class Configuration{constructor(t,e,i,n,o,s){for(this.base=t,this.compartments=e,this.dynamicSlots=i,this.address=n,this.staticValues=o,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(t){let e=this.address[t.id];return null==e?t.default:this.staticValues[e>>1]}static resolve(t,e,i){let n=[],o=Object.create(null),s=new Map;for(let i of function flatten(t,e,i){let n=[[],[],[],[],[]],o=new Map;function inner(t,s){let a=o.get(t);if(null!=a){if(a<=s)return;let e=n[a].indexOf(t);e>-1&&n[a].splice(e,1),t instanceof CompartmentInstance&&i.delete(t.compartment)}if(o.set(t,s),Array.isArray(t))for(let e of t)inner(e,s);else if(t instanceof CompartmentInstance){if(i.has(t.compartment))throw new RangeError("Duplicate use of compartment in extensions");let n=e.get(t.compartment)||t.inner;i.set(t.compartment,n),inner(n,s)}else if(t instanceof PrecExtension)inner(t.inner,t.prec);else if(t instanceof StateField)n[s].push(t),t.provides&&inner(t.provides,s);else if(t instanceof FacetProvider)n[s].push(t),t.facet.extensions&&inner(t.facet.extensions,f);else{let e=t.extension;if(!e)throw new Error(`Unrecognized extension value in extension set (${t}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);inner(e,s)}}return inner(t,f),n.reduce(((t,e)=>t.concat(e)))}(t,e,s))i instanceof StateField?n.push(i):(o[i.facet.id]||(o[i.facet.id]=[])).push(i);let a=Object.create(null),l=[],h=[];for(let t of n)a[t.id]=h.length<<1,h.push((e=>t.slot(e)));let c=null==i?void 0:i.config.facets;for(let t in o){let e=o[t],n=e[0].facet,s=c&&c[t]||[];if(e.every((t=>0==t.type)))if(a[n.id]=l.length<<1|1,sameArray(s,e))l.push(i.facet(n));else{let t=n.combine(e.map((t=>t.value)));l.push(i&&n.compare(t,i.facet(n))?i.facet(n):t)}else{for(let t of e)0==t.type?(a[t.id]=l.length<<1|1,l.push(t.value)):(a[t.id]=h.length<<1,h.push((e=>t.dynamicSlot(e))));a[n.id]=h.length<<1,h.push((t=>dynamicFacetSlot(t,n,e)))}}let d=h.map((t=>t(a)));return new Configuration(t,s,d,a,l,o)}}function ensureAddr(t,e){if(1&e)return 2;let i=e>>1,n=t.status[i];if(4==n)throw new Error("Cyclic dependency between fields and/or facets");if(2&n)return n;t.status[i]=4;let o=t.computeSlot(t,t.config.dynamicSlots[i]);return t.status[i]=2|o}function getAddr(t,e){return 1&e?t.config.staticValues[e>>1]:t.values[e>>1]}const g=Facet.define(),O=Facet.define({combine:t=>t.some((t=>t)),static:!0}),v=Facet.define({combine:t=>t.length?t[0]:void 0,static:!0}),y=Facet.define(),b=Facet.define(),x=Facet.define(),_=Facet.define({combine:t=>!!t.length&&t[0]});class Annotation{constructor(t,e){this.type=t,this.value=e}static define(){return new AnnotationType}}class AnnotationType{of(t){return new Annotation(this,t)}}class StateEffectType{constructor(t){this.map=t}of(t){return new StateEffect(this,t)}}class StateEffect{constructor(t,e){this.type=t,this.value=e}map(t){let e=this.type.map(this.value,t);return void 0===e?void 0:e==this.value?this:new StateEffect(this.type,e)}is(t){return this.type==t}static define(t={}){return new StateEffectType(t.map||(t=>t))}static mapEffects(t,e){if(!t.length)return t;let i=[];for(let n of t){let t=n.map(e);t&&i.push(t)}return i}}StateEffect.reconfigure=StateEffect.define(),StateEffect.appendConfig=StateEffect.define();class Transaction{constructor(t,e,i,n,o,s){this.startState=t,this.changes=e,this.selection=i,this.effects=n,this.annotations=o,this.scrollIntoView=s,this._doc=null,this._state=null,i&&checkSelection(i,e.newLength),o.some((t=>t.type==Transaction.time))||(this.annotations=o.concat(Transaction.time.of(Date.now())))}static create(t,e,i,n,o,s){return new Transaction(t,e,i,n,o,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(t){for(let e of this.annotations)if(e.type==t)return e.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let e=this.annotation(Transaction.userEvent);return!(!e||!(e==t||e.length>t.length&&e.slice(0,t.length)==t&&"."==e[t.length]))}}function joinRanges(t,e){let i=[];for(let n=0,o=0;;){let s,a;if(n<t.length&&(o==e.length||e[o]>=t[n]))s=t[n++],a=t[n++];else{if(!(o<e.length))return i;s=e[o++],a=e[o++]}!i.length||i[i.length-1]<s?i.push(s,a):i[i.length-1]<a&&(i[i.length-1]=a)}}function mergeTransaction(t,e,i){var n;let o,s,a;return i?(o=e.changes,s=ChangeSet.empty(e.changes.length),a=t.changes.compose(e.changes)):(o=e.changes.map(t.changes),s=t.changes.mapDesc(e.changes,!0),a=t.changes.compose(o)),{changes:a,selection:e.selection?e.selection.map(s):null===(n=t.selection)||void 0===n?void 0:n.map(o),effects:StateEffect.mapEffects(t.effects,o).concat(StateEffect.mapEffects(e.effects,s)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function resolveTransactionInner(t,e,i){let n=e.selection,o=asArray(e.annotations);return e.userEvent&&(o=o.concat(Transaction.userEvent.of(e.userEvent))),{changes:e.changes instanceof ChangeSet?e.changes:ChangeSet.of(e.changes||[],i,t.facet(v)),selection:n&&(n instanceof EditorSelection?n:EditorSelection.single(n.anchor,n.head)),effects:asArray(e.effects),annotations:o,scrollIntoView:!!e.scrollIntoView}}function resolveTransaction(t,e,i){let n=resolveTransactionInner(t,e.length?e[0]:{},t.doc.length);e.length&&!1===e[0].filter&&(i=!1);for(let o=1;o<e.length;o++){!1===e[o].filter&&(i=!1);let s=!!e[o].sequential;n=mergeTransaction(n,resolveTransactionInner(t,e[o],s?n.changes.newLength:t.doc.length),s)}let o=Transaction.create(t,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return function extendTransaction(t){let e=t.startState,i=e.facet(x),n=t;for(let o=i.length-1;o>=0;o--){let s=i[o](t);s&&Object.keys(s).length&&(n=mergeTransaction(n,resolveTransactionInner(e,s,t.changes.newLength),!0))}return n==t?t:Transaction.create(e,t.changes,t.selection,n.effects,n.annotations,n.scrollIntoView)}(i?function filterTransaction(t){let e=t.startState,i=!0;for(let n of e.facet(y)){let e=n(t);if(!1===e){i=!1;break}Array.isArray(e)&&(i=!0===i?e:joinRanges(i,e))}if(!0!==i){let n,o;if(!1===i)o=t.changes.invertedDesc,n=ChangeSet.empty(e.doc.length);else{let e=t.changes.filter(i);n=e.changes,o=e.filtered.mapDesc(e.changes).invertedDesc}t=Transaction.create(e,n,t.selection&&t.selection.map(o),StateEffect.mapEffects(t.effects,o),t.annotations,t.scrollIntoView)}let n=e.facet(b);for(let i=n.length-1;i>=0;i--){let o=n[i](t);t=o instanceof Transaction?o:Array.isArray(o)&&1==o.length&&o[0]instanceof Transaction?o[0]:resolveTransaction(e,asArray(o),!1)}return t}(o):o)}Transaction.time=Annotation.define(),Transaction.userEvent=Annotation.define(),Transaction.addToHistory=Annotation.define(),Transaction.remote=Annotation.define();const S=[];function asArray(t){return null==t?S:Array.isArray(t)?t:[t]}var P=function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(P||(P={}));const k=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let C;try{C=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(t){}function makeCategorizer(t){return e=>{if(!/\S/.test(e))return P.Space;if(function hasWordChar(t){if(C)return C.test(t);for(let e=0;e<t.length;e++){let i=t[e];if(/\w/.test(i)||i>""&&(i.toUpperCase()!=i.toLowerCase()||k.test(i)))return!0}return!1}(e))return P.Word;for(let i=0;i<t.length;i++)if(e.indexOf(t[i])>-1)return P.Word;return P.Other}}class EditorState{constructor(t,e,i,n,o,s){this.config=t,this.doc=e,this.selection=i,this.values=n,this.status=t.statusTemplate.slice(),this.computeSlot=o,s&&(s._state=this);for(let t=0;t<this.config.dynamicSlots.length;t++)ensureAddr(this,t<<1);this.computeSlot=null}field(t,e=!0){let i=this.config.address[t.id];if(null!=i)return ensureAddr(this,i),getAddr(this,i);if(e)throw new RangeError("Field is not present in this state")}update(...t){return resolveTransaction(this,t,!0)}applyTransaction(t){let e,i=this.config,{base:n,compartments:o}=i;for(let e of t.effects)e.is(Compartment.reconfigure)?(i&&(o=new Map,i.compartments.forEach(((t,e)=>o.set(e,t))),i=null),o.set(e.value.compartment,e.value.extension)):e.is(StateEffect.reconfigure)?(i=null,n=e.value):e.is(StateEffect.appendConfig)&&(i=null,n=asArray(n).concat(e.value));if(i)e=t.startState.values.slice();else{i=Configuration.resolve(n,o,this),e=new EditorState(i,this.doc,this.selection,i.dynamicSlots.map((()=>null)),((t,e)=>e.reconfigure(t,this)),null).values}let s=t.startState.facet(O)?t.newSelection:t.newSelection.asSingle();new EditorState(i,t.newDoc,s,e,((e,i)=>i.update(e,t)),t)}replaceSelection(t){return"string"==typeof t&&(t=this.toText(t)),this.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:t},range:EditorSelection.cursor(e.from+t.length)})))}changeByRange(t){let e=this.selection,i=t(e.ranges[0]),n=this.changes(i.changes),o=[i.range],s=asArray(i.effects);for(let i=1;i<e.ranges.length;i++){let a=t(e.ranges[i]),l=this.changes(a.changes),h=l.map(n);for(let t=0;t<i;t++)o[t]=o[t].map(h);let c=n.mapDesc(l,!0);o.push(a.range.map(c)),n=n.compose(h),s=StateEffect.mapEffects(s,h).concat(StateEffect.mapEffects(asArray(a.effects),c))}return{changes:n,selection:EditorSelection.create(o,e.mainIndex),effects:s}}changes(t=[]){return t instanceof ChangeSet?t:ChangeSet.of(t,this.doc.length,this.facet(EditorState.lineSeparator))}toText(t){return Text.of(t.split(this.facet(EditorState.lineSeparator)||s))}sliceDoc(t=0,e=this.doc.length){return this.doc.sliceString(t,e,this.lineBreak)}facet(t){let e=this.config.address[t.id];return null==e?t.default:(ensureAddr(this,e),getAddr(this,e))}toJSON(t){let e={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(t)for(let i in t){let n=t[i];n instanceof StateField&&null!=this.config.address[n.id]&&(e[i]=n.spec.toJSON(this.field(t[i]),this))}return e}static fromJSON(t,e={},i){if(!t||"string"!=typeof t.doc)throw new RangeError("Invalid JSON representation for EditorState");let n=[];if(i)for(let e in i)if(Object.prototype.hasOwnProperty.call(t,e)){let o=i[e],s=t[e];n.push(o.init((t=>o.spec.fromJSON(s,t))))}return EditorState.create({doc:t.doc,selection:EditorSelection.fromJSON(t.selection),extensions:e.extensions?n.concat([e.extensions]):n})}static create(t={}){let e=Configuration.resolve(t.extensions||[],new Map),i=t.doc instanceof Text?t.doc:Text.of((t.doc||"").split(e.staticFacet(EditorState.lineSeparator)||s)),n=t.selection?t.selection instanceof EditorSelection?t.selection:EditorSelection.single(t.selection.anchor,t.selection.head):EditorSelection.single(0);return checkSelection(n,i.length),e.staticFacet(O)||(n=n.asSingle()),new EditorState(e,i,n,e.dynamicSlots.map((()=>null)),((t,e)=>e.create(t)),null)}get tabSize(){return this.facet(EditorState.tabSize)}get lineBreak(){return this.facet(EditorState.lineSeparator)||"\n"}get readOnly(){return this.facet(_)}phrase(t,...e){for(let e of this.facet(EditorState.phrases))if(Object.prototype.hasOwnProperty.call(e,t)){t=e[t];break}return e.length&&(t=t.replace(/\$(\$|\d*)/g,((t,i)=>{if("$"==i)return"$";let n=+(i||1);return!n||n>e.length?t:e[n-1]}))),t}languageDataAt(t,e,i=-1){let n=[];for(let o of this.facet(g))for(let s of o(this,e,i))Object.prototype.hasOwnProperty.call(s,t)&&n.push(s[t]);return n}charCategorizer(t){return makeCategorizer(this.languageDataAt("wordChars",t).join(""))}wordAt(t){let{text:e,from:i,length:n}=this.doc.lineAt(t),o=this.charCategorizer(t),s=t-i,a=t-i;for(;s>0;){let t=findClusterBreak(e,s,!1);if(o(e.slice(t,s))!=P.Word)break;s=t}for(;a<n;){let t=findClusterBreak(e,a);if(o(e.slice(a,t))!=P.Word)break;a=t}return s==a?null:EditorSelection.range(s+i,a+i)}}function combineConfig(t,e,i={}){let n={};for(let e of t)for(let t of Object.keys(e)){let o=e[t],s=n[t];if(void 0===s)n[t]=o;else if(s===o||void 0===o);else{if(!Object.hasOwnProperty.call(i,t))throw new Error("Config merge conflict for field "+t);n[t]=i[t](s,o)}}for(let t in e)void 0===n[t]&&(n[t]=e[t]);return n}EditorState.allowMultipleSelections=O,EditorState.tabSize=Facet.define({combine:t=>t.length?t[0]:4}),EditorState.lineSeparator=v,EditorState.readOnly=_,EditorState.phrases=Facet.define({compare(t,e){let i=Object.keys(t),n=Object.keys(e);return i.length==n.length&&i.every((i=>t[i]==e[i]))}}),EditorState.languageData=g,EditorState.changeFilter=y,EditorState.transactionFilter=b,EditorState.transactionExtender=x,Compartment.reconfigure=StateEffect.define();class RangeValue{eq(t){return this==t}range(t,e=t){return Range.create(t,e,this)}}RangeValue.prototype.startSide=RangeValue.prototype.endSide=0,RangeValue.prototype.point=!1,RangeValue.prototype.mapMode=a.TrackDel;class Range{constructor(t,e,i){this.from=t,this.to=e,this.value=i}static create(t,e,i){return new Range(t,e,i)}}function cmpRange(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class Chunk{constructor(t,e,i,n){this.from=t,this.to=e,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(t,e,i,n=0){let o=i?this.to:this.from;for(let s=n,a=o.length;;){if(s==a)return s;let n=s+a>>1,l=o[n]-t||(i?this.value[n].endSide:this.value[n].startSide)-e;if(n==s)return l>=0?s:a;l>=0?a=n:s=n+1}}between(t,e,i,n){for(let o=this.findIndex(e,-1e9,!0),s=this.findIndex(i,1e9,!1,o);o<s;o++)if(!1===n(this.from[o]+t,this.to[o]+t,this.value[o]))return!1}map(t,e){let i=[],n=[],o=[],s=-1,a=-1;for(let l=0;l<this.value.length;l++){let h,c,d=this.value[l],f=this.from[l]+t,p=this.to[l]+t;if(f==p){let t=e.mapPos(f,d.startSide,d.mapMode);if(null==t)continue;if(h=c=t,d.startSide!=d.endSide&&(c=e.mapPos(f,d.endSide),c<h))continue}else if(h=e.mapPos(f,d.startSide),c=e.mapPos(p,d.endSide),h>c||h==c&&d.startSide>0&&d.endSide<=0)continue;(c-h||d.endSide-d.startSide)<0||(s<0&&(s=h),d.point&&(a=Math.max(a,c-h)),i.push(d),n.push(h-s),o.push(c-s))}return{mapped:i.length?new Chunk(n,o,i,a):null,pos:s}}}class RangeSet{constructor(t,e,i,n){this.chunkPos=t,this.chunk=e,this.nextLayer=i,this.maxPoint=n}static create(t,e,i,n){return new RangeSet(t,e,i,n)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let e of this.chunk)t+=e.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:e=[],sort:i=!1,filterFrom:n=0,filterTo:o=this.length}=t,s=t.filter;if(0==e.length&&!s)return this;if(i&&(e=e.slice().sort(cmpRange)),this.isEmpty)return e.length?RangeSet.of(e):this;let a=new LayerCursor(this,null,-1).goto(0),l=0,h=[],c=new RangeSetBuilder;for(;a.value||l<e.length;)if(l<e.length&&(a.from-e[l].from||a.startSide-e[l].value.startSide)>=0){let t=e[l++];c.addInner(t.from,t.to,t.value)||h.push(t)}else 1==a.rangeIndex&&a.chunkIndex<this.chunk.length&&(l==e.length||this.chunkEnd(a.chunkIndex)<e[l].from)&&(!s||n>this.chunkEnd(a.chunkIndex)||o<this.chunkPos[a.chunkIndex])&&c.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!s||n>a.to||o<a.from||s(a.from,a.to,a.value))&&(c.addInner(a.from,a.to,a.value)||h.push(Range.create(a.from,a.to,a.value))),a.next());return c.finishInner(this.nextLayer.isEmpty&&!h.length?RangeSet.empty:this.nextLayer.update({add:h,filter:s,filterFrom:n,filterTo:o}))}map(t){if(t.empty||this.isEmpty)return this;let e=[],i=[],n=-1;for(let o=0;o<this.chunk.length;o++){let s=this.chunkPos[o],a=this.chunk[o],l=t.touchesRange(s,s+a.length);if(!1===l)n=Math.max(n,a.maxPoint),e.push(a),i.push(t.mapPos(s));else if(!0===l){let{mapped:o,pos:l}=a.map(s,t);o&&(n=Math.max(n,o.maxPoint),e.push(o),i.push(l))}}let o=this.nextLayer.map(t);return 0==e.length?o:new RangeSet(i,e,o||RangeSet.empty,n)}between(t,e,i){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let o=this.chunkPos[n],s=this.chunk[n];if(e>=o&&t<=o+s.length&&!1===s.between(o,t-o,e-o,i))return}this.nextLayer.between(t,e,i)}}iter(t=0){return HeapCursor.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,e=0){return HeapCursor.from(t).goto(e)}static compare(t,e,i,n,o=-1){let s=t.filter((t=>t.maxPoint>0||!t.isEmpty&&t.maxPoint>=o)),a=e.filter((t=>t.maxPoint>0||!t.isEmpty&&t.maxPoint>=o)),l=findSharedChunks(s,a,i),h=new SpanCursor(s,l,o),c=new SpanCursor(a,l,o);i.iterGaps(((t,e,i)=>compare(h,t,c,e,i,n))),i.empty&&0==i.length&&compare(h,0,c,0,0,n)}static eq(t,e,i=0,n){null==n&&(n=999999999);let o=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0)),s=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0));if(o.length!=s.length)return!1;if(!o.length)return!0;let a=findSharedChunks(o,s),l=new SpanCursor(o,a,0).goto(i),h=new SpanCursor(s,a,0).goto(i);for(;;){if(l.to!=h.to||!sameValues(l.active,h.active)||l.point&&(!h.point||!l.point.eq(h.point)))return!1;if(l.to>n)return!0;l.next(),h.next()}}static spans(t,e,i,n,o=-1){let s=new SpanCursor(t,null,o).goto(e),a=e,l=s.openStart;for(;;){let t=Math.min(s.to,i);if(s.point){let i=s.activeForPoint(s.to),o=s.pointFrom<e?i.length+1:s.point.startSide<0?i.length:Math.min(i.length,l);n.point(a,t,s.point,i,o,s.pointRank),l=Math.min(s.openEnd(t),i.length)}else t>a&&(n.span(a,t,s.active,l),l=s.openEnd(t));if(s.to>i)return l+(s.point&&s.to>i?1:0);a=s.to,s.next()}}static of(t,e=!1){let i=new RangeSetBuilder;for(let n of t instanceof Range?[t]:e?function lazySort(t){if(t.length>1)for(let e=t[0],i=1;i<t.length;i++){let n=t[i];if(cmpRange(e,n)>0)return t.slice().sort(cmpRange);e=n}return t}(t):t)i.add(n.from,n.to,n.value);return i.finish()}static join(t){if(!t.length)return RangeSet.empty;let e=t[t.length-1];for(let i=t.length-2;i>=0;i--)for(let n=t[i];n!=RangeSet.empty;n=n.nextLayer)e=new RangeSet(n.chunkPos,n.chunk,e,Math.max(n.maxPoint,e.maxPoint));return e}}RangeSet.empty=new RangeSet([],[],null,-1),RangeSet.empty.nextLayer=RangeSet.empty;class RangeSetBuilder{finishChunk(t){this.chunks.push(new Chunk(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,t&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(t,e,i){this.addInner(t,e,i)||(this.nextLayer||(this.nextLayer=new RangeSetBuilder)).add(t,e,i)}addInner(t,e,i){let n=t-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(e-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=e,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,e-t)),!0)}addChunk(t,e){if((t-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(t);let i=e.value.length-1;return this.last=e.value[i],this.lastFrom=e.from[i]+t,this.lastTo=e.to[i]+t,!0}finish(){return this.finishInner(RangeSet.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return t;let e=RangeSet.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,e}}function findSharedChunks(t,e,i){let n=new Map;for(let e of t)for(let t=0;t<e.chunk.length;t++)e.chunk[t].maxPoint<=0&&n.set(e.chunk[t],e.chunkPos[t]);let o=new Set;for(let t of e)for(let e=0;e<t.chunk.length;e++){let s=n.get(t.chunk[e]);null==s||(i?i.mapPos(s):s)!=t.chunkPos[e]||(null==i?void 0:i.touchesRange(s,s+t.chunk[e].length))||o.add(t.chunk[e])}return o}class LayerCursor{constructor(t,e,i,n=0){this.layer=t,this.skip=e,this.minPoint=i,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(t,e=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(t,e,!1),this}gotoInner(t,e,i){for(;this.chunkIndex<this.layer.chunk.length;){let e=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(e)||this.layer.chunkEnd(this.chunkIndex)<t||e.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let n=this.layer.chunk[this.chunkIndex].findIndex(t-this.layer.chunkPos[this.chunkIndex],e,!0);(!i||this.rangeIndex<n)&&this.setRangeIndex(n)}this.next()}forward(t,e){(this.to-t||this.endSide-e)<0&&this.gotoInner(t,e,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{let t=this.layer.chunkPos[this.chunkIndex],e=this.layer.chunk[this.chunkIndex],i=t+e.from[this.rangeIndex];if(this.from=i,this.to=t+e.to[this.rangeIndex],this.value=e.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=t}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){return this.from-t.from||this.startSide-t.startSide||this.rank-t.rank||this.to-t.to||this.endSide-t.endSide}}class HeapCursor{constructor(t){this.heap=t}static from(t,e=null,i=-1){let n=[];for(let o=0;o<t.length;o++)for(let s=t[o];!s.isEmpty;s=s.nextLayer)s.maxPoint>=i&&n.push(new LayerCursor(s,e,i,o));return 1==n.length?n[0]:new HeapCursor(n)}get startSide(){return this.value?this.value.startSide:0}goto(t,e=-1e9){for(let i of this.heap)i.goto(t,e);for(let t=this.heap.length>>1;t>=0;t--)heapBubble(this.heap,t);return this.next(),this}forward(t,e){for(let i of this.heap)i.forward(t,e);for(let t=this.heap.length>>1;t>=0;t--)heapBubble(this.heap,t);(this.to-t||this.value.endSide-e)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),heapBubble(this.heap,0)}}}function heapBubble(t,e){for(let i=t[e];;){let n=1+(e<<1);if(n>=t.length)break;let o=t[n];if(n+1<t.length&&o.compare(t[n+1])>=0&&(o=t[n+1],n++),i.compare(o)<0)break;t[n]=i,t[e]=o,e=n}}class SpanCursor{constructor(t,e,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=HeapCursor.from(t,e,i)}goto(t,e=-1e9){return this.cursor.goto(t,e),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=e,this.openStart=-1,this.next(),this}forward(t,e){for(;this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-e)<0;)this.removeActive(this.minActive);this.cursor.forward(t,e)}removeActive(t){remove(this.active,t),remove(this.activeTo,t),remove(this.activeRank,t),this.minActive=findMinIndex(this.active,this.activeTo)}addActive(t){let e=0,{value:i,to:n,rank:o}=this.cursor;for(;e<this.activeRank.length&&(o-this.activeRank[e]||n-this.activeTo[e])>0;)e++;insert(this.active,e,i),insert(this.activeTo,e,n),insert(this.activeRank,e,o),t&&insert(t,e,this.cursor.from),this.minActive=findMinIndex(this.active,this.activeTo)}next(){let t=this.to,e=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>t){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),i&&remove(i,n)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let t=this.cursor.value;if(t.point){if(!(e&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)){this.point=t,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=t.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(i),this.cursor.next()}}}if(i){this.openStart=0;for(let e=i.length-1;e>=0&&i[e]<t;e--)this.openStart++}}activeForPoint(t){if(!this.active.length)return this.active;let e=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>t||this.activeTo[i]==t&&this.active[i].endSide>=this.point.endSide)&&e.push(this.active[i]);return e.reverse()}openEnd(t){let e=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>t;i--)e++;return e}}function compare(t,e,i,n,o,s){t.goto(e),i.goto(n);let a=n+o,l=n,h=n-e;for(;;){let e=t.to+h-i.to||t.endSide-i.endSide,n=e<0?t.to+h:i.to,o=Math.min(n,a);if(t.point||i.point?t.point&&i.point&&(t.point==i.point||t.point.eq(i.point))&&sameValues(t.activeForPoint(t.to),i.activeForPoint(i.to))||s.comparePoint(l,o,t.point,i.point):o>l&&!sameValues(t.active,i.active)&&s.compareRange(l,o,t.active,i.active),n>a)break;l=n,e<=0&&t.next(),e>=0&&i.next()}}function sameValues(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!=e[i]&&!t[i].eq(e[i]))return!1;return!0}function remove(t,e){for(let i=e,n=t.length-1;i<n;i++)t[i]=t[i+1];t.pop()}function insert(t,e,i){for(let i=t.length-1;i>=e;i--)t[i+1]=t[i];t[e]=i}function findMinIndex(t,e){let i=-1,n=1e9;for(let o=0;o<e.length;o++)(e[o]-n||t[o].endSide-t[i].endSide)<0&&(i=o,n=e[o]);return i}function countColumn(t,e,i=t.length){let n=0;for(let o=0;o<i;)9==t.charCodeAt(o)?(n+=e-n%e,o++):(n++,o=findClusterBreak(t,o));return n}function findColumn(t,e,i,n){for(let n=0,o=0;;){if(o>=e)return n;if(n==t.length)break;o+=9==t.charCodeAt(n)?i-o%i:1,n=findClusterBreak(t,n)}return!0===n?-1:t.length}},80624:(t,e,i)=>{"use strict";i.d(e,{$G:()=>getDrawSelectionConfig,$K:()=>lineNumbers,A:()=>dropCursor,BE:()=>scrollPastEnd,C3:()=>panels,D4:()=>rectangularSelection,DK:()=>ge,EV:()=>Pe,Eg:()=>getTooltip,HJ:()=>crosshairCursor,Hm:()=>gutters,Ip:()=>RectangleMarker,Lz:()=>EditorView,N$:()=>highlightSpecialChars,NZ:()=>Decoration,OP:()=>k,Pq:()=>repositionTooltips,S7:()=>Se,TS:()=>runScopeHandlers,Ux:()=>hoverTooltip,VH:()=>drawSelection,Wu:()=>highlightActiveLineGutter,X3:()=>ViewUpdate,Yq:()=>highlightWhitespace,Z9:()=>ViewPlugin,_B:()=>P,cU:()=>gutter,c_:()=>logException,dT:()=>MatchDecorator,dz:()=>highlightActiveLine,ld:()=>getPanel,n6:()=>hasHoverTooltips,pK:()=>$e,qd:()=>layer,qf:()=>placeholder,rU:()=>ze,tF:()=>BidiSpan,uF:()=>BlockInfo,vX:()=>tooltips,vo:()=>be,w4:()=>zt,wJ:()=>GutterMarker,wu:()=>highlightTrailingWhitespace,xO:()=>WidgetType});var n=i(87988),o=i(80646),s=i(69037);function getSelection(t){let e;return e=11==t.nodeType?t.getSelection?t:t.ownerDocument:t,e.getSelection()}function contains(t,e){return!!e&&(t==e||t.contains(1!=e.nodeType?e.parentNode:e))}function hasSelection(t,e){if(!e.anchorNode)return!1;try{return contains(t,e.anchorNode)}catch(t){return!1}}function clientRectsFor(t){return 3==t.nodeType?textRange(t,0,t.nodeValue.length).getClientRects():1==t.nodeType?t.getClientRects():[]}function isEquivalentPosition(t,e,i,n){return!!i&&(scanFor(t,e,i,n,-1)||scanFor(t,e,i,n,1))}function domIndex(t){for(var e=0;;e++)if(!(t=t.previousSibling))return e}function isBlockElement(t){return 1==t.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function scanFor(t,e,i,n,o){for(;;){if(t==i&&e==n)return!0;if(e==(o<0?0:maxOffset(t))){if("DIV"==t.nodeName)return!1;let i=t.parentNode;if(!i||1!=i.nodeType)return!1;e=domIndex(t)+(o<0?0:1),t=i}else{if(1!=t.nodeType)return!1;if(1==(t=t.childNodes[e+(o<0?-1:0)]).nodeType&&"false"==t.contentEditable)return!1;e=o<0?maxOffset(t):0}}}function maxOffset(t){return 3==t.nodeType?t.nodeValue.length:t.childNodes.length}function flattenRect(t,e){let i=e?t.left:t.right;return{left:i,right:i,top:t.top,bottom:t.bottom}}function windowRect(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function getScale(t,e){let i=e.width/t.offsetWidth,n=e.height/t.offsetHeight;return(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.width-t.offsetWidth)<1)&&(i=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-t.offsetHeight)<1)&&(n=1),{scaleX:i,scaleY:n}}class DOMSelectionState{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:e,focusNode:i}=t;this.set(e,Math.min(t.anchorOffset,e?maxOffset(e):0),i,Math.min(t.focusOffset,i?maxOffset(i):0))}set(t,e,i,n){this.anchorNode=t,this.anchorOffset=e,this.focusNode=i,this.focusOffset=n}}let a,l=null;function focusPreventScroll(t){if(t.setActive)return t.setActive();if(l)return t.focus(l);let e=[];for(let i=t;i&&(e.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(t.focus(null==l?{get preventScroll(){return l={preventScroll:!0},!0}}:void 0),!l){l=!1;for(let t=0;t<e.length;){let i=e[t++],n=e[t++],o=e[t++];i.scrollTop!=n&&(i.scrollTop=n),i.scrollLeft!=o&&(i.scrollLeft=o)}}}function textRange(t,e,i=e){let n=a||(a=document.createRange());return n.setEnd(t,i),n.setStart(t,e),n}function dispatchKey(t,e,i,n){let o={key:e,code:e,keyCode:i,which:i,cancelable:!0};n&&({altKey:o.altKey,ctrlKey:o.ctrlKey,shiftKey:o.shiftKey,metaKey:o.metaKey}=n);let s=new KeyboardEvent("keydown",o);s.synthetic=!0,t.dispatchEvent(s);let a=new KeyboardEvent("keyup",o);return a.synthetic=!0,t.dispatchEvent(a),s.defaultPrevented||a.defaultPrevented}function clearAttributes(t){for(;t.attributes.length;)t.removeAttributeNode(t.attributes[0])}function isScrolledToBottom(t){return t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function textNodeBefore(t,e){for(let i=t,n=e;;){if(3==i.nodeType&&n>0)return{node:i,offset:n};if(1==i.nodeType&&n>0){if("false"==i.contentEditable)return null;i=i.childNodes[n-1],n=maxOffset(i)}else{if(!i.parentNode||isBlockElement(i))return null;n=domIndex(i),i=i.parentNode}}}function textNodeAfter(t,e){for(let i=t,n=e;;){if(3==i.nodeType&&n<i.nodeValue.length)return{node:i,offset:n};if(1==i.nodeType&&n<i.childNodes.length){if("false"==i.contentEditable)return null;i=i.childNodes[n],n=0}else{if(!i.parentNode||isBlockElement(i))return null;n=domIndex(i)+1,i=i.parentNode}}}class DOMPos{constructor(t,e,i=!0){this.node=t,this.offset=e,this.precise=i}static before(t,e){return new DOMPos(t.parentNode,domIndex(t),e)}static after(t,e){return new DOMPos(t.parentNode,domIndex(t)+1,e)}}const h=[];class ContentView{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t){let e=this.posAtStart;for(let i of this.children){if(i==t)return e;e+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}sync(t,e){if(2&this.flags){let i,n=this.dom,o=null;for(let s of this.children){if(7&s.flags){if(!s.dom&&(i=o?o.nextSibling:n.firstChild)){let t=ContentView.get(i);(!t||!t.parent&&t.canReuseDOM(s))&&s.reuseDOM(i)}s.sync(t,e),s.flags&=-8}if(i=o?o.nextSibling:n.firstChild,e&&!e.written&&e.node==n&&i!=s.dom&&(e.written=!0),s.dom.parentNode==n)for(;i&&i!=s.dom;)i=rm$1(i);else n.insertBefore(s.dom,i);o=s.dom}for(i=o?o.nextSibling:n.firstChild,i&&e&&e.node==n&&(e.written=!0);i;)i=rm$1(i)}else if(1&this.flags)for(let i of this.children)7&i.flags&&(i.sync(t,e),i.flags&=-8)}reuseDOM(t){}localPosFromDOM(t,e){let i;if(t==this.dom)i=this.dom.childNodes[e];else{let n=0==maxOffset(t)?0:0==e?-1:1;for(;;){let e=t.parentNode;if(e==this.dom)break;0==n&&e.firstChild!=e.lastChild&&(n=t==e.firstChild?-1:1),t=e}i=n<0?t:t.nextSibling}if(i==this.dom.firstChild)return 0;for(;i&&!ContentView.get(i);)i=i.nextSibling;if(!i)return this.length;for(let t=0,e=0;;t++){let n=this.children[t];if(n.dom==i)return e;e+=n.length+n.breakAfter}}domBoundsAround(t,e,i=0){let n=-1,o=-1,s=-1,a=-1;for(let l=0,h=i,c=i;l<this.children.length;l++){let i=this.children[l],d=h+i.length;if(h<t&&d>e)return i.domBoundsAround(t,e,h);if(d>=t&&-1==n&&(n=l,o=h),h>e&&i.dom.parentNode==this.dom){s=l,a=c;break}c=d,h=d+i.breakAfter}return{from:o,to:a<0?i+this.length:a,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s<this.children.length&&s>=0?this.children[s].dom:null}}markDirty(t=!1){this.flags|=2,this.markParentsDirty(t)}markParentsDirty(t){for(let e=this.parent;e;e=e.parent){if(t&&(e.flags|=2),1&e.flags)return;e.flags|=1,t=!1}}setParent(t){this.parent!=t&&(this.parent=t,7&this.flags&&this.markParentsDirty(!0))}setDOM(t){this.dom!=t&&(this.dom&&(this.dom.cmView=null),this.dom=t,t.cmView=this)}get rootView(){for(let t=this;;){let e=t.parent;if(!e)return t;t=e}}replaceChildren(t,e,i=h){this.markDirty();for(let n=t;n<e;n++){let t=this.children[n];t.parent==this&&i.indexOf(t)<0&&t.destroy()}this.children.splice(t,e-t,...i);for(let t=0;t<i.length;t++)i[t].setParent(this)}ignoreMutation(t){return!1}ignoreEvent(t){return!1}childCursor(t=this.length){return new ChildCursor(this.children,t,this.children.length)}childPos(t,e=1){return this.childCursor().findPos(t,e)}toString(){let t=this.constructor.name.replace("View","");return t+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==t?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(t){return t.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(t,e,i,n,o,s){return!1}become(t){return!1}canReuseDOM(t){return t.constructor==this.constructor&&!(8&(this.flags|t.flags))}getSide(){return 0}destroy(){for(let t of this.children)t.parent==this&&t.destroy();this.parent=null}}function rm$1(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}ContentView.prototype.breakAfter=0;class ChildCursor{constructor(t,e,i){this.children=t,this.pos=e,this.i=i,this.off=0}findPos(t,e=1){for(;;){if(t>this.pos||t==this.pos&&(e>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=t-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function replaceRange(t,e,i,n,o,s,a,l,h){let{children:c}=t,d=c.length?c[e]:null,f=s.length?s[s.length-1]:null,p=f?f.breakAfter:a;if(!(e==n&&d&&!a&&!p&&s.length<2&&d.merge(i,o,s.length?f:null,0==i,l,h))){if(n<c.length){let t=c[n];t&&(o<t.length||t.breakAfter&&(null==f?void 0:f.breakAfter))?(e==n&&(t=t.split(o),o=0),!p&&f&&t.merge(0,o,f,!0,0,h)?s[s.length-1]=t:((o||t.children.length&&!t.children[0].length)&&t.merge(0,o,null,!1,0,h),s.push(t))):(null==t?void 0:t.breakAfter)&&(f?f.breakAfter=1:a=1),n++}for(d&&(d.breakAfter=a,i>0&&(!a&&s.length&&d.merge(i,d.length,s[0],!1,l,0)?d.breakAfter=s.shift().breakAfter:(i<d.length||d.children.length&&0==d.children[d.children.length-1].length)&&d.merge(i,d.length,null,!1,l,0),e++));e<n&&s.length;)if(c[n-1].become(s[s.length-1]))n--,s.pop(),h=s.length?0:l;else{if(!c[e].become(s[0]))break;e++,s.shift(),l=s.length?0:h}!s.length&&e&&n<c.length&&!c[e-1].breakAfter&&c[n].merge(0,0,c[e-1],!1,l,h)&&e--,(e<n||s.length)&&t.replaceChildren(e,n,s)}}function mergeChildrenInto(t,e,i,n,o,s){let a=t.childCursor(),{i:l,off:h}=a.findPos(i,1),{i:c,off:d}=a.findPos(e,-1),f=e-i;for(let t of n)f+=t.length;t.length+=f,replaceRange(t,c,d,l,h,n,0,o,s)}let c="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},d="undefined"!=typeof document?document:{documentElement:{style:{}}};const f=/Edge\/(\d+)/.exec(c.userAgent),p=/MSIE \d/.test(c.userAgent),m=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(c.userAgent),g=!!(p||m||f),O=!g&&/gecko\/(\d+)/i.test(c.userAgent),v=!g&&/Chrome\/(\d+)/.exec(c.userAgent),y="webkitFontSmoothing"in d.documentElement.style,b=!g&&/Apple Computer/.test(c.vendor),x=b&&(/Mobile\/\w+/.test(c.userAgent)||c.maxTouchPoints>2);var _={mac:x||/Mac/.test(c.platform),windows:/Win/.test(c.platform),linux:/Linux|X11/.test(c.platform),ie:g,ie_version:p?d.documentMode||6:m?+m[1]:f?+f[1]:0,gecko:O,gecko_version:O?+(/Firefox\/(\d+)/.exec(c.userAgent)||[0,0])[1]:0,chrome:!!v,chrome_version:v?+v[1]:0,ios:x,android:/Android\b/.test(c.userAgent),webkit:y,safari:b,webkit_version:y?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=d.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class TextView extends ContentView{constructor(t){super(),this.text=t}get length(){return this.text.length}createDOM(t){this.setDOM(t||document.createTextNode(this.text))}sync(t,e){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text)}reuseDOM(t){3==t.nodeType&&this.createDOM(t)}merge(t,e,i){return!(8&this.flags||i&&(!(i instanceof TextView)||this.length-(e-t)+i.length>256||8&i.flags))&&(this.text=this.text.slice(0,t)+(i?i.text:"")+this.text.slice(e),this.markDirty(),!0)}split(t){let e=new TextView(this.text.slice(t));return this.text=this.text.slice(0,t),this.markDirty(),e.flags|=8&this.flags,e}localPosFromDOM(t,e){return t==this.dom?e:e?this.text.length:0}domAtPos(t){return new DOMPos(this.dom,t)}domBoundsAround(t,e,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(t,e){return function textCoords(t,e,i){let n=t.nodeValue.length;e>n&&(e=n);let o=e,s=e,a=0;0==e&&i<0||e==n&&i>=0?_.chrome||_.gecko||(e?(o--,a=1):s<n&&(s++,a=-1)):i<0?o--:s<n&&s++;let l=textRange(t,o,s).getClientRects();if(!l.length)return null;let h=l[(a?a<0:i>=0)?0:l.length-1];_.safari&&!a&&0==h.width&&(h=Array.prototype.find.call(l,(t=>t.width))||h);return a?flattenRect(h,a<0):h||null}(this.dom,t,e)}}class MarkView extends ContentView{constructor(t,e=[],i=0){super(),this.mark=t,this.children=e,this.length=i;for(let t of e)t.setParent(this)}setAttrs(t){if(clearAttributes(t),this.mark.class&&(t.className=this.mark.class),this.mark.attrs)for(let e in this.mark.attrs)t.setAttribute(e,this.mark.attrs[e]);return t}canReuseDOM(t){return super.canReuseDOM(t)&&!(8&(this.flags|t.flags))}reuseDOM(t){t.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(t),this.flags|=6)}sync(t,e){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(t,e)}merge(t,e,i,n,o,s){return(!i||!(!(i instanceof MarkView&&i.mark.eq(this.mark))||t&&o<=0||e<this.length&&s<=0))&&(mergeChildrenInto(this,t,e,i?i.children.slice():[],o-1,s-1),this.markDirty(),!0)}split(t){let e=[],i=0,n=-1,o=0;for(let s of this.children){let a=i+s.length;a>t&&e.push(i<t?s.split(t-i):s),n<0&&i>=t&&(n=o),i=a,o++}let s=this.length-t;return this.length=t,n>-1&&(this.children.length=n,this.markDirty()),new MarkView(this.mark,e,s)}domAtPos(t){return inlineDOMAtPos(this,t)}coordsAt(t,e){return coordsInChildren(this,t,e)}}class WidgetView extends ContentView{static create(t,e,i){return new WidgetView(t,e,i)}constructor(t,e,i){super(),this.widget=t,this.length=e,this.side=i,this.prevWidget=null}split(t){let e=WidgetView.create(this.widget,this.length-t,this.side);return this.length-=t,e}sync(t){this.dom&&this.widget.updateDOM(this.dom,t)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(t)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(t,e,i,n,o,s){return!(i&&(!(i instanceof WidgetView&&this.widget.compare(i.widget))||t>0&&o<=0||e<this.length&&s<=0))&&(this.length=t+(i?i.length:0)+(this.length-e),!0)}become(t){return t instanceof WidgetView&&t.side==this.side&&this.widget.constructor==t.widget.constructor&&(this.widget.compare(t.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=t.widget,this.length=t.length,!0)}ignoreMutation(){return!0}ignoreEvent(t){return this.widget.ignoreEvent(t)}get overrideDOMText(){if(0==this.length)return n.EY.empty;let t=this;for(;t.parent;)t=t.parent;let{view:e}=t,i=e&&e.state.doc,o=this.posAtStart;return i?i.slice(o,o+this.length):n.EY.empty}domAtPos(t){return(this.length?0==t:this.side>0)?DOMPos.before(this.dom):DOMPos.after(this.dom,t==this.length)}domBoundsAround(){return null}coordsAt(t,e){let i=this.widget.coordsAt(this.dom,t,e);if(i)return i;let n=this.dom.getClientRects(),o=null;if(!n.length)return null;let s=this.side?this.side<0:t>0;for(let e=s?n.length-1:0;o=n[e],!(t>0?0==e:e==n.length-1||o.top<o.bottom);e+=s?-1:1);return flattenRect(o,!s)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class WidgetBufferView extends ContentView{constructor(t){super(),this.side=t}get length(){return 0}merge(){return!1}become(t){return t instanceof WidgetBufferView&&t.side==this.side}split(){return new WidgetBufferView(this.side)}sync(){if(!this.dom){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),this.setDOM(t)}}getSide(){return this.side}domAtPos(t){return this.side>0?DOMPos.before(this.dom):DOMPos.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(t){return this.dom.getBoundingClientRect()}get overrideDOMText(){return n.EY.empty}get isHidden(){return!0}}function inlineDOMAtPos(t,e){let i=t.dom,{children:n}=t,o=0;for(let t=0;o<n.length;o++){let s=n[o],a=t+s.length;if(!(a==t&&s.getSide()<=0)){if(e>t&&e<a&&s.dom.parentNode==i)return s.domAtPos(e-t);if(e<=t)break;t=a}}for(let t=o;t>0;t--){let e=n[t-1];if(e.dom.parentNode==i)return e.domAtPos(e.length)}for(let t=o;t<n.length;t++){let e=n[t];if(e.dom.parentNode==i)return e.domAtPos(0)}return new DOMPos(i,0)}function joinInlineInto(t,e,i){let n,{children:o}=t;i>0&&e instanceof MarkView&&o.length&&(n=o[o.length-1])instanceof MarkView&&n.mark.eq(e.mark)?joinInlineInto(n,e.children[0],i-1):(o.push(e),e.setParent(t)),t.length+=e.length}function coordsInChildren(t,e,i){let n=null,o=-1,s=null,a=-1;!function scan(t,e){for(let l=0,h=0;l<t.children.length&&h<=e;l++){let c=t.children[l],d=h+c.length;d>=e&&(c.children.length?scan(c,e-h):(!s||s.isHidden&&i>0)&&(d>e||h==d&&c.getSide()>0)?(s=c,a=e-h):(h<e||h==d&&c.getSide()<0&&!c.isHidden)&&(n=c,o=e-h)),h=d}}(t,e);let l=(i<0?n:s)||n||s;return l?l.coordsAt(Math.max(0,l==n?o:a),i):function fallbackRect(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let i=clientRectsFor(e);return i[i.length-1]||null}(t)}function combineAttrs(t,e){for(let i in t)"class"==i&&e.class?e.class+=" "+t.class:"style"==i&&e.style?e.style+=";"+t.style:e[i]=t[i];return e}TextView.prototype.children=WidgetView.prototype.children=WidgetBufferView.prototype.children=h;const S=Object.create(null);function attrsEq(t,e,i){if(t==e)return!0;t||(t=S),e||(e=S);let n=Object.keys(t),o=Object.keys(e);if(n.length-(i&&n.indexOf(i)>-1?1:0)!=o.length-(i&&o.indexOf(i)>-1?1:0))return!1;for(let s of n)if(s!=i&&(-1==o.indexOf(s)||t[s]!==e[s]))return!1;return!0}function updateAttrs(t,e,i){let n=!1;if(e)for(let o in e)i&&o in i||(n=!0,"style"==o?t.style.cssText="":t.removeAttribute(o));if(i)for(let o in i)e&&e[o]==i[o]||(n=!0,"style"==o?t.style.cssText=i[o]:t.setAttribute(o,i[o]));return n}function getAttrs(t){let e=Object.create(null);for(let i=0;i<t.attributes.length;i++){let n=t.attributes[i];e[n.name]=n.value}return e}class LineView extends ContentView{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(t,e,i,n,o,s){if(i){if(!(i instanceof LineView))return!1;this.dom||i.transferDOM(this)}return n&&this.setDeco(i?i.attrs:null),mergeChildrenInto(this,t,e,i?i.children.slice():[],o,s),!0}split(t){let e=new LineView;if(e.breakAfter=this.breakAfter,0==this.length)return e;let{i,off:n}=this.childPos(t);n&&(e.append(this.children[i].split(n),0),this.children[i].merge(n,this.children[i].length,null,!1,0,0),i++);for(let t=i;t<this.children.length;t++)e.append(this.children[t],0);for(;i>0&&0==this.children[i-1].length;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=t,e}transferDOM(t){this.dom&&(this.markDirty(),t.setDOM(this.dom),t.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(t){attrsEq(this.attrs,t)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=t)}append(t,e){joinInlineInto(this,t,e)}addLineDeco(t){let e=t.spec.attributes,i=t.spec.class;e&&(this.attrs=combineAttrs(e,this.attrs||{})),i&&(this.attrs=combineAttrs({class:i},this.attrs||{}))}domAtPos(t){return inlineDOMAtPos(this,t)}reuseDOM(t){"DIV"==t.nodeName&&(this.setDOM(t),this.flags|=6)}sync(t,e){var i;this.dom?4&this.flags&&(clearAttributes(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(updateAttrs(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(t,e);let n=this.dom.lastChild;for(;n&&ContentView.get(n)instanceof MarkView;)n=n.lastChild;if(!(n&&this.length&&("BR"==n.nodeName||0!=(null===(i=ContentView.get(n))||void 0===i?void 0:i.isEditable)||_.ios&&this.children.some((t=>t instanceof TextView))))){let t=document.createElement("BR");t.cmIgnore=!0,this.dom.appendChild(t)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let t,e=0;for(let i of this.children){if(!(i instanceof TextView)||/[^ -~]/.test(i.text))return null;let n=clientRectsFor(i.dom);if(1!=n.length)return null;e+=n[0].width,t=n[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(t,e){let i=coordsInChildren(this,t,e);if(!this.children.length&&i&&this.parent){let{heightOracle:t}=this.parent.view.viewState,e=i.bottom-i.top;if(Math.abs(e-t.lineHeight)<2&&t.textHeight<e){let n=(e-t.textHeight)/2;return{top:i.top+n,bottom:i.bottom-n,left:i.left,right:i.left}}}return i}become(t){return!1}covers(){return!0}static find(t,e){for(let i=0,n=0;i<t.children.length;i++){let o=t.children[i],s=n+o.length;if(s>=e){if(o instanceof LineView)return o;if(s>e)break}n=s+o.breakAfter}return null}}class BlockWidgetView extends ContentView{constructor(t,e,i){super(),this.widget=t,this.length=e,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(t,e,i,n,o,s){return!(i&&(!(i instanceof BlockWidgetView&&this.widget.compare(i.widget))||t>0&&o<=0||e<this.length&&s<=0))&&(this.length=t+(i?i.length:0)+(this.length-e),!0)}domAtPos(t){return 0==t?DOMPos.before(this.dom):DOMPos.after(this.dom,t==this.length)}split(t){let e=this.length-t;this.length=t;let i=new BlockWidgetView(this.widget,e,this.deco);return i.breakAfter=this.breakAfter,i}get children(){return h}sync(t){this.dom&&this.widget.updateDOM(this.dom,t)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(t)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):n.EY.empty}domBoundsAround(){return null}become(t){return t instanceof BlockWidgetView&&t.widget.constructor==this.widget.constructor&&(t.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=t.widget,this.length=t.length,this.deco=t.deco,this.breakAfter=t.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(t){return this.widget.ignoreEvent(t)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(t,e){return this.widget.coordsAt(this.dom,t,e)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(t){let{startSide:e,endSide:i}=this.deco;return e!=i&&(t<0?e<0:i>0)}}class WidgetType{eq(t){return!1}updateDOM(t,e){return!1}compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(t){return!0}coordsAt(t,e,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(t){}}var P=function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t}(P||(P={}));class Decoration extends n.FB{constructor(t,e,i,n){super(),this.startSide=t,this.endSide=e,this.widget=i,this.spec=n}get heightRelevant(){return!1}static mark(t){return new MarkDecoration(t)}static widget(t){let e=Math.max(-1e4,Math.min(1e4,t.side||0)),i=!!t.block;return e+=i&&!t.inlineOrder?e>0?3e8:-4e8:e>0?1e8:-1e8,new PointDecoration(t,e,e,i,t.widget||null,!1)}static replace(t){let e,i,n=!!t.block;if(t.isBlockGap)e=-5e8,i=4e8;else{let{start:o,end:s}=getInclusive(t,n);e=(o?n?-3e8:-1:5e8)-1,i=1+(s?n?2e8:1:-6e8)}return new PointDecoration(t,e,i,n,t.widget||null,!0)}static line(t){return new LineDecoration(t)}static set(t,e=!1){return n.om.of(t,e)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}Decoration.none=n.om.empty;class MarkDecoration extends Decoration{constructor(t){let{start:e,end:i}=getInclusive(t);super(e?-1:5e8,i?1:-6e8,null,t),this.tagName=t.tagName||"span",this.class=t.class||"",this.attrs=t.attributes||null}eq(t){var e,i;return this==t||t instanceof MarkDecoration&&this.tagName==t.tagName&&(this.class||(null===(e=this.attrs)||void 0===e?void 0:e.class))==(t.class||(null===(i=t.attrs)||void 0===i?void 0:i.class))&&attrsEq(this.attrs,t.attrs,"class")}range(t,e=t){if(t>=e)throw new RangeError("Mark decorations may not be empty");return super.range(t,e)}}MarkDecoration.prototype.point=!1;class LineDecoration extends Decoration{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof LineDecoration&&this.spec.class==t.spec.class&&attrsEq(this.spec.attributes,t.spec.attributes)}range(t,e=t){if(e!=t)throw new RangeError("Line decoration ranges must be zero-length");return super.range(t,e)}}LineDecoration.prototype.mapMode=n.iR.TrackBefore,LineDecoration.prototype.point=!0;class PointDecoration extends Decoration{constructor(t,e,i,o,s,a){super(e,i,s,t),this.block=o,this.isReplace=a,this.mapMode=o?e<=0?n.iR.TrackBefore:n.iR.TrackAfter:n.iR.TrackDel}get type(){return this.startSide!=this.endSide?P.WidgetRange:this.startSide<=0?P.WidgetBefore:P.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){return t instanceof PointDecoration&&function widgetsEq(t,e){return t==e||!!(t&&e&&t.compare(e))}(this.widget,t.widget)&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,e=t){if(this.isReplace&&(t>e||t==e&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&e!=t)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(t,e)}}function getInclusive(t,e=!1){let{inclusiveStart:i,inclusiveEnd:n}=t;return null==i&&(i=t.inclusive),null==n&&(n=t.inclusive),{start:null!=i?i:e,end:null!=n?n:e}}function addRange(t,e,i,n=0){let o=i.length-1;o>=0&&i[o]+n>=t?i[o]=Math.max(i[o],e):i.push(t,e)}PointDecoration.prototype.point=!0;class ContentBuilder{constructor(t,e,i,n){this.doc=t,this.pos=e,this.end=i,this.disallowBlockEffectsFor=n,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=t.iter(),this.skip=e}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let t=this.content[this.content.length-1];return!(t.breakAfter||t instanceof BlockWidgetView&&t.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new LineView),this.atCursorPos=!0),this.curLine}flushBuffer(t=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(wrapMarks(new WidgetBufferView(-1),t),t.length),this.pendingBuffer=0)}addBlockWidget(t){this.flushBuffer(),this.curLine=null,this.content.push(t)}finish(t){this.pendingBuffer&&t<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||t&&this.content.length&&this.content[this.content.length-1]instanceof BlockWidgetView||this.getLine()}buildText(t,e,i){for(;t>0;){if(this.textOff==this.text.length){let{value:e,lineBreak:i,done:n}=this.cursor.next(this.skip);if(this.skip=0,n)throw new Error("Ran out of text content when drawing inline views");if(i){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,t--;continue}this.text=e,this.textOff=0}let n=Math.min(this.text.length-this.textOff,t,512);this.flushBuffer(e.slice(e.length-i)),this.getLine().append(wrapMarks(new TextView(this.text.slice(this.textOff,this.textOff+n)),e),i),this.atCursorPos=!0,this.textOff+=n,t-=n,i=0}}span(t,e,i,n){this.buildText(e-t,i,n),this.pos=e,this.openStart<0&&(this.openStart=n)}point(t,e,i,n,o,s){if(this.disallowBlockEffectsFor[s]&&i instanceof PointDecoration){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(e>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=e-t;if(i instanceof PointDecoration)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new BlockWidgetView(i.widget||NullWidget.block,a,i));else{let s=WidgetView.create(i.widget||NullWidget.inline,a,a?0:i.startSide),l=this.atCursorPos&&!s.isEditable&&o<=n.length&&(t<e||i.startSide>0),h=!s.isEditable&&(t<e||o>n.length||i.startSide<=0),c=this.getLine();2!=this.pendingBuffer||l||s.isEditable||(this.pendingBuffer=0),this.flushBuffer(n),l&&(c.append(wrapMarks(new WidgetBufferView(1),n),o),o=n.length+Math.max(0,o-n.length)),c.append(wrapMarks(s,n),o),this.atCursorPos=h,this.pendingBuffer=h?t<e||o>n.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=e),this.openStart<0&&(this.openStart=o)}static build(t,e,i,o,s){let a=new ContentBuilder(t,e,i,s);return a.openEnd=n.om.spans(o,e,i,a),a.openStart<0&&(a.openStart=a.openEnd),a.finish(a.openEnd),a}}function wrapMarks(t,e){for(let i of e)t=new MarkView(i,[t],t.length);return t}class NullWidget extends WidgetType{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}NullWidget.inline=new NullWidget("span"),NullWidget.block=new NullWidget("div");var k=function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t}(k||(k={}));const C=k.LTR,Q=k.RTL;function dec(t){let e=[];for(let i=0;i<t.length;i++)e.push(1<<+t[i]);return e}const T=dec("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),A=dec("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),R=Object.create(null),Z=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),i=t.charCodeAt(1);R[e]=i,R[i]=-e}function charType(t){return t<=247?T[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?A[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}const M=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class BidiSpan{get dir(){return this.level%2?Q:C}constructor(t,e,i){this.from=t,this.to=e,this.level=i}side(t,e){return this.dir==e==t?this.to:this.from}forward(t,e){return t==(this.dir==e)}static find(t,e,i,n){let o=-1;for(let s=0;s<t.length;s++){let a=t[s];if(a.from<=e&&a.to>=e){if(a.level==i)return s;(o<0||(0!=n?n<0?a.from<e:a.to>e:t[o].level>a.level))&&(o=s)}}if(o<0)throw new RangeError("Index out of range");return o}}function isolatesEq(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++){let n=t[i],o=e[i];if(n.from!=o.from||n.to!=o.to||n.direction!=o.direction||!isolatesEq(n.inner,o.inner))return!1}return!0}const L=[];function emitSpans(t,e,i,n,o,s,a){let l=n%2?2:1;if(n%2==o%2)for(let h=e,c=0;h<i;){let e=!0,d=!1;if(c==s.length||h<s[c].from){let t=L[h];t!=l&&(e=!1,d=16==t)}let f=e||1!=l?null:[],p=e?n:n+1,m=h;t:for(;;)if(c<s.length&&m==s[c].from){if(d)break t;let g=s[c];if(!e)for(let t=g.to,e=c+1;;){if(t==i)break t;if(!(e<s.length&&s[e].from==t)){if(L[t]==l)break t;break}t=s[e++].to}if(c++,f)f.push(g);else{g.from>h&&a.push(new BidiSpan(h,g.from,p)),computeSectionOrder(t,g.direction==C!=!(p%2)?n+1:n,o,g.inner,g.from,g.to,a),h=g.to}m=g.to}else{if(m==i||(e?L[m]!=l:L[m]==l))break;m++}f?emitSpans(t,h,m,n+1,o,f,a):h<m&&a.push(new BidiSpan(h,m,p)),h=m}else for(let h=i,c=s.length;h>e;){let i=!0,d=!1;if(!c||h>s[c-1].to){let t=L[h-1];t!=l&&(i=!1,d=16==t)}let f=i||1!=l?null:[],p=i?n:n+1,m=h;t:for(;;)if(c&&m==s[c-1].to){if(d)break t;let g=s[--c];if(!i)for(let t=g.from,i=c;;){if(t==e)break t;if(!i||s[i-1].to!=t){if(L[t-1]==l)break t;break}t=s[--i].from}if(f)f.push(g);else{g.to<h&&a.push(new BidiSpan(g.to,h,p)),computeSectionOrder(t,g.direction==C!=!(p%2)?n+1:n,o,g.inner,g.from,g.to,a),h=g.from}m=g.from}else{if(m==e||(i?L[m-1]!=l:L[m-1]==l))break;m--}f?emitSpans(t,m,h,n+1,o,f,a):m<h&&a.push(new BidiSpan(m,h,p)),h=m}}function computeSectionOrder(t,e,i,n,o,s,a){let l=e%2?2:1;!function computeCharTypes(t,e,i,n,o){for(let s=0;s<=n.length;s++){let a=s?n[s-1].to:e,l=s<n.length?n[s].from:i,h=s?256:o;for(let e=a,i=h,n=h;e<l;e++){let o=charType(t.charCodeAt(e));512==o?o=i:8==o&&4==n&&(o=16),L[e]=4==o?2:o,7&o&&(n=o),i=o}for(let t=a,e=h,n=h;t<l;t++){let o=L[t];if(128==o)t<l-1&&e==L[t+1]&&24&e?o=L[t]=e:L[t]=256;else if(64==o){let o=t+1;for(;o<l&&64==L[o];)o++;let s=t&&8==e||o<i&&8==L[o]?1==n?1:8:256;for(let e=t;e<o;e++)L[e]=s;t=o-1}else 8==o&&1==n&&(L[t]=1);e=o,7&o&&(n=o)}}}(t,o,s,n,l),function processBracketPairs(t,e,i,n,o){let s=1==o?2:1;for(let a=0,l=0,h=0;a<=n.length;a++){let c=a?n[a-1].to:e,d=a<n.length?n[a].from:i;for(let e,i,n,a=c;a<d;a++)if(i=R[e=t.charCodeAt(a)])if(i<0){for(let t=l-3;t>=0;t-=3)if(Z[t+1]==-i){let e=Z[t+2],i=2&e?o:4&e?1&e?s:o:0;i&&(L[a]=L[Z[t]]=i),l=t;break}}else{if(189==Z.length)break;Z[l++]=a,Z[l++]=e,Z[l++]=h}else if(2==(n=L[a])||1==n){let t=n==o;h=t?0:1;for(let e=l-3;e>=0;e-=3){let i=Z[e+2];if(2&i)break;if(t)Z[e+2]|=2;else{if(4&i)break;Z[e+2]|=4}}}}}(t,o,s,n,l),function processNeutrals(t,e,i,n){for(let o=0,s=n;o<=i.length;o++){let a=o?i[o-1].to:t,l=o<i.length?i[o].from:e;for(let h=a;h<l;){let a=L[h];if(256==a){let a=h+1;for(;;)if(a==l){if(o==i.length)break;a=i[o++].to,l=o<i.length?i[o].from:e}else{if(256!=L[a])break;a++}let c=1==s,d=c==(1==(a<e?L[a]:n))?c?1:2:n;for(let e=a,n=o,s=n?i[n-1].to:t;e>h;)e==s&&(e=i[--n].from,s=n?i[n-1].to:t),L[--e]=d;h=a}else s=a,h++}}}(o,s,n,l),emitSpans(t,o,s,e,i,n,a)}function computeOrder(t,e,i){if(!t)return[new BidiSpan(0,0,e==Q?1:0)];if(e==C&&!i.length&&!M.test(t))return trivialOrder(t.length);if(i.length)for(;t.length>L.length;)L[L.length]=256;let n=[],o=e==C?0:1;return computeSectionOrder(t,o,o,i,0,t.length,n),n}function trivialOrder(t){return[new BidiSpan(0,t,0)]}let E="";function moveVisually(t,e,i,o,s){var a;let l=o.head-t.from,h=BidiSpan.find(e,l,null!==(a=o.bidiLevel)&&void 0!==a?a:-1,o.assoc),c=e[h],d=c.side(s,i);if(l==d){let t=h+=s?1:-1;if(t<0||t>=e.length)return null;c=e[h=t],l=c.side(!s,i),d=c.side(s,i)}let f=(0,n.zK)(t.text,l,c.forward(s,i));(f<c.from||f>c.to)&&(f=d),E=t.text.slice(Math.min(l,f),Math.max(l,f));let p=h==(s?e.length-1:0)?null:e[h+(s?1:-1)];return p&&f==d&&p.level+(s?0:1)<c.level?n.OF.cursor(p.side(!s,i)+t.from,p.forward(s,i)?1:-1,p.level):n.OF.cursor(f+t.from,c.forward(s,i)?-1:1,c.level)}function autoDirection(t,e,i){for(let n=e;n<i;n++){let e=charType(t.charCodeAt(n));if(1==e)return C;if(2==e||4==e)return Q}return C}const D=n.sj.define(),z=n.sj.define(),I=n.sj.define(),W=n.sj.define(),B=n.sj.define(),V=n.sj.define(),X=n.sj.define(),N=n.sj.define({combine:t=>t.some((t=>t))}),j=n.sj.define({combine:t=>t.some((t=>t))}),q=n.sj.define();class ScrollTarget{constructor(t,e="nearest",i="nearest",n=5,o=5,s=!1){this.range=t,this.y=e,this.x=i,this.yMargin=n,this.xMargin=o,this.isSnapshot=s}map(t){return t.empty?this:new ScrollTarget(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new ScrollTarget(n.OF.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Y=n.Pe.define({map:(t,e)=>t.map(e)});function logException(t,e,i){let n=t.facet(W);n.length?n[0](e):window.onerror?window.onerror(String(e),i,void 0,void 0,e):i?console.error(i+":",e):console.error(e)}const U=n.sj.define({combine:t=>!t.length||t[0]});let G=0;const H=n.sj.define();class ViewPlugin{constructor(t,e,i,n,o){this.id=t,this.create=e,this.domEventHandlers=i,this.domEventObservers=n,this.extension=o(this)}static define(t,e){const{eventHandlers:i,eventObservers:n,provide:o,decorations:s}=e||{};return new ViewPlugin(G++,t,i,n,(t=>{let e=[H.of(t)];return s&&e.push(tt.of((e=>{let i=e.plugin(t);return i?s(i):Decoration.none}))),o&&e.push(o(t)),e}))}static fromClass(t,e){return ViewPlugin.define((e=>new t(e)),e)}}class PluginInstance{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}update(t){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(e){if(logException(t.state,e,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(t){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(t)}catch(e){logException(t.state,e,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var e;if(null===(e=this.value)||void 0===e?void 0:e.destroy)try{this.value.destroy()}catch(e){logException(t.state,e,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const K=n.sj.define(),J=n.sj.define(),tt=n.sj.define(),et=n.sj.define(),it=n.sj.define(),nt=n.sj.define();function getIsolatedRanges(t,e){let i=t.state.facet(nt);if(!i.length)return i;let o=i.map((e=>e instanceof Function?e(t):e)),s=[];return n.om.spans(o,e.from,e.to,{point(){},span(t,i,n,o){let a=t-e.from,l=i-e.from,h=s;for(let t=n.length-1;t>=0;t--,o--){let i,s=n[t].spec.bidiIsolate;if(null==s&&(s=autoDirection(e.text,a,l)),o>0&&h.length&&(i=h[h.length-1]).to==a&&i.direction==s)i.to=l,h=i.inner;else{let t={from:a,to:l,direction:s,inner:[]};h.push(t),h=t.inner}}}}),s}const ot=n.sj.define();function getScrollMargins(t){let e=0,i=0,n=0,o=0;for(let s of t.state.facet(ot)){let a=s(t);a&&(null!=a.left&&(e=Math.max(e,a.left)),null!=a.right&&(i=Math.max(i,a.right)),null!=a.top&&(n=Math.max(n,a.top)),null!=a.bottom&&(o=Math.max(o,a.bottom)))}return{left:e,right:i,top:n,bottom:o}}const rt=n.sj.define();class ChangedRange{constructor(t,e,i,n){this.fromA=t,this.toA=e,this.fromB=i,this.toB=n}join(t){return new ChangedRange(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let e=t.length,i=this;for(;e>0;e--){let n=t[e-1];if(!(n.fromA>i.toA)){if(n.toA<i.fromA)break;i=i.join(n),t.splice(e-1,1)}}return t.splice(e,0,i),t}static extendWithRanges(t,e){if(0==e.length)return t;let i=[];for(let n=0,o=0,s=0,a=0;;n++){let l=n==t.length?null:t[n],h=s-a,c=l?l.fromB:1e9;for(;o<e.length&&e[o]<c;){let t=e[o],n=e[o+1],s=Math.max(a,t),l=Math.min(c,n);if(s<=l&&new ChangedRange(s+h,l+h,s,l).addToSet(i),n>c)break;o+=2}if(!l)return i;new ChangedRange(l.fromA,l.toA,l.fromB,l.toB).addToSet(i),s=l.toA,a=l.toB}}}class ViewUpdate{constructor(t,e,i){this.view=t,this.state=e,this.transactions=i,this.flags=0,this.startState=t.state,this.changes=n.VR.empty(this.startState.doc.length);for(let t of i)this.changes=this.changes.compose(t.changes);let o=[];this.changes.iterChangedRanges(((t,e,i,n)=>o.push(new ChangedRange(t,e,i,n)))),this.changedRanges=o}static create(t,e,i){return new ViewUpdate(t,e,i)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((t=>t.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}class DocView extends ContentView{get length(){return this.view.state.doc.length}constructor(t){super(),this.view=t,this.decorations=[],this.dynamicDecorationMap=[],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(t.contentDOM),this.children=[new LineView],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ChangedRange(0,0,0,t.state.doc.length)],0,null)}update(t){var e;let i=t.changedRanges;this.minWidth>0&&i.length&&(i.every((({fromA:t,toA:e})=>e<this.minWidthFrom||t>this.minWidthTo))?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let o=-1;this.view.inputState.composing>=0&&((null===(e=this.domChanged)||void 0===e?void 0:e.newSel)?o=this.domChanged.newSel.head:function touchesComposition(t,e){let i=!1;e&&t.iterChangedRanges(((t,n)=>{t<e.to&&n>e.from&&(i=!0)}));return i}(t.changes,this.hasComposition)||t.selectionSet||(o=t.state.selection.main.head));let s=o>-1?function findCompositionRange(t,e,i){let n=findCompositionNode(t,i);if(!n)return null;let{node:o,from:s,to:a}=n,l=o.nodeValue;if(/[\n\r]/.test(l))return null;if(t.state.doc.sliceString(n.from,n.to)!=l)return null;let h=e.invertedDesc,c=new ChangedRange(h.mapPos(s),h.mapPos(a),s,a),d=[];for(let e=o.parentNode;;e=e.parentNode){let i=ContentView.get(e);if(i instanceof MarkView)d.push({node:e,deco:i.mark});else{if(i instanceof LineView||"DIV"==e.nodeName&&e.parentNode==t.contentDOM)return{range:c,text:o,marks:d,line:e};if(e==t.contentDOM)return null;d.push({node:e,deco:new MarkDecoration({inclusive:!0,attributes:getAttrs(e),tagName:e.tagName.toLowerCase()})})}}}(this.view,t.changes,o):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:e,to:n}=this.hasComposition;i=new ChangedRange(e,n,t.changes.mapPos(e,-1),t.changes.mapPos(n,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(_.ie||_.chrome)&&!s&&t&&t.state.doc.lines!=t.startState.doc.lines&&(this.forceSelection=!0);let a=function findChangedDeco(t,e,i){let o=new st;return n.om.compare(t,e,i,o),o.changes}(this.decorations,this.updateDeco(),t.changes);return i=ChangedRange.extendWithRanges(i,a),!!(7&this.flags||0!=i.length)&&(this.updateInner(i,t.startState.doc.length,s),t.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(t,e,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(t,e,i);let{observer:n}=this.view;n.ignore((()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let t=_.chrome||_.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,t),this.flags&=-8,t&&(t.written||n.selectionRange.focusNode!=t.node)&&(this.forceSelection=!0),this.dom.style.height=""})),this.markedForComposition.forEach((t=>t.flags&=-9));let o=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let t of this.children)t instanceof BlockWidgetView&&t.widget instanceof BlockGapWidget&&o.push(t.dom);n.updateGaps(o)}updateChildren(t,e,i){let n=i?i.range.addToSet(t.slice()):t,o=this.childCursor(e);for(let t=n.length-1;;t--){let e=t>=0?n[t]:null;if(!e)break;let s,a,l,h,{fromA:c,toA:d,fromB:f,toB:p}=e;if(i&&i.range.fromB<p&&i.range.toB>f){let t=ContentBuilder.build(this.view.state.doc,f,i.range.fromB,this.decorations,this.dynamicDecorationMap),e=ContentBuilder.build(this.view.state.doc,i.range.toB,p,this.decorations,this.dynamicDecorationMap);a=t.breakAtStart,l=t.openStart,h=e.openEnd;let n=this.compositionView(i);e.breakAtStart?n.breakAfter=1:e.content.length&&n.merge(n.length,n.length,e.content[0],!1,e.openStart,0)&&(n.breakAfter=e.content[0].breakAfter,e.content.shift()),t.content.length&&n.merge(0,0,t.content[t.content.length-1],!0,0,t.openEnd)&&t.content.pop(),s=t.content.concat(n).concat(e.content)}else({content:s,breakAtStart:a,openStart:l,openEnd:h}=ContentBuilder.build(this.view.state.doc,f,p,this.decorations,this.dynamicDecorationMap));let{i:m,off:g}=o.findPos(d,1),{i:O,off:v}=o.findPos(c,-1);replaceRange(this,O,v,m,g,s,a,l,h)}i&&this.fixCompositionDOM(i)}compositionView(t){let e=new TextView(t.text.nodeValue);e.flags|=8;for(let{deco:i}of t.marks)e=new MarkView(i,[e],e.length);let i=new LineView;return i.append(e,0),i}fixCompositionDOM(t){let fix=(t,e)=>{e.flags|=8|(e.children.some((t=>7&t.flags))?1:0),this.markedForComposition.add(e);let i=ContentView.get(t);i&&i!=e&&(i.dom=null),e.setDOM(t)},e=this.childPos(t.range.fromB,1),i=this.children[e.i];fix(t.line,i);for(let n=t.marks.length-1;n>=-1;n--)e=i.childPos(e.off,1),i=i.children[e.i],fix(n>=0?t.marks[n].node:t.text,i)}updateSelection(t=!1,e=!1){!t&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let i=this.view.root.activeElement,n=i==this.dom,o=!n&&hasSelection(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(n||e||o))return;let s=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,l=this.moveToLine(this.domAtPos(a.anchor)),h=a.empty?l:this.moveToLine(this.domAtPos(a.head));if(_.gecko&&a.empty&&!this.hasComposition&&function betweenUneditable(t){return 1==t.node.nodeType&&t.node.firstChild&&(0==t.offset||"false"==t.node.childNodes[t.offset-1].contentEditable)&&(t.offset==t.node.childNodes.length||"false"==t.node.childNodes[t.offset].contentEditable)}(l)){let t=document.createTextNode("");this.view.observer.ignore((()=>l.node.insertBefore(t,l.node.childNodes[l.offset]||null))),l=h=new DOMPos(t,0),s=!0}let c=this.view.observer.selectionRange;!s&&c.focusNode&&(isEquivalentPosition(l.node,l.offset,c.anchorNode,c.anchorOffset)&&isEquivalentPosition(h.node,h.offset,c.focusNode,c.focusOffset)||this.suppressWidgetCursorChange(c,a))||(this.view.observer.ignore((()=>{_.android&&_.chrome&&this.dom.contains(c.focusNode)&&function inUneditable(t,e){for(let i=t;i&&i!=e;i=i.assignedSlot||i.parentNode)if(1==i.nodeType&&"false"==i.contentEditable)return!0;return!1}(c.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let t=getSelection(this.view.root);if(t)if(a.empty){if(_.gecko){let t=function nextToUneditable(t,e){return 1!=t.nodeType?0:(e&&"false"==t.childNodes[e-1].contentEditable?1:0)|(e<t.childNodes.length&&"false"==t.childNodes[e].contentEditable?2:0)}(l.node,l.offset);if(t&&3!=t){let e=(1==t?textNodeBefore:textNodeAfter)(l.node,l.offset);e&&(l=new DOMPos(e.node,e.offset))}}t.collapse(l.node,l.offset),null!=a.bidiLevel&&void 0!==t.caretBidiLevel&&(t.caretBidiLevel=a.bidiLevel)}else if(t.extend){t.collapse(l.node,l.offset);try{t.extend(h.node,h.offset)}catch(t){}}else{let e=document.createRange();a.anchor>a.head&&([l,h]=[h,l]),e.setEnd(h.node,h.offset),e.setStart(l.node,l.offset),t.removeAllRanges(),t.addRange(e)}else;o&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())})),this.view.observer.setSelectionRange(l,h)),this.impreciseAnchor=l.precise?null:new DOMPos(c.anchorNode,c.anchorOffset),this.impreciseHead=h.precise?null:new DOMPos(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(t,e){return this.hasComposition&&e.empty&&isEquivalentPosition(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==e.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,e=t.state.selection.main,i=getSelection(t.root),{anchorNode:n,anchorOffset:o}=t.observer.selectionRange;if(!(i&&e.empty&&e.assoc&&i.modify))return;let s=LineView.find(this,e.head);if(!s)return;let a=s.posAtStart;if(e.head==a||e.head==a+s.length)return;let l=this.coordsAt(e.head,-1),h=this.coordsAt(e.head,1);if(!l||!h||l.bottom>h.top)return;let c=this.domAtPos(e.head+e.assoc);i.collapse(c.node,c.offset),i.modify("move",e.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let d=t.observer.selectionRange;t.docView.posFromDOM(d.anchorNode,d.anchorOffset)!=e.from&&i.collapse(n,o)}moveToLine(t){let e,i=this.dom;if(t.node!=i)return t;for(let n=t.offset;!e&&n<i.childNodes.length;n++){let t=ContentView.get(i.childNodes[n]);t instanceof LineView&&(e=t.domAtPos(0))}for(let n=t.offset-1;!e&&n>=0;n--){let t=ContentView.get(i.childNodes[n]);t instanceof LineView&&(e=t.domAtPos(t.length))}return e?new DOMPos(e.node,e.offset,!0):t}nearest(t){for(let e=t;e;){let t=ContentView.get(e);if(t&&t.rootView==this)return t;e=e.parentNode}return null}posFromDOM(t,e){let i=this.nearest(t);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(t,e)+i.posAtStart}domAtPos(t){let{i:e,off:i}=this.childCursor().findPos(t,-1);for(;e<this.children.length-1;){let t=this.children[e];if(i<t.length||t instanceof LineView)break;e++,i=0}return this.children[e].domAtPos(i)}coordsAt(t,e){let i=null,n=0;for(let o=this.length,s=this.children.length-1;s>=0;s--){let a=this.children[s],l=o-a.breakAfter,h=l-a.length;if(l<t)break;h<=t&&(h<t||a.covers(-1))&&(l>t||a.covers(1))&&(!i||a instanceof LineView&&!(i instanceof LineView&&e>=0))&&(i=a,n=h),o=h}return i?i.coordsAt(t-n,e):null}coordsForChar(t){let{i:e,off:i}=this.childPos(t,1),o=this.children[e];if(!(o instanceof LineView))return null;for(;o.children.length;){let{i:t,off:e}=o.childPos(i,1);for(;;t++){if(t==o.children.length)return null;if((o=o.children[t]).length)break}i=e}if(!(o instanceof TextView))return null;let s=(0,n.zK)(o.text,i);if(s==i)return null;let a=textRange(o.dom,i,s).getClientRects();for(let t=0;t<a.length;t++){let e=a[t];if(t==a.length-1||e.top<e.bottom&&e.left<e.right)return e}return null}measureVisibleLineHeights(t){let e=[],{from:i,to:n}=t,o=this.view.contentDOM.clientWidth,s=o>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==k.LTR;for(let t=0,h=0;h<this.children.length;h++){let c=this.children[h],d=t+c.length;if(d>n)break;if(t>=i){let i=c.dom.getBoundingClientRect();if(e.push(i.height),s){let e=c.dom.lastChild,n=e?clientRectsFor(e):[];if(n.length){let e=n[n.length-1],s=l?e.right-i.left:i.right-e.left;s>a&&(a=s,this.minWidth=o,this.minWidthFrom=t,this.minWidthTo=d)}}}t=d+c.breakAfter}return e}textDirectionAt(t){let{i:e}=this.childPos(t,1);return"rtl"==getComputedStyle(this.children[e].dom).direction?k.RTL:k.LTR}measureTextSize(){for(let t of this.children)if(t instanceof LineView){let e=t.measureTextSize();if(e)return e}let t,e,i,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(n);let o=clientRectsFor(n.firstChild)[0];t=n.getBoundingClientRect().height,e=o?o.width/27:7,i=o?o.height:t,n.remove()})),{lineHeight:t,charWidth:e,textHeight:i}}childCursor(t=this.length){let e=this.children.length;return e&&(t-=this.children[--e].length),new ChildCursor(this.children,t,e)}computeBlockGapDeco(){let t=[],e=this.view.viewState;for(let i=0,n=0;;n++){let o=n==e.viewports.length?null:e.viewports[n],s=o?o.from-1:this.length;if(s>i){let n=(e.lineBlockAt(s).bottom-e.lineBlockAt(i).top)/this.view.scaleY;t.push(Decoration.replace({widget:new BlockGapWidget(n),block:!0,inclusive:!0,isBlockGap:!0}).range(i,s))}if(!o)break;i=o.to+1}return Decoration.set(t)}updateDeco(){let t=0,e=this.view.state.facet(tt).map((e=>(this.dynamicDecorationMap[t++]="function"==typeof e)?e(this.view):e)),i=!1,o=this.view.state.facet(et).map(((t,e)=>{let n="function"==typeof t;return n&&(i=!0),n?t(this.view):t}));for(o.length&&(this.dynamicDecorationMap[t++]=i,e.push(n.om.join(o))),this.decorations=[...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];t<this.decorations.length;)this.dynamicDecorationMap[t++]=!1;return this.decorations}scrollIntoView(t){if(t.isSnapshot){let e=this.view.viewState.lineBlockAt(t.range.head);return this.view.scrollDOM.scrollTop=e.top-t.yMargin,void(this.view.scrollDOM.scrollLeft=t.xMargin)}for(let e of this.view.state.facet(q))try{if(e(this.view,t.range,t))return!0}catch(t){logException(this.view.state,t,"scroll handler")}let e,{range:i}=t,n=this.coordsAt(i.head,i.empty?i.assoc:i.head>i.anchor?-1:1);if(!n)return;!i.empty&&(e=this.coordsAt(i.anchor,i.anchor>i.head?-1:1))&&(n={left:Math.min(n.left,e.left),top:Math.min(n.top,e.top),right:Math.max(n.right,e.right),bottom:Math.max(n.bottom,e.bottom)});let o=getScrollMargins(this.view),s={left:n.left-o.left,top:n.top-o.top,right:n.right+o.right,bottom:n.bottom+o.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;!function scrollRectIntoView(t,e,i,n,o,s,a,l){let h=t.ownerDocument,c=h.defaultView||window;for(let d=t,f=!1;d&&!f;)if(1==d.nodeType){let t,p=d==h.body,m=1,g=1;if(p)t=windowRect(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(f=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let e=d.getBoundingClientRect();({scaleX:m,scaleY:g}=getScale(d,e)),t={left:e.left,right:e.left+d.clientWidth*m,top:e.top,bottom:e.top+d.clientHeight*g}}let O=0,v=0;if("nearest"==o)e.top<t.top?(v=-(t.top-e.top+a),i>0&&e.bottom>t.bottom+v&&(v=e.bottom-t.bottom+v+a)):e.bottom>t.bottom&&(v=e.bottom-t.bottom+a,i<0&&e.top-v<t.top&&(v=-(t.top+v-e.top+a)));else{let n=e.bottom-e.top,s=t.bottom-t.top;v=("center"==o&&n<=s?e.top+n/2-s/2:"start"==o||"center"==o&&i<0?e.top-a:e.bottom-s+a)-t.top}if("nearest"==n?e.left<t.left?(O=-(t.left-e.left+s),i>0&&e.right>t.right+O&&(O=e.right-t.right+O+s)):e.right>t.right&&(O=e.right-t.right+s,i<0&&e.left<t.left+O&&(O=-(t.left+O-e.left+s))):O=("center"==n?e.left+(e.right-e.left)/2-(t.right-t.left)/2:"start"==n==l?e.left-s:e.right-(t.right-t.left)+s)-t.left,O||v)if(p)c.scrollBy(O,v);else{let t=0,i=0;if(v){let t=d.scrollTop;d.scrollTop+=v/g,i=(d.scrollTop-t)*g}if(O){let e=d.scrollLeft;d.scrollLeft+=O/m,t=(d.scrollLeft-e)*m}e={left:e.left-t,top:e.top-i,right:e.right-t,bottom:e.bottom-i},t&&Math.abs(t-O)<1&&(n="nearest"),i&&Math.abs(i-v)<1&&(o="nearest")}if(p)break;d=d.assignedSlot||d.parentNode}else{if(11!=d.nodeType)break;d=d.host}}(this.view.scrollDOM,s,i.head<i.anchor?-1:1,t.x,t.y,Math.max(Math.min(t.xMargin,a),-a),Math.max(Math.min(t.yMargin,l),-l),this.view.textDirection==k.LTR)}}class BlockGapWidget extends WidgetType{constructor(t){super(),this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function findCompositionNode(t,e){let i=t.observer.selectionRange;if(!i.focusNode)return null;let n=textNodeBefore(i.focusNode,i.focusOffset),o=textNodeAfter(i.focusNode,i.focusOffset),s=n||o;if(o&&n&&o.node!=n.node){let e=ContentView.get(o.node);if(!e||e instanceof TextView&&e.text!=o.node.nodeValue)s=o;else if(t.docView.lastCompositionAfterCursor){let t=ContentView.get(n.node);!t||t instanceof TextView&&t.text!=n.node.nodeValue||(s=o)}}if(t.docView.lastCompositionAfterCursor=s!=n,!s)return null;let a=e-s.offset;return{from:a,to:a+s.node.nodeValue.length,node:s.node}}let st=class DecorationComparator{constructor(){this.changes=[]}compareRange(t,e){addRange(t,e,this.changes)}comparePoint(t,e){addRange(t,e,this.changes)}};function getdx(t,e){return e.left>t?e.left-t:Math.max(0,t-e.right)}function getdy(t,e){return e.top>t?e.top-t:Math.max(0,t-e.bottom)}function yOverlap(t,e){return t.top<e.bottom-1&&t.bottom>e.top+1}function upTop(t,e){return e<t.top?{top:e,left:t.left,right:t.right,bottom:t.bottom}:t}function upBot(t,e){return e>t.bottom?{top:t.top,left:t.left,right:t.right,bottom:e}:t}function domPosAtCoords(t,e,i){let n,o,s,a,l,h,c,d,f=!1;for(let p=t.firstChild;p;p=p.nextSibling){let t=clientRectsFor(p);for(let m=0;m<t.length;m++){let g=t[m];o&&yOverlap(o,g)&&(g=upTop(upBot(g,o.bottom),o.top));let O=getdx(e,g),v=getdy(i,g);if(0==O&&0==v)return 3==p.nodeType?domPosInText(p,e,i):domPosAtCoords(p,e,i);if(!n||a>v||a==v&&s>O){n=p,o=g,s=O,a=v;let l=v?i<g.top?-1:1:O?e<g.left?-1:1:0;f=!l||(l>0?m<t.length-1:m>0)}0==O?i>g.bottom&&(!c||c.bottom<g.bottom)?(l=p,c=g):i<g.top&&(!d||d.top>g.top)&&(h=p,d=g):c&&yOverlap(c,g)?c=upBot(c,g.bottom):d&&yOverlap(d,g)&&(d=upTop(d,g.top))}}if(c&&c.bottom>=i?(n=l,o=c):d&&d.top<=i&&(n=h,o=d),!n)return{node:t,offset:0};let p=Math.max(o.left,Math.min(o.right,e));return 3==n.nodeType?domPosInText(n,p,i):f&&"false"!=n.contentEditable?domPosAtCoords(n,p,i):{node:t,offset:Array.prototype.indexOf.call(t.childNodes,n)+(e>=(o.left+o.right)/2?1:0)}}function domPosInText(t,e,i){let n=t.nodeValue.length,o=-1,s=1e9,a=0;for(let l=0;l<n;l++){let n=textRange(t,l,l+1).getClientRects();for(let h=0;h<n.length;h++){let c=n[h];if(c.top==c.bottom)continue;a||(a=e-c.left);let d=(c.top>i?c.top-i:i-c.bottom)-1;if(c.left-1<=e&&c.right+1>=e&&d<s){let i=e>=(c.left+c.right)/2,n=i;if(_.chrome||_.gecko){textRange(t,l).getBoundingClientRect().left==c.right&&(n=!i)}if(d<=0)return{node:t,offset:l+(n?1:0)};o=l+(n?1:0),s=d}}}return{node:t,offset:o>-1?o:a>0?t.nodeValue.length:0}}function posAtCoords(t,e,i,n=-1){var o,s;let a,l=t.contentDOM.getBoundingClientRect(),h=l.top+t.viewState.paddingTop,{docHeight:c}=t.viewState,{x:d,y:f}=e,p=f-h;if(p<0)return 0;if(p>c)return t.state.doc.length;for(let e=t.viewState.heightOracle.textHeight/2,o=!1;a=t.elementAtHeight(p),a.type!=P.Text;)for(;p=n>0?a.bottom+e:a.top-e,!(p>=0&&p<=c);){if(o)return i?null:0;o=!0,n=-n}f=h+p;let m=a.from;if(m<t.viewport.from)return 0==t.viewport.from?0:i?null:posAtCoordsImprecise(t,l,a,d,f);if(m>t.viewport.to)return t.viewport.to==t.state.doc.length?t.state.doc.length:i?null:posAtCoordsImprecise(t,l,a,d,f);let g=t.dom.ownerDocument,O=t.root.elementFromPoint?t.root:g,v=O.elementFromPoint(d,f);v&&!t.contentDOM.contains(v)&&(v=null),v||(d=Math.max(l.left+1,Math.min(l.right-1,d)),v=O.elementFromPoint(d,f),v&&!t.contentDOM.contains(v)&&(v=null));let y,b=-1;if(v&&0!=(null===(o=t.docView.nearest(v))||void 0===o?void 0:o.isEditable))if(g.caretPositionFromPoint){let t=g.caretPositionFromPoint(d,f);t&&({offsetNode:y,offset:b}=t)}else if(g.caretRangeFromPoint){let e=g.caretRangeFromPoint(d,f);e&&(({startContainer:y,startOffset:b}=e),(!t.contentDOM.contains(y)||_.safari&&function isSuspiciousSafariCaretResult(t,e,i){let n;if(3!=t.nodeType||e!=(n=t.nodeValue.length))return!1;for(let e=t.nextSibling;e;e=e.nextSibling)if(1!=e.nodeType||"BR"!=e.nodeName)return!1;return textRange(t,n-1,n).getBoundingClientRect().left>i}(y,b,d)||_.chrome&&function isSuspiciousChromeCaretResult(t,e,i){if(0!=e)return!1;for(let e=t;;){let t=e.parentNode;if(!t||1!=t.nodeType||t.firstChild!=e)return!1;if(t.classList.contains("cm-line"))break;e=t}let n=1==t.nodeType?t.getBoundingClientRect():textRange(t,0,Math.max(t.nodeValue.length,1)).getBoundingClientRect();return i-n.left>5}(y,b,d))&&(y=void 0))}if(!y||!t.docView.dom.contains(y)){let e=LineView.find(t.docView,m);if(!e)return p>a.top+a.height/2?a.to:a.from;({node:y,offset:b}=domPosAtCoords(e.dom,d,f))}let x=t.docView.nearest(y);if(!x)return null;if(x.isWidget&&1==(null===(s=x.dom)||void 0===s?void 0:s.nodeType)){let t=x.dom.getBoundingClientRect();return e.y<t.top||e.y<=t.bottom&&e.x<=(t.left+t.right)/2?x.posAtStart:x.posAtEnd}return x.localPosFromDOM(y,b)+x.posAtStart}function posAtCoordsImprecise(t,e,i,o,s){let a=Math.round((o-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&i.height>1.5*t.defaultLineHeight){let e=t.viewState.heightOracle.textHeight;a+=Math.floor((s-i.top-.5*(t.defaultLineHeight-e))/e)*t.viewState.heightOracle.lineLength}let l=t.state.sliceDoc(i.from,i.to);return i.from+(0,n.kn)(l,a,t.state.tabSize)}function blockAt(t,e){let i=t.lineBlockAt(e);if(Array.isArray(i.type))for(let t of i.type)if(t.to>e||t.to==e&&(t.to==i.to||t.type==P.Text))return t;return i}function moveByChar(t,e,i,n){let o=t.state.doc.lineAt(e.head),s=t.bidiSpans(o),a=t.textDirectionAt(o.from);for(let l=e,h=null;;){let e=moveVisually(o,s,a,l,i),c=E;if(!e){if(o.number==(i?t.state.doc.lines:1))return l;c="\n",o=t.state.doc.line(o.number+(i?1:-1)),s=t.bidiSpans(o),e=t.visualLineSide(o,!i)}if(h){if(!h(c))return l}else{if(!n)return e;h=n(c)}l=e}}function skipAtomicRanges(t,e,i){for(;;){let n=0;for(let o of t)o.between(e-1,e+1,((t,o,s)=>{if(e>t&&e<o){let s=n||i||(e-t<o-e?-1:1);e=s<0?t:o,n=s}}));if(!n)return e}}function skipAtoms(t,e,i){let o=skipAtomicRanges(t.state.facet(it).map((e=>e(t))),i.from,e.head>i.from?-1:1);return o==i.from?i:n.OF.cursor(o,o<i.from?1:-1)}class InputState{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,_.safari&&t.contentDOM.addEventListener("input",(()=>null)),_.gecko&&function firefoxCopyCutHack(t){yt.has(t)||(yt.add(t),t.addEventListener("copy",(()=>{})),t.addEventListener("cut",(()=>{})))}(t.contentDOM.ownerDocument)}handleEvent(t){(function eventBelongsToEditor(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let i,n=e.target;n!=t.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(i=ContentView.get(n))&&i.ignoreEvent(e))return!1;return!0})(this.view,t)&&!this.ignoreDuringComposition(t)&&("keydown"==t.type&&this.keydown(t)||this.runHandlers(t.type,t))}runHandlers(t,e){let i=this.handlers[t];if(i){for(let t of i.observers)t(this.view,e);for(let t of i.handlers){if(e.defaultPrevented)break;if(t(this.view,e)){e.preventDefault();break}}}}ensureHandlers(t){let e=computeHandlers(t),i=this.handlers,n=this.view.contentDOM;for(let t in e)if("scroll"!=t){let o=!e[t].handlers.length,s=i[t];s&&o!=!s.handlers.length&&(n.removeEventListener(t,this.handleEvent),s=null),s||n.addEventListener(t,this.handleEvent,{passive:o})}for(let t in i)"scroll"==t||e[t]||n.removeEventListener(t,this.handleEvent);this.handlers=e}keydown(t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),9==t.keyCode&&Date.now()<this.lastEscPress+2e3)return!0;if(27!=t.keyCode&&ht.indexOf(t.keyCode)<0&&(this.view.inputState.lastEscPress=0),_.android&&_.chrome&&!t.synthetic&&(13==t.keyCode||8==t.keyCode))return this.view.observer.delayAndroidKey(t.key,t.keyCode),!0;let e;return!_.ios||t.synthetic||t.altKey||t.metaKey||!((e=at.find((e=>e.keyCode==t.keyCode)))&&!t.ctrlKey||lt.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(229!=t.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=e||t,setTimeout((()=>this.flushIOSKey()),250),!0)}flushIOSKey(t){let e=this.pendingIOSKey;return!!e&&(!("Enter"==e.key&&t&&t.from<t.to&&/^\S+$/.test(t.insert.toString()))&&(this.pendingIOSKey=void 0,dispatchKey(this.view.contentDOM,e.key,e.keyCode,e instanceof KeyboardEvent?e:void 0)))}ignoreDuringComposition(t){return!!/^key/.test(t.type)&&(this.composing>0||!!(_.safari&&!_.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.mouseSelection&&this.mouseSelection.update(t),this.draggedContent&&t.docChanged&&(this.draggedContent=this.draggedContent.map(t.changes)),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function bindHandler(t,e){return(i,n)=>{try{return e.call(t,n,i)}catch(t){logException(i.state,t)}}}function computeHandlers(t){let e=Object.create(null);function record(t){return e[t]||(e[t]={observers:[],handlers:[]})}for(let e of t){let t=e.spec;if(t&&t.domEventHandlers)for(let i in t.domEventHandlers){let n=t.domEventHandlers[i];n&&record(i).handlers.push(bindHandler(e.value,n))}if(t&&t.domEventObservers)for(let i in t.domEventObservers){let n=t.domEventObservers[i];n&&record(i).observers.push(bindHandler(e.value,n))}}for(let t in ct)record(t).handlers.push(ct[t]);for(let t in dt)record(t).observers.push(dt[t]);return e}const at=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],lt="dthko",ht=[16,17,18,20,91,92,224,225];function dragScrollSpeed(t){return.7*Math.max(0,t)+8}class MouseSelection{constructor(t,e,i,o){this.view=t,this.startEvent=e,this.style=i,this.mustSelect=o,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=e,this.scrollParent=function scrollableParent(t){let e=t.ownerDocument;for(let i=t.parentNode;i&&i!=e.body;)if(1==i.nodeType){if(i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)return i;i=i.assignedSlot||i.parentNode}else{if(11!=i.nodeType)break;i=i.host}return null}(t.contentDOM),this.atoms=t.state.facet(it).map((e=>e(t)));let s=t.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=e.shiftKey,this.multiple=t.state.facet(n.$t.allowMultipleSelections)&&function addsSelectionRange(t,e){let i=t.state.facet(D);return i.length?i[0](e):_.mac?e.metaKey:e.ctrlKey}(t,e),this.dragging=!(!function isInPrimarySelection(t,e){let{main:i}=t.state.selection;if(i.empty)return!1;let n=getSelection(t.root);if(!n||0==n.rangeCount)return!0;let o=n.getRangeAt(0).getClientRects();for(let t=0;t<o.length;t++){let i=o[t];if(i.left<=e.clientX&&i.right>=e.clientX&&i.top<=e.clientY&&i.bottom>=e.clientY)return!0}return!1}(t,e)||1!=getClickType(e))&&null}start(t){!1===this.dragging&&this.select(t)}move(t){var e;if(0==t.buttons)return this.destroy();if(this.dragging||null==this.dragging&&function dist(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}(this.startEvent,t)<10)return;this.select(this.lastEvent=t);let i=0,n=0,o=(null===(e=this.scrollParent)||void 0===e?void 0:e.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},s=getScrollMargins(this.view);t.clientX-s.left<=o.left+6?i=-dragScrollSpeed(o.left-t.clientX):t.clientX+s.right>=o.right-6&&(i=dragScrollSpeed(t.clientX-o.right)),t.clientY-s.top<=o.top+6?n=-dragScrollSpeed(o.top-t.clientY):t.clientY+s.bottom>=o.bottom-6&&(n=dragScrollSpeed(t.clientY-o.bottom)),this.setScrollSpeed(i,n)}up(t){null==this.dragging&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,e){this.scrollSpeed={x:t,y:e},t||e?this.scrolling<0&&(this.scrolling=setInterval((()=>this.scroll()),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(t){let e=null;for(let i=0;i<t.ranges.length;i++){let o=t.ranges[i],s=null;if(o.empty){let t=skipAtomicRanges(this.atoms,o.from,0);t!=o.from&&(s=n.OF.cursor(t,-1))}else{let t=skipAtomicRanges(this.atoms,o.from,-1),e=skipAtomicRanges(this.atoms,o.to,1);t==o.from&&e==o.to||(s=n.OF.range(o.from==o.anchor?t:e,o.from==o.head?t:e))}s&&(e||(e=t.ranges.slice()),e[i]=s)}return e?n.OF.create(e,t.mainIndex):t}select(t){let{view:e}=this,i=this.skipAtoms(this.style.get(t,this.extend,this.multiple));!this.mustSelect&&i.eq(e.state.selection,!1===this.dragging)||this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){this.style.update(t)&&setTimeout((()=>this.select(this.lastEvent)),20)}}const ct=Object.create(null),dt=Object.create(null),ut=_.ie&&_.ie_version<15||_.ios&&_.webkit_version<604;function doPaste(t,e){let i,{state:o}=t,s=1,a=o.toText(e),l=a.lines==o.selection.ranges.length;if(null!=Ot&&o.selection.ranges.every((t=>t.empty))&&Ot==a.toString()){let t=-1;i=o.changeByRange((i=>{let h=o.doc.lineAt(i.from);if(h.from==t)return{range:i};t=h.from;let c=o.toText((l?a.line(s++).text:e)+o.lineBreak);return{changes:{from:h.from,insert:c},range:n.OF.cursor(i.from+c.length)}}))}else i=l?o.changeByRange((t=>{let e=a.line(s++);return{changes:{from:t.from,to:t.to,insert:e.text},range:n.OF.cursor(t.from+e.length)}})):o.replaceSelection(a);t.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}function rangeForClick(t,e,i,o){if(1==o)return n.OF.cursor(e,i);if(2==o)return function groupAt(t,e,i=1){let o=t.charCategorizer(e),s=t.doc.lineAt(e),a=e-s.from;if(0==s.length)return n.OF.cursor(e);0==a?i=1:a==s.length&&(i=-1);let l=a,h=a;i<0?l=(0,n.zK)(s.text,a,!1):h=(0,n.zK)(s.text,a);let c=o(s.text.slice(l,h));for(;l>0;){let t=(0,n.zK)(s.text,l,!1);if(o(s.text.slice(t,l))!=c)break;l=t}for(;h<s.length;){let t=(0,n.zK)(s.text,h);if(o(s.text.slice(h,t))!=c)break;h=t}return n.OF.range(l+s.from,h+s.from)}(t.state,e,i);{let i=LineView.find(t.docView,e),o=t.state.doc.lineAt(i?i.posAtEnd:e),s=i?i.posAtStart:o.from,a=i?i.posAtEnd:o.to;return a<t.state.doc.length&&a==o.to&&a++,n.OF.range(s,a)}}dt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft},ct.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),27==e.keyCode&&(t.inputState.lastEscPress=Date.now()),!1),dt.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")},dt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")},ct.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let n of t.state.facet(I))if(i=n(t,e),i)break;if(i||0!=e.button||(i=function basicMouseSelection(t,e){let i=queryPos(t,e),o=getClickType(e),s=t.state.selection;return{update(t){t.docChanged&&(i.pos=t.changes.mapPos(i.pos),s=s.map(t.changes))},get(e,a,l){let h,c=queryPos(t,e),d=rangeForClick(t,c.pos,c.bias,o);if(i.pos!=c.pos&&!a){let e=rangeForClick(t,i.pos,i.bias,o),s=Math.min(e.from,d.from),a=Math.max(e.to,d.to);d=s<d.from?n.OF.range(s,a):n.OF.range(a,s)}return a?s.replaceRange(s.main.extend(d.from,d.to)):l&&1==o&&s.ranges.length>1&&(h=function removeRangeAround(t,e){for(let i=0;i<t.ranges.length;i++){let{from:o,to:s}=t.ranges[i];if(o<=e&&s>=e)return n.OF.create(t.ranges.slice(0,i).concat(t.ranges.slice(i+1)),t.mainIndex==i?0:t.mainIndex-(t.mainIndex>i?1:0))}return null}(s,c.pos))?h:l?s.addRange(d):n.OF.create([d])}}}(t,e)),i){let n=!t.hasFocus;t.inputState.startMouseSelection(new MouseSelection(t,e,i,n)),n&&t.observer.ignore((()=>focusPreventScroll(t.contentDOM)));let o=t.inputState.mouseSelection;if(o)return o.start(e),!1===o.dragging}return!1};let insideY=(t,e)=>t>=e.top&&t<=e.bottom,inside=(t,e,i)=>insideY(e,i)&&t>=i.left&&t<=i.right;function findPositionSide(t,e,i,n){let o=LineView.find(t.docView,e);if(!o)return 1;let s=e-o.posAtStart;if(0==s)return 1;if(s==o.length)return-1;let a=o.coordsAt(s,-1);if(a&&inside(i,n,a))return-1;let l=o.coordsAt(s,1);return l&&inside(i,n,l)?1:a&&insideY(n,a)?-1:1}function queryPos(t,e){let i=t.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:i,bias:findPositionSide(t,i,e.clientX,e.clientY)}}const ft=_.ie&&_.ie_version<=11;let pt=null,mt=0,gt=0;function getClickType(t){if(!ft)return t.detail;let e=pt,i=gt;return pt=t,gt=Date.now(),mt=!e||i>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(mt+1)%3:1}function dropText(t,e,i,n){if(!i)return;let o=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=t.inputState,a=n&&s&&function dragMovesSelection(t,e){let i=t.state.facet(z);return i.length?i[0](e):_.mac?!e.altKey:!e.ctrlKey}(t,e)?{from:s.from,to:s.to}:null,l={from:o,insert:i},h=t.state.changes(a?[a,l]:l);t.focus(),t.dispatch({changes:h,selection:{anchor:h.mapPos(o,-1),head:h.mapPos(o,1)},userEvent:a?"move.drop":"input.drop"}),t.inputState.draggedContent=null}ct.dragstart=(t,e)=>{let{selection:{main:i}}=t.state;if(e.target.draggable){let o=t.docView.nearest(e.target);if(o&&o.isWidget){let t=o.posAtStart,e=t+o.length;(t>=i.to||e<=i.from)&&(i=n.OF.range(t,e))}}let{inputState:o}=t;return o.mouseSelection&&(o.mouseSelection.dragging=!0),o.draggedContent=i,e.dataTransfer&&(e.dataTransfer.setData("Text",t.state.sliceDoc(i.from,i.to)),e.dataTransfer.effectAllowed="copyMove"),!1},ct.dragend=t=>(t.inputState.draggedContent=null,!1),ct.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let i=e.dataTransfer.files;if(i&&i.length){let n=Array(i.length),o=0,finishFile=()=>{++o==i.length&&dropText(t,e,n.filter((t=>null!=t)).join(t.state.lineBreak),!1)};for(let t=0;t<i.length;t++){let e=new FileReader;e.onerror=finishFile,e.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(e.result)||(n[t]=e.result),finishFile()},e.readAsText(i[t])}return!0}{let i=e.dataTransfer.getData("Text");if(i)return dropText(t,e,i,!0),!0}return!1},ct.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let i=ut?null:e.clipboardData;return i?(doPaste(t,i.getData("text/plain")||i.getData("text/uri-list")),!0):(function capturePaste(t){let e=t.dom.parentNode;if(!e)return;let i=e.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout((()=>{t.focus(),i.remove(),doPaste(t,i.value)}),50)}(t),!1)};let Ot=null;ct.copy=ct.cut=(t,e)=>{let{text:i,ranges:n,linewise:o}=function copiedRange(t){let e=[],i=[],n=!1;for(let n of t.selection.ranges)n.empty||(e.push(t.sliceDoc(n.from,n.to)),i.push(n));if(!e.length){let o=-1;for(let{from:n}of t.selection.ranges){let s=t.doc.lineAt(n);s.number>o&&(e.push(s.text),i.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),o=s.number}n=!0}return{text:e.join(t.lineBreak),ranges:i,linewise:n}}(t.state);if(!i&&!o)return!1;Ot=o?i:null,"cut"!=e.type||t.state.readOnly||t.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=ut?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",i),!0):(function captureCopy(t,e){let i=t.dom.parentNode;if(!i)return;let n=i.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout((()=>{n.remove(),t.focus()}),50)}(t,i),!1)};const vt=n.YH.define();function focusChangeTransaction(t,e){let i=[];for(let n of t.facet(X)){let o=n(t,e);o&&i.push(o)}return i?t.update({effects:i,annotations:vt.of(!0)}):null}function updateForFocusChange(t){setTimeout((()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let i=focusChangeTransaction(t.state,e);i?t.dispatch(i):t.update([])}}),10)}dt.focus=t=>{t.inputState.lastFocusTime=Date.now(),t.scrollDOM.scrollTop||!t.inputState.lastScrollTop&&!t.inputState.lastScrollLeft||(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),updateForFocusChange(t)},dt.blur=t=>{t.observer.clearSelectionRange(),updateForFocusChange(t)},dt.compositionstart=dt.compositionupdate=t=>{null==t.inputState.compositionFirstChange&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0)},dt.compositionend=t=>{t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,_.chrome&&_.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then((()=>t.observer.flush())):setTimeout((()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])}),50)},dt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()},ct.beforeinput=(t,e)=>{var i;let n;if(_.chrome&&_.android&&(n=at.find((t=>t.inputType==e.inputType)))&&(t.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let e=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout((()=>{var i;((null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0)>e+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())}),100)}return _.ios&&"deleteContentForward"==e.inputType&&t.observer.flushSoon(),_.safari&&"insertText"==e.inputType&&t.inputState.composing>=0&&setTimeout((()=>dt.compositionend(t,e)),20),!1};const yt=new Set;const wt=["pre-wrap","normal","pre-line","break-spaces"];class HeightOracle{constructor(t){this.lineWrapping=t,this.doc=n.EY.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(t,e){let i=this.doc.lineAt(e).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((e-t-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(t){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((t-this.lineLength)/(this.lineLength-5))))*this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return wt.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let e=!1;for(let i=0;i<t.length;i++){let n=t[i];n<0?i++:this.heightSamples[Math.floor(10*n)]||(e=!0,this.heightSamples[Math.floor(10*n)]=!0)}return e}refresh(t,e,i,n,o,s){let a=wt.indexOf(t)>-1,l=Math.round(e)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=e,this.charWidth=i,this.textHeight=n,this.lineLength=o,l){this.heightSamples={};for(let t=0;t<s.length;t++){let e=s[t];e<0?t++:this.heightSamples[Math.floor(10*e)]=!0}}return l}}class MeasuredHeights{constructor(t,e){this.from=t,this.heights=e,this.index=0}get more(){return this.index<this.heights.length}}class BlockInfo{constructor(t,e,i,n,o){this.from=t,this.length=e,this.top=i,this.height=n,this._content=o}get type(){return"number"==typeof this._content?P.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof PointDecoration?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(t){let e=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(t._content)?t._content:[t]);return new BlockInfo(this.from,this.length+t.length,this.top,this.height+t.height,e)}}var bt=function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t}(bt||(bt={}));const xt=.001;class HeightMap{constructor(t,e,i=2){this.length=t,this.height=e,this.flags=i}get outdated(){return(2&this.flags)>0}set outdated(t){this.flags=(t?2:0)|-3&this.flags}setHeight(t,e){this.height!=e&&(Math.abs(this.height-e)>xt&&(t.heightChanged=!0),this.height=e)}replace(t,e,i){return HeightMap.of(i)}decomposeLeft(t,e){e.push(this)}decomposeRight(t,e){e.push(this)}applyChanges(t,e,i,n){let o=this,s=i.doc;for(let a=n.length-1;a>=0;a--){let{fromA:l,toA:h,fromB:c,toB:d}=n[a],f=o.lineAt(l,bt.ByPosNoHeight,i.setDoc(e),0,0),p=f.to>=h?f:o.lineAt(h,bt.ByPosNoHeight,i,0,0);for(d+=p.to-h,h=p.to;a>0&&f.from<=n[a-1].toA;)l=n[a-1].fromA,c=n[a-1].fromB,a--,l<f.from&&(f=o.lineAt(l,bt.ByPosNoHeight,i,0,0));c+=f.from-l,l=f.from;let m=NodeBuilder.build(i.setDoc(s),t,c,d);o=o.replace(l,h,m)}return o.updateHeight(i,0)}static empty(){return new HeightMapText(0,0)}static of(t){if(1==t.length)return t[0];let e=0,i=t.length,n=0,o=0;for(;;)if(e==i)if(n>2*o){let o=t[e-1];o.break?t.splice(--e,1,o.left,null,o.right):t.splice(--e,1,o.left,o.right),i+=1+o.break,n-=o.size}else{if(!(o>2*n))break;{let e=t[i];e.break?t.splice(i,1,e.left,null,e.right):t.splice(i,1,e.left,e.right),i+=2+e.break,o-=e.size}}else if(n<o){let i=t[e++];i&&(n+=i.size)}else{let e=t[--i];e&&(o+=e.size)}let s=0;return null==t[e-1]?(s=1,e--):null==t[e]&&(s=1,i++),new HeightMapBranch(HeightMap.of(t.slice(0,e)),s,HeightMap.of(t.slice(i)))}}HeightMap.prototype.size=1;class HeightMapBlock extends HeightMap{constructor(t,e,i){super(t,e),this.deco=i}blockAt(t,e,i,n){return new BlockInfo(n,this.length,i,this.height,this.deco||0)}lineAt(t,e,i,n,o){return this.blockAt(0,i,n,o)}forEachLine(t,e,i,n,o,s){t<=o+this.length&&e>=o&&s(this.blockAt(0,i,n,o))}updateHeight(t,e=0,i=!1,n){return n&&n.from<=e&&n.more&&this.setHeight(t,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class HeightMapText extends HeightMapBlock{constructor(t,e){super(t,e,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(t,e,i,n){return new BlockInfo(n,this.length,i,this.height,this.breaks)}replace(t,e,i){let n=i[0];return 1==i.length&&(n instanceof HeightMapText||n instanceof HeightMapGap&&4&n.flags)&&Math.abs(this.length-n.length)<10?(n instanceof HeightMapGap?n=new HeightMapText(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):HeightMap.of(i)}updateHeight(t,e=0,i=!1,n){return n&&n.from<=e&&n.more?this.setHeight(t,n.heights[n.index++]):(i||this.outdated)&&this.setHeight(t,Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class HeightMapGap extends HeightMap{constructor(t){super(t,0)}heightMetrics(t,e){let i,n=t.doc.lineAt(e).number,o=t.doc.lineAt(e+this.length).number,s=o-n+1,a=0;if(t.lineWrapping){let e=Math.min(this.height,t.lineHeight*s);i=e/s,this.length>s+1&&(a=(this.height-e)/(this.length-s-1))}else i=this.height/s;return{firstLine:n,lastLine:o,perLine:i,perChar:a}}blockAt(t,e,i,n){let{firstLine:o,lastLine:s,perLine:a,perChar:l}=this.heightMetrics(e,n);if(e.lineWrapping){let o=n+(t<e.lineHeight?0:Math.round(Math.max(0,Math.min(1,(t-i)/this.height))*this.length)),s=e.doc.lineAt(o),h=a+s.length*l,c=Math.max(i,t-h/2);return new BlockInfo(s.from,s.length,c,h,0)}{let n=Math.max(0,Math.min(s-o,Math.floor((t-i)/a))),{from:l,length:h}=e.doc.line(o+n);return new BlockInfo(l,h,i+a*n,a,0)}}lineAt(t,e,i,n,o){if(e==bt.ByHeight)return this.blockAt(t,i,n,o);if(e==bt.ByPosNoHeight){let{from:e,to:n}=i.doc.lineAt(t);return new BlockInfo(e,n-e,0,0,0)}let{firstLine:s,perLine:a,perChar:l}=this.heightMetrics(i,o),h=i.doc.lineAt(t),c=a+h.length*l,d=h.number-s,f=n+a*d+l*(h.from-o-d);return new BlockInfo(h.from,h.length,Math.max(n,Math.min(f,n+this.height-c)),c,0)}forEachLine(t,e,i,n,o,s){t=Math.max(t,o),e=Math.min(e,o+this.length);let{firstLine:a,perLine:l,perChar:h}=this.heightMetrics(i,o);for(let c=t,d=n;c<=e;){let e=i.doc.lineAt(c);if(c==t){let i=e.number-a;d+=l*i+h*(t-o-i)}let n=l+h*e.length;s(new BlockInfo(e.from,e.length,d,n,0)),d+=n,c=e.to+1}}replace(t,e,i){let n=this.length-e;if(n>0){let t=i[i.length-1];t instanceof HeightMapGap?i[i.length-1]=new HeightMapGap(t.length+n):i.push(null,new HeightMapGap(n-1))}if(t>0){let e=i[0];e instanceof HeightMapGap?i[0]=new HeightMapGap(t+e.length):i.unshift(new HeightMapGap(t-1),null)}return HeightMap.of(i)}decomposeLeft(t,e){e.push(new HeightMapGap(t-1),null)}decomposeRight(t,e){e.push(null,new HeightMapGap(this.length-t-1))}updateHeight(t,e=0,i=!1,n){let o=e+this.length;if(n&&n.from<=e+this.length&&n.more){let i=[],s=Math.max(e,n.from),a=-1;for(n.from>e&&i.push(new HeightMapGap(n.from-e-1).updateHeight(t,e));s<=o&&n.more;){let e=t.doc.lineAt(s).length;i.length&&i.push(null);let o=n.heights[n.index++];-1==a?a=o:Math.abs(o-a)>=xt&&(a=-2);let l=new HeightMapText(e,o);l.outdated=!1,i.push(l),s+=e+1}s<=o&&i.push(null,new HeightMapGap(o-s).updateHeight(t,s));let l=HeightMap.of(i);return(a<0||Math.abs(l.height-this.height)>=xt||Math.abs(a-this.heightMetrics(t,e).perLine)>=xt)&&(t.heightChanged=!0),l}return(i||this.outdated)&&(this.setHeight(t,t.heightForGap(e,e+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class HeightMapBranch extends HeightMap{constructor(t,e,i){super(t.length+e+i.length,t.height+i.height,e|(t.outdated||i.outdated?2:0)),this.left=t,this.right=i,this.size=t.size+i.size}get break(){return 1&this.flags}blockAt(t,e,i,n){let o=i+this.left.height;return t<o?this.left.blockAt(t,e,i,n):this.right.blockAt(t,e,o,n+this.left.length+this.break)}lineAt(t,e,i,n,o){let s=n+this.left.height,a=o+this.left.length+this.break,l=e==bt.ByHeight?t<s:t<a,h=l?this.left.lineAt(t,e,i,n,o):this.right.lineAt(t,e,i,s,a);if(this.break||(l?h.to<a:h.from>a))return h;let c=e==bt.ByPosNoHeight?bt.ByPosNoHeight:bt.ByPos;return l?h.join(this.right.lineAt(a,c,i,s,a)):this.left.lineAt(a,c,i,n,o).join(h)}forEachLine(t,e,i,n,o,s){let a=n+this.left.height,l=o+this.left.length+this.break;if(this.break)t<l&&this.left.forEachLine(t,e,i,n,o,s),e>=l&&this.right.forEachLine(t,e,i,a,l,s);else{let h=this.lineAt(l,bt.ByPos,i,n,o);t<h.from&&this.left.forEachLine(t,h.from-1,i,n,o,s),h.to>=t&&h.from<=e&&s(h),e>h.to&&this.right.forEachLine(h.to+1,e,i,a,l,s)}}replace(t,e,i){let n=this.left.length+this.break;if(e<n)return this.balanced(this.left.replace(t,e,i),this.right);if(t>this.left.length)return this.balanced(this.left,this.right.replace(t-n,e-n,i));let o=[];t>0&&this.decomposeLeft(t,o);let s=o.length;for(let t of i)o.push(t);if(t>0&&mergeGaps(o,s-1),e<this.length){let t=o.length;this.decomposeRight(e,o),mergeGaps(o,t)}return HeightMap.of(o)}decomposeLeft(t,e){let i=this.left.length;if(t<=i)return this.left.decomposeLeft(t,e);e.push(this.left),this.break&&(i++,t>=i&&e.push(null)),t>i&&this.right.decomposeLeft(t-i,e)}decomposeRight(t,e){let i=this.left.length,n=i+this.break;if(t>=n)return this.right.decomposeRight(t-n,e);t<i&&this.left.decomposeRight(t,e),this.break&&t<n&&e.push(null),e.push(this.right)}balanced(t,e){return t.size>2*e.size||e.size>2*t.size?HeightMap.of(this.break?[t,null,e]:[t,e]):(this.left=t,this.right=e,this.height=t.height+e.height,this.outdated=t.outdated||e.outdated,this.size=t.size+e.size,this.length=t.length+this.break+e.length,this)}updateHeight(t,e=0,i=!1,n){let{left:o,right:s}=this,a=e+o.length+this.break,l=null;return n&&n.from<=e+o.length&&n.more?l=o=o.updateHeight(t,e,i,n):o.updateHeight(t,e,i),n&&n.from<=a+s.length&&n.more?l=s=s.updateHeight(t,a,i,n):s.updateHeight(t,a,i),l?this.balanced(o,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function mergeGaps(t,e){let i,n;null==t[e]&&(i=t[e-1])instanceof HeightMapGap&&(n=t[e+1])instanceof HeightMapGap&&t.splice(e-1,3,new HeightMapGap(i.length+1+n.length))}class NodeBuilder{constructor(t,e){this.pos=t,this.oracle=e,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,e){if(this.lineStart>-1){let t=Math.min(e,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof HeightMapText?i.length+=t-this.pos:(t>this.pos||!this.isCovered)&&this.nodes.push(new HeightMapText(t-this.pos,-1)),this.writtenTo=t,e>t&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=e}point(t,e,i){if(t<e||i.heightRelevant){let n=i.widget?i.widget.estimatedHeight:0,o=i.widget?i.widget.lineBreaks:0;n<0&&(n=this.oracle.lineHeight);let s=e-t;i.block?this.addBlock(new HeightMapBlock(s,n,i)):(s||o||n>=5)&&this.addLineDeco(n,o,s)}else e>t&&this.span(t,e);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:t,to:e}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=e,this.writtenTo<t&&((this.writtenTo<t-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,t-1)),this.nodes.push(null)),this.pos>t&&this.nodes.push(new HeightMapText(this.pos-t,-1)),this.writtenTo=this.pos}blankContent(t,e){let i=new HeightMapGap(e-t);return this.oracle.doc.lineAt(t).to==e&&(i.flags|=4),i}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof HeightMapText)return t;let e=new HeightMapText(0,-1);return this.nodes.push(e),e}addBlock(t){this.enterLine();let e=t.deco;e&&e.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,e&&e.endSide>0&&(this.covering=t)}addLineDeco(t,e,i){let n=this.ensureLine();n.length+=i,n.collapsed+=i,n.widgetHeight=Math.max(n.widgetHeight,t),n.breaks+=e,this.writtenTo=this.pos=this.pos+i}finish(t){let e=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||e instanceof HeightMapText||this.isCovered?(this.writtenTo<this.pos||null==e)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new HeightMapText(0,-1));let i=t;for(let t of this.nodes)t instanceof HeightMapText&&t.updateHeight(this.oracle,i),i+=t?t.length:1;return this.nodes}static build(t,e,i,o){let s=new NodeBuilder(i,t);return n.om.spans(e,i,o,s,0),s.finish(i)}}class DecorationComparator{constructor(){this.changes=[]}compareRange(){}comparePoint(t,e,i,n){(t<e||i&&i.heightRelevant||n&&n.heightRelevant)&&addRange(t,e,this.changes,5)}}function visiblePixelRange(t,e){let i=t.getBoundingClientRect(),n=t.ownerDocument,o=n.defaultView||window,s=Math.max(0,i.left),a=Math.min(o.innerWidth,i.right),l=Math.max(0,i.top),h=Math.min(o.innerHeight,i.bottom);for(let e=t.parentNode;e&&e!=n.body;)if(1==e.nodeType){let i=e,n=window.getComputedStyle(i);if((i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)&&"visible"!=n.overflow){let n=i.getBoundingClientRect();s=Math.max(s,n.left),a=Math.min(a,n.right),l=Math.max(l,n.top),h=e==t.parentNode?n.bottom:Math.min(h,n.bottom)}e="absolute"==n.position||"fixed"==n.position?i.offsetParent:i.parentNode}else{if(11!=e.nodeType)break;e=e.host}return{left:s-i.left,right:Math.max(s,a)-i.left,top:l-(i.top+e),bottom:Math.max(l,h)-(i.top+e)}}function fullPixelRange(t,e){let i=t.getBoundingClientRect();return{left:0,right:i.right-i.left,top:e,bottom:i.bottom-(i.top+e)}}class LineGap{constructor(t,e,i){this.from=t,this.to=e,this.size=i}static same(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++){let n=t[i],o=e[i];if(n.from!=o.from||n.to!=o.to||n.size!=o.size)return!1}return!0}draw(t,e){return Decoration.replace({widget:new LineGapWidget(this.size*(e?t.scaleY:t.scaleX),e)}).range(this.from,this.to)}}class LineGapWidget extends WidgetType{constructor(t,e){super(),this.size=t,this.vertical=e}eq(t){return t.size==this.size&&t.vertical==this.vertical}toDOM(){let t=document.createElement("div");return this.vertical?t.style.height=this.size+"px":(t.style.width=this.size+"px",t.style.height="2px",t.style.display="inline-block"),t}get estimatedHeight(){return this.vertical?this.size:-1}}class ViewState{constructor(t){this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=_t,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=k.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let e=t.facet(J).some((t=>"function"!=typeof t&&"cm-lineWrapping"==t.class));this.heightOracle=new HeightOracle(e),this.stateDeco=t.facet(tt).filter((t=>"function"!=typeof t)),this.heightMap=HeightMap.empty().applyChanges(this.stateDeco,n.EY.empty,this.heightOracle.setDoc(t.doc),[new ChangedRange(0,0,0,t.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Decoration.set(this.lineGaps.map((t=>t.draw(this,!1)))),this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:e}=this.state.selection;for(let i=0;i<=1;i++){let n=i?e.head:e.anchor;if(!t.some((({from:t,to:e})=>n>=t&&n<=e))){let{from:e,to:i}=this.lineBlockAt(n);t.push(new Viewport(e,i))}}this.viewports=t.sort(((t,e)=>t.from-e.from)),this.scaler=this.heightMap.height<=7e6?_t:new BigScaler(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(t=>{this.viewportLines.push(1==this.scaler.scale?t:scaleBlock(t,this.scaler))}))}update(t,e=null){this.state=t.state;let i=this.stateDeco;this.stateDeco=this.state.facet(tt).filter((t=>"function"!=typeof t));let o=t.changedRanges,s=ChangedRange.extendWithRanges(o,function heightRelevantDecoChanges(t,e,i){let o=new DecorationComparator;return n.om.compare(t,e,i,o,0),o.changes}(i,this.stateDeco,t?t.changes:n.VR.empty(this.state.doc.length))),a=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),s),this.heightMap.height!=a&&(t.flags|=2),l?(this.scrollAnchorPos=t.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let h=s.length?this.mapViewport(this.viewport,t.changes):this.viewport;(e&&(e.range.head<h.from||e.range.head>h.to)||!this.viewportIsAppropriate(h))&&(h=this.getViewport(0,e));let c=!t.changes.empty||2&t.flags||h.from!=this.viewport.from||h.to!=this.viewport.to;this.viewport=h,this.updateForViewport(),c&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(),e&&(this.scrollTarget=e),!this.mustEnforceCursorAssoc&&t.selectionSet&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(j)&&(this.mustEnforceCursorAssoc=!0)}measure(t){let e=t.contentDOM,i=window.getComputedStyle(e),o=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection="rtl"==i.direction?k.RTL:k.LTR;let a=this.heightOracle.mustRefreshForWrapping(s),l=e.getBoundingClientRect(),h=a||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let c=0,d=0;if(l.width&&l.height){let{scaleX:t,scaleY:i}=getScale(e,l);(t>.005&&Math.abs(this.scaleX-t)>.005||i>.005&&Math.abs(this.scaleY-i)>.005)&&(this.scaleX=t,this.scaleY=i,c|=8,a=h=!0)}let f=(parseInt(i.paddingTop)||0)*this.scaleY,p=(parseInt(i.paddingBottom)||0)*this.scaleY;this.paddingTop==f&&this.paddingBottom==p||(this.paddingTop=f,this.paddingBottom=p,c|=10),this.editorWidth!=t.scrollDOM.clientWidth&&(o.lineWrapping&&(h=!0),this.editorWidth=t.scrollDOM.clientWidth,c|=8);let m=t.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=m&&(this.scrollAnchorHeight=-1,this.scrollTop=m),this.scrolledToBottom=isScrolledToBottom(t.scrollDOM);let g=(this.printing?fullPixelRange:visiblePixelRange)(e,this.paddingTop),O=g.top-this.pixelViewport.top,v=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(h=!0)),!this.inView&&!this.scrollTarget)return 0;let b=l.width;if(this.contentDOMWidth==b&&this.editorHeight==t.scrollDOM.clientHeight||(this.contentDOMWidth=l.width,this.editorHeight=t.scrollDOM.clientHeight,c|=8),h){let e=t.docView.measureVisibleLineHeights(this.viewport);if(o.mustRefreshForHeights(e)&&(a=!0),a||o.lineWrapping&&Math.abs(b-this.contentDOMWidth)>o.charWidth){let{lineHeight:i,charWidth:n,textHeight:l}=t.docView.measureTextSize();a=i>0&&o.refresh(s,i,n,l,b/n,e),a&&(t.docView.minWidth=0,c|=8)}O>0&&v>0?d=Math.max(O,v):O<0&&v<0&&(d=Math.min(O,v)),o.heightChanged=!1;for(let i of this.viewports){let s=i.from==this.viewport.from?e:t.docView.measureVisibleLineHeights(i);this.heightMap=(a?HeightMap.empty().applyChanges(this.stateDeco,n.EY.empty,this.heightOracle,[new ChangedRange(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(o,0,a,new MeasuredHeights(i.from,s))}o.heightChanged&&(c|=2)}let x=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return x&&(this.viewport=this.getViewport(d,this.scrollTarget)),this.updateForViewport(),(2&c||x)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,t)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,e){let i=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),n=this.heightMap,o=this.heightOracle,{visibleTop:s,visibleBottom:a}=this,l=new Viewport(n.lineAt(s-1e3*i,bt.ByHeight,o,0,0).from,n.lineAt(a+1e3*(1-i),bt.ByHeight,o,0,0).to);if(e){let{head:t}=e.range;if(t<l.from||t>l.to){let i,s=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),a=n.lineAt(t,bt.ByPos,o,0,0);i="center"==e.y?(a.top+a.bottom)/2-s/2:"start"==e.y||"nearest"==e.y&&t<l.from?a.top:a.bottom-s,l=new Viewport(n.lineAt(i-500,bt.ByHeight,o,0,0).from,n.lineAt(i+s+500,bt.ByHeight,o,0,0).to)}}return l}mapViewport(t,e){let i=e.mapPos(t.from,-1),n=e.mapPos(t.to,1);return new Viewport(this.heightMap.lineAt(i,bt.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(n,bt.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:t,to:e},i=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(t,bt.ByPos,this.heightOracle,0,0),{bottom:o}=this.heightMap.lineAt(e,bt.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:a}=this;return(0==t||n<=s-Math.max(10,Math.min(-i,250)))&&(e==this.state.doc.length||o>=a+Math.max(10,Math.min(i,250)))&&n>s-2e3&&o<a+2e3}mapLineGaps(t,e){if(!t.length||e.empty)return t;let i=[];for(let n of t)e.touchesRange(n.from,n.to)||i.push(new LineGap(e.mapPos(n.from),e.mapPos(n.to),n.size));return i}ensureLineGaps(t,e){let i=this.heightOracle.lineWrapping,o=i?1e4:2e3,s=o>>1,a=o<<1;if(this.defaultTextDirection!=k.LTR&&!i)return[];let l=[],addGap=(o,a,h,c)=>{if(a-o<s)return;let d=this.state.selection.main,f=[d.from];d.empty||f.push(d.to);for(let t of f)if(t>o&&t<a)return addGap(o,t-10,h,c),void addGap(t+10,a,h,c);let p=function find(t,e){for(let i of t)if(e(i))return i;return}(t,(t=>t.from>=h.from&&t.to<=h.to&&Math.abs(t.from-o)<s&&Math.abs(t.to-a)<s&&!f.some((e=>t.from<e&&t.to>e))));if(!p){if(a<h.to&&e&&i&&e.visibleRanges.some((t=>t.from<=a&&t.to>=a))){let t=e.moveToLineBoundary(n.OF.cursor(a),!1,!0).head;t>o&&(a=t)}p=new LineGap(o,a,this.gapSize(h,o,a,c))}l.push(p)};for(let t of this.viewportLines){if(t.length<a)continue;let e=lineStructure(t.from,t.to,this.stateDeco);if(e.total<a)continue;let n,s,l=this.scrollTarget?this.scrollTarget.range.head:null;if(i){let i,a,h=o/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=l){let n=findFraction(e,l),o=((this.visibleBottom-this.visibleTop)/2+h)/t.height;i=n-o,a=n+o}else i=(this.visibleTop-t.top-h)/t.height,a=(this.visibleBottom-t.top+h)/t.height;n=findPosition(e,i),s=findPosition(e,a)}else{let t,i,a=e.total*this.heightOracle.charWidth,h=o*this.heightOracle.charWidth;if(null!=l){let n=findFraction(e,l),o=((this.pixelViewport.right-this.pixelViewport.left)/2+h)/a;t=n-o,i=n+o}else t=(this.pixelViewport.left-h)/a,i=(this.pixelViewport.right+h)/a;n=findPosition(e,t),s=findPosition(e,i)}n>t.from&&addGap(t.from,n,t,e),s<t.to&&addGap(s,t.to,t,e)}return l}gapSize(t,e,i,n){let o=findFraction(n,i)-findFraction(n,e);return this.heightOracle.lineWrapping?t.height*o:n.total*this.heightOracle.charWidth*o}updateLineGaps(t){LineGap.same(t,this.lineGaps)||(this.lineGaps=t,this.lineGapDeco=Decoration.set(t.map((t=>t.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let e=[];n.om.spans(t,this.viewport.from,this.viewport.to,{span(t,i){e.push({from:t,to:i})},point(){}},20);let i=e.length!=this.visibleRanges.length||this.visibleRanges.some(((t,i)=>t.from!=e[i].from||t.to!=e[i].to));return this.visibleRanges=e,i?4:0}lineBlockAt(t){return t>=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find((e=>e.from<=t&&e.to>=t))||scaleBlock(this.heightMap.lineAt(t,bt.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(t),bt.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(t){let e=this.lineBlockAtHeight(t+8);return e.from>=this.viewport.from||this.viewportLines[0].top-t>200?e:this.viewportLines[0]}elementAtHeight(t){return scaleBlock(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Viewport{constructor(t,e){this.from=t,this.to=e}}function lineStructure(t,e,i){let o=[],s=t,a=0;return n.om.spans(i,t,e,{span(){},point(t,e){t>s&&(o.push({from:s,to:t}),a+=t-s),s=e}},20),s<e&&(o.push({from:s,to:e}),a+=e-s),{total:a,ranges:o}}function findPosition({total:t,ranges:e},i){if(i<=0)return e[0].from;if(i>=1)return e[e.length-1].to;let n=Math.floor(t*i);for(let t=0;;t++){let{from:i,to:o}=e[t],s=o-i;if(n<=s)return i+n;n-=s}}function findFraction(t,e){let i=0;for(let{from:n,to:o}of t.ranges){if(e<=o){i+=e-n;break}i+=o-n}return i/t.total}const _t={toDOM:t=>t,fromDOM:t=>t,scale:1};class BigScaler{constructor(t,e,i){let n=0,o=0,s=0;this.viewports=i.map((({from:i,to:o})=>{let s=e.lineAt(i,bt.ByPos,t,0,0).top,a=e.lineAt(o,bt.ByPos,t,0,0).bottom;return n+=a-s,{from:i,to:o,top:s,bottom:a,domTop:0,domBottom:0}})),this.scale=(7e6-n)/(e.height-n);for(let t of this.viewports)t.domTop=s+(t.top-o)*this.scale,s=t.domBottom=t.domTop+(t.bottom-t.top),o=t.bottom}toDOM(t){for(let e=0,i=0,n=0;;e++){let o=e<this.viewports.length?this.viewports[e]:null;if(!o||t<o.top)return n+(t-i)*this.scale;if(t<=o.bottom)return o.domTop+(t-o.top);i=o.bottom,n=o.domBottom}}fromDOM(t){for(let e=0,i=0,n=0;;e++){let o=e<this.viewports.length?this.viewports[e]:null;if(!o||t<o.domTop)return i+(t-n)/this.scale;if(t<=o.domBottom)return o.top+(t-o.domTop);i=o.bottom,n=o.domBottom}}}function scaleBlock(t,e){if(1==e.scale)return t;let i=e.toDOM(t.top),n=e.toDOM(t.bottom);return new BlockInfo(t.from,t.length,i,n-i,Array.isArray(t._content)?t._content.map((t=>scaleBlock(t,e))):t._content)}const St=n.sj.define({combine:t=>t.join(" ")}),Pt=n.sj.define({combine:t=>t.indexOf(!0)>-1}),kt=o.G.newName(),Ct=o.G.newName(),Qt=o.G.newName(),Tt={"&light":"."+Ct,"&dark":"."+Qt};function buildTheme(t,e,i){return new o.G(e,{finish:e=>/&/.test(e)?e.replace(/&\w*/,(e=>{if("&"==e)return t;if(!i||!i[e])throw new RangeError(`Unsupported selector: ${e}`);return i[e]})):t+" "+e})}const $t=buildTheme("."+kt,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Tt),At="";class DOMReader{constructor(t,e){this.points=t,this.text="",this.lineSeparator=e.facet(n.$t.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+=At}readRange(t,e){if(!t)return this;let i=t.parentNode;for(let n=t;;){this.findPointBefore(i,n);let t=this.text.length;this.readNode(n);let o=n.nextSibling;if(o==e)break;let s=ContentView.get(n),a=ContentView.get(o);(s&&a?s.breakAfter:(s?s.breakAfter:isBlockElement(n))||isBlockElement(o)&&("BR"!=n.nodeName||n.cmIgnore)&&this.text.length>t)&&this.lineBreak(),n=o}return this.findPointBefore(i,e),this}readTextNode(t){let e=t.nodeValue;for(let i of this.points)i.node==t&&(i.pos=this.text.length+Math.min(i.offset,e.length));for(let i=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let o,s=-1,a=1;if(this.lineSeparator?(s=e.indexOf(this.lineSeparator,i),a=this.lineSeparator.length):(o=n.exec(e))&&(s=o.index,a=o[0].length),this.append(e.slice(i,s<0?e.length:s)),s<0)break;if(this.lineBreak(),a>1)for(let e of this.points)e.node==t&&e.pos>this.text.length&&(e.pos-=a-1);i=s+a}}readNode(t){if(t.cmIgnore)return;let e=ContentView.get(t),i=e&&e.overrideDOMText;if(null!=i){this.findPointInside(t,i.length);for(let t=i.iter();!t.next().done;)t.lineBreak?this.lineBreak():this.append(t.value)}else 3==t.nodeType?this.readTextNode(t):"BR"==t.nodeName?t.nextSibling&&this.lineBreak():1==t.nodeType&&this.readRange(t.firstChild,null)}findPointBefore(t,e){for(let i of this.points)i.node==t&&t.childNodes[i.offset]==e&&(i.pos=this.text.length)}findPointInside(t,e){for(let i of this.points)(3==t.nodeType?i.node==t:t.contains(i.node))&&(i.pos=this.text.length+(isAtEnd(t,i.node,i.offset)?e:0))}}function isAtEnd(t,e,i){for(;;){if(!e||i<maxOffset(e))return!1;if(e==t)return!0;i=domIndex(e)+1,e=e.parentNode}}class DOMPoint{constructor(t,e){this.node=t,this.offset=e,this.pos=-1}}class DOMChange{constructor(t,e,i,o){this.typeOver=o,this.bounds=null,this.text="";let{impreciseHead:s,impreciseAnchor:a}=t.docView;if(t.state.readOnly&&e>-1)this.newSel=null;else if(e>-1&&(this.bounds=t.docView.domBoundsAround(e,i,0))){let e=s||a?[]:function selectionPoints(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:i,anchorOffset:n,focusNode:o,focusOffset:s}=t.observer.selectionRange;i&&(e.push(new DOMPoint(i,n)),o==i&&s==n||e.push(new DOMPoint(o,s)));return e}(t),i=new DOMReader(e,t.state);i.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=i.text,this.newSel=function selectionFromPoints(t,e){if(0==t.length)return null;let i=t[0].pos,o=2==t.length?t[1].pos:i;return i>-1&&o>-1?n.OF.single(i+e,o+e):null}(e,this.bounds.from)}else{let e=t.observer.selectionRange,i=s&&s.node==e.focusNode&&s.offset==e.focusOffset||!contains(t.contentDOM,e.focusNode)?t.state.selection.main.head:t.docView.posFromDOM(e.focusNode,e.focusOffset),o=a&&a.node==e.anchorNode&&a.offset==e.anchorOffset||!contains(t.contentDOM,e.anchorNode)?t.state.selection.main.anchor:t.docView.posFromDOM(e.anchorNode,e.anchorOffset),l=t.viewport;if((_.ios||_.chrome)&&t.state.selection.main.empty&&i!=o&&(l.from>0||l.to<t.state.doc.length)){let e=Math.min(i,o),n=Math.max(i,o),s=l.from-e,a=l.to-n;0!=s&&1!=s&&0!=e||0!=a&&-1!=a&&n!=t.state.doc.length||(i=0,o=t.state.doc.length)}this.newSel=n.OF.single(o,i)}}}function applyDOMChange(t,e){let i,{newSel:o}=e,s=t.state.selection.main,a=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:l}=e.bounds,h=s.from,c=null;(8===a||_.android&&e.text.length<l-o)&&(h=s.to,c="end");let d=function findDiff(t,e,i,n){let o=Math.min(t.length,e.length),s=0;for(;s<o&&t.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==o&&t.length==e.length)return null;let a=t.length,l=e.length;for(;a>0&&l>0&&t.charCodeAt(a-1)==e.charCodeAt(l-1);)a--,l--;if("end"==n){i-=a+Math.max(0,s-Math.min(a,l))-s}if(a<s&&t.length<e.length){s-=i<=s&&i>=a?s-i:0,l=s+(l-a),a=s}else if(l<s){s-=i<=s&&i>=l?s-i:0,a=s+(a-l),l=s}return{from:s,toA:a,toB:l}}(t.state.doc.sliceString(o,l,At),e.text,h-o,c);d&&(_.chrome&&13==a&&d.toB==d.from+2&&e.text.slice(d.from,d.toB)==At+At&&d.toB--,i={from:o+d.from,to:o+d.toA,insert:n.EY.of(e.text.slice(d.from,d.toB).split(At))})}else o&&(!t.hasFocus&&t.state.facet(U)||o.main.eq(s))&&(o=null);if(!i&&!o)return!1;if(!i&&e.typeOver&&!s.empty&&o&&o.main.empty?i={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,s.to)}:i&&i.from>=s.from&&i.to<=s.to&&(i.from!=s.from||i.to!=s.to)&&s.to-s.from-(i.to-i.from)<=4?i={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,i.from).append(i.insert).append(t.state.doc.slice(i.to,s.to))}:(_.mac||_.android)&&i&&i.from==i.to&&i.from==s.head-1&&/^\. ?$/.test(i.insert.toString())&&"off"==t.contentDOM.getAttribute("autocorrect")?(o&&2==i.insert.length&&(o=n.OF.single(o.main.anchor-1,o.main.head-1)),i={from:s.from,to:s.to,insert:n.EY.of([" "])}):_.chrome&&i&&i.from==i.to&&i.from==s.head&&"\n "==i.insert.toString()&&t.lineWrapping&&(o&&(o=n.OF.single(o.main.anchor-1,o.main.head-1)),i={from:s.from,to:s.to,insert:n.EY.of([" "])}),i){if(_.ios&&t.inputState.flushIOSKey(i))return!0;if(_.android&&(i.to==s.to&&(i.from==s.from||i.from==s.from-1&&" "==t.state.sliceDoc(i.from,s.from))&&1==i.insert.length&&2==i.insert.lines&&dispatchKey(t.contentDOM,"Enter",13)||(i.from==s.from-1&&i.to==s.to&&0==i.insert.length||8==a&&i.insert.length<i.to-i.from&&i.to>s.head)&&dispatchKey(t.contentDOM,"Backspace",8)||i.from==s.from&&i.to==s.to+1&&0==i.insert.length&&dispatchKey(t.contentDOM,"Delete",46)))return!0;let e,l=i.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let defaultInsert=()=>e||(e=function applyDefaultInsert(t,e,i){let o,s=t.state,a=s.selection.main;if(e.from>=a.from&&e.to<=a.to&&e.to-e.from>=(a.to-a.from)/3&&(!i||i.main.empty&&i.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let i=a.from<e.from?s.sliceDoc(a.from,e.from):"",n=a.to>e.to?s.sliceDoc(e.to,a.to):"";o=s.replaceSelection(t.state.toText(i+e.insert.sliceString(0,void 0,t.state.lineBreak)+n))}else{let l=s.changes(e),h=i&&i.main.to<=l.newLength?i.main:void 0;if(s.selection.ranges.length>1&&t.inputState.composing>=0&&e.to<=a.to&&e.to>=a.to-10){let c,d=t.state.sliceDoc(e.from,e.to),f=i&&findCompositionNode(t,i.main.head);if(f){let t=e.insert.length-(e.to-e.from);c={from:f.from,to:f.to-t}}else c=t.state.doc.lineAt(a.head);let p=a.to-e.to,m=a.to-a.from;o=s.changeByRange((i=>{if(i.from==a.from&&i.to==a.to)return{changes:l,range:h||i.map(l)};let o=i.to-p,f=o-d.length;if(i.to-i.from!=m||t.state.sliceDoc(f,o)!=d||i.to>=c.from&&i.from<=c.to)return{range:i};let g=s.changes({from:f,to:o,insert:e.insert}),O=i.to-a.to;return{changes:g,range:h?n.OF.range(Math.max(0,h.anchor+O),Math.max(0,h.head+O)):i.map(g)}}))}else o={changes:l,selection:h&&s.selection.replaceRange(h)}}let l="input.type";(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,l+=".compose",t.inputState.compositionFirstChange&&(l+=".start",t.inputState.compositionFirstChange=!1));return s.update(o,{userEvent:l,scrollIntoView:!0})}(t,i,o));return t.state.facet(V).some((e=>e(t,i.from,i.to,l,defaultInsert)))||t.dispatch(defaultInsert()),!0}if(o&&!o.main.eq(s)){let e=!1,i="select";return t.inputState.lastSelectionTime>Date.now()-50&&("select"==t.inputState.lastSelectionOrigin&&(e=!0),i=t.inputState.lastSelectionOrigin),t.dispatch({selection:o,scrollIntoView:e,userEvent:i}),!0}return!1}const Rt={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Zt=_.ie&&_.ie_version<=11;class DOMObserver{constructor(t){this.view=t,this.active=!1,this.selectionRange=new DOMSelectionState,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver((e=>{for(let t of e)this.queue.push(t);(_.ie&&_.ie_version<=11||_.ios&&t.composing)&&e.some((t=>"childList"==t.type&&t.removedNodes.length||"characterData"==t.type&&t.oldValue.length>t.target.nodeValue.length))?this.flushSoon():this.flush()})),Zt&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var t;(null===(t=this.view.docView)||void 0===t?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()})),this.resizeScroll.observe(t.scrollDOM)),this.addWindowListeners(this.win=t.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver((t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))}),{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver((t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))}),{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){this.view.inputState.runHandlers("scroll",t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(t){("change"!=t.type||t.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout((()=>{this.view.viewState.printing=!1,this.view.requestMeasure()}),500))}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some(((e,i)=>e!=t[i])))){this.gapIntersection.disconnect();for(let e of t)this.gapIntersection.observe(e);this.gaps=t}}onSelectionChange(t){let e=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,n=this.selectionRange;if(i.state.facet(U)?i.root.activeElement!=this.dom:!hasSelection(i.dom,n))return;let o=n.anchorNode&&i.docView.nearest(n.anchorNode);o&&o.ignoreEvent(t)?e||(this.selectionChanged=!1):(_.ie&&_.ie_version<=11||_.android&&_.chrome)&&!i.state.selection.main.empty&&n.focusNode&&isEquivalentPosition(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,e=getSelection(t.root);if(!e)return!1;let i=_.safari&&11==t.root.nodeType&&function deepActiveElement(t){let e=t.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}(this.dom.ownerDocument)==this.dom&&function safariSelectionRangeHack(t,e){if(e.getComposedRanges){let i=e.getComposedRanges(t.root)[0];if(i)return buildSelectionRangeFromRange(t,i)}let i=null;function read(t){t.preventDefault(),t.stopImmediatePropagation(),i=t.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",read,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",read,!0),i?buildSelectionRangeFromRange(t,i):null}(this.view,e)||e;if(!i||this.selectionRange.eq(i))return!1;let n=hasSelection(this.dom,i);return n&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime<Date.now()-300&&function atElementStart(t,e){let i=e.focusNode,n=e.focusOffset;if(!i||e.anchorNode!=i||e.anchorOffset!=n)return!1;for(n=Math.min(n,maxOffset(i));;)if(n){if(1!=i.nodeType)return!1;let t=i.childNodes[n-1];"false"==t.contentEditable?n--:(i=t,n=maxOffset(i))}else{if(i==t)return!0;n=domIndex(i),i=i.parentNode}}(this.dom,i)?(this.view.inputState.lastFocusTime=0,t.docView.updateSelection(),!1):(this.selectionRange.setRange(i),n&&(this.selectionChanged=!0),!0)}setSelectionRange(t,e){this.selectionRange.set(t.node,t.offset,e.node,e.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let t=0,e=null;for(let i=this.dom;i;)if(1==i.nodeType)!e&&t<this.scrollTargets.length&&this.scrollTargets[t]==i?t++:e||(e=this.scrollTargets.slice(0,t)),e&&e.push(i),i=i.assignedSlot||i.parentNode;else{if(11!=i.nodeType)break;i=i.host}if(t<this.scrollTargets.length&&!e&&(e=this.scrollTargets.slice(0,t)),e){for(let t of this.scrollTargets)t.removeEventListener("scroll",this.onScroll);for(let t of this.scrollTargets=e)t.addEventListener("scroll",this.onScroll)}}ignore(t){if(!this.active)return t();try{return this.stop(),t()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Rt),Zt&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Zt&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(t,e){var i;if(!this.delayedAndroidKey){let flush=()=>{let t=this.delayedAndroidKey;if(t){this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=t.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&t.force&&dispatchKey(this.dom,t.key,t.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(flush)}this.delayedAndroidKey&&"Enter"!=t||(this.delayedAndroidKey={key:t,keyCode:e,force:this.lastChange<Date.now()-50||!!(null===(i=this.delayedAndroidKey)||void 0===i?void 0:i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame((()=>{this.delayedFlush=-1,this.flush()})))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let e=-1,i=-1,n=!1;for(let o of t){let t=this.readMutation(o);t&&(t.typeOver&&(n=!0),-1==e?({from:e,to:i}=t):(e=Math.min(t.from,e),i=Math.max(t.to,i)))}return{from:e,to:i,typeOver:n}}readChange(){let{from:t,to:e,typeOver:i}=this.processRecords(),n=this.selectionChanged&&hasSelection(this.dom,this.selectionRange);if(t<0&&!n)return null;t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let o=new DOMChange(this.view,t,e,i);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let e=this.readChange();if(!e)return this.view.requestMeasure(),!1;let i=this.view.state,n=applyDOMChange(this.view,e);return this.view.state==i&&this.view.update([]),n}readMutation(t){let e=this.view.docView.nearest(t.target);if(!e||e.ignoreMutation(t))return null;if(e.markDirty("attributes"==t.type),"attributes"==t.type&&(e.flags|=4),"childList"==t.type){let i=findChild(e,t.previousSibling||t.target.previousSibling,-1),n=findChild(e,t.nextSibling||t.target.nextSibling,1);return{from:i?e.posAfter(i):e.posAtStart,to:n?e.posBefore(n):e.posAtEnd,typeOver:!1}}return"characterData"==t.type?{from:e.posAtStart,to:e.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener("change",this.onPrint):t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener("change",this.onPrint):t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var t,e,i;this.stop(),null===(t=this.intersection)||void 0===t||t.disconnect(),null===(e=this.gapIntersection)||void 0===e||e.disconnect(),null===(i=this.resizeScroll)||void 0===i||i.disconnect();for(let t of this.scrollTargets)t.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function findChild(t,e,i){for(;e;){let n=ContentView.get(e);if(n&&n.parent==t)return n;let o=e.parentNode;e=o!=t.dom?o:i>0?e.nextSibling:e.previousSibling}return null}function buildSelectionRangeFromRange(t,e){let i=e.startContainer,n=e.startOffset,o=e.endContainer,s=e.endOffset,a=t.docView.domAtPos(t.state.selection.main.anchor);return isEquivalentPosition(a.node,a.offset,o,s)&&([i,n,o,s]=[o,s,i,n]),{anchorNode:i,anchorOffset:n,focusNode:o,focusOffset:s}}class EditorView{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(t={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),t.parent&&t.parent.appendChild(this.dom);let{dispatch:e}=t;this.dispatchTransactions=t.dispatchTransactions||e&&(t=>t.forEach((t=>e(t,this))))||(t=>this.update(t)),this.dispatch=this.dispatch.bind(this),this._root=t.root||function getRoot(t){for(;t;){if(t&&(9==t.nodeType||11==t.nodeType&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}(t.parent)||document,this.viewState=new ViewState(t.state||n.$t.create(t)),t.scrollTo&&t.scrollTo.is(Y)&&(this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(H).map((t=>new PluginInstance(t)));for(let t of this.plugins)t.update(this);this.observer=new DOMObserver(this),this.inputState=new InputState(this),this.inputState.ensureHandlers(this.plugins),this.docView=new DocView(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure()}dispatch(...t){let e=1==t.length&&t[0]instanceof n.ZX?t:1==t.length&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(e,this)}update(t){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let e,i=!1,o=!1,s=this.state;for(let e of t){if(e.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=e.state}if(this.destroyed)return void(this.viewState.state=s);let a=this.hasFocus,l=0,h=null;t.some((t=>t.annotation(vt)))?(this.inputState.notifiedFocused=a,l=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,h=focusChangeTransaction(s,a),h||(l=1));let c=this.observer.delayedAndroidKey,d=null;if(c?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(d=null)):this.observer.clear(),s.facet(n.$t.phrases)!=this.state.facet(n.$t.phrases))return this.setState(s);e=ViewUpdate.create(this,s,t),e.flags|=l;let f=this.viewState.scrollTarget;try{this.updateState=2;for(let e of t){if(f&&(f=f.map(e.changes)),e.scrollIntoView){let{main:t}=e.state.selection;f=new ScrollTarget(t.empty?t:n.OF.cursor(t.head,t.head>t.anchor?-1:1))}for(let t of e.effects)t.is(Y)&&(f=t.value.clip(this.state))}this.viewState.update(e,f),this.bidiCache=CachedOrder.update(this.bidiCache,e.changes),e.empty||(this.updatePlugins(e),this.inputState.update(e)),i=this.docView.update(e),this.state.facet(rt)!=this.styleModules&&this.mountStyles(),o=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(i,t.some((t=>t.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(e.startState.facet(St)!=e.state.facet(St)&&(this.viewState.mustMeasureContent=!0),(i||o||f||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!e.empty)for(let t of this.state.facet(B))try{t(e)}catch(t){logException(this.state,t,"update listener")}(h||d)&&Promise.resolve().then((()=>{h&&this.state==h.startState&&this.dispatch(h),d&&!applyDOMChange(this,d)&&c.force&&dispatchKey(this.contentDOM,c.key,c.keyCode)}))}setState(t){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=t);this.updateState=2;let e=this.hasFocus;try{for(let t of this.plugins)t.destroy(this);this.viewState=new ViewState(t),this.plugins=t.facet(H).map((t=>new PluginInstance(t))),this.pluginMap.clear();for(let t of this.plugins)t.update(this);this.docView.destroy(),this.docView=new DocView(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}e&&this.focus(),this.requestMeasure()}updatePlugins(t){let e=t.startState.facet(H),i=t.state.facet(H);if(e!=i){let n=[];for(let o of i){let i=e.indexOf(o);if(i<0)n.push(new PluginInstance(o));else{let e=this.plugins[i];e.mustUpdate=t,n.push(e)}}for(let e of this.plugins)e.mustUpdate!=t&&e.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let e of this.plugins)e.mustUpdate=t;for(let t=0;t<this.plugins.length;t++)this.plugins[t].update(this);e!=i&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let t of this.plugins){let e=t.value;if(e&&e.docViewUpdate)try{e.docViewUpdate(this)}catch(t){logException(this.state,t,"doc view update listener")}}}measure(t=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,t&&this.observer.forceFlush();let e=null,i=this.scrollDOM,n=i.scrollTop*this.scaleY,{scrollAnchorPos:o,scrollAnchorHeight:s}=this.viewState;Math.abs(n-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let t=0;;t++){if(s<0)if(isScrolledToBottom(i))o=-1,s=this.viewState.heightMap.height;else{let t=this.viewState.scrollAnchorAt(n);o=t.from,s=t.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(t>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];4&a||([this.measureRequests,l]=[l,this.measureRequests]);let h=l.map((t=>{try{return t.read(this)}catch(t){return logException(this.state,t),Lt}})),c=ViewUpdate.create(this,this.state,[]),d=!1;c.flags|=a,e?e.flags|=a:e=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),d=this.docView.update(c),d&&this.docViewUpdate());for(let t=0;t<l.length;t++)if(h[t]!=Lt)try{let e=l[t];e.write&&e.write(h[t],this)}catch(t){logException(this.state,t)}if(d&&this.docView.updateSelection(!0),!c.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}{let t=(o<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(o).top)-s;if(t>1||t<-1){n+=t,i.scrollTop=n/this.scaleY,s=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(e&&!e.empty)for(let t of this.state.facet(B))t(e)}get themeClasses(){return kt+" "+(this.state.facet(Pt)?Qt:Ct)+" "+this.state.facet(St)}updateAttrs(){let t=attrsFromFacet(this,K,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),e={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(U)?"true":"false",class:"cm-content",style:`${_.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(e["aria-readonly"]="true"),attrsFromFacet(this,J,e);let i=this.observer.ignore((()=>{let i=updateAttrs(this.contentDOM,this.contentAttrs,e),n=updateAttrs(this.dom,this.editorAttrs,t);return i||n}));return this.editorAttrs=t,this.contentAttrs=e,i}showAnnouncements(t){let e=!0;for(let i of t)for(let t of i.effects)if(t.is(EditorView.announce)){e&&(this.announceDOM.textContent=""),e=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=t.value}}mountStyles(){this.styleModules=this.state.facet(rt);let t=this.state.facet(EditorView.cspNonce);o.G.mount(this.root,this.styleModules.concat($t).reverse(),t?{nonce:t}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(t){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame((()=>this.measure()))),t){if(this.measureRequests.indexOf(t)>-1)return;if(null!=t.key)for(let e=0;e<this.measureRequests.length;e++)if(this.measureRequests[e].key===t.key)return void(this.measureRequests[e]=t);this.measureRequests.push(t)}}plugin(t){let e=this.pluginMap.get(t);return(void 0===e||e&&e.spec!=t)&&this.pluginMap.set(t,e=this.plugins.find((e=>e.spec==t))||null),e&&e.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,e,i){return skipAtoms(this,t,moveByChar(this,t,e,i))}moveByGroup(t,e){return skipAtoms(this,t,moveByChar(this,t,e,(e=>function byGroup(t,e,i){let o=t.state.charCategorizer(e),s=o(i);return t=>{let e=o(t);return s==n.Je.Space&&(s=e),s==e}}(this,t.head,e))))}visualLineSide(t,e){let i=this.bidiSpans(t),o=this.textDirectionAt(t.from),s=i[e?i.length-1:0];return n.OF.cursor(s.side(e,o)+t.from,s.forward(!e,o)?1:-1)}moveToLineBoundary(t,e,i=!0){return function moveToLineBoundary(t,e,i,o){let s=blockAt(t,e.head),a=o&&s.type==P.Text&&(t.lineWrapping||s.widgetLineBreaks)?t.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head):null;if(a){let e=t.dom.getBoundingClientRect(),o=t.textDirectionAt(s.from),l=t.posAtCoords({x:i==(o==k.LTR)?e.right-1:e.left+1,y:(a.top+a.bottom)/2});if(null!=l)return n.OF.cursor(l,i?-1:1)}return n.OF.cursor(i?s.to:s.from,i?-1:1)}(this,t,e,i)}moveVertically(t,e,i){return skipAtoms(this,t,function moveVertically(t,e,i,o){let s=e.head,a=i?1:-1;if(s==(i?t.state.doc.length:0))return n.OF.cursor(s,e.assoc);let l,h=e.goalColumn,c=t.contentDOM.getBoundingClientRect(),d=t.coordsAtPos(s,e.assoc||-1),f=t.documentTop;if(d)null==h&&(h=d.left-c.left),l=a<0?d.top:d.bottom;else{let e=t.viewState.lineBlockAt(s);null==h&&(h=Math.min(c.right-c.left,t.defaultCharacterWidth*(s-e.from))),l=(a<0?e.top:e.bottom)+f}let p=c.left+h,m=null!=o?o:t.viewState.heightOracle.textHeight>>1;for(let e=0;;e+=10){let i=l+(m+e)*a,o=posAtCoords(t,{x:p,y:i},!1,a);if(i<c.top||i>c.bottom||(a<0?o<s:o>s)){let e=t.docView.coordsForChar(o),s=!e||i<e.top?-1:1;return n.OF.cursor(o,s,void 0,h)}}}(this,t,e,i))}domAtPos(t){return this.docView.domAtPos(t)}posAtDOM(t,e=0){return this.docView.posFromDOM(t,e)}posAtCoords(t,e=!0){return this.readMeasured(),posAtCoords(this,t,e)}coordsAtPos(t,e=1){this.readMeasured();let i=this.docView.coordsAt(t,e);if(!i||i.left==i.right)return i;let n=this.state.doc.lineAt(t),o=this.bidiSpans(n);return flattenRect(i,o[BidiSpan.find(o,t-n.from,-1,e)].dir==k.LTR==e>0)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(N)||t<this.viewport.from||t>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>Mt)return trivialOrder(t.length);let e,i=this.textDirectionAt(t.from);for(let n of this.bidiCache)if(n.from==t.from&&n.dir==i&&(n.fresh||isolatesEq(n.isolates,e=getIsolatedRanges(this,t))))return n.order;e||(e=getIsolatedRanges(this,t));let n=computeOrder(t.text,i,e);return this.bidiCache.push(new CachedOrder(t.from,t.to,i,e,!0,n)),n}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||_.safari&&(null===(t=this.inputState)||void 0===t?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{focusPreventScroll(this.contentDOM),this.docView.updateSelection()}))}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((9==t.nodeType?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let t of this.plugins)t.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(t,e={}){return Y.of(new ScrollTarget("number"==typeof t?n.OF.cursor(t):t,e.y,e.x,e.yMargin,e.xMargin))}scrollSnapshot(){let{scrollTop:t,scrollLeft:e}=this.scrollDOM,i=this.viewState.scrollAnchorAt(t);return Y.of(new ScrollTarget(n.OF.cursor(i.from),"start","start",i.top-t,e,!0))}static domEventHandlers(t){return ViewPlugin.define((()=>({})),{eventHandlers:t})}static domEventObservers(t){return ViewPlugin.define((()=>({})),{eventObservers:t})}static theme(t,e){let i=o.G.newName(),n=[St.of(i),rt.of(buildTheme(`.${i}`,t))];return e&&e.dark&&n.push(Pt.of(!0)),n}static baseTheme(t){return n.Nb.lowest(rt.of(buildTheme("."+kt,t,Tt)))}static findFromDOM(t){var e;let i=t.querySelector(".cm-content"),n=i&&ContentView.get(i)||ContentView.get(t);return(null===(e=null==n?void 0:n.rootView)||void 0===e?void 0:e.view)||null}}EditorView.styleModule=rt,EditorView.inputHandler=V,EditorView.scrollHandler=q,EditorView.focusChangeEffect=X,EditorView.perLineTextDirection=N,EditorView.exceptionSink=W,EditorView.updateListener=B,EditorView.editable=U,EditorView.mouseSelectionStyle=I,EditorView.dragMovesSelection=z,EditorView.clickAddsSelectionRange=D,EditorView.decorations=tt,EditorView.outerDecorations=et,EditorView.atomicRanges=it,EditorView.bidiIsolatedRanges=nt,EditorView.scrollMargins=ot,EditorView.darkTheme=Pt,EditorView.cspNonce=n.sj.define({combine:t=>t.length?t[0]:""}),EditorView.contentAttributes=J,EditorView.editorAttributes=K,EditorView.lineWrapping=EditorView.contentAttributes.of({class:"cm-lineWrapping"}),EditorView.announce=n.Pe.define();const Mt=4096,Lt={};class CachedOrder{constructor(t,e,i,n,o,s){this.from=t,this.to=e,this.dir=i,this.isolates=n,this.fresh=o,this.order=s}static update(t,e){if(e.empty&&!t.some((t=>t.fresh)))return t;let i=[],n=t.length?t[t.length-1].dir:k.LTR;for(let o=Math.max(0,t.length-10);o<t.length;o++){let s=t[o];s.dir!=n||e.touchesRange(s.from,s.to)||i.push(new CachedOrder(e.mapPos(s.from,1),e.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return i}}function attrsFromFacet(t,e,i){for(let n=t.state.facet(e),o=n.length-1;o>=0;o--){let e=n[o],s="function"==typeof e?e(t):e;s&&combineAttrs(s,i)}return i}const Et=_.mac?"mac":_.windows?"win":_.linux?"linux":"key";function modifiers(t,e,i){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),!1!==i&&e.shiftKey&&(t="Shift-"+t),t}const Dt=n.Nb.default(EditorView.domEventHandlers({keydown:(t,e)=>runHandlers(getKeymap(e.state),t,e,"editor")})),zt=n.sj.define({enables:Dt}),It=new WeakMap;function getKeymap(t){let e=t.facet(zt),i=It.get(e);return i||It.set(e,i=function buildKeymap(t,e=Et){let i=Object.create(null),n=Object.create(null),checkPrefix=(t,e)=>{let i=n[t];if(null==i)n[t]=e;else if(i!=e)throw new Error("Key binding "+t+" is used both as a regular binding and as a multi-stroke prefix")},add=(t,n,o,s,a)=>{var l,h;let c=i[t]||(i[t]=Object.create(null)),d=n.split(/ (?!$)/).map((t=>function normalizeKeyName(t,e){const i=t.split(/-(?!$)/);let n,o,s,a,l=i[i.length-1];"Space"==l&&(l=" ");for(let t=0;t<i.length-1;++t){const l=i[t];if(/^(cmd|meta|m)$/i.test(l))a=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))o=!0;else if(/^s(hift)?$/i.test(l))s=!0;else{if(!/^mod$/i.test(l))throw new Error("Unrecognized modifier name: "+l);"mac"==e?a=!0:o=!0}}return n&&(l="Alt-"+l),o&&(l="Ctrl-"+l),a&&(l="Meta-"+l),s&&(l="Shift-"+l),l}(t,e)));for(let e=1;e<d.length;e++){let i=d.slice(0,e).join(" ");checkPrefix(i,!0),c[i]||(c[i]={preventDefault:!0,stopPropagation:!1,run:[e=>{let n=Wt={view:e,prefix:i,scope:t};return setTimeout((()=>{Wt==n&&(Wt=null)}),Bt),!0}]})}let f=d.join(" ");checkPrefix(f,!1);let p=c[f]||(c[f]={preventDefault:!1,stopPropagation:!1,run:(null===(h=null===(l=c._any)||void 0===l?void 0:l.run)||void 0===h?void 0:h.slice())||[]});o&&p.run.push(o),s&&(p.preventDefault=!0),a&&(p.stopPropagation=!0)};for(let n of t){let t=n.scope?n.scope.split(" "):["editor"];if(n.any)for(let e of t){let t=i[e]||(i[e]=Object.create(null));t._any||(t._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let e in t)t[e].run.push(n.any)}let o=n[e]||n.key;if(o)for(let e of t)add(e,o,n.run,n.preventDefault,n.stopPropagation),n.shift&&add(e,"Shift-"+o,n.shift,n.preventDefault,n.stopPropagation)}return i}(e.reduce(((t,e)=>t.concat(e)),[]))),i}function runScopeHandlers(t,e,i){return runHandlers(getKeymap(t.state),e,t,i)}let Wt=null;const Bt=4e3;function runHandlers(t,e,i,o){let a=(0,s.xT)(e),l=(0,n.vS)(a,0),h=(0,n.Fh)(l)==a.length&&" "!=a,c="",d=!1,f=!1,p=!1;Wt&&Wt.view==i&&Wt.scope==o&&(c=Wt.prefix+" ",ht.indexOf(e.keyCode)<0&&(f=!0,Wt=null));let m,g,O=new Set,runFor=t=>{if(t){for(let n of t.run)if(!O.has(n)&&(O.add(n),n(i,e)))return t.stopPropagation&&(p=!0),!0;t.preventDefault&&(t.stopPropagation&&(p=!0),f=!0)}return!1},v=t[o];return v&&(runFor(v[c+modifiers(a,e,!h)])?d=!0:h&&(e.altKey||e.metaKey||e.ctrlKey)&&!(_.windows&&e.ctrlKey&&e.altKey)&&(m=s.E3[e.keyCode])&&m!=a?(runFor(v[c+modifiers(m,e,!0)])||e.shiftKey&&(g=s.BN[e.keyCode])!=a&&g!=m&&runFor(v[c+modifiers(g,e,!1)]))&&(d=!0):h&&e.shiftKey&&runFor(v[c+modifiers(a,e,!0)])&&(d=!0),!d&&runFor(v._any)&&(d=!0)),f&&(d=!0),d&&p&&e.stopPropagation(),d}class RectangleMarker{constructor(t,e,i,n,o){this.className=t,this.left=e,this.top=i,this.width=n,this.height=o}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}update(t,e){return e.className==this.className&&(this.adjust(t),!0)}adjust(t){t.style.left=this.left+"px",t.style.top=this.top+"px",null!=this.width&&(t.style.width=this.width+"px"),t.style.height=this.height+"px"}eq(t){return this.left==t.left&&this.top==t.top&&this.width==t.width&&this.height==t.height&&this.className==t.className}static forRange(t,e,i){if(i.empty){let n=t.coordsAtPos(i.head,i.assoc||1);if(!n)return[];let o=getBase(t);return[new RectangleMarker(e,n.left-o.left,n.top-o.top,null,n.bottom-n.top)]}return function rectanglesForRange(t,e,i){if(i.to<=t.viewport.from||i.from>=t.viewport.to)return[];let n=Math.max(i.from,t.viewport.from),o=Math.min(i.to,t.viewport.to),s=t.textDirection==k.LTR,a=t.contentDOM,l=a.getBoundingClientRect(),h=getBase(t),c=a.querySelector(".cm-line"),d=c&&window.getComputedStyle(c),f=l.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),p=l.right-(d?parseInt(d.paddingRight):0),m=blockAt(t,n),g=blockAt(t,o),O=m.type==P.Text?m:null,v=g.type==P.Text?g:null;O&&(t.lineWrapping||m.widgetLineBreaks)&&(O=wrappedLine(t,n,O));v&&(t.lineWrapping||g.widgetLineBreaks)&&(v=wrappedLine(t,o,v));if(O&&v&&O.from==v.from)return pieces(drawForLine(i.from,i.to,O));{let e=O?drawForLine(i.from,null,O):drawForWidget(m,!1),n=v?drawForLine(null,i.to,v):drawForWidget(g,!0),o=[];return(O||m).to<(v||g).from-(O&&v?1:0)||m.widgetLineBreaks>1&&e.bottom+t.defaultLineHeight/2<n.top?o.push(piece(f,e.bottom,p,n.top)):e.bottom<n.top&&t.elementAtHeight((e.bottom+n.top)/2).type==P.Text&&(e.bottom=n.top=(e.bottom+n.top)/2),pieces(e).concat(o).concat(pieces(n))}function piece(t,i,n,o){return new RectangleMarker(e,t-h.left,i-h.top-.01,n-t,o-i+.01)}function pieces({top:t,bottom:e,horizontal:i}){let n=[];for(let o=0;o<i.length;o+=2)n.push(piece(i[o],t,i[o+1],e));return n}function drawForLine(e,i,n){let o=1e9,a=-1e9,l=[];function addSpan(e,i,h,c,d){let m=t.coordsAtPos(e,e==n.to?-2:2),g=t.coordsAtPos(h,h==n.from?2:-2);m&&g&&(o=Math.min(m.top,g.top,o),a=Math.max(m.bottom,g.bottom,a),d==k.LTR?l.push(s&&i?f:m.left,s&&c?p:g.right):l.push(!s&&c?f:g.left,!s&&i?p:m.right))}let h=null!=e?e:n.from,c=null!=i?i:n.to;for(let n of t.visibleRanges)if(n.to>h&&n.from<c)for(let o=Math.max(n.from,h),s=Math.min(n.to,c);;){let n=t.state.doc.lineAt(o);for(let a of t.bidiSpans(n)){let t=a.from+n.from,l=a.to+n.from;if(t>=s)break;l>o&&addSpan(Math.max(t,o),null==e&&t<=h,Math.min(l,s),null==i&&l>=c,a.dir)}if(o=n.to+1,o>=s)break}return 0==l.length&&addSpan(h,null==e,c,null==i,t.textDirection),{top:o,bottom:a,horizontal:l}}function drawForWidget(t,e){let i=l.top+(e?t.top:t.bottom);return{top:i,bottom:i,horizontal:[]}}}(t,e,i)}}function getBase(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==k.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function wrappedLine(t,e,i){let o=n.OF.cursor(e);return{from:Math.max(i.from,t.moveToLineBoundary(o,!1,!0).from),to:Math.min(i.to,t.moveToLineBoundary(o,!0,!0).from),type:P.Text}}class LayerView{constructor(t,e){this.view=t,this.layer=e,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),e.above&&this.dom.classList.add("cm-layer-above"),e.class&&this.dom.classList.add(e.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),e.mount&&e.mount(this.dom,t)}update(t){t.startState.facet(Vt)!=t.state.facet(Vt)&&this.setOrder(t.state),(this.layer.update(t,this.dom)||t.geometryChanged)&&(this.scale(),t.view.requestMeasure(this.measureReq))}docViewUpdate(t){!1!==this.layer.updateOnDocViewUpdate&&t.requestMeasure(this.measureReq)}setOrder(t){let e=0,i=t.facet(Vt);for(;e<i.length&&i[e]!=this.layer;)e++;this.dom.style.zIndex=String((this.layer.above?150:-1)-e)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:t,scaleY:e}=this.view;t==this.scaleX&&e==this.scaleY||(this.scaleX=t,this.scaleY=e,this.dom.style.transform=`scale(${1/t}, ${1/e})`)}draw(t){if(t.length!=this.drawn.length||t.some(((t,e)=>!function sameMarker(t,e){return t.constructor==e.constructor&&t.eq(e)}(t,this.drawn[e])))){let e=this.dom.firstChild,i=0;for(let n of t)n.update&&e&&n.constructor&&this.drawn[i].constructor&&n.update(e,this.drawn[i])?(e=e.nextSibling,i++):this.dom.insertBefore(n.draw(),e);for(;e;){let t=e.nextSibling;e.remove(),e=t}this.drawn=t}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Vt=n.sj.define();function layer(t){return[ViewPlugin.define((e=>new LayerView(e,t))),Vt.of(t)]}const Xt=!_.ios,Nt=n.sj.define({combine:t=>(0,n.QR)(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(t,e)=>Math.min(t,e),drawRangeCursor:(t,e)=>t||e})});function drawSelection(t={}){return[Nt.of(t),jt,qt,Ut,j.of(!0)]}function getDrawSelectionConfig(t){return t.facet(Nt)}function configChanged(t){return t.startState.facet(Nt)!=t.state.facet(Nt)}const jt=layer({above:!0,markers(t){let{state:e}=t,i=e.facet(Nt),o=[];for(let s of e.selection.ranges){let a=s==e.selection.main;if(s.empty?!a||Xt:i.drawRangeCursor){let e=a?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=s.empty?s:n.OF.cursor(s.head,s.head>s.anchor?-1:1);for(let n of RectangleMarker.forRange(t,e,i))o.push(n)}}return o},update(t,e){t.transactions.some((t=>t.selection))&&(e.style.animationName="cm-blink"==e.style.animationName?"cm-blink2":"cm-blink");let i=configChanged(t);return i&&setBlinkRate(t.state,e),t.docChanged||t.selectionSet||i},mount(t,e){setBlinkRate(e.state,t)},class:"cm-cursorLayer"});function setBlinkRate(t,e){e.style.animationDuration=t.facet(Nt).cursorBlinkRate+"ms"}const qt=layer({above:!1,markers:t=>t.state.selection.ranges.map((e=>e.empty?[]:RectangleMarker.forRange(t,"cm-selectionBackground",e))).reduce(((t,e)=>t.concat(e))),update:(t,e)=>t.docChanged||t.selectionSet||t.viewportChanged||configChanged(t),class:"cm-selectionLayer"}),Yt={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};Xt&&(Yt[".cm-line"].caretColor="transparent !important",Yt[".cm-content"]={caretColor:"transparent !important"});const Ut=n.Nb.highest(EditorView.theme(Yt)),Gt=n.Pe.define({map:(t,e)=>null==t?null:e.mapPos(t)}),Ft=n.sU.define({create:()=>null,update:(t,e)=>(null!=t&&(t=e.changes.mapPos(t)),e.effects.reduce(((t,e)=>e.is(Gt)?e.value:t),t))}),Ht=ViewPlugin.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let i=t.state.field(Ft);null==i?null!=this.cursor&&(null===(e=this.cursor)||void 0===e||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(t.startState.field(Ft)!=i||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(Ft),i=null!=e&&t.coordsAtPos(e);if(!i)return null;let n=t.scrollDOM.getBoundingClientRect();return{left:i.left-n.left+t.scrollDOM.scrollLeft*t.scaleX,top:i.top-n.top+t.scrollDOM.scrollTop*t.scaleY,height:i.bottom-i.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:i}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/i+"px",this.cursor.style.height=t.height/i+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(Ft)!=t&&this.view.dispatch({effects:Gt.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){t.target!=this.view.contentDOM&&this.view.contentDOM.contains(t.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function dropCursor(){return[Ft,Ht]}function iterMatches(t,e,i,n,o){e.lastIndex=0;for(let s,a=t.iterRange(i,n),l=i;!a.next().done;l+=a.value.length)if(!a.lineBreak)for(;s=e.exec(a.value);)o(l+s.index,s)}class MatchDecorator{constructor(t){const{regexp:e,decoration:i,decorate:n,boundary:o,maxLength:s=1e3}=t;if(!e.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=e,n)this.addMatch=(t,e,i,o)=>n(o,i,i+t[0].length,t,e);else if("function"==typeof i)this.addMatch=(t,e,n,o)=>{let s=i(t,e,n);s&&o(n,n+t[0].length,s)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(t,e,n,o)=>o(n,n+t[0].length,i)}this.boundary=o,this.maxLength=s}createDeco(t){let e=new n.vB,i=e.add.bind(e);for(let{from:e,to:n}of function matchRanges(t,e){let i=t.visibleRanges;if(1==i.length&&i[0].from==t.viewport.from&&i[0].to==t.viewport.to)return i;let n=[];for(let{from:o,to:s}of i)o=Math.max(t.state.doc.lineAt(o).from,o-e),s=Math.min(t.state.doc.lineAt(s).to,s+e),n.length&&n[n.length-1].to>=o?n[n.length-1].to=s:n.push({from:o,to:s});return n}(t,this.maxLength))iterMatches(t.state.doc,this.regexp,e,n,((e,n)=>this.addMatch(n,t,e,i)));return e.finish()}updateDeco(t,e){let i=1e9,n=-1;return t.docChanged&&t.changes.iterChanges(((e,o,s,a)=>{a>t.view.viewport.from&&s<t.view.viewport.to&&(i=Math.min(s,i),n=Math.max(a,n))})),t.viewportChanged||n-i>1e3?this.createDeco(t.view):n>-1?this.updateRange(t.view,e.map(t.changes),i,n):e}updateRange(t,e,i,n){for(let o of t.visibleRanges){let s=Math.max(o.from,i),a=Math.min(o.to,n);if(a>s){let i=t.state.doc.lineAt(s),n=i.to<a?t.state.doc.lineAt(a):i,l=Math.max(o.from,i.from),h=Math.min(o.to,n.to);if(this.boundary){for(;s>i.from;s--)if(this.boundary.test(i.text[s-1-i.from])){l=s;break}for(;a<n.to;a++)if(this.boundary.test(n.text[a-n.from])){h=a;break}}let c,d=[],add=(t,e,i)=>d.push(i.range(t,e));if(i==n)for(this.regexp.lastIndex=l-i.from;(c=this.regexp.exec(i.text))&&c.index<h-i.from;)this.addMatch(c,t,c.index+i.from,add);else iterMatches(t.state.doc,this.regexp,l,h,((e,i)=>this.addMatch(i,t,e,add)));e=e.update({filterFrom:l,filterTo:h,filter:(t,e)=>t<l||e>h,add:d})}}return e}}const Kt=null!=/x/.unicode?"gu":"g",Jt=new RegExp("[\0-\b\n--\u2028\u2029\ufeff-]",Kt),te={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let ee=null;const ie=n.sj.define({combine(t){let e=(0,n.QR)(t,{render:null,specialChars:Jt,addSpecialChars:null});return(e.replaceTabs=!function supportsTabSize(){var t;if(null==ee&&"undefined"!=typeof document&&document.body){let e=document.body.style;ee=null!=(null!==(t=e.tabSize)&&void 0!==t?t:e.MozTabSize)}return ee||!1}())&&(e.specialChars=new RegExp("\t|"+e.specialChars.source,Kt)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Kt)),e}});function highlightSpecialChars(t={}){return[ie.of(t),ne||(ne=ViewPlugin.fromClass(class{constructor(t){this.view=t,this.decorations=Decoration.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(ie)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new MatchDecorator({regexp:t.specialChars,decoration:(e,i,o)=>{let{doc:s}=i.state,a=(0,n.vS)(e[0],0);if(9==a){let t=s.lineAt(o),e=i.state.tabSize,a=(0,n.y$)(t.text,e,o-t.from);return Decoration.replace({widget:new TabWidget((e-a%e)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[a]||(this.decorationCache[a]=Decoration.replace({widget:new SpecialCharWidget(t,a)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(ie);t.startState.facet(ie)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))]}let ne=null;class SpecialCharWidget extends WidgetType{constructor(t,e){super(),this.options=t,this.code=e}eq(t){return t.code==this.code}toDOM(t){let e=function placeholder$1(t){return t>=32?"•":10==t?"":String.fromCharCode(9216+t)}(this.code),i=t.state.phrase("Control character")+" "+(te[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,i,e);if(n)return n;let o=document.createElement("span");return o.textContent=e,o.title=i,o.setAttribute("aria-label",i),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class TabWidget extends WidgetType{constructor(t){super(),this.width=t}eq(t){return t.width==this.width}toDOM(){let t=document.createElement("span");return t.textContent="\t",t.className="cm-tab",t.style.width=this.width+"px",t}ignoreEvent(){return!1}}const oe=ViewPlugin.fromClass(class{constructor(){this.height=1e3,this.attrs={style:"padding-bottom: 1000px"}}update(t){let{view:e}=t,i=e.viewState.editorHeight-e.defaultLineHeight-e.documentPadding.top-.5;i>=0&&i!=this.height&&(this.height=i,this.attrs={style:`padding-bottom: ${i}px`})}});function scrollPastEnd(){return[oe,J.of((t=>{var e;return(null===(e=t.plugin(oe))||void 0===e?void 0:e.attrs)||null}))]}function highlightActiveLine(){return se}const re=Decoration.line({class:"cm-activeLine"}),se=ViewPlugin.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,i=[];for(let n of t.state.selection.ranges){let o=t.lineBlockAt(n.head);o.from>e&&(i.push(re.range(o.from)),e=o.from)}return Decoration.set(i)}},{decorations:t=>t.decorations});class Placeholder extends WidgetType{constructor(t){super(),this.content=t}toDOM(){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?t.setAttribute("aria-label","placeholder "+this.content):t.setAttribute("aria-hidden","true"),t}coordsAt(t){let e=t.firstChild?clientRectsFor(t.firstChild):[];if(!e.length)return null;let i=window.getComputedStyle(t.parentNode),n=flattenRect(e[0],"rtl"!=i.direction),o=parseInt(i.lineHeight);return n.bottom-n.top>1.5*o?{left:n.left,right:n.right,top:n.top,bottom:n.top+o}:n}ignoreEvent(){return!1}}function placeholder(t){return ViewPlugin.fromClass(class{constructor(e){this.view=e,this.placeholder=t?Decoration.set([Decoration.widget({widget:new Placeholder(t),side:1}).range(0)]):Decoration.none}get decorations(){return this.view.state.doc.length?Decoration.none:this.placeholder}},{decorations:t=>t.decorations})}const ae=2e3;function getPos(t,e){let i=t.posAtCoords({x:e.clientX,y:e.clientY},!1),o=t.state.doc.lineAt(i),s=i-o.from,a=s>ae?-1:s==o.length?function absoluteColumn(t,e){let i=t.coordsAtPos(t.viewport.from);return i?Math.round(Math.abs((i.left-e)/t.defaultCharacterWidth)):-1}(t,e.clientX):(0,n.y$)(o.text,t.state.tabSize,i-o.from);return{line:o.number,col:a,off:s}}function rectangleSelectionStyle(t,e){let i=getPos(t,e),o=t.state.selection;return i?{update(t){if(t.docChanged){let e=t.changes.mapPos(t.startState.doc.line(i.line).from),n=t.state.doc.lineAt(e);i={line:n.number,col:i.col,off:Math.min(i.off,n.length)},o=o.map(t.changes)}},get(e,s,a){let l=getPos(t,e);if(!l)return o;let h=function rectangleFor(t,e,i){let o=Math.min(e.line,i.line),s=Math.max(e.line,i.line),a=[];if(e.off>ae||i.off>ae||e.col<0||i.col<0){let l=Math.min(e.off,i.off),h=Math.max(e.off,i.off);for(let e=o;e<=s;e++){let i=t.doc.line(e);i.length<=h&&a.push(n.OF.range(i.from+l,i.to+h))}}else{let l=Math.min(e.col,i.col),h=Math.max(e.col,i.col);for(let e=o;e<=s;e++){let i=t.doc.line(e),o=(0,n.kn)(i.text,l,t.tabSize,!0);if(o<0)a.push(n.OF.cursor(i.to));else{let e=(0,n.kn)(i.text,h,t.tabSize);a.push(n.OF.range(i.from+o,i.from+e))}}}return a}(t.state,i,l);return h.length?a?n.OF.create(h.concat(o.ranges)):n.OF.create(h):o}}:null}function rectangularSelection(t){let e=(null==t?void 0:t.eventFilter)||(t=>t.altKey&&0==t.button);return EditorView.mouseSelectionStyle.of(((t,i)=>e(i)?rectangleSelectionStyle(t,i):null))}const le={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},he={style:"cursor: crosshair"};function crosshairCursor(t={}){let[e,i]=le[t.key||"Alt"],n=ViewPlugin.fromClass(class{constructor(t){this.view=t,this.isDown=!1}set(t){this.isDown!=t&&(this.isDown=t,this.view.update([]))}},{eventObservers:{keydown(t){this.set(t.keyCode==e||i(t))},keyup(t){t.keyCode!=e&&i(t)||this.set(!1)},mousemove(t){this.set(i(t))}}});return[n,EditorView.contentAttributes.of((t=>{var e;return(null===(e=t.plugin(n))||void 0===e?void 0:e.isDown)?he:null}))]}const ce="-10000px";class TooltipViewManager{constructor(t,e,i,n){this.facet=e,this.createTooltipView=i,this.removeTooltipView=n,this.input=t.state.facet(e),this.tooltips=this.input.filter((t=>t));let o=null;this.tooltipViews=this.tooltips.map((t=>o=i(t,o)))}update(t,e){var i;let n=t.state.facet(this.facet),o=n.filter((t=>t));if(n===this.input){for(let e of this.tooltipViews)e.update&&e.update(t);return!1}let s=[],a=e?[]:null;for(let i=0;i<o.length;i++){let n=o[i],l=-1;if(n){for(let t=0;t<this.tooltips.length;t++){let e=this.tooltips[t];e&&e.create==n.create&&(l=t)}if(l<0)s[i]=this.createTooltipView(n,i?s[i-1]:null),a&&(a[i]=!!n.above);else{let n=s[i]=this.tooltipViews[l];a&&(a[i]=e[l]),n.update&&n.update(t)}}}for(let t of this.tooltipViews)s.indexOf(t)<0&&(this.removeTooltipView(t),null===(i=t.destroy)||void 0===i||i.call(t));return e&&(a.forEach(((t,i)=>e[i]=t)),e.length=a.length),this.input=n,this.tooltips=o,this.tooltipViews=s,!0}}function tooltips(t={}){return de.of(t)}function windowSpace(t){let{win:e}=t;return{top:0,left:0,bottom:e.innerHeight,right:e.innerWidth}}const de=n.sj.define({combine:t=>{var e,i,n;return{position:_.ios?"absolute":(null===(e=t.find((t=>t.position)))||void 0===e?void 0:e.position)||"fixed",parent:(null===(i=t.find((t=>t.parent)))||void 0===i?void 0:i.parent)||null,tooltipSpace:(null===(n=t.find((t=>t.tooltipSpace)))||void 0===n?void 0:n.tooltipSpace)||windowSpace}}}),ue=new WeakMap,fe=ViewPlugin.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(de);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver((()=>this.measureSoon())):null,this.manager=new TooltipViewManager(t,ge,((t,e)=>this.createTooltip(t,e)),(t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()})),this.above=this.manager.tooltips.map((t=>!!t.above)),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver((t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout((()=>{this.measureTimeout=-1,this.maybeMeasure()}),50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let i=e||t.geometryChanged,n=t.state.facet(de);if(n.position!=this.position&&!this.madeAbsolute){this.position=n.position;for(let t of this.manager.tooltipViews)t.dom.style.position=this.position;i=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let t of this.manager.tooltipViews)this.container.appendChild(t.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(t,e){let i=t.create(this.view),n=e?e.dom:null;if(i.dom.classList.add("cm-tooltip"),t.arrow&&!i.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let t=document.createElement("div");t.className="cm-tooltip-arrow",i.dom.appendChild(t)}return i.dom.style.position=this.position,i.dom.style.top=ce,i.dom.style.left="0px",this.container.insertBefore(i.dom,n),i.mount&&i.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(i.dom),i}destroy(){var t,e,i;this.view.win.removeEventListener("resize",this.measureSoon);for(let e of this.manager.tooltipViews)e.dom.remove(),null===(t=e.destroy)||void 0===t||t.call(e);this.parent&&this.container.remove(),null===(e=this.resizeObserver)||void 0===e||e.disconnect(),null===(i=this.intersectionObserver)||void 0===i||i.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=this.view.dom.getBoundingClientRect(),e=1,i=1,n=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:t}=this.manager.tooltipViews[0];if(_.gecko)n=t.offsetParent!=this.container.ownerDocument.body;else if(t.style.top==ce&&"0px"==t.style.left){let e=t.getBoundingClientRect();n=Math.abs(e.top+1e4)>1||Math.abs(e.left)>1}}if(n||"absolute"==this.position)if(this.parent){let t=this.parent.getBoundingClientRect();t.width&&t.height&&(e=t.width/this.parent.offsetWidth,i=t.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:i}=this.view.viewState);return{editor:t,parent:this.parent?this.container.getBoundingClientRect():t,pos:this.manager.tooltips.map(((t,e)=>{let i=this.manager.tooltipViews[e];return i.getCoords?i.getCoords(t.pos):this.view.coordsAtPos(t.pos)})),size:this.manager.tooltipViews.map((({dom:t})=>t.getBoundingClientRect())),space:this.view.state.facet(de).tooltipSpace(this.view),scaleX:e,scaleY:i,makeAbsolute:n}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let t of this.manager.tooltipViews)t.dom.style.position="absolute"}let{editor:i,space:n,scaleX:o,scaleY:s}=t,a=[];for(let l=0;l<this.manager.tooltips.length;l++){let h=this.manager.tooltips[l],c=this.manager.tooltipViews[l],{dom:d}=c,f=t.pos[l],p=t.size[l];if(!f||f.bottom<=Math.max(i.top,n.top)||f.top>=Math.min(i.bottom,n.bottom)||f.right<Math.max(i.left,n.left)-.1||f.left>Math.min(i.right,n.right)+.1){d.style.top=ce;continue}let m=h.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,g=m?7:0,O=p.right-p.left,v=null!==(e=ue.get(c))&&void 0!==e?e:p.bottom-p.top,y=c.offset||me,b=this.view.textDirection==k.LTR,x=p.width>n.right-n.left?b?n.left:n.right-p.width:b?Math.min(f.left-(m?14:0)+y.x,n.right-O):Math.max(n.left,f.left-O+(m?14:0)-y.x),_=this.above[l];!h.strictSide&&(_?f.top-(p.bottom-p.top)-y.y<n.top:f.bottom+(p.bottom-p.top)+y.y>n.bottom)&&_==n.bottom-f.bottom>f.top-n.top&&(_=this.above[l]=!_);let S=(_?f.top-n.top:n.bottom-f.bottom)-g;if(S<v&&!1!==c.resize){if(S<this.view.defaultLineHeight){d.style.top=ce;continue}ue.set(c,v),d.style.height=(v=S)/s+"px"}else d.style.height&&(d.style.height="");let P=_?f.top-v-g-y.y:f.bottom+g+y.y,C=x+O;if(!0!==c.overlap)for(let t of a)t.left<C&&t.right>x&&t.top<P+v&&t.bottom>P&&(P=_?t.top-v-2-g:t.bottom+g+2);if("absolute"==this.position?(d.style.top=(P-t.parent.top)/s+"px",d.style.left=(x-t.parent.left)/o+"px"):(d.style.top=P/s+"px",d.style.left=x/o+"px"),m){let t=f.left+(b?y.x:-y.x)-(x+14-7);m.style.left=t/o+"px"}!0!==c.overlap&&a.push({left:x,top:P,right:C,bottom:P+v}),d.classList.toggle("cm-tooltip-above",_),d.classList.toggle("cm-tooltip-below",!_),c.positioned&&c.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=ce}},{eventObservers:{scroll(){this.maybeMeasure()}}}),pe=EditorView.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),me={x:0,y:0},ge=n.sj.define({enables:[fe,pe]}),Oe=n.sj.define({combine:t=>t.reduce(((t,e)=>t.concat(e)),[])});class HoverTooltipHost{static create(t){return new HoverTooltipHost(t)}constructor(t){this.view=t,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new TooltipViewManager(t,Oe,((t,e)=>this.createHostedView(t,e)),(t=>t.dom.remove()))}createHostedView(t,e){let i=t.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,e?e.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(t){for(let e of this.manager.tooltipViews)e.mount&&e.mount(t);this.mounted=!0}positioned(t){for(let e of this.manager.tooltipViews)e.positioned&&e.positioned(t)}update(t){this.manager.update(t)}destroy(){var t;for(let e of this.manager.tooltipViews)null===(t=e.destroy)||void 0===t||t.call(e)}passProp(t){let e;for(let i of this.manager.tooltipViews){let n=i[t];if(void 0!==n)if(void 0===e)e=n;else if(e!==n)return}return e}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const ve=ge.compute([Oe],(t=>{let e=t.facet(Oe);return 0===e.length?null:{pos:Math.min(...e.map((t=>t.pos))),end:Math.max(...e.map((t=>{var e;return null!==(e=t.end)&&void 0!==e?e:t.pos}))),create:HoverTooltipHost.create,above:e[0].above,arrow:e.some((t=>t.arrow))}}));class HoverPlugin{constructor(t,e,i,n,o){this.view=t,this.source=e,this.field=i,this.setHover=n,this.hoverTime=o,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:t.dom,time:0},this.checkHover=this.checkHover.bind(this),t.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),t.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout((()=>this.startHover()),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let t=Date.now()-this.lastMove.time;t<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-t):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:t,lastMove:e}=this,i=t.docView.nearest(e.target);if(!i)return;let n,o=1;if(i instanceof WidgetView)n=i.posAtStart;else{if(n=t.posAtCoords(e),null==n)return;let i=t.coordsAtPos(n);if(!i||e.y<i.top||e.y>i.bottom||e.x<i.left-t.defaultCharacterWidth||e.x>i.right+t.defaultCharacterWidth)return;let s=t.bidiSpans(t.state.doc.lineAt(n)).find((t=>t.from<=n&&t.to>=n)),a=s&&s.dir==k.RTL?-1:1;o=e.x<i.left?-a:a}let s=this.source(t,n,o);if(null==s?void 0:s.then){let e=this.pending={pos:n};s.then((i=>{this.pending==e&&(this.pending=null,!i||Array.isArray(i)&&!i.length||t.dispatch({effects:this.setHover.of(Array.isArray(i)?i:[i])}))}),(e=>logException(t.state,e,"hover tooltip")))}else!s||Array.isArray(s)&&!s.length||t.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let t=this.view.plugin(fe),e=t?t.manager.tooltips.findIndex((t=>t.create==HoverTooltipHost.create)):-1;return e>-1?t.manager.tooltipViews[e]:null}mousemove(t){var e,i;this.lastMove={x:t.clientX,y:t.clientY,target:t.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:n,tooltip:o}=this;if(n.length&&o&&!function isInTooltip(t,e){let i=t.getBoundingClientRect();return e.clientX>=i.left-ye&&e.clientX<=i.right+ye&&e.clientY>=i.top-ye&&e.clientY<=i.bottom+ye}(o.dom,t)||this.pending){let{pos:o}=n[0]||this.pending,s=null!==(i=null===(e=n[0])||void 0===e?void 0:e.end)&&void 0!==i?i:o;(o==s?this.view.posAtCoords(this.lastMove)==o:function isOverRange(t,e,i,n,o,s){let a=t.scrollDOM.getBoundingClientRect(),l=t.documentTop+t.documentPadding.top+t.contentHeight;if(a.left>n||a.right<n||a.top>o||Math.min(a.bottom,l)<o)return!1;let h=t.posAtCoords({x:n,y:o},!1);return h>=e&&h<=i}(this.view,o,s,t.clientX,t.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(t){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:e}=this;if(e.length){let{tooltip:e}=this;e&&e.dom.contains(t.relatedTarget)?this.watchTooltipLeave(e.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(t){let watch=e=>{t.removeEventListener("mouseleave",watch),this.active.length&&!this.view.dom.contains(e.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};t.addEventListener("mouseleave",watch)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const ye=4;function hoverTooltip(t,e={}){let i=n.Pe.define(),o=n.sU.define({create:()=>[],update(t,o){if(t.length&&(e.hideOnChange&&(o.docChanged||o.selection)?t=[]:e.hideOn&&(t=t.filter((t=>!e.hideOn(o,t)))),o.docChanged)){let e=[];for(let i of t){let t=o.changes.mapPos(i.pos,-1,n.iR.TrackDel);if(null!=t){let n=Object.assign(Object.create(null),i);n.pos=t,null!=n.end&&(n.end=o.changes.mapPos(n.end)),e.push(n)}}t=e}for(let e of o.effects)e.is(i)&&(t=e.value),e.is(we)&&(t=[]);return t},provide:t=>Oe.from(t)});return[o,ViewPlugin.define((n=>new HoverPlugin(n,t,o,i,e.hoverTime||300))),ve]}function getTooltip(t,e){let i=t.plugin(fe);if(!i)return null;let n=i.manager.tooltips.indexOf(e);return n<0?null:i.manager.tooltipViews[n]}function hasHoverTooltips(t){return t.facet(Oe).some((t=>t))}const we=n.Pe.define(),be=we.of(null);function repositionTooltips(t){let e=t.plugin(fe);e&&e.maybeMeasure()}const xe=n.sj.define({combine(t){let e,i;for(let n of t)e=e||n.topContainer,i=i||n.bottomContainer;return{topContainer:e,bottomContainer:i}}});function panels(t){return t?[xe.of(t)]:[]}function getPanel(t,e){let i=t.plugin(_e),n=i?i.specs.indexOf(e):-1;return n>-1?i.panels[n]:null}const _e=ViewPlugin.fromClass(class{constructor(t){this.input=t.state.facet(Se),this.specs=this.input.filter((t=>t)),this.panels=this.specs.map((e=>e(t)));let e=t.state.facet(xe);this.top=new PanelGroup(t,!0,e.topContainer),this.bottom=new PanelGroup(t,!1,e.bottomContainer),this.top.sync(this.panels.filter((t=>t.top))),this.bottom.sync(this.panels.filter((t=>!t.top)));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(t){let e=t.state.facet(xe);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new PanelGroup(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new PanelGroup(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=t.state.facet(Se);if(i!=this.input){let e=i.filter((t=>t)),n=[],o=[],s=[],a=[];for(let i of e){let e,l=this.specs.indexOf(i);l<0?(e=i(t.view),a.push(e)):(e=this.panels[l],e.update&&e.update(t)),n.push(e),(e.top?o:s).push(e)}this.specs=e,this.panels=n,this.top.sync(o),this.bottom.sync(s);for(let t of a)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}else for(let e of this.panels)e.update&&e.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>EditorView.scrollMargins.of((e=>{let i=e.plugin(t);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}}))});class PanelGroup{constructor(t,e,i){this.view=t,this.top=e,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(t){for(let e of this.panels)e.destroy&&t.indexOf(e)<0&&e.destroy();this.panels=t,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let t=this.dom.firstChild;for(let e of this.panels)if(e.dom.parentNode==this.dom){for(;t!=e.dom;)t=rm(t);t=t.nextSibling}else this.dom.insertBefore(e.dom,t);for(;t;)t=rm(t)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let t of this.classes.split(" "))t&&this.container.classList.remove(t);for(let t of(this.classes=this.view.themeClasses).split(" "))t&&this.container.classList.add(t)}}}function rm(t){let e=t.nextSibling;return t.remove(),e}const Se=n.sj.define({enables:_e});class GutterMarker extends n.FB{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}}GutterMarker.prototype.elementClass="",GutterMarker.prototype.toDOM=void 0,GutterMarker.prototype.mapMode=n.iR.TrackBefore,GutterMarker.prototype.startSide=GutterMarker.prototype.endSide=-1,GutterMarker.prototype.point=!0;const Pe=n.sj.define(),ke={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>n.om.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},Ce=n.sj.define();function gutter(t){return[gutters(),Ce.of(Object.assign(Object.assign({},ke),t))]}const Qe=n.sj.define({combine:t=>t.some((t=>t))});function gutters(t){let e=[Te];return t&&!1===t.fixed&&e.push(Qe.of(!0)),e}const Te=ViewPlugin.fromClass(class{constructor(t){this.view=t,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Ce).map((e=>new SingleGutterView(t,e)));for(let t of this.gutters)this.dom.appendChild(t.dom);this.fixed=!t.state.facet(Qe),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}update(t){if(this.updateGutters(t)){let e=this.prevViewport,i=t.view.viewport,n=Math.min(e.to,i.to)-Math.max(e.from,i.from);this.syncGutters(n<.8*(i.to-i.from))}t.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(Qe)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&this.dom.remove();let i=n.om.iter(this.view.state.facet(Pe),this.view.viewport.from),o=[],s=this.gutters.map((t=>new UpdateContext(t,this.view.viewport,-this.view.documentPadding.top)));for(let t of this.view.viewportLineBlocks)if(o.length&&(o=[]),Array.isArray(t.type)){let e=!0;for(let n of t.type)if(n.type==P.Text&&e){advanceCursor(i,o,n.from);for(let t of s)t.line(this.view,n,o);e=!1}else if(n.widget)for(let t of s)t.widget(this.view,n)}else if(t.type==P.Text){advanceCursor(i,o,t.from);for(let e of s)e.line(this.view,t,o)}else if(t.widget)for(let e of s)e.widget(this.view,t);for(let t of s)t.finish();t&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(t){let e=t.startState.facet(Ce),i=t.state.facet(Ce),o=t.docChanged||t.heightChanged||t.viewportChanged||!n.om.eq(t.startState.facet(Pe),t.state.facet(Pe),t.view.viewport.from,t.view.viewport.to);if(e==i)for(let e of this.gutters)e.update(t)&&(o=!0);else{o=!0;let n=[];for(let o of i){let i=e.indexOf(o);i<0?n.push(new SingleGutterView(this.view,o)):(this.gutters[i].update(t),n.push(this.gutters[i]))}for(let t of this.gutters)t.dom.remove(),n.indexOf(t)<0&&t.destroy();for(let t of n)this.dom.appendChild(t.dom);this.gutters=n}return o}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove()}},{provide:t=>EditorView.scrollMargins.of((e=>{let i=e.plugin(t);return i&&0!=i.gutters.length&&i.fixed?e.textDirection==k.LTR?{left:i.dom.offsetWidth*e.scaleX}:{right:i.dom.offsetWidth*e.scaleX}:null}))});function asArray(t){return Array.isArray(t)?t:[t]}function advanceCursor(t,e,i){for(;t.value&&t.from<=i;)t.from==i&&e.push(t.value),t.next()}class UpdateContext{constructor(t,e,i){this.gutter=t,this.height=i,this.i=0,this.cursor=n.om.iter(t.markers,e.from)}addElement(t,e,i){let{gutter:n}=this,o=(e.top-this.height)/t.scaleY,s=e.height/t.scaleY;if(this.i==n.elements.length){let e=new GutterElement(t,s,o,i);n.elements.push(e),n.dom.appendChild(e.dom)}else n.elements[this.i].update(t,s,o,i);this.height=e.bottom,this.i++}line(t,e,i){let n=[];advanceCursor(this.cursor,n,e.from),i.length&&(n=n.concat(i));let o=this.gutter.config.lineMarker(t,e,n);o&&n.unshift(o);let s=this.gutter;(0!=n.length||s.config.renderEmptyElements)&&this.addElement(t,e,n)}widget(t,e){let i=this.gutter.config.widgetMarker(t,e.widget,e);i&&this.addElement(t,e,[i])}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let e=t.elements.pop();t.dom.removeChild(e.dom),e.destroy()}}}class SingleGutterView{constructor(t,e){this.view=t,this.config=e,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in e.domEventHandlers)this.dom.addEventListener(i,(n=>{let o,s=n.target;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let t=s.getBoundingClientRect();o=(t.top+t.bottom)/2}else o=n.clientY;let a=t.lineBlockAtHeight(o-t.documentTop);e.domEventHandlers[i](t,a,n)&&n.preventDefault()}));this.markers=asArray(e.markers(t)),e.initialSpacer&&(this.spacer=new GutterElement(t,0,0,[e.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(t){let e=this.markers;if(this.markers=asArray(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let e=this.config.updateSpacer(this.spacer.markers[0],t);e!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[e])}let i=t.view.viewport;return!n.om.eq(this.markers,e,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(t)}destroy(){for(let t of this.elements)t.destroy()}}class GutterElement{constructor(t,e,i,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,e,i,n)}update(t,e,i,n){this.height!=e&&(this.height=e,this.dom.style.height=e+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),function sameMarkers(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(!t[i].compare(e[i]))return!1;return!0}(this.markers,n)||this.setMarkers(t,n)}setMarkers(t,e){let i="cm-gutterElement",n=this.dom.firstChild;for(let o=0,s=0;;){let a=s,l=o<e.length?e[o++]:null,h=!1;if(l){let t=l.elementClass;t&&(i+=" "+t);for(let t=s;t<this.markers.length;t++)if(this.markers[t].compare(l)){a=t,h=!0;break}}else a=this.markers.length;for(;s<a;){let t=this.markers[s++];if(t.toDOM){t.destroy(n);let e=n.nextSibling;n.remove(),n=e}}if(!l)break;l.toDOM&&(h?n=n.nextSibling:this.dom.insertBefore(l.toDOM(t),n)),h&&s++}this.dom.className=i,this.markers=e}destroy(){this.setMarkers(null,[])}}const $e=n.sj.define(),Ae=n.sj.define({combine:t=>(0,n.QR)(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(t,e){let i=Object.assign({},t);for(let t in e){let n=i[t],o=e[t];i[t]=n?(t,e,i)=>n(t,e,i)||o(t,e,i):o}return i}})});class NumberMarker extends GutterMarker{constructor(t){super(),this.number=t}eq(t){return this.number==t.number}toDOM(){return document.createTextNode(this.number)}}function formatNumber(t,e){return t.state.facet(Ae).formatNumber(e,t.state)}const Re=Ce.compute([Ae],(t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:t=>t.state.facet($e),lineMarker:(t,e,i)=>i.some((t=>t.toDOM))?null:new NumberMarker(formatNumber(t,t.state.doc.lineAt(e.from).number)),widgetMarker:()=>null,lineMarkerChange:t=>t.startState.facet(Ae)!=t.state.facet(Ae),initialSpacer:t=>new NumberMarker(formatNumber(t,maxLineNumber(t.state.doc.lines))),updateSpacer(t,e){let i=formatNumber(e.view,maxLineNumber(e.view.state.doc.lines));return i==t.number?t:new NumberMarker(i)},domEventHandlers:t.facet(Ae).domEventHandlers})));function lineNumbers(t={}){return[Ae.of(t),gutters(),Re]}function maxLineNumber(t){let e=9;for(;e<t;)e=10*e+9;return e}const Ze=new class extends GutterMarker{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},Me=Pe.compute(["selection"],(t=>{let e=[],i=-1;for(let n of t.selection.ranges){let o=t.doc.lineAt(n.head).from;o>i&&(i=o,e.push(Ze.range(o)))}return n.om.of(e)}));function highlightActiveLineGutter(){return Me}const Le=new Map;function matcher(t){return ViewPlugin.define((e=>({decorations:t.createDeco(e),update(e){this.decorations=t.updateDeco(e,this.decorations)}})),{decorations:t=>t.decorations})}const Ee=matcher(new MatchDecorator({regexp:/\t| +/g,decoration:t=>function getWhitespaceDeco(t){let e=Le.get(t);return e||Le.set(t,e=Decoration.mark({attributes:"\t"===t?{class:"cm-highlightTab"}:{class:"cm-highlightSpace","data-display":t.replace(/ /g,"·")}})),e}(t[0]),boundary:/\S/}));function highlightWhitespace(){return Ee}const De=matcher(new MatchDecorator({regexp:/\s+$/g,decoration:Decoration.mark({class:"cm-trailingSpace"}),boundary:/\S/}));function highlightTrailingWhitespace(){return De}const ze={HeightMap,HeightOracle,MeasuredHeights,QueryType:bt,ChangedRange,computeOrder,moveVisually}},95900:(t,e,i)=>{"use strict";i.d(e,{$g:()=>parseMixed,PH:()=>Tree,Qj:()=>h,RY:()=>NodeWeakMap,Z6:()=>NodeType,cF:()=>n,fI:()=>NodeSet,iX:()=>Parser,rr:()=>TreeFragment,uY:()=>NodeProp});const n=1024;let o=0;class Range{constructor(t,e){this.from=t,this.to=e}}class NodeProp{constructor(t={}){this.id=o++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(t){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof t&&(t=NodeType.match(t)),e=>{let i=t(e);return void 0===i?null:[this,i]}}}NodeProp.closedBy=new NodeProp({deserialize:t=>t.split(" ")}),NodeProp.openedBy=new NodeProp({deserialize:t=>t.split(" ")}),NodeProp.group=new NodeProp({deserialize:t=>t.split(" ")}),NodeProp.isolate=new NodeProp({deserialize:t=>{if(t&&"rtl"!=t&&"ltr"!=t&&"auto"!=t)throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}}),NodeProp.contextHash=new NodeProp({perNode:!0}),NodeProp.lookAhead=new NodeProp({perNode:!0}),NodeProp.mounted=new NodeProp({perNode:!0});class MountedTree{constructor(t,e,i){this.tree=t,this.overlay=e,this.parser=i}static get(t){return t&&t.props&&t.props[NodeProp.mounted.id]}}const s=Object.create(null);class NodeType{constructor(t,e,i,n=0){this.name=t,this.props=e,this.id=i,this.flags=n}static define(t){let e=t.props&&t.props.length?Object.create(null):s,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(null==t.name?8:0),n=new NodeType(t.name||"",e,t.id,i);if(t.props)for(let i of t.props)if(Array.isArray(i)||(i=i(n)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");e[i[0].id]=i[1]}return n}prop(t){return this.props[t.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(t){if("string"==typeof t){if(this.name==t)return!0;let e=this.prop(NodeProp.group);return!!e&&e.indexOf(t)>-1}return this.id==t}static match(t){let e=Object.create(null);for(let i in t)for(let n of i.split(" "))e[n]=t[i];return t=>{for(let i=t.prop(NodeProp.group),n=-1;n<(i?i.length:0);n++){let o=e[n<0?t.name:i[n]];if(o)return o}}}}NodeType.none=new NodeType("",Object.create(null),0,8);class NodeSet{constructor(t){this.types=t;for(let e=0;e<t.length;e++)if(t[e].id!=e)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...t){let e=[];for(let i of this.types){let n=null;for(let e of t){let t=e(i);t&&(n||(n=Object.assign({},i.props)),n[t[0].id]=t[1])}e.push(n?new NodeType(i.name,n,i.id,i.flags):i)}return new NodeSet(e)}}const a=new WeakMap,l=new WeakMap;var h;!function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays"}(h||(h={}));class Tree{constructor(t,e,i,n,o){if(this.type=t,this.children=e,this.positions=i,this.length=n,this.props=null,o&&o.length){this.props=Object.create(null);for(let[t,e]of o)this.props["number"==typeof t?t:t.id]=e}}toString(){let t=MountedTree.get(this);if(t&&!t.overlay)return t.tree.toString();let e="";for(let t of this.children){let i=t.toString();i&&(e&&(e+=","),e+=i)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(e.length?"("+e+")":""):e}cursor(t=0){return new TreeCursor(this.topNode,t)}cursorAt(t,e=0,i=0){let n=a.get(this)||this.topNode,o=new TreeCursor(n);return o.moveTo(t,e),a.set(this,o._tree),o}get topNode(){return new TreeNode(this,0,0,null)}resolve(t,e=0){let i=resolveNode(a.get(this)||this.topNode,t,e,!1);return a.set(this,i),i}resolveInner(t,e=0){let i=resolveNode(l.get(this)||this.topNode,t,e,!0);return l.set(this,i),i}resolveStack(t,e=0){return function stackIterator(t,e,i){let n=t.resolveInner(e,i),o=null;for(let t=n instanceof TreeNode?n:n.context.parent;t;t=t.parent)if(t.index<0){let s=t.parent;(o||(o=[n])).push(s.resolve(e,i)),t=s}else{let s=MountedTree.get(t.tree);if(s&&s.overlay&&s.overlay[0].from<=e&&s.overlay[s.overlay.length-1].to>=e){let a=new TreeNode(s.tree,s.overlay[0].from+t.from,-1,t);(o||(o=[n])).push(resolveNode(a,e,i,!1))}}return o?iterStack(o):n}(this,t,e)}iterate(t){let{enter:e,leave:i,from:n=0,to:o=this.length}=t,s=t.mode||0,a=(s&h.IncludeAnonymous)>0;for(let t=this.cursor(s|h.IncludeAnonymous);;){let s=!1;if(t.from<=o&&t.to>=n&&(!a&&t.type.isAnonymous||!1!==e(t))){if(t.firstChild())continue;s=!0}for(;s&&i&&(a||!t.type.isAnonymous)&&i(t),!t.nextSibling();){if(!t.parent())return;s=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let e in this.props)t.push([+e,this.props[e]]);return t}balance(t={}){return this.children.length<=8?this:balanceRange(NodeType.none,this.children,this.positions,0,this.children.length,0,this.length,((t,e,i)=>new Tree(this.type,t,e,i,this.propValues)),t.makeTree||((t,e,i)=>new Tree(NodeType.none,t,e,i)))}static build(t){return function buildTree(t){var e;let{buffer:i,nodeSet:o,maxBufferLength:s=n,reused:a=[],minRepeatType:l=o.types.length}=t,h=Array.isArray(i)?new FlatBufferCursor(i,i.length):i,c=o.types,d=0,f=0;function takeNode(t,e,i,n,p,m){let{id:g,start:O,end:v,size:y}=h,b=f;for(;y<0;){if(h.next(),-1==y){let e=a[g];return i.push(e),void n.push(O-t)}if(-3==y)return void(d=g);if(-4==y)return void(f=g);throw new RangeError(`Unrecognized record size: ${y}`)}let x,_,S=c[g],P=O-t;if(v-O<=s&&(_=findBufferSize(h.pos-e,p))){let e=new Uint16Array(_.size-_.skip),i=h.pos-_.size,n=e.length;for(;h.pos>i;)n=copyToBuffer(_.start,e,n);x=new TreeBuffer(e,v-_.start,o),P=_.start-t}else{let t=h.pos-y;h.next();let e=[],i=[],n=g>=l?g:-1,o=0,a=v;for(;h.pos>t;)n>=0&&h.id==n&&h.size>=0?(h.end<=a-s&&(makeRepeatLeaf(e,i,O,o,h.end,a,n,b),o=e.length,a=h.end),h.next()):m>2500?takeFlatNode(O,t,e,i):takeNode(O,t,e,i,n,m+1);if(n>=0&&o>0&&o<e.length&&makeRepeatLeaf(e,i,O,o,O,a,n,b),e.reverse(),i.reverse(),n>-1&&o>0){let t=makeBalanced(S);x=balanceRange(S,e,i,0,e.length,0,v-O,t,t)}else x=makeTree(S,e,i,v-O,b-v)}i.push(x),n.push(P)}function takeFlatNode(t,e,i,n){let a=[],l=0,c=-1;for(;h.pos>e;){let{id:t,start:e,end:i,size:n}=h;if(n>4)h.next();else{if(c>-1&&e<c)break;c<0&&(c=i-s),a.push(t,e,i),l++,h.next()}}if(l){let e=new Uint16Array(4*l),s=a[a.length-2];for(let t=a.length-3,i=0;t>=0;t-=3)e[i++]=a[t],e[i++]=a[t+1]-s,e[i++]=a[t+2]-s,e[i++]=i;i.push(new TreeBuffer(e,a[2]-s,o)),n.push(s-t)}}function makeBalanced(t){return(e,i,n)=>{let o,s,a=0,l=e.length-1;if(l>=0&&(o=e[l])instanceof Tree){if(!l&&o.type==t&&o.length==n)return o;(s=o.prop(NodeProp.lookAhead))&&(a=i[l]+o.length+s)}return makeTree(t,e,i,n,a)}}function makeRepeatLeaf(t,e,i,n,s,a,l,h){let c=[],d=[];for(;t.length>n;)c.push(t.pop()),d.push(e.pop()+i-s);t.push(makeTree(o.types[l],c,d,a-s,h-a)),e.push(s-i)}function makeTree(t,e,i,n,o=0,s){if(d){let t=[NodeProp.contextHash,d];s=s?[t].concat(s):[t]}if(o>25){let t=[NodeProp.lookAhead,o];s=s?[t].concat(s):[t]}return new Tree(t,e,i,n,s)}function findBufferSize(t,e){let i=h.fork(),n=0,o=0,a=0,c=i.end-s,d={size:0,start:0,skip:0};t:for(let s=i.pos-t;i.pos>s;){let t=i.size;if(i.id==e&&t>=0){d.size=n,d.start=o,d.skip=a,a+=4,n+=4,i.next();continue}let h=i.pos-t;if(t<0||h<s||i.start<c)break;let f=i.id>=l?4:0,p=i.start;for(i.next();i.pos>h;){if(i.size<0){if(-3!=i.size)break t;f+=4}else i.id>=l&&(f+=4);i.next()}o=p,n+=t,a+=f}return(e<0||n==t)&&(d.size=n,d.start=o,d.skip=a),d.size>4?d:void 0}function copyToBuffer(t,e,i){let{id:n,start:o,end:s,size:a}=h;if(h.next(),a>=0&&n<l){let l=i;if(a>4){let n=h.pos-(a-4);for(;h.pos>n;)i=copyToBuffer(t,e,i)}e[--i]=l,e[--i]=s-t,e[--i]=o-t,e[--i]=n}else-3==a?d=n:-4==a&&(f=n);return i}let p=[],m=[];for(;h.pos>0;)takeNode(t.start||0,t.bufferStart||0,p,m,-1,0);let g=null!==(e=t.length)&&void 0!==e?e:p.length?m[0]+p[0].length:0;return new Tree(c[t.topID],p.reverse(),m.reverse(),g)}(t)}}Tree.empty=new Tree(NodeType.none,[],[],0);class FlatBufferCursor{constructor(t,e){this.buffer=t,this.index=e}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new FlatBufferCursor(this.buffer,this.index)}}class TreeBuffer{constructor(t,e,i){this.buffer=t,this.length=e,this.set=i}get type(){return NodeType.none}toString(){let t=[];for(let e=0;e<this.buffer.length;)t.push(this.childString(e)),e=this.buffer[e+3];return t.join(",")}childString(t){let e=this.buffer[t],i=this.buffer[t+3],n=this.set.types[e],o=n.name;if(/\W/.test(o)&&!n.isError&&(o=JSON.stringify(o)),i==(t+=4))return o;let s=[];for(;t<i;)s.push(this.childString(t)),t=this.buffer[t+3];return o+"("+s.join(",")+")"}findChild(t,e,i,n,o){let{buffer:s}=this,a=-1;for(let l=t;l!=e&&!(checkSide(o,n,s[l+1],s[l+2])&&(a=l,i>0));l=s[l+3]);return a}slice(t,e,i){let n=this.buffer,o=new Uint16Array(e-t),s=0;for(let a=t,l=0;a<e;){o[l++]=n[a++],o[l++]=n[a++]-i;let e=o[l++]=n[a++]-i;o[l++]=n[a++]-t,s=Math.max(s,e)}return new TreeBuffer(o,s,this.set)}}function checkSide(t,e,i,n){switch(t){case-2:return i<e;case-1:return n>=e&&i<e;case 0:return i<e&&n>e;case 1:return i<=e&&n>e;case 2:return n>e;case 4:return!0}}function resolveNode(t,e,i,n){for(var o;t.from==t.to||(i<1?t.from>=e:t.from>e)||(i>-1?t.to<=e:t.to<e);){let e=!n&&t instanceof TreeNode&&t.index<0?null:t.parent;if(!e)return t;t=e}let s=n?0:h.IgnoreOverlays;if(n)for(let n=t,a=n.parent;a;n=a,a=n.parent)n instanceof TreeNode&&n.index<0&&(null===(o=a.enter(e,i,s))||void 0===o?void 0:o.from)!=n.from&&(t=a);for(;;){let n=t.enter(e,i,s);if(!n)return t;t=n}}class BaseNode{cursor(t=0){return new TreeCursor(this,t)}getChild(t,e=null,i=null){let n=getChildren(this,t,e,i);return n.length?n[0]:null}getChildren(t,e=null,i=null){return getChildren(this,t,e,i)}resolve(t,e=0){return resolveNode(this,t,e,!1)}resolveInner(t,e=0){return resolveNode(this,t,e,!0)}matchContext(t){return matchNodeContext(this,t)}enterUnfinishedNodesBefore(t){let e=this.childBefore(t),i=this;for(;e;){let t=e.lastChild;if(!t||t.to!=e.to)break;t.type.isError&&t.from==t.to?(i=e,e=t.prevSibling):e=t}return i}get node(){return this}get next(){return this.parent}}class TreeNode extends BaseNode{constructor(t,e,i,n){super(),this._tree=t,this.from=e,this.index=i,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,e,i,n,o=0){for(let s=this;;){for(let{children:a,positions:l}=s._tree,c=e>0?a.length:-1;t!=c;t+=e){let c=a[t],d=l[t]+s.from;if(checkSide(n,i,d,d+c.length))if(c instanceof TreeBuffer){if(o&h.ExcludeBuffers)continue;let a=c.findChild(0,c.buffer.length,e,i-d,n);if(a>-1)return new BufferNode(new BufferContext(s,c,t,d),null,a)}else if(o&h.IncludeAnonymous||!c.type.isAnonymous||hasChild(c)){let a;if(!(o&h.IgnoreMounts)&&(a=MountedTree.get(c))&&!a.overlay)return new TreeNode(a.tree,d,t,s);let l=new TreeNode(c,d,t,s);return o&h.IncludeAnonymous||!l.type.isAnonymous?l:l.nextChild(e<0?c.children.length-1:0,e,i,n)}}if(o&h.IncludeAnonymous||!s.type.isAnonymous)return null;if(t=s.index>=0?s.index+e:e<0?-1:s._parent._tree.children.length,s=s._parent,!s)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}enter(t,e,i=0){let n;if(!(i&h.IgnoreOverlays)&&(n=MountedTree.get(this._tree))&&n.overlay){let i=t-this.from;for(let{from:t,to:o}of n.overlay)if((e>0?t<=i:t<i)&&(e<0?o>=i:o>i))return new TreeNode(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,e,i)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function getChildren(t,e,i,n){let o=t.cursor(),s=[];if(!o.firstChild())return s;if(null!=i)for(let t=!1;!t;)if(t=o.type.is(i),!o.nextSibling())return s;for(;;){if(null!=n&&o.type.is(n))return s;if(o.type.is(e)&&s.push(o.node),!o.nextSibling())return null==n?s:[]}}function matchNodeContext(t,e,i=e.length-1){for(let n=t.parent;i>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[i]&&e[i]!=n.name)return!1;i--}}return!0}class BufferContext{constructor(t,e,i,n){this.parent=t,this.buffer=e,this.index=i,this.start=n}}class BufferNode extends BaseNode{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(t,e,i){super(),this.context=t,this._parent=e,this.index=i,this.type=t.buffer.set.types[t.buffer.buffer[i]]}child(t,e,i){let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],t,e-this.context.start,i);return o<0?null:new BufferNode(this.context,this,o)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}enter(t,e,i=0){if(i&h.ExcludeBuffers)return null;let{buffer:n}=this.context,o=n.findChild(this.index+4,n.buffer[this.index+3],e>0?1:-1,t-this.context.start,e);return o<0?null:new BufferNode(this.context,this,o)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,e=t.buffer[this.index+3];return e<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new BufferNode(this.context,this._parent,e):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,e=this._parent?this._parent.index+4:0;return this.index==e?this.externalSibling(-1):new BufferNode(this.context,this._parent,t.findChild(e,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],e=[],{buffer:i}=this.context,n=this.index+4,o=i.buffer[this.index+3];if(o>n){let s=i.buffer[this.index+1];t.push(i.slice(n,o,s)),e.push(0)}return new Tree(this.type,t,e,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function iterStack(t){if(!t.length)return null;let e=0,i=t[0];for(let n=1;n<t.length;n++){let o=t[n];(o.from>i.from||o.to<i.to)&&(i=o,e=n)}let n=i instanceof TreeNode&&i.index<0?null:i.parent,o=t.slice();return n?o[e]=n:o.splice(e,1),new StackIterator(o,i)}class StackIterator{constructor(t,e){this.heads=t,this.node=e}get next(){return iterStack(this.heads)}}class TreeCursor{get name(){return this.type.name}constructor(t,e=0){if(this.mode=e,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,t instanceof TreeNode)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let e=t._parent;e;e=e._parent)this.stack.unshift(e.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return!!t&&(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0)}yieldBuf(t,e){this.index=t;let{start:i,buffer:n}=this.buffer;return this.type=e||n.set.types[n.buffer[t]],this.from=i+n.buffer[t+1],this.to=i+n.buffer[t+2],!0}yield(t){return!!t&&(t instanceof TreeNode?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,e,i){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,e,i,this.mode));let{buffer:n}=this.buffer,o=n.findChild(this.index+4,n.buffer[this.index+3],t,e-this.buffer.start,i);return!(o<0)&&(this.stack.push(this.index),this.yieldBuf(o))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,e,i=this.mode){return this.buffer?!(i&h.ExcludeBuffers)&&this.enterChild(1,t,e):this.yield(this._tree.enter(t,e,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&h.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&h.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode));let{buffer:e}=this.buffer,i=this.stack.length-1;if(t<0){let t=i<0?0:this.stack[i]+4;if(this.index!=t)return this.yieldBuf(e.findChild(t,this.index,-1,0,4))}else{let t=e.buffer[this.index+3];if(t<(i<0?e.buffer.length:e.buffer[this.stack[i]+3]))return this.yieldBuf(t)}return i<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let e,i,{buffer:n}=this;if(n){if(t>0){if(this.index<n.buffer.buffer.length)return!1}else for(let t=0;t<this.index;t++)if(n.buffer.buffer[t+3]<this.index)return!1;({index:e,parent:i}=n)}else({index:e,_parent:i}=this._tree);for(;i;({index:e,_parent:i}=i))if(e>-1)for(let n=e+t,o=t<0?-1:i._tree.children.length;n!=o;n+=t){let t=i._tree.children[n];if(this.mode&h.IncludeAnonymous||t instanceof TreeBuffer||!t.type.isAnonymous||hasChild(t))return!1}return!0}move(t,e){if(e&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,e=0){for(;(this.from==this.to||(e<1?this.from>=t:this.from>t)||(e>-1?this.to<=t:this.to<t))&&this.parent(););for(;this.enterChild(1,t,e););return this}get node(){if(!this.buffer)return this._tree;let t=this.bufferNode,e=null,i=0;if(t&&t.context==this.buffer)t:for(let n=this.index,o=this.stack.length;o>=0;){for(let s=t;s;s=s._parent)if(s.index==n){if(n==this.index)return s;e=s,i=o+1;break t}n=this.stack[--o]}for(let t=i;t<this.stack.length;t++)e=new BufferNode(this.buffer,e,this.stack[t]);return this.bufferNode=new BufferNode(this.buffer,e,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(t,e){for(let i=0;;){let n=!1;if(this.type.isAnonymous||!1!==t(this)){if(this.firstChild()){i++;continue}this.type.isAnonymous||(n=!0)}for(;n&&e&&e(this),n=this.type.isAnonymous,!this.nextSibling();){if(!i)return;this.parent(),i--,n=!0}}}matchContext(t){if(!this.buffer)return matchNodeContext(this.node,t);let{buffer:e}=this.buffer,{types:i}=e.set;for(let n=t.length-1,o=this.stack.length-1;n>=0;o--){if(o<0)return matchNodeContext(this.node,t,n);let s=i[e.buffer[this.stack[o]]];if(!s.isAnonymous){if(t[n]&&t[n]!=s.name)return!1;n--}}return!0}}function hasChild(t){return t.children.some((t=>t instanceof TreeBuffer||!t.type.isAnonymous||hasChild(t)))}const c=new WeakMap;function nodeSize(t,e){if(!t.isAnonymous||e instanceof TreeBuffer||e.type!=t)return 1;let i=c.get(e);if(null==i){i=1;for(let n of e.children){if(n.type!=t||!(n instanceof Tree)){i=1;break}i+=nodeSize(t,n)}c.set(e,i)}return i}function balanceRange(t,e,i,n,o,s,a,l,h){let c=0;for(let i=n;i<o;i++)c+=nodeSize(t,e[i]);let d=Math.ceil(1.5*c/8),f=[],p=[];return function divide(e,i,n,o,a){for(let l=n;l<o;){let n=l,c=i[l],m=nodeSize(t,e[l]);for(l++;l<o;l++){let i=nodeSize(t,e[l]);if(m+i>=d)break;m+=i}if(l==n+1){if(m>d){let t=e[n];divide(t.children,t.positions,0,t.children.length,i[n]+a);continue}f.push(e[n])}else{let o=i[l-1]+e[l-1].length-c;f.push(balanceRange(t,e,i,n,l,c,o,null,h))}p.push(c+a-s)}}(e,i,n,o,0),(l||h)(f,p,a)}class NodeWeakMap{constructor(){this.map=new WeakMap}setBuffer(t,e,i){let n=this.map.get(t);n||this.map.set(t,n=new Map),n.set(e,i)}getBuffer(t,e){let i=this.map.get(t);return i&&i.get(e)}set(t,e){t instanceof BufferNode?this.setBuffer(t.context.buffer,t.index,e):t instanceof TreeNode&&this.map.set(t.tree,e)}get(t){return t instanceof BufferNode?this.getBuffer(t.context.buffer,t.index):t instanceof TreeNode?this.map.get(t.tree):void 0}cursorSet(t,e){t.buffer?this.setBuffer(t.buffer.buffer,t.index,e):this.map.set(t.tree,e)}cursorGet(t){return t.buffer?this.getBuffer(t.buffer.buffer,t.index):this.map.get(t.tree)}}class TreeFragment{constructor(t,e,i,n,o=!1,s=!1){this.from=t,this.to=e,this.tree=i,this.offset=n,this.open=(o?1:0)|(s?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(t,e=[],i=!1){let n=[new TreeFragment(0,t.length,t,0,!1,i)];for(let i of e)i.to>t.length&&n.push(i);return n}static applyChanges(t,e,i=128){if(!e.length)return t;let n=[],o=1,s=t.length?t[0]:null;for(let a=0,l=0,h=0;;a++){let c=a<e.length?e[a]:null,d=c?c.fromA:1e9;if(d-l>=i)for(;s&&s.from<d;){let e=s;if(l>=e.from||d<=e.to||h){let t=Math.max(e.from,l)-h,i=Math.min(e.to,d)-h;e=t>=i?null:new TreeFragment(t,i,e.tree,e.offset+h,a>0,!!c)}if(e&&n.push(e),s.to>d)break;s=o<t.length?t[o++]:null}if(!c)break;l=c.toA,h=c.toA-c.toB}return n}}class Parser{startParse(t,e,i){return"string"==typeof t&&(t=new StringInput(t)),i=i?i.length?i.map((t=>new Range(t.from,t.to))):[new Range(0,0)]:[new Range(0,t.length)],this.createParse(t,e||[],i)}parse(t,e,i){let n=this.startParse(t,e,i);for(;;){let t=n.advance();if(t)return t}}}class StringInput{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,e){return this.string.slice(t,e)}}function parseMixed(t){return(e,i,n,o)=>new MixedParse(e,t,i,n,o)}class InnerParse{constructor(t,e,i,n,o){this.parser=t,this.parse=e,this.overlay=i,this.target=n,this.from=o}}function checkRanges(t){if(!t.length||t.some((t=>t.from>=t.to)))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(t))}class ActiveOverlay{constructor(t,e,i,n,o,s,a){this.parser=t,this.predicate=e,this.mounts=i,this.index=n,this.start=o,this.target=s,this.prev=a,this.depth=0,this.ranges=[]}}const d=new NodeProp({perNode:!0});class MixedParse{constructor(t,e,i,n,o){this.nest=e,this.input=i,this.fragments=n,this.ranges=o,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=t}advance(){if(this.baseParse){let t=this.baseParse.advance();if(!t)return null;if(this.baseParse=null,this.baseTree=t,this.startInner(),null!=this.stoppedAt)for(let t of this.inner)t.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let t=this.baseTree;return null!=this.stoppedAt&&(t=new Tree(t.type,t.children,t.positions,t.length,t.propValues.concat([[d,this.stoppedAt]]))),t}let t=this.inner[this.innerDone],e=t.parse.advance();if(e){this.innerDone++;let i=Object.assign(Object.create(null),t.target.props);i[NodeProp.mounted.id]=new MountedTree(e,t.overlay,t.parser),t.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let t=this.input.length;for(let e=this.innerDone;e<this.inner.length;e++)this.inner[e].from<t&&(t=Math.min(t,this.inner[e].parse.parsedPos));return t}stopAt(t){if(this.stoppedAt=t,this.baseParse)this.baseParse.stopAt(t);else for(let e=this.innerDone;e<this.inner.length;e++)this.inner[e].parse.stopAt(t)}startInner(){let t=new FragmentCursor(this.fragments),e=null,i=null,n=new TreeCursor(new TreeNode(this.baseTree,this.ranges[0].from,0,null),h.IncludeAnonymous|h.IgnoreMounts);t:for(let o,s;;){let a,l=!0;if(null!=this.stoppedAt&&n.from>=this.stoppedAt)l=!1;else if(t.hasNode(n)){if(e){let t=e.mounts.find((t=>t.frag.from<=n.from&&t.frag.to>=n.to&&t.mount.overlay));if(t)for(let i of t.mount.overlay){let o=i.from+t.pos,s=i.to+t.pos;o>=n.from&&s<=n.to&&!e.ranges.some((t=>t.from<s&&t.to>o))&&e.ranges.push({from:o,to:s})}}l=!1}else if(i&&(s=checkCover(i.ranges,n.from,n.to)))l=2!=s;else if(!n.type.isAnonymous&&(o=this.nest(n,this.input))&&(n.from<n.to||!o.overlay)){n.tree||materialize(n);let s=t.findMounts(n.from,o.parser);if("function"==typeof o.overlay)e=new ActiveOverlay(o.parser,o.overlay,s,this.inner.length,n.from,n.tree,e);else{let t=punchRanges(this.ranges,o.overlay||(n.from<n.to?[new Range(n.from,n.to)]:[]));t.length&&checkRanges(t),!t.length&&o.overlay||this.inner.push(new InnerParse(o.parser,t.length?o.parser.startParse(this.input,enterFragments(s,t),t):o.parser.startParse(""),o.overlay?o.overlay.map((t=>new Range(t.from-n.from,t.to-n.from))):null,n.tree,t.length?t[0].from:n.from)),o.overlay?t.length&&(i={ranges:t,depth:0,prev:i}):l=!1}}else e&&(a=e.predicate(n))&&(!0===a&&(a=new Range(n.from,n.to)),a.from<a.to&&e.ranges.push(a));if(l&&n.firstChild())e&&e.depth++,i&&i.depth++;else for(;!n.nextSibling();){if(!n.parent())break t;if(e&&! --e.depth){let t=punchRanges(this.ranges,e.ranges);t.length&&(checkRanges(t),this.inner.splice(e.index,0,new InnerParse(e.parser,e.parser.startParse(this.input,enterFragments(e.mounts,t),t),e.ranges.map((t=>new Range(t.from-e.start,t.to-e.start))),e.target,t[0].from))),e=e.prev}i&&! --i.depth&&(i=i.prev)}}}}function checkCover(t,e,i){for(let n of t){if(n.from>=i)break;if(n.to>e)return n.from<=e&&n.to>=i?2:1}return 0}function sliceBuf(t,e,i,n,o,s){if(e<i){let a=t.buffer[e+1];n.push(t.slice(e,i,a)),o.push(a-s)}}function materialize(t){let{node:e}=t,i=[],n=e.context.buffer;do{i.push(t.index),t.parent()}while(!t.tree);let o=t.tree,s=o.children.indexOf(n),a=o.children[s],l=a.buffer,h=[s];o.children[s]=function split(t,n,o,s,c,d){let f=i[d],p=[],m=[];sliceBuf(a,t,f,p,m,s);let g=l[f+1],O=l[f+2];h.push(p.length);let v=d?split(f+4,l[f+3],a.set.types[l[f]],g,O-g,d-1):e.toTree();return p.push(v),m.push(g-s),sliceBuf(a,l[f+3],n,p,m,s),new Tree(o,p,m,c)}(0,l.length,NodeType.none,0,a.length,i.length-1);for(let e of h){let i=t.tree.children[e],n=t.tree.positions[e];t.yield(new TreeNode(i,n+t.from,e,t._tree))}}class StructureCursor{constructor(t,e){this.offset=e,this.done=!1,this.cursor=t.cursor(h.IncludeAnonymous|h.IgnoreMounts)}moveTo(t){let{cursor:e}=this,i=t-this.offset;for(;!this.done&&e.from<i;)e.to>=t&&e.enter(i,1,h.IgnoreOverlays|h.ExcludeBuffers)||e.next(!1)||(this.done=!0)}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let e=this.cursor.tree;;){if(e==t.tree)return!0;if(!(e.children.length&&0==e.positions[0]&&e.children[0]instanceof Tree))break;e=e.children[0]}return!1}}class FragmentCursor{constructor(t){var e;if(this.fragments=t,this.curTo=0,this.fragI=0,t.length){let i=this.curFrag=t[0];this.curTo=null!==(e=i.tree.prop(d))&&void 0!==e?e:i.to,this.inner=new StructureCursor(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(t){for(;this.curFrag&&t.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=t.from&&this.curTo>=t.to&&this.inner.hasNode(t)}nextFrag(){var t;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let e=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(t=e.tree.prop(d))&&void 0!==t?t:e.to,this.inner=new StructureCursor(e.tree,-e.offset)}}findMounts(t,e){var i;let n=[];if(this.inner){this.inner.cursor.moveTo(t,1);for(let t=this.inner.cursor.node;t;t=t.parent){let o=null===(i=t.tree)||void 0===i?void 0:i.prop(NodeProp.mounted);if(o&&o.parser==e)for(let e=this.fragI;e<this.fragments.length;e++){let i=this.fragments[e];if(i.from>=t.to)break;i.tree==this.curFrag.tree&&n.push({frag:i,pos:t.from-i.offset,mount:o})}}}return n}}function punchRanges(t,e){let i=null,n=e;for(let o=1,s=0;o<t.length;o++){let a=t[o-1].to,l=t[o].from;for(;s<n.length;s++){let t=n[s];if(t.from>=l)break;t.to<=a||(i||(n=i=e.slice()),t.from<a?(i[s]=new Range(t.from,a),t.to>l&&i.splice(s+1,0,new Range(l,t.to))):t.to>l?i[s--]=new Range(l,t.to):i.splice(s--,1))}}return n}function findCoverChanges(t,e,i,n){let o=0,s=0,a=!1,l=!1,h=-1e9,c=[];for(;;){let d=o==t.length?1e9:a?t[o].to:t[o].from,f=s==e.length?1e9:l?e[s].to:e[s].from;if(a!=l){let t=Math.max(h,i),e=Math.min(d,f,n);t<e&&c.push(new Range(t,e))}if(h=Math.min(d,f),1e9==h)break;d==h&&(a?(a=!1,o++):a=!0),f==h&&(l?(l=!1,s++):l=!0)}return c}function enterFragments(t,e){let i=[];for(let{pos:n,mount:o,frag:s}of t){let t=n+(o.overlay?o.overlay[0].from:0),a=t+o.tree.length,l=Math.max(s.from,t),h=Math.min(s.to,a);if(o.overlay){let a=findCoverChanges(e,o.overlay.map((t=>new Range(t.from+n,t.to+n))),l,h);for(let e=0,n=l;;e++){let l=e==a.length,c=l?h:a[e].from;if(c>n&&i.push(new TreeFragment(n,c,o.tree,-t,s.from>=n||s.openStart,s.to<=c||s.openEnd)),l)break;n=a[e].to}}else i.push(new TreeFragment(l,h,o.tree,-t,s.from>=t||s.openStart,s.to<=a||s.openEnd))}return i}},7295:(t,e,i)=>{"use strict";i.d(e,{DM:()=>highlightTree,_A:()=>P,az:()=>tagHighlighter,pn:()=>styleTags,sS:()=>k});var n=i(95900);let o=0;class Tag{constructor(t,e,i){this.set=t,this.base=e,this.modified=i,this.id=o++}static define(t){if(null==t?void 0:t.base)throw new Error("Can not derive from a modified tag");let e=new Tag([],null,[]);if(e.set.push(e),t)for(let i of t.set)e.set.push(i);return e}static defineModifier(){let t=new Modifier;return e=>e.modified.indexOf(t)>-1?e:Modifier.get(e.base||e,e.modified.concat(t).sort(((t,e)=>t.id-e.id)))}}let s=0;class Modifier{constructor(){this.instances=[],this.id=s++}static get(t,e){if(!e.length)return t;let i=e[0].instances.find((i=>i.base==t&&function sameArray(t,e){return t.length==e.length&&t.every(((t,i)=>t==e[i]))}(e,i.modified)));if(i)return i;let n=[],o=new Tag(n,t,e);for(let t of e)t.instances.push(o);let s=function powerSet(t){let e=[[]];for(let i=0;i<t.length;i++)for(let n=0,o=e.length;n<o;n++)e.push(e[n].concat(t[i]));return e.sort(((t,e)=>e.length-t.length))}(e);for(let e of t.set)if(!e.modified.length)for(let t of s)n.push(Modifier.get(e,t));return o}}function styleTags(t){let e=Object.create(null);for(let i in t){let n=t[i];Array.isArray(n)||(n=[n]);for(let t of i.split(" "))if(t){let i=[],o=2,s=t;for(let e=0;;){if("..."==s&&e>0&&e+3==t.length){o=1;break}let n=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(s);if(!n)throw new RangeError("Invalid path: "+t);if(i.push("*"==n[0]?"":'"'==n[0][0]?JSON.parse(n[0]):n[0]),e+=n[0].length,e==t.length)break;let a=t[e++];if(e==t.length&&"!"==a){o=0;break}if("/"!=a)throw new RangeError("Invalid path: "+t);s=t.slice(e)}let a=i.length-1,l=i[a];if(!l)throw new RangeError("Invalid path: "+t);let h=new Rule(n,o,a>0?i.slice(0,a):null);e[l]=h.sort(e[l])}}return a.add(e)}const a=new n.uY;class Rule{constructor(t,e,i,n){this.tags=t,this.mode=e,this.context=i,this.next=n}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(t){return!t||t.depth<this.depth?(this.next=t,this):(t.next=this.sort(t.next),t)}get depth(){return this.context?this.context.length:0}}function tagHighlighter(t,e){let i=Object.create(null);for(let e of t)if(Array.isArray(e.tag))for(let t of e.tag)i[t.id]=e.class;else i[e.tag.id]=e.class;let{scope:n,all:o=null}=e||{};return{style:t=>{let e=o;for(let n of t)for(let t of n.set){let n=i[t.id];if(n){e=e?e+" "+n:n;break}}return e},scope:n}}function highlightTree(t,e,i,n=0,o=t.length){let s=new HighlightBuilder(n,Array.isArray(e)?e:[e],i);s.highlightRange(t.cursor(),n,o,"",s.highlighters),s.flush(o)}Rule.empty=new Rule([],2,null);class HighlightBuilder{constructor(t,e,i){this.at=t,this.highlighters=e,this.span=i,this.class=""}startSpan(t,e){e!=this.class&&(this.flush(t),t>this.at&&(this.at=t),this.class=e)}flush(t){t>this.at&&this.class&&this.span(this.at,t,this.class)}highlightRange(t,e,i,o,s){let{type:l,from:h,to:c}=t;if(h>=i||c<=e)return;l.isTop&&(s=this.highlighters.filter((t=>!t.scope||t.scope(l))));let d=o,f=function getStyleTags(t){let e=t.type.prop(a);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}(t)||Rule.empty,p=function highlightTags(t,e){let i=null;for(let n of t){let t=n.style(e);t&&(i=i?i+" "+t:t)}return i}(s,f.tags);if(p&&(d&&(d+=" "),d+=p,1==f.mode&&(o+=(o?" ":"")+p)),this.startSpan(Math.max(e,h),d),f.opaque)return;let m=t.tree&&t.tree.prop(n.uY.mounted);if(m&&m.overlay){let n=t.node.enter(m.overlay[0].from+h,1),a=this.highlighters.filter((t=>!t.scope||t.scope(m.tree.type))),l=t.firstChild();for(let f=0,p=h;;f++){let g=f<m.overlay.length?m.overlay[f]:null,O=g?g.from+h:c,v=Math.max(e,p),y=Math.min(i,O);if(v<y&&l)for(;t.from<y&&(this.highlightRange(t,v,y,o,s),this.startSpan(Math.min(y,t.to),d),!(t.to>=O)&&t.nextSibling()););if(!g||O>i)break;p=g.to+h,p>e&&(this.highlightRange(n.cursor(),Math.max(e,g.from+h),Math.min(i,p),"",a),this.startSpan(Math.min(i,p),d))}l&&t.parent()}else if(t.firstChild()){m&&(o="");do{if(!(t.to<=e)){if(t.from>=i)break;this.highlightRange(t,e,i,o,s),this.startSpan(Math.min(i,t.to),d)}}while(t.nextSibling());t.parent()}}}const l=Tag.define,h=l(),c=l(),d=l(c),f=l(c),p=l(),m=l(p),g=l(p),O=l(),v=l(O),y=l(),b=l(),x=l(),_=l(x),S=l(),P={comment:h,lineComment:l(h),blockComment:l(h),docComment:l(h),name:c,variableName:l(c),typeName:d,tagName:l(d),propertyName:f,attributeName:l(f),className:l(c),labelName:l(c),namespace:l(c),macroName:l(c),literal:p,string:m,docString:l(m),character:l(m),attributeValue:l(m),number:g,integer:l(g),float:l(g),bool:l(p),regexp:l(p),escape:l(p),color:l(p),url:l(p),keyword:y,self:l(y),null:l(y),atom:l(y),unit:l(y),modifier:l(y),operatorKeyword:l(y),controlKeyword:l(y),definitionKeyword:l(y),moduleKeyword:l(y),operator:b,derefOperator:l(b),arithmeticOperator:l(b),logicOperator:l(b),bitwiseOperator:l(b),compareOperator:l(b),updateOperator:l(b),definitionOperator:l(b),typeOperator:l(b),controlOperator:l(b),punctuation:x,separator:l(x),bracket:_,angleBracket:l(_),squareBracket:l(_),paren:l(_),brace:l(_),content:O,heading:v,heading1:l(v),heading2:l(v),heading3:l(v),heading4:l(v),heading5:l(v),heading6:l(v),contentSeparator:l(O),list:l(O),quote:l(O),emphasis:l(O),strong:l(O),link:l(O),monospace:l(O),strikethrough:l(O),inserted:l(),deleted:l(),changed:l(),invalid:l(),meta:S,documentMeta:l(S),annotation:l(S),processingInstruction:l(S),definition:Tag.defineModifier(),constant:Tag.defineModifier(),function:Tag.defineModifier(),standard:Tag.defineModifier(),local:Tag.defineModifier(),special:Tag.defineModifier()},k=tagHighlighter([{tag:P.link,class:"tok-link"},{tag:P.heading,class:"tok-heading"},{tag:P.emphasis,class:"tok-emphasis"},{tag:P.strong,class:"tok-strong"},{tag:P.keyword,class:"tok-keyword"},{tag:P.atom,class:"tok-atom"},{tag:P.bool,class:"tok-bool"},{tag:P.url,class:"tok-url"},{tag:P.labelName,class:"tok-labelName"},{tag:P.inserted,class:"tok-inserted"},{tag:P.deleted,class:"tok-deleted"},{tag:P.literal,class:"tok-literal"},{tag:P.string,class:"tok-string"},{tag:P.number,class:"tok-number"},{tag:[P.regexp,P.escape,P.special(P.string)],class:"tok-string2"},{tag:P.variableName,class:"tok-variableName"},{tag:P.local(P.variableName),class:"tok-variableName tok-local"},{tag:P.definition(P.variableName),class:"tok-variableName tok-definition"},{tag:P.special(P.variableName),class:"tok-variableName2"},{tag:P.definition(P.propertyName),class:"tok-propertyName tok-definition"},{tag:P.typeName,class:"tok-typeName"},{tag:P.namespace,class:"tok-namespace"},{tag:P.className,class:"tok-className"},{tag:P.macroName,class:"tok-macroName"},{tag:P.propertyName,class:"tok-propertyName"},{tag:P.operator,class:"tok-operator"},{tag:P.comment,class:"tok-comment"},{tag:P.meta,class:"tok-meta"},{tag:P.invalid,class:"tok-invalid"},{tag:P.punctuation,class:"tok-punctuation"}])},46273:(t,e,i)=>{"use strict";i.d(e,{Aj:()=>ContextTracker,Lu:()=>ExternalTokenizer,U1:()=>LRParser,uC:()=>LocalTokenGroup});var n=i(95900);class Stack{constructor(t,e,i,n,o,s,a,l,h,c=0,d){this.p=t,this.stack=e,this.state=i,this.reducePos=n,this.pos=o,this.score=s,this.buffer=a,this.bufferBase=l,this.curContext=h,this.lookAhead=c,this.parent=d}toString(){return`[${this.stack.filter(((t,e)=>e%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,i=0){let n=t.parser.context;return new Stack(t,[],e,i,i,0,[],0,n?new StackContext(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var e;let i=t>>19,n=65535&t,{parser:o}=this.p;this.reducePos<this.pos-25&&this.setLookAhead(this.pos);let s=o.dynamicPrecedence(n);if(s&&(this.score+=s),0==i)return this.pushState(o.getGoto(this.state,n,!0),this.reducePos),n<o.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,4,!0),void this.reduceContext(n,this.reducePos);let a=this.stack.length-3*(i-1)-(262144&t?6:0),l=a?this.stack[a-2]:this.p.ranges[0].from,h=this.reducePos-l;h>=2e3&&!(null===(e=this.p.parser.nodeSet.types[n])||void 0===e?void 0:e.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=h));let c=a?this.stack[a-1]:0,d=this.bufferBase+this.buffer.length-c;if(n<o.minRepeatTerm||131072&t){let t=o.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,l,t,d+4,!0)}if(262144&t)this.state=this.stack[a];else{let t=this.stack[a-3];this.state=o.getGoto(t,n,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(n,l)}storeNode(t,e,i,n=4,o=!1){if(0==t&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let t=this,n=this.buffer.length;if(0==n&&t.parent&&(n=t.bufferBase-t.parent.bufferBase,t=t.parent),n>0&&0==t.buffer[n-4]&&t.buffer[n-1]>-1){if(e==i)return;if(t.buffer[n-2]>=e)return void(t.buffer[n-2]=i)}}if(o&&this.pos!=i){let o=this.buffer.length;if(o>0&&0!=this.buffer[o-4])for(;o>0&&this.buffer[o-2]>i;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,n>4&&(n-=4);this.buffer[o]=t,this.buffer[o+1]=e,this.buffer[o+2]=i,this.buffer[o+3]=n}else this.buffer.push(t,e,i,n)}shift(t,e,i,n){if(131072&t)this.pushState(65535&t,this.pos);else if(262144&t)this.pos=n,this.shiftContext(e,i),e<=this.p.parser.maxNode&&this.buffer.push(e,i,n,4);else{let o=t,{parser:s}=this.p;(n>this.pos||e<=s.maxNode)&&(this.pos=n,s.stateFlag(o,1)||(this.reducePos=n)),this.pushState(o,i),this.shiftContext(e,i),e<=s.maxNode&&this.buffer.push(e,i,n,4)}}apply(t,e,i,n){65536&t?this.reduce(t):this.shift(t,e,i,n)}useNode(t,e){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=t)&&(this.p.reused.push(t),i++);let n=this.pos;this.reducePos=this.pos=n+t.length,this.pushState(e,n),this.buffer.push(i,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,e=t.buffer.length;for(;e>0&&t.buffer[e-2]>t.reducePos;)e-=4;let i=t.buffer.slice(e),n=t.bufferBase+e;for(;t&&n==t.bufferBase;)t=t.parent;return new Stack(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,n,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let i=t<=this.p.parser.maxNode;i&&this.storeNode(t,this.pos,e,4),this.storeNode(0,this.pos,e,i?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(t){for(let e=new SimulatedStack(this);;){let i=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(0==i)return!1;if(!(65536&i))return!0;e.reduce(i)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let i=[];for(let n,o=0;o<e.length;o+=2)(n=e[o+1])!=this.state&&this.p.parser.hasAction(n,t)&&i.push(e[o],n);if(this.stack.length<120)for(let t=0;i.length<8&&t<e.length;t+=2){let n=e[t+1];i.some(((t,e)=>1&e&&t==n))||i.push(e[t],n)}e=i}let i=[];for(let t=0;t<e.length&&i.length<4;t+=2){let n=e[t+1];if(n==this.state)continue;let o=this.split();o.pushState(n,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(e[t],this.pos),o.reducePos=this.pos,o.score-=200,i.push(o)}return i}forceReduce(){let{parser:t}=this.p,e=t.stateSlot(this.state,5);if(!(65536&e))return!1;if(!t.validAction(this.state,e)){let i=e>>19,n=65535&e,o=this.stack.length-3*i;if(o<0||t.getGoto(this.stack[o],n,!1)<0){let t=this.findForcedReduction();if(null==t)return!1;e=t}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:t}=this.p,e=[],explore=(i,n)=>{if(!e.includes(i))return e.push(i),t.allActions(i,(e=>{if(393216&e);else if(65536&e){let i=(e>>19)-n;if(i>1){let n=65535&e,o=this.stack.length-3*i;if(o>=0&&t.getGoto(this.stack[o],n,!1)>=0)return i<<19|65536|n}}else{let t=explore(e,n+1);if(null!=t)return t}}))};return explore(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:t}=this.p;return 65535==t.data[t.stateSlot(this.state,1)]&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=t.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(e)))}reduceContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(e)))}emitContext(){let t=this.buffer.length-1;(t<0||-3!=this.buffer[t])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let t=this.buffer.length-1;(t<0||-4!=this.buffer[t])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let e=new StackContext(this.curContext.tracker,t);e.hash!=this.curContext.hash&&this.emitContext(),this.curContext=e}}setLookAhead(t){t>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=t)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class StackContext{constructor(t,e){this.tracker=t,this.context=e,this.hash=t.strict?t.hash(e):0}}class SimulatedStack{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let e=65535&t,i=t>>19;0==i?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(i-1);let n=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=n}}class StackBufferCursor{constructor(t,e,i){this.stack=t,this.pos=e,this.index=i,this.buffer=t.buffer,0==this.index&&this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new StackBufferCursor(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;null!=t&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new StackBufferCursor(this.stack,this.pos,this.index)}}function decodeArray(t,e=Uint16Array){if("string"!=typeof t)return t;let i=null;for(let n=0,o=0;n<t.length;){let s=0;for(;;){let e=t.charCodeAt(n++),i=!1;if(126==e){s=65535;break}e>=92&&e--,e>=34&&e--;let o=e-32;if(o>=46&&(o-=46,i=!0),s+=o,i)break;s*=46}i?i[o++]=s:i=new e(s)}return i}class CachedToken{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const o=new CachedToken;class InputStream{constructor(t,e){this.input=t,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=o,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(t,e){let i=this.range,n=this.rangeIndex,o=this.pos+t;for(;o<i.from;){if(!n)return null;let t=this.ranges[--n];o-=i.from-t.to,i=t}for(;e<0?o>i.to:o>=i.to;){if(n==this.ranges.length-1)return null;let t=this.ranges[++n];o+=t.from-i.to,i=t}return o}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let e of this.ranges)if(e.to>t)return Math.max(t,e.from);return this.end}peek(t){let e,i,n=this.chunkOff+t;if(n>=0&&n<this.chunk.length)e=this.pos+t,i=this.chunk.charCodeAt(n);else{let n=this.resolveOffset(t,1);if(null==n)return-1;if(e=n,e>=this.chunk2Pos&&e<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(e-this.chunk2Pos);else{let t=this.rangeIndex,n=this.range;for(;n.to<=e;)n=this.ranges[++t];this.chunk2=this.input.chunk(this.chunk2Pos=e),e+this.chunk2.length>n.to&&(this.chunk2=this.chunk2.slice(0,n.to-e)),i=this.chunk2.charCodeAt(0)}}return e>=this.token.lookAhead&&(this.token.lookAhead=e+1),i}acceptToken(t,e=0){let i=e?this.resolveOffset(e,-1):this.pos;if(null==i||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=t,this.token.end=i}acceptTokenTo(t,e){this.token.value=t,this.token.end=e}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),e=this.pos+t.length;this.chunk=e>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,e){if(e?(this.token=e,e.start=t,e.lookAhead=t+1,e.value=e.extended=-1):this.token=o,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;t>=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t<this.chunkPos+this.chunk.length?this.chunkOff=t-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(t,e){if(t>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let i="";for(let n of this.ranges){if(n.from>=e)break;n.to>t&&(i+=this.input.read(Math.max(n.from,t),Math.min(n.to,e)))}return i}}class TokenGroup{constructor(t,e){this.data=t,this.id=e}token(t,e){let{parser:i}=e.p;readToken(this.data,t,e,this.id,i.data,i.tokenPrecTable)}}TokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1;class LocalTokenGroup{constructor(t,e,i){this.precTable=e,this.elseToken=i,this.data="string"==typeof t?decodeArray(t):t}token(t,e){let i=t.pos,n=0;for(;;){let i=t.next<0,o=t.resolveOffset(1,1);if(readToken(this.data,t,e,0,this.data,this.precTable),t.token.value>-1)break;if(null==this.elseToken)return;if(i||n++,null==o)break;t.reset(o,t.token)}n&&(t.reset(i,t.token),t.acceptToken(this.elseToken,n))}}LocalTokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1;class ExternalTokenizer{constructor(t,e={}){this.token=t,this.contextual=!!e.contextual,this.fallback=!!e.fallback,this.extend=!!e.extend}}function readToken(t,e,i,n,o,s){let a=0,l=1<<n,{dialect:h}=i.p.parser;t:for(;l&t[a];){let i=t[a+1];for(let n=a+3;n<i;n+=2)if((t[n+1]&l)>0){let i=t[n];if(h.allows(i)&&(-1==e.token.value||e.token.value==i||overrides(i,e.token.value,o,s))){e.acceptToken(i);break}}let n=e.next,c=0,d=t[a+2];if(!(e.next<0&&d>c&&65535==t[i+3*d-3])){for(;c<d;){let o=c+d>>1,s=i+o+(o<<1),l=t[s],h=t[s+1]||65536;if(n<l)d=o;else{if(!(n>=h)){a=t[s+2],e.advance();continue t}c=o+1}}break}a=t[i+3*d-1]}}function findOffset(t,e,i){for(let n,o=e;65535!=(n=t[o]);o++)if(n==i)return o-e;return-1}function overrides(t,e,i,n){let o=findOffset(i,n,e);return o<0||findOffset(i,n,t)<o}const s="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let a=null;function cutAt(t,e,i){let o=t.cursor(n.Qj.IncludeAnonymous);for(o.moveTo(e);;)if(!(i<0?o.childBefore(e):o.childAfter(e)))for(;;){if((i<0?o.to<e:o.from>e)&&!o.type.isError)return i<0?Math.max(0,Math.min(o.to-1,e-25)):Math.min(t.length,Math.max(o.from+1,e+25));if(i<0?o.prevSibling():o.nextSibling())break;if(!o.parent())return i<0?0:t.length}}class FragmentCursor{constructor(t,e){this.fragments=t,this.nodeSet=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?cutAt(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?cutAt(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;for(;this.fragment&&this.safeTo<=t;)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let i=this.trees[e],o=this.index[e];if(o==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=i.children[o],a=this.start[e]+i.positions[o];if(a>t)return this.nextStart=a,null;if(s instanceof n.PH){if(a==t){if(a<this.safeFrom)return null;let t=a+s.length;if(t<=this.safeTo){let e=s.prop(n.uY.lookAhead);if(!e||t+e<this.fragment.to)return s}}this.index[e]++,a+s.length>=Math.max(this.safeFrom,t)&&(this.trees.push(s),this.start.push(a),this.index.push(0))}else this.index[e]++,this.nextStart=a+s.length}}}class TokenCache{constructor(t,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map((t=>new CachedToken))}getActions(t){let e=0,i=null,{parser:n}=t.p,{tokenizers:o}=n,s=n.stateSlot(t.state,3),a=t.curContext?t.curContext.hash:0,l=0;for(let n=0;n<o.length;n++){if(!(1<<n&s))continue;let h=o[n],c=this.tokens[n];if((!i||h.fallback)&&((h.contextual||c.start!=t.pos||c.mask!=s||c.context!=a)&&(this.updateCachedToken(c,h,t),c.mask=s,c.context=a),c.lookAhead>c.end+25&&(l=Math.max(c.lookAhead,l)),0!=c.value)){let n=e;if(c.extended>-1&&(e=this.addActions(t,c.extended,c.end,e)),e=this.addActions(t,c.value,c.end,e),!h.extend&&(i=c,e>n))break}}for(;this.actions.length>e;)this.actions.pop();return l&&t.setLookAhead(l),i||t.pos!=this.stream.end||(i=new CachedToken,i.value=t.p.parser.eofTerm,i.start=i.end=t.pos,e=this.addActions(t,i.value,i.end,e)),this.mainToken=i,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new CachedToken,{pos:i,p:n}=t;return e.start=i,e.end=Math.min(i+1,n.stream.end),e.value=i==n.stream.end?n.parser.eofTerm:0,e}updateCachedToken(t,e,i){let n=this.stream.clipPos(i.pos);if(e.token(this.stream.reset(n,t),i),t.value>-1){let{parser:e}=i.p;for(let n=0;n<e.specialized.length;n++)if(e.specialized[n]==t.value){let o=e.specializers[n](this.stream.read(t.start,t.end),i);if(o>=0&&i.p.parser.dialect.allows(o>>1)){1&o?t.extended=o>>1:t.value=o>>1;break}}}else t.value=0,t.end=this.stream.clipPos(n+1)}putAction(t,e,i,n){for(let e=0;e<n;e+=3)if(this.actions[e]==t)return n;return this.actions[n++]=t,this.actions[n++]=e,this.actions[n++]=i,n}addActions(t,e,i,n){let{state:o}=t,{parser:s}=t.p,{data:a}=s;for(let t=0;t<2;t++)for(let l=s.stateSlot(o,t?2:1);;l+=3){if(65535==a[l]){if(1!=a[l+1]){0==n&&2==a[l+1]&&(n=this.putAction(pair(a,l+2),e,i,n));break}l=pair(a,l+2)}a[l]==e&&(n=this.putAction(pair(a,l+1),e,i,n))}return n}}class Parse{constructor(t,e,i,n){this.parser=t,this.input=e,this.ranges=n,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new InputStream(e,n),this.tokens=new TokenCache(t,this.stream),this.topTerm=t.top[1];let{from:o}=n[0];this.stacks=[Stack.start(this,t.top[0],o)],this.fragments=i.length&&this.stream.end-o>4*t.bufferLength?new FragmentCursor(i,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t,e,i=this.stacks,n=this.minStackPos,o=this.stacks=[];if(this.bigReductionCount>300&&1==i.length){let[t]=i;for(;t.forceReduce()&&t.stack.length&&t.stack[t.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<i.length;s++){let a=i[s];for(;;){if(this.tokens.mainToken=null,a.pos>n)o.push(a);else{if(this.advanceStack(a,o,i))continue;{t||(t=[],e=[]),t.push(a);let i=this.tokens.getMainToken(a);e.push(i.value,i.end)}}break}}if(!o.length){let e=t&&function findFinished(t){let e=null;for(let i of t){let t=i.p.stoppedAt;(i.pos==i.p.stream.end||null!=t&&i.pos>t)&&i.p.parser.stateFlag(i.state,2)&&(!e||e.score<i.score)&&(e=i)}return e}(t);if(e)return s&&console.log("Finish with "+this.stackID(e)),this.stackToTree(e);if(this.parser.strict)throw s&&t&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&t){let i=null!=this.stoppedAt&&t[0].pos>this.stoppedAt?t[0]:this.runRecovery(t,e,o);if(i)return s&&console.log("Force-finish "+this.stackID(i)),this.stackToTree(i.forceAll())}if(this.recovering){let t=1==this.recovering?1:3*this.recovering;if(o.length>t)for(o.sort(((t,e)=>e.score-t.score));o.length>t;)o.pop();o.some((t=>t.reducePos>n))&&this.recovering--}else if(o.length>1){t:for(let t=0;t<o.length-1;t++){let e=o[t];for(let i=t+1;i<o.length;i++){let n=o[i];if(e.sameState(n)||e.buffer.length>500&&n.buffer.length>500){if(!((e.score-n.score||e.buffer.length-n.buffer.length)>0)){o.splice(t--,1);continue t}o.splice(i--,1)}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let t=1;t<o.length;t++)o[t].pos<this.minStackPos&&(this.minStackPos=o[t].pos);return null}stopAt(t){if(null!=this.stoppedAt&&this.stoppedAt<t)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=t}advanceStack(t,e,i){let o=t.pos,{parser:a}=this,l=s?this.stackID(t)+" -> ":"";if(null!=this.stoppedAt&&o>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let e=t.curContext&&t.curContext.tracker.strict,i=e?t.curContext.hash:0;for(let h=this.fragments.nodeAt(o);h;){let o=this.parser.nodeSet.types[h.type.id]==h.type?a.getGoto(t.state,h.type.id):-1;if(o>-1&&h.length&&(!e||(h.prop(n.uY.contextHash)||0)==i))return t.useNode(h,o),s&&console.log(l+this.stackID(t)+` (via reuse of ${a.getName(h.type.id)})`),!0;if(!(h instanceof n.PH)||0==h.children.length||h.positions[0]>0)break;let c=h.children[0];if(!(c instanceof n.PH&&0==h.positions[0]))break;h=c}}let h=a.stateSlot(t.state,4);if(h>0)return t.reduce(h),s&&console.log(l+this.stackID(t)+` (via always-reduce ${a.getName(65535&h)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let c=this.tokens.getActions(t);for(let n=0;n<c.length;){let h=c[n++],d=c[n++],f=c[n++],p=n==c.length||!i,m=p?t:t.split(),g=this.tokens.mainToken;if(m.apply(h,d,g?g.start:m.pos,f),s&&console.log(l+this.stackID(m)+` (via ${65536&h?`reduce of ${a.getName(65535&h)}`:"shift"} for ${a.getName(d)} @ ${o}${m==t?"":", split"})`),p)return!0;m.pos>o?e.push(m):i.push(m)}return!1}advanceFully(t,e){let i=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>i)return pushStackDedup(t,e),!0}}runRecovery(t,e,i){let n=null,o=!1;for(let a=0;a<t.length;a++){let l=t[a],h=e[a<<1],c=e[1+(a<<1)],d=s?this.stackID(l)+" -> ":"";if(l.deadEnd){if(o)continue;if(o=!0,l.restart(),s&&console.log(d+this.stackID(l)+" (restarted)"),this.advanceFully(l,i))continue}let f=l.split(),p=d;for(let t=0;f.forceReduce()&&t<10;t++){if(s&&console.log(p+this.stackID(f)+" (via force-reduce)"),this.advanceFully(f,i))break;s&&(p=this.stackID(f)+" -> ")}for(let t of l.recoverByInsert(h))s&&console.log(d+this.stackID(t)+" (via recover-insert)"),this.advanceFully(t,i);this.stream.end>l.pos?(c==l.pos&&(c++,h=0),l.recoverByDelete(h,c),s&&console.log(d+this.stackID(l)+` (via recover-delete ${this.parser.getName(h)})`),pushStackDedup(l,i)):(!n||n.score<l.score)&&(n=l)}return n}stackToTree(t){return t.close(),n.PH.build({buffer:StackBufferCursor.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let e=(a||(a=new WeakMap)).get(t);return e||a.set(t,e=String.fromCodePoint(this.nextStackID++)),e+t}}function pushStackDedup(t,e){for(let i=0;i<e.length;i++){let n=e[i];if(n.pos==t.pos&&n.sameState(t))return void(e[i].score<t.score&&(e[i]=t))}e.push(t)}class Dialect{constructor(t,e,i){this.source=t,this.flags=e,this.disabled=i}allows(t){return!this.disabled||0==this.disabled[t]}}const id=t=>t;class ContextTracker{constructor(t){this.start=t.start,this.shift=t.shift||id,this.reduce=t.reduce||id,this.reuse=t.reuse||id,this.hash=t.hash||(()=>0),this.strict=!1!==t.strict}}class LRParser extends n.iX{constructor(t){if(super(),this.wrappers=[],14!=t.version)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let e=t.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let i=0;i<t.repeatNodeCount;i++)e.push("");let i=Object.keys(t.topRules).map((e=>t.topRules[e][1])),o=[];for(let t=0;t<e.length;t++)o.push([]);function setProp(t,e,i){o[t].push([e,e.deserialize(String(i))])}if(t.nodeProps)for(let e of t.nodeProps){let t=e[0];"string"==typeof t&&(t=n.uY[t]);for(let i=1;i<e.length;){let n=e[i++];if(n>=0)setProp(n,t,e[i++]);else{let o=e[i+-n];for(let s=-n;s>0;s--)setProp(e[i++],t,o);i++}}}this.nodeSet=new n.fI(e.map(((e,s)=>n.Z6.define({name:s>=this.minRepeatTerm?void 0:e,id:s,props:o[s],top:i.indexOf(s)>-1,error:0==s,skipped:t.skippedNodes&&t.skippedNodes.indexOf(s)>-1})))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=n.cF;let s=decodeArray(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let t=0;t<this.specializerSpecs.length;t++)this.specialized[t]=this.specializerSpecs[t].term;this.specializers=this.specializerSpecs.map(getSpecializer),this.states=decodeArray(t.states,Uint32Array),this.data=decodeArray(t.stateData),this.goto=decodeArray(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map((t=>"number"==typeof t?new TokenGroup(s,t):t)),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,i){let n=new Parse(this,t,e,i);for(let o of this.wrappers)n=o(n,t,e,i);return n}getGoto(t,e,i=!1){let n=this.goto;if(e>=n[0])return-1;for(let o=n[e+1];;){let e=n[o++],s=1&e,a=n[o++];if(s&&i)return a;for(let i=o+(e>>1);o<i;o++)if(n[o]==t)return a;if(s)return-1}}hasAction(t,e){let i=this.data;for(let n=0;n<2;n++)for(let o,s=this.stateSlot(t,n?2:1);;s+=3){if(65535==(o=i[s])){if(1!=i[s+1]){if(2==i[s+1])return pair(i,s+2);break}o=i[s=pair(i,s+2)]}if(o==e||0==o)return pair(i,s+1)}return 0}stateSlot(t,e){return this.states[6*t+e]}stateFlag(t,e){return(this.stateSlot(t,0)&e)>0}validAction(t,e){return!!this.allActions(t,(t=>t==e||null))}allActions(t,e){let i=this.stateSlot(t,4),n=i?e(i):void 0;for(let i=this.stateSlot(t,1);null==n;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=pair(this.data,i+2)}n=e(pair(this.data,i+1))}return n}nextStates(t){let e=[];for(let i=this.stateSlot(t,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=pair(this.data,i+2)}if(!(1&this.data[i+2])){let t=this.data[i+1];e.some(((e,i)=>1&i&&e==t))||e.push(this.data[i],t)}}return e}configure(t){let e=Object.assign(Object.create(LRParser.prototype),this);if(t.props&&(e.nodeSet=this.nodeSet.extend(...t.props)),t.top){let i=this.topRules[t.top];if(!i)throw new RangeError(`Invalid top rule name ${t.top}`);e.top=i}return t.tokenizers&&(e.tokenizers=this.tokenizers.map((e=>{let i=t.tokenizers.find((t=>t.from==e));return i?i.to:e}))),t.specializers&&(e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map(((i,n)=>{let o=t.specializers.find((t=>t.from==i.external));if(!o)return i;let s=Object.assign(Object.assign({},i),{external:o.to});return e.specializers[n]=getSpecializer(s),s}))),t.contextTracker&&(e.context=t.contextTracker),t.dialect&&(e.dialect=this.parseDialect(t.dialect)),null!=t.strict&&(e.strict=t.strict),t.wrap&&(e.wrappers=e.wrappers.concat(t.wrap)),null!=t.bufferLength&&(e.bufferLength=t.bufferLength),e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return null==e?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),i=e.map((()=>!1));if(t)for(let n of t.split(" ")){let t=e.indexOf(n);t>=0&&(i[t]=!0)}let n=null;for(let t=0;t<e.length;t++)if(!i[t])for(let i,o=this.dialects[e[t]];65535!=(i=this.data[o++]);)(n||(n=new Uint8Array(this.maxTerm+1)))[i]=1;return new Dialect(t,i,n)}static deserialize(t){return new LRParser(t)}}function pair(t,e){return t[e]|t[e+1]<<16}function getSpecializer(t){if(t.external){let e=t.extend?1:0;return(i,n)=>t.external(i,n)<<1|e}return t.get}},10780:(t,e,i)=>{"use strict";i.d(e,{Ay:()=>nt,fh:()=>L});var n=i(15993),o=i(75368),s=i(65851),a=i(41773);function getColSpan(t,e,i){const n="function"==typeof t.colSpan?t.colSpan(i):1;if(Number.isInteger(n)&&n>1&&(!t.frozen||t.idx+n-1<=e))return n}function stopPropagation(t){t.stopPropagation()}function scrollIntoView(t){t?.scrollIntoView({inline:"nearest",block:"nearest"})}function createCellEvent(t){let e=!1;const i={...t,preventGridDefault(){e=!0},isGridDefaultPrevented:()=>e};return Object.setPrototypeOf(i,Object.getPrototypeOf(t)),i}const l=new Set(["Unidentified","Alt","AltGraph","CapsLock","Control","Fn","FnLock","Meta","NumLock","ScrollLock","Shift","Tab","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Home","PageDown","PageUp","Insert","ContextMenu","Escape","Pause","Play","PrintScreen","F1","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]);function isCtrlKeyHeldDown(t){return(t.ctrlKey||t.metaKey)&&"Control"!==t.key}const h="mlln6zg7-0-0-beta-44";function renderMeasuringCells(t){return t.map((({key:t,idx:e,minWidth:i,maxWidth:n})=>(0,a.jsx)("div",{className:h,style:{gridColumnStart:e+1,minWidth:i,maxWidth:n},"data-measuring-cell-key":t},t)))}function isCellEditableUtil(t,e){return null!=t.renderEditCell&&!1!==("function"==typeof t.editable?t.editable(e):t.editable)}function getSelectedCellColSpan({rows:t,topSummaryRows:e,bottomSummaryRows:i,rowIdx:n,mainHeaderRowIdx:o,lastFrozenColumnIndex:s,column:a}){const l=e?.length??0;if(n===o)return getColSpan(a,s,{type:"HEADER"});if(e&&n>o&&n<=l+o)return getColSpan(a,s,{type:"SUMMARY",row:e[n+l]});if(n>=0&&n<t.length){return getColSpan(a,s,{type:"ROW",row:t[n]})}return i?getColSpan(a,s,{type:"SUMMARY",row:i[n-t.length]}):void 0}function getNextSelectedCellPosition({moveUp:t,moveNext:e,cellNavigationMode:i,columns:n,colSpanColumns:o,rows:s,topSummaryRows:a,bottomSummaryRows:l,minRowIdx:h,mainHeaderRowIdx:c,maxRowIdx:d,currentPosition:{idx:f,rowIdx:p},nextPosition:m,lastFrozenColumnIndex:g,isCellWithinBounds:O}){let{idx:v,rowIdx:y}=m;const b=n.length,setColSpan=t=>{for(const e of o){const i=e.idx;if(i>v)break;const n=getSelectedCellColSpan({rows:s,topSummaryRows:a,bottomSummaryRows:l,rowIdx:y,mainHeaderRowIdx:c,lastFrozenColumnIndex:g,column:e});if(n&&v>i&&v<n+i){v=i+(t?n:0);break}}},getParentRowIdx=t=>t.level+c;if(O(m)&&(setColSpan(e),y<c&&(()=>{if(e){let t=n[v].parent;for(;void 0!==t;){const e=getParentRowIdx(t);if(y===e){v=t.idx+t.colSpan;break}t=t.parent}}else if(t){let t=n[v].parent,e=!1;for(;void 0!==t;){const i=getParentRowIdx(t);if(y>=i){v=t.idx,y=i,e=!0;break}t=t.parent}e||(v=f,y=p)}})()),"CHANGE_ROW"===i){const t=-1===v;if(v===b){y===d||(v=0,y+=1)}else if(t){y===h||(y-=1,v=b-1),setColSpan(!1)}}if(y<c){let t=n[v].parent;const e=y;for(y=c;void 0!==t;){const i=getParentRowIdx(t);i>=e&&(y=i,v=t.idx),t=t.parent}}return{idx:v,rowIdx:y}}const c="rdg-cell cj343x07-0-0-beta-44",d="rdg-cell-frozen csofj7r7-0-0-beta-44";function getRowStyle(t,e){return void 0!==e?{"--rdg-grid-row-start":t,"--rdg-row-height":`${e}px`}:{"--rdg-grid-row-start":t}}function getHeaderCellStyle(t,e,i){const n=e+1,o=`calc(${i-1} * var(--rdg-header-row-height))`;return void 0===t.parent?{insetBlockStart:0,gridRowStart:1,gridRowEnd:n,paddingBlockStart:o}:{insetBlockStart:`calc(${e-i} * var(--rdg-header-row-height))`,gridRowStart:n-i,gridRowEnd:n,paddingBlockStart:o}}function getCellStyle(t,e=1){const i=t.idx+1;return{gridColumnStart:i,gridColumnEnd:i+e,insetInlineStart:t.frozen?`var(--rdg-frozen-left-${t.idx})`:void 0}}function getCellClassname(t,...e){return(0,s.A)(c,...e,t.frozen&&d)}const{min:f,max:p,floor:m,sign:g,abs:O}=Math;function assertIsValidKeyGetter(t){if("function"!=typeof t)throw new Error("Please specify the rowKeyGetter prop to use selection")}function clampColumnWidth(t,{minWidth:e,maxWidth:i}){return t=p(t,e),"number"==typeof i&&i>=e?f(t,i):t}function getHeaderCellRowSpan(t,e){return void 0===t.parent?e:t.level-t.parent.level}const v="rdg-checkbox-label c1bn88vv7-0-0-beta-44",y="rdg-checkbox-input c1qt073l7-0-0-beta-44",b="rdg-checkbox cf71kmq7-0-0-beta-44",x="rdg-checkbox-label-disabled c1lwve4p7-0-0-beta-44";function renderCheckbox({onChange:t,...e}){return(0,a.jsxs)("label",{className:(0,s.A)(v,e.disabled&&x),children:[(0,a.jsx)("input",{type:"checkbox",...e,className:y,onChange:function handleChange(e){t(e.target.checked,e.nativeEvent.shiftKey)}}),(0,a.jsx)("div",{className:b})]})}function renderValue(t){try{return t.row[t.column.key]}catch{return null}}const _=(0,n.createContext)(void 0),S=_.Provider;function useDefaultRenderers(){return(0,n.useContext)(_)}const P=(0,n.createContext)(void 0),k=P.Provider,C=(0,n.createContext)(void 0),Q=C.Provider;const T="select-row";const A="auto",R=50;function useCalculatedColumns({rawColumns:t,defaultColumnOptions:e,getColumnWidth:i,viewportWidth:o,scrollLeft:s,enableVirtualization:a}){const l=e?.width??A,h=e?.minWidth??R,c=e?.maxWidth??void 0,d=e?.renderCell??renderValue,m=e?.sortable??!1,g=e?.resizable??!1,O=e?.draggable??!1,{columns:v,colSpanColumns:y,lastFrozenColumnIndex:b,headerRowsCount:x}=(0,n.useMemo)((()=>{let e=-1,i=1;const n=[];!function collectColumns(t,o,s){for(const a of t){if("children"in a){const t={name:a.name,parent:s,idx:-1,colSpan:0,level:0,headerCellClass:a.headerCellClass};collectColumns(a.children,o+1,t);continue}const t=a.frozen??!1,f={...a,parent:s,idx:0,level:0,frozen:t,width:a.width??l,minWidth:a.minWidth??h,maxWidth:a.maxWidth??c,sortable:a.sortable??m,resizable:a.resizable??g,draggable:a.draggable??O,renderCell:a.renderCell??d};n.push(f),t&&e++,o>i&&(i=o)}}(t,1),n.sort((({key:t,frozen:e},{key:i,frozen:n})=>t===T?-1:i===T?1:e?n?0:-1:n?1:0));const o=[];return n.forEach(((t,e)=>{t.idx=e,updateColumnParent(t,e,0),null!=t.colSpan&&o.push(t)})),{columns:n,colSpanColumns:o,lastFrozenColumnIndex:e,headerRowsCount:i}}),[t,l,h,c,d,g,m,O]),{templateColumns:_,layoutCssVars:S,totalFrozenColumnWidth:P,columnMetrics:k}=(0,n.useMemo)((()=>{const t=new Map;let e=0,n=0;const o=[];for(const n of v){let s=i(n);s="number"==typeof s?clampColumnWidth(s,n):n.minWidth,o.push(`${s}px`),t.set(n,{width:s,left:e}),e+=s}if(-1!==b){const e=t.get(v[b]);n=e.left+e.width}const s={};for(let e=0;e<=b;e++){const i=v[e];s[`--rdg-frozen-left-${i.idx}`]=`${t.get(i).left}px`}return{templateColumns:o,layoutCssVars:s,totalFrozenColumnWidth:n,columnMetrics:t}}),[i,v,b]),[C,Q]=(0,n.useMemo)((()=>{if(!a)return[0,v.length-1];const t=s+P,e=s+o,i=v.length-1,n=f(b+1,i);if(t>=e)return[n,n];let l=n;for(;l<i;){const{left:e,width:i}=k.get(v[l]);if(e+i>t)break;l++}let h=l;for(;h<i;){const{left:t,width:i}=k.get(v[h]);if(t+i>=e)break;h++}return[p(n,l-1),f(i,h+1)]}),[k,v,b,s,P,o,a]);return{columns:v,colSpanColumns:y,colOverscanStartIdx:C,colOverscanEndIdx:Q,templateColumns:_,layoutCssVars:S,headerRowsCount:x,lastFrozenColumnIndex:b,totalFrozenColumnWidth:P}}function updateColumnParent(t,e,i){if(i<t.level&&(t.level=i),void 0!==t.parent){const{parent:n}=t;-1===n.idx&&(n.idx=e),n.colSpan+=1,updateColumnParent(n,e,i-1)}}const Z="undefined"==typeof window?n.useEffect:n.useLayoutEffect;function measureColumnWidth(t,e){const i=`[data-measuring-cell-key="${CSS.escape(e)}"]`,n=t.current.querySelector(i);return n?.getBoundingClientRect().width}function useLatestFunc(t){const e=(0,n.useRef)(t);(0,n.useEffect)((()=>{e.current=t}));const i=(0,n.useCallback)(((...t)=>{e.current(...t)}),[]);return t?i:t}function useRovingTabIndex(t){const[e,i]=(0,n.useState)(!1);e&&!t&&i(!1);return{tabIndex:t&&!e?0:-1,childTabIndex:t?0:-1,onFocus:t?function onFocus(t){t.target!==t.currentTarget&&i(!0)}:void 0}}function Cell({column:t,colSpan:e,isCellSelected:i,isCopied:n,isDraggedOver:o,row:s,rowIdx:l,className:h,onClick:c,onDoubleClick:d,onContextMenu:f,onRowChange:p,selectCell:m,...g},O){const{tabIndex:v,childTabIndex:y,onFocus:b}=useRovingTabIndex(i),{cellClass:x}=t;h=getCellClassname(t,"function"==typeof x?x(s):x,h,n&&"rdg-cell-copied c6ra8a37-0-0-beta-44",o&&"rdg-cell-dragged-over cq910m07-0-0-beta-44");const _=isCellEditableUtil(t,s);function selectCellWrapper(e){m({rowIdx:l,idx:t.idx},e)}return(0,a.jsx)("div",{role:"gridcell","aria-colindex":t.idx+1,"aria-colspan":e,"aria-selected":i,"aria-readonly":!_||void 0,ref:O,tabIndex:v,className:h,style:getCellStyle(t,e),onClick:function handleClick(e){if(c){const i=createCellEvent(e);if(c({row:s,column:t,selectCell:selectCellWrapper},i),i.isGridDefaultPrevented())return}selectCellWrapper()},onDoubleClick:function handleDoubleClick(e){if(d){const i=createCellEvent(e);if(d({row:s,column:t,selectCell:selectCellWrapper},i),i.isGridDefaultPrevented())return}selectCellWrapper(!0)},onContextMenu:function handleContextMenu(e){if(f){const i=createCellEvent(e);if(f({row:s,column:t,selectCell:selectCellWrapper},i),i.isGridDefaultPrevented())return}selectCellWrapper()},onFocus:b,...g,children:t.renderCell({column:t,row:s,rowIdx:l,isCellEditable:_,tabIndex:y,onRowChange:function handleRowChange(e){p(t,e)}})})}const M=(0,n.memo)((0,n.forwardRef)(Cell)),L=M;function defaultRenderCell(t,e){return(0,a.jsx)(M,{...e},t)}const E="c1creorc7-0-0-beta-44",D="rdg-cell-drag-handle c1w9bbhr7-0-0-beta-44";function DragHandle({gridRowStart:t,rows:e,column:i,columnWidth:n,maxColIdx:o,isLastRow:l,selectedPosition:h,latestDraggedOverRowIdx:c,isCellEditable:d,onRowsChange:f,onFill:p,onClick:m,setDragging:g,setDraggedOverRowIdx:O}){const{idx:v,rowIdx:y}=h;function updateRows(t,n){const o=e[y],s=[...e],a=[];for(let l=t;l<n;l++)if(d({rowIdx:l,idx:v})){const t=p({columnKey:i.key,sourceRow:o,targetRow:e[l]});t!==e[l]&&(s[l]=t,a.push(l))}a.length>0&&f?.(s,{indexes:a,column:i})}return(0,a.jsx)("div",{style:function getStyle(){const s=i.colSpan?.({type:"ROW",row:e[y]})??1,{insetInlineStart:a,...h}=getCellStyle(i,s),c="calc(var(--rdg-drag-handle-size) * -0.5 + 1px)",d=i.idx+s-1===o;return{...h,gridRowStart:t,marginInlineEnd:d?void 0:c,marginBlockEnd:l?void 0:c,insetInlineStart:a?`calc(${a} + ${n}px + var(--rdg-drag-handle-size) * -0.5 - 1px)`:void 0}}(),className:(0,s.A)(D,i.frozen&&E),onClick:m,onMouseDown:function handleMouseDown(t){function onMouseOver(t){1!==t.buttons&&onMouseUp()}function onMouseUp(){window.removeEventListener("mouseover",onMouseOver),window.removeEventListener("mouseup",onMouseUp),g(!1),function handleDragEnd(){const t=c.current;if(void 0===t)return;updateRows(y<t?y+1:t,y<t?t+1:y),O(void 0)}()}t.preventDefault(),1===t.buttons&&(g(!0),window.addEventListener("mouseover",onMouseOver),window.addEventListener("mouseup",onMouseUp))},onDoubleClick:function handleDoubleClick(t){t.stopPropagation(),updateRows(y+1,e.length)}})}const z="cis5rrm7-0-0-beta-44";function EditCell({column:t,colSpan:e,row:i,rowIdx:o,onRowChange:s,closeEditor:l,onKeyDown:h,navigate:c}){const d=(0,n.useRef)(),f=!1!==t.editorOptions?.commitOnOutsideClick,p=useLatestFunc((()=>{onClose(!0,!1)}));function cancelFrameRequest(){cancelAnimationFrame(d.current)}function onClose(t=!1,e=!0){t?s(i,!0,e):l(e)}function onEditorRowChange(t,e=!1){s(t,e,e)}(0,n.useEffect)((()=>{if(f)return addEventListener("mousedown",onWindowCaptureMouseDown,{capture:!0}),()=>{removeEventListener("mousedown",onWindowCaptureMouseDown,{capture:!0}),cancelFrameRequest()};function onWindowCaptureMouseDown(){d.current=requestAnimationFrame(p)}}),[f,p]);const{cellClass:m}=t,g=getCellClassname(t,"rdg-editor-container","function"==typeof m?m(i):m,!t.editorOptions?.displayCellContent&&z);return(0,a.jsx)("div",{role:"gridcell","aria-colindex":t.idx+1,"aria-colspan":e,"aria-selected":!0,className:g,style:getCellStyle(t,e),onKeyDown:function handleKeyDown(e){if(h){const n=createCellEvent(e);if(h({mode:"EDIT",row:i,column:t,rowIdx:o,navigate(){c(e)},onClose},n),n.isGridDefaultPrevented())return}"Escape"===e.key?onClose():"Enter"===e.key?onClose(!0):function onEditorNavigation({key:t,target:e}){return"Tab"===t&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)&&1===e.closest(".rdg-editor-container")?.querySelectorAll("input, textarea, select").length}(e)&&c(e)},onMouseDownCapture:cancelFrameRequest,children:null!=t.renderEditCell&&(0,a.jsxs)(a.Fragment,{children:[t.renderEditCell({column:t,row:i,onRowChange:onEditorRowChange,onClose}),t.editorOptions?.displayCellContent&&t.renderCell({column:t,row:i,rowIdx:o,isCellEditable:!0,tabIndex:-1,onRowChange:onEditorRowChange})]})})}function GroupedColumnHeaderCell({column:t,rowIdx:e,isCellSelected:i,selectCell:n}){const{tabIndex:o,onFocus:l}=useRovingTabIndex(i),{colSpan:h}=t,d=getHeaderCellRowSpan(t,e),f=t.idx+1;return(0,a.jsx)("div",{role:"columnheader","aria-colindex":f,"aria-colspan":h,"aria-rowspan":d,"aria-selected":i,tabIndex:o,className:(0,s.A)(c,t.headerCellClass),style:{...getHeaderCellStyle(t,e,d),gridColumnStart:f,gridColumnEnd:f+h},onFocus:l,onClick:function onClick(){n({idx:t.idx,rowIdx:e})},children:t.name})}const I="h44jtk67-0-0-beta-44",W="rdg-header-sort-name hcgkhxz7-0-0-beta-44";function renderHeaderCell({column:t,sortDirection:e,priority:i}){return t.sortable?(0,a.jsx)(SortableHeaderCell,{sortDirection:e,priority:i,children:t.name}):t.name}function SortableHeaderCell({sortDirection:t,priority:e,children:i}){const n=useDefaultRenderers().renderSortStatus;return(0,a.jsxs)("span",{className:I,children:[(0,a.jsx)("span",{className:W,children:i}),(0,a.jsx)("span",{children:n({sortDirection:t,priority:e})})]})}const B="c6l2wv17-0-0-beta-44",V="rdg-cell-resizable c1kqdw7y7-0-0-beta-44",X="r1y6ywlx7-0-0-beta-44",N="rdg-cell-draggable",j="rdg-cell-dragging c1bezg5o7-0-0-beta-44",q="rdg-cell-drag-over c1vc96037-0-0-beta-44";function HeaderCell({column:t,colSpan:e,rowIdx:i,isCellSelected:o,onColumnResize:s,onColumnsReorder:l,sortColumns:h,onSortColumnsChange:c,selectCell:d,shouldFocusGrid:f,direction:p,dragDropKey:m}){const[g,O]=(0,n.useState)(!1),[v,y]=(0,n.useState)(!1),b="rtl"===p,x=getHeaderCellRowSpan(t,i),{tabIndex:_,childTabIndex:S,onFocus:P}=useRovingTabIndex(o),k=h?.findIndex((e=>e.columnKey===t.key)),C=void 0!==k&&k>-1?h[k]:void 0,Q=C?.direction,T=void 0!==C&&h.length>1?k+1:void 0,A=Q&&!T?"ASC"===Q?"ascending":"descending":void 0,{sortable:R,resizable:Z,draggable:M}=t,L=getCellClassname(t,t.headerCellClass,R&&B,Z&&V,M&&N,g&&j,v&&q),E=t.renderHeaderCell??renderHeaderCell;function onSort(e){if(null==c)return;const{sortDescendingFirst:i}=t;if(void 0===C){const n={columnKey:t.key,direction:i?"DESC":"ASC"};c(h&&e?[...h,n]:[n])}else{let n;if((!0===i&&"DESC"===Q||!0!==i&&"ASC"===Q)&&(n={columnKey:t.key,direction:"ASC"===Q?"DESC":"ASC"}),e){const t=[...h];n?t[k]=n:t.splice(k,1),c(t)}else c(n?[n]:[])}}let D;return M&&(D={draggable:!0,onDragStart:function onDragStart(e){e.dataTransfer.setData(m,t.key),e.dataTransfer.dropEffect="move",O(!0)},onDragEnd:function onDragEnd(){O(!1)},onDragOver:function onDragOver(t){t.preventDefault(),t.dataTransfer.dropEffect="move"},onDragEnter:function onDragEnter(t){isEventPertinent(t)&&y(!0)},onDragLeave:function onDragLeave(t){isEventPertinent(t)&&y(!1)},onDrop:function onDrop(e){if(y(!1),e.dataTransfer.types.includes(m)){const i=e.dataTransfer.getData(m);i!==t.key&&(e.preventDefault(),l?.(i,t.key))}}}),(0,a.jsxs)("div",{role:"columnheader","aria-colindex":t.idx+1,"aria-colspan":e,"aria-rowspan":x,"aria-selected":o,"aria-sort":A,tabIndex:f?0:_,className:L,style:{...getHeaderCellStyle(t,i,x),...getCellStyle(t,e)},onFocus:function handleFocus(t){P?.(t),f&&d({idx:0,rowIdx:i})},onClick:function onClick(e){d({idx:t.idx,rowIdx:i}),R&&onSort(e.ctrlKey||e.metaKey)},onKeyDown:R?function onKeyDown(t){" "!==t.key&&"Enter"!==t.key||(t.preventDefault(),onSort(t.ctrlKey||t.metaKey))}:void 0,...D,children:[E({column:t,sortDirection:Q,priority:T,tabIndex:S}),Z&&(0,a.jsx)("div",{className:X,onClick:stopPropagation,onDoubleClick:function onDoubleClick(){s(t,"max-content")},onPointerDown:function onPointerDown(e){if("mouse"===e.pointerType&&1!==e.buttons)return;e.preventDefault();const{currentTarget:i,pointerId:n}=e,o=i.parentElement,{right:a,left:l}=o.getBoundingClientRect(),h=b?e.clientX-l:a-e.clientX;function onPointerMove(e){const{right:i,left:n}=o.getBoundingClientRect(),a=b?i+h-e.clientX:e.clientX+h-n;a>0&&s(t,clampColumnWidth(a,t))}i.setPointerCapture(n),i.addEventListener("pointermove",onPointerMove),i.addEventListener("lostpointercapture",(function onLostPointerCapture(){i.removeEventListener("pointermove",onPointerMove),i.removeEventListener("lostpointercapture",onLostPointerCapture)}))}})]})}function isEventPertinent(t){const e=t.relatedTarget;return!t.currentTarget.contains(e)}const Y="rdg-row r1upfr807-0-0-beta-44",U="rdg-row-selected",G="rdg-header-row h10tskcx7-0-0-beta-44";function HeaderRow({rowIdx:t,columns:e,onColumnResize:i,onColumnsReorder:o,sortColumns:l,onSortColumnsChange:h,lastFrozenColumnIndex:c,selectedCellIdx:d,selectCell:f,shouldFocusGrid:p,direction:m}){const g=(0,n.useId)(),O=[];for(let n=0;n<e.length;n++){const s=e[n],v=getColSpan(s,c,{type:"HEADER"});void 0!==v&&(n+=v-1),O.push((0,a.jsx)(HeaderCell,{column:s,colSpan:v,rowIdx:t,isCellSelected:d===s.idx,onColumnResize:i,onColumnsReorder:o,onSortColumnsChange:h,sortColumns:l,selectCell:f,shouldFocusGrid:p&&0===n,direction:m,dragDropKey:g},s.key))}return(0,a.jsx)("div",{role:"row","aria-rowindex":t,className:(0,s.A)(G,-1===d&&U),children:O})}const H=(0,n.memo)(HeaderRow);function GroupedColumnHeaderRow({rowIdx:t,level:e,columns:i,selectedCellIdx:n,selectCell:o}){const s=[],l=new Set;for(const h of i){let{parent:i}=h;if(void 0!==i){for(;i.level>e&&void 0!==i.parent;)i=i.parent;if(i.level===e&&!l.has(i)){l.add(i);const{idx:e}=i;s.push((0,a.jsx)(GroupedColumnHeaderCell,{column:i,rowIdx:t,isCellSelected:n===e,selectCell:o},e))}}}return(0,a.jsx)("div",{role:"row","aria-rowindex":t,className:G,children:s})}const K=(0,n.memo)(GroupedColumnHeaderRow);function Row({className:t,rowIdx:e,gridRowStart:i,height:n,selectedCellIdx:o,isRowSelected:l,copiedCellIdx:h,draggedOverCellIdx:c,lastFrozenColumnIndex:d,row:f,viewportColumns:p,selectedCellEditor:m,onCellClick:g,onCellDoubleClick:O,onCellContextMenu:v,rowClass:y,setDraggedOverRowIdx:b,onMouseEnter:x,onRowChange:_,selectCell:S,...P},C){const Q=useDefaultRenderers().renderCell,T=useLatestFunc(((t,i)=>{_(t,e,i)}));t=(0,s.A)(Y,"rdg-row-"+(e%2==0?"even":"odd"),y?.(f,e),t,-1===o&&U);const A=[];for(let t=0;t<p.length;t++){const i=p[t],{idx:n}=i,s=getColSpan(i,d,{type:"ROW",row:f});void 0!==s&&(t+=s-1);const a=o===n;a&&m?A.push(m):A.push(Q(i.key,{column:i,colSpan:s,row:f,rowIdx:e,isCopied:h===n,isDraggedOver:c===n,isCellSelected:a,onClick:g,onDoubleClick:O,onContextMenu:v,onRowChange:T,selectCell:S}))}return(0,a.jsx)(k,{value:l,children:(0,a.jsx)("div",{role:"row",ref:C,className:t,onMouseEnter:function handleDragEnter(t){b?.(e),x?.(t)},style:getRowStyle(i,n),...P,children:A})})}const J=(0,n.memo)((0,n.forwardRef)(Row));function defaultRenderRow(t,e){return(0,a.jsx)(J,{...e},t)}function ScrollToCell({scrollToPosition:{idx:t,rowIdx:e},gridElement:i,setScrollToCellPosition:o}){const s=(0,n.useRef)(null);return Z((()=>{scrollIntoView(s.current)})),Z((()=>{const t=new IntersectionObserver((function removeScrollToCell(){o(null)}),{root:i,threshold:1});return t.observe(s.current),()=>{t.disconnect()}}),[i,o]),(0,a.jsx)("div",{ref:s,style:{gridColumn:void 0===t?"1/-1":t+1,gridRow:void 0===e?"1/-1":e+2}})}const tt="rdg-sort-arrow a3ejtar7-0-0-beta-44";function renderSortStatus({sortDirection:t,priority:e}){return(0,a.jsxs)(a.Fragment,{children:[renderSortIcon({sortDirection:t}),renderSortPriority({priority:e})]})}function renderSortIcon({sortDirection:t}){return void 0===t?null:(0,a.jsx)("svg",{viewBox:"0 0 12 8",width:"12",height:"8",className:tt,"aria-hidden":!0,children:(0,a.jsx)("path",{d:"ASC"===t?"M0 8 6 0 12 8":"M0 0 6 8 12 0"})})}function renderSortPriority({priority:t}){return t}function SummaryCell({column:t,colSpan:e,row:i,rowIdx:n,isCellSelected:o,selectCell:s}){const{tabIndex:l,childTabIndex:h,onFocus:c}=useRovingTabIndex(o),{summaryCellClass:d}=t,f=getCellClassname(t,"s8wc6fl7-0-0-beta-44","function"==typeof d?d(i):d);return(0,a.jsx)("div",{role:"gridcell","aria-colindex":t.idx+1,"aria-colspan":e,"aria-selected":o,tabIndex:l,className:f,style:getCellStyle(t,e),onClick:function onClick(){s({rowIdx:n,idx:t.idx})},onFocus:c,children:t.renderSummaryCell?.({column:t,row:i,tabIndex:h})})}const et=(0,n.memo)(SummaryCell);function SummaryRow({rowIdx:t,gridRowStart:e,row:i,viewportColumns:n,top:o,bottom:l,lastFrozenColumnIndex:h,selectedCellIdx:c,isTop:d,selectCell:f,"aria-rowindex":p}){const m=[];for(let e=0;e<n.length;e++){const o=n[e],s=getColSpan(o,h,{type:"SUMMARY",row:i});void 0!==s&&(e+=s-1);const l=c===o.idx;m.push((0,a.jsx)(et,{column:o,colSpan:s,row:i,rowIdx:t,isCellSelected:l,selectCell:f},o.key))}return(0,a.jsx)("div",{role:"row","aria-rowindex":p,className:(0,s.A)(Y,"rdg-row-"+(t%2==0?"even":"odd"),"rdg-summary-row skuhp557-0-0-beta-44",d?"rdg-top-summary-row tf8l5ub7-0-0-beta-44":"rdg-bottom-summary-row",-1===c&&U),style:{...getRowStyle(e),"--rdg-summary-row-top":void 0!==o?`${o}px`:void 0,"--rdg-summary-row-bottom":void 0!==l?`${l}px`:void 0},children:m})}const it=(0,n.memo)(SummaryRow);function DataGrid(t,e){const{columns:i,rows:h,topSummaryRows:c,bottomSummaryRows:d,rowKeyGetter:v,onRowsChange:y,rowHeight:b,headerRowHeight:x,summaryRowHeight:_,selectedRows:P,onSelectedRowsChange:C,sortColumns:T,onSortColumnsChange:A,defaultColumnOptions:R,onCellClick:M,onCellDoubleClick:L,onCellContextMenu:E,onCellKeyDown:D,onSelectedCellChange:z,onScroll:I,onColumnResize:W,onColumnsReorder:B,onFill:V,onCopy:X,onPaste:N,enableVirtualization:j,renderers:q,className:Y,style:U,rowClass:G,direction:J,role:tt,"aria-label":et,"aria-labelledby":nt,"aria-describedby":ot,"aria-rowcount":rt,"data-testid":st}=t,at=useDefaultRenderers(),lt=tt??"grid",ht=b??35,ct=x??("number"==typeof ht?ht:35),dt=_??("number"==typeof ht?ht:35),ut=q?.renderRow??at?.renderRow??defaultRenderRow,ft=q?.renderCell??at?.renderCell??defaultRenderCell,pt=q?.renderSortStatus??at?.renderSortStatus??renderSortStatus,mt=q?.renderCheckbox??at?.renderCheckbox??renderCheckbox,gt=q?.noRowsFallback??at?.noRowsFallback,Ot=j??!0,vt=J??"ltr",[yt,wt]=(0,n.useState)(0),[bt,xt]=(0,n.useState)(0),[_t,St]=(0,n.useState)((()=>new Map)),[Pt,kt]=(0,n.useState)((()=>new Map)),[Ct,Qt]=(0,n.useState)(null),[Tt,$t]=(0,n.useState)(!1),[At,Rt]=(0,n.useState)(void 0),[Zt,Mt]=(0,n.useState)(null),Lt=(0,n.useCallback)((t=>_t.get(t.key)??Pt.get(t.key)??t.width),[Pt,_t]),[Et,Dt,zt,It]=function useGridDimensions(){const t=(0,n.useRef)(null),[e,i]=(0,n.useState)(1),[s,a]=(0,n.useState)(1),[l,h]=(0,n.useState)(0);return Z((()=>{const{ResizeObserver:e}=window;if(null==e)return;const{clientWidth:n,clientHeight:s,offsetWidth:l,offsetHeight:c}=t.current,{width:d,height:f}=t.current.getBoundingClientRect(),p=c-s,m=f-p;i(d-l+n),a(m),h(p);const g=new e((e=>{const n=e[0].contentBoxSize[0],{clientHeight:s,offsetHeight:l}=t.current;(0,o.flushSync)((()=>{i(n.inlineSize),a(n.blockSize),h(l-s)}))}));return g.observe(t.current),()=>{g.disconnect()}}),[]),[t,e,s,l]}(),{columns:Wt,colSpanColumns:Bt,lastFrozenColumnIndex:Vt,headerRowsCount:Xt,colOverscanStartIdx:Nt,colOverscanEndIdx:jt,templateColumns:qt,layoutCssVars:Yt,totalFrozenColumnWidth:Ut}=useCalculatedColumns({rawColumns:i,defaultColumnOptions:R,getColumnWidth:Lt,scrollLeft:bt,viewportWidth:Dt,enableVirtualization:Ot}),Gt=c?.length??0,Ft=d?.length??0,Ht=Gt+Ft,Kt=Xt+Gt,Jt=Xt-1,te=-Kt,ee=te+Jt,ie=h.length+Ft-1,[ne,oe]=(0,n.useState)((()=>({idx:-1,rowIdx:te-1,mode:"SELECT"}))),re=(0,n.useRef)(ne),se=(0,n.useRef)(At),ae=(0,n.useRef)(-1),le=(0,n.useRef)(null),he=(0,n.useRef)(!1),ce="treegrid"===lt,de=Xt*ct,ue=Ht*dt,fe=zt-de-ue,pe=null!=P&&null!=C,me="rtl"===vt,ge=me?"ArrowRight":"ArrowLeft",Oe=me?"ArrowLeft":"ArrowRight",ve=rt??Xt+h.length+Ht,ye=(0,n.useMemo)((()=>({renderCheckbox:mt,renderSortStatus:pt,renderCell:ft})),[mt,pt,ft]),we=(0,n.useMemo)((()=>{const{length:t}=h;return 0!==t&&null!=P&&null!=v&&P.size>=t&&h.every((t=>P.has(v(t))))}),[h,P,v]),{rowOverscanStartIdx:be,rowOverscanEndIdx:xe,totalRowHeight:_e,gridTemplateRows:Se,getRowTop:Pe,getRowHeight:ke,findRowIdx:Ce}=function useViewportRows({rows:t,rowHeight:e,clientHeight:i,scrollTop:o,enableVirtualization:s}){const{totalRowHeight:a,gridTemplateRows:l,getRowTop:h,getRowHeight:c,findRowIdx:d}=(0,n.useMemo)((()=>{if("number"==typeof e)return{totalRowHeight:e*t.length,gridTemplateRows:` repeat(${t.length}, ${e}px)`,getRowTop:t=>t*e,getRowHeight:()=>e,findRowIdx:t=>m(t/e)};let i=0,n=" ";const o=t.map((t=>{const o=e(t),s={top:i,height:o};return n+=`${o}px `,i+=o,s})),validateRowIdx=e=>p(0,f(t.length-1,e));return{totalRowHeight:i,gridTemplateRows:n,getRowTop:t=>o[validateRowIdx(t)].top,getRowHeight:t=>o[validateRowIdx(t)].height,findRowIdx(t){let e=0,i=o.length-1;for(;e<=i;){const n=e+m((i-e)/2),s=o[n].top;if(s===t)return n;if(s<t?e=n+1:s>t&&(i=n-1),e>i)return i}return 0}}}),[e,t]);let g=0,O=t.length-1;if(s){const e=4,n=d(o),s=d(o+i);g=p(0,n-e),O=f(t.length-1,s+e)}return{rowOverscanStartIdx:g,rowOverscanEndIdx:O,totalRowHeight:a,gridTemplateRows:l,getRowTop:h,getRowHeight:c,findRowIdx:d}}({rows:h,rowHeight:ht,clientHeight:fe,scrollTop:yt,enableVirtualization:Ot}),Qe=function useViewportColumns({columns:t,colSpanColumns:e,rows:i,topSummaryRows:o,bottomSummaryRows:s,colOverscanStartIdx:a,colOverscanEndIdx:l,lastFrozenColumnIndex:h,rowOverscanStartIdx:c,rowOverscanEndIdx:d}){const f=(0,n.useMemo)((()=>{if(0===a)return 0;let t=a;const updateStartIdx=(e,i)=>void 0!==i&&e+i>a&&(t=e,!0);for(const n of e){const e=n.idx;if(e>=t)break;if(updateStartIdx(e,getColSpan(n,h,{type:"HEADER"})))break;for(let t=c;t<=d;t++){const o=i[t];if(updateStartIdx(e,getColSpan(n,h,{type:"ROW",row:o})))break}if(null!=o)for(const t of o)if(updateStartIdx(e,getColSpan(n,h,{type:"SUMMARY",row:t})))break;if(null!=s)for(const t of s)if(updateStartIdx(e,getColSpan(n,h,{type:"SUMMARY",row:t})))break}return t}),[c,d,i,o,s,a,h,e]);return(0,n.useMemo)((()=>{const e=[];for(let i=0;i<=l;i++){const n=t[i];i<f&&!n.frozen||e.push(n)}return e}),[f,l,t])}({columns:Wt,colSpanColumns:Bt,colOverscanStartIdx:Nt,colOverscanEndIdx:jt,lastFrozenColumnIndex:Vt,rowOverscanStartIdx:be,rowOverscanEndIdx:xe,rows:h,topSummaryRows:c,bottomSummaryRows:d}),{gridTemplateColumns:Te,handleColumnResize:$e}=function useColumnWidths(t,e,i,s,a,l,h,c,d,f){const p=(0,n.useRef)(a),m=t.length===e.length,g=m&&a!==p.current,O=[...i],v=[];for(const{key:t,idx:i,width:n}of e)"string"!=typeof n||!g&&h.has(t)||l.has(t)||(O[i]=n,v.push(t));const y=O.join(" ");function updateMeasuredWidths(t){0!==t.length&&d((e=>{const i=new Map(e);let n=!1;for(const o of t){const t=measureColumnWidth(s,o);n||=t!==e.get(o),void 0===t?i.delete(o):i.set(o,t)}return n?i:e}))}return Z((()=>{p.current=a,updateMeasuredWidths(v)})),{gridTemplateColumns:y,handleColumnResize:function handleColumnResize(t,n){const{key:a}=t,h=[...i],d=[];for(const{key:t,idx:i,width:o}of e)if(a===t){const t="number"==typeof n?`${n}px`:n;h[i]=t}else m&&"string"==typeof o&&!l.has(t)&&(h[i]=o,d.push(t));s.current.style.gridTemplateColumns=h.join(" ");const p="number"==typeof n?n:measureColumnWidth(s,a);(0,o.flushSync)((()=>{c((t=>{const e=new Map(t);return e.set(a,p),e})),updateMeasuredWidths(d)})),f?.(t.idx,p)}}}(Wt,Qe,qt,Et,Dt,_t,Pt,St,kt,W),Ae=ce?-1:0,Re=Wt.length-1,Ze=isCellWithinSelectionBounds(ne),Me=isCellWithinViewportBounds(ne),Le=ct+_e+ue+It,Ee=useLatestFunc($e),De=useLatestFunc(B),ze=useLatestFunc(A),Ie=useLatestFunc(M),We=useLatestFunc(L),Be=useLatestFunc(E),Ve=useLatestFunc(selectRow),Xe=useLatestFunc(updateRow),Ne=useLatestFunc(selectCell),je=useLatestFunc((({idx:t,rowIdx:e})=>{selectCell({rowIdx:te+e-1,idx:t})}));Z((()=>{Ze&&!isSamePosition(ne,re.current)?(re.current=ne,-1===ne.idx&&(le.current.focus({preventScroll:!0}),scrollIntoView(le.current))):re.current=ne})),Z((()=>{he.current&&(he.current=!1,focusCellOrCellContent())})),(0,n.useImperativeHandle)(e,(()=>({element:Et.current,selectedCell:ne,scrollToCell({idx:t,rowIdx:e}){const i=void 0!==t&&t>Vt&&t<Wt.length?t:void 0,n=void 0!==e&&isRowIdxWithinViewportBounds(e)?e:void 0;void 0===i&&void 0===n||Mt({idx:i,rowIdx:n})},selectCell})));const qe=(0,n.useCallback)((t=>{Rt(t),se.current=t}),[]);function selectRow(t){if(!C)return;if(assertIsValidKeyGetter(v),"HEADER"===t.type){const e=new Set(P);for(const i of h){const n=v(i);t.checked?e.add(n):e.delete(n)}return void C(e)}const{row:e,checked:i,isShiftClick:n}=t,o=new Set(P),s=v(e);if(i){o.add(s);const t=ae.current,i=h.indexOf(e);if(ae.current=i,n&&-1!==t&&t!==i){const e=g(i-t);for(let n=t+e;n!==i;n+=e){const t=h[n];o.add(v(t))}}}else o.delete(s),ae.current=-1;C(o)}function updateRow(t,e,i){if("function"!=typeof y)return;if(i===h[e])return;const n=[...h];n[e]=i,y(n,{indexes:[e],column:t})}function commitEditorChanges(){"EDIT"===ne.mode&&updateRow(Wt[ne.idx],ne.rowIdx,ne.row)}function isColIdxWithinSelectionBounds(t){return t>=Ae&&t<=Re}function isRowIdxWithinViewportBounds(t){return t>=0&&t<h.length}function isCellWithinSelectionBounds({idx:t,rowIdx:e}){return e>=te&&e<=ie&&isColIdxWithinSelectionBounds(t)}function isCellWithinViewportBounds({idx:t,rowIdx:e}){return isRowIdxWithinViewportBounds(e)&&isColIdxWithinSelectionBounds(t)}function isCellEditable(t){return function isCellWithinEditBounds({idx:t,rowIdx:e}){return isRowIdxWithinViewportBounds(e)&&t>=0&&t<=Re}(t)&&function isSelectedCellEditable({selectedPosition:t,columns:e,rows:i}){return isCellEditableUtil(e[t.idx],i[t.rowIdx])}({columns:Wt,rows:h,selectedPosition:t})}function selectCell(t,e){if(!isCellWithinSelectionBounds(t))return;commitEditorChanges();const i=h[t.rowIdx],n=isSamePosition(ne,t);e&&isCellEditable(t)?oe({...t,mode:"EDIT",row:i,originalRow:i}):n?scrollIntoView(getCellToScroll(Et.current)):(he.current=!0,oe({...t,mode:"SELECT"})),z&&!n&&z({rowIdx:t.rowIdx,row:i,column:Wt[t.idx]})}function navigate(t){const{key:e,shiftKey:i}=t;let n="NONE";if("Tab"===e){if(function canExitGrid({maxColIdx:t,minRowIdx:e,maxRowIdx:i,selectedPosition:{rowIdx:n,idx:o},shiftKey:s}){return s?0===o&&n===e:o===t&&n===i}({shiftKey:i,maxColIdx:Re,minRowIdx:te,maxRowIdx:ie,selectedPosition:ne}))return void commitEditorChanges();n="CHANGE_ROW"}t.preventDefault();const o=function getNextPosition(t,e,i){const{idx:n,rowIdx:o}=ne,s=Ze&&-1===n;switch(t){case"ArrowUp":return{idx:n,rowIdx:o-1};case"ArrowDown":return{idx:n,rowIdx:o+1};case ge:return{idx:n-1,rowIdx:o};case Oe:return{idx:n+1,rowIdx:o};case"Tab":return{idx:n+(i?-1:1),rowIdx:o};case"Home":return s?{idx:n,rowIdx:te}:{idx:0,rowIdx:e?te:o};case"End":return s?{idx:n,rowIdx:ie}:{idx:Re,rowIdx:e?ie:o};case"PageUp":{if(ne.rowIdx===te)return ne;const t=Pe(o)+ke(o)-fe;return{idx:n,rowIdx:t>0?Ce(t):0}}case"PageDown":{if(ne.rowIdx>=h.length)return ne;const t=Pe(o)+fe;return{idx:n,rowIdx:t<_e?Ce(t):h.length-1}}default:return ne}}(e,isCtrlKeyHeldDown(t),i);if(isSamePosition(ne,o))return;selectCell(getNextSelectedCellPosition({moveUp:"ArrowUp"===e,moveNext:e===Oe||"Tab"===e&&!i,columns:Wt,colSpanColumns:Bt,rows:h,topSummaryRows:c,bottomSummaryRows:d,minRowIdx:te,mainHeaderRowIdx:ee,maxRowIdx:ie,lastFrozenColumnIndex:Vt,cellNavigationMode:n,currentPosition:ne,nextPosition:o,isCellWithinBounds:isCellWithinSelectionBounds}))}function getDraggedOverCellIdx(t){if(void 0===At)return;const{rowIdx:e}=ne;return(e<At?e<t&&t<=At:e>t&&t>=At)?ne.idx:void 0}function focusCellOrCellContent(){const t=getCellToScroll(Et.current);if(null===t)return;scrollIntoView(t);(t.querySelector('[tabindex="0"]')??t).focus({preventScroll:!0})}function getCellEditor(t){if(ne.rowIdx!==t||"SELECT"===ne.mode)return;const{idx:e,row:i}=ne,n=Wt[e],s=getColSpan(n,Vt,{type:"ROW",row:i}),closeEditor=t=>{he.current=t,oe((({idx:t,rowIdx:e})=>({idx:t,rowIdx:e,mode:"SELECT"})))};return h[ne.rowIdx]!==ne.originalRow&&closeEditor(!1),(0,a.jsx)(EditCell,{column:n,colSpan:s,row:i,rowIdx:t,onRowChange:(t,e,i)=>{e?(0,o.flushSync)((()=>{updateRow(n,ne.rowIdx,t),closeEditor(i)})):oe((e=>({...e,row:t})))},closeEditor,onKeyDown:D,navigate},n.key)}function getRowViewportColumns(t){const e=-1===ne.idx?void 0:Wt[ne.idx];return void 0===e||ne.rowIdx!==t||Qe.includes(e)?Qe:ne.idx>jt?[...Qe,e]:[...Qe.slice(0,Vt+1),e,...Qe.slice(Vt+1)]}(ne.idx>Re||ne.rowIdx>ie)&&(oe({idx:-1,rowIdx:te-1,mode:"SELECT"}),qe(void 0));let Ye=`repeat(${Xt}, ${ct}px)`;Gt>0&&(Ye+=` repeat(${Gt}, ${dt}px)`),h.length>0&&(Ye+=Se),Ft>0&&(Ye+=` repeat(${Ft}, ${dt}px)`);const Ue=-1===ne.idx&&ne.rowIdx!==te-1;return(0,a.jsxs)("div",{role:lt,"aria-label":et,"aria-labelledby":nt,"aria-describedby":ot,"aria-multiselectable":!!pe||void 0,"aria-colcount":Wt.length,"aria-rowcount":ve,className:(0,s.A)("rdg rnvodz57-0-0-beta-44",Y,Tt&&"rdg-viewport-dragging vlqv91k7-0-0-beta-44"),style:{...U,scrollPaddingInlineStart:ne.idx>Vt||void 0!==Zt?.idx?`${Ut}px`:void 0,scrollPaddingBlock:isRowIdxWithinViewportBounds(ne.rowIdx)||void 0!==Zt?.rowIdx?`${de+Gt*dt}px ${Ft*dt}px`:void 0,gridTemplateColumns:Te,gridTemplateRows:Ye,"--rdg-header-row-height":`${ct}px`,"--rdg-summary-row-height":`${dt}px`,"--rdg-scroll-height":`${Le}px`,"--rdg-sign":me?-1:1,...Yt},dir:vt,ref:Et,onScroll:function handleScroll(t){const{scrollTop:e,scrollLeft:i}=t.currentTarget;(0,o.flushSync)((()=>{wt(e),xt(O(i))})),I?.(t)},onKeyDown:function handleKeyDown(t){const{idx:e,rowIdx:i,mode:n}=ne;if("EDIT"===n)return;if(D&&isRowIdxWithinViewportBounds(i)){const n=h[i],o=createCellEvent(t);if(D({mode:"SELECT",row:n,column:Wt[e],rowIdx:i,selectCell},o),o.isGridDefaultPrevented())return}if(!(t.target instanceof Element))return;const o=null!==t.target.closest(".rdg-cell"),s=ce&&t.target===le.current;if(!o&&!s)return;const{keyCode:a}=t;if(Me&&(null!=N||null!=X)&&isCtrlKeyHeldDown(t)){const t=86;if(a===67){if(!1===window.getSelection()?.isCollapsed)return;return void function handleCopy(){const{idx:t,rowIdx:e}=ne,i=h[e],n=Wt[t].key;Qt({row:i,columnKey:n}),X?.({sourceRow:i,sourceColumnKey:n})}()}if(a===t)return void function handlePaste(){if(!N||!y||null===Ct||!isCellEditable(ne))return;const{idx:t,rowIdx:e}=ne,i=Wt[t],n=h[e],o=N({sourceRow:Ct.row,sourceColumnKey:Ct.columnKey,targetRow:n,targetColumnKey:i.key});updateRow(i,e,o)}()}switch(t.key){case"Escape":return void Qt(null);case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"Tab":case"Home":case"End":case"PageUp":case"PageDown":navigate(t);break;default:!function handleCellInput(t){if(!Me)return;const e=h[ne.rowIdx],{key:i,shiftKey:n}=t;if(pe&&n&&" "===i){assertIsValidKeyGetter(v);const i=v(e);return selectRow({type:"ROW",row:e,checked:!P.has(i),isShiftClick:!1}),void t.preventDefault()}isCellEditable(ne)&&function isDefaultCellInput(t){return!(isCtrlKeyHeldDown(t)&&86!==t.keyCode||l.has(t.key))}(t)&&oe((({idx:t,rowIdx:i})=>({idx:t,rowIdx:i,mode:"EDIT",row:e,originalRow:e})))}(t)}},"data-testid":st,children:[(0,a.jsx)(S,{value:ye,children:(0,a.jsxs)(Q,{value:Ve,children:[(0,a.jsxs)(k,{value:we,children:[Array.from({length:Jt},((t,e)=>(0,a.jsx)(K,{rowIdx:e+1,level:-Jt+e,columns:getRowViewportColumns(te+e),selectedCellIdx:ne.rowIdx===te+e?ne.idx:void 0,selectCell:je},e))),(0,a.jsx)(H,{rowIdx:Xt,columns:getRowViewportColumns(ee),onColumnResize:Ee,onColumnsReorder:De,sortColumns:T,onSortColumnsChange:ze,lastFrozenColumnIndex:Vt,selectedCellIdx:ne.rowIdx===ee?ne.idx:void 0,selectCell:je,shouldFocusGrid:!Ze,direction:vt})]}),0===h.length&>?gt:(0,a.jsxs)(a.Fragment,{children:[c?.map(((t,e)=>{const i=Xt+1+e,n=ee+1+e,o=ne.rowIdx===n,s=de+dt*e;return(0,a.jsx)(it,{"aria-rowindex":i,rowIdx:n,gridRowStart:i,row:t,top:s,bottom:void 0,viewportColumns:getRowViewportColumns(n),lastFrozenColumnIndex:Vt,selectedCellIdx:o?ne.idx:void 0,isTop:!0,selectCell:Ne},e)})),function getViewportRows(){const t=[],{idx:e,rowIdx:i}=ne,n=Me&&i>xe?xe+1:xe;for(let o=Me&&i<be?be-1:be;o<=n;o++){const n=o===be-1||o===xe+1,s=n?i:o;let a=Qe;const l=-1===e?void 0:Wt[e];void 0!==l&&(a=n?[l]:getRowViewportColumns(s));const c=h[s],d=Kt+s+1;let f=s,p=!1;"function"==typeof v&&(f=v(c),p=P?.has(f)??!1),t.push(ut(f,{"aria-rowindex":Kt+s+1,"aria-selected":pe?p:void 0,rowIdx:s,row:c,viewportColumns:a,isRowSelected:p,onCellClick:Ie,onCellDoubleClick:We,onCellContextMenu:Be,rowClass:G,gridRowStart:d,height:ke(s),copiedCellIdx:null!==Ct&&Ct.row===c?Wt.findIndex((t=>t.key===Ct.columnKey)):void 0,selectedCellIdx:i===s?e:void 0,draggedOverCellIdx:getDraggedOverCellIdx(s),setDraggedOverRowIdx:Tt?qe:void 0,lastFrozenColumnIndex:Vt,onRowChange:Xe,selectCell:Ne,selectedCellEditor:getCellEditor(s)}))}return t}(),d?.map(((t,e)=>{const i=Kt+h.length+e+1,n=h.length+e,o=ne.rowIdx===n,s=fe>_e?zt-dt*(d.length-e):void 0,l=void 0===s?dt*(d.length-1-e):void 0;return(0,a.jsx)(it,{"aria-rowindex":ve-Ft+e+1,rowIdx:n,gridRowStart:i,row:t,top:s,bottom:l,viewportColumns:getRowViewportColumns(n),lastFrozenColumnIndex:Vt,selectedCellIdx:o?ne.idx:void 0,isTop:!1,selectCell:Ne},e)}))]})]})}),function renderDragHandle(){if(null==V||"EDIT"===ne.mode||!isCellWithinViewportBounds(ne))return;const{idx:t,rowIdx:e}=ne,i=Wt[t];if(null==i.renderEditCell||!1===i.editable)return;const n=Lt(i);return(0,a.jsx)(DragHandle,{gridRowStart:Kt+e+1,rows:h,column:i,columnWidth:n,maxColIdx:Re,isLastRow:e===ie,selectedPosition:ne,isCellEditable,latestDraggedOverRowIdx:se,onRowsChange:y,onClick:focusCellOrCellContent,onFill:V,setDragging:$t,setDraggedOverRowIdx:qe})}(),renderMeasuringCells(Qe),ce&&(0,a.jsx)("div",{ref:le,tabIndex:Ue?0:-1,className:(0,s.A)("f1lsfrzw7-0-0-beta-44",Ue&&["r190mhd37-0-0-beta-44",-1!==Vt&&"r139qu9m7-0-0-beta-44"],!isRowIdxWithinViewportBounds(ne.rowIdx)&&"f1cte0lg7-0-0-beta-44"),style:{gridRowStart:ne.rowIdx+Kt+1}}),null!==Zt&&(0,a.jsx)(ScrollToCell,{scrollToPosition:Zt,setScrollToCellPosition:Mt,gridElement:Et.current})]})}function getCellToScroll(t){return t.querySelector(':scope > [role="row"] > [tabindex="0"]')}function isSamePosition(t,e){return t.idx===e.idx&&t.rowIdx===e.rowIdx}const nt=(0,n.forwardRef)(DataGrid)},11522:(t,e,i)=>{"use strict";i.d(e,{t2:()=>p});var n={};function memoize(t){let e=null;return()=>(null==e&&(e=t()),e)}i.r(n),i.d(n,{FILE:()=>o,HTML:()=>l,TEXT:()=>a,URL:()=>s});class EnterLeaveCounter{enter(t){const e=this.entered.length;return this.entered=function union(t,e){const i=new Set,insertItem=t=>i.add(t);t.forEach(insertItem),e.forEach(insertItem);const n=[];return i.forEach((t=>n.push(t))),n}(this.entered.filter((e=>this.isNodeInDocument(e)&&(!e.contains||e.contains(t)))),[t]),0===e&&this.entered.length>0}leave(t){const e=this.entered.length;return this.entered=function without(t,e){return t.filter((t=>t!==e))}(this.entered.filter(this.isNodeInDocument),t),e>0&&0===this.entered.length}reset(){this.entered=[]}constructor(t){this.entered=[],this.isNodeInDocument=t}}class NativeDragSource{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach((t=>{Object.defineProperty(this.item,t,{configurable:!0,enumerable:!0,get:()=>(console.warn(`Browser doesn't allow reading "${t}" until the drop event.`),null)})}))}loadDataTransfer(t){if(t){const e={};Object.keys(this.config.exposeProperties).forEach((i=>{const n=this.config.exposeProperties[i];null!=n&&(e[i]={value:n(t,this.config.matchesTypes),configurable:!0,enumerable:!0})})),Object.defineProperties(this.item,e)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(t,e){return e===t.getSourceId()}endDrag(){}constructor(t){this.config=t,this.item={},this.initializeExposedProperties()}}const o="__NATIVE_FILE__",s="__NATIVE_URL__",a="__NATIVE_TEXT__",l="__NATIVE_HTML__";function getDataFromDataTransfer(t,e,i){const n=e.reduce(((e,i)=>e||t.getData(i)),"");return null!=n?n:i}const h={[o]:{exposeProperties:{files:t=>Array.prototype.slice.call(t.files),items:t=>t.items,dataTransfer:t=>t},matchesTypes:["Files"]},[l]:{exposeProperties:{html:(t,e)=>getDataFromDataTransfer(t,e,""),dataTransfer:t=>t},matchesTypes:["Html","text/html"]},[s]:{exposeProperties:{urls:(t,e)=>getDataFromDataTransfer(t,e,"").split("\n"),dataTransfer:t=>t},matchesTypes:["Url","text/uri-list"]},[a]:{exposeProperties:{text:(t,e)=>getDataFromDataTransfer(t,e,""),dataTransfer:t=>t},matchesTypes:["Text","text/plain"]}};function matchNativeItemType(t){if(!t)return null;const e=Array.prototype.slice.call(t.types||[]);return Object.keys(h).filter((t=>{const i=h[t];return!!(null==i?void 0:i.matchesTypes)&&i.matchesTypes.some((t=>e.indexOf(t)>-1))}))[0]||null}const c=memoize((()=>/firefox/i.test(navigator.userAgent))),d=memoize((()=>Boolean(window.safari)));class MonotonicInterpolant{interpolate(t){const{xs:e,ys:i,c1s:n,c2s:o,c3s:s}=this;let a=e.length-1;if(t===e[a])return i[a];let l,h=0,c=s.length-1;for(;h<=c;){l=Math.floor(.5*(h+c));const n=e[l];if(n<t)h=l+1;else{if(!(n>t))return i[l];c=l-1}}a=Math.max(0,c);const d=t-e[a],f=d*d;return i[a]+n[a]*d+o[a]*f+s[a]*d*f}constructor(t,e){const{length:i}=t,n=[];for(let t=0;t<i;t++)n.push(t);n.sort(((e,i)=>t[e]<t[i]?-1:1));const o=[],s=[],a=[];let l,h;for(let n=0;n<i-1;n++)l=t[n+1]-t[n],h=e[n+1]-e[n],s.push(l),o.push(h),a.push(h/l);const c=[a[0]];for(let t=0;t<s.length-1;t++){const e=a[t],i=a[t+1];if(e*i<=0)c.push(0);else{l=s[t];const n=s[t+1],o=l+n;c.push(3*o/((o+n)/e+(o+l)/i))}}c.push(a[a.length-1]);const d=[],f=[];let p;for(let t=0;t<c.length-1;t++){p=a[t];const e=c[t],i=1/s[t],n=e+c[t+1]-p-p;d.push((p-e-n)*i),f.push(n*i*i)}this.xs=t,this.ys=e,this.c1s=c,this.c2s=d,this.c3s=f}}const f=1;function getNodeClientOffset(t){const e=t.nodeType===f?t:t.parentElement;if(!e)return null;const{top:i,left:n}=e.getBoundingClientRect();return{x:n,y:i}}function getEventClientOffset(t){return{x:t.clientX,y:t.clientY}}function getDragPreviewOffset(t,e,i,n,o){const s=function isImageNode(t){var e;return"IMG"===t.nodeName&&(c()||!(null===(e=document.documentElement)||void 0===e?void 0:e.contains(t)))}(e),a=getNodeClientOffset(s?t:e),l={x:i.x-a.x,y:i.y-a.y},{offsetWidth:h,offsetHeight:f}=t,{anchorX:p,anchorY:m}=n,{dragPreviewWidth:g,dragPreviewHeight:O}=function getDragPreviewSize(t,e,i,n){let o=t?e.width:i,s=t?e.height:n;return d()&&t&&(s/=window.devicePixelRatio,o/=window.devicePixelRatio),{dragPreviewWidth:o,dragPreviewHeight:s}}(s,e,h,f),{offsetX:v,offsetY:y}=o,b=0===y||y;return{x:0===v||v?v:new MonotonicInterpolant([0,.5,1],[l.x,l.x/h*g,l.x+g-h]).interpolate(p),y:b?y:(()=>{let t=new MonotonicInterpolant([0,.5,1],[l.y,l.y/f*O,l.y+O-f]).interpolate(m);return d()&&s&&(t+=(window.devicePixelRatio-1)*O),t})()}}class OptionsReader{get window(){return this.globalContext?this.globalContext:"undefined"!=typeof window?window:void 0}get document(){var t;return(null===(t=this.globalContext)||void 0===t?void 0:t.document)?this.globalContext.document:this.window?this.window.document:void 0}get rootElement(){var t;return(null===(t=this.optionsArgs)||void 0===t?void 0:t.rootElement)||this.window}constructor(t,e){this.ownerDocument=null,this.globalContext=t,this.optionsArgs=e}}function _defineProperty(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter((function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable})))),n.forEach((function(e){_defineProperty(t,e,i[e])}))}return t}class HTML5BackendImpl{profile(){var t,e;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null===(t=this.dragStartSourceIds)||void 0===t?void 0:t.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null===(e=this.dragOverTargetIds)||void 0===e?void 0:e.length)||0}}get window(){return this.options.window}get document(){return this.options.document}get rootElement(){return this.options.rootElement}setup(){const t=this.rootElement;if(void 0!==t){if(t.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");t.__isReactDndBackendSetUp=!0,this.addEventListeners(t)}}teardown(){const t=this.rootElement;var e;void 0!==t&&(t.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&(null===(e=this.window)||void 0===e||e.cancelAnimationFrame(this.asyncEndDragFrameId)))}connectDragPreview(t,e,i){return this.sourcePreviewNodeOptions.set(t,i),this.sourcePreviewNodes.set(t,e),()=>{this.sourcePreviewNodes.delete(t),this.sourcePreviewNodeOptions.delete(t)}}connectDragSource(t,e,i){this.sourceNodes.set(t,e),this.sourceNodeOptions.set(t,i);const handleDragStart=e=>this.handleDragStart(e,t),handleSelectStart=t=>this.handleSelectStart(t);return e.setAttribute("draggable","true"),e.addEventListener("dragstart",handleDragStart),e.addEventListener("selectstart",handleSelectStart),()=>{this.sourceNodes.delete(t),this.sourceNodeOptions.delete(t),e.removeEventListener("dragstart",handleDragStart),e.removeEventListener("selectstart",handleSelectStart),e.setAttribute("draggable","false")}}connectDropTarget(t,e){const handleDragEnter=e=>this.handleDragEnter(e,t),handleDragOver=e=>this.handleDragOver(e,t),handleDrop=e=>this.handleDrop(e,t);return e.addEventListener("dragenter",handleDragEnter),e.addEventListener("dragover",handleDragOver),e.addEventListener("drop",handleDrop),()=>{e.removeEventListener("dragenter",handleDragEnter),e.removeEventListener("dragover",handleDragOver),e.removeEventListener("drop",handleDrop)}}addEventListeners(t){t.addEventListener&&(t.addEventListener("dragstart",this.handleTopDragStart),t.addEventListener("dragstart",this.handleTopDragStartCapture,!0),t.addEventListener("dragend",this.handleTopDragEndCapture,!0),t.addEventListener("dragenter",this.handleTopDragEnter),t.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),t.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),t.addEventListener("dragover",this.handleTopDragOver),t.addEventListener("dragover",this.handleTopDragOverCapture,!0),t.addEventListener("drop",this.handleTopDrop),t.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(t){t.removeEventListener&&(t.removeEventListener("dragstart",this.handleTopDragStart),t.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),t.removeEventListener("dragend",this.handleTopDragEndCapture,!0),t.removeEventListener("dragenter",this.handleTopDragEnter),t.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),t.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),t.removeEventListener("dragover",this.handleTopDragOver),t.removeEventListener("dragover",this.handleTopDragOverCapture,!0),t.removeEventListener("drop",this.handleTopDrop),t.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const t=this.monitor.getSourceId(),e=this.sourceNodeOptions.get(t);return _objectSpread({dropEffect:this.altKeyPressed?"copy":"move"},e||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const t=this.monitor.getSourceId();return _objectSpread({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(t)||{})}isDraggingNativeItem(){const t=this.monitor.getItemType();return Object.keys(n).some((e=>n[e]===t))}beginDragNativeItem(t,e){this.clearCurrentDragSourceNode(),this.currentNativeSource=function createNativeDragSource(t,e){const i=h[t];if(!i)throw new Error(`native type ${t} has no configuration`);const n=new NativeDragSource(i);return n.loadDataTransfer(e),n}(t,e),this.currentNativeHandle=this.registry.addSource(t,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(t){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=t;this.mouseMoveTimeoutTimer=setTimeout((()=>{var t;return null===(t=this.rootElement)||void 0===t?void 0:t.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}),1e3)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){var t;if(this.currentDragSourceNode=null,this.rootElement)null===(t=this.window)||void 0===t||t.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0);return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(t,e){t.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(e))}handleDragEnter(t,e){this.dragEnterTargetIds.unshift(e)}handleDragOver(t,e){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(e)}handleDrop(t,e){this.dropTargetIds.unshift(e)}constructor(t,e,i){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=t=>{const e=this.sourceNodes.get(t);return e&&getNodeClientOffset(e)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=t=>Boolean(t&&this.document&&this.document.body&&this.document.body.contains(t)),this.endDragIfSourceWasRemovedFromDOM=()=>{const t=this.currentDragSourceNode;null==t||this.isNodeInDocument(t)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=t=>{null===this.hoverRafId&&"undefined"!=typeof requestAnimationFrame&&(this.hoverRafId=requestAnimationFrame((()=>{this.monitor.isDragging()&&this.actions.hover(t||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null})))},this.cancelHover=()=>{null!==this.hoverRafId&&"undefined"!=typeof cancelAnimationFrame&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=t=>{if(t.defaultPrevented)return;const{dragStartSourceIds:e}=this;this.dragStartSourceIds=null;const i=getEventClientOffset(t);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(e||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:i});const{dataTransfer:n}=t,o=matchNativeItemType(n);if(this.monitor.isDragging()){if(n&&"function"==typeof n.setDragImage){const t=this.monitor.getSourceId(),e=this.sourceNodes.get(t),o=this.sourcePreviewNodes.get(t)||e;if(o){const{anchorX:t,anchorY:s,offsetX:a,offsetY:l}=this.getCurrentSourcePreviewNodeOptions(),h=getDragPreviewOffset(e,o,i,{anchorX:t,anchorY:s},{offsetX:a,offsetY:l});n.setDragImage(o,h.x,h.y)}}try{null==n||n.setData("application/json",{})}catch(t){}this.setCurrentDragSourceNode(t.target);const{captureDraggingState:e}=this.getCurrentSourcePreviewNodeOptions();e?this.actions.publishDragSource():setTimeout((()=>this.actions.publishDragSource()),0)}else if(o)this.beginDragNativeItem(o);else{if(n&&!n.types&&(t.target&&!t.target.hasAttribute||!t.target.hasAttribute("draggable")))return;t.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=t=>{var e;(this.dragEnterTargetIds=[],this.isDraggingNativeItem())&&(null===(e=this.currentNativeSource)||void 0===e||e.loadDataTransfer(t.dataTransfer));if(!this.enterLeaveCounter.enter(t.target)||this.monitor.isDragging())return;const{dataTransfer:i}=t,n=matchNativeItemType(i);n&&this.beginDragNativeItem(n,i)},this.handleTopDragEnter=t=>{const{dragEnterTargetIds:e}=this;if(this.dragEnterTargetIds=[],!this.monitor.isDragging())return;this.altKeyPressed=t.altKey,e.length>0&&this.actions.hover(e,{clientOffset:getEventClientOffset(t)});e.some((t=>this.monitor.canDropOnTarget(t)))&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=this.getCurrentDropEffect()))},this.handleTopDragOverCapture=t=>{var e;(this.dragOverTargetIds=[],this.isDraggingNativeItem())&&(null===(e=this.currentNativeSource)||void 0===e||e.loadDataTransfer(t.dataTransfer))},this.handleTopDragOver=t=>{const{dragOverTargetIds:e}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging())return t.preventDefault(),void(t.dataTransfer&&(t.dataTransfer.dropEffect="none"));this.altKeyPressed=t.altKey,this.lastClientOffset=getEventClientOffset(t),this.scheduleHover(e);(e||[]).some((t=>this.monitor.canDropOnTarget(t)))?(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?t.preventDefault():(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=t=>{this.isDraggingNativeItem()&&t.preventDefault();this.enterLeaveCounter.leave(t.target)&&(this.isDraggingNativeItem()&&setTimeout((()=>this.endDragNativeItem()),0),this.cancelHover())},this.handleTopDropCapture=t=>{var e;(this.dropTargetIds=[],this.isDraggingNativeItem())?(t.preventDefault(),null===(e=this.currentNativeSource)||void 0===e||e.loadDataTransfer(t.dataTransfer)):matchNativeItemType(t.dataTransfer)&&t.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=t=>{const{dropTargetIds:e}=this;this.dropTargetIds=[],this.actions.hover(e,{clientOffset:getEventClientOffset(t)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=t=>{const e=t.target;"function"==typeof e.dragDrop&&("INPUT"===e.tagName||"SELECT"===e.tagName||"TEXTAREA"===e.tagName||e.isContentEditable||(t.preventDefault(),e.dragDrop()))},this.options=new OptionsReader(e,i),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.enterLeaveCounter=new EnterLeaveCounter(this.isNodeInDocument)}}const p=function createBackend(t,e,i){return new HTML5BackendImpl(t,e,i)}},1781:(t,e,i)=>{"use strict";i.d(e,{M:()=>n});const n=(0,i(15993).createContext)({dragDropManager:void 0})},13917:(t,e,i)=>{"use strict";i.d(e,{Q:()=>c});var n=i(41773),o=i(56141),s=i(15993),a=i(1781);function _objectWithoutProperties(t,e){if(null==t)return{};var i,n,o=function _objectWithoutPropertiesLoose(t,e){if(null==t)return{};var i,n,o={},s=Object.keys(t);for(n=0;n<s.length;n++)i=s[n],e.indexOf(i)>=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(n=0;n<s.length;n++)i=s[n],e.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}let l=0;const h=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var c=(0,s.memo)((function DndProvider(t){var{children:e}=t,i=_objectWithoutProperties(t,["children"]);const[c,d]=function getDndContextValue(t){if("manager"in t){return[{dragDropManager:t.manager},!1]}const e=function createSingletonDndContext(t,e=getGlobalContext(),i,n){const s=e;s[h]||(s[h]={dragDropManager:(0,o.b)(t,e,i,n)});return s[h]}(t.backend,t.context,t.options,t.debugMode),i=!t.context;return[e,i]}(i);return(0,s.useEffect)((()=>{if(d){const t=getGlobalContext();return++l,()=>{0==--l&&(t[h]=null)}}}),[]),(0,n.jsx)(a.M.Provider,{value:c,children:e})}));function getGlobalContext(){return"undefined"!=typeof global?global:window}},51735:(t,e,i)=>{"use strict";i.d(e,{j:()=>useCollectedProps});var n=i(70632),o=i(15993),s=i(60982);function useMonitorOutput(t,e,i){const[a,l]=function useCollector(t,e,i){const[a,l]=(0,o.useState)((()=>e(t))),h=(0,o.useCallback)((()=>{const o=e(t);n(a,o)||(l(o),i&&i())}),[a,t,i]);return(0,s.E)(h),[a,h]}(t,e,i);return(0,s.E)((function subscribeToMonitorStateChange(){const e=t.getHandlerId();if(null!=e)return t.subscribeToStateChange(l,{handlerIds:[e]})}),[t,l]),a}function useCollectedProps(t,e,i){return useMonitorOutput(e,t||(()=>({})),(()=>i.reconnect()))}},10945:(t,e,i)=>{"use strict";i.d(e,{i:()=>useDrag});var n=i(25203),o=i(51735),s=i(31284),a=i(15993);function useConnectDragSource(t){return(0,a.useMemo)((()=>t.hooks.dragSource()),[t])}function useConnectDragPreview(t){return(0,a.useMemo)((()=>t.hooks.dragPreview()),[t])}var l=i(27479),h=i(63400),c=i(8344);class SourceConnector{receiveHandlerId(t){this.handlerId!==t&&(this.handlerId=t,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(t){this.dragSourceOptionsInternal=t}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(t){this.dragPreviewOptionsInternal=t}reconnect(){const t=this.reconnectDragSource();this.reconnectDragPreview(t)}reconnectDragSource(){const t=this.dragSource,e=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return e&&this.disconnectDragSource(),this.handlerId?t?(e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=t,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,t,this.dragSourceOptions)),e):(this.lastConnectedDragSource=t,e):e}reconnectDragPreview(t=!1){const e=this.dragPreview,i=t||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();i&&this.disconnectDragPreview(),this.handlerId&&(e?i&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=e,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,e,this.dragPreviewOptions)):this.lastConnectedDragPreview=e)}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!(0,l.b)(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!(0,l.b)(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(t){this.hooks=(0,c.i)({dragSource:(t,e)=>{this.clearDragSource(),this.dragSourceOptions=e||null,(0,h.i)(t)?this.dragSourceRef=t:this.dragSourceNode=t,this.reconnectDragSource()},dragPreview:(t,e)=>{this.clearDragPreview(),this.dragPreviewOptions=e||null,(0,h.i)(t)?this.dragPreviewRef=t:this.dragPreviewNode=t,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=t}}var d=i(70572),f=i(60982);let p=!1,m=!1;class DragSourceMonitorImpl{receiveHandlerId(t){this.sourceId=t}getHandlerId(){return this.sourceId}canDrag(){(0,n.V)(!p,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return p=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{p=!1}}isDragging(){if(!this.sourceId)return!1;(0,n.V)(!m,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return m=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{m=!1}}subscribeToStateChange(t,e){return this.internalMonitor.subscribeToStateChange(t,e)}isDraggingSource(t){return this.internalMonitor.isDraggingSource(t)}isOverTarget(t,e){return this.internalMonitor.isOverTarget(t,e)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(t){return this.internalMonitor.subscribeToOffsetChange(t)}canDragSource(t){return this.internalMonitor.canDragSource(t)}canDropOnTarget(t){return this.internalMonitor.canDropOnTarget(t)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(t){this.sourceId=null,this.internalMonitor=t.getMonitor()}}var g=i(24932);class DragSourceImpl{beginDrag(){const t=this.spec,e=this.monitor;let i=null;return i="object"==typeof t.item?t.item:"function"==typeof t.item?t.item(e):{},null!=i?i:null}canDrag(){const t=this.spec,e=this.monitor;return"boolean"==typeof t.canDrag?t.canDrag:"function"!=typeof t.canDrag||t.canDrag(e)}isDragging(t,e){const i=this.spec,n=this.monitor,{isDragging:o}=i;return o?o(n):e===t.getSourceId()}endDrag(){const t=this.spec,e=this.monitor,i=this.connector,{end:n}=t;n&&n(e.getItem(),e),i.reconnect()}constructor(t,e,i){this.spec=t,this.monitor=e,this.connector=i}}function useRegisteredDragSource(t,e,i){const o=(0,d.u)(),s=function useDragSource(t,e,i){const n=(0,a.useMemo)((()=>new DragSourceImpl(t,e,i)),[e,i]);return(0,a.useEffect)((()=>{n.spec=t}),[t]),n}(t,e,i),l=function useDragType(t){return(0,a.useMemo)((()=>{const e=t.type;return(0,n.V)(null!=e,"spec.type must be defined"),e}),[t])}(t);(0,f.E)((function registerDragSource(){if(null!=l){const[t,n]=(0,g.V)(l,s,o);return e.receiveHandlerId(t),i.receiveHandlerId(t),n}}),[o,e,i,s,l])}function useDrag(t,e){const i=(0,s.I)(t,e);(0,n.V)(!i.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const l=function useDragSourceMonitor(){const t=(0,d.u)();return(0,a.useMemo)((()=>new DragSourceMonitorImpl(t)),[t])}(),h=function useDragSourceConnector(t,e){const i=(0,d.u)(),n=(0,a.useMemo)((()=>new SourceConnector(i.getBackend())),[i]);return(0,f.E)((()=>(n.dragSourceOptions=t||null,n.reconnect(),()=>n.disconnectDragSource())),[n,t]),(0,f.E)((()=>(n.dragPreviewOptions=e||null,n.reconnect(),()=>n.disconnectDragPreview())),[n,e]),n}(i.options,i.previewOptions);return useRegisteredDragSource(i,l,h),[(0,o.j)(i.collect,l,h),useConnectDragSource(h),useConnectDragPreview(h)]}},70572:(t,e,i)=>{"use strict";i.d(e,{u:()=>useDragDropManager});var n=i(25203),o=i(15993),s=i(1781);function useDragDropManager(){const{dragDropManager:t}=(0,o.useContext)(s.M);return(0,n.V)(null!=t,"Expected drag drop context"),t}},88011:(t,e,i)=>{"use strict";i.d(e,{H:()=>useDrop});var n=i(51735),o=i(31284),s=i(15993);function useConnectDropTarget(t){return(0,s.useMemo)((()=>t.hooks.dropTarget()),[t])}var a=i(27479),l=i(63400),h=i(8344);class TargetConnector{get connectTarget(){return this.dropTarget}reconnect(){const t=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();t&&this.disconnectDropTarget();const e=this.dropTarget;this.handlerId&&(e?t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=e,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,e,this.dropTargetOptions)):this.lastConnectedDropTarget=e)}receiveHandlerId(t){t!==this.handlerId&&(this.handlerId=t,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(t){this.dropTargetOptionsInternal=t}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!(0,a.b)(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(t){this.hooks=(0,h.i)({dropTarget:(t,e)=>{this.clearDropTarget(),this.dropTargetOptions=e,(0,l.i)(t)?this.dropTargetRef=t:this.dropTargetNode=t,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=t}}var c=i(70572),d=i(60982);var f=i(25203);let p=!1;class DropTargetMonitorImpl{receiveHandlerId(t){this.targetId=t}getHandlerId(){return this.targetId}subscribeToStateChange(t,e){return this.internalMonitor.subscribeToStateChange(t,e)}canDrop(){if(!this.targetId)return!1;(0,f.V)(!p,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return p=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{p=!1}}isOver(t){return!!this.targetId&&this.internalMonitor.isOverTarget(this.targetId,t)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(t){this.targetId=null,this.internalMonitor=t.getMonitor()}}var m=i(24932);class DropTargetImpl{canDrop(){const t=this.spec,e=this.monitor;return!t.canDrop||t.canDrop(e.getItem(),e)}hover(){const t=this.spec,e=this.monitor;t.hover&&t.hover(e.getItem(),e)}drop(){const t=this.spec,e=this.monitor;if(t.drop)return t.drop(e.getItem(),e)}constructor(t,e){this.spec=t,this.monitor=e}}function useRegisteredDropTarget(t,e,i){const n=(0,c.u)(),o=function useDropTarget(t,e){const i=(0,s.useMemo)((()=>new DropTargetImpl(t,e)),[e]);return(0,s.useEffect)((()=>{i.spec=t}),[t]),i}(t,e),a=function useAccept(t){const{accept:e}=t;return(0,s.useMemo)((()=>((0,f.V)(null!=t.accept,"accept must be defined"),Array.isArray(e)?e:[e])),[e])}(t);(0,d.E)((function registerDropTarget(){const[t,s]=(0,m.l)(a,o,n);return e.receiveHandlerId(t),i.receiveHandlerId(t),s}),[n,e,o,i,a.map((t=>t.toString())).join("|")])}function useDrop(t,e){const i=(0,o.I)(t,e),a=function useDropTargetMonitor(){const t=(0,c.u)();return(0,s.useMemo)((()=>new DropTargetMonitorImpl(t)),[t])}(),l=function useDropTargetConnector(t){const e=(0,c.u)(),i=(0,s.useMemo)((()=>new TargetConnector(e.getBackend())),[e]);return(0,d.E)((()=>(i.dropTargetOptions=t||null,i.reconnect(),()=>i.disconnectDropTarget())),[t]),i}(i.options);return useRegisteredDropTarget(i,a,l),[(0,n.j)(i.collect,a,l),useConnectDropTarget(l)]}},60982:(t,e,i)=>{"use strict";i.d(e,{E:()=>o});var n=i(15993);const o="undefined"!=typeof window?n.useLayoutEffect:n.useEffect},31284:(t,e,i)=>{"use strict";i.d(e,{I:()=>useOptionalFactory});var n=i(15993);function useOptionalFactory(t,e){const i=[...e||[]];return null==e&&"function"!=typeof t&&i.push(t),(0,n.useMemo)((()=>"function"==typeof t?t():t),i)}},63400:(t,e,i)=>{"use strict";function isRef(t){return null!==t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"current")}i.d(e,{i:()=>isRef})},24932:(t,e,i)=>{"use strict";function registerTarget(t,e,i){const n=i.getRegistry(),o=n.addTarget(t,e);return[o,()=>n.removeTarget(o)]}function registerSource(t,e,i){const n=i.getRegistry(),o=n.addSource(t,e);return[o,()=>n.removeSource(o)]}i.d(e,{V:()=>registerSource,l:()=>registerTarget})},8344:(t,e,i)=>{"use strict";i.d(e,{i:()=>wrapConnectorHooks});var n=i(25203),o=i(15993);function wrapHookToRecognizeElement(t){return(e=null,i=null)=>{if(!(0,o.isValidElement)(e)){const n=e;return t(n,i),n}const s=e;!function throwIfCompositeComponentElement(t){if("string"==typeof t.type)return;const e=t.type.displayName||t.type.name||"the component";throw new Error(`Only native element nodes can now be passed to React DnD connectors.You can either wrap ${e} into a <div>, or turn it into a drag source or a drop target itself.`)}(s);return function cloneWithRef(t,e){const i=t.ref;return(0,n.V)("string"!=typeof i,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),i?(0,o.cloneElement)(t,{ref:t=>{setRef(i,t),setRef(e,t)}}):(0,o.cloneElement)(t,{ref:e})}(s,i?e=>t(e,i):t)}}function wrapConnectorHooks(t){const e={};return Object.keys(t).forEach((i=>{const n=t[i];if(i.endsWith("Ref"))e[i]=t[i];else{const t=wrapHookToRecognizeElement(n);e[i]=()=>t}})),e}function setRef(t,e){"function"==typeof t?t(e):t.current=e}},24587:(t,e,i)=>{"use strict";i.d(e,{k:()=>l});var n=i(14651),o=i(88635),s=i(25751),a=i(1030);const l=(0,n.Lt)((function createGeoJSON({data:t,...e},i){const n=new a.GeoJSON(t,e);return(0,o.Q)(n,(0,s.W4)(i,{overlayContainer:n}))}),(function updateGeoJSON(t,e,i){e.style!==i.style&&(null==e.style?t.resetStyle():t.setStyle(e.style))}))},62823:(t,e,i)=>{"use strict";i.d(e,{In:()=>f});var n=i(88635),o=i(25751),s=i(23757),a=i(82627),l=i(1030),h=i(15993);const c=(0,n.K)((function createLayersControl({children:t,...e},i){const s=new l.Control.Layers(void 0,void 0,e);return(0,n.Q)(s,(0,o.W4)(i,{layersControl:s}))}),(function updateLayersControl(t,e,i){e.collapsed!==i.collapsed&&(!0===e.collapsed?t.collapse():t.expand())})),d=(0,s.T)(c),f=(0,a.B7)(d);function createControlledLayer(t){return function ControlledLayer(e){const i=(0,o.U$)(),n=(0,h.useRef)(e),[s,a]=(0,h.useState)(null),{layersControl:l,map:c}=i,d=(0,h.useCallback)((e=>{null!=l&&(n.current.checked&&c.addLayer(e),t(l,e,n.current.name),a(e))}),[l,c]),f=(0,h.useCallback)((t=>{l?.removeLayer(t),a(null)}),[l]),p=(0,h.useMemo)((()=>(0,o.W4)(i,{layerContainer:{addLayer:d,removeLayer:f}})),[i,d,f]);return(0,h.useEffect)((()=>{null!==s&&n.current!==e&&(!0!==e.checked||null!=n.current.checked&&!1!==n.current.checked?!0!==n.current.checked||null!=e.checked&&!1!==e.checked||c.removeLayer(s):c.addLayer(s),n.current=e)})),e.children?h.createElement(o.hL,{value:p},e.children):null}}f.BaseLayer=createControlledLayer((function addBaseLayer(t,e,i){t.addBaseLayer(e,i)})),f.Overlay=createControlledLayer((function addOverlay(t,e,i){t.addOverlay(e,i)}))},11795:(t,e,i)=>{"use strict";i.d(e,{W:()=>a});var n=i(25751),o=i(1030),s=i(15993);function _extends(){return _extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},_extends.apply(this,arguments)}function MapContainerComponent({bounds:t,boundsOptions:e,center:i,children:a,className:l,id:h,placeholder:c,style:d,whenReady:f,zoom:p,...m},g){const[O]=(0,s.useState)({className:l,id:h,style:d}),[v,y]=(0,s.useState)(null);(0,s.useImperativeHandle)(g,(()=>v?.map??null),[v]);const b=(0,s.useCallback)((s=>{if(null!==s&&null===v){const a=new o.Map(s,m);null!=i&&null!=p?a.setView(i,p):null!=t&&a.fitBounds(t,e),null!=f&&a.whenReady(f),y((0,n.fB)(a))}}),[]);(0,s.useEffect)((()=>()=>{v?.map.remove()}),[v]);const x=v?s.createElement(n.hL,{value:v},a):c??null;return s.createElement("div",_extends({},O,{ref:b}),x)}const a=(0,s.forwardRef)(MapContainerComponent)},70141:(t,e,i)=>{"use strict";i.d(e,{e:()=>h});var n=i(14651),o=i(65476),s=i(88635),a=i(95758),l=i(1030);const h=(0,n.X3)((function createTileLayer({url:t,...e},i){const n=new l.TileLayer(t,(0,o.P)(e,i));return(0,s.Q)(n,i)}),(function updateTileLayer(t,e,i){(0,a.X)(t,e,i);const{url:n}=e;null!=n&&n!==i.url&&t.setUrl(n)}))},28978:(t,e,i)=>{"use strict";i.d(e,{o:()=>Markdown});var n=i(12002),o=i(54552),s=i(24326),a=i(41773),l=i(19068),h=i(92756),c=i(38408),d=i(77080),f=i(37535);const p="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",m=[],g={allowDangerousHtml:!0},O=/^(https?|ircs?|mailto|xmpp)$/i,v=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Markdown(t){const e=t.allowedElements,i=t.allowElement,O=t.children||"",y=t.className,b=t.components,x=t.disallowedElements,_=t.rehypePlugins||m,S=t.remarkPlugins||m,P=t.remarkRehypeOptions?{...t.remarkRehypeOptions,...g}:g,k=t.skipHtml,C=t.unwrapDisallowed,Q=t.urlTransform||defaultUrlTransform,T=(0,c.l)().use(l.A).use(S).use(h.A,P).use(_),A=new f.T;"string"==typeof O?A.value=O:(0,n.HB)("Unexpected value `"+O+"` for `children` prop, expected `string`"),e&&x&&(0,n.HB)("Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other");for(const e of v)Object.hasOwn(t,e.from)&&(0,n.HB)("Unexpected `"+e.from+"` prop, "+(e.to?"use `"+e.to+"` instead":"remove it")+" (see <"+p+"#"+e.id+"> for more info)");const R=T.parse(A);let Z=T.runSync(R,A);return y&&(Z={type:"element",tagName:"div",properties:{className:y},children:"root"===Z.type?Z.children:[Z]}),(0,d.YR)(Z,(function transform(t,n,o){if("raw"===t.type&&o&&"number"==typeof n)return k?o.children.splice(n,1):o.children[n]={type:"text",value:t.value},n;if("element"===t.type){let e;for(e in s.$)if(Object.hasOwn(s.$,e)&&Object.hasOwn(t.properties,e)){const i=t.properties[e],n=s.$[e];(null===n||n.includes(t.tagName))&&(t.properties[e]=Q(String(i||""),e,t))}}if("element"===t.type){let s=e?!e.includes(t.tagName):!!x&&x.includes(t.tagName);if(!s&&i&&"number"==typeof n&&(s=!i(t,n,o)),s&&o&&"number"==typeof n)return C&&t.children?o.children.splice(n,1,...t.children):o.children.splice(n,1),n}})),(0,o.H)(Z,{Fragment:a.Fragment,components:b,ignoreInvalidStyle:!0,jsx:a.jsx,jsxs:a.jsxs,passKeys:!0,passNode:!0})}function defaultUrlTransform(t){const e=t.indexOf(":"),i=t.indexOf("?"),n=t.indexOf("#"),o=t.indexOf("/");return e<0||o>-1&&e>o||i>-1&&e>i||n>-1&&e>n||O.test(t.slice(0,e))?t:""}}}]);