archgine 1.0.21 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/environment.worker.js +1 -1
- package/lib/extras/app.d.ts +2 -0
- package/lib/extras/interfaces.d.ts +2 -0
- package/lib/extras/svg-app.d.ts +8 -1
- package/lib/extras/svg-view.d.ts +4 -3
- package/lib/index.d.ts +1 -0
- package/lib/index.mjs +1872 -1866
- package/lib/index.umd.js +20 -20
- package/lib/scenes/svg-scene.d.ts +1 -0
- package/package.json +1 -1
package/lib/index.umd.js
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
(function(ie,$r){typeof exports=="object"&&typeof module<"u"?$r(exports):typeof define=="function"&&define.amd?define(["exports"],$r):(ie=typeof globalThis<"u"?globalThis:ie||self,$r(ie.archgine={}))})(this,function(ie){"use strict";const $r={name:"TinyEngine",containerId:"tinyEngine",canvas:"tinyEngine",width:0,height:0,aspect:1,dpr:1,alpha:!1,color:"#232323",fps:60,syncDelay:800,animateDuration:1e3,usedCache:!1,showPoints:!1,wireframe:!1,castShadow:!1,workerRender:!1,monitorDuration:1e4,light:{color:"#f2f2f2",position:[-6,6,0],castShadow:!0,shadowBlur:16},camera:{left:-1,right:1,top:1,bottom:-1,aspect:1,eye:[0,0,0],up:[0,0,1],helperEnable:!0},controls:{target:[0,0,0],minDistance:.1,maxDistance:1e3,enablePan:!0,enableRotate:!0,enableZoom:!0,focusMode:!0,autoRotate:!1,autoRotateSpeed:.5,enableDamping:!0,dampingFactor:.2},gridHelper:{fill:"#e3e3e3"},axesHelper:{},displayUnits:"",tooltip:!0,assetType:"rm",zoomToSelectEnable:!1,selectEnable:!1,multiSelectEnable:!1,socialDistanceEnable:!1,socialDistance:{radius:3}};function Dl(n,t){const e=n.x*Math.cos(t)-n.y*Math.sin(t),r=n.y*Math.cos(t)+n.x*Math.sin(t);n.x=e,n.y=r}function Vp(n,t,e){n.x+=t,n.y+=e}function Nl(n,t){n.x*=t,n.y*=t}class Gr{commands;constructor(t){this.commands=[],t&&t instanceof Gr?this.commands.push(...t.commands):t&&(this.commands=Zp(t))}addPath(t){t&&t instanceof Gr&&this.commands.push(...t.commands)}moveTo(t,e){this.commands.push(["M",t,e])}lineTo(t,e){this.commands.push(["L",t,e])}arc(t,e,r,a,u,l){this.commands.push(["AC",t,e,r,a,u,!!l])}arcTo(t,e,r,a,u){this.commands.push(["AT",t,e,r,a,u])}ellipse(t,e,r,a,u,l,c,f){this.commands.push(["E",t,e,r,a,u,l,c,!!f])}closePath(){this.commands.push(["Z"])}bezierCurveTo(t,e,r,a,u,l){this.commands.push(["C",t,e,r,a,u,l])}quadraticCurveTo(t,e,r,a){this.commands.push(["Q",t,e,r,a])}rect(t,e,r,a){this.commands.push(["R",t,e,r,a])}roundRect(t,e,r,a,u){typeof u>"u"?this.commands.push(["RR",t,e,r,a,0]):this.commands.push(["RR",t,e,r,a,u])}}function ou(n,t){let e=0,r=0,a,u,l,c,f,d,v,E,A,T,I,S,D,k,V,W,X,$,K,tt,Z,z=null,J=null,nt=null,mt=null,It=null,Ct=null;n.beginPath();for(let yt=0;yt<t.length;++yt){$=t[yt][0],$!=="S"&&$!=="s"&&$!=="C"&&$!=="c"&&(z=null,J=null),$!=="T"&&$!=="t"&&$!=="Q"&&$!=="q"&&(nt=null,mt=null);let B;switch($){case"m":case"M":B=t[yt],$==="m"?(e+=B[1],r+=B[2]):(e=B[1],r=B[2]),($==="M"||!It)&&(It={x:e,y:r}),n.moveTo(e,r);break;case"l":B=t[yt],e+=B[1],r+=B[2],n.lineTo(e,r);break;case"L":B=t[yt],e=B[1],r=B[2],n.lineTo(e,r);break;case"H":B=t[yt],e=B[1],n.lineTo(e,r);break;case"h":B=t[yt],e+=B[1],n.lineTo(e,r);break;case"V":B=t[yt],r=B[1],n.lineTo(e,r);break;case"v":B=t[yt],r+=B[1],n.lineTo(e,r);break;case"a":case"A":if(B=t[yt],Ct===null)throw new Error("This should never happen");$==="a"?(e+=B[6],r+=B[7]):(e=B[6],r=B[7]),k=B[1],V=B[2],v=B[3]*Math.PI/180,l=!!B[4],c=!!B[5],f={x:e,y:r},d={x:(Ct.x-f.x)/2,y:(Ct.y-f.y)/2},Dl(d,-v),E=d.x*d.x/(k*k)+d.y*d.y/(V*V),E>1&&(E=Math.sqrt(E),k*=E,V*=E),K={x:k*d.y/V,y:-(V*d.x)/k},A=k*k*V*V,T=k*k*d.y*d.y+V*V*d.x*d.x,c!==l?Nl(K,Math.sqrt((A-T)/T)||0):Nl(K,-Math.sqrt((A-T)/T)||0),u=Math.atan2((d.y-K.y)/V,(d.x-K.x)/k),a=Math.atan2(-(d.y+K.y)/V,-(d.x+K.x)/k),Dl(K,v),Vp(K,(f.x+Ct.x)/2,(f.y+Ct.y)/2),n.save(),n.translate(K.x,K.y),n.rotate(v),n.scale(k,V),n.arc(0,0,1,u,a,!c),n.restore();break;case"C":B=t[yt],z=B[3],J=B[4],e=B[5],r=B[6],n.bezierCurveTo(B[1],B[2],z,J,e,r);break;case"c":B=t[yt],n.bezierCurveTo(B[1]+e,B[2]+r,B[3]+e,B[4]+r,B[5]+e,B[6]+r),z=B[3]+e,J=B[4]+r,e+=B[5],r+=B[6];break;case"S":B=t[yt],(z===null||J===null)&&(z=e,J=r),n.bezierCurveTo(2*e-z,2*r-J,B[1],B[2],B[3],B[4]),z=B[1],J=B[2],e=B[3],r=B[4];break;case"s":B=t[yt],(z===null||J===null)&&(z=e,J=r),n.bezierCurveTo(2*e-z,2*r-J,B[1]+e,B[2]+r,B[3]+e,B[4]+r),z=B[1]+e,J=B[2]+r,e+=B[3],r+=B[4];break;case"Q":B=t[yt],nt=B[1],mt=B[2],e=B[3],r=B[4],n.quadraticCurveTo(nt,mt,e,r);break;case"q":B=t[yt],nt=B[1]+e,mt=B[2]+r,e+=B[3],r+=B[4],n.quadraticCurveTo(nt,mt,e,r);break;case"T":B=t[yt],(nt===null||mt===null)&&(nt=e,mt=r),nt=2*e-nt,mt=2*r-mt,e=B[1],r=B[2],n.quadraticCurveTo(nt,mt,e,r);break;case"t":B=t[yt],(nt===null||mt===null)&&(nt=e,mt=r),nt=2*e-nt,mt=2*r-mt,e+=B[1],r+=B[2],n.quadraticCurveTo(nt,mt,e,r);break;case"z":case"Z":It&&(e=It.x,r=It.y),It=null,n.closePath();break;case"AC":B=t[yt],e=B[1],r=B[2],D=B[3],u=B[4],a=B[5],tt=B[6],n.arc(e,r,D,u,a,tt);break;case"AT":B=t[yt],I=B[1],S=B[2],e=B[3],r=B[4],D=B[5],n.arcTo(I,S,e,r,D);break;case"E":B=t[yt],e=B[1],r=B[2],k=B[3],V=B[4],v=B[5],u=B[6],a=B[7],tt=B[8],n.save(),n.translate(e,r),n.rotate(v),n.scale(k,V),n.arc(0,0,1,u,a,tt),n.restore();break;case"R":B=t[yt],e=B[1],r=B[2],W=B[3],X=B[4],It={x:e,y:r},n.rect(e,r,W,X);break;case"RR":B=t[yt],e=B[1],r=B[2],W=B[3],X=B[4],Z=B[5],It={x:e,y:r},n.roundRect(e,r,W,X,Z);break}Ct?(Ct.x=e,Ct.y=r):Ct={x:e,y:r}}}function $p(n){if(!n||!n.CanvasRenderingContext2D||n.Path2D)return;const{CanvasRenderingContext2D:t}=n,e=t==null?void 0:t.prototype.fill,r=t==null?void 0:t.prototype.stroke,a=t==null?void 0:t.prototype.isPointInPath;t.prototype.fill=function(...l){if(l[0]instanceof Gr){const c=l[0],f=l[1]||"nonzero";ou(this,c.commands),e.apply(this,[f])}else{const c=l[0]||"nonzero";return e.apply(this,[c])}},t.prototype.stroke=function(l){l&&ou(this,l.commands),r.apply(this)},t.prototype.isPointInPath=function(...l){if(l[0]instanceof Gr){const c=l[0],f=l[1],d=l[2],v=l[3]||"nonzero";return ou(this,c.commands),a.apply(this,[f,d,v])}else return a.apply(this,l)},n.Path2D=Gr}const Ln={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Gp=/([astvzqmhlc])([^astvzqmhlc]*)/gi,Xp=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi;function Yp(n){const t=n.match(Xp);return t?t.map(Number):[]}function Zp(n){const t=[],e=String(n).trim();return e[0]!=="M"&&e[0]!=="m"||e.replace(Gp,(r,a,u)=>{const l=Yp(u);let c=a.toLowerCase(),f=a;if(c==="m"&&l.length>2&&(t.push([f,...l.splice(0,2)]),c="l",f=f==="m"?"l":"L"),l.length<Ln[c])return"";for(t.push([f,...l.splice(0,Ln[c])]);l.length>=Ln[c]&&l.length&&Ln[c];)t.push([f,...l.splice(0,Ln[c])]);return""}),t}var Rn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ml(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Ki={},wi={};function Kp(n,t,e){if(e===void 0&&(e=Array.prototype),n&&typeof e.find=="function")return e.find.call(n,t);for(var r=0;r<n.length;r++)if(Object.prototype.hasOwnProperty.call(n,r)){var a=n[r];if(t.call(void 0,a,r,n))return a}}function lu(n,t){return t===void 0&&(t=Object),t&&typeof t.freeze=="function"?t.freeze(n):n}function Qp(n,t){if(n===null||typeof n!="object")throw new TypeError("target is not an object");for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n}var Ol=lu({HTML:"text/html",isHTML:function(n){return n===Ol.HTML},XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),Bl=lu({HTML:"http://www.w3.org/1999/xhtml",isHTML:function(n){return n===Bl.HTML},SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});wi.assign=Qp,wi.find=Kp,wi.freeze=lu,wi.MIME_TYPE=Ol,wi.NAMESPACE=Bl;var Il=wi,ci=Il.find,Fn=Il.NAMESPACE;function Jp(n){return n!==""}function jp(n){return n?n.split(/[\t\n\f\r ]+/).filter(Jp):[]}function td(n,t){return n.hasOwnProperty(t)||(n[t]=!0),n}function Pl(n){if(!n)return[];var t=jp(n);return Object.keys(t.reduce(td,{}))}function ed(n){return function(t){return n&&n.indexOf(t)!==-1}}function Un(n,t){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])}function ge(n,t){var e=n.prototype;if(!(e instanceof t)){let r=function(){};r.prototype=t.prototype,r=new r,Un(e,r),n.prototype=e=r}e.constructor!=n&&(typeof n!="function"&&console.error("unknown Class:"+n),e.constructor=n)}var me={},Ye=me.ELEMENT_NODE=1,Xr=me.ATTRIBUTE_NODE=2,Ws=me.TEXT_NODE=3,Ll=me.CDATA_SECTION_NODE=4,Rl=me.ENTITY_REFERENCE_NODE=5,id=me.ENTITY_NODE=6,Fl=me.PROCESSING_INSTRUCTION_NODE=7,Ul=me.COMMENT_NODE=8,kl=me.DOCUMENT_NODE=9,ql=me.DOCUMENT_TYPE_NODE=10,Ti=me.DOCUMENT_FRAGMENT_NODE=11,rd=me.NOTATION_NODE=12,re={},Gt={};re.INDEX_SIZE_ERR=(Gt[1]="Index size error",1),re.DOMSTRING_SIZE_ERR=(Gt[2]="DOMString size error",2);var ye=re.HIERARCHY_REQUEST_ERR=(Gt[3]="Hierarchy request error",3);re.WRONG_DOCUMENT_ERR=(Gt[4]="Wrong document",4),re.INVALID_CHARACTER_ERR=(Gt[5]="Invalid character",5),re.NO_DATA_ALLOWED_ERR=(Gt[6]="No data allowed",6),re.NO_MODIFICATION_ALLOWED_ERR=(Gt[7]="No modification allowed",7);var Hl=re.NOT_FOUND_ERR=(Gt[8]="Not found",8);re.NOT_SUPPORTED_ERR=(Gt[9]="Not supported",9);var Wl=re.INUSE_ATTRIBUTE_ERR=(Gt[10]="Attribute in use",10);re.INVALID_STATE_ERR=(Gt[11]="Invalid state",11),re.SYNTAX_ERR=(Gt[12]="Syntax error",12),re.INVALID_MODIFICATION_ERR=(Gt[13]="Invalid modification",13),re.NAMESPACE_ERR=(Gt[14]="Invalid namespace",14),re.INVALID_ACCESS_ERR=(Gt[15]="Invalid access",15);function Ft(n,t){if(t instanceof Error)var e=t;else e=this,Error.call(this,Gt[n]),this.message=Gt[n],Error.captureStackTrace&&Error.captureStackTrace(this,Ft);return e.code=n,t&&(this.message=this.message+": "+t),e}Ft.prototype=Error.prototype,Un(re,Ft);function _i(){}_i.prototype={length:0,item:function(n){return n>=0&&n<this.length?this[n]:null},toString:function(n,t){for(var e=[],r=0;r<this.length;r++)Zr(this[r],e,n,t);return e.join("")},filter:function(n){return Array.prototype.filter.call(this,n)},indexOf:function(n){return Array.prototype.indexOf.call(this,n)}};function Yr(n,t){this._node=n,this._refresh=t,hu(this)}function hu(n){var t=n._node._inc||n._node.ownerDocument._inc;if(n._inc!==t){var e=n._refresh(n._node);if(sh(n,"length",e.length),!n.$$length||e.length<n.$$length)for(var r=e.length;r in n;r++)Object.prototype.hasOwnProperty.call(n,r)&&delete n[r];Un(e,n),n._inc=t}}Yr.prototype.item=function(n){return hu(this),this[n]||null},ge(Yr,_i);function zs(){}function zl(n,t){for(var e=n.length;e--;)if(n[e]===t)return e}function Vl(n,t,e,r){if(r?t[zl(t,r)]=e:t[t.length++]=e,n){e.ownerElement=n;var a=n.ownerDocument;a&&(r&&Yl(a,n,r),nd(a,n,e))}}function $l(n,t,e){var r=zl(t,e);if(r>=0){for(var a=t.length-1;r<a;)t[r]=t[++r];if(t.length=a,n){var u=n.ownerDocument;u&&(Yl(u,n,e),e.ownerElement=null)}}else throw new Ft(Hl,new Error(n.tagName+"@"+e))}zs.prototype={length:0,item:_i.prototype.item,getNamedItem:function(n){for(var t=this.length;t--;){var e=this[t];if(e.nodeName==n)return e}},setNamedItem:function(n){var t=n.ownerElement;if(t&&t!=this._ownerElement)throw new Ft(Wl);var e=this.getNamedItem(n.nodeName);return Vl(this._ownerElement,this,n,e),e},setNamedItemNS:function(n){var t=n.ownerElement,e;if(t&&t!=this._ownerElement)throw new Ft(Wl);return e=this.getNamedItemNS(n.namespaceURI,n.localName),Vl(this._ownerElement,this,n,e),e},removeNamedItem:function(n){var t=this.getNamedItem(n);return $l(this._ownerElement,this,t),t},removeNamedItemNS:function(n,t){var e=this.getNamedItemNS(n,t);return $l(this._ownerElement,this,e),e},getNamedItemNS:function(n,t){for(var e=this.length;e--;){var r=this[e];if(r.localName==t&&r.namespaceURI==n)return r}return null}};function Gl(){}Gl.prototype={hasFeature:function(n,t){return!0},createDocument:function(n,t,e){var r=new qn;if(r.implementation=this,r.childNodes=new _i,r.doctype=e||null,e&&r.appendChild(e),t){var a=r.createElementNS(n,t);r.appendChild(a)}return r},createDocumentType:function(n,t,e){var r=new Gs;return r.name=n,r.nodeName=n,r.publicId=t||"",r.systemId=e||"",r}};function At(){}At.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(n,t){return Vs(this,n,t)},replaceChild:function(n,t){Vs(this,n,t,Jl),t&&this.removeChild(t)},removeChild:function(n){return Zl(this,n)},appendChild:function(n){return this.insertBefore(n,null)},hasChildNodes:function(){return this.firstChild!=null},cloneNode:function(n){return xu(this.ownerDocument||this,this,n)},normalize:function(){for(var n=this.firstChild;n;){var t=n.nextSibling;t&&t.nodeType==Ws&&n.nodeType==Ws?(this.removeChild(t),n.appendData(t.data)):(n.normalize(),n=t)}},isSupported:function(n,t){return this.ownerDocument.implementation.hasFeature(n,t)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(n){for(var t=this;t;){var e=t._nsMap;if(e){for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&e[r]===n)return r}t=t.nodeType==Xr?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(n){for(var t=this;t;){var e=t._nsMap;if(e&&Object.prototype.hasOwnProperty.call(e,n))return e[n];t=t.nodeType==Xr?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(n){var t=this.lookupPrefix(n);return t==null}};function Xl(n){return n=="<"&&"<"||n==">"&&">"||n=="&"&&"&"||n=='"'&&"""||"&#"+n.charCodeAt()+";"}Un(me,At),Un(me,At.prototype);function kn(n,t){if(t(n))return!0;if(n=n.firstChild)do if(kn(n,t))return!0;while(n=n.nextSibling)}function qn(){this.ownerDocument=this}function nd(n,t,e){n&&n._inc++;var r=e.namespaceURI;r===Fn.XMLNS&&(t._nsMap[e.prefix?e.localName:""]=e.value)}function Yl(n,t,e,r){n&&n._inc++;var a=e.namespaceURI;a===Fn.XMLNS&&delete t._nsMap[e.prefix?e.localName:""]}function cu(n,t,e){if(n&&n._inc){n._inc++;var r=t.childNodes;if(e)r[r.length++]=e;else{for(var a=t.firstChild,u=0;a;)r[u++]=a,a=a.nextSibling;r.length=u,delete r[r.length]}}}function Zl(n,t){var e=t.previousSibling,r=t.nextSibling;return e?e.nextSibling=r:n.firstChild=r,r?r.previousSibling=e:n.lastChild=e,t.parentNode=null,t.previousSibling=null,t.nextSibling=null,cu(n.ownerDocument,n),t}function sd(n){return n&&(n.nodeType===At.DOCUMENT_NODE||n.nodeType===At.DOCUMENT_FRAGMENT_NODE||n.nodeType===At.ELEMENT_NODE)}function ad(n){return n&&(fi(n)||fu(n)||Ci(n)||n.nodeType===At.DOCUMENT_FRAGMENT_NODE||n.nodeType===At.COMMENT_NODE||n.nodeType===At.PROCESSING_INSTRUCTION_NODE)}function Ci(n){return n&&n.nodeType===At.DOCUMENT_TYPE_NODE}function fi(n){return n&&n.nodeType===At.ELEMENT_NODE}function fu(n){return n&&n.nodeType===At.TEXT_NODE}function Kl(n,t){var e=n.childNodes||[];if(ci(e,fi)||Ci(t))return!1;var r=ci(e,Ci);return!(t&&r&&e.indexOf(r)>e.indexOf(t))}function Ql(n,t){var e=n.childNodes||[];function r(u){return fi(u)&&u!==t}if(ci(e,r))return!1;var a=ci(e,Ci);return!(t&&a&&e.indexOf(a)>e.indexOf(t))}function ud(n,t,e){if(!sd(n))throw new Ft(ye,"Unexpected parent node type "+n.nodeType);if(e&&e.parentNode!==n)throw new Ft(Hl,"child not in parent");if(!ad(t)||Ci(t)&&n.nodeType!==At.DOCUMENT_NODE)throw new Ft(ye,"Unexpected node type "+t.nodeType+" for parent node type "+n.nodeType)}function od(n,t,e){var r=n.childNodes||[],a=t.childNodes||[];if(t.nodeType===At.DOCUMENT_FRAGMENT_NODE){var u=a.filter(fi);if(u.length>1||ci(a,fu))throw new Ft(ye,"More than one element or text in fragment");if(u.length===1&&!Kl(n,e))throw new Ft(ye,"Element in fragment can not be inserted before doctype")}if(fi(t)&&!Kl(n,e))throw new Ft(ye,"Only one element can be added and only after doctype");if(Ci(t)){if(ci(r,Ci))throw new Ft(ye,"Only one doctype is allowed");var l=ci(r,fi);if(e&&r.indexOf(l)<r.indexOf(e))throw new Ft(ye,"Doctype can only be inserted before an element");if(!e&&l)throw new Ft(ye,"Doctype can not be appended since element is present")}}function Jl(n,t,e){var r=n.childNodes||[],a=t.childNodes||[];if(t.nodeType===At.DOCUMENT_FRAGMENT_NODE){var u=a.filter(fi);if(u.length>1||ci(a,fu))throw new Ft(ye,"More than one element or text in fragment");if(u.length===1&&!Ql(n,e))throw new Ft(ye,"Element in fragment can not be inserted before doctype")}if(fi(t)&&!Ql(n,e))throw new Ft(ye,"Only one element can be added and only after doctype");if(Ci(t)){if(ci(r,function(f){return Ci(f)&&f!==e}))throw new Ft(ye,"Only one doctype is allowed");var l=ci(r,fi);if(e&&r.indexOf(l)<r.indexOf(e))throw new Ft(ye,"Doctype can only be inserted before an element")}}function Vs(n,t,e,r){ud(n,t,e),n.nodeType===At.DOCUMENT_NODE&&(r||od)(n,t,e);var a=t.parentNode;if(a&&a.removeChild(t),t.nodeType===Ti){var u=t.firstChild;if(u==null)return t;var l=t.lastChild}else u=l=t;var c=e?e.previousSibling:n.lastChild;u.previousSibling=c,l.nextSibling=e,c?c.nextSibling=u:n.firstChild=u,e==null?n.lastChild=l:e.previousSibling=l;do u.parentNode=n;while(u!==l&&(u=u.nextSibling));return cu(n.ownerDocument||n,n),t.nodeType==Ti&&(t.firstChild=t.lastChild=null),t}function ld(n,t){return t.parentNode&&t.parentNode.removeChild(t),t.parentNode=n,t.previousSibling=n.lastChild,t.nextSibling=null,t.previousSibling?t.previousSibling.nextSibling=t:n.firstChild=t,n.lastChild=t,cu(n.ownerDocument,n,t),t}qn.prototype={nodeName:"#document",nodeType:kl,doctype:null,documentElement:null,_inc:1,insertBefore:function(n,t){if(n.nodeType==Ti){for(var e=n.firstChild;e;){var r=e.nextSibling;this.insertBefore(e,t),e=r}return n}return Vs(this,n,t),n.ownerDocument=this,this.documentElement===null&&n.nodeType===Ye&&(this.documentElement=n),n},removeChild:function(n){return this.documentElement==n&&(this.documentElement=null),Zl(this,n)},replaceChild:function(n,t){Vs(this,n,t,Jl),n.ownerDocument=this,t&&this.removeChild(t),fi(n)&&(this.documentElement=n)},importNode:function(n,t){return nh(this,n,t)},getElementById:function(n){var t=null;return kn(this.documentElement,function(e){if(e.nodeType==Ye&&e.getAttribute("id")==n)return t=e,!0}),t},getElementsByClassName:function(n){var t=Pl(n);return new Yr(this,function(e){var r=[];return t.length>0&&kn(e.documentElement,function(a){if(a!==e&&a.nodeType===Ye){var u=a.getAttribute("class");if(u){var l=n===u;if(!l){var c=Pl(u);l=t.every(ed(c))}l&&r.push(a)}}}),r})},createElement:function(n){var t=new xr;t.ownerDocument=this,t.nodeName=n,t.tagName=n,t.localName=n,t.childNodes=new _i;var e=t.attributes=new zs;return e._ownerElement=t,t},createDocumentFragment:function(){var n=new Xs;return n.ownerDocument=this,n.childNodes=new _i,n},createTextNode:function(n){var t=new pu;return t.ownerDocument=this,t.appendData(n),t},createComment:function(n){var t=new du;return t.ownerDocument=this,t.appendData(n),t},createCDATASection:function(n){var t=new gu;return t.ownerDocument=this,t.appendData(n),t},createProcessingInstruction:function(n,t){var e=new yu;return e.ownerDocument=this,e.tagName=e.nodeName=e.target=n,e.nodeValue=e.data=t,e},createAttribute:function(n){var t=new $s;return t.ownerDocument=this,t.name=n,t.nodeName=n,t.localName=n,t.specified=!0,t},createEntityReference:function(n){var t=new mu;return t.ownerDocument=this,t.nodeName=n,t},createElementNS:function(n,t){var e=new xr,r=t.split(":"),a=e.attributes=new zs;return e.childNodes=new _i,e.ownerDocument=this,e.nodeName=t,e.tagName=t,e.namespaceURI=n,r.length==2?(e.prefix=r[0],e.localName=r[1]):e.localName=t,a._ownerElement=e,e},createAttributeNS:function(n,t){var e=new $s,r=t.split(":");return e.ownerDocument=this,e.nodeName=t,e.name=t,e.namespaceURI=n,e.specified=!0,r.length==2?(e.prefix=r[0],e.localName=r[1]):e.localName=t,e}},ge(qn,At);function xr(){this._nsMap={}}xr.prototype={nodeType:Ye,hasAttribute:function(n){return this.getAttributeNode(n)!=null},getAttribute:function(n){var t=this.getAttributeNode(n);return t&&t.value||""},getAttributeNode:function(n){return this.attributes.getNamedItem(n)},setAttribute:function(n,t){var e=this.ownerDocument.createAttribute(n);e.value=e.nodeValue=""+t,this.setAttributeNode(e)},removeAttribute:function(n){var t=this.getAttributeNode(n);t&&this.removeAttributeNode(t)},appendChild:function(n){return n.nodeType===Ti?this.insertBefore(n,null):ld(this,n)},setAttributeNode:function(n){return this.attributes.setNamedItem(n)},setAttributeNodeNS:function(n){return this.attributes.setNamedItemNS(n)},removeAttributeNode:function(n){return this.attributes.removeNamedItem(n.nodeName)},removeAttributeNS:function(n,t){var e=this.getAttributeNodeNS(n,t);e&&this.removeAttributeNode(e)},hasAttributeNS:function(n,t){return this.getAttributeNodeNS(n,t)!=null},getAttributeNS:function(n,t){var e=this.getAttributeNodeNS(n,t);return e&&e.value||""},setAttributeNS:function(n,t,e){var r=this.ownerDocument.createAttributeNS(n,t);r.value=r.nodeValue=""+e,this.setAttributeNode(r)},getAttributeNodeNS:function(n,t){return this.attributes.getNamedItemNS(n,t)},getElementsByTagName:function(n){return new Yr(this,function(t){var e=[];return kn(t,function(r){r!==t&&r.nodeType==Ye&&(n==="*"||r.tagName==n)&&e.push(r)}),e})},getElementsByTagNameNS:function(n,t){return new Yr(this,function(e){var r=[];return kn(e,function(a){a!==e&&a.nodeType===Ye&&(n==="*"||a.namespaceURI===n)&&(t==="*"||a.localName==t)&&r.push(a)}),r})}},qn.prototype.getElementsByTagName=xr.prototype.getElementsByTagName,qn.prototype.getElementsByTagNameNS=xr.prototype.getElementsByTagNameNS,ge(xr,At);function $s(){}$s.prototype.nodeType=Xr,ge($s,At);function Hn(){}Hn.prototype={data:"",substringData:function(n,t){return this.data.substring(n,n+t)},appendData:function(n){n=this.data+n,this.nodeValue=this.data=n,this.length=n.length},insertData:function(n,t){this.replaceData(n,0,t)},appendChild:function(n){throw new Error(Gt[ye])},deleteData:function(n,t){this.replaceData(n,t,"")},replaceData:function(n,t,e){var r=this.data.substring(0,n),a=this.data.substring(n+t);e=r+e+a,this.nodeValue=this.data=e,this.length=e.length}},ge(Hn,At);function pu(){}pu.prototype={nodeName:"#text",nodeType:Ws,splitText:function(n){var t=this.data,e=t.substring(n);t=t.substring(0,n),this.data=this.nodeValue=t,this.length=t.length;var r=this.ownerDocument.createTextNode(e);return this.parentNode&&this.parentNode.insertBefore(r,this.nextSibling),r}},ge(pu,Hn);function du(){}du.prototype={nodeName:"#comment",nodeType:Ul},ge(du,Hn);function gu(){}gu.prototype={nodeName:"#cdata-section",nodeType:Ll},ge(gu,Hn);function Gs(){}Gs.prototype.nodeType=ql,ge(Gs,At);function jl(){}jl.prototype.nodeType=rd,ge(jl,At);function th(){}th.prototype.nodeType=id,ge(th,At);function mu(){}mu.prototype.nodeType=Rl,ge(mu,At);function Xs(){}Xs.prototype.nodeName="#document-fragment",Xs.prototype.nodeType=Ti,ge(Xs,At);function yu(){}yu.prototype.nodeType=Fl,ge(yu,At);function eh(){}eh.prototype.serializeToString=function(n,t,e){return ih.call(n,t,e)},At.prototype.toString=ih;function ih(n,t){var e=[],r=this.nodeType==9&&this.documentElement||this,a=r.prefix,u=r.namespaceURI;if(u&&a==null){var a=r.lookupPrefix(u);if(a==null)var l=[{namespace:u,prefix:null}]}return Zr(this,e,n,t,l),e.join("")}function rh(n,t,e){var r=n.prefix||"",a=n.namespaceURI;if(!a||r==="xml"&&a===Fn.XML||a===Fn.XMLNS)return!1;for(var u=e.length;u--;){var l=e[u];if(l.prefix===r)return l.namespace!==a}return!0}function vu(n,t,e){n.push(" ",t,'="',e.replace(/[<>&"\t\n\r]/g,Xl),'"')}function Zr(n,t,e,r,a){if(a||(a=[]),r)if(n=r(n),n){if(typeof n=="string"){t.push(n);return}}else return;switch(n.nodeType){case Ye:var u=n.attributes,l=u.length,k=n.firstChild,c=n.tagName;e=Fn.isHTML(n.namespaceURI)||e;var f=c;if(!e&&!n.prefix&&n.namespaceURI){for(var d,v=0;v<u.length;v++)if(u.item(v).name==="xmlns"){d=u.item(v).value;break}if(!d)for(var E=a.length-1;E>=0;E--){var A=a[E];if(A.prefix===""&&A.namespace===n.namespaceURI){d=A.namespace;break}}if(d!==n.namespaceURI)for(var E=a.length-1;E>=0;E--){var A=a[E];if(A.namespace===n.namespaceURI){A.prefix&&(f=A.prefix+":"+c);break}}}t.push("<",f);for(var T=0;T<l;T++){var I=u.item(T);I.prefix=="xmlns"?a.push({prefix:I.localName,namespace:I.value}):I.nodeName=="xmlns"&&a.push({prefix:"",namespace:I.value})}for(var T=0;T<l;T++){var I=u.item(T);if(rh(I,e,a)){var S=I.prefix||"",D=I.namespaceURI;vu(t,S?"xmlns:"+S:"xmlns",D),a.push({prefix:S,namespace:D})}Zr(I,t,e,r,a)}if(c===f&&rh(n,e,a)){var S=n.prefix||"",D=n.namespaceURI;vu(t,S?"xmlns:"+S:"xmlns",D),a.push({prefix:S,namespace:D})}if(k||e&&!/^(?:meta|link|img|br|hr|input)$/i.test(c)){if(t.push(">"),e&&/^script$/i.test(c))for(;k;)k.data?t.push(k.data):Zr(k,t,e,r,a.slice()),k=k.nextSibling;else for(;k;)Zr(k,t,e,r,a.slice()),k=k.nextSibling;t.push("</",f,">")}else t.push("/>");return;case kl:case Ti:for(var k=n.firstChild;k;)Zr(k,t,e,r,a.slice()),k=k.nextSibling;return;case Xr:return vu(t,n.name,n.value);case Ws:return t.push(n.data.replace(/[<&>]/g,Xl));case Ll:return t.push("<![CDATA[",n.data,"]]>");case Ul:return t.push("<!--",n.data,"-->");case ql:var V=n.publicId,W=n.systemId;if(t.push("<!DOCTYPE ",n.name),V)t.push(" PUBLIC ",V),W&&W!="."&&t.push(" ",W),t.push(">");else if(W&&W!=".")t.push(" SYSTEM ",W,">");else{var X=n.internalSubset;X&&t.push(" [",X,"]"),t.push(">")}return;case Fl:return t.push("<?",n.target," ",n.data,"?>");case Rl:return t.push("&",n.nodeName,";");default:t.push("??",n.nodeName)}}function nh(n,t,e){var r;switch(t.nodeType){case Ye:r=t.cloneNode(!1),r.ownerDocument=n;case Ti:break;case Xr:e=!0;break}if(r||(r=t.cloneNode(!1)),r.ownerDocument=n,r.parentNode=null,e)for(var a=t.firstChild;a;)r.appendChild(nh(n,a,e)),a=a.nextSibling;return r}function xu(n,t,e){var r=new t.constructor;for(var a in t)if(Object.prototype.hasOwnProperty.call(t,a)){var u=t[a];typeof u!="object"&&u!=r[a]&&(r[a]=u)}switch(t.childNodes&&(r.childNodes=new _i),r.ownerDocument=n,r.nodeType){case Ye:var l=t.attributes,c=r.attributes=new zs,f=l.length;c._ownerElement=r;for(var d=0;d<f;d++)r.setAttributeNode(xu(n,l.item(d),!0));break;case Xr:e=!0}if(e)for(var v=t.firstChild;v;)r.appendChild(xu(n,v,e)),v=v.nextSibling;return r}function sh(n,t,e){n[t]=e}try{if(Object.defineProperty){let n=function(t){switch(t.nodeType){case Ye:case Ti:var e=[];for(t=t.firstChild;t;)t.nodeType!==7&&t.nodeType!==8&&e.push(n(t)),t=t.nextSibling;return e.join("");default:return t.nodeValue}};Object.defineProperty(Yr.prototype,"length",{get:function(){return hu(this),this.$$length}}),Object.defineProperty(At.prototype,"textContent",{get:function(){return n(this)},set:function(t){switch(this.nodeType){case Ye:case Ti:for(;this.firstChild;)this.removeChild(this.firstChild);(t||String(t))&&this.appendChild(this.ownerDocument.createTextNode(t));break;default:this.data=t,this.value=t,this.nodeValue=t}}}),sh=function(t,e,r){t["$$"+e]=r}}}catch{}Ki.DocumentType=Gs,Ki.DOMException=Ft,Ki.DOMImplementation=Gl,Ki.Element=xr,Ki.Node=At,Ki.NodeList=_i,Ki.XMLSerializer=eh;var Ys={},ah={};(function(n){var t=wi.freeze;n.XML_ENTITIES=t({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),n.HTML_ENTITIES=t({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"",InvisibleTimes:"",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"",NegativeThickSpace:"",NegativeThinSpace:"",NegativeVeryThinSpace:"",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:`
|
|
2
|
-
`,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:" ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"",zwnj:""}),n.entityMap=n.HTML_ENTITIES})(ah);var Eu={},Wn=wi.NAMESPACE,Au=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,uh=new RegExp("[\\-\\.0-9"+Au.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),oh=new RegExp("^"+Au.source+uh.source+"*(?::"+Au.source+uh.source+"*)?$"),zn=0,Qi=1,Kr=2,Vn=3,Qr=4,Jr=5,$n=6,Zs=7;function jr(n,t){this.message=n,this.locator=t,Error.captureStackTrace&&Error.captureStackTrace(this,jr)}jr.prototype=new Error,jr.prototype.name=jr.name;function lh(){}lh.prototype={parse:function(n,t,e){var r=this.domBuilder;r.startDocument(),fh(t,t={}),hd(n,t,e,r,this.errorHandler),r.endDocument()}};function hd(n,t,e,r,a){function u(B){if(B>65535){B-=65536;var Pt=55296+(B>>10),Le=56320+(B&1023);return String.fromCharCode(Pt,Le)}else return String.fromCharCode(B)}function l(B){var Pt=B.slice(1,-1);return Object.hasOwnProperty.call(e,Pt)?e[Pt]:Pt.charAt(0)==="#"?u(parseInt(Pt.substr(1).replace("x","0x"))):(a.error("entity not found:"+B),B)}function c(B){if(B>S){var Pt=n.substring(S,B).replace(/&#?\w+;/g,l);A&&f(S),r.characters(Pt,0,B-S),S=B}}function f(B,Pt){for(;B>=v&&(Pt=E.exec(n));)d=Pt.index,v=d+Pt[0].length,A.lineNumber++;A.columnNumber=B-d+1}for(var d=0,v=0,E=/.*(?:\r\n?|\n)|.*$/g,A=r.locator,T=[{currentNSMap:t}],I={},S=0;;){try{var D=n.indexOf("<",S);if(D<0){if(!n.substr(S).match(/^\s*$/)){var k=r.doc,V=k.createTextNode(n.substr(S));k.appendChild(V),r.currentElement=V}return}switch(D>S&&c(D),n.charAt(D+1)){case"/":var nt=n.indexOf(">",D+3),W=n.substring(D+2,nt).replace(/[ \t\n\r]+$/g,""),X=T.pop();nt<0?(W=n.substring(D+2).replace(/[\s<].*/,""),a.error("end tag name: "+W+" is not complete:"+X.tagName),nt=D+1+W.length):W.match(/\s</)&&(W=W.replace(/[\s<].*/,""),a.error("end tag name: "+W+" maybe not complete"),nt=D+1+W.length);var $=X.localNSMap,K=X.tagName==W,tt=K||X.tagName&&X.tagName.toLowerCase()==W.toLowerCase();if(tt){if(r.endElement(X.uri,X.localName,W),$)for(var Z in $)Object.prototype.hasOwnProperty.call($,Z)&&r.endPrefixMapping(Z);K||a.fatalError("end tag name: "+W+" is not match the current start tagName:"+X.tagName)}else T.push(X);nt++;break;case"?":A&&f(D),nt=gd(n,D,r);break;case"!":A&&f(D),nt=dd(n,D,r,a);break;default:A&&f(D);var z=new ph,J=T[T.length-1].currentNSMap,nt=cd(n,D,z,J,l,a),mt=z.length;if(!z.closed&&pd(n,nt,z.tagName,I)&&(z.closed=!0,e.nbsp||a.warning("unclosed xml attribute")),A&&mt){for(var It=hh(A,{}),Ct=0;Ct<mt;Ct++){var yt=z[Ct];f(yt.offset),yt.locator=hh(A,{})}r.locator=It,ch(z,r,J)&&T.push(z),r.locator=A}else ch(z,r,J)&&T.push(z);Wn.isHTML(z.uri)&&!z.closed?nt=fd(n,nt,z.tagName,l,r):nt++}}catch(B){if(B instanceof jr)throw B;a.error("element parse error: "+B),nt=-1}nt>S?S=nt:c(Math.max(D,S)+1)}}function hh(n,t){return t.lineNumber=n.lineNumber,t.columnNumber=n.columnNumber,t}function cd(n,t,e,r,a,u){function l(A,T,I){e.attributeNames.hasOwnProperty(A)&&u.fatalError("Attribute "+A+" redefined"),e.addValue(A,T.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,a),I)}for(var c,f,d=++t,v=zn;;){var E=n.charAt(d);switch(E){case"=":if(v===Qi)c=n.slice(t,d),v=Vn;else if(v===Kr)v=Vn;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(v===Vn||v===Qi)if(v===Qi&&(u.warning('attribute value must after "="'),c=n.slice(t,d)),t=d+1,d=n.indexOf(E,t),d>0)f=n.slice(t,d),l(c,f,t-1),v=Jr;else throw new Error("attribute value no end '"+E+"' match");else if(v==Qr)f=n.slice(t,d),l(c,f,t),u.warning('attribute "'+c+'" missed start quot('+E+")!!"),t=d+1,v=Jr;else throw new Error('attribute value must after "="');break;case"/":switch(v){case zn:e.setTagName(n.slice(t,d));case Jr:case $n:case Zs:v=Zs,e.closed=!0;case Qr:case Qi:break;case Kr:e.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return u.error("unexpected end of input"),v==zn&&e.setTagName(n.slice(t,d)),d;case">":switch(v){case zn:e.setTagName(n.slice(t,d));case Jr:case $n:case Zs:break;case Qr:case Qi:f=n.slice(t,d),f.slice(-1)==="/"&&(e.closed=!0,f=f.slice(0,-1));case Kr:v===Kr&&(f=c),v==Qr?(u.warning('attribute "'+f+'" missed quot(")!'),l(c,f,t)):((!Wn.isHTML(r[""])||!f.match(/^(?:disabled|checked|selected)$/i))&&u.warning('attribute "'+f+'" missed value!! "'+f+'" instead!!'),l(f,f,t));break;case Vn:throw new Error("attribute value missed!!")}return d;case"":E=" ";default:if(E<=" ")switch(v){case zn:e.setTagName(n.slice(t,d)),v=$n;break;case Qi:c=n.slice(t,d),v=Kr;break;case Qr:var f=n.slice(t,d);u.warning('attribute "'+f+'" missed quot(")!!'),l(c,f,t);case Jr:v=$n;break}else switch(v){case Kr:e.tagName,(!Wn.isHTML(r[""])||!c.match(/^(?:disabled|checked|selected)$/i))&&u.warning('attribute "'+c+'" missed value!! "'+c+'" instead2!!'),l(c,c,t),t=d,v=Qi;break;case Jr:u.warning('attribute space is required"'+c+'"!!');case $n:v=Qi,t=d;break;case Vn:v=Qr,t=d;break;case Zs:throw new Error("elements closed character '/' and '>' must be connected to")}}d++}}function ch(n,t,e){for(var r=n.tagName,a=null,E=n.length;E--;){var u=n[E],l=u.qName,c=u.value,A=l.indexOf(":");if(A>0)var f=u.prefix=l.slice(0,A),d=l.slice(A+1),v=f==="xmlns"&&d;else d=l,f=null,v=l==="xmlns"&&"";u.localName=d,v!==!1&&(a==null&&(a={},fh(e,e={})),e[v]=a[v]=c,u.uri=Wn.XMLNS,t.startPrefixMapping(v,c))}for(var E=n.length;E--;){u=n[E];var f=u.prefix;f&&(f==="xml"&&(u.uri=Wn.XML),f!=="xmlns"&&(u.uri=e[f||""]))}var A=r.indexOf(":");A>0?(f=n.prefix=r.slice(0,A),d=n.localName=r.slice(A+1)):(f=null,d=n.localName=r);var T=n.uri=e[f||""];if(t.startElement(T,d,r,n),n.closed){if(t.endElement(T,d,r),a)for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&t.endPrefixMapping(f)}else return n.currentNSMap=e,n.localNSMap=a,!0}function fd(n,t,e,r,a){if(/^(?:script|textarea)$/i.test(e)){var u=n.indexOf("</"+e+">",t),l=n.substring(t+1,u);if(/[&<]/.test(l))return/^script$/i.test(e)?(a.characters(l,0,l.length),u):(l=l.replace(/&#?\w+;/g,r),a.characters(l,0,l.length),u)}return t+1}function pd(n,t,e,r){var a=r[e];return a==null&&(a=n.lastIndexOf("</"+e+">"),a<t&&(a=n.lastIndexOf("</"+e)),r[e]=a),a<t}function fh(n,t){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])}function dd(n,t,e,r){var a=n.charAt(t+2);switch(a){case"-":if(n.charAt(t+3)==="-"){var u=n.indexOf("-->",t+4);return u>t?(e.comment(n,t+4,u-t-4),u+3):(r.error("Unclosed comment"),-1)}else return-1;default:if(n.substr(t+3,6)=="CDATA["){var u=n.indexOf("]]>",t+9);return e.startCDATA(),e.characters(n,t+9,u-t-9),e.endCDATA(),u+3}var l=md(n,t),c=l.length;if(c>1&&/!doctype/i.test(l[0][0])){var f=l[1][0],d=!1,v=!1;c>3&&(/^public$/i.test(l[2][0])?(d=l[3][0],v=c>4&&l[4][0]):/^system$/i.test(l[2][0])&&(v=l[3][0]));var E=l[c-1];return e.startDTD(f,d,v),e.endDTD(),E.index+E[0].length}}return-1}function gd(n,t,e){var r=n.indexOf("?>",t);if(r){var a=n.substring(t,r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return a?(a[0].length,e.processingInstruction(a[1],a[2]),r+2):-1}return-1}function ph(){this.attributeNames={}}ph.prototype={setTagName:function(n){if(!oh.test(n))throw new Error("invalid tagName:"+n);this.tagName=n},addValue:function(n,t,e){if(!oh.test(n))throw new Error("invalid attribute:"+n);this.attributeNames[n]=this.length,this[this.length++]={qName:n,value:t,offset:e}},length:0,getLocalName:function(n){return this[n].localName},getLocator:function(n){return this[n].locator},getQName:function(n){return this[n].qName},getURI:function(n){return this[n].uri},getValue:function(n){return this[n].value}};function md(n,t){var e,r=[],a=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(a.lastIndex=t,a.exec(n);e=a.exec(n);)if(r.push(e),e[1])return r}Eu.XMLReader=lh,Eu.ParseError=jr;var yd=wi,vd=Ki,dh=ah,gh=Eu,xd=vd.DOMImplementation,mh=yd.NAMESPACE,Ed=gh.ParseError,Ad=gh.XMLReader;function yh(n){return n.replace(/\r[\n\u0085]/g,`
|
|
1
|
+
(function(Kt,Gr){typeof exports=="object"&&typeof module<"u"?Gr(exports):typeof define=="function"&&define.amd?define(["exports"],Gr):(Kt=typeof globalThis<"u"?globalThis:Kt||self,Gr(Kt.archgine={}))})(this,function(Kt){"use strict";const Gr={name:"TinyEngine",containerId:"tinyEngine",canvas:"tinyEngine",width:0,height:0,aspect:1,dpr:1,alpha:!1,color:"#232323",fps:60,syncDelay:800,animateDuration:1e3,usedCache:!1,showPoints:!1,wireframe:!1,castShadow:!1,workerRender:!1,monitorDuration:1e4,light:{color:"#f2f2f2",position:[-6,6,0],castShadow:!0,shadowBlur:16},camera:{left:-1,right:1,top:1,bottom:-1,aspect:1,eye:[0,0,0],up:[0,0,1],helperEnable:!0},controls:{target:[0,0,0],minDistance:.1,maxDistance:1e3,enablePan:!0,enableRotate:!0,enableZoom:!0,focusMode:!0,autoRotate:!1,autoRotateSpeed:.5,enableDamping:!0,dampingFactor:.2},gridHelper:{fill:"#e3e3e3"},axesHelper:{},displayUnits:"",tooltip:!0,assetType:"rm",zoomToSelectEnable:!1,selectEnable:!1,multiSelectEnable:!1,socialDistanceEnable:!1,socialDistance:{radius:3}};function Sl(n,t){const e=n.x*Math.cos(t)-n.y*Math.sin(t),r=n.y*Math.cos(t)+n.x*Math.sin(t);n.x=e,n.y=r}function zp(n,t,e){n.x+=t,n.y+=e}function Dl(n,t){n.x*=t,n.y*=t}class Xr{commands;constructor(t){this.commands=[],t&&t instanceof Xr?this.commands.push(...t.commands):t&&(this.commands=Zp(t))}addPath(t){t&&t instanceof Xr&&this.commands.push(...t.commands)}moveTo(t,e){this.commands.push(["M",t,e])}lineTo(t,e){this.commands.push(["L",t,e])}arc(t,e,r,a,u,l){this.commands.push(["AC",t,e,r,a,u,!!l])}arcTo(t,e,r,a,u){this.commands.push(["AT",t,e,r,a,u])}ellipse(t,e,r,a,u,l,c,f){this.commands.push(["E",t,e,r,a,u,l,c,!!f])}closePath(){this.commands.push(["Z"])}bezierCurveTo(t,e,r,a,u,l){this.commands.push(["C",t,e,r,a,u,l])}quadraticCurveTo(t,e,r,a){this.commands.push(["Q",t,e,r,a])}rect(t,e,r,a){this.commands.push(["R",t,e,r,a])}roundRect(t,e,r,a,u){typeof u>"u"?this.commands.push(["RR",t,e,r,a,0]):this.commands.push(["RR",t,e,r,a,u])}}function ou(n,t){let e=0,r=0,a,u,l,c,f,d,v,E,A,T,I,S,D,k,z,W,X,$,K,tt,Z,V=null,J=null,nt=null,mt=null,It=null,Ct=null;n.beginPath();for(let yt=0;yt<t.length;++yt){$=t[yt][0],$!=="S"&&$!=="s"&&$!=="C"&&$!=="c"&&(V=null,J=null),$!=="T"&&$!=="t"&&$!=="Q"&&$!=="q"&&(nt=null,mt=null);let B;switch($){case"m":case"M":B=t[yt],$==="m"?(e+=B[1],r+=B[2]):(e=B[1],r=B[2]),($==="M"||!It)&&(It={x:e,y:r}),n.moveTo(e,r);break;case"l":B=t[yt],e+=B[1],r+=B[2],n.lineTo(e,r);break;case"L":B=t[yt],e=B[1],r=B[2],n.lineTo(e,r);break;case"H":B=t[yt],e=B[1],n.lineTo(e,r);break;case"h":B=t[yt],e+=B[1],n.lineTo(e,r);break;case"V":B=t[yt],r=B[1],n.lineTo(e,r);break;case"v":B=t[yt],r+=B[1],n.lineTo(e,r);break;case"a":case"A":if(B=t[yt],Ct===null)throw new Error("This should never happen");$==="a"?(e+=B[6],r+=B[7]):(e=B[6],r=B[7]),k=B[1],z=B[2],v=B[3]*Math.PI/180,l=!!B[4],c=!!B[5],f={x:e,y:r},d={x:(Ct.x-f.x)/2,y:(Ct.y-f.y)/2},Sl(d,-v),E=d.x*d.x/(k*k)+d.y*d.y/(z*z),E>1&&(E=Math.sqrt(E),k*=E,z*=E),K={x:k*d.y/z,y:-(z*d.x)/k},A=k*k*z*z,T=k*k*d.y*d.y+z*z*d.x*d.x,c!==l?Dl(K,Math.sqrt((A-T)/T)||0):Dl(K,-Math.sqrt((A-T)/T)||0),u=Math.atan2((d.y-K.y)/z,(d.x-K.x)/k),a=Math.atan2(-(d.y+K.y)/z,-(d.x+K.x)/k),Sl(K,v),zp(K,(f.x+Ct.x)/2,(f.y+Ct.y)/2),n.save(),n.translate(K.x,K.y),n.rotate(v),n.scale(k,z),n.arc(0,0,1,u,a,!c),n.restore();break;case"C":B=t[yt],V=B[3],J=B[4],e=B[5],r=B[6],n.bezierCurveTo(B[1],B[2],V,J,e,r);break;case"c":B=t[yt],n.bezierCurveTo(B[1]+e,B[2]+r,B[3]+e,B[4]+r,B[5]+e,B[6]+r),V=B[3]+e,J=B[4]+r,e+=B[5],r+=B[6];break;case"S":B=t[yt],(V===null||J===null)&&(V=e,J=r),n.bezierCurveTo(2*e-V,2*r-J,B[1],B[2],B[3],B[4]),V=B[1],J=B[2],e=B[3],r=B[4];break;case"s":B=t[yt],(V===null||J===null)&&(V=e,J=r),n.bezierCurveTo(2*e-V,2*r-J,B[1]+e,B[2]+r,B[3]+e,B[4]+r),V=B[1]+e,J=B[2]+r,e+=B[3],r+=B[4];break;case"Q":B=t[yt],nt=B[1],mt=B[2],e=B[3],r=B[4],n.quadraticCurveTo(nt,mt,e,r);break;case"q":B=t[yt],nt=B[1]+e,mt=B[2]+r,e+=B[3],r+=B[4],n.quadraticCurveTo(nt,mt,e,r);break;case"T":B=t[yt],(nt===null||mt===null)&&(nt=e,mt=r),nt=2*e-nt,mt=2*r-mt,e=B[1],r=B[2],n.quadraticCurveTo(nt,mt,e,r);break;case"t":B=t[yt],(nt===null||mt===null)&&(nt=e,mt=r),nt=2*e-nt,mt=2*r-mt,e+=B[1],r+=B[2],n.quadraticCurveTo(nt,mt,e,r);break;case"z":case"Z":It&&(e=It.x,r=It.y),It=null,n.closePath();break;case"AC":B=t[yt],e=B[1],r=B[2],D=B[3],u=B[4],a=B[5],tt=B[6],n.arc(e,r,D,u,a,tt);break;case"AT":B=t[yt],I=B[1],S=B[2],e=B[3],r=B[4],D=B[5],n.arcTo(I,S,e,r,D);break;case"E":B=t[yt],e=B[1],r=B[2],k=B[3],z=B[4],v=B[5],u=B[6],a=B[7],tt=B[8],n.save(),n.translate(e,r),n.rotate(v),n.scale(k,z),n.arc(0,0,1,u,a,tt),n.restore();break;case"R":B=t[yt],e=B[1],r=B[2],W=B[3],X=B[4],It={x:e,y:r},n.rect(e,r,W,X);break;case"RR":B=t[yt],e=B[1],r=B[2],W=B[3],X=B[4],Z=B[5],It={x:e,y:r},n.roundRect(e,r,W,X,Z);break}Ct?(Ct.x=e,Ct.y=r):Ct={x:e,y:r}}}function $p(n){if(!n||!n.CanvasRenderingContext2D||n.Path2D)return;const{CanvasRenderingContext2D:t}=n,e=t==null?void 0:t.prototype.fill,r=t==null?void 0:t.prototype.stroke,a=t==null?void 0:t.prototype.isPointInPath;t.prototype.fill=function(...l){if(l[0]instanceof Xr){const c=l[0],f=l[1]||"nonzero";ou(this,c.commands),e.apply(this,[f])}else{const c=l[0]||"nonzero";return e.apply(this,[c])}},t.prototype.stroke=function(l){l&&ou(this,l.commands),r.apply(this)},t.prototype.isPointInPath=function(...l){if(l[0]instanceof Xr){const c=l[0],f=l[1],d=l[2],v=l[3]||"nonzero";return ou(this,c.commands),a.apply(this,[f,d,v])}else return a.apply(this,l)},n.Path2D=Xr}const Rn={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Gp=/([astvzqmhlc])([^astvzqmhlc]*)/gi,Xp=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi;function Yp(n){const t=n.match(Xp);return t?t.map(Number):[]}function Zp(n){const t=[],e=String(n).trim();return e[0]!=="M"&&e[0]!=="m"||e.replace(Gp,(r,a,u)=>{const l=Yp(u);let c=a.toLowerCase(),f=a;if(c==="m"&&l.length>2&&(t.push([f,...l.splice(0,2)]),c="l",f=f==="m"?"l":"L"),l.length<Rn[c])return"";for(t.push([f,...l.splice(0,Rn[c])]);l.length>=Rn[c]&&l.length&&Rn[c];)t.push([f,...l.splice(0,Rn[c])]);return""}),t}var Fn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Nl(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Ki={},wi={};function Kp(n,t,e){if(e===void 0&&(e=Array.prototype),n&&typeof e.find=="function")return e.find.call(n,t);for(var r=0;r<n.length;r++)if(Object.prototype.hasOwnProperty.call(n,r)){var a=n[r];if(t.call(void 0,a,r,n))return a}}function lu(n,t){return t===void 0&&(t=Object),t&&typeof t.freeze=="function"?t.freeze(n):n}function Qp(n,t){if(n===null||typeof n!="object")throw new TypeError("target is not an object");for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n}var Ol=lu({HTML:"text/html",isHTML:function(n){return n===Ol.HTML},XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),Ml=lu({HTML:"http://www.w3.org/1999/xhtml",isHTML:function(n){return n===Ml.HTML},SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});wi.assign=Qp,wi.find=Kp,wi.freeze=lu,wi.MIME_TYPE=Ol,wi.NAMESPACE=Ml;var Bl=wi,ci=Bl.find,Un=Bl.NAMESPACE;function Jp(n){return n!==""}function jp(n){return n?n.split(/[\t\n\f\r ]+/).filter(Jp):[]}function td(n,t){return n.hasOwnProperty(t)||(n[t]=!0),n}function Il(n){if(!n)return[];var t=jp(n);return Object.keys(t.reduce(td,{}))}function ed(n){return function(t){return n&&n.indexOf(t)!==-1}}function kn(n,t){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])}function ge(n,t){var e=n.prototype;if(!(e instanceof t)){let r=function(){};r.prototype=t.prototype,r=new r,kn(e,r),n.prototype=e=r}e.constructor!=n&&(typeof n!="function"&&console.error("unknown Class:"+n),e.constructor=n)}var me={},Ye=me.ELEMENT_NODE=1,Yr=me.ATTRIBUTE_NODE=2,Vs=me.TEXT_NODE=3,Pl=me.CDATA_SECTION_NODE=4,Ll=me.ENTITY_REFERENCE_NODE=5,id=me.ENTITY_NODE=6,Rl=me.PROCESSING_INSTRUCTION_NODE=7,Fl=me.COMMENT_NODE=8,Ul=me.DOCUMENT_NODE=9,kl=me.DOCUMENT_TYPE_NODE=10,Ti=me.DOCUMENT_FRAGMENT_NODE=11,rd=me.NOTATION_NODE=12,re={},Gt={};re.INDEX_SIZE_ERR=(Gt[1]="Index size error",1),re.DOMSTRING_SIZE_ERR=(Gt[2]="DOMString size error",2);var ye=re.HIERARCHY_REQUEST_ERR=(Gt[3]="Hierarchy request error",3);re.WRONG_DOCUMENT_ERR=(Gt[4]="Wrong document",4),re.INVALID_CHARACTER_ERR=(Gt[5]="Invalid character",5),re.NO_DATA_ALLOWED_ERR=(Gt[6]="No data allowed",6),re.NO_MODIFICATION_ALLOWED_ERR=(Gt[7]="No modification allowed",7);var ql=re.NOT_FOUND_ERR=(Gt[8]="Not found",8);re.NOT_SUPPORTED_ERR=(Gt[9]="Not supported",9);var Hl=re.INUSE_ATTRIBUTE_ERR=(Gt[10]="Attribute in use",10);re.INVALID_STATE_ERR=(Gt[11]="Invalid state",11),re.SYNTAX_ERR=(Gt[12]="Syntax error",12),re.INVALID_MODIFICATION_ERR=(Gt[13]="Invalid modification",13),re.NAMESPACE_ERR=(Gt[14]="Invalid namespace",14),re.INVALID_ACCESS_ERR=(Gt[15]="Invalid access",15);function Ft(n,t){if(t instanceof Error)var e=t;else e=this,Error.call(this,Gt[n]),this.message=Gt[n],Error.captureStackTrace&&Error.captureStackTrace(this,Ft);return e.code=n,t&&(this.message=this.message+": "+t),e}Ft.prototype=Error.prototype,kn(re,Ft);function _i(){}_i.prototype={length:0,item:function(n){return n>=0&&n<this.length?this[n]:null},toString:function(n,t){for(var e=[],r=0;r<this.length;r++)Kr(this[r],e,n,t);return e.join("")},filter:function(n){return Array.prototype.filter.call(this,n)},indexOf:function(n){return Array.prototype.indexOf.call(this,n)}};function Zr(n,t){this._node=n,this._refresh=t,hu(this)}function hu(n){var t=n._node._inc||n._node.ownerDocument._inc;if(n._inc!==t){var e=n._refresh(n._node);if(nh(n,"length",e.length),!n.$$length||e.length<n.$$length)for(var r=e.length;r in n;r++)Object.prototype.hasOwnProperty.call(n,r)&&delete n[r];kn(e,n),n._inc=t}}Zr.prototype.item=function(n){return hu(this),this[n]||null},ge(Zr,_i);function zs(){}function Wl(n,t){for(var e=n.length;e--;)if(n[e]===t)return e}function Vl(n,t,e,r){if(r?t[Wl(t,r)]=e:t[t.length++]=e,n){e.ownerElement=n;var a=n.ownerDocument;a&&(r&&Xl(a,n,r),nd(a,n,e))}}function zl(n,t,e){var r=Wl(t,e);if(r>=0){for(var a=t.length-1;r<a;)t[r]=t[++r];if(t.length=a,n){var u=n.ownerDocument;u&&(Xl(u,n,e),e.ownerElement=null)}}else throw new Ft(ql,new Error(n.tagName+"@"+e))}zs.prototype={length:0,item:_i.prototype.item,getNamedItem:function(n){for(var t=this.length;t--;){var e=this[t];if(e.nodeName==n)return e}},setNamedItem:function(n){var t=n.ownerElement;if(t&&t!=this._ownerElement)throw new Ft(Hl);var e=this.getNamedItem(n.nodeName);return Vl(this._ownerElement,this,n,e),e},setNamedItemNS:function(n){var t=n.ownerElement,e;if(t&&t!=this._ownerElement)throw new Ft(Hl);return e=this.getNamedItemNS(n.namespaceURI,n.localName),Vl(this._ownerElement,this,n,e),e},removeNamedItem:function(n){var t=this.getNamedItem(n);return zl(this._ownerElement,this,t),t},removeNamedItemNS:function(n,t){var e=this.getNamedItemNS(n,t);return zl(this._ownerElement,this,e),e},getNamedItemNS:function(n,t){for(var e=this.length;e--;){var r=this[e];if(r.localName==t&&r.namespaceURI==n)return r}return null}};function $l(){}$l.prototype={hasFeature:function(n,t){return!0},createDocument:function(n,t,e){var r=new Hn;if(r.implementation=this,r.childNodes=new _i,r.doctype=e||null,e&&r.appendChild(e),t){var a=r.createElementNS(n,t);r.appendChild(a)}return r},createDocumentType:function(n,t,e){var r=new Xs;return r.name=n,r.nodeName=n,r.publicId=t||"",r.systemId=e||"",r}};function At(){}At.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(n,t){return $s(this,n,t)},replaceChild:function(n,t){$s(this,n,t,Ql),t&&this.removeChild(t)},removeChild:function(n){return Yl(this,n)},appendChild:function(n){return this.insertBefore(n,null)},hasChildNodes:function(){return this.firstChild!=null},cloneNode:function(n){return xu(this.ownerDocument||this,this,n)},normalize:function(){for(var n=this.firstChild;n;){var t=n.nextSibling;t&&t.nodeType==Vs&&n.nodeType==Vs?(this.removeChild(t),n.appendData(t.data)):(n.normalize(),n=t)}},isSupported:function(n,t){return this.ownerDocument.implementation.hasFeature(n,t)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(n){for(var t=this;t;){var e=t._nsMap;if(e){for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&e[r]===n)return r}t=t.nodeType==Yr?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(n){for(var t=this;t;){var e=t._nsMap;if(e&&Object.prototype.hasOwnProperty.call(e,n))return e[n];t=t.nodeType==Yr?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(n){var t=this.lookupPrefix(n);return t==null}};function Gl(n){return n=="<"&&"<"||n==">"&&">"||n=="&"&&"&"||n=='"'&&"""||"&#"+n.charCodeAt()+";"}kn(me,At),kn(me,At.prototype);function qn(n,t){if(t(n))return!0;if(n=n.firstChild)do if(qn(n,t))return!0;while(n=n.nextSibling)}function Hn(){this.ownerDocument=this}function nd(n,t,e){n&&n._inc++;var r=e.namespaceURI;r===Un.XMLNS&&(t._nsMap[e.prefix?e.localName:""]=e.value)}function Xl(n,t,e,r){n&&n._inc++;var a=e.namespaceURI;a===Un.XMLNS&&delete t._nsMap[e.prefix?e.localName:""]}function cu(n,t,e){if(n&&n._inc){n._inc++;var r=t.childNodes;if(e)r[r.length++]=e;else{for(var a=t.firstChild,u=0;a;)r[u++]=a,a=a.nextSibling;r.length=u,delete r[r.length]}}}function Yl(n,t){var e=t.previousSibling,r=t.nextSibling;return e?e.nextSibling=r:n.firstChild=r,r?r.previousSibling=e:n.lastChild=e,t.parentNode=null,t.previousSibling=null,t.nextSibling=null,cu(n.ownerDocument,n),t}function sd(n){return n&&(n.nodeType===At.DOCUMENT_NODE||n.nodeType===At.DOCUMENT_FRAGMENT_NODE||n.nodeType===At.ELEMENT_NODE)}function ad(n){return n&&(fi(n)||fu(n)||Ci(n)||n.nodeType===At.DOCUMENT_FRAGMENT_NODE||n.nodeType===At.COMMENT_NODE||n.nodeType===At.PROCESSING_INSTRUCTION_NODE)}function Ci(n){return n&&n.nodeType===At.DOCUMENT_TYPE_NODE}function fi(n){return n&&n.nodeType===At.ELEMENT_NODE}function fu(n){return n&&n.nodeType===At.TEXT_NODE}function Zl(n,t){var e=n.childNodes||[];if(ci(e,fi)||Ci(t))return!1;var r=ci(e,Ci);return!(t&&r&&e.indexOf(r)>e.indexOf(t))}function Kl(n,t){var e=n.childNodes||[];function r(u){return fi(u)&&u!==t}if(ci(e,r))return!1;var a=ci(e,Ci);return!(t&&a&&e.indexOf(a)>e.indexOf(t))}function ud(n,t,e){if(!sd(n))throw new Ft(ye,"Unexpected parent node type "+n.nodeType);if(e&&e.parentNode!==n)throw new Ft(ql,"child not in parent");if(!ad(t)||Ci(t)&&n.nodeType!==At.DOCUMENT_NODE)throw new Ft(ye,"Unexpected node type "+t.nodeType+" for parent node type "+n.nodeType)}function od(n,t,e){var r=n.childNodes||[],a=t.childNodes||[];if(t.nodeType===At.DOCUMENT_FRAGMENT_NODE){var u=a.filter(fi);if(u.length>1||ci(a,fu))throw new Ft(ye,"More than one element or text in fragment");if(u.length===1&&!Zl(n,e))throw new Ft(ye,"Element in fragment can not be inserted before doctype")}if(fi(t)&&!Zl(n,e))throw new Ft(ye,"Only one element can be added and only after doctype");if(Ci(t)){if(ci(r,Ci))throw new Ft(ye,"Only one doctype is allowed");var l=ci(r,fi);if(e&&r.indexOf(l)<r.indexOf(e))throw new Ft(ye,"Doctype can only be inserted before an element");if(!e&&l)throw new Ft(ye,"Doctype can not be appended since element is present")}}function Ql(n,t,e){var r=n.childNodes||[],a=t.childNodes||[];if(t.nodeType===At.DOCUMENT_FRAGMENT_NODE){var u=a.filter(fi);if(u.length>1||ci(a,fu))throw new Ft(ye,"More than one element or text in fragment");if(u.length===1&&!Kl(n,e))throw new Ft(ye,"Element in fragment can not be inserted before doctype")}if(fi(t)&&!Kl(n,e))throw new Ft(ye,"Only one element can be added and only after doctype");if(Ci(t)){if(ci(r,function(f){return Ci(f)&&f!==e}))throw new Ft(ye,"Only one doctype is allowed");var l=ci(r,fi);if(e&&r.indexOf(l)<r.indexOf(e))throw new Ft(ye,"Doctype can only be inserted before an element")}}function $s(n,t,e,r){ud(n,t,e),n.nodeType===At.DOCUMENT_NODE&&(r||od)(n,t,e);var a=t.parentNode;if(a&&a.removeChild(t),t.nodeType===Ti){var u=t.firstChild;if(u==null)return t;var l=t.lastChild}else u=l=t;var c=e?e.previousSibling:n.lastChild;u.previousSibling=c,l.nextSibling=e,c?c.nextSibling=u:n.firstChild=u,e==null?n.lastChild=l:e.previousSibling=l;do u.parentNode=n;while(u!==l&&(u=u.nextSibling));return cu(n.ownerDocument||n,n),t.nodeType==Ti&&(t.firstChild=t.lastChild=null),t}function ld(n,t){return t.parentNode&&t.parentNode.removeChild(t),t.parentNode=n,t.previousSibling=n.lastChild,t.nextSibling=null,t.previousSibling?t.previousSibling.nextSibling=t:n.firstChild=t,n.lastChild=t,cu(n.ownerDocument,n,t),t}Hn.prototype={nodeName:"#document",nodeType:Ul,doctype:null,documentElement:null,_inc:1,insertBefore:function(n,t){if(n.nodeType==Ti){for(var e=n.firstChild;e;){var r=e.nextSibling;this.insertBefore(e,t),e=r}return n}return $s(this,n,t),n.ownerDocument=this,this.documentElement===null&&n.nodeType===Ye&&(this.documentElement=n),n},removeChild:function(n){return this.documentElement==n&&(this.documentElement=null),Yl(this,n)},replaceChild:function(n,t){$s(this,n,t,Ql),n.ownerDocument=this,t&&this.removeChild(t),fi(n)&&(this.documentElement=n)},importNode:function(n,t){return rh(this,n,t)},getElementById:function(n){var t=null;return qn(this.documentElement,function(e){if(e.nodeType==Ye&&e.getAttribute("id")==n)return t=e,!0}),t},getElementsByClassName:function(n){var t=Il(n);return new Zr(this,function(e){var r=[];return t.length>0&&qn(e.documentElement,function(a){if(a!==e&&a.nodeType===Ye){var u=a.getAttribute("class");if(u){var l=n===u;if(!l){var c=Il(u);l=t.every(ed(c))}l&&r.push(a)}}}),r})},createElement:function(n){var t=new vr;t.ownerDocument=this,t.nodeName=n,t.tagName=n,t.localName=n,t.childNodes=new _i;var e=t.attributes=new zs;return e._ownerElement=t,t},createDocumentFragment:function(){var n=new Ys;return n.ownerDocument=this,n.childNodes=new _i,n},createTextNode:function(n){var t=new pu;return t.ownerDocument=this,t.appendData(n),t},createComment:function(n){var t=new du;return t.ownerDocument=this,t.appendData(n),t},createCDATASection:function(n){var t=new gu;return t.ownerDocument=this,t.appendData(n),t},createProcessingInstruction:function(n,t){var e=new yu;return e.ownerDocument=this,e.tagName=e.nodeName=e.target=n,e.nodeValue=e.data=t,e},createAttribute:function(n){var t=new Gs;return t.ownerDocument=this,t.name=n,t.nodeName=n,t.localName=n,t.specified=!0,t},createEntityReference:function(n){var t=new mu;return t.ownerDocument=this,t.nodeName=n,t},createElementNS:function(n,t){var e=new vr,r=t.split(":"),a=e.attributes=new zs;return e.childNodes=new _i,e.ownerDocument=this,e.nodeName=t,e.tagName=t,e.namespaceURI=n,r.length==2?(e.prefix=r[0],e.localName=r[1]):e.localName=t,a._ownerElement=e,e},createAttributeNS:function(n,t){var e=new Gs,r=t.split(":");return e.ownerDocument=this,e.nodeName=t,e.name=t,e.namespaceURI=n,e.specified=!0,r.length==2?(e.prefix=r[0],e.localName=r[1]):e.localName=t,e}},ge(Hn,At);function vr(){this._nsMap={}}vr.prototype={nodeType:Ye,hasAttribute:function(n){return this.getAttributeNode(n)!=null},getAttribute:function(n){var t=this.getAttributeNode(n);return t&&t.value||""},getAttributeNode:function(n){return this.attributes.getNamedItem(n)},setAttribute:function(n,t){var e=this.ownerDocument.createAttribute(n);e.value=e.nodeValue=""+t,this.setAttributeNode(e)},removeAttribute:function(n){var t=this.getAttributeNode(n);t&&this.removeAttributeNode(t)},appendChild:function(n){return n.nodeType===Ti?this.insertBefore(n,null):ld(this,n)},setAttributeNode:function(n){return this.attributes.setNamedItem(n)},setAttributeNodeNS:function(n){return this.attributes.setNamedItemNS(n)},removeAttributeNode:function(n){return this.attributes.removeNamedItem(n.nodeName)},removeAttributeNS:function(n,t){var e=this.getAttributeNodeNS(n,t);e&&this.removeAttributeNode(e)},hasAttributeNS:function(n,t){return this.getAttributeNodeNS(n,t)!=null},getAttributeNS:function(n,t){var e=this.getAttributeNodeNS(n,t);return e&&e.value||""},setAttributeNS:function(n,t,e){var r=this.ownerDocument.createAttributeNS(n,t);r.value=r.nodeValue=""+e,this.setAttributeNode(r)},getAttributeNodeNS:function(n,t){return this.attributes.getNamedItemNS(n,t)},getElementsByTagName:function(n){return new Zr(this,function(t){var e=[];return qn(t,function(r){r!==t&&r.nodeType==Ye&&(n==="*"||r.tagName==n)&&e.push(r)}),e})},getElementsByTagNameNS:function(n,t){return new Zr(this,function(e){var r=[];return qn(e,function(a){a!==e&&a.nodeType===Ye&&(n==="*"||a.namespaceURI===n)&&(t==="*"||a.localName==t)&&r.push(a)}),r})}},Hn.prototype.getElementsByTagName=vr.prototype.getElementsByTagName,Hn.prototype.getElementsByTagNameNS=vr.prototype.getElementsByTagNameNS,ge(vr,At);function Gs(){}Gs.prototype.nodeType=Yr,ge(Gs,At);function Wn(){}Wn.prototype={data:"",substringData:function(n,t){return this.data.substring(n,n+t)},appendData:function(n){n=this.data+n,this.nodeValue=this.data=n,this.length=n.length},insertData:function(n,t){this.replaceData(n,0,t)},appendChild:function(n){throw new Error(Gt[ye])},deleteData:function(n,t){this.replaceData(n,t,"")},replaceData:function(n,t,e){var r=this.data.substring(0,n),a=this.data.substring(n+t);e=r+e+a,this.nodeValue=this.data=e,this.length=e.length}},ge(Wn,At);function pu(){}pu.prototype={nodeName:"#text",nodeType:Vs,splitText:function(n){var t=this.data,e=t.substring(n);t=t.substring(0,n),this.data=this.nodeValue=t,this.length=t.length;var r=this.ownerDocument.createTextNode(e);return this.parentNode&&this.parentNode.insertBefore(r,this.nextSibling),r}},ge(pu,Wn);function du(){}du.prototype={nodeName:"#comment",nodeType:Fl},ge(du,Wn);function gu(){}gu.prototype={nodeName:"#cdata-section",nodeType:Pl},ge(gu,Wn);function Xs(){}Xs.prototype.nodeType=kl,ge(Xs,At);function Jl(){}Jl.prototype.nodeType=rd,ge(Jl,At);function jl(){}jl.prototype.nodeType=id,ge(jl,At);function mu(){}mu.prototype.nodeType=Ll,ge(mu,At);function Ys(){}Ys.prototype.nodeName="#document-fragment",Ys.prototype.nodeType=Ti,ge(Ys,At);function yu(){}yu.prototype.nodeType=Rl,ge(yu,At);function th(){}th.prototype.serializeToString=function(n,t,e){return eh.call(n,t,e)},At.prototype.toString=eh;function eh(n,t){var e=[],r=this.nodeType==9&&this.documentElement||this,a=r.prefix,u=r.namespaceURI;if(u&&a==null){var a=r.lookupPrefix(u);if(a==null)var l=[{namespace:u,prefix:null}]}return Kr(this,e,n,t,l),e.join("")}function ih(n,t,e){var r=n.prefix||"",a=n.namespaceURI;if(!a||r==="xml"&&a===Un.XML||a===Un.XMLNS)return!1;for(var u=e.length;u--;){var l=e[u];if(l.prefix===r)return l.namespace!==a}return!0}function vu(n,t,e){n.push(" ",t,'="',e.replace(/[<>&"\t\n\r]/g,Gl),'"')}function Kr(n,t,e,r,a){if(a||(a=[]),r)if(n=r(n),n){if(typeof n=="string"){t.push(n);return}}else return;switch(n.nodeType){case Ye:var u=n.attributes,l=u.length,k=n.firstChild,c=n.tagName;e=Un.isHTML(n.namespaceURI)||e;var f=c;if(!e&&!n.prefix&&n.namespaceURI){for(var d,v=0;v<u.length;v++)if(u.item(v).name==="xmlns"){d=u.item(v).value;break}if(!d)for(var E=a.length-1;E>=0;E--){var A=a[E];if(A.prefix===""&&A.namespace===n.namespaceURI){d=A.namespace;break}}if(d!==n.namespaceURI)for(var E=a.length-1;E>=0;E--){var A=a[E];if(A.namespace===n.namespaceURI){A.prefix&&(f=A.prefix+":"+c);break}}}t.push("<",f);for(var T=0;T<l;T++){var I=u.item(T);I.prefix=="xmlns"?a.push({prefix:I.localName,namespace:I.value}):I.nodeName=="xmlns"&&a.push({prefix:"",namespace:I.value})}for(var T=0;T<l;T++){var I=u.item(T);if(ih(I,e,a)){var S=I.prefix||"",D=I.namespaceURI;vu(t,S?"xmlns:"+S:"xmlns",D),a.push({prefix:S,namespace:D})}Kr(I,t,e,r,a)}if(c===f&&ih(n,e,a)){var S=n.prefix||"",D=n.namespaceURI;vu(t,S?"xmlns:"+S:"xmlns",D),a.push({prefix:S,namespace:D})}if(k||e&&!/^(?:meta|link|img|br|hr|input)$/i.test(c)){if(t.push(">"),e&&/^script$/i.test(c))for(;k;)k.data?t.push(k.data):Kr(k,t,e,r,a.slice()),k=k.nextSibling;else for(;k;)Kr(k,t,e,r,a.slice()),k=k.nextSibling;t.push("</",f,">")}else t.push("/>");return;case Ul:case Ti:for(var k=n.firstChild;k;)Kr(k,t,e,r,a.slice()),k=k.nextSibling;return;case Yr:return vu(t,n.name,n.value);case Vs:return t.push(n.data.replace(/[<&>]/g,Gl));case Pl:return t.push("<![CDATA[",n.data,"]]>");case Fl:return t.push("<!--",n.data,"-->");case kl:var z=n.publicId,W=n.systemId;if(t.push("<!DOCTYPE ",n.name),z)t.push(" PUBLIC ",z),W&&W!="."&&t.push(" ",W),t.push(">");else if(W&&W!=".")t.push(" SYSTEM ",W,">");else{var X=n.internalSubset;X&&t.push(" [",X,"]"),t.push(">")}return;case Rl:return t.push("<?",n.target," ",n.data,"?>");case Ll:return t.push("&",n.nodeName,";");default:t.push("??",n.nodeName)}}function rh(n,t,e){var r;switch(t.nodeType){case Ye:r=t.cloneNode(!1),r.ownerDocument=n;case Ti:break;case Yr:e=!0;break}if(r||(r=t.cloneNode(!1)),r.ownerDocument=n,r.parentNode=null,e)for(var a=t.firstChild;a;)r.appendChild(rh(n,a,e)),a=a.nextSibling;return r}function xu(n,t,e){var r=new t.constructor;for(var a in t)if(Object.prototype.hasOwnProperty.call(t,a)){var u=t[a];typeof u!="object"&&u!=r[a]&&(r[a]=u)}switch(t.childNodes&&(r.childNodes=new _i),r.ownerDocument=n,r.nodeType){case Ye:var l=t.attributes,c=r.attributes=new zs,f=l.length;c._ownerElement=r;for(var d=0;d<f;d++)r.setAttributeNode(xu(n,l.item(d),!0));break;case Yr:e=!0}if(e)for(var v=t.firstChild;v;)r.appendChild(xu(n,v,e)),v=v.nextSibling;return r}function nh(n,t,e){n[t]=e}try{if(Object.defineProperty){let n=function(t){switch(t.nodeType){case Ye:case Ti:var e=[];for(t=t.firstChild;t;)t.nodeType!==7&&t.nodeType!==8&&e.push(n(t)),t=t.nextSibling;return e.join("");default:return t.nodeValue}};Object.defineProperty(Zr.prototype,"length",{get:function(){return hu(this),this.$$length}}),Object.defineProperty(At.prototype,"textContent",{get:function(){return n(this)},set:function(t){switch(this.nodeType){case Ye:case Ti:for(;this.firstChild;)this.removeChild(this.firstChild);(t||String(t))&&this.appendChild(this.ownerDocument.createTextNode(t));break;default:this.data=t,this.value=t,this.nodeValue=t}}}),nh=function(t,e,r){t["$$"+e]=r}}}catch{}Ki.DocumentType=Xs,Ki.DOMException=Ft,Ki.DOMImplementation=$l,Ki.Element=vr,Ki.Node=At,Ki.NodeList=_i,Ki.XMLSerializer=th;var Zs={},sh={};(function(n){var t=wi.freeze;n.XML_ENTITIES=t({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),n.HTML_ENTITIES=t({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"",InvisibleTimes:"",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"",NegativeThickSpace:"",NegativeThinSpace:"",NegativeVeryThinSpace:"",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:`
|
|
2
|
+
`,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:" ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"",zwnj:""}),n.entityMap=n.HTML_ENTITIES})(sh);var Eu={},Vn=wi.NAMESPACE,Au=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,ah=new RegExp("[\\-\\.0-9"+Au.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),uh=new RegExp("^"+Au.source+ah.source+"*(?::"+Au.source+ah.source+"*)?$"),zn=0,Qi=1,Qr=2,$n=3,Jr=4,jr=5,Gn=6,Ks=7;function tn(n,t){this.message=n,this.locator=t,Error.captureStackTrace&&Error.captureStackTrace(this,tn)}tn.prototype=new Error,tn.prototype.name=tn.name;function oh(){}oh.prototype={parse:function(n,t,e){var r=this.domBuilder;r.startDocument(),ch(t,t={}),hd(n,t,e,r,this.errorHandler),r.endDocument()}};function hd(n,t,e,r,a){function u(B){if(B>65535){B-=65536;var Pt=55296+(B>>10),Le=56320+(B&1023);return String.fromCharCode(Pt,Le)}else return String.fromCharCode(B)}function l(B){var Pt=B.slice(1,-1);return Object.hasOwnProperty.call(e,Pt)?e[Pt]:Pt.charAt(0)==="#"?u(parseInt(Pt.substr(1).replace("x","0x"))):(a.error("entity not found:"+B),B)}function c(B){if(B>S){var Pt=n.substring(S,B).replace(/&#?\w+;/g,l);A&&f(S),r.characters(Pt,0,B-S),S=B}}function f(B,Pt){for(;B>=v&&(Pt=E.exec(n));)d=Pt.index,v=d+Pt[0].length,A.lineNumber++;A.columnNumber=B-d+1}for(var d=0,v=0,E=/.*(?:\r\n?|\n)|.*$/g,A=r.locator,T=[{currentNSMap:t}],I={},S=0;;){try{var D=n.indexOf("<",S);if(D<0){if(!n.substr(S).match(/^\s*$/)){var k=r.doc,z=k.createTextNode(n.substr(S));k.appendChild(z),r.currentElement=z}return}switch(D>S&&c(D),n.charAt(D+1)){case"/":var nt=n.indexOf(">",D+3),W=n.substring(D+2,nt).replace(/[ \t\n\r]+$/g,""),X=T.pop();nt<0?(W=n.substring(D+2).replace(/[\s<].*/,""),a.error("end tag name: "+W+" is not complete:"+X.tagName),nt=D+1+W.length):W.match(/\s</)&&(W=W.replace(/[\s<].*/,""),a.error("end tag name: "+W+" maybe not complete"),nt=D+1+W.length);var $=X.localNSMap,K=X.tagName==W,tt=K||X.tagName&&X.tagName.toLowerCase()==W.toLowerCase();if(tt){if(r.endElement(X.uri,X.localName,W),$)for(var Z in $)Object.prototype.hasOwnProperty.call($,Z)&&r.endPrefixMapping(Z);K||a.fatalError("end tag name: "+W+" is not match the current start tagName:"+X.tagName)}else T.push(X);nt++;break;case"?":A&&f(D),nt=gd(n,D,r);break;case"!":A&&f(D),nt=dd(n,D,r,a);break;default:A&&f(D);var V=new fh,J=T[T.length-1].currentNSMap,nt=cd(n,D,V,J,l,a),mt=V.length;if(!V.closed&&pd(n,nt,V.tagName,I)&&(V.closed=!0,e.nbsp||a.warning("unclosed xml attribute")),A&&mt){for(var It=lh(A,{}),Ct=0;Ct<mt;Ct++){var yt=V[Ct];f(yt.offset),yt.locator=lh(A,{})}r.locator=It,hh(V,r,J)&&T.push(V),r.locator=A}else hh(V,r,J)&&T.push(V);Vn.isHTML(V.uri)&&!V.closed?nt=fd(n,nt,V.tagName,l,r):nt++}}catch(B){if(B instanceof tn)throw B;a.error("element parse error: "+B),nt=-1}nt>S?S=nt:c(Math.max(D,S)+1)}}function lh(n,t){return t.lineNumber=n.lineNumber,t.columnNumber=n.columnNumber,t}function cd(n,t,e,r,a,u){function l(A,T,I){e.attributeNames.hasOwnProperty(A)&&u.fatalError("Attribute "+A+" redefined"),e.addValue(A,T.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,a),I)}for(var c,f,d=++t,v=zn;;){var E=n.charAt(d);switch(E){case"=":if(v===Qi)c=n.slice(t,d),v=$n;else if(v===Qr)v=$n;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(v===$n||v===Qi)if(v===Qi&&(u.warning('attribute value must after "="'),c=n.slice(t,d)),t=d+1,d=n.indexOf(E,t),d>0)f=n.slice(t,d),l(c,f,t-1),v=jr;else throw new Error("attribute value no end '"+E+"' match");else if(v==Jr)f=n.slice(t,d),l(c,f,t),u.warning('attribute "'+c+'" missed start quot('+E+")!!"),t=d+1,v=jr;else throw new Error('attribute value must after "="');break;case"/":switch(v){case zn:e.setTagName(n.slice(t,d));case jr:case Gn:case Ks:v=Ks,e.closed=!0;case Jr:case Qi:break;case Qr:e.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return u.error("unexpected end of input"),v==zn&&e.setTagName(n.slice(t,d)),d;case">":switch(v){case zn:e.setTagName(n.slice(t,d));case jr:case Gn:case Ks:break;case Jr:case Qi:f=n.slice(t,d),f.slice(-1)==="/"&&(e.closed=!0,f=f.slice(0,-1));case Qr:v===Qr&&(f=c),v==Jr?(u.warning('attribute "'+f+'" missed quot(")!'),l(c,f,t)):((!Vn.isHTML(r[""])||!f.match(/^(?:disabled|checked|selected)$/i))&&u.warning('attribute "'+f+'" missed value!! "'+f+'" instead!!'),l(f,f,t));break;case $n:throw new Error("attribute value missed!!")}return d;case"":E=" ";default:if(E<=" ")switch(v){case zn:e.setTagName(n.slice(t,d)),v=Gn;break;case Qi:c=n.slice(t,d),v=Qr;break;case Jr:var f=n.slice(t,d);u.warning('attribute "'+f+'" missed quot(")!!'),l(c,f,t);case jr:v=Gn;break}else switch(v){case Qr:e.tagName,(!Vn.isHTML(r[""])||!c.match(/^(?:disabled|checked|selected)$/i))&&u.warning('attribute "'+c+'" missed value!! "'+c+'" instead2!!'),l(c,c,t),t=d,v=Qi;break;case jr:u.warning('attribute space is required"'+c+'"!!');case Gn:v=Qi,t=d;break;case $n:v=Jr,t=d;break;case Ks:throw new Error("elements closed character '/' and '>' must be connected to")}}d++}}function hh(n,t,e){for(var r=n.tagName,a=null,E=n.length;E--;){var u=n[E],l=u.qName,c=u.value,A=l.indexOf(":");if(A>0)var f=u.prefix=l.slice(0,A),d=l.slice(A+1),v=f==="xmlns"&&d;else d=l,f=null,v=l==="xmlns"&&"";u.localName=d,v!==!1&&(a==null&&(a={},ch(e,e={})),e[v]=a[v]=c,u.uri=Vn.XMLNS,t.startPrefixMapping(v,c))}for(var E=n.length;E--;){u=n[E];var f=u.prefix;f&&(f==="xml"&&(u.uri=Vn.XML),f!=="xmlns"&&(u.uri=e[f||""]))}var A=r.indexOf(":");A>0?(f=n.prefix=r.slice(0,A),d=n.localName=r.slice(A+1)):(f=null,d=n.localName=r);var T=n.uri=e[f||""];if(t.startElement(T,d,r,n),n.closed){if(t.endElement(T,d,r),a)for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&t.endPrefixMapping(f)}else return n.currentNSMap=e,n.localNSMap=a,!0}function fd(n,t,e,r,a){if(/^(?:script|textarea)$/i.test(e)){var u=n.indexOf("</"+e+">",t),l=n.substring(t+1,u);if(/[&<]/.test(l))return/^script$/i.test(e)?(a.characters(l,0,l.length),u):(l=l.replace(/&#?\w+;/g,r),a.characters(l,0,l.length),u)}return t+1}function pd(n,t,e,r){var a=r[e];return a==null&&(a=n.lastIndexOf("</"+e+">"),a<t&&(a=n.lastIndexOf("</"+e)),r[e]=a),a<t}function ch(n,t){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])}function dd(n,t,e,r){var a=n.charAt(t+2);switch(a){case"-":if(n.charAt(t+3)==="-"){var u=n.indexOf("-->",t+4);return u>t?(e.comment(n,t+4,u-t-4),u+3):(r.error("Unclosed comment"),-1)}else return-1;default:if(n.substr(t+3,6)=="CDATA["){var u=n.indexOf("]]>",t+9);return e.startCDATA(),e.characters(n,t+9,u-t-9),e.endCDATA(),u+3}var l=md(n,t),c=l.length;if(c>1&&/!doctype/i.test(l[0][0])){var f=l[1][0],d=!1,v=!1;c>3&&(/^public$/i.test(l[2][0])?(d=l[3][0],v=c>4&&l[4][0]):/^system$/i.test(l[2][0])&&(v=l[3][0]));var E=l[c-1];return e.startDTD(f,d,v),e.endDTD(),E.index+E[0].length}}return-1}function gd(n,t,e){var r=n.indexOf("?>",t);if(r){var a=n.substring(t,r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return a?(a[0].length,e.processingInstruction(a[1],a[2]),r+2):-1}return-1}function fh(){this.attributeNames={}}fh.prototype={setTagName:function(n){if(!uh.test(n))throw new Error("invalid tagName:"+n);this.tagName=n},addValue:function(n,t,e){if(!uh.test(n))throw new Error("invalid attribute:"+n);this.attributeNames[n]=this.length,this[this.length++]={qName:n,value:t,offset:e}},length:0,getLocalName:function(n){return this[n].localName},getLocator:function(n){return this[n].locator},getQName:function(n){return this[n].qName},getURI:function(n){return this[n].uri},getValue:function(n){return this[n].value}};function md(n,t){var e,r=[],a=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(a.lastIndex=t,a.exec(n);e=a.exec(n);)if(r.push(e),e[1])return r}Eu.XMLReader=oh,Eu.ParseError=tn;var yd=wi,vd=Ki,ph=sh,dh=Eu,xd=vd.DOMImplementation,gh=yd.NAMESPACE,Ed=dh.ParseError,Ad=dh.XMLReader;function mh(n){return n.replace(/\r[\n\u0085]/g,`
|
|
3
3
|
`).replace(/[\r\u0085\u2028]/g,`
|
|
4
|
-
`)}function
|
|
5
|
-
@`+(n.systemId||"")+"#[line:"+n.lineNumber+",col:"+n.columnNumber+"]"}function xh(n,t,e){return typeof n=="string"?n.substr(t,e):n.length>=t+e||t?new java.lang.String(n,t,e)+"":n}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(n){Gn.prototype[n]=function(){return null}});function Ks(n,t){n.currentElement?n.currentElement.appendChild(t):n.doc.appendChild(t)}Ys.__DOMHandler=Gn,Ys.normalizeLineEndings=yh,Ys.DOMParser=vh;var wd=Ys.DOMParser;const Td="1.0.21";function _d(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const en=typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{document:void 0,tinyEngine:void 0};en.Path2D||$p(en),en.DOMParser||(en.DOMParser=wd);const gt={window:en,version:Td,isBrowser:_d(),dpr:typeof window<"u"&&window.devicePixelRatio||1,document:en.document,time:0,deltaTime:0,config:$r},Xn=(n,t,e)=>Math.max(t,Math.min(e,n)),Ji=(n,t=1e-6)=>Math.abs(n)<t?0:n<0?-1:1,Qs=n=>n*(Math.PI/180),Cd=(n,t)=>(n%t+t)%t,wu=(n,t,e)=>(1-e)*n+e*t,Sd=n=>{let t=n*(180/Math.PI);return t<0&&(t+=360),t>360&&(t-=360),t},oe={transparent:"rgba(1, 1, 1, 0)",green:"#45b787",darkGreen:"#314a43",blue:"#6e9bc5",darkBlue:"#2775b6",red:"#F26666",darkRed:"#D95970",brown:"#ECD2B9",darkBrown:"#BF9D8A",yellow:"#ECDEC0",darkYellow:"#D0AC57",lightGray:"#e0e0e0",gray:"#beb6b6",darkGray:"#918883",white:"#F2F2F2",darkWhite:"#ececec",lightBlack:"#2E3032",black:"#182327",blackAlpha5:"rgba(0, 0, 0, 0.5)"},Dd={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ze={h:0,s:0,l:0},Js={h:0,s:0,l:0};function Tu(n,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?n+(t-n)*6*e:e<1/2?t:e<2/3?n+(t-n)*6*(2/3-e):n}const Nd=/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{8})$|rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)|rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*[\d.]+\s*\)/;class le{isColor=!0;r=1;g=1;b=1;a=1;constructor(t,e,r,a){return e===void 0&&r===void 0?this.set(t):this.setRGBA(t,e,r,a)}static isColor(t){return typeof t=="string"?Nd.test(t):typeof t=="number"?t>=0&&t<=16777215:!1}static getRandomStyle(){return Si.random().getStyle()}static getDarken(t,e=.8){return Si.set(t).getHSL(js),Si.setHSL(js.h,js.s,js.l*e).getStyle()}static getLighten(t,e=1.2){return this.getDarken(t,e)}static getContrast(t){return Si.set(t),Si.getContrastString()}static getArray(t){return Si.set(t).toArray()}static getComplementary(t){return Si.set(t),Si.getComplementaryString()}static getMoreTransparent(t,e){return Si.set(t).setA(e).getStyle()}set(t){return t&&t.isColor?this.copy(t):typeof t=="number"?this.setHex(t):typeof t=="string"&&this.setStyle(t),this}random(){return this.setHex(Math.floor(Math.random()*(1<<24)))}setScalar(t){return this.r=t,this.g=t,this.b=t,this.a=1,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,this.a=1,this}setR(t){return this.r=t,this}setG(t){return this.g=t,this}setB(t){return this.b=t,this}setA(t){return this.a=t,this}setRGB(t,e,r){return this.setRGBA(t,e,r,this.a)}setRGBA(t,e,r,a=1){return this.r=t,this.g=e,this.b=r,this.a=a,this}setHSL(t,e,r,a=1){if(t=Cd(t,1),e=Xn(e,0,1),r=Xn(r,0,1),e===0)this.r=this.g=this.b=r;else{const u=r<=.5?r*(1+e):r+e-r*e,l=2*r-u;this.r=Tu(l,u,t+1/3),this.g=Tu(l,u,t),this.b=Tu(l,u,t-1/3)}return this.a=a,this}setStyle(t){let e;if(e=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let r;const a=e[1],u=e[2];switch(a){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,this.a=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0),this;if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,this.a=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0),this;break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u)){const l=parseFloat(r[1])/360,c=parseInt(r[2],10)/100,f=parseInt(r[3],10)/100,d=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0);return this.setHSL(l,c,f,d)}break}}else if(e=/^\#([A-Fa-f\d]+)$/.exec(t)){const r=e[1],a=r.length;if(a===3)return this.r=parseInt(r.charAt(0)+r.charAt(0),16)/255,this.g=parseInt(r.charAt(1)+r.charAt(1),16)/255,this.b=parseInt(r.charAt(2)+r.charAt(2),16)/255,this.a=1,this;if(a===6)return this.r=parseInt(r.charAt(0)+r.charAt(1),16)/255,this.g=parseInt(r.charAt(2)+r.charAt(3),16)/255,this.b=parseInt(r.charAt(4)+r.charAt(5),16)/255,this.a=1,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=Dd[t.toLowerCase()];return e!==void 0?this.setHex(e):console.warn("Color: Unknown color "+t),this}clone(){return new le(this.r,this.g,this.b,this.a)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}getRGB(t=new le){return t.setRGB(this.r,this.g,this.b)}getRGBByBg(t=new le){const e=this.a,r=e*this.r+(1-e)*t.r,a=e*this.g+(1-e)*t.g,u=e*this.b+(1-e)*t.b;return new le(r,a,u)}getHex(){return Xn(this.r*255,0,255)<<16^Xn(this.g*255,0,255)<<8^Xn(this.b*255,0,255)<<0}getHSL(t){const e=this.r,r=this.g,a=this.b,u=Math.max(e,r,a),l=Math.min(e,r,a);let c=0,f;const d=(l+u)/2;if(l===u)c=0,f=0;else{const v=u-l;switch(f=d<=.5?v/(u+l):v/(2-u-l),u){case e:c=(r-a)/v+(r<a?6:0);break;case r:c=(a-e)/v+2;break;case a:c=(e-r)/v+4;break}c/=6}return t.h=c,t.s=f,t.l=d,t}getStyle(){return this.a===1?`rgb(${this.r*255|0},${this.g*255|0},${this.b*255|0})`:`rgba(${this.r*255|0},${this.g*255|0},${this.b*255|0},${this.a||1})`}getHexString(){return"#"+("000000"+this.getHex().toString(16)).slice(-6)}getBrightness(){let t=(this.r*255*299+this.g*255*587+this.b*255*144)/1e3;return t+=(255-t)*(255-this.a*255)/255,t}getContrastString(){return this.getBrightness()>125?"#2f2f2f":"#f2f2f2"}getComplementary(t=new le){const e=this.toArray(),r=[0,0,0,1];for(let a=0;a<e.length;a++)if(a<3)r[a]=1-e[a];else if(a===3)e[a]>1||e[a]<=0?r[a]=1:r[a]=Math.max(Math.min(parseFloat(e[a].toFixed(2)),1),0);else continue;return t.setRGBA(r[0],r[1],r[2],parseFloat(r[3].toFixed(2)))}getComplementaryString(){return this.getComplementary().getStyle()}getLightenOrDarken(t){if(typeof t>"u"||t>=1)return this.getHexString();const e=this.getRGBByBg(),r=e.r*t+(1-t),a=e.g*t+(1-t),u=e.b*t+(1-t);return new le(r,a,u).getHexString()}getNormalized(){return[parseFloat(Math.max(Math.min(this.r,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.g,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.b,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.a,1),0).toFixed(2))]}getNormalized3(){return[parseFloat(Math.max(Math.min(this.r,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.g,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.b,1),0).toFixed(2))]}offsetHSL(t,e,r){return this.getHSL(Ze),Ze.h+=t,Ze.s+=e,Ze.l+=r,this.setHSL(Ze.h,Ze.s,Ze.l),this}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,r){return this.r=t.r+(e.r-t.r)*r,this.g=t.g+(e.g-t.g)*r,this.b=t.b+(e.b-t.b)*r,this}lerpHSL(t,e){this.getHSL(Ze),t.getHSL(Js);const r=wu(Ze.h,Js.h,e),a=wu(Ze.s,Js.s,e),u=wu(Ze.l,Js.l,e);return this.setHSL(r,a,u),this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this.a=t[e+3],this}toArray(t=[0,0,0,0],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t[e+3]=this.a,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),t.normalized===!0&&(this.r/=255,this.g/=255,this.b/=255),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const Si=new le,js={h:0,s:0,l:0};class L{isVector2=!0;x=0;y=0;z;constructor(t=0,e=0,r){this.x=t,this.y=e,this.z=r||0}static isZero(t){return t.x===0&&t.y===0}static isEmpty(t){return!Number.isFinite(t.x)&&!Number.isFinite(t.y)}static equals(t,e,r=!0){return r?t.x===e.x&&t.y===e.y:Math.abs(t.x-e.x)<Number.EPSILON&&Math.abs(t.y-e.y)<Number.EPSILON}static getInt32Array(t,e=2){const r=new ArrayBuffer(t.length*e*4),a=new Int32Array(r);for(let u=0,l=t.length;u<l;u++)a[u*2]=t[u].x,a[u*2+1]=t[u].y;return a}static getFloat64Array(t,e=2){const r=new ArrayBuffer(t.length*e*8),a=new Float64Array(r);for(let u=0,l=t.length;u<l;u++)a[u*2]=t[u].x,a[u*2+1]=t[u].y;return a}static getVectors(t){const e=[];for(let r=0,a=t.length;r<a;r++)e.push(new L(t[r].x,t[r].y));return e}static getStrings(t){const e=[];if(!t||!t.length)return"";for(let r=0,a=t.length;r<a;r++)e.push(L.getString(t[r]));return e.join(",")}static getString(t){return`${t.x},${t.y}`}static getLength(t){return Math.sqrt(t.x*t.x+t.y*t.y)}static getDistance(t,e){return Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y))}static dot(t,e){return t.x*e.y+t.y*e.x}static cross(t,e){return t.x*e.y-t.y*e.x}static sub(t,e){return new L().subVectors(t,e)}static isPointOnSegment(t,e,r){return Ji(this.sub(t,r).cross(this.sub(e,r)))===0&&Ji(this.sub(t,r).dot(this.sub(e,r)))<=0}static angle(t,e,r){return r?Math.atan2(t.y-e.y,t.x-e.x):Sd(Math.atan2(t.y-e.y,t.x-e.x))}static getSamplingPoints(t,e=100){let r=this.getClothoidPoints(t,e),a=0;for(let u=0,l=r.length;u<l;u++){let c=Math.max(0,u-1);u>0?a+=this.getDistance(r[c],r[c+1]):a=0,r[u].l=Math.round(a);let f=this.angle(r[c+1],r[c]);r[u].a=Math.round(f*100)/100}return r}static getClothoidPoints(t,e=100){let r=[],a=t.concat([]);if(!a||a.length<2)return r;a.length===2?(a.push(a[1]),a.unshift(a[0])):a.length===3&&a.splice(2,0,a[1]);for(let u=0;u<a.length-3;u+=3){let l=new L(a[u].x,a[u].y),c=new L(a[u+1].x,a[u+1].y),f=new L(a[u+2].x,a[u+2].y),d=new L(a[u+3].x,a[u+3].y),v=0;v+=l.distanceTo(c),v+=c.distanceTo(f),v+=f.distanceTo(d);let E=Math.min(.5,1/(v/e));for(let A=E;A<1;A+=E){let T=3*(c.x-l.x),I=3*(f.x-c.x)-T,S=d.x-l.x-T-I,D=3*(c.y-l.y),k=3*(f.y-c.y)-D,V=d.y-l.y-D-k,W=S*Math.pow(A,3)+I*Math.pow(A,2)+T*A+l.x,X=V*Math.pow(A,3)+k*Math.pow(A,2)+D*A+l.y;r.push({x:Math.round(W),y:Math.round(X),a:0,l:0})}}return r.unshift({x:a[0].x,y:a[0].y,a:0,l:0}),r.push({x:a[a.length-1].x,y:a[a.length-1].y,a:0,l:0}),r}static getClothoidLength(t){let e=0;if(t.length>2)for(let r=0;r<t.length;r++){let a=Math.max(0,r-1);r>0&&(e+=this.getDistance(t[a],t[a+1]))}return e}static getCircleCenterByChord(t,e,r,a=!0,u=new L){const l=this.getDistance(t,e);if(l===0)return u.x=1/0,u.y=1/0,u;_u.set((t.x+e.x)/2,(t.y+e.y)/2);const c=Math.sqrt(r*r-l*l/4),f=a?-1:1;return u.x=_u.x+f*c*(e.y-t.y)/l,u.y=_u.y-f*c*(e.x-t.x)/l,u}static isPointInCircle(t,e,r){return this.getDistance(r,t)<e}static isPointInPolygonByRay(t,e){let r=0;const a=new L().copy(t),u=new L,l=new L;for(let c=0;c<e.length;c++){c===e.length-1?(u.copy(e[c]),l.copy(e[0])):(u.copy(e[c]),l.copy(e[c+1]));let f=[u.y,l.y].sort((d,v)=>d-v);f[0]<a.y&&f[1]>a.y&&(u.x<a.x||l.x<a.x)&&r++}return r%2===1}static whichSideOfSegment(t,e,r){return(e.x-t.x)*(r.y-t.y)-(r.x-t.x)*(e.y-t.y)}static getIntersectionOfSegments(t,e,r,a,u=!1,l=new L){const c=(a.y-r.y)*(e.x-t.x)-(a.x-r.x)*(e.y-t.y);if(c===0)return l.makeEmpty();const f=(a.x-r.x)*(t.y-r.y)-(a.y-r.y)*(t.x-r.x),d=(e.x-t.x)*(t.y-r.y)-(e.y-t.y)*(t.x-r.x),v=f/c,E=d/c;return u&&(v<0||v>1||E<0||E>1)?l.makeEmpty():(l.x=t.x+v*(e.x-t.x),l.y=t.y+v*(e.y-t.y),l)}static getConvexHullByGrahamScan(t,e=!1,r=[]){if(!t||!t.length)return r;const a=t.length;let u=0;for(let f=0;f<a;f++)t[f].x<t[u].x&&(u=f);let l=u,c;do{r.push(t[l]),c=(l+1)%a;for(let f=0;f<a;f++)this.whichSideOfSegment(t[l],t[f],t[c])>0&&(c=f);l=c}while(l!==u);return e&&r.push(t[u]),r}static getPointsWithMatrix3(t,e){const r=[];if(!t)return r;for(let a=0,u=t.length;a<u;a++)r.push({x:e.elements[0]*t[a].x+e.elements[3]*t[a].y+e.elements[6],y:e.elements[1]*t[a].x+e.elements[4]*t[a].y+e.elements[7]});return r}static getPointsApplyMatrix3(t,e=[]){for(let r=0,a=e.length;r<a;r++){const u=t.elements[0]*e[r].x+t.elements[3]*e[r].y+t.elements[6],l=t.elements[1]*e[r].x+t.elements[4]*e[r].y+t.elements[7];e[r].x=u,e[r].y=l}return e}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}applyMatrix3(t){const e=this.x,r=this.y,a=t.elements;return this.x=a[0]*e+a[3]*r+a[6],this.y=a[1]*e+a[4]*r+a[7],this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}ceilToZero(){return this.x=this.x<0?Math.floor(this.x):Math.ceil(this.x),this.y=this.y<0?Math.floor(this.y):Math.ceil(this.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampLength(t,e){const r=this.length();return this.divideScalar(r||1).multiplyScalar(Math.max(t,Math.min(e,r)))}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clone(){return new L(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}cross(t){return this.x*t.y-this.y*t.x}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,r=this.y-t.y;return e*e+r*r}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}dot(t){return this.x*t.x+this.y*t.y}equals(t,e=!0){return e?t.x===this.x&&t.y===this.y:Math.abs(t.x-this.x)<Number.EPSILON&&Math.abs(t.y-this.y)<Number.EPSILON}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}floorToZero(){return this.roundToZero()}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("out of range: "+t)}}identity(){return this.set(0,0)}isEmpty(){return!Number.isFinite(this.x)&&!Number.isFinite(this.y)}isZero(){return this.x===0&&this.y===0}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSq(){return this.x*this.x+this.y*this.y}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this}makeEmpty(){return this.x=1/0,this.y=1/0,this}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}maxXY(t,e){return this.x=Math.max(this.x,t),this.y=Math.max(this.y,e),this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}minXY(t,e){return this.x=Math.max(this.x,t),this.y=Math.max(this.y,e),this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t,e){return this.x*=t,this.y*=e||t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this}negate(){return this.x=-this.x,this.y=-this.y,this}normalize(){return this.divideScalar(this.length()||1)}project(t){return this.applyMatrix3(t.matrixWorldInverse).applyMatrix3(t.projectionMatrix)}random(){return this.x=Math.random(),this.y=Math.random(),this}rotate(t){const e=Math.cos(t),r=Math.sin(t),a=this.x,u=this.y;return this.x=a*e-u*r,this.y=a*r+u*e,this}rotateAround(t,e){const r=Math.cos(e),a=Math.sin(e),u=this.x-t.x,l=this.y-t.y;return this.x=u*r-l*a+t.x,this.y=u*a+l*r+t.y,this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}set(t,e){return this.x=t,this.y=e,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("out of range: "+t)}return this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*3)}setLength(t){return this.normalize().multiplyScalar(t)}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}toString(){return`{x:${this.x},y:${this.y}}`}unproject(t,e=!1){return this.applyMatrix3(t.projectionMatrixInverse).applyMatrix3(t.matrixWorld)}validate(){return!(isNaN(this.x)||isNaN(this.y))}*[Symbol.iterator](){yield this.x,yield this.y}}const _u=new L,Md=Object.freeze(Object.defineProperty({__proto__:null,default:L},Symbol.toStringTag,{value:"Module"})),Od=gt.window.requestAnimationFrame,Yn=gt.window.performance?()=>gt.window.performance.now():()=>new Date().getTime(),Eh=Od;class wt{static idCounter=0;id=wt.idCounter++;timers=new Map;timersDuration=new Map;counters=new Map;countersAmount=new Map;out=[];constructor(){}destroy(){wt.remove(this)}addTimer(t,e=Yn(),r=Yn()-(this.timersDuration.get(t)||Yn())){this.addTimerDuration(t,r),this.timersDuration.set(t,e)}addTimerDuration(t,e){var r;this.timers.has(t)||this.timers.set(t,[]),(r=this.timers.get(t))==null||r.push(e)}calculateTimers(){this.timers.forEach((t,e)=>{!t||!t.length||(this.out.push(this.calculateDurations(e,t)),t.length=0)})}addCounterAmount(t,e){var r;this.counters.has(t)||this.counters.set(t,[]),(r=this.counters.get(t))==null||r.push(e)}calculateCounters(){this.counters.forEach((t,e)=>{!t||!t.length||(this.out.push(this.calculateAmounts(e,t)),t.length=0)})}start(){return this.stop(),wt.add(this),this}stop(){return wt.remove(this),this}calculateDurations(t,e){const r={name:t,avg:0,min:0,max:0,stdDev:0,count:0,FPS:0};if(!e||!e.length)return r;const a=e.length,{min:u,max:l,avg:c}=this.minMaxAvg(e),f=parseFloat(this.stdDev(e,c).toFixed(2));return{name:t,avg:this.fd(c),min:this.fd(u),max:this.fd(l),stdDev:f,count:a,FPS:Math.ceil(a/wt.duration*1e3)}}calculateAmounts(t,e){const r={name:t,avg:0,min:0,max:0,stdDev:0,count:0,FPS:0};if(!e||!e.length)return r;const a=e.length,{min:u,max:l,avg:c}=this.minMaxAvg(e),f=this.stdDev(e,c);return{name:t,avg:c,min:u,max:l,stdDev:f,count:a,FPS:Math.ceil(a/wt.duration*1e3)}}minMaxAvg(t){let e=t[0],r=t[0],a=t.length,u=0;for(let c=0;c<t.length;c++){const f=t[c];u+=f,f<e&&(e=f),f>r&&(r=f)}const l=u/a;return{min:this.fx(e),max:this.fx(r),avg:this.fx(l)}}stdDev(t,e){let r=0;for(let u=0;u<t.length;u++){const l=t[u];r+=(l-e)*(l-e)}const a=t.length;return this.fx(Math.sqrt(r/a))}fd(t){return t>1e3?(t/1e3).toFixed(1)+"s":t.toFixed(1)+"ms"}fx(t,e=1){return e===1?Math.round(t*10)/10:e===2?Math.round(t*100)/100:e===3?Math.round(t*1e3)/1e3:t}static children=[];static isRunning=!1;static actived=!1;static duration=0;static lastTime=Yn();static messages=[];static maxLetters=20;static active(t){t?wt.actived=!0:wt.actived=!1,wt.duration=t||0}static add(t){this.children.push(t),this.handleStart()}static remove(t){for(let e=0,r=wt.children.length;e<r;e++)if(wt.children[e].id===t.id){this.children.splice(e,1);break}}static handleStart(){this.isRunning||(this.isRunning=!0,Eh(this.runLoop))}static runLoop(){wt.children.length?(wt.runFrames(),Eh(wt.runLoop)):wt.isRunning=!1}static runFrames(){let t,e=Yn();if(!(e-wt.lastTime<wt.duration)){wt.lastTime=e;for(let r=0,a=this.children.length;r<a;r++)t=this.children[r],t.calculateTimers(),t.calculateCounters(),wt.messages=wt.messages.concat(t.out),t.out.length=0;if(wt.messages.length){if(wt.actived){let r=[];r.push(Bd),r.push(Id),r.push(Pd),this.messages.forEach(a=>r.push(qd(a,this.maxLetters))),r.push(Ld),console.log(r.join(`
|
|
6
|
-
`))}wt.messages.length=0}}}}const ta=20,ea=["avg","min","max","stdDev","count","FPS"],pi=Fd(ea,1),Bd=Rd(ea,ta),Id=Ud(ea,ta),Pd=kd(ea,ta),Ld=Hd(ta);function Rd(n,t=20){let e="┌";e+="─".repeat(t),e+="┬";for(let r=0,a=n.length;r<a;r++)e+="─".repeat(pi),r<a-1?e+="┬":e+="┐";return e}function Fd(n,t=0){let e=0;for(let r=0,a=n.length;r<a;r++)e=Math.max(e,n[r].length);return e+t}function Ud(n,t=20){let e="│";e+=" ".repeat(t),e+="│";for(let r=0,a=n.length;r<a;r++)e+=" ".repeat(Math.max(pi-n[r].length-1,0)),e+=n[r],e+=" │";return e}function kd(n,t=20){let e="├";e+="─".repeat(t),e+="┼";for(let r=0,a=n.length;r<a;r++)e+="─".repeat(pi),r<a-1?e+="┴":e+="┘";return e}function qd(n,t=20){let e="│";e+=" ".repeat(Math.max(t-n.name.length,0)),e+=n.name,e+="│";const r=typeof n.avg=="string"?pi-n.avg.length:pi-n.avg.toString().length;return e+=" ".repeat(Math.max(r,0)),e+=n.avg+" ",e+=" ".repeat(Math.max(pi-n.min.toString().length,0)),e+=n.min+" ",e+=" ".repeat(Math.max(pi-n.max.toString().length,0)),e+=n.max+" ",e+=" ".repeat(Math.max(pi-n.stdDev.toString().length,0)),e+=n.stdDev+" ",e+=" ".repeat(Math.max(pi-n.count.toString().length,0)),e+=n.count+" ",e+=" ".repeat(Math.max(pi-n.FPS.toString().length,0)),e+=n.FPS,e}function Hd(n=20){let t="└";for(let e=0;e<n;e++)t+="─";return t+="┘",t}var Ah=(n=>(n.GROS="gros",n.RM="rm",n.WS="ws",n.SU="su",n.EQ="eq",n.FN="fn",n.GL="gl",n.IP="ip",n))(Ah||{}),ia=(n=>(n.BACKGROUND="background",n.ASSETS="assets",n.ANNOTATIONS="annotations",n.TEXT="text",n.ASSET_LABELS="asset-labels",n.LABELS="labels",n))(ia||{});class ji{_listeners=new Map;destroy(){this._listeners.clear()}addEventListener(t,e){let r=this._listeners.get(t);r||(r=[],this._listeners.set(t,r)),r.includes(e)||r.push(e)}addEventListeners(t,e){const r=t.split(","),a=r.length;for(let u=0;u<a;u++)this.addEventListener(r[u].trim(),e)}isListening(t){var e;return this._listeners.has(t)&&!!((e=this._listeners.get(t))!=null&&e.length)}hasEventListener(t,e){var r;return this._listeners.size===0?!1:this._listeners.has(t)&&!!((r=this._listeners.get(t))!=null&&r.includes(e))}removeEventListener(t,e){const r=this._listeners.get(t);if(r){const a=r.indexOf(e);a>-1&&r.splice(a,1)}}dispatchEvent(t){const e=this._listeners.get(t.type);if(e){t.target=this;const r=e.slice(0);for(let a=0,u=r.length;a<u;a++)r[a].call(this,t);t.target=void 0}}dispatchEventAsync(t){const e=this._listeners.get(t.type);e&&setTimeout(()=>{for(const r of e)r.call(this,t)})}}function bh(n,t="http://www.w3.org/2000/svg"){var e,r;return(r=(e=gt.window)==null?void 0:e.document)==null?void 0:r.createElementNS(t,n)}async function Wd(n=2e3){return new Promise(t=>setTimeout(t,(Math.random()+.5)*n))}var ra={exports:{}};/**
|
|
4
|
+
`)}function yh(n){this.options=n||{locator:{}}}yh.prototype.parseFromString=function(n,t){var e=this.options,r=new Ad,a=e.domBuilder||new Xn,u=e.errorHandler,l=e.locator,c=e.xmlns||{},f=/\/x?html?$/.test(t),d=f?ph.HTML_ENTITIES:ph.XML_ENTITIES;l&&a.setDocumentLocator(l),r.errorHandler=bd(u,a,l),r.domBuilder=e.domBuilder||a,f&&(c[""]=gh.HTML),c.xml=c.xml||gh.XML;var v=e.normalizeLineEndings||mh;return n&&typeof n=="string"?r.parse(v(n),c,d):r.errorHandler.error("invalid doc source"),a.doc};function bd(n,t,e){if(!n){if(t instanceof Xn)return t;n=t}var r={},a=n instanceof Function;e=e||{};function u(l){var c=n[l];!c&&a&&(c=n.length==2?function(f){n(l,f)}:n),r[l]=c&&function(f){c("[xmldom "+l+"] "+f+bu(e))}||function(){}}return u("warning"),u("error"),u("fatalError"),r}function Xn(){this.cdata=!1}function en(n,t){t.lineNumber=n.lineNumber,t.columnNumber=n.columnNumber}Xn.prototype={startDocument:function(){this.doc=new xd().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(n,t,e,r){var a=this.doc,u=a.createElementNS(n,e||t),l=r.length;Qs(this,u),this.currentElement=u,this.locator&&en(this.locator,u);for(var c=0;c<l;c++){var n=r.getURI(c),f=r.getValue(c),e=r.getQName(c),d=a.createAttributeNS(n,e);this.locator&&en(r.getLocator(c),d),d.value=d.nodeValue=f,u.setAttributeNode(d)}},endElement:function(n,t,e){var r=this.currentElement;r.tagName,this.currentElement=r.parentNode},startPrefixMapping:function(n,t){},endPrefixMapping:function(n){},processingInstruction:function(n,t){var e=this.doc.createProcessingInstruction(n,t);this.locator&&en(this.locator,e),Qs(this,e)},ignorableWhitespace:function(n,t,e){},characters:function(n,t,e){if(n=vh.apply(this,arguments),n){if(this.cdata)var r=this.doc.createCDATASection(n);else var r=this.doc.createTextNode(n);this.currentElement?this.currentElement.appendChild(r):/^\s*$/.test(n)&&this.doc.appendChild(r),this.locator&&en(this.locator,r)}},skippedEntity:function(n){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(n){(this.locator=n)&&(n.lineNumber=0)},comment:function(n,t,e){n=vh.apply(this,arguments);var r=this.doc.createComment(n);this.locator&&en(this.locator,r),Qs(this,r)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(n,t,e){var r=this.doc.implementation;if(r&&r.createDocumentType){var a=r.createDocumentType(n,t,e);this.locator&&en(this.locator,a),Qs(this,a),this.doc.doctype=a}},warning:function(n){console.warn("[xmldom warning] "+n,bu(this.locator))},error:function(n){console.error("[xmldom error] "+n,bu(this.locator))},fatalError:function(n){throw new Ed(n,this.locator)}};function bu(n){if(n)return`
|
|
5
|
+
@`+(n.systemId||"")+"#[line:"+n.lineNumber+",col:"+n.columnNumber+"]"}function vh(n,t,e){return typeof n=="string"?n.substr(t,e):n.length>=t+e||t?new java.lang.String(n,t,e)+"":n}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(n){Xn.prototype[n]=function(){return null}});function Qs(n,t){n.currentElement?n.currentElement.appendChild(t):n.doc.appendChild(t)}Zs.__DOMHandler=Xn,Zs.normalizeLineEndings=mh,Zs.DOMParser=yh;var wd=Zs.DOMParser;const Td="1.0.23";function _d(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const rn=typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{document:void 0,tinyEngine:void 0};rn.Path2D||$p(rn),rn.DOMParser||(rn.DOMParser=wd);const gt={window:rn,version:Td,isBrowser:_d(),dpr:typeof window<"u"&&window.devicePixelRatio||1,document:rn.document,time:0,deltaTime:0,config:Gr},Yn=(n,t,e)=>Math.max(t,Math.min(e,n)),Ji=(n,t=1e-6)=>Math.abs(n)<t?0:n<0?-1:1,Js=n=>n*(Math.PI/180),Cd=(n,t)=>(n%t+t)%t,wu=(n,t,e)=>(1-e)*n+e*t,Sd=n=>{let t=n*(180/Math.PI);return t<0&&(t+=360),t>360&&(t-=360),t},oe={transparent:"rgba(1, 1, 1, 0)",green:"#45b787",darkGreen:"#314a43",blue:"#6e9bc5",darkBlue:"#2775b6",red:"#F26666",darkRed:"#D95970",brown:"#ECD2B9",darkBrown:"#BF9D8A",yellow:"#ECDEC0",darkYellow:"#D0AC57",lightGray:"#e0e0e0",gray:"#beb6b6",darkGray:"#918883",white:"#F2F2F2",darkWhite:"#ececec",lightBlack:"#2E3032",black:"#182327",blackAlpha5:"rgba(0, 0, 0, 0.5)"},Dd={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ze={h:0,s:0,l:0},js={h:0,s:0,l:0};function Tu(n,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?n+(t-n)*6*e:e<1/2?t:e<2/3?n+(t-n)*6*(2/3-e):n}const Nd=/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{8})$|rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)|rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*[\d.]+\s*\)/;class le{isColor=!0;r=1;g=1;b=1;a=1;constructor(t,e,r,a){return e===void 0&&r===void 0?this.set(t):this.setRGBA(t,e,r,a)}static isColor(t){return typeof t=="string"?Nd.test(t):typeof t=="number"?t>=0&&t<=16777215:!1}static getRandomStyle(){return Si.random().getStyle()}static getDarken(t,e=.8){return Si.set(t).getHSL(ta),Si.setHSL(ta.h,ta.s,ta.l*e).getStyle()}static getLighten(t,e=1.2){return this.getDarken(t,e)}static getContrast(t){return Si.set(t),Si.getContrastString()}static getArray(t){return Si.set(t).toArray()}static getComplementary(t){return Si.set(t),Si.getComplementaryString()}static getMoreTransparent(t,e){return Si.set(t).setA(e).getStyle()}set(t){return t&&t.isColor?this.copy(t):typeof t=="number"?this.setHex(t):typeof t=="string"&&this.setStyle(t),this}random(){return this.setHex(Math.floor(Math.random()*(1<<24)))}setScalar(t){return this.r=t,this.g=t,this.b=t,this.a=1,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,this.a=1,this}setR(t){return this.r=t,this}setG(t){return this.g=t,this}setB(t){return this.b=t,this}setA(t){return this.a=t,this}setRGB(t,e,r){return this.setRGBA(t,e,r,this.a)}setRGBA(t,e,r,a=1){return this.r=t,this.g=e,this.b=r,this.a=a,this}setHSL(t,e,r,a=1){if(t=Cd(t,1),e=Yn(e,0,1),r=Yn(r,0,1),e===0)this.r=this.g=this.b=r;else{const u=r<=.5?r*(1+e):r+e-r*e,l=2*r-u;this.r=Tu(l,u,t+1/3),this.g=Tu(l,u,t),this.b=Tu(l,u,t-1/3)}return this.a=a,this}setStyle(t){let e;if(e=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let r;const a=e[1],u=e[2];switch(a){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,this.a=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0),this;if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,this.a=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0),this;break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(u)){const l=parseFloat(r[1])/360,c=parseInt(r[2],10)/100,f=parseInt(r[3],10)/100,d=Math.max(Math.min(1,r[4]!==void 0?parseFloat(r[4]):1),0);return this.setHSL(l,c,f,d)}break}}else if(e=/^\#([A-Fa-f\d]+)$/.exec(t)){const r=e[1],a=r.length;if(a===3)return this.r=parseInt(r.charAt(0)+r.charAt(0),16)/255,this.g=parseInt(r.charAt(1)+r.charAt(1),16)/255,this.b=parseInt(r.charAt(2)+r.charAt(2),16)/255,this.a=1,this;if(a===6)return this.r=parseInt(r.charAt(0)+r.charAt(1),16)/255,this.g=parseInt(r.charAt(2)+r.charAt(3),16)/255,this.b=parseInt(r.charAt(4)+r.charAt(5),16)/255,this.a=1,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=Dd[t.toLowerCase()];return e!==void 0?this.setHex(e):console.warn("Color: Unknown color "+t),this}clone(){return new le(this.r,this.g,this.b,this.a)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}getRGB(t=new le){return t.setRGB(this.r,this.g,this.b)}getRGBByBg(t=new le){const e=this.a,r=e*this.r+(1-e)*t.r,a=e*this.g+(1-e)*t.g,u=e*this.b+(1-e)*t.b;return new le(r,a,u)}getHex(){return Yn(this.r*255,0,255)<<16^Yn(this.g*255,0,255)<<8^Yn(this.b*255,0,255)<<0}getHSL(t){const e=this.r,r=this.g,a=this.b,u=Math.max(e,r,a),l=Math.min(e,r,a);let c=0,f;const d=(l+u)/2;if(l===u)c=0,f=0;else{const v=u-l;switch(f=d<=.5?v/(u+l):v/(2-u-l),u){case e:c=(r-a)/v+(r<a?6:0);break;case r:c=(a-e)/v+2;break;case a:c=(e-r)/v+4;break}c/=6}return t.h=c,t.s=f,t.l=d,t}getStyle(){return this.a===1?`rgb(${this.r*255|0},${this.g*255|0},${this.b*255|0})`:`rgba(${this.r*255|0},${this.g*255|0},${this.b*255|0},${this.a||1})`}getHexString(){return"#"+("000000"+this.getHex().toString(16)).slice(-6)}getBrightness(){let t=(this.r*255*299+this.g*255*587+this.b*255*144)/1e3;return t+=(255-t)*(255-this.a*255)/255,t}getContrastString(){return this.getBrightness()>125?"#2f2f2f":"#f2f2f2"}getComplementary(t=new le){const e=this.toArray(),r=[0,0,0,1];for(let a=0;a<e.length;a++)if(a<3)r[a]=1-e[a];else if(a===3)e[a]>1||e[a]<=0?r[a]=1:r[a]=Math.max(Math.min(parseFloat(e[a].toFixed(2)),1),0);else continue;return t.setRGBA(r[0],r[1],r[2],parseFloat(r[3].toFixed(2)))}getComplementaryString(){return this.getComplementary().getStyle()}getLightenOrDarken(t){if(typeof t>"u"||t>=1)return this.getHexString();const e=this.getRGBByBg(),r=e.r*t+(1-t),a=e.g*t+(1-t),u=e.b*t+(1-t);return new le(r,a,u).getHexString()}getNormalized(){return[parseFloat(Math.max(Math.min(this.r,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.g,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.b,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.a,1),0).toFixed(2))]}getNormalized3(){return[parseFloat(Math.max(Math.min(this.r,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.g,1),0).toFixed(2)),parseFloat(Math.max(Math.min(this.b,1),0).toFixed(2))]}offsetHSL(t,e,r){return this.getHSL(Ze),Ze.h+=t,Ze.s+=e,Ze.l+=r,this.setHSL(Ze.h,Ze.s,Ze.l),this}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,r){return this.r=t.r+(e.r-t.r)*r,this.g=t.g+(e.g-t.g)*r,this.b=t.b+(e.b-t.b)*r,this}lerpHSL(t,e){this.getHSL(Ze),t.getHSL(js);const r=wu(Ze.h,js.h,e),a=wu(Ze.s,js.s,e),u=wu(Ze.l,js.l,e);return this.setHSL(r,a,u),this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this.a=t[e+3],this}toArray(t=[0,0,0,0],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t[e+3]=this.a,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),t.normalized===!0&&(this.r/=255,this.g/=255,this.b/=255),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const Si=new le,ta={h:0,s:0,l:0};class L{isVector2=!0;x=0;y=0;z;constructor(t=0,e=0,r){this.x=t,this.y=e,this.z=r||0}static isZero(t){return t.x===0&&t.y===0}static isEmpty(t){return!Number.isFinite(t.x)&&!Number.isFinite(t.y)}static equals(t,e,r=!0){return r?t.x===e.x&&t.y===e.y:Math.abs(t.x-e.x)<Number.EPSILON&&Math.abs(t.y-e.y)<Number.EPSILON}static getInt32Array(t,e=2){const r=new ArrayBuffer(t.length*e*4),a=new Int32Array(r);for(let u=0,l=t.length;u<l;u++)a[u*2]=t[u].x,a[u*2+1]=t[u].y;return a}static getFloat64Array(t,e=2){const r=new ArrayBuffer(t.length*e*8),a=new Float64Array(r);for(let u=0,l=t.length;u<l;u++)a[u*2]=t[u].x,a[u*2+1]=t[u].y;return a}static getVectors(t){const e=[];for(let r=0,a=t.length;r<a;r++)e.push(new L(t[r].x,t[r].y));return e}static getStrings(t){const e=[];if(!t||!t.length)return"";for(let r=0,a=t.length;r<a;r++)e.push(L.getString(t[r]));return e.join(",")}static getString(t){return`${t.x},${t.y}`}static getLength(t){return Math.sqrt(t.x*t.x+t.y*t.y)}static getDistance(t,e){return Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y))}static dot(t,e){return t.x*e.y+t.y*e.x}static cross(t,e){return t.x*e.y-t.y*e.x}static sub(t,e){return new L().subVectors(t,e)}static isPointOnSegment(t,e,r){return Ji(this.sub(t,r).cross(this.sub(e,r)))===0&&Ji(this.sub(t,r).dot(this.sub(e,r)))<=0}static angle(t,e,r){return r?Math.atan2(t.y-e.y,t.x-e.x):Sd(Math.atan2(t.y-e.y,t.x-e.x))}static getSamplingPoints(t,e=100){let r=this.getClothoidPoints(t,e),a=0;for(let u=0,l=r.length;u<l;u++){let c=Math.max(0,u-1);u>0?a+=this.getDistance(r[c],r[c+1]):a=0,r[u].l=Math.round(a);let f=this.angle(r[c+1],r[c]);r[u].a=Math.round(f*100)/100}return r}static getClothoidPoints(t,e=100){let r=[],a=t.concat([]);if(!a||a.length<2)return r;a.length===2?(a.push(a[1]),a.unshift(a[0])):a.length===3&&a.splice(2,0,a[1]);for(let u=0;u<a.length-3;u+=3){let l=new L(a[u].x,a[u].y),c=new L(a[u+1].x,a[u+1].y),f=new L(a[u+2].x,a[u+2].y),d=new L(a[u+3].x,a[u+3].y),v=0;v+=l.distanceTo(c),v+=c.distanceTo(f),v+=f.distanceTo(d);let E=Math.min(.5,1/(v/e));for(let A=E;A<1;A+=E){let T=3*(c.x-l.x),I=3*(f.x-c.x)-T,S=d.x-l.x-T-I,D=3*(c.y-l.y),k=3*(f.y-c.y)-D,z=d.y-l.y-D-k,W=S*Math.pow(A,3)+I*Math.pow(A,2)+T*A+l.x,X=z*Math.pow(A,3)+k*Math.pow(A,2)+D*A+l.y;r.push({x:Math.round(W),y:Math.round(X),a:0,l:0})}}return r.unshift({x:a[0].x,y:a[0].y,a:0,l:0}),r.push({x:a[a.length-1].x,y:a[a.length-1].y,a:0,l:0}),r}static getClothoidLength(t){let e=0;if(t.length>2)for(let r=0;r<t.length;r++){let a=Math.max(0,r-1);r>0&&(e+=this.getDistance(t[a],t[a+1]))}return e}static getCircleCenterByChord(t,e,r,a=!0,u=new L){const l=this.getDistance(t,e);if(l===0)return u.x=1/0,u.y=1/0,u;_u.set((t.x+e.x)/2,(t.y+e.y)/2);const c=Math.sqrt(r*r-l*l/4),f=a?-1:1;return u.x=_u.x+f*c*(e.y-t.y)/l,u.y=_u.y-f*c*(e.x-t.x)/l,u}static isPointInCircle(t,e,r){return this.getDistance(r,t)<e}static isPointInPolygonByRay(t,e){let r=0;const a=new L().copy(t),u=new L,l=new L;for(let c=0;c<e.length;c++){c===e.length-1?(u.copy(e[c]),l.copy(e[0])):(u.copy(e[c]),l.copy(e[c+1]));let f=[u.y,l.y].sort((d,v)=>d-v);f[0]<a.y&&f[1]>a.y&&(u.x<a.x||l.x<a.x)&&r++}return r%2===1}static whichSideOfSegment(t,e,r){return(e.x-t.x)*(r.y-t.y)-(r.x-t.x)*(e.y-t.y)}static getIntersectionOfSegments(t,e,r,a,u=!1,l=new L){const c=(a.y-r.y)*(e.x-t.x)-(a.x-r.x)*(e.y-t.y);if(c===0)return l.makeEmpty();const f=(a.x-r.x)*(t.y-r.y)-(a.y-r.y)*(t.x-r.x),d=(e.x-t.x)*(t.y-r.y)-(e.y-t.y)*(t.x-r.x),v=f/c,E=d/c;return u&&(v<0||v>1||E<0||E>1)?l.makeEmpty():(l.x=t.x+v*(e.x-t.x),l.y=t.y+v*(e.y-t.y),l)}static getConvexHullByGrahamScan(t,e=!1,r=[]){if(!t||!t.length)return r;const a=t.length;let u=0;for(let f=0;f<a;f++)t[f].x<t[u].x&&(u=f);let l=u,c;do{r.push(t[l]),c=(l+1)%a;for(let f=0;f<a;f++)this.whichSideOfSegment(t[l],t[f],t[c])>0&&(c=f);l=c}while(l!==u);return e&&r.push(t[u]),r}static getPointsWithMatrix3(t,e){const r=[];if(!t)return r;for(let a=0,u=t.length;a<u;a++)r.push({x:e.elements[0]*t[a].x+e.elements[3]*t[a].y+e.elements[6],y:e.elements[1]*t[a].x+e.elements[4]*t[a].y+e.elements[7]});return r}static getPointsApplyMatrix3(t,e=[]){for(let r=0,a=e.length;r<a;r++){const u=t.elements[0]*e[r].x+t.elements[3]*e[r].y+t.elements[6],l=t.elements[1]*e[r].x+t.elements[4]*e[r].y+t.elements[7];e[r].x=u,e[r].y=l}return e}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}applyMatrix3(t){const e=this.x,r=this.y,a=t.elements;return this.x=a[0]*e+a[3]*r+a[6],this.y=a[1]*e+a[4]*r+a[7],this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}ceilToZero(){return this.x=this.x<0?Math.floor(this.x):Math.ceil(this.x),this.y=this.y<0?Math.floor(this.y):Math.ceil(this.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampLength(t,e){const r=this.length();return this.divideScalar(r||1).multiplyScalar(Math.max(t,Math.min(e,r)))}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clone(){return new L(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}cross(t){return this.x*t.y-this.y*t.x}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,r=this.y-t.y;return e*e+r*r}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}dot(t){return this.x*t.x+this.y*t.y}equals(t,e=!0){return e?t.x===this.x&&t.y===this.y:Math.abs(t.x-this.x)<Number.EPSILON&&Math.abs(t.y-this.y)<Number.EPSILON}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}floorToZero(){return this.roundToZero()}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("out of range: "+t)}}identity(){return this.set(0,0)}isEmpty(){return!Number.isFinite(this.x)&&!Number.isFinite(this.y)}isZero(){return this.x===0&&this.y===0}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSq(){return this.x*this.x+this.y*this.y}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this}makeEmpty(){return this.x=1/0,this.y=1/0,this}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}maxXY(t,e){return this.x=Math.max(this.x,t),this.y=Math.max(this.y,e),this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}minXY(t,e){return this.x=Math.max(this.x,t),this.y=Math.max(this.y,e),this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t,e){return this.x*=t,this.y*=e||t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this}negate(){return this.x=-this.x,this.y=-this.y,this}normalize(){return this.divideScalar(this.length()||1)}project(t){return this.applyMatrix3(t.matrixWorldInverse).applyMatrix3(t.projectionMatrix)}random(){return this.x=Math.random(),this.y=Math.random(),this}rotate(t){const e=Math.cos(t),r=Math.sin(t),a=this.x,u=this.y;return this.x=a*e-u*r,this.y=a*r+u*e,this}rotateAround(t,e){const r=Math.cos(e),a=Math.sin(e),u=this.x-t.x,l=this.y-t.y;return this.x=u*r-l*a+t.x,this.y=u*a+l*r+t.y,this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}set(t,e){return this.x=t,this.y=e,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("out of range: "+t)}return this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*3)}setLength(t){return this.normalize().multiplyScalar(t)}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}toString(){return`{x:${this.x},y:${this.y}}`}unproject(t,e=!1){return this.applyMatrix3(t.projectionMatrixInverse).applyMatrix3(t.matrixWorld)}validate(){return!(isNaN(this.x)||isNaN(this.y))}*[Symbol.iterator](){yield this.x,yield this.y}}const _u=new L,Od=Object.freeze(Object.defineProperty({__proto__:null,default:L},Symbol.toStringTag,{value:"Module"}));var ea={exports:{}};/**
|
|
7
6
|
* @license
|
|
8
7
|
* Lodash <https://lodash.com/>
|
|
9
8
|
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
10
9
|
* Released under MIT license <https://lodash.com/license>
|
|
11
10
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
12
11
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
13
|
-
*/ra.exports,function(n,t){(function(){var e,r="4.17.21",a=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",c="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",d=500,v="__lodash_placeholder__",E=1,A=2,T=4,I=1,S=2,D=1,k=2,V=4,W=8,X=16,$=32,K=64,tt=128,Z=256,z=512,J=30,nt="...",mt=800,It=16,Ct=1,yt=2,B=3,Pt=1/0,Le=9007199254740991,pa=17976931348623157e292,ln=NaN,Re=4294967295,Dr=Re-1,no=Re>>>1,ls=[["ary",tt],["bind",D],["bindKey",k],["curry",W],["curryRight",X],["flip",z],["partial",$],["partialRight",K],["rearg",Z]],rr="[object Arguments]",hn="[object Array]",Qt="[object AsyncFunction]",Ce="[object Boolean]",St="[object Date]",se="[object DOMException]",Ri="[object Error]",yi="[object Function]",nr="[object GeneratorFunction]",Jt="[object Map]",ni="[object Number]",Fe="[object Null]",jt="[object Object]",hs="[object Promise]",da="[object Proxy]",vi="[object RegExp]",Ot="[object Set]",Nr="[object String]",cn="[object Symbol]",so="[object Undefined]",Mr="[object WeakMap]",ao="[object WeakSet]",sr="[object ArrayBuffer]",Fi="[object DataView]",fn="[object Float32Array]",pn="[object Float64Array]",ar="[object Int8Array]",Or="[object Int16Array]",cs="[object Int32Array]",fs="[object Uint8Array]",ps="[object Uint8ClampedArray]",ds="[object Uint16Array]",gs="[object Uint32Array]",dn=/\b__p \+= '';/g,uo=/\b(__p \+=) '' \+/g,oo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ms=/&(?:amp|lt|gt|quot|#39);/g,ys=/[&<>"']/g,vs=RegExp(ms.source),lo=RegExp(ys.source),ho=/<%-([\s\S]+?)%>/g,co=/<%([\s\S]+?)%>/g,xs=/<%=([\s\S]+?)%>/g,fo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,po=/^\w*$/,go=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ur=/[\\^$.*+?()[\]{}|]/g,mo=RegExp(ur.source),Es=/^\s+/,ga=/\s/,As=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,yo=/\{\n\/\* \[wrapped with (.+)\] \*/,ma=/,? & /,vo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ya=/[()=,{}\[\]\/\s]/,va=/\\(\\)?/g,xa=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,bs=/\w*$/,ws=/^[-+]0x[0-9a-f]+$/i,Ui=/^0b[01]+$/i,Br=/^\[object .+?Constructor\]$/,Ir=/^0o[0-7]+$/i,gn=/^(?:0|[1-9]\d*)$/,Ts=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mn=/($^)/,xo=/['\n\r\u2028\u2029\\]/g,ki="\\ud800-\\udfff",xe="\\u0300-\\u036f",or="\\ufe20-\\ufe2f",xi="\\u20d0-\\u20ff",Ue=xe+or+xi,lr="\\u2700-\\u27bf",Se="a-z\\xdf-\\xf6\\xf8-\\xff",si="\\xac\\xb1\\xd7\\xf7",Ea="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Aa="\\u2000-\\u206f",yn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ee="A-Z\\xc0-\\xd6\\xd8-\\xde",Pr="\\ufe0e\\ufe0f",vn=si+Ea+Aa+yn,Lr="['’]",_s="["+ki+"]",xn="["+vn+"]",qi="["+Ue+"]",ai="\\d+",Eo="["+lr+"]",Cs="["+Se+"]",En="[^"+ki+vn+ai+lr+Se+Ee+"]",An="\\ud83c[\\udffb-\\udfff]",Ao="(?:"+qi+"|"+An+")",ba="[^"+ki+"]",g="(?:\\ud83c[\\udde6-\\uddff]){2}",x="[\\ud800-\\udbff][\\udc00-\\udfff]",w="["+Ee+"]",M="\\u200d",H="(?:"+Cs+"|"+En+")",Y="(?:"+w+"|"+En+")",ot="(?:"+Lr+"(?:d|ll|m|re|s|t|ve))?",kt="(?:"+Lr+"(?:D|LL|M|RE|S|T|VE))?",zt=Ao+"?",Yt="["+Pr+"]?",ke="(?:"+M+"(?:"+[ba,g,x].join("|")+")"+Yt+zt+")*",vm="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",xm="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Lc=Yt+zt+ke,Em="(?:"+[Eo,g,x].join("|")+")"+Lc,Am="(?:"+[ba+qi+"?",qi,g,x,_s].join("|")+")",bm=RegExp(Lr,"g"),wm=RegExp(qi,"g"),bo=RegExp(An+"(?="+An+")|"+Am+Lc,"g"),Tm=RegExp([w+"?"+Cs+"+"+ot+"(?="+[xn,w,"$"].join("|")+")",Y+"+"+kt+"(?="+[xn,w+H,"$"].join("|")+")",w+"?"+H+"+"+ot,w+"+"+kt,xm,vm,ai,Em].join("|"),"g"),_m=RegExp("["+M+ki+Ue+Pr+"]"),Cm=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Sm=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Dm=-1,Mt={};Mt[fn]=Mt[pn]=Mt[ar]=Mt[Or]=Mt[cs]=Mt[fs]=Mt[ps]=Mt[ds]=Mt[gs]=!0,Mt[rr]=Mt[hn]=Mt[sr]=Mt[Ce]=Mt[Fi]=Mt[St]=Mt[Ri]=Mt[yi]=Mt[Jt]=Mt[ni]=Mt[jt]=Mt[vi]=Mt[Ot]=Mt[Nr]=Mt[Mr]=!1;var Dt={};Dt[rr]=Dt[hn]=Dt[sr]=Dt[Fi]=Dt[Ce]=Dt[St]=Dt[fn]=Dt[pn]=Dt[ar]=Dt[Or]=Dt[cs]=Dt[Jt]=Dt[ni]=Dt[jt]=Dt[vi]=Dt[Ot]=Dt[Nr]=Dt[cn]=Dt[fs]=Dt[ps]=Dt[ds]=Dt[gs]=!0,Dt[Ri]=Dt[yi]=Dt[Mr]=!1;var Nm={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Mm={"&":"&","<":"<",">":">",'"':""","'":"'"},Om={"&":"&","<":"<",">":">",""":'"',"'":"'"},Bm={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Im=parseFloat,Pm=parseInt,Rc=typeof Rn=="object"&&Rn&&Rn.Object===Object&&Rn,Lm=typeof self=="object"&&self&&self.Object===Object&&self,te=Rc||Lm||Function("return this")(),wo=t&&!t.nodeType&&t,Rr=wo&&!0&&n&&!n.nodeType&&n,Fc=Rr&&Rr.exports===wo,To=Fc&&Rc.process,qe=function(){try{var C=Rr&&Rr.require&&Rr.require("util").types;return C||To&&To.binding&&To.binding("util")}catch{}}(),Uc=qe&&qe.isArrayBuffer,kc=qe&&qe.isDate,qc=qe&&qe.isMap,Hc=qe&&qe.isRegExp,Wc=qe&&qe.isSet,zc=qe&&qe.isTypedArray;function De(C,R,O){switch(O.length){case 0:return C.call(R);case 1:return C.call(R,O[0]);case 2:return C.call(R,O[0],O[1]);case 3:return C.call(R,O[0],O[1],O[2])}return C.apply(R,O)}function Rm(C,R,O,Q){for(var st=-1,vt=C==null?0:C.length;++st<vt;){var Vt=C[st];R(Q,Vt,O(Vt),C)}return Q}function He(C,R){for(var O=-1,Q=C==null?0:C.length;++O<Q&&R(C[O],O,C)!==!1;);return C}function Fm(C,R){for(var O=C==null?0:C.length;O--&&R(C[O],O,C)!==!1;);return C}function Vc(C,R){for(var O=-1,Q=C==null?0:C.length;++O<Q;)if(!R(C[O],O,C))return!1;return!0}function hr(C,R){for(var O=-1,Q=C==null?0:C.length,st=0,vt=[];++O<Q;){var Vt=C[O];R(Vt,O,C)&&(vt[st++]=Vt)}return vt}function wa(C,R){var O=C==null?0:C.length;return!!O&&bn(C,R,0)>-1}function _o(C,R,O){for(var Q=-1,st=C==null?0:C.length;++Q<st;)if(O(R,C[Q]))return!0;return!1}function Bt(C,R){for(var O=-1,Q=C==null?0:C.length,st=Array(Q);++O<Q;)st[O]=R(C[O],O,C);return st}function cr(C,R){for(var O=-1,Q=R.length,st=C.length;++O<Q;)C[st+O]=R[O];return C}function Co(C,R,O,Q){var st=-1,vt=C==null?0:C.length;for(Q&&vt&&(O=C[++st]);++st<vt;)O=R(O,C[st],st,C);return O}function Um(C,R,O,Q){var st=C==null?0:C.length;for(Q&&st&&(O=C[--st]);st--;)O=R(O,C[st],st,C);return O}function So(C,R){for(var O=-1,Q=C==null?0:C.length;++O<Q;)if(R(C[O],O,C))return!0;return!1}var km=Do("length");function qm(C){return C.split("")}function Hm(C){return C.match(vo)||[]}function $c(C,R,O){var Q;return O(C,function(st,vt,Vt){if(R(st,vt,Vt))return Q=vt,!1}),Q}function Ta(C,R,O,Q){for(var st=C.length,vt=O+(Q?1:-1);Q?vt--:++vt<st;)if(R(C[vt],vt,C))return vt;return-1}function bn(C,R,O){return R===R?jm(C,R,O):Ta(C,Gc,O)}function Wm(C,R,O,Q){for(var st=O-1,vt=C.length;++st<vt;)if(Q(C[st],R))return st;return-1}function Gc(C){return C!==C}function Xc(C,R){var O=C==null?0:C.length;return O?Mo(C,R)/O:ln}function Do(C){return function(R){return R==null?e:R[C]}}function No(C){return function(R){return C==null?e:C[R]}}function Yc(C,R,O,Q,st){return st(C,function(vt,Vt,_t){O=Q?(Q=!1,vt):R(O,vt,Vt,_t)}),O}function zm(C,R){var O=C.length;for(C.sort(R);O--;)C[O]=C[O].value;return C}function Mo(C,R){for(var O,Q=-1,st=C.length;++Q<st;){var vt=R(C[Q]);vt!==e&&(O=O===e?vt:O+vt)}return O}function Oo(C,R){for(var O=-1,Q=Array(C);++O<C;)Q[O]=R(O);return Q}function Vm(C,R){return Bt(R,function(O){return[O,C[O]]})}function Zc(C){return C&&C.slice(0,jc(C)+1).replace(Es,"")}function Ne(C){return function(R){return C(R)}}function Bo(C,R){return Bt(R,function(O){return C[O]})}function Ss(C,R){return C.has(R)}function Kc(C,R){for(var O=-1,Q=C.length;++O<Q&&bn(R,C[O],0)>-1;);return O}function Qc(C,R){for(var O=C.length;O--&&bn(R,C[O],0)>-1;);return O}function $m(C,R){for(var O=C.length,Q=0;O--;)C[O]===R&&++Q;return Q}var Gm=No(Nm),Xm=No(Mm);function Ym(C){return"\\"+Bm[C]}function Zm(C,R){return C==null?e:C[R]}function wn(C){return _m.test(C)}function Km(C){return Cm.test(C)}function Qm(C){for(var R,O=[];!(R=C.next()).done;)O.push(R.value);return O}function Io(C){var R=-1,O=Array(C.size);return C.forEach(function(Q,st){O[++R]=[st,Q]}),O}function Jc(C,R){return function(O){return C(R(O))}}function fr(C,R){for(var O=-1,Q=C.length,st=0,vt=[];++O<Q;){var Vt=C[O];(Vt===R||Vt===v)&&(C[O]=v,vt[st++]=O)}return vt}function _a(C){var R=-1,O=Array(C.size);return C.forEach(function(Q){O[++R]=Q}),O}function Jm(C){var R=-1,O=Array(C.size);return C.forEach(function(Q){O[++R]=[Q,Q]}),O}function jm(C,R,O){for(var Q=O-1,st=C.length;++Q<st;)if(C[Q]===R)return Q;return-1}function ty(C,R,O){for(var Q=O+1;Q--;)if(C[Q]===R)return Q;return Q}function Tn(C){return wn(C)?iy(C):km(C)}function ui(C){return wn(C)?ry(C):qm(C)}function jc(C){for(var R=C.length;R--&&ga.test(C.charAt(R)););return R}var ey=No(Om);function iy(C){for(var R=bo.lastIndex=0;bo.test(C);)++R;return R}function ry(C){return C.match(bo)||[]}function ny(C){return C.match(Tm)||[]}var sy=function C(R){R=R==null?te:_n.defaults(te.Object(),R,_n.pick(te,Sm));var O=R.Array,Q=R.Date,st=R.Error,vt=R.Function,Vt=R.Math,_t=R.Object,Po=R.RegExp,ay=R.String,We=R.TypeError,Ca=O.prototype,uy=vt.prototype,Cn=_t.prototype,Sa=R["__core-js_shared__"],Da=uy.toString,bt=Cn.hasOwnProperty,oy=0,tf=function(){var i=/[^.]+$/.exec(Sa&&Sa.keys&&Sa.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}(),Na=Cn.toString,ly=Da.call(_t),hy=te._,cy=Po("^"+Da.call(bt).replace(ur,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ma=Fc?R.Buffer:e,pr=R.Symbol,Oa=R.Uint8Array,ef=Ma?Ma.allocUnsafe:e,Ba=Jc(_t.getPrototypeOf,_t),rf=_t.create,nf=Cn.propertyIsEnumerable,Ia=Ca.splice,sf=pr?pr.isConcatSpreadable:e,Ds=pr?pr.iterator:e,Fr=pr?pr.toStringTag:e,Pa=function(){try{var i=Wr(_t,"defineProperty");return i({},"",{}),i}catch{}}(),fy=R.clearTimeout!==te.clearTimeout&&R.clearTimeout,py=Q&&Q.now!==te.Date.now&&Q.now,dy=R.setTimeout!==te.setTimeout&&R.setTimeout,La=Vt.ceil,Ra=Vt.floor,Lo=_t.getOwnPropertySymbols,gy=Ma?Ma.isBuffer:e,af=R.isFinite,my=Ca.join,yy=Jc(_t.keys,_t),$t=Vt.max,ae=Vt.min,vy=Q.now,xy=R.parseInt,uf=Vt.random,Ey=Ca.reverse,Ro=Wr(R,"DataView"),Ns=Wr(R,"Map"),Fo=Wr(R,"Promise"),Sn=Wr(R,"Set"),Ms=Wr(R,"WeakMap"),Os=Wr(_t,"create"),Fa=Ms&&new Ms,Dn={},Ay=zr(Ro),by=zr(Ns),wy=zr(Fo),Ty=zr(Sn),_y=zr(Ms),Ua=pr?pr.prototype:e,Bs=Ua?Ua.valueOf:e,of=Ua?Ua.toString:e;function m(i){if(Rt(i)&&!at(i)&&!(i instanceof pt)){if(i instanceof ze)return i;if(bt.call(i,"__wrapped__"))return lp(i)}return new ze(i)}var Nn=function(){function i(){}return function(s){if(!Lt(s))return{};if(rf)return rf(s);i.prototype=s;var o=new i;return i.prototype=e,o}}();function ka(){}function ze(i,s){this.__wrapped__=i,this.__actions__=[],this.__chain__=!!s,this.__index__=0,this.__values__=e}m.templateSettings={escape:ho,evaluate:co,interpolate:xs,variable:"",imports:{_:m}},m.prototype=ka.prototype,m.prototype.constructor=m,ze.prototype=Nn(ka.prototype),ze.prototype.constructor=ze;function pt(i){this.__wrapped__=i,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Re,this.__views__=[]}function Cy(){var i=new pt(this.__wrapped__);return i.__actions__=Ae(this.__actions__),i.__dir__=this.__dir__,i.__filtered__=this.__filtered__,i.__iteratees__=Ae(this.__iteratees__),i.__takeCount__=this.__takeCount__,i.__views__=Ae(this.__views__),i}function Sy(){if(this.__filtered__){var i=new pt(this);i.__dir__=-1,i.__filtered__=!0}else i=this.clone(),i.__dir__*=-1;return i}function Dy(){var i=this.__wrapped__.value(),s=this.__dir__,o=at(i),h=s<0,p=o?i.length:0,y=q1(0,p,this.__views__),b=y.start,_=y.end,N=_-b,F=h?_:b-1,U=this.__iteratees__,q=U.length,G=0,j=ae(N,this.__takeCount__);if(!o||!h&&p==N&&j==N)return Bf(i,this.__actions__);var it=[];t:for(;N--&&G<j;){F+=s;for(var lt=-1,rt=i[F];++lt<q;){var ft=U[lt],dt=ft.iteratee,Be=ft.type,de=dt(rt);if(Be==yt)rt=de;else if(!de){if(Be==Ct)continue t;break t}}it[G++]=rt}return it}pt.prototype=Nn(ka.prototype),pt.prototype.constructor=pt;function Ur(i){var s=-1,o=i==null?0:i.length;for(this.clear();++s<o;){var h=i[s];this.set(h[0],h[1])}}function Ny(){this.__data__=Os?Os(null):{},this.size=0}function My(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}function Oy(i){var s=this.__data__;if(Os){var o=s[i];return o===f?e:o}return bt.call(s,i)?s[i]:e}function By(i){var s=this.__data__;return Os?s[i]!==e:bt.call(s,i)}function Iy(i,s){var o=this.__data__;return this.size+=this.has(i)?0:1,o[i]=Os&&s===e?f:s,this}Ur.prototype.clear=Ny,Ur.prototype.delete=My,Ur.prototype.get=Oy,Ur.prototype.has=By,Ur.prototype.set=Iy;function Hi(i){var s=-1,o=i==null?0:i.length;for(this.clear();++s<o;){var h=i[s];this.set(h[0],h[1])}}function Py(){this.__data__=[],this.size=0}function Ly(i){var s=this.__data__,o=qa(s,i);if(o<0)return!1;var h=s.length-1;return o==h?s.pop():Ia.call(s,o,1),--this.size,!0}function Ry(i){var s=this.__data__,o=qa(s,i);return o<0?e:s[o][1]}function Fy(i){return qa(this.__data__,i)>-1}function Uy(i,s){var o=this.__data__,h=qa(o,i);return h<0?(++this.size,o.push([i,s])):o[h][1]=s,this}Hi.prototype.clear=Py,Hi.prototype.delete=Ly,Hi.prototype.get=Ry,Hi.prototype.has=Fy,Hi.prototype.set=Uy;function Wi(i){var s=-1,o=i==null?0:i.length;for(this.clear();++s<o;){var h=i[s];this.set(h[0],h[1])}}function ky(){this.size=0,this.__data__={hash:new Ur,map:new(Ns||Hi),string:new Ur}}function qy(i){var s=Ja(this,i).delete(i);return this.size-=s?1:0,s}function Hy(i){return Ja(this,i).get(i)}function Wy(i){return Ja(this,i).has(i)}function zy(i,s){var o=Ja(this,i),h=o.size;return o.set(i,s),this.size+=o.size==h?0:1,this}Wi.prototype.clear=ky,Wi.prototype.delete=qy,Wi.prototype.get=Hy,Wi.prototype.has=Wy,Wi.prototype.set=zy;function kr(i){var s=-1,o=i==null?0:i.length;for(this.__data__=new Wi;++s<o;)this.add(i[s])}function Vy(i){return this.__data__.set(i,f),this}function $y(i){return this.__data__.has(i)}kr.prototype.add=kr.prototype.push=Vy,kr.prototype.has=$y;function oi(i){var s=this.__data__=new Hi(i);this.size=s.size}function Gy(){this.__data__=new Hi,this.size=0}function Xy(i){var s=this.__data__,o=s.delete(i);return this.size=s.size,o}function Yy(i){return this.__data__.get(i)}function Zy(i){return this.__data__.has(i)}function Ky(i,s){var o=this.__data__;if(o instanceof Hi){var h=o.__data__;if(!Ns||h.length<a-1)return h.push([i,s]),this.size=++o.size,this;o=this.__data__=new Wi(h)}return o.set(i,s),this.size=o.size,this}oi.prototype.clear=Gy,oi.prototype.delete=Xy,oi.prototype.get=Yy,oi.prototype.has=Zy,oi.prototype.set=Ky;function lf(i,s){var o=at(i),h=!o&&Vr(i),p=!o&&!h&&vr(i),y=!o&&!h&&!p&&In(i),b=o||h||p||y,_=b?Oo(i.length,ay):[],N=_.length;for(var F in i)(s||bt.call(i,F))&&!(b&&(F=="length"||p&&(F=="offset"||F=="parent")||y&&(F=="buffer"||F=="byteLength"||F=="byteOffset")||Gi(F,N)))&&_.push(F);return _}function hf(i){var s=i.length;return s?i[Yo(0,s-1)]:e}function Qy(i,s){return ja(Ae(i),qr(s,0,i.length))}function Jy(i){return ja(Ae(i))}function Uo(i,s,o){(o!==e&&!li(i[s],o)||o===e&&!(s in i))&&zi(i,s,o)}function Is(i,s,o){var h=i[s];(!(bt.call(i,s)&&li(h,o))||o===e&&!(s in i))&&zi(i,s,o)}function qa(i,s){for(var o=i.length;o--;)if(li(i[o][0],s))return o;return-1}function jy(i,s,o,h){return dr(i,function(p,y,b){s(h,p,o(p),b)}),h}function cf(i,s){return i&&Ai(s,Zt(s),i)}function t1(i,s){return i&&Ai(s,we(s),i)}function zi(i,s,o){s=="__proto__"&&Pa?Pa(i,s,{configurable:!0,enumerable:!0,value:o,writable:!0}):i[s]=o}function ko(i,s){for(var o=-1,h=s.length,p=O(h),y=i==null;++o<h;)p[o]=y?e:xl(i,s[o]);return p}function qr(i,s,o){return i===i&&(o!==e&&(i=i<=o?i:o),s!==e&&(i=i>=s?i:s)),i}function Ve(i,s,o,h,p,y){var b,_=s&E,N=s&A,F=s&T;if(o&&(b=p?o(i,h,p,y):o(i)),b!==e)return b;if(!Lt(i))return i;var U=at(i);if(U){if(b=W1(i),!_)return Ae(i,b)}else{var q=ue(i),G=q==yi||q==nr;if(vr(i))return Lf(i,_);if(q==jt||q==rr||G&&!p){if(b=N||G?{}:tp(i),!_)return N?O1(i,t1(b,i)):M1(i,cf(b,i))}else{if(!Dt[q])return p?i:{};b=z1(i,q,_)}}y||(y=new oi);var j=y.get(i);if(j)return j;y.set(i,b),Np(i)?i.forEach(function(rt){b.add(Ve(rt,s,o,rt,i,y))}):Sp(i)&&i.forEach(function(rt,ft){b.set(ft,Ve(rt,s,o,ft,i,y))});var it=F?N?sl:nl:N?we:Zt,lt=U?e:it(i);return He(lt||i,function(rt,ft){lt&&(ft=rt,rt=i[ft]),Is(b,ft,Ve(rt,s,o,ft,i,y))}),b}function e1(i){var s=Zt(i);return function(o){return ff(o,i,s)}}function ff(i,s,o){var h=o.length;if(i==null)return!h;for(i=_t(i);h--;){var p=o[h],y=s[p],b=i[p];if(b===e&&!(p in i)||!y(b))return!1}return!0}function pf(i,s,o){if(typeof i!="function")throw new We(l);return qs(function(){i.apply(e,o)},s)}function Ps(i,s,o,h){var p=-1,y=wa,b=!0,_=i.length,N=[],F=s.length;if(!_)return N;o&&(s=Bt(s,Ne(o))),h?(y=_o,b=!1):s.length>=a&&(y=Ss,b=!1,s=new kr(s));t:for(;++p<_;){var U=i[p],q=o==null?U:o(U);if(U=h||U!==0?U:0,b&&q===q){for(var G=F;G--;)if(s[G]===q)continue t;N.push(U)}else y(s,q,h)||N.push(U)}return N}var dr=qf(Ei),df=qf(Ho,!0);function i1(i,s){var o=!0;return dr(i,function(h,p,y){return o=!!s(h,p,y),o}),o}function Ha(i,s,o){for(var h=-1,p=i.length;++h<p;){var y=i[h],b=s(y);if(b!=null&&(_===e?b===b&&!Oe(b):o(b,_)))var _=b,N=y}return N}function r1(i,s,o,h){var p=i.length;for(o=ut(o),o<0&&(o=-o>p?0:p+o),h=h===e||h>p?p:ut(h),h<0&&(h+=p),h=o>h?0:Op(h);o<h;)i[o++]=s;return i}function gf(i,s){var o=[];return dr(i,function(h,p,y){s(h,p,y)&&o.push(h)}),o}function ee(i,s,o,h,p){var y=-1,b=i.length;for(o||(o=$1),p||(p=[]);++y<b;){var _=i[y];s>0&&o(_)?s>1?ee(_,s-1,o,h,p):cr(p,_):h||(p[p.length]=_)}return p}var qo=Hf(),mf=Hf(!0);function Ei(i,s){return i&&qo(i,s,Zt)}function Ho(i,s){return i&&mf(i,s,Zt)}function Wa(i,s){return hr(s,function(o){return Xi(i[o])})}function Hr(i,s){s=mr(s,i);for(var o=0,h=s.length;i!=null&&o<h;)i=i[bi(s[o++])];return o&&o==h?i:e}function yf(i,s,o){var h=s(i);return at(i)?h:cr(h,o(i))}function fe(i){return i==null?i===e?so:Fe:Fr&&Fr in _t(i)?k1(i):J1(i)}function Wo(i,s){return i>s}function n1(i,s){return i!=null&&bt.call(i,s)}function s1(i,s){return i!=null&&s in _t(i)}function a1(i,s,o){return i>=ae(s,o)&&i<$t(s,o)}function zo(i,s,o){for(var h=o?_o:wa,p=i[0].length,y=i.length,b=y,_=O(y),N=1/0,F=[];b--;){var U=i[b];b&&s&&(U=Bt(U,Ne(s))),N=ae(U.length,N),_[b]=!o&&(s||p>=120&&U.length>=120)?new kr(b&&U):e}U=i[0];var q=-1,G=_[0];t:for(;++q<p&&F.length<N;){var j=U[q],it=s?s(j):j;if(j=o||j!==0?j:0,!(G?Ss(G,it):h(F,it,o))){for(b=y;--b;){var lt=_[b];if(!(lt?Ss(lt,it):h(i[b],it,o)))continue t}G&&G.push(it),F.push(j)}}return F}function u1(i,s,o,h){return Ei(i,function(p,y,b){s(h,o(p),y,b)}),h}function Ls(i,s,o){s=mr(s,i),i=np(i,s);var h=i==null?i:i[bi(Ge(s))];return h==null?e:De(h,i,o)}function vf(i){return Rt(i)&&fe(i)==rr}function o1(i){return Rt(i)&&fe(i)==sr}function l1(i){return Rt(i)&&fe(i)==St}function Rs(i,s,o,h,p){return i===s?!0:i==null||s==null||!Rt(i)&&!Rt(s)?i!==i&&s!==s:h1(i,s,o,h,Rs,p)}function h1(i,s,o,h,p,y){var b=at(i),_=at(s),N=b?hn:ue(i),F=_?hn:ue(s);N=N==rr?jt:N,F=F==rr?jt:F;var U=N==jt,q=F==jt,G=N==F;if(G&&vr(i)){if(!vr(s))return!1;b=!0,U=!1}if(G&&!U)return y||(y=new oi),b||In(i)?Qf(i,s,o,h,p,y):F1(i,s,N,o,h,p,y);if(!(o&I)){var j=U&&bt.call(i,"__wrapped__"),it=q&&bt.call(s,"__wrapped__");if(j||it){var lt=j?i.value():i,rt=it?s.value():s;return y||(y=new oi),p(lt,rt,o,h,y)}}return G?(y||(y=new oi),U1(i,s,o,h,p,y)):!1}function c1(i){return Rt(i)&&ue(i)==Jt}function Vo(i,s,o,h){var p=o.length,y=p,b=!h;if(i==null)return!y;for(i=_t(i);p--;){var _=o[p];if(b&&_[2]?_[1]!==i[_[0]]:!(_[0]in i))return!1}for(;++p<y;){_=o[p];var N=_[0],F=i[N],U=_[1];if(b&&_[2]){if(F===e&&!(N in i))return!1}else{var q=new oi;if(h)var G=h(F,U,N,i,s,q);if(!(G===e?Rs(U,F,I|S,h,q):G))return!1}}return!0}function xf(i){if(!Lt(i)||X1(i))return!1;var s=Xi(i)?cy:Br;return s.test(zr(i))}function f1(i){return Rt(i)&&fe(i)==vi}function p1(i){return Rt(i)&&ue(i)==Ot}function d1(i){return Rt(i)&&su(i.length)&&!!Mt[fe(i)]}function Ef(i){return typeof i=="function"?i:i==null?Te:typeof i=="object"?at(i)?wf(i[0],i[1]):bf(i):Wp(i)}function $o(i){if(!ks(i))return yy(i);var s=[];for(var o in _t(i))bt.call(i,o)&&o!="constructor"&&s.push(o);return s}function g1(i){if(!Lt(i))return Q1(i);var s=ks(i),o=[];for(var h in i)h=="constructor"&&(s||!bt.call(i,h))||o.push(h);return o}function Go(i,s){return i<s}function Af(i,s){var o=-1,h=be(i)?O(i.length):[];return dr(i,function(p,y,b){h[++o]=s(p,y,b)}),h}function bf(i){var s=ul(i);return s.length==1&&s[0][2]?ip(s[0][0],s[0][1]):function(o){return o===i||Vo(o,i,s)}}function wf(i,s){return ll(i)&&ep(s)?ip(bi(i),s):function(o){var h=xl(o,i);return h===e&&h===s?El(o,i):Rs(s,h,I|S)}}function za(i,s,o,h,p){i!==s&&qo(s,function(y,b){if(p||(p=new oi),Lt(y))m1(i,s,b,o,za,h,p);else{var _=h?h(cl(i,b),y,b+"",i,s,p):e;_===e&&(_=y),Uo(i,b,_)}},we)}function m1(i,s,o,h,p,y,b){var _=cl(i,o),N=cl(s,o),F=b.get(N);if(F){Uo(i,o,F);return}var U=y?y(_,N,o+"",i,s,b):e,q=U===e;if(q){var G=at(N),j=!G&&vr(N),it=!G&&!j&&In(N);U=N,G||j||it?at(_)?U=_:qt(_)?U=Ae(_):j?(q=!1,U=Lf(N,!0)):it?(q=!1,U=Rf(N,!0)):U=[]:Hs(N)||Vr(N)?(U=_,Vr(_)?U=Bp(_):(!Lt(_)||Xi(_))&&(U=tp(N))):q=!1}q&&(b.set(N,U),p(U,N,h,y,b),b.delete(N)),Uo(i,o,U)}function Tf(i,s){var o=i.length;if(o)return s+=s<0?o:0,Gi(s,o)?i[s]:e}function _f(i,s,o){s.length?s=Bt(s,function(y){return at(y)?function(b){return Hr(b,y.length===1?y[0]:y)}:y}):s=[Te];var h=-1;s=Bt(s,Ne(et()));var p=Af(i,function(y,b,_){var N=Bt(s,function(F){return F(y)});return{criteria:N,index:++h,value:y}});return zm(p,function(y,b){return N1(y,b,o)})}function y1(i,s){return Cf(i,s,function(o,h){return El(i,h)})}function Cf(i,s,o){for(var h=-1,p=s.length,y={};++h<p;){var b=s[h],_=Hr(i,b);o(_,b)&&Fs(y,mr(b,i),_)}return y}function v1(i){return function(s){return Hr(s,i)}}function Xo(i,s,o,h){var p=h?Wm:bn,y=-1,b=s.length,_=i;for(i===s&&(s=Ae(s)),o&&(_=Bt(i,Ne(o)));++y<b;)for(var N=0,F=s[y],U=o?o(F):F;(N=p(_,U,N,h))>-1;)_!==i&&Ia.call(_,N,1),Ia.call(i,N,1);return i}function Sf(i,s){for(var o=i?s.length:0,h=o-1;o--;){var p=s[o];if(o==h||p!==y){var y=p;Gi(p)?Ia.call(i,p,1):Qo(i,p)}}return i}function Yo(i,s){return i+Ra(uf()*(s-i+1))}function x1(i,s,o,h){for(var p=-1,y=$t(La((s-i)/(o||1)),0),b=O(y);y--;)b[h?y:++p]=i,i+=o;return b}function Zo(i,s){var o="";if(!i||s<1||s>Le)return o;do s%2&&(o+=i),s=Ra(s/2),s&&(i+=i);while(s);return o}function ht(i,s){return fl(rp(i,s,Te),i+"")}function E1(i){return hf(Pn(i))}function A1(i,s){var o=Pn(i);return ja(o,qr(s,0,o.length))}function Fs(i,s,o,h){if(!Lt(i))return i;s=mr(s,i);for(var p=-1,y=s.length,b=y-1,_=i;_!=null&&++p<y;){var N=bi(s[p]),F=o;if(N==="__proto__"||N==="constructor"||N==="prototype")return i;if(p!=b){var U=_[N];F=h?h(U,N,_):e,F===e&&(F=Lt(U)?U:Gi(s[p+1])?[]:{})}Is(_,N,F),_=_[N]}return i}var Df=Fa?function(i,s){return Fa.set(i,s),i}:Te,b1=Pa?function(i,s){return Pa(i,"toString",{configurable:!0,enumerable:!1,value:bl(s),writable:!0})}:Te;function w1(i){return ja(Pn(i))}function $e(i,s,o){var h=-1,p=i.length;s<0&&(s=-s>p?0:p+s),o=o>p?p:o,o<0&&(o+=p),p=s>o?0:o-s>>>0,s>>>=0;for(var y=O(p);++h<p;)y[h]=i[h+s];return y}function T1(i,s){var o;return dr(i,function(h,p,y){return o=s(h,p,y),!o}),!!o}function Va(i,s,o){var h=0,p=i==null?h:i.length;if(typeof s=="number"&&s===s&&p<=no){for(;h<p;){var y=h+p>>>1,b=i[y];b!==null&&!Oe(b)&&(o?b<=s:b<s)?h=y+1:p=y}return p}return Ko(i,s,Te,o)}function Ko(i,s,o,h){var p=0,y=i==null?0:i.length;if(y===0)return 0;s=o(s);for(var b=s!==s,_=s===null,N=Oe(s),F=s===e;p<y;){var U=Ra((p+y)/2),q=o(i[U]),G=q!==e,j=q===null,it=q===q,lt=Oe(q);if(b)var rt=h||it;else F?rt=it&&(h||G):_?rt=it&&G&&(h||!j):N?rt=it&&G&&!j&&(h||!lt):j||lt?rt=!1:rt=h?q<=s:q<s;rt?p=U+1:y=U}return ae(y,Dr)}function Nf(i,s){for(var o=-1,h=i.length,p=0,y=[];++o<h;){var b=i[o],_=s?s(b):b;if(!o||!li(_,N)){var N=_;y[p++]=b===0?0:b}}return y}function Mf(i){return typeof i=="number"?i:Oe(i)?ln:+i}function Me(i){if(typeof i=="string")return i;if(at(i))return Bt(i,Me)+"";if(Oe(i))return of?of.call(i):"";var s=i+"";return s=="0"&&1/i==-Pt?"-0":s}function gr(i,s,o){var h=-1,p=wa,y=i.length,b=!0,_=[],N=_;if(o)b=!1,p=_o;else if(y>=a){var F=s?null:L1(i);if(F)return _a(F);b=!1,p=Ss,N=new kr}else N=s?[]:_;t:for(;++h<y;){var U=i[h],q=s?s(U):U;if(U=o||U!==0?U:0,b&&q===q){for(var G=N.length;G--;)if(N[G]===q)continue t;s&&N.push(q),_.push(U)}else p(N,q,o)||(N!==_&&N.push(q),_.push(U))}return _}function Qo(i,s){return s=mr(s,i),i=np(i,s),i==null||delete i[bi(Ge(s))]}function Of(i,s,o,h){return Fs(i,s,o(Hr(i,s)),h)}function $a(i,s,o,h){for(var p=i.length,y=h?p:-1;(h?y--:++y<p)&&s(i[y],y,i););return o?$e(i,h?0:y,h?y+1:p):$e(i,h?y+1:0,h?p:y)}function Bf(i,s){var o=i;return o instanceof pt&&(o=o.value()),Co(s,function(h,p){return p.func.apply(p.thisArg,cr([h],p.args))},o)}function Jo(i,s,o){var h=i.length;if(h<2)return h?gr(i[0]):[];for(var p=-1,y=O(h);++p<h;)for(var b=i[p],_=-1;++_<h;)_!=p&&(y[p]=Ps(y[p]||b,i[_],s,o));return gr(ee(y,1),s,o)}function If(i,s,o){for(var h=-1,p=i.length,y=s.length,b={};++h<p;){var _=h<y?s[h]:e;o(b,i[h],_)}return b}function jo(i){return qt(i)?i:[]}function tl(i){return typeof i=="function"?i:Te}function mr(i,s){return at(i)?i:ll(i,s)?[i]:op(Et(i))}var _1=ht;function yr(i,s,o){var h=i.length;return o=o===e?h:o,!s&&o>=h?i:$e(i,s,o)}var Pf=fy||function(i){return te.clearTimeout(i)};function Lf(i,s){if(s)return i.slice();var o=i.length,h=ef?ef(o):new i.constructor(o);return i.copy(h),h}function el(i){var s=new i.constructor(i.byteLength);return new Oa(s).set(new Oa(i)),s}function C1(i,s){var o=s?el(i.buffer):i.buffer;return new i.constructor(o,i.byteOffset,i.byteLength)}function S1(i){var s=new i.constructor(i.source,bs.exec(i));return s.lastIndex=i.lastIndex,s}function D1(i){return Bs?_t(Bs.call(i)):{}}function Rf(i,s){var o=s?el(i.buffer):i.buffer;return new i.constructor(o,i.byteOffset,i.length)}function Ff(i,s){if(i!==s){var o=i!==e,h=i===null,p=i===i,y=Oe(i),b=s!==e,_=s===null,N=s===s,F=Oe(s);if(!_&&!F&&!y&&i>s||y&&b&&N&&!_&&!F||h&&b&&N||!o&&N||!p)return 1;if(!h&&!y&&!F&&i<s||F&&o&&p&&!h&&!y||_&&o&&p||!b&&p||!N)return-1}return 0}function N1(i,s,o){for(var h=-1,p=i.criteria,y=s.criteria,b=p.length,_=o.length;++h<b;){var N=Ff(p[h],y[h]);if(N){if(h>=_)return N;var F=o[h];return N*(F=="desc"?-1:1)}}return i.index-s.index}function Uf(i,s,o,h){for(var p=-1,y=i.length,b=o.length,_=-1,N=s.length,F=$t(y-b,0),U=O(N+F),q=!h;++_<N;)U[_]=s[_];for(;++p<b;)(q||p<y)&&(U[o[p]]=i[p]);for(;F--;)U[_++]=i[p++];return U}function kf(i,s,o,h){for(var p=-1,y=i.length,b=-1,_=o.length,N=-1,F=s.length,U=$t(y-_,0),q=O(U+F),G=!h;++p<U;)q[p]=i[p];for(var j=p;++N<F;)q[j+N]=s[N];for(;++b<_;)(G||p<y)&&(q[j+o[b]]=i[p++]);return q}function Ae(i,s){var o=-1,h=i.length;for(s||(s=O(h));++o<h;)s[o]=i[o];return s}function Ai(i,s,o,h){var p=!o;o||(o={});for(var y=-1,b=s.length;++y<b;){var _=s[y],N=h?h(o[_],i[_],_,o,i):e;N===e&&(N=i[_]),p?zi(o,_,N):Is(o,_,N)}return o}function M1(i,s){return Ai(i,ol(i),s)}function O1(i,s){return Ai(i,Jf(i),s)}function Ga(i,s){return function(o,h){var p=at(o)?Rm:jy,y=s?s():{};return p(o,i,et(h,2),y)}}function Mn(i){return ht(function(s,o){var h=-1,p=o.length,y=p>1?o[p-1]:e,b=p>2?o[2]:e;for(y=i.length>3&&typeof y=="function"?(p--,y):e,b&&pe(o[0],o[1],b)&&(y=p<3?e:y,p=1),s=_t(s);++h<p;){var _=o[h];_&&i(s,_,h,y)}return s})}function qf(i,s){return function(o,h){if(o==null)return o;if(!be(o))return i(o,h);for(var p=o.length,y=s?p:-1,b=_t(o);(s?y--:++y<p)&&h(b[y],y,b)!==!1;);return o}}function Hf(i){return function(s,o,h){for(var p=-1,y=_t(s),b=h(s),_=b.length;_--;){var N=b[i?_:++p];if(o(y[N],N,y)===!1)break}return s}}function B1(i,s,o){var h=s&D,p=Us(i);function y(){var b=this&&this!==te&&this instanceof y?p:i;return b.apply(h?o:this,arguments)}return y}function Wf(i){return function(s){s=Et(s);var o=wn(s)?ui(s):e,h=o?o[0]:s.charAt(0),p=o?yr(o,1).join(""):s.slice(1);return h[i]()+p}}function On(i){return function(s){return Co(qp(kp(s).replace(bm,"")),i,"")}}function Us(i){return function(){var s=arguments;switch(s.length){case 0:return new i;case 1:return new i(s[0]);case 2:return new i(s[0],s[1]);case 3:return new i(s[0],s[1],s[2]);case 4:return new i(s[0],s[1],s[2],s[3]);case 5:return new i(s[0],s[1],s[2],s[3],s[4]);case 6:return new i(s[0],s[1],s[2],s[3],s[4],s[5]);case 7:return new i(s[0],s[1],s[2],s[3],s[4],s[5],s[6])}var o=Nn(i.prototype),h=i.apply(o,s);return Lt(h)?h:o}}function I1(i,s,o){var h=Us(i);function p(){for(var y=arguments.length,b=O(y),_=y,N=Bn(p);_--;)b[_]=arguments[_];var F=y<3&&b[0]!==N&&b[y-1]!==N?[]:fr(b,N);if(y-=F.length,y<o)return Xf(i,s,Xa,p.placeholder,e,b,F,e,e,o-y);var U=this&&this!==te&&this instanceof p?h:i;return De(U,this,b)}return p}function zf(i){return function(s,o,h){var p=_t(s);if(!be(s)){var y=et(o,3);s=Zt(s),o=function(_){return y(p[_],_,p)}}var b=i(s,o,h);return b>-1?p[y?s[b]:b]:e}}function Vf(i){return $i(function(s){var o=s.length,h=o,p=ze.prototype.thru;for(i&&s.reverse();h--;){var y=s[h];if(typeof y!="function")throw new We(l);if(p&&!b&&Qa(y)=="wrapper")var b=new ze([],!0)}for(h=b?h:o;++h<o;){y=s[h];var _=Qa(y),N=_=="wrapper"?al(y):e;N&&hl(N[0])&&N[1]==(tt|W|$|Z)&&!N[4].length&&N[9]==1?b=b[Qa(N[0])].apply(b,N[3]):b=y.length==1&&hl(y)?b[_]():b.thru(y)}return function(){var F=arguments,U=F[0];if(b&&F.length==1&&at(U))return b.plant(U).value();for(var q=0,G=o?s[q].apply(this,F):U;++q<o;)G=s[q].call(this,G);return G}})}function Xa(i,s,o,h,p,y,b,_,N,F){var U=s&tt,q=s&D,G=s&k,j=s&(W|X),it=s&z,lt=G?e:Us(i);function rt(){for(var ft=arguments.length,dt=O(ft),Be=ft;Be--;)dt[Be]=arguments[Be];if(j)var de=Bn(rt),Ie=$m(dt,de);if(h&&(dt=Uf(dt,h,p,j)),y&&(dt=kf(dt,y,b,j)),ft-=Ie,j&&ft<F){var Ht=fr(dt,de);return Xf(i,s,Xa,rt.placeholder,o,dt,Ht,_,N,F-ft)}var hi=q?o:this,Zi=G?hi[i]:i;return ft=dt.length,_?dt=j1(dt,_):it&&ft>1&&dt.reverse(),U&&N<ft&&(dt.length=N),this&&this!==te&&this instanceof rt&&(Zi=lt||Us(Zi)),Zi.apply(hi,dt)}return rt}function $f(i,s){return function(o,h){return u1(o,i,s(h),{})}}function Ya(i,s){return function(o,h){var p;if(o===e&&h===e)return s;if(o!==e&&(p=o),h!==e){if(p===e)return h;typeof o=="string"||typeof h=="string"?(o=Me(o),h=Me(h)):(o=Mf(o),h=Mf(h)),p=i(o,h)}return p}}function il(i){return $i(function(s){return s=Bt(s,Ne(et())),ht(function(o){var h=this;return i(s,function(p){return De(p,h,o)})})})}function Za(i,s){s=s===e?" ":Me(s);var o=s.length;if(o<2)return o?Zo(s,i):s;var h=Zo(s,La(i/Tn(s)));return wn(s)?yr(ui(h),0,i).join(""):h.slice(0,i)}function P1(i,s,o,h){var p=s&D,y=Us(i);function b(){for(var _=-1,N=arguments.length,F=-1,U=h.length,q=O(U+N),G=this&&this!==te&&this instanceof b?y:i;++F<U;)q[F]=h[F];for(;N--;)q[F++]=arguments[++_];return De(G,p?o:this,q)}return b}function Gf(i){return function(s,o,h){return h&&typeof h!="number"&&pe(s,o,h)&&(o=h=e),s=Yi(s),o===e?(o=s,s=0):o=Yi(o),h=h===e?s<o?1:-1:Yi(h),x1(s,o,h,i)}}function Ka(i){return function(s,o){return typeof s=="string"&&typeof o=="string"||(s=Xe(s),o=Xe(o)),i(s,o)}}function Xf(i,s,o,h,p,y,b,_,N,F){var U=s&W,q=U?b:e,G=U?e:b,j=U?y:e,it=U?e:y;s|=U?$:K,s&=~(U?K:$),s&V||(s&=~(D|k));var lt=[i,s,p,j,q,it,G,_,N,F],rt=o.apply(e,lt);return hl(i)&&sp(rt,lt),rt.placeholder=h,ap(rt,i,s)}function rl(i){var s=Vt[i];return function(o,h){if(o=Xe(o),h=h==null?0:ae(ut(h),292),h&&af(o)){var p=(Et(o)+"e").split("e"),y=s(p[0]+"e"+(+p[1]+h));return p=(Et(y)+"e").split("e"),+(p[0]+"e"+(+p[1]-h))}return s(o)}}var L1=Sn&&1/_a(new Sn([,-0]))[1]==Pt?function(i){return new Sn(i)}:_l;function Yf(i){return function(s){var o=ue(s);return o==Jt?Io(s):o==Ot?Jm(s):Vm(s,i(s))}}function Vi(i,s,o,h,p,y,b,_){var N=s&k;if(!N&&typeof i!="function")throw new We(l);var F=h?h.length:0;if(F||(s&=~($|K),h=p=e),b=b===e?b:$t(ut(b),0),_=_===e?_:ut(_),F-=p?p.length:0,s&K){var U=h,q=p;h=p=e}var G=N?e:al(i),j=[i,s,o,h,p,U,q,y,b,_];if(G&&K1(j,G),i=j[0],s=j[1],o=j[2],h=j[3],p=j[4],_=j[9]=j[9]===e?N?0:i.length:$t(j[9]-F,0),!_&&s&(W|X)&&(s&=~(W|X)),!s||s==D)var it=B1(i,s,o);else s==W||s==X?it=I1(i,s,_):(s==$||s==(D|$))&&!p.length?it=P1(i,s,o,h):it=Xa.apply(e,j);var lt=G?Df:sp;return ap(lt(it,j),i,s)}function Zf(i,s,o,h){return i===e||li(i,Cn[o])&&!bt.call(h,o)?s:i}function Kf(i,s,o,h,p,y){return Lt(i)&&Lt(s)&&(y.set(s,i),za(i,s,e,Kf,y),y.delete(s)),i}function R1(i){return Hs(i)?e:i}function Qf(i,s,o,h,p,y){var b=o&I,_=i.length,N=s.length;if(_!=N&&!(b&&N>_))return!1;var F=y.get(i),U=y.get(s);if(F&&U)return F==s&&U==i;var q=-1,G=!0,j=o&S?new kr:e;for(y.set(i,s),y.set(s,i);++q<_;){var it=i[q],lt=s[q];if(h)var rt=b?h(lt,it,q,s,i,y):h(it,lt,q,i,s,y);if(rt!==e){if(rt)continue;G=!1;break}if(j){if(!So(s,function(ft,dt){if(!Ss(j,dt)&&(it===ft||p(it,ft,o,h,y)))return j.push(dt)})){G=!1;break}}else if(!(it===lt||p(it,lt,o,h,y))){G=!1;break}}return y.delete(i),y.delete(s),G}function F1(i,s,o,h,p,y,b){switch(o){case Fi:if(i.byteLength!=s.byteLength||i.byteOffset!=s.byteOffset)return!1;i=i.buffer,s=s.buffer;case sr:return!(i.byteLength!=s.byteLength||!y(new Oa(i),new Oa(s)));case Ce:case St:case ni:return li(+i,+s);case Ri:return i.name==s.name&&i.message==s.message;case vi:case Nr:return i==s+"";case Jt:var _=Io;case Ot:var N=h&I;if(_||(_=_a),i.size!=s.size&&!N)return!1;var F=b.get(i);if(F)return F==s;h|=S,b.set(i,s);var U=Qf(_(i),_(s),h,p,y,b);return b.delete(i),U;case cn:if(Bs)return Bs.call(i)==Bs.call(s)}return!1}function U1(i,s,o,h,p,y){var b=o&I,_=nl(i),N=_.length,F=nl(s),U=F.length;if(N!=U&&!b)return!1;for(var q=N;q--;){var G=_[q];if(!(b?G in s:bt.call(s,G)))return!1}var j=y.get(i),it=y.get(s);if(j&&it)return j==s&&it==i;var lt=!0;y.set(i,s),y.set(s,i);for(var rt=b;++q<N;){G=_[q];var ft=i[G],dt=s[G];if(h)var Be=b?h(dt,ft,G,s,i,y):h(ft,dt,G,i,s,y);if(!(Be===e?ft===dt||p(ft,dt,o,h,y):Be)){lt=!1;break}rt||(rt=G=="constructor")}if(lt&&!rt){var de=i.constructor,Ie=s.constructor;de!=Ie&&"constructor"in i&&"constructor"in s&&!(typeof de=="function"&&de instanceof de&&typeof Ie=="function"&&Ie instanceof Ie)&&(lt=!1)}return y.delete(i),y.delete(s),lt}function $i(i){return fl(rp(i,e,fp),i+"")}function nl(i){return yf(i,Zt,ol)}function sl(i){return yf(i,we,Jf)}var al=Fa?function(i){return Fa.get(i)}:_l;function Qa(i){for(var s=i.name+"",o=Dn[s],h=bt.call(Dn,s)?o.length:0;h--;){var p=o[h],y=p.func;if(y==null||y==i)return p.name}return s}function Bn(i){var s=bt.call(m,"placeholder")?m:i;return s.placeholder}function et(){var i=m.iteratee||wl;return i=i===wl?Ef:i,arguments.length?i(arguments[0],arguments[1]):i}function Ja(i,s){var o=i.__data__;return G1(s)?o[typeof s=="string"?"string":"hash"]:o.map}function ul(i){for(var s=Zt(i),o=s.length;o--;){var h=s[o],p=i[h];s[o]=[h,p,ep(p)]}return s}function Wr(i,s){var o=Zm(i,s);return xf(o)?o:e}function k1(i){var s=bt.call(i,Fr),o=i[Fr];try{i[Fr]=e;var h=!0}catch{}var p=Na.call(i);return h&&(s?i[Fr]=o:delete i[Fr]),p}var ol=Lo?function(i){return i==null?[]:(i=_t(i),hr(Lo(i),function(s){return nf.call(i,s)}))}:Cl,Jf=Lo?function(i){for(var s=[];i;)cr(s,ol(i)),i=Ba(i);return s}:Cl,ue=fe;(Ro&&ue(new Ro(new ArrayBuffer(1)))!=Fi||Ns&&ue(new Ns)!=Jt||Fo&&ue(Fo.resolve())!=hs||Sn&&ue(new Sn)!=Ot||Ms&&ue(new Ms)!=Mr)&&(ue=function(i){var s=fe(i),o=s==jt?i.constructor:e,h=o?zr(o):"";if(h)switch(h){case Ay:return Fi;case by:return Jt;case wy:return hs;case Ty:return Ot;case _y:return Mr}return s});function q1(i,s,o){for(var h=-1,p=o.length;++h<p;){var y=o[h],b=y.size;switch(y.type){case"drop":i+=b;break;case"dropRight":s-=b;break;case"take":s=ae(s,i+b);break;case"takeRight":i=$t(i,s-b);break}}return{start:i,end:s}}function H1(i){var s=i.match(yo);return s?s[1].split(ma):[]}function jf(i,s,o){s=mr(s,i);for(var h=-1,p=s.length,y=!1;++h<p;){var b=bi(s[h]);if(!(y=i!=null&&o(i,b)))break;i=i[b]}return y||++h!=p?y:(p=i==null?0:i.length,!!p&&su(p)&&Gi(b,p)&&(at(i)||Vr(i)))}function W1(i){var s=i.length,o=new i.constructor(s);return s&&typeof i[0]=="string"&&bt.call(i,"index")&&(o.index=i.index,o.input=i.input),o}function tp(i){return typeof i.constructor=="function"&&!ks(i)?Nn(Ba(i)):{}}function z1(i,s,o){var h=i.constructor;switch(s){case sr:return el(i);case Ce:case St:return new h(+i);case Fi:return C1(i,o);case fn:case pn:case ar:case Or:case cs:case fs:case ps:case ds:case gs:return Rf(i,o);case Jt:return new h;case ni:case Nr:return new h(i);case vi:return S1(i);case Ot:return new h;case cn:return D1(i)}}function V1(i,s){var o=s.length;if(!o)return i;var h=o-1;return s[h]=(o>1?"& ":"")+s[h],s=s.join(o>2?", ":" "),i.replace(As,`{
|
|
12
|
+
*/ea.exports,function(n,t){(function(){var e,r="4.17.21",a=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",c="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",d=500,v="__lodash_placeholder__",E=1,A=2,T=4,I=1,S=2,D=1,k=2,z=4,W=8,X=16,$=32,K=64,tt=128,Z=256,V=512,J=30,nt="...",mt=800,It=16,Ct=1,yt=2,B=3,Pt=1/0,Le=9007199254740991,pa=17976931348623157e292,hn=NaN,Re=4294967295,Nr=Re-1,ro=Re>>>1,hs=[["ary",tt],["bind",D],["bindKey",k],["curry",W],["curryRight",X],["flip",V],["partial",$],["partialRight",K],["rearg",Z]],ir="[object Arguments]",cn="[object Array]",Jt="[object AsyncFunction]",Ce="[object Boolean]",St="[object Date]",se="[object DOMException]",Ri="[object Error]",yi="[object Function]",rr="[object GeneratorFunction]",jt="[object Map]",ni="[object Number]",Fe="[object Null]",te="[object Object]",cs="[object Promise]",da="[object Proxy]",vi="[object RegExp]",Mt="[object Set]",Or="[object String]",fn="[object Symbol]",no="[object Undefined]",Mr="[object WeakMap]",so="[object WeakSet]",nr="[object ArrayBuffer]",Fi="[object DataView]",pn="[object Float32Array]",dn="[object Float64Array]",sr="[object Int8Array]",Br="[object Int16Array]",fs="[object Int32Array]",ps="[object Uint8Array]",ds="[object Uint8ClampedArray]",gs="[object Uint16Array]",ms="[object Uint32Array]",gn=/\b__p \+= '';/g,ao=/\b(__p \+=) '' \+/g,uo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ys=/&(?:amp|lt|gt|quot|#39);/g,vs=/[&<>"']/g,xs=RegExp(ys.source),oo=RegExp(vs.source),lo=/<%-([\s\S]+?)%>/g,ho=/<%([\s\S]+?)%>/g,Es=/<%=([\s\S]+?)%>/g,co=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,fo=/^\w*$/,po=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ar=/[\\^$.*+?()[\]{}|]/g,go=RegExp(ar.source),As=/^\s+/,ga=/\s/,bs=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,mo=/\{\n\/\* \[wrapped with (.+)\] \*/,ma=/,? & /,yo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ya=/[()=,{}\[\]\/\s]/,va=/\\(\\)?/g,xa=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ws=/\w*$/,Ts=/^[-+]0x[0-9a-f]+$/i,Ui=/^0b[01]+$/i,Ir=/^\[object .+?Constructor\]$/,Pr=/^0o[0-7]+$/i,mn=/^(?:0|[1-9]\d*)$/,_s=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yn=/($^)/,vo=/['\n\r\u2028\u2029\\]/g,ki="\\ud800-\\udfff",xe="\\u0300-\\u036f",ur="\\ufe20-\\ufe2f",xi="\\u20d0-\\u20ff",Ue=xe+ur+xi,or="\\u2700-\\u27bf",Se="a-z\\xdf-\\xf6\\xf8-\\xff",si="\\xac\\xb1\\xd7\\xf7",Ea="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Aa="\\u2000-\\u206f",vn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ee="A-Z\\xc0-\\xd6\\xd8-\\xde",Lr="\\ufe0e\\ufe0f",xn=si+Ea+Aa+vn,Rr="['’]",Cs="["+ki+"]",En="["+xn+"]",qi="["+Ue+"]",ai="\\d+",xo="["+or+"]",Ss="["+Se+"]",An="[^"+ki+xn+ai+or+Se+Ee+"]",bn="\\ud83c[\\udffb-\\udfff]",Eo="(?:"+qi+"|"+bn+")",ba="[^"+ki+"]",g="(?:\\ud83c[\\udde6-\\uddff]){2}",x="[\\ud800-\\udbff][\\udc00-\\udfff]",w="["+Ee+"]",O="\\u200d",H="(?:"+Ss+"|"+An+")",Y="(?:"+w+"|"+An+")",ot="(?:"+Rr+"(?:d|ll|m|re|s|t|ve))?",kt="(?:"+Rr+"(?:D|LL|M|RE|S|T|VE))?",Vt=Eo+"?",Yt="["+Lr+"]?",ke="(?:"+O+"(?:"+[ba,g,x].join("|")+")"+Yt+Vt+")*",vm="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",xm="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Lc=Yt+Vt+ke,Em="(?:"+[xo,g,x].join("|")+")"+Lc,Am="(?:"+[ba+qi+"?",qi,g,x,Cs].join("|")+")",bm=RegExp(Rr,"g"),wm=RegExp(qi,"g"),Ao=RegExp(bn+"(?="+bn+")|"+Am+Lc,"g"),Tm=RegExp([w+"?"+Ss+"+"+ot+"(?="+[En,w,"$"].join("|")+")",Y+"+"+kt+"(?="+[En,w+H,"$"].join("|")+")",w+"?"+H+"+"+ot,w+"+"+kt,xm,vm,ai,Em].join("|"),"g"),_m=RegExp("["+O+ki+Ue+Lr+"]"),Cm=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Sm=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Dm=-1,Ot={};Ot[pn]=Ot[dn]=Ot[sr]=Ot[Br]=Ot[fs]=Ot[ps]=Ot[ds]=Ot[gs]=Ot[ms]=!0,Ot[ir]=Ot[cn]=Ot[nr]=Ot[Ce]=Ot[Fi]=Ot[St]=Ot[Ri]=Ot[yi]=Ot[jt]=Ot[ni]=Ot[te]=Ot[vi]=Ot[Mt]=Ot[Or]=Ot[Mr]=!1;var Dt={};Dt[ir]=Dt[cn]=Dt[nr]=Dt[Fi]=Dt[Ce]=Dt[St]=Dt[pn]=Dt[dn]=Dt[sr]=Dt[Br]=Dt[fs]=Dt[jt]=Dt[ni]=Dt[te]=Dt[vi]=Dt[Mt]=Dt[Or]=Dt[fn]=Dt[ps]=Dt[ds]=Dt[gs]=Dt[ms]=!0,Dt[Ri]=Dt[yi]=Dt[Mr]=!1;var Nm={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Om={"&":"&","<":"<",">":">",'"':""","'":"'"},Mm={"&":"&","<":"<",">":">",""":'"',"'":"'"},Bm={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Im=parseFloat,Pm=parseInt,Rc=typeof Fn=="object"&&Fn&&Fn.Object===Object&&Fn,Lm=typeof self=="object"&&self&&self.Object===Object&&self,ee=Rc||Lm||Function("return this")(),bo=t&&!t.nodeType&&t,Fr=bo&&!0&&n&&!n.nodeType&&n,Fc=Fr&&Fr.exports===bo,wo=Fc&&Rc.process,qe=function(){try{var C=Fr&&Fr.require&&Fr.require("util").types;return C||wo&&wo.binding&&wo.binding("util")}catch{}}(),Uc=qe&&qe.isArrayBuffer,kc=qe&&qe.isDate,qc=qe&&qe.isMap,Hc=qe&&qe.isRegExp,Wc=qe&&qe.isSet,Vc=qe&&qe.isTypedArray;function De(C,R,M){switch(M.length){case 0:return C.call(R);case 1:return C.call(R,M[0]);case 2:return C.call(R,M[0],M[1]);case 3:return C.call(R,M[0],M[1],M[2])}return C.apply(R,M)}function Rm(C,R,M,Q){for(var st=-1,vt=C==null?0:C.length;++st<vt;){var zt=C[st];R(Q,zt,M(zt),C)}return Q}function He(C,R){for(var M=-1,Q=C==null?0:C.length;++M<Q&&R(C[M],M,C)!==!1;);return C}function Fm(C,R){for(var M=C==null?0:C.length;M--&&R(C[M],M,C)!==!1;);return C}function zc(C,R){for(var M=-1,Q=C==null?0:C.length;++M<Q;)if(!R(C[M],M,C))return!1;return!0}function lr(C,R){for(var M=-1,Q=C==null?0:C.length,st=0,vt=[];++M<Q;){var zt=C[M];R(zt,M,C)&&(vt[st++]=zt)}return vt}function wa(C,R){var M=C==null?0:C.length;return!!M&&wn(C,R,0)>-1}function To(C,R,M){for(var Q=-1,st=C==null?0:C.length;++Q<st;)if(M(R,C[Q]))return!0;return!1}function Bt(C,R){for(var M=-1,Q=C==null?0:C.length,st=Array(Q);++M<Q;)st[M]=R(C[M],M,C);return st}function hr(C,R){for(var M=-1,Q=R.length,st=C.length;++M<Q;)C[st+M]=R[M];return C}function _o(C,R,M,Q){var st=-1,vt=C==null?0:C.length;for(Q&&vt&&(M=C[++st]);++st<vt;)M=R(M,C[st],st,C);return M}function Um(C,R,M,Q){var st=C==null?0:C.length;for(Q&&st&&(M=C[--st]);st--;)M=R(M,C[st],st,C);return M}function Co(C,R){for(var M=-1,Q=C==null?0:C.length;++M<Q;)if(R(C[M],M,C))return!0;return!1}var km=So("length");function qm(C){return C.split("")}function Hm(C){return C.match(yo)||[]}function $c(C,R,M){var Q;return M(C,function(st,vt,zt){if(R(st,vt,zt))return Q=vt,!1}),Q}function Ta(C,R,M,Q){for(var st=C.length,vt=M+(Q?1:-1);Q?vt--:++vt<st;)if(R(C[vt],vt,C))return vt;return-1}function wn(C,R,M){return R===R?jm(C,R,M):Ta(C,Gc,M)}function Wm(C,R,M,Q){for(var st=M-1,vt=C.length;++st<vt;)if(Q(C[st],R))return st;return-1}function Gc(C){return C!==C}function Xc(C,R){var M=C==null?0:C.length;return M?No(C,R)/M:hn}function So(C){return function(R){return R==null?e:R[C]}}function Do(C){return function(R){return C==null?e:C[R]}}function Yc(C,R,M,Q,st){return st(C,function(vt,zt,_t){M=Q?(Q=!1,vt):R(M,vt,zt,_t)}),M}function Vm(C,R){var M=C.length;for(C.sort(R);M--;)C[M]=C[M].value;return C}function No(C,R){for(var M,Q=-1,st=C.length;++Q<st;){var vt=R(C[Q]);vt!==e&&(M=M===e?vt:M+vt)}return M}function Oo(C,R){for(var M=-1,Q=Array(C);++M<C;)Q[M]=R(M);return Q}function zm(C,R){return Bt(R,function(M){return[M,C[M]]})}function Zc(C){return C&&C.slice(0,jc(C)+1).replace(As,"")}function Ne(C){return function(R){return C(R)}}function Mo(C,R){return Bt(R,function(M){return C[M]})}function Ds(C,R){return C.has(R)}function Kc(C,R){for(var M=-1,Q=C.length;++M<Q&&wn(R,C[M],0)>-1;);return M}function Qc(C,R){for(var M=C.length;M--&&wn(R,C[M],0)>-1;);return M}function $m(C,R){for(var M=C.length,Q=0;M--;)C[M]===R&&++Q;return Q}var Gm=Do(Nm),Xm=Do(Om);function Ym(C){return"\\"+Bm[C]}function Zm(C,R){return C==null?e:C[R]}function Tn(C){return _m.test(C)}function Km(C){return Cm.test(C)}function Qm(C){for(var R,M=[];!(R=C.next()).done;)M.push(R.value);return M}function Bo(C){var R=-1,M=Array(C.size);return C.forEach(function(Q,st){M[++R]=[st,Q]}),M}function Jc(C,R){return function(M){return C(R(M))}}function cr(C,R){for(var M=-1,Q=C.length,st=0,vt=[];++M<Q;){var zt=C[M];(zt===R||zt===v)&&(C[M]=v,vt[st++]=M)}return vt}function _a(C){var R=-1,M=Array(C.size);return C.forEach(function(Q){M[++R]=Q}),M}function Jm(C){var R=-1,M=Array(C.size);return C.forEach(function(Q){M[++R]=[Q,Q]}),M}function jm(C,R,M){for(var Q=M-1,st=C.length;++Q<st;)if(C[Q]===R)return Q;return-1}function t1(C,R,M){for(var Q=M+1;Q--;)if(C[Q]===R)return Q;return Q}function _n(C){return Tn(C)?i1(C):km(C)}function ui(C){return Tn(C)?r1(C):qm(C)}function jc(C){for(var R=C.length;R--&&ga.test(C.charAt(R)););return R}var e1=Do(Mm);function i1(C){for(var R=Ao.lastIndex=0;Ao.test(C);)++R;return R}function r1(C){return C.match(Ao)||[]}function n1(C){return C.match(Tm)||[]}var s1=function C(R){R=R==null?ee:Cn.defaults(ee.Object(),R,Cn.pick(ee,Sm));var M=R.Array,Q=R.Date,st=R.Error,vt=R.Function,zt=R.Math,_t=R.Object,Io=R.RegExp,a1=R.String,We=R.TypeError,Ca=M.prototype,u1=vt.prototype,Sn=_t.prototype,Sa=R["__core-js_shared__"],Da=u1.toString,wt=Sn.hasOwnProperty,o1=0,tf=function(){var i=/[^.]+$/.exec(Sa&&Sa.keys&&Sa.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}(),Na=Sn.toString,l1=Da.call(_t),h1=ee._,c1=Io("^"+Da.call(wt).replace(ar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Oa=Fc?R.Buffer:e,fr=R.Symbol,Ma=R.Uint8Array,ef=Oa?Oa.allocUnsafe:e,Ba=Jc(_t.getPrototypeOf,_t),rf=_t.create,nf=Sn.propertyIsEnumerable,Ia=Ca.splice,sf=fr?fr.isConcatSpreadable:e,Ns=fr?fr.iterator:e,Ur=fr?fr.toStringTag:e,Pa=function(){try{var i=Vr(_t,"defineProperty");return i({},"",{}),i}catch{}}(),f1=R.clearTimeout!==ee.clearTimeout&&R.clearTimeout,p1=Q&&Q.now!==ee.Date.now&&Q.now,d1=R.setTimeout!==ee.setTimeout&&R.setTimeout,La=zt.ceil,Ra=zt.floor,Po=_t.getOwnPropertySymbols,g1=Oa?Oa.isBuffer:e,af=R.isFinite,m1=Ca.join,y1=Jc(_t.keys,_t),$t=zt.max,ae=zt.min,v1=Q.now,x1=R.parseInt,uf=zt.random,E1=Ca.reverse,Lo=Vr(R,"DataView"),Os=Vr(R,"Map"),Ro=Vr(R,"Promise"),Dn=Vr(R,"Set"),Ms=Vr(R,"WeakMap"),Bs=Vr(_t,"create"),Fa=Ms&&new Ms,Nn={},A1=zr(Lo),b1=zr(Os),w1=zr(Ro),T1=zr(Dn),_1=zr(Ms),Ua=fr?fr.prototype:e,Is=Ua?Ua.valueOf:e,of=Ua?Ua.toString:e;function m(i){if(Rt(i)&&!at(i)&&!(i instanceof pt)){if(i instanceof Ve)return i;if(wt.call(i,"__wrapped__"))return lp(i)}return new Ve(i)}var On=function(){function i(){}return function(s){if(!Lt(s))return{};if(rf)return rf(s);i.prototype=s;var o=new i;return i.prototype=e,o}}();function ka(){}function Ve(i,s){this.__wrapped__=i,this.__actions__=[],this.__chain__=!!s,this.__index__=0,this.__values__=e}m.templateSettings={escape:lo,evaluate:ho,interpolate:Es,variable:"",imports:{_:m}},m.prototype=ka.prototype,m.prototype.constructor=m,Ve.prototype=On(ka.prototype),Ve.prototype.constructor=Ve;function pt(i){this.__wrapped__=i,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Re,this.__views__=[]}function C1(){var i=new pt(this.__wrapped__);return i.__actions__=Ae(this.__actions__),i.__dir__=this.__dir__,i.__filtered__=this.__filtered__,i.__iteratees__=Ae(this.__iteratees__),i.__takeCount__=this.__takeCount__,i.__views__=Ae(this.__views__),i}function S1(){if(this.__filtered__){var i=new pt(this);i.__dir__=-1,i.__filtered__=!0}else i=this.clone(),i.__dir__*=-1;return i}function D1(){var i=this.__wrapped__.value(),s=this.__dir__,o=at(i),h=s<0,p=o?i.length:0,y=qy(0,p,this.__views__),b=y.start,_=y.end,N=_-b,F=h?_:b-1,U=this.__iteratees__,q=U.length,G=0,j=ae(N,this.__takeCount__);if(!o||!h&&p==N&&j==N)return Bf(i,this.__actions__);var it=[];t:for(;N--&&G<j;){F+=s;for(var lt=-1,rt=i[F];++lt<q;){var ft=U[lt],dt=ft.iteratee,Be=ft.type,de=dt(rt);if(Be==yt)rt=de;else if(!de){if(Be==Ct)continue t;break t}}it[G++]=rt}return it}pt.prototype=On(ka.prototype),pt.prototype.constructor=pt;function kr(i){var s=-1,o=i==null?0:i.length;for(this.clear();++s<o;){var h=i[s];this.set(h[0],h[1])}}function N1(){this.__data__=Bs?Bs(null):{},this.size=0}function O1(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}function M1(i){var s=this.__data__;if(Bs){var o=s[i];return o===f?e:o}return wt.call(s,i)?s[i]:e}function B1(i){var s=this.__data__;return Bs?s[i]!==e:wt.call(s,i)}function I1(i,s){var o=this.__data__;return this.size+=this.has(i)?0:1,o[i]=Bs&&s===e?f:s,this}kr.prototype.clear=N1,kr.prototype.delete=O1,kr.prototype.get=M1,kr.prototype.has=B1,kr.prototype.set=I1;function Hi(i){var s=-1,o=i==null?0:i.length;for(this.clear();++s<o;){var h=i[s];this.set(h[0],h[1])}}function P1(){this.__data__=[],this.size=0}function L1(i){var s=this.__data__,o=qa(s,i);if(o<0)return!1;var h=s.length-1;return o==h?s.pop():Ia.call(s,o,1),--this.size,!0}function R1(i){var s=this.__data__,o=qa(s,i);return o<0?e:s[o][1]}function F1(i){return qa(this.__data__,i)>-1}function U1(i,s){var o=this.__data__,h=qa(o,i);return h<0?(++this.size,o.push([i,s])):o[h][1]=s,this}Hi.prototype.clear=P1,Hi.prototype.delete=L1,Hi.prototype.get=R1,Hi.prototype.has=F1,Hi.prototype.set=U1;function Wi(i){var s=-1,o=i==null?0:i.length;for(this.clear();++s<o;){var h=i[s];this.set(h[0],h[1])}}function k1(){this.size=0,this.__data__={hash:new kr,map:new(Os||Hi),string:new kr}}function q1(i){var s=Ja(this,i).delete(i);return this.size-=s?1:0,s}function H1(i){return Ja(this,i).get(i)}function W1(i){return Ja(this,i).has(i)}function V1(i,s){var o=Ja(this,i),h=o.size;return o.set(i,s),this.size+=o.size==h?0:1,this}Wi.prototype.clear=k1,Wi.prototype.delete=q1,Wi.prototype.get=H1,Wi.prototype.has=W1,Wi.prototype.set=V1;function qr(i){var s=-1,o=i==null?0:i.length;for(this.__data__=new Wi;++s<o;)this.add(i[s])}function z1(i){return this.__data__.set(i,f),this}function $1(i){return this.__data__.has(i)}qr.prototype.add=qr.prototype.push=z1,qr.prototype.has=$1;function oi(i){var s=this.__data__=new Hi(i);this.size=s.size}function G1(){this.__data__=new Hi,this.size=0}function X1(i){var s=this.__data__,o=s.delete(i);return this.size=s.size,o}function Y1(i){return this.__data__.get(i)}function Z1(i){return this.__data__.has(i)}function K1(i,s){var o=this.__data__;if(o instanceof Hi){var h=o.__data__;if(!Os||h.length<a-1)return h.push([i,s]),this.size=++o.size,this;o=this.__data__=new Wi(h)}return o.set(i,s),this.size=o.size,this}oi.prototype.clear=G1,oi.prototype.delete=X1,oi.prototype.get=Y1,oi.prototype.has=Z1,oi.prototype.set=K1;function lf(i,s){var o=at(i),h=!o&&$r(i),p=!o&&!h&&yr(i),y=!o&&!h&&!p&&Pn(i),b=o||h||p||y,_=b?Oo(i.length,a1):[],N=_.length;for(var F in i)(s||wt.call(i,F))&&!(b&&(F=="length"||p&&(F=="offset"||F=="parent")||y&&(F=="buffer"||F=="byteLength"||F=="byteOffset")||Gi(F,N)))&&_.push(F);return _}function hf(i){var s=i.length;return s?i[Xo(0,s-1)]:e}function Q1(i,s){return ja(Ae(i),Hr(s,0,i.length))}function J1(i){return ja(Ae(i))}function Fo(i,s,o){(o!==e&&!li(i[s],o)||o===e&&!(s in i))&&Vi(i,s,o)}function Ps(i,s,o){var h=i[s];(!(wt.call(i,s)&&li(h,o))||o===e&&!(s in i))&&Vi(i,s,o)}function qa(i,s){for(var o=i.length;o--;)if(li(i[o][0],s))return o;return-1}function j1(i,s,o,h){return pr(i,function(p,y,b){s(h,p,o(p),b)}),h}function cf(i,s){return i&&Ai(s,Zt(s),i)}function ty(i,s){return i&&Ai(s,we(s),i)}function Vi(i,s,o){s=="__proto__"&&Pa?Pa(i,s,{configurable:!0,enumerable:!0,value:o,writable:!0}):i[s]=o}function Uo(i,s){for(var o=-1,h=s.length,p=M(h),y=i==null;++o<h;)p[o]=y?e:vl(i,s[o]);return p}function Hr(i,s,o){return i===i&&(o!==e&&(i=i<=o?i:o),s!==e&&(i=i>=s?i:s)),i}function ze(i,s,o,h,p,y){var b,_=s&E,N=s&A,F=s&T;if(o&&(b=p?o(i,h,p,y):o(i)),b!==e)return b;if(!Lt(i))return i;var U=at(i);if(U){if(b=Wy(i),!_)return Ae(i,b)}else{var q=ue(i),G=q==yi||q==rr;if(yr(i))return Lf(i,_);if(q==te||q==ir||G&&!p){if(b=N||G?{}:tp(i),!_)return N?My(i,ty(b,i)):Oy(i,cf(b,i))}else{if(!Dt[q])return p?i:{};b=Vy(i,q,_)}}y||(y=new oi);var j=y.get(i);if(j)return j;y.set(i,b),Np(i)?i.forEach(function(rt){b.add(ze(rt,s,o,rt,i,y))}):Sp(i)&&i.forEach(function(rt,ft){b.set(ft,ze(rt,s,o,ft,i,y))});var it=F?N?nl:rl:N?we:Zt,lt=U?e:it(i);return He(lt||i,function(rt,ft){lt&&(ft=rt,rt=i[ft]),Ps(b,ft,ze(rt,s,o,ft,i,y))}),b}function ey(i){var s=Zt(i);return function(o){return ff(o,i,s)}}function ff(i,s,o){var h=o.length;if(i==null)return!h;for(i=_t(i);h--;){var p=o[h],y=s[p],b=i[p];if(b===e&&!(p in i)||!y(b))return!1}return!0}function pf(i,s,o){if(typeof i!="function")throw new We(l);return Hs(function(){i.apply(e,o)},s)}function Ls(i,s,o,h){var p=-1,y=wa,b=!0,_=i.length,N=[],F=s.length;if(!_)return N;o&&(s=Bt(s,Ne(o))),h?(y=To,b=!1):s.length>=a&&(y=Ds,b=!1,s=new qr(s));t:for(;++p<_;){var U=i[p],q=o==null?U:o(U);if(U=h||U!==0?U:0,b&&q===q){for(var G=F;G--;)if(s[G]===q)continue t;N.push(U)}else y(s,q,h)||N.push(U)}return N}var pr=qf(Ei),df=qf(qo,!0);function iy(i,s){var o=!0;return pr(i,function(h,p,y){return o=!!s(h,p,y),o}),o}function Ha(i,s,o){for(var h=-1,p=i.length;++h<p;){var y=i[h],b=s(y);if(b!=null&&(_===e?b===b&&!Me(b):o(b,_)))var _=b,N=y}return N}function ry(i,s,o,h){var p=i.length;for(o=ut(o),o<0&&(o=-o>p?0:p+o),h=h===e||h>p?p:ut(h),h<0&&(h+=p),h=o>h?0:Mp(h);o<h;)i[o++]=s;return i}function gf(i,s){var o=[];return pr(i,function(h,p,y){s(h,p,y)&&o.push(h)}),o}function ie(i,s,o,h,p){var y=-1,b=i.length;for(o||(o=$y),p||(p=[]);++y<b;){var _=i[y];s>0&&o(_)?s>1?ie(_,s-1,o,h,p):hr(p,_):h||(p[p.length]=_)}return p}var ko=Hf(),mf=Hf(!0);function Ei(i,s){return i&&ko(i,s,Zt)}function qo(i,s){return i&&mf(i,s,Zt)}function Wa(i,s){return lr(s,function(o){return Xi(i[o])})}function Wr(i,s){s=gr(s,i);for(var o=0,h=s.length;i!=null&&o<h;)i=i[bi(s[o++])];return o&&o==h?i:e}function yf(i,s,o){var h=s(i);return at(i)?h:hr(h,o(i))}function fe(i){return i==null?i===e?no:Fe:Ur&&Ur in _t(i)?ky(i):Jy(i)}function Ho(i,s){return i>s}function ny(i,s){return i!=null&&wt.call(i,s)}function sy(i,s){return i!=null&&s in _t(i)}function ay(i,s,o){return i>=ae(s,o)&&i<$t(s,o)}function Wo(i,s,o){for(var h=o?To:wa,p=i[0].length,y=i.length,b=y,_=M(y),N=1/0,F=[];b--;){var U=i[b];b&&s&&(U=Bt(U,Ne(s))),N=ae(U.length,N),_[b]=!o&&(s||p>=120&&U.length>=120)?new qr(b&&U):e}U=i[0];var q=-1,G=_[0];t:for(;++q<p&&F.length<N;){var j=U[q],it=s?s(j):j;if(j=o||j!==0?j:0,!(G?Ds(G,it):h(F,it,o))){for(b=y;--b;){var lt=_[b];if(!(lt?Ds(lt,it):h(i[b],it,o)))continue t}G&&G.push(it),F.push(j)}}return F}function uy(i,s,o,h){return Ei(i,function(p,y,b){s(h,o(p),y,b)}),h}function Rs(i,s,o){s=gr(s,i),i=np(i,s);var h=i==null?i:i[bi(Ge(s))];return h==null?e:De(h,i,o)}function vf(i){return Rt(i)&&fe(i)==ir}function oy(i){return Rt(i)&&fe(i)==nr}function ly(i){return Rt(i)&&fe(i)==St}function Fs(i,s,o,h,p){return i===s?!0:i==null||s==null||!Rt(i)&&!Rt(s)?i!==i&&s!==s:hy(i,s,o,h,Fs,p)}function hy(i,s,o,h,p,y){var b=at(i),_=at(s),N=b?cn:ue(i),F=_?cn:ue(s);N=N==ir?te:N,F=F==ir?te:F;var U=N==te,q=F==te,G=N==F;if(G&&yr(i)){if(!yr(s))return!1;b=!0,U=!1}if(G&&!U)return y||(y=new oi),b||Pn(i)?Qf(i,s,o,h,p,y):Fy(i,s,N,o,h,p,y);if(!(o&I)){var j=U&&wt.call(i,"__wrapped__"),it=q&&wt.call(s,"__wrapped__");if(j||it){var lt=j?i.value():i,rt=it?s.value():s;return y||(y=new oi),p(lt,rt,o,h,y)}}return G?(y||(y=new oi),Uy(i,s,o,h,p,y)):!1}function cy(i){return Rt(i)&&ue(i)==jt}function Vo(i,s,o,h){var p=o.length,y=p,b=!h;if(i==null)return!y;for(i=_t(i);p--;){var _=o[p];if(b&&_[2]?_[1]!==i[_[0]]:!(_[0]in i))return!1}for(;++p<y;){_=o[p];var N=_[0],F=i[N],U=_[1];if(b&&_[2]){if(F===e&&!(N in i))return!1}else{var q=new oi;if(h)var G=h(F,U,N,i,s,q);if(!(G===e?Fs(U,F,I|S,h,q):G))return!1}}return!0}function xf(i){if(!Lt(i)||Xy(i))return!1;var s=Xi(i)?c1:Ir;return s.test(zr(i))}function fy(i){return Rt(i)&&fe(i)==vi}function py(i){return Rt(i)&&ue(i)==Mt}function dy(i){return Rt(i)&&su(i.length)&&!!Ot[fe(i)]}function Ef(i){return typeof i=="function"?i:i==null?Te:typeof i=="object"?at(i)?wf(i[0],i[1]):bf(i):Wp(i)}function zo(i){if(!qs(i))return y1(i);var s=[];for(var o in _t(i))wt.call(i,o)&&o!="constructor"&&s.push(o);return s}function gy(i){if(!Lt(i))return Qy(i);var s=qs(i),o=[];for(var h in i)h=="constructor"&&(s||!wt.call(i,h))||o.push(h);return o}function $o(i,s){return i<s}function Af(i,s){var o=-1,h=be(i)?M(i.length):[];return pr(i,function(p,y,b){h[++o]=s(p,y,b)}),h}function bf(i){var s=al(i);return s.length==1&&s[0][2]?ip(s[0][0],s[0][1]):function(o){return o===i||Vo(o,i,s)}}function wf(i,s){return ol(i)&&ep(s)?ip(bi(i),s):function(o){var h=vl(o,i);return h===e&&h===s?xl(o,i):Fs(s,h,I|S)}}function Va(i,s,o,h,p){i!==s&&ko(s,function(y,b){if(p||(p=new oi),Lt(y))my(i,s,b,o,Va,h,p);else{var _=h?h(hl(i,b),y,b+"",i,s,p):e;_===e&&(_=y),Fo(i,b,_)}},we)}function my(i,s,o,h,p,y,b){var _=hl(i,o),N=hl(s,o),F=b.get(N);if(F){Fo(i,o,F);return}var U=y?y(_,N,o+"",i,s,b):e,q=U===e;if(q){var G=at(N),j=!G&&yr(N),it=!G&&!j&&Pn(N);U=N,G||j||it?at(_)?U=_:qt(_)?U=Ae(_):j?(q=!1,U=Lf(N,!0)):it?(q=!1,U=Rf(N,!0)):U=[]:Ws(N)||$r(N)?(U=_,$r(_)?U=Bp(_):(!Lt(_)||Xi(_))&&(U=tp(N))):q=!1}q&&(b.set(N,U),p(U,N,h,y,b),b.delete(N)),Fo(i,o,U)}function Tf(i,s){var o=i.length;if(o)return s+=s<0?o:0,Gi(s,o)?i[s]:e}function _f(i,s,o){s.length?s=Bt(s,function(y){return at(y)?function(b){return Wr(b,y.length===1?y[0]:y)}:y}):s=[Te];var h=-1;s=Bt(s,Ne(et()));var p=Af(i,function(y,b,_){var N=Bt(s,function(F){return F(y)});return{criteria:N,index:++h,value:y}});return Vm(p,function(y,b){return Ny(y,b,o)})}function yy(i,s){return Cf(i,s,function(o,h){return xl(i,h)})}function Cf(i,s,o){for(var h=-1,p=s.length,y={};++h<p;){var b=s[h],_=Wr(i,b);o(_,b)&&Us(y,gr(b,i),_)}return y}function vy(i){return function(s){return Wr(s,i)}}function Go(i,s,o,h){var p=h?Wm:wn,y=-1,b=s.length,_=i;for(i===s&&(s=Ae(s)),o&&(_=Bt(i,Ne(o)));++y<b;)for(var N=0,F=s[y],U=o?o(F):F;(N=p(_,U,N,h))>-1;)_!==i&&Ia.call(_,N,1),Ia.call(i,N,1);return i}function Sf(i,s){for(var o=i?s.length:0,h=o-1;o--;){var p=s[o];if(o==h||p!==y){var y=p;Gi(p)?Ia.call(i,p,1):Ko(i,p)}}return i}function Xo(i,s){return i+Ra(uf()*(s-i+1))}function xy(i,s,o,h){for(var p=-1,y=$t(La((s-i)/(o||1)),0),b=M(y);y--;)b[h?y:++p]=i,i+=o;return b}function Yo(i,s){var o="";if(!i||s<1||s>Le)return o;do s%2&&(o+=i),s=Ra(s/2),s&&(i+=i);while(s);return o}function ct(i,s){return cl(rp(i,s,Te),i+"")}function Ey(i){return hf(Ln(i))}function Ay(i,s){var o=Ln(i);return ja(o,Hr(s,0,o.length))}function Us(i,s,o,h){if(!Lt(i))return i;s=gr(s,i);for(var p=-1,y=s.length,b=y-1,_=i;_!=null&&++p<y;){var N=bi(s[p]),F=o;if(N==="__proto__"||N==="constructor"||N==="prototype")return i;if(p!=b){var U=_[N];F=h?h(U,N,_):e,F===e&&(F=Lt(U)?U:Gi(s[p+1])?[]:{})}Ps(_,N,F),_=_[N]}return i}var Df=Fa?function(i,s){return Fa.set(i,s),i}:Te,by=Pa?function(i,s){return Pa(i,"toString",{configurable:!0,enumerable:!1,value:Al(s),writable:!0})}:Te;function wy(i){return ja(Ln(i))}function $e(i,s,o){var h=-1,p=i.length;s<0&&(s=-s>p?0:p+s),o=o>p?p:o,o<0&&(o+=p),p=s>o?0:o-s>>>0,s>>>=0;for(var y=M(p);++h<p;)y[h]=i[h+s];return y}function Ty(i,s){var o;return pr(i,function(h,p,y){return o=s(h,p,y),!o}),!!o}function za(i,s,o){var h=0,p=i==null?h:i.length;if(typeof s=="number"&&s===s&&p<=ro){for(;h<p;){var y=h+p>>>1,b=i[y];b!==null&&!Me(b)&&(o?b<=s:b<s)?h=y+1:p=y}return p}return Zo(i,s,Te,o)}function Zo(i,s,o,h){var p=0,y=i==null?0:i.length;if(y===0)return 0;s=o(s);for(var b=s!==s,_=s===null,N=Me(s),F=s===e;p<y;){var U=Ra((p+y)/2),q=o(i[U]),G=q!==e,j=q===null,it=q===q,lt=Me(q);if(b)var rt=h||it;else F?rt=it&&(h||G):_?rt=it&&G&&(h||!j):N?rt=it&&G&&!j&&(h||!lt):j||lt?rt=!1:rt=h?q<=s:q<s;rt?p=U+1:y=U}return ae(y,Nr)}function Nf(i,s){for(var o=-1,h=i.length,p=0,y=[];++o<h;){var b=i[o],_=s?s(b):b;if(!o||!li(_,N)){var N=_;y[p++]=b===0?0:b}}return y}function Of(i){return typeof i=="number"?i:Me(i)?hn:+i}function Oe(i){if(typeof i=="string")return i;if(at(i))return Bt(i,Oe)+"";if(Me(i))return of?of.call(i):"";var s=i+"";return s=="0"&&1/i==-Pt?"-0":s}function dr(i,s,o){var h=-1,p=wa,y=i.length,b=!0,_=[],N=_;if(o)b=!1,p=To;else if(y>=a){var F=s?null:Ly(i);if(F)return _a(F);b=!1,p=Ds,N=new qr}else N=s?[]:_;t:for(;++h<y;){var U=i[h],q=s?s(U):U;if(U=o||U!==0?U:0,b&&q===q){for(var G=N.length;G--;)if(N[G]===q)continue t;s&&N.push(q),_.push(U)}else p(N,q,o)||(N!==_&&N.push(q),_.push(U))}return _}function Ko(i,s){return s=gr(s,i),i=np(i,s),i==null||delete i[bi(Ge(s))]}function Mf(i,s,o,h){return Us(i,s,o(Wr(i,s)),h)}function $a(i,s,o,h){for(var p=i.length,y=h?p:-1;(h?y--:++y<p)&&s(i[y],y,i););return o?$e(i,h?0:y,h?y+1:p):$e(i,h?y+1:0,h?p:y)}function Bf(i,s){var o=i;return o instanceof pt&&(o=o.value()),_o(s,function(h,p){return p.func.apply(p.thisArg,hr([h],p.args))},o)}function Qo(i,s,o){var h=i.length;if(h<2)return h?dr(i[0]):[];for(var p=-1,y=M(h);++p<h;)for(var b=i[p],_=-1;++_<h;)_!=p&&(y[p]=Ls(y[p]||b,i[_],s,o));return dr(ie(y,1),s,o)}function If(i,s,o){for(var h=-1,p=i.length,y=s.length,b={};++h<p;){var _=h<y?s[h]:e;o(b,i[h],_)}return b}function Jo(i){return qt(i)?i:[]}function jo(i){return typeof i=="function"?i:Te}function gr(i,s){return at(i)?i:ol(i,s)?[i]:op(Et(i))}var _y=ct;function mr(i,s,o){var h=i.length;return o=o===e?h:o,!s&&o>=h?i:$e(i,s,o)}var Pf=f1||function(i){return ee.clearTimeout(i)};function Lf(i,s){if(s)return i.slice();var o=i.length,h=ef?ef(o):new i.constructor(o);return i.copy(h),h}function tl(i){var s=new i.constructor(i.byteLength);return new Ma(s).set(new Ma(i)),s}function Cy(i,s){var o=s?tl(i.buffer):i.buffer;return new i.constructor(o,i.byteOffset,i.byteLength)}function Sy(i){var s=new i.constructor(i.source,ws.exec(i));return s.lastIndex=i.lastIndex,s}function Dy(i){return Is?_t(Is.call(i)):{}}function Rf(i,s){var o=s?tl(i.buffer):i.buffer;return new i.constructor(o,i.byteOffset,i.length)}function Ff(i,s){if(i!==s){var o=i!==e,h=i===null,p=i===i,y=Me(i),b=s!==e,_=s===null,N=s===s,F=Me(s);if(!_&&!F&&!y&&i>s||y&&b&&N&&!_&&!F||h&&b&&N||!o&&N||!p)return 1;if(!h&&!y&&!F&&i<s||F&&o&&p&&!h&&!y||_&&o&&p||!b&&p||!N)return-1}return 0}function Ny(i,s,o){for(var h=-1,p=i.criteria,y=s.criteria,b=p.length,_=o.length;++h<b;){var N=Ff(p[h],y[h]);if(N){if(h>=_)return N;var F=o[h];return N*(F=="desc"?-1:1)}}return i.index-s.index}function Uf(i,s,o,h){for(var p=-1,y=i.length,b=o.length,_=-1,N=s.length,F=$t(y-b,0),U=M(N+F),q=!h;++_<N;)U[_]=s[_];for(;++p<b;)(q||p<y)&&(U[o[p]]=i[p]);for(;F--;)U[_++]=i[p++];return U}function kf(i,s,o,h){for(var p=-1,y=i.length,b=-1,_=o.length,N=-1,F=s.length,U=$t(y-_,0),q=M(U+F),G=!h;++p<U;)q[p]=i[p];for(var j=p;++N<F;)q[j+N]=s[N];for(;++b<_;)(G||p<y)&&(q[j+o[b]]=i[p++]);return q}function Ae(i,s){var o=-1,h=i.length;for(s||(s=M(h));++o<h;)s[o]=i[o];return s}function Ai(i,s,o,h){var p=!o;o||(o={});for(var y=-1,b=s.length;++y<b;){var _=s[y],N=h?h(o[_],i[_],_,o,i):e;N===e&&(N=i[_]),p?Vi(o,_,N):Ps(o,_,N)}return o}function Oy(i,s){return Ai(i,ul(i),s)}function My(i,s){return Ai(i,Jf(i),s)}function Ga(i,s){return function(o,h){var p=at(o)?Rm:j1,y=s?s():{};return p(o,i,et(h,2),y)}}function Mn(i){return ct(function(s,o){var h=-1,p=o.length,y=p>1?o[p-1]:e,b=p>2?o[2]:e;for(y=i.length>3&&typeof y=="function"?(p--,y):e,b&&pe(o[0],o[1],b)&&(y=p<3?e:y,p=1),s=_t(s);++h<p;){var _=o[h];_&&i(s,_,h,y)}return s})}function qf(i,s){return function(o,h){if(o==null)return o;if(!be(o))return i(o,h);for(var p=o.length,y=s?p:-1,b=_t(o);(s?y--:++y<p)&&h(b[y],y,b)!==!1;);return o}}function Hf(i){return function(s,o,h){for(var p=-1,y=_t(s),b=h(s),_=b.length;_--;){var N=b[i?_:++p];if(o(y[N],N,y)===!1)break}return s}}function By(i,s,o){var h=s&D,p=ks(i);function y(){var b=this&&this!==ee&&this instanceof y?p:i;return b.apply(h?o:this,arguments)}return y}function Wf(i){return function(s){s=Et(s);var o=Tn(s)?ui(s):e,h=o?o[0]:s.charAt(0),p=o?mr(o,1).join(""):s.slice(1);return h[i]()+p}}function Bn(i){return function(s){return _o(qp(kp(s).replace(bm,"")),i,"")}}function ks(i){return function(){var s=arguments;switch(s.length){case 0:return new i;case 1:return new i(s[0]);case 2:return new i(s[0],s[1]);case 3:return new i(s[0],s[1],s[2]);case 4:return new i(s[0],s[1],s[2],s[3]);case 5:return new i(s[0],s[1],s[2],s[3],s[4]);case 6:return new i(s[0],s[1],s[2],s[3],s[4],s[5]);case 7:return new i(s[0],s[1],s[2],s[3],s[4],s[5],s[6])}var o=On(i.prototype),h=i.apply(o,s);return Lt(h)?h:o}}function Iy(i,s,o){var h=ks(i);function p(){for(var y=arguments.length,b=M(y),_=y,N=In(p);_--;)b[_]=arguments[_];var F=y<3&&b[0]!==N&&b[y-1]!==N?[]:cr(b,N);if(y-=F.length,y<o)return Xf(i,s,Xa,p.placeholder,e,b,F,e,e,o-y);var U=this&&this!==ee&&this instanceof p?h:i;return De(U,this,b)}return p}function Vf(i){return function(s,o,h){var p=_t(s);if(!be(s)){var y=et(o,3);s=Zt(s),o=function(_){return y(p[_],_,p)}}var b=i(s,o,h);return b>-1?p[y?s[b]:b]:e}}function zf(i){return $i(function(s){var o=s.length,h=o,p=Ve.prototype.thru;for(i&&s.reverse();h--;){var y=s[h];if(typeof y!="function")throw new We(l);if(p&&!b&&Qa(y)=="wrapper")var b=new Ve([],!0)}for(h=b?h:o;++h<o;){y=s[h];var _=Qa(y),N=_=="wrapper"?sl(y):e;N&&ll(N[0])&&N[1]==(tt|W|$|Z)&&!N[4].length&&N[9]==1?b=b[Qa(N[0])].apply(b,N[3]):b=y.length==1&&ll(y)?b[_]():b.thru(y)}return function(){var F=arguments,U=F[0];if(b&&F.length==1&&at(U))return b.plant(U).value();for(var q=0,G=o?s[q].apply(this,F):U;++q<o;)G=s[q].call(this,G);return G}})}function Xa(i,s,o,h,p,y,b,_,N,F){var U=s&tt,q=s&D,G=s&k,j=s&(W|X),it=s&V,lt=G?e:ks(i);function rt(){for(var ft=arguments.length,dt=M(ft),Be=ft;Be--;)dt[Be]=arguments[Be];if(j)var de=In(rt),Ie=$m(dt,de);if(h&&(dt=Uf(dt,h,p,j)),y&&(dt=kf(dt,y,b,j)),ft-=Ie,j&&ft<F){var Ht=cr(dt,de);return Xf(i,s,Xa,rt.placeholder,o,dt,Ht,_,N,F-ft)}var hi=q?o:this,Zi=G?hi[i]:i;return ft=dt.length,_?dt=jy(dt,_):it&&ft>1&&dt.reverse(),U&&N<ft&&(dt.length=N),this&&this!==ee&&this instanceof rt&&(Zi=lt||ks(Zi)),Zi.apply(hi,dt)}return rt}function $f(i,s){return function(o,h){return uy(o,i,s(h),{})}}function Ya(i,s){return function(o,h){var p;if(o===e&&h===e)return s;if(o!==e&&(p=o),h!==e){if(p===e)return h;typeof o=="string"||typeof h=="string"?(o=Oe(o),h=Oe(h)):(o=Of(o),h=Of(h)),p=i(o,h)}return p}}function el(i){return $i(function(s){return s=Bt(s,Ne(et())),ct(function(o){var h=this;return i(s,function(p){return De(p,h,o)})})})}function Za(i,s){s=s===e?" ":Oe(s);var o=s.length;if(o<2)return o?Yo(s,i):s;var h=Yo(s,La(i/_n(s)));return Tn(s)?mr(ui(h),0,i).join(""):h.slice(0,i)}function Py(i,s,o,h){var p=s&D,y=ks(i);function b(){for(var _=-1,N=arguments.length,F=-1,U=h.length,q=M(U+N),G=this&&this!==ee&&this instanceof b?y:i;++F<U;)q[F]=h[F];for(;N--;)q[F++]=arguments[++_];return De(G,p?o:this,q)}return b}function Gf(i){return function(s,o,h){return h&&typeof h!="number"&&pe(s,o,h)&&(o=h=e),s=Yi(s),o===e?(o=s,s=0):o=Yi(o),h=h===e?s<o?1:-1:Yi(h),xy(s,o,h,i)}}function Ka(i){return function(s,o){return typeof s=="string"&&typeof o=="string"||(s=Xe(s),o=Xe(o)),i(s,o)}}function Xf(i,s,o,h,p,y,b,_,N,F){var U=s&W,q=U?b:e,G=U?e:b,j=U?y:e,it=U?e:y;s|=U?$:K,s&=~(U?K:$),s&z||(s&=~(D|k));var lt=[i,s,p,j,q,it,G,_,N,F],rt=o.apply(e,lt);return ll(i)&&sp(rt,lt),rt.placeholder=h,ap(rt,i,s)}function il(i){var s=zt[i];return function(o,h){if(o=Xe(o),h=h==null?0:ae(ut(h),292),h&&af(o)){var p=(Et(o)+"e").split("e"),y=s(p[0]+"e"+(+p[1]+h));return p=(Et(y)+"e").split("e"),+(p[0]+"e"+(+p[1]-h))}return s(o)}}var Ly=Dn&&1/_a(new Dn([,-0]))[1]==Pt?function(i){return new Dn(i)}:Tl;function Yf(i){return function(s){var o=ue(s);return o==jt?Bo(s):o==Mt?Jm(s):zm(s,i(s))}}function zi(i,s,o,h,p,y,b,_){var N=s&k;if(!N&&typeof i!="function")throw new We(l);var F=h?h.length:0;if(F||(s&=~($|K),h=p=e),b=b===e?b:$t(ut(b),0),_=_===e?_:ut(_),F-=p?p.length:0,s&K){var U=h,q=p;h=p=e}var G=N?e:sl(i),j=[i,s,o,h,p,U,q,y,b,_];if(G&&Ky(j,G),i=j[0],s=j[1],o=j[2],h=j[3],p=j[4],_=j[9]=j[9]===e?N?0:i.length:$t(j[9]-F,0),!_&&s&(W|X)&&(s&=~(W|X)),!s||s==D)var it=By(i,s,o);else s==W||s==X?it=Iy(i,s,_):(s==$||s==(D|$))&&!p.length?it=Py(i,s,o,h):it=Xa.apply(e,j);var lt=G?Df:sp;return ap(lt(it,j),i,s)}function Zf(i,s,o,h){return i===e||li(i,Sn[o])&&!wt.call(h,o)?s:i}function Kf(i,s,o,h,p,y){return Lt(i)&&Lt(s)&&(y.set(s,i),Va(i,s,e,Kf,y),y.delete(s)),i}function Ry(i){return Ws(i)?e:i}function Qf(i,s,o,h,p,y){var b=o&I,_=i.length,N=s.length;if(_!=N&&!(b&&N>_))return!1;var F=y.get(i),U=y.get(s);if(F&&U)return F==s&&U==i;var q=-1,G=!0,j=o&S?new qr:e;for(y.set(i,s),y.set(s,i);++q<_;){var it=i[q],lt=s[q];if(h)var rt=b?h(lt,it,q,s,i,y):h(it,lt,q,i,s,y);if(rt!==e){if(rt)continue;G=!1;break}if(j){if(!Co(s,function(ft,dt){if(!Ds(j,dt)&&(it===ft||p(it,ft,o,h,y)))return j.push(dt)})){G=!1;break}}else if(!(it===lt||p(it,lt,o,h,y))){G=!1;break}}return y.delete(i),y.delete(s),G}function Fy(i,s,o,h,p,y,b){switch(o){case Fi:if(i.byteLength!=s.byteLength||i.byteOffset!=s.byteOffset)return!1;i=i.buffer,s=s.buffer;case nr:return!(i.byteLength!=s.byteLength||!y(new Ma(i),new Ma(s)));case Ce:case St:case ni:return li(+i,+s);case Ri:return i.name==s.name&&i.message==s.message;case vi:case Or:return i==s+"";case jt:var _=Bo;case Mt:var N=h&I;if(_||(_=_a),i.size!=s.size&&!N)return!1;var F=b.get(i);if(F)return F==s;h|=S,b.set(i,s);var U=Qf(_(i),_(s),h,p,y,b);return b.delete(i),U;case fn:if(Is)return Is.call(i)==Is.call(s)}return!1}function Uy(i,s,o,h,p,y){var b=o&I,_=rl(i),N=_.length,F=rl(s),U=F.length;if(N!=U&&!b)return!1;for(var q=N;q--;){var G=_[q];if(!(b?G in s:wt.call(s,G)))return!1}var j=y.get(i),it=y.get(s);if(j&&it)return j==s&&it==i;var lt=!0;y.set(i,s),y.set(s,i);for(var rt=b;++q<N;){G=_[q];var ft=i[G],dt=s[G];if(h)var Be=b?h(dt,ft,G,s,i,y):h(ft,dt,G,i,s,y);if(!(Be===e?ft===dt||p(ft,dt,o,h,y):Be)){lt=!1;break}rt||(rt=G=="constructor")}if(lt&&!rt){var de=i.constructor,Ie=s.constructor;de!=Ie&&"constructor"in i&&"constructor"in s&&!(typeof de=="function"&&de instanceof de&&typeof Ie=="function"&&Ie instanceof Ie)&&(lt=!1)}return y.delete(i),y.delete(s),lt}function $i(i){return cl(rp(i,e,fp),i+"")}function rl(i){return yf(i,Zt,ul)}function nl(i){return yf(i,we,Jf)}var sl=Fa?function(i){return Fa.get(i)}:Tl;function Qa(i){for(var s=i.name+"",o=Nn[s],h=wt.call(Nn,s)?o.length:0;h--;){var p=o[h],y=p.func;if(y==null||y==i)return p.name}return s}function In(i){var s=wt.call(m,"placeholder")?m:i;return s.placeholder}function et(){var i=m.iteratee||bl;return i=i===bl?Ef:i,arguments.length?i(arguments[0],arguments[1]):i}function Ja(i,s){var o=i.__data__;return Gy(s)?o[typeof s=="string"?"string":"hash"]:o.map}function al(i){for(var s=Zt(i),o=s.length;o--;){var h=s[o],p=i[h];s[o]=[h,p,ep(p)]}return s}function Vr(i,s){var o=Zm(i,s);return xf(o)?o:e}function ky(i){var s=wt.call(i,Ur),o=i[Ur];try{i[Ur]=e;var h=!0}catch{}var p=Na.call(i);return h&&(s?i[Ur]=o:delete i[Ur]),p}var ul=Po?function(i){return i==null?[]:(i=_t(i),lr(Po(i),function(s){return nf.call(i,s)}))}:_l,Jf=Po?function(i){for(var s=[];i;)hr(s,ul(i)),i=Ba(i);return s}:_l,ue=fe;(Lo&&ue(new Lo(new ArrayBuffer(1)))!=Fi||Os&&ue(new Os)!=jt||Ro&&ue(Ro.resolve())!=cs||Dn&&ue(new Dn)!=Mt||Ms&&ue(new Ms)!=Mr)&&(ue=function(i){var s=fe(i),o=s==te?i.constructor:e,h=o?zr(o):"";if(h)switch(h){case A1:return Fi;case b1:return jt;case w1:return cs;case T1:return Mt;case _1:return Mr}return s});function qy(i,s,o){for(var h=-1,p=o.length;++h<p;){var y=o[h],b=y.size;switch(y.type){case"drop":i+=b;break;case"dropRight":s-=b;break;case"take":s=ae(s,i+b);break;case"takeRight":i=$t(i,s-b);break}}return{start:i,end:s}}function Hy(i){var s=i.match(mo);return s?s[1].split(ma):[]}function jf(i,s,o){s=gr(s,i);for(var h=-1,p=s.length,y=!1;++h<p;){var b=bi(s[h]);if(!(y=i!=null&&o(i,b)))break;i=i[b]}return y||++h!=p?y:(p=i==null?0:i.length,!!p&&su(p)&&Gi(b,p)&&(at(i)||$r(i)))}function Wy(i){var s=i.length,o=new i.constructor(s);return s&&typeof i[0]=="string"&&wt.call(i,"index")&&(o.index=i.index,o.input=i.input),o}function tp(i){return typeof i.constructor=="function"&&!qs(i)?On(Ba(i)):{}}function Vy(i,s,o){var h=i.constructor;switch(s){case nr:return tl(i);case Ce:case St:return new h(+i);case Fi:return Cy(i,o);case pn:case dn:case sr:case Br:case fs:case ps:case ds:case gs:case ms:return Rf(i,o);case jt:return new h;case ni:case Or:return new h(i);case vi:return Sy(i);case Mt:return new h;case fn:return Dy(i)}}function zy(i,s){var o=s.length;if(!o)return i;var h=o-1;return s[h]=(o>1?"& ":"")+s[h],s=s.join(o>2?", ":" "),i.replace(bs,`{
|
|
14
13
|
/* [wrapped with `+s+`] */
|
|
15
|
-
`)}function $1(i){return at(i)||Vr(i)||!!(sf&&i&&i[sf])}function Gi(i,s){var o=typeof i;return s=s??Le,!!s&&(o=="number"||o!="symbol"&&gn.test(i))&&i>-1&&i%1==0&&i<s}function pe(i,s,o){if(!Lt(o))return!1;var h=typeof s;return(h=="number"?be(o)&&Gi(s,o.length):h=="string"&&s in o)?li(o[s],i):!1}function ll(i,s){if(at(i))return!1;var o=typeof i;return o=="number"||o=="symbol"||o=="boolean"||i==null||Oe(i)?!0:po.test(i)||!fo.test(i)||s!=null&&i in _t(s)}function G1(i){var s=typeof i;return s=="string"||s=="number"||s=="symbol"||s=="boolean"?i!=="__proto__":i===null}function hl(i){var s=Qa(i),o=m[s];if(typeof o!="function"||!(s in pt.prototype))return!1;if(i===o)return!0;var h=al(o);return!!h&&i===h[0]}function X1(i){return!!tf&&tf in i}var Y1=Sa?Xi:Sl;function ks(i){var s=i&&i.constructor,o=typeof s=="function"&&s.prototype||Cn;return i===o}function ep(i){return i===i&&!Lt(i)}function ip(i,s){return function(o){return o==null?!1:o[i]===s&&(s!==e||i in _t(o))}}function Z1(i){var s=ru(i,function(h){return o.size===d&&o.clear(),h}),o=s.cache;return s}function K1(i,s){var o=i[1],h=s[1],p=o|h,y=p<(D|k|tt),b=h==tt&&o==W||h==tt&&o==Z&&i[7].length<=s[8]||h==(tt|Z)&&s[7].length<=s[8]&&o==W;if(!(y||b))return i;h&D&&(i[2]=s[2],p|=o&D?0:V);var _=s[3];if(_){var N=i[3];i[3]=N?Uf(N,_,s[4]):_,i[4]=N?fr(i[3],v):s[4]}return _=s[5],_&&(N=i[5],i[5]=N?kf(N,_,s[6]):_,i[6]=N?fr(i[5],v):s[6]),_=s[7],_&&(i[7]=_),h&tt&&(i[8]=i[8]==null?s[8]:ae(i[8],s[8])),i[9]==null&&(i[9]=s[9]),i[0]=s[0],i[1]=p,i}function Q1(i){var s=[];if(i!=null)for(var o in _t(i))s.push(o);return s}function J1(i){return Na.call(i)}function rp(i,s,o){return s=$t(s===e?i.length-1:s,0),function(){for(var h=arguments,p=-1,y=$t(h.length-s,0),b=O(y);++p<y;)b[p]=h[s+p];p=-1;for(var _=O(s+1);++p<s;)_[p]=h[p];return _[s]=o(b),De(i,this,_)}}function np(i,s){return s.length<2?i:Hr(i,$e(s,0,-1))}function j1(i,s){for(var o=i.length,h=ae(s.length,o),p=Ae(i);h--;){var y=s[h];i[h]=Gi(y,o)?p[y]:e}return i}function cl(i,s){if(!(s==="constructor"&&typeof i[s]=="function")&&s!="__proto__")return i[s]}var sp=up(Df),qs=dy||function(i,s){return te.setTimeout(i,s)},fl=up(b1);function ap(i,s,o){var h=s+"";return fl(i,V1(h,tv(H1(h),o)))}function up(i){var s=0,o=0;return function(){var h=vy(),p=It-(h-o);if(o=h,p>0){if(++s>=mt)return arguments[0]}else s=0;return i.apply(e,arguments)}}function ja(i,s){var o=-1,h=i.length,p=h-1;for(s=s===e?h:s;++o<s;){var y=Yo(o,p),b=i[y];i[y]=i[o],i[o]=b}return i.length=s,i}var op=Z1(function(i){var s=[];return i.charCodeAt(0)===46&&s.push(""),i.replace(go,function(o,h,p,y){s.push(p?y.replace(va,"$1"):h||o)}),s});function bi(i){if(typeof i=="string"||Oe(i))return i;var s=i+"";return s=="0"&&1/i==-Pt?"-0":s}function zr(i){if(i!=null){try{return Da.call(i)}catch{}try{return i+""}catch{}}return""}function tv(i,s){return He(ls,function(o){var h="_."+o[0];s&o[1]&&!wa(i,h)&&i.push(h)}),i.sort()}function lp(i){if(i instanceof pt)return i.clone();var s=new ze(i.__wrapped__,i.__chain__);return s.__actions__=Ae(i.__actions__),s.__index__=i.__index__,s.__values__=i.__values__,s}function ev(i,s,o){(o?pe(i,s,o):s===e)?s=1:s=$t(ut(s),0);var h=i==null?0:i.length;if(!h||s<1)return[];for(var p=0,y=0,b=O(La(h/s));p<h;)b[y++]=$e(i,p,p+=s);return b}function iv(i){for(var s=-1,o=i==null?0:i.length,h=0,p=[];++s<o;){var y=i[s];y&&(p[h++]=y)}return p}function rv(){var i=arguments.length;if(!i)return[];for(var s=O(i-1),o=arguments[0],h=i;h--;)s[h-1]=arguments[h];return cr(at(o)?Ae(o):[o],ee(s,1))}var nv=ht(function(i,s){return qt(i)?Ps(i,ee(s,1,qt,!0)):[]}),sv=ht(function(i,s){var o=Ge(s);return qt(o)&&(o=e),qt(i)?Ps(i,ee(s,1,qt,!0),et(o,2)):[]}),av=ht(function(i,s){var o=Ge(s);return qt(o)&&(o=e),qt(i)?Ps(i,ee(s,1,qt,!0),e,o):[]});function uv(i,s,o){var h=i==null?0:i.length;return h?(s=o||s===e?1:ut(s),$e(i,s<0?0:s,h)):[]}function ov(i,s,o){var h=i==null?0:i.length;return h?(s=o||s===e?1:ut(s),s=h-s,$e(i,0,s<0?0:s)):[]}function lv(i,s){return i&&i.length?$a(i,et(s,3),!0,!0):[]}function hv(i,s){return i&&i.length?$a(i,et(s,3),!0):[]}function cv(i,s,o,h){var p=i==null?0:i.length;return p?(o&&typeof o!="number"&&pe(i,s,o)&&(o=0,h=p),r1(i,s,o,h)):[]}function hp(i,s,o){var h=i==null?0:i.length;if(!h)return-1;var p=o==null?0:ut(o);return p<0&&(p=$t(h+p,0)),Ta(i,et(s,3),p)}function cp(i,s,o){var h=i==null?0:i.length;if(!h)return-1;var p=h-1;return o!==e&&(p=ut(o),p=o<0?$t(h+p,0):ae(p,h-1)),Ta(i,et(s,3),p,!0)}function fp(i){var s=i==null?0:i.length;return s?ee(i,1):[]}function fv(i){var s=i==null?0:i.length;return s?ee(i,Pt):[]}function pv(i,s){var o=i==null?0:i.length;return o?(s=s===e?1:ut(s),ee(i,s)):[]}function dv(i){for(var s=-1,o=i==null?0:i.length,h={};++s<o;){var p=i[s];h[p[0]]=p[1]}return h}function pp(i){return i&&i.length?i[0]:e}function gv(i,s,o){var h=i==null?0:i.length;if(!h)return-1;var p=o==null?0:ut(o);return p<0&&(p=$t(h+p,0)),bn(i,s,p)}function mv(i){var s=i==null?0:i.length;return s?$e(i,0,-1):[]}var yv=ht(function(i){var s=Bt(i,jo);return s.length&&s[0]===i[0]?zo(s):[]}),vv=ht(function(i){var s=Ge(i),o=Bt(i,jo);return s===Ge(o)?s=e:o.pop(),o.length&&o[0]===i[0]?zo(o,et(s,2)):[]}),xv=ht(function(i){var s=Ge(i),o=Bt(i,jo);return s=typeof s=="function"?s:e,s&&o.pop(),o.length&&o[0]===i[0]?zo(o,e,s):[]});function Ev(i,s){return i==null?"":my.call(i,s)}function Ge(i){var s=i==null?0:i.length;return s?i[s-1]:e}function Av(i,s,o){var h=i==null?0:i.length;if(!h)return-1;var p=h;return o!==e&&(p=ut(o),p=p<0?$t(h+p,0):ae(p,h-1)),s===s?ty(i,s,p):Ta(i,Gc,p,!0)}function bv(i,s){return i&&i.length?Tf(i,ut(s)):e}var wv=ht(dp);function dp(i,s){return i&&i.length&&s&&s.length?Xo(i,s):i}function Tv(i,s,o){return i&&i.length&&s&&s.length?Xo(i,s,et(o,2)):i}function _v(i,s,o){return i&&i.length&&s&&s.length?Xo(i,s,e,o):i}var Cv=$i(function(i,s){var o=i==null?0:i.length,h=ko(i,s);return Sf(i,Bt(s,function(p){return Gi(p,o)?+p:p}).sort(Ff)),h});function Sv(i,s){var o=[];if(!(i&&i.length))return o;var h=-1,p=[],y=i.length;for(s=et(s,3);++h<y;){var b=i[h];s(b,h,i)&&(o.push(b),p.push(h))}return Sf(i,p),o}function pl(i){return i==null?i:Ey.call(i)}function Dv(i,s,o){var h=i==null?0:i.length;return h?(o&&typeof o!="number"&&pe(i,s,o)?(s=0,o=h):(s=s==null?0:ut(s),o=o===e?h:ut(o)),$e(i,s,o)):[]}function Nv(i,s){return Va(i,s)}function Mv(i,s,o){return Ko(i,s,et(o,2))}function Ov(i,s){var o=i==null?0:i.length;if(o){var h=Va(i,s);if(h<o&&li(i[h],s))return h}return-1}function Bv(i,s){return Va(i,s,!0)}function Iv(i,s,o){return Ko(i,s,et(o,2),!0)}function Pv(i,s){var o=i==null?0:i.length;if(o){var h=Va(i,s,!0)-1;if(li(i[h],s))return h}return-1}function Lv(i){return i&&i.length?Nf(i):[]}function Rv(i,s){return i&&i.length?Nf(i,et(s,2)):[]}function Fv(i){var s=i==null?0:i.length;return s?$e(i,1,s):[]}function Uv(i,s,o){return i&&i.length?(s=o||s===e?1:ut(s),$e(i,0,s<0?0:s)):[]}function kv(i,s,o){var h=i==null?0:i.length;return h?(s=o||s===e?1:ut(s),s=h-s,$e(i,s<0?0:s,h)):[]}function qv(i,s){return i&&i.length?$a(i,et(s,3),!1,!0):[]}function Hv(i,s){return i&&i.length?$a(i,et(s,3)):[]}var Wv=ht(function(i){return gr(ee(i,1,qt,!0))}),zv=ht(function(i){var s=Ge(i);return qt(s)&&(s=e),gr(ee(i,1,qt,!0),et(s,2))}),Vv=ht(function(i){var s=Ge(i);return s=typeof s=="function"?s:e,gr(ee(i,1,qt,!0),e,s)});function $v(i){return i&&i.length?gr(i):[]}function Gv(i,s){return i&&i.length?gr(i,et(s,2)):[]}function Xv(i,s){return s=typeof s=="function"?s:e,i&&i.length?gr(i,e,s):[]}function dl(i){if(!(i&&i.length))return[];var s=0;return i=hr(i,function(o){if(qt(o))return s=$t(o.length,s),!0}),Oo(s,function(o){return Bt(i,Do(o))})}function gp(i,s){if(!(i&&i.length))return[];var o=dl(i);return s==null?o:Bt(o,function(h){return De(s,e,h)})}var Yv=ht(function(i,s){return qt(i)?Ps(i,s):[]}),Zv=ht(function(i){return Jo(hr(i,qt))}),Kv=ht(function(i){var s=Ge(i);return qt(s)&&(s=e),Jo(hr(i,qt),et(s,2))}),Qv=ht(function(i){var s=Ge(i);return s=typeof s=="function"?s:e,Jo(hr(i,qt),e,s)}),Jv=ht(dl);function jv(i,s){return If(i||[],s||[],Is)}function tx(i,s){return If(i||[],s||[],Fs)}var ex=ht(function(i){var s=i.length,o=s>1?i[s-1]:e;return o=typeof o=="function"?(i.pop(),o):e,gp(i,o)});function mp(i){var s=m(i);return s.__chain__=!0,s}function ix(i,s){return s(i),i}function tu(i,s){return s(i)}var rx=$i(function(i){var s=i.length,o=s?i[0]:0,h=this.__wrapped__,p=function(y){return ko(y,i)};return s>1||this.__actions__.length||!(h instanceof pt)||!Gi(o)?this.thru(p):(h=h.slice(o,+o+(s?1:0)),h.__actions__.push({func:tu,args:[p],thisArg:e}),new ze(h,this.__chain__).thru(function(y){return s&&!y.length&&y.push(e),y}))});function nx(){return mp(this)}function sx(){return new ze(this.value(),this.__chain__)}function ax(){this.__values__===e&&(this.__values__=Mp(this.value()));var i=this.__index__>=this.__values__.length,s=i?e:this.__values__[this.__index__++];return{done:i,value:s}}function ux(){return this}function ox(i){for(var s,o=this;o instanceof ka;){var h=lp(o);h.__index__=0,h.__values__=e,s?p.__wrapped__=h:s=h;var p=h;o=o.__wrapped__}return p.__wrapped__=i,s}function lx(){var i=this.__wrapped__;if(i instanceof pt){var s=i;return this.__actions__.length&&(s=new pt(this)),s=s.reverse(),s.__actions__.push({func:tu,args:[pl],thisArg:e}),new ze(s,this.__chain__)}return this.thru(pl)}function hx(){return Bf(this.__wrapped__,this.__actions__)}var cx=Ga(function(i,s,o){bt.call(i,o)?++i[o]:zi(i,o,1)});function fx(i,s,o){var h=at(i)?Vc:i1;return o&&pe(i,s,o)&&(s=e),h(i,et(s,3))}function px(i,s){var o=at(i)?hr:gf;return o(i,et(s,3))}var dx=zf(hp),gx=zf(cp);function mx(i,s){return ee(eu(i,s),1)}function yx(i,s){return ee(eu(i,s),Pt)}function vx(i,s,o){return o=o===e?1:ut(o),ee(eu(i,s),o)}function yp(i,s){var o=at(i)?He:dr;return o(i,et(s,3))}function vp(i,s){var o=at(i)?Fm:df;return o(i,et(s,3))}var xx=Ga(function(i,s,o){bt.call(i,o)?i[o].push(s):zi(i,o,[s])});function Ex(i,s,o,h){i=be(i)?i:Pn(i),o=o&&!h?ut(o):0;var p=i.length;return o<0&&(o=$t(p+o,0)),au(i)?o<=p&&i.indexOf(s,o)>-1:!!p&&bn(i,s,o)>-1}var Ax=ht(function(i,s,o){var h=-1,p=typeof s=="function",y=be(i)?O(i.length):[];return dr(i,function(b){y[++h]=p?De(s,b,o):Ls(b,s,o)}),y}),bx=Ga(function(i,s,o){zi(i,o,s)});function eu(i,s){var o=at(i)?Bt:Af;return o(i,et(s,3))}function wx(i,s,o,h){return i==null?[]:(at(s)||(s=s==null?[]:[s]),o=h?e:o,at(o)||(o=o==null?[]:[o]),_f(i,s,o))}var Tx=Ga(function(i,s,o){i[o?0:1].push(s)},function(){return[[],[]]});function _x(i,s,o){var h=at(i)?Co:Yc,p=arguments.length<3;return h(i,et(s,4),o,p,dr)}function Cx(i,s,o){var h=at(i)?Um:Yc,p=arguments.length<3;return h(i,et(s,4),o,p,df)}function Sx(i,s){var o=at(i)?hr:gf;return o(i,nu(et(s,3)))}function Dx(i){var s=at(i)?hf:E1;return s(i)}function Nx(i,s,o){(o?pe(i,s,o):s===e)?s=1:s=ut(s);var h=at(i)?Qy:A1;return h(i,s)}function Mx(i){var s=at(i)?Jy:w1;return s(i)}function Ox(i){if(i==null)return 0;if(be(i))return au(i)?Tn(i):i.length;var s=ue(i);return s==Jt||s==Ot?i.size:$o(i).length}function Bx(i,s,o){var h=at(i)?So:T1;return o&&pe(i,s,o)&&(s=e),h(i,et(s,3))}var Ix=ht(function(i,s){if(i==null)return[];var o=s.length;return o>1&&pe(i,s[0],s[1])?s=[]:o>2&&pe(s[0],s[1],s[2])&&(s=[s[0]]),_f(i,ee(s,1),[])}),iu=py||function(){return te.Date.now()};function Px(i,s){if(typeof s!="function")throw new We(l);return i=ut(i),function(){if(--i<1)return s.apply(this,arguments)}}function xp(i,s,o){return s=o?e:s,s=i&&s==null?i.length:s,Vi(i,tt,e,e,e,e,s)}function Ep(i,s){var o;if(typeof s!="function")throw new We(l);return i=ut(i),function(){return--i>0&&(o=s.apply(this,arguments)),i<=1&&(s=e),o}}var gl=ht(function(i,s,o){var h=D;if(o.length){var p=fr(o,Bn(gl));h|=$}return Vi(i,h,s,o,p)}),Ap=ht(function(i,s,o){var h=D|k;if(o.length){var p=fr(o,Bn(Ap));h|=$}return Vi(s,h,i,o,p)});function bp(i,s,o){s=o?e:s;var h=Vi(i,W,e,e,e,e,e,s);return h.placeholder=bp.placeholder,h}function wp(i,s,o){s=o?e:s;var h=Vi(i,X,e,e,e,e,e,s);return h.placeholder=wp.placeholder,h}function Tp(i,s,o){var h,p,y,b,_,N,F=0,U=!1,q=!1,G=!0;if(typeof i!="function")throw new We(l);s=Xe(s)||0,Lt(o)&&(U=!!o.leading,q="maxWait"in o,y=q?$t(Xe(o.maxWait)||0,s):y,G="trailing"in o?!!o.trailing:G);function j(Ht){var hi=h,Zi=p;return h=p=e,F=Ht,b=i.apply(Zi,hi),b}function it(Ht){return F=Ht,_=qs(ft,s),U?j(Ht):b}function lt(Ht){var hi=Ht-N,Zi=Ht-F,zp=s-hi;return q?ae(zp,y-Zi):zp}function rt(Ht){var hi=Ht-N,Zi=Ht-F;return N===e||hi>=s||hi<0||q&&Zi>=y}function ft(){var Ht=iu();if(rt(Ht))return dt(Ht);_=qs(ft,lt(Ht))}function dt(Ht){return _=e,G&&h?j(Ht):(h=p=e,b)}function Be(){_!==e&&Pf(_),F=0,h=N=p=_=e}function de(){return _===e?b:dt(iu())}function Ie(){var Ht=iu(),hi=rt(Ht);if(h=arguments,p=this,N=Ht,hi){if(_===e)return it(N);if(q)return Pf(_),_=qs(ft,s),j(N)}return _===e&&(_=qs(ft,s)),b}return Ie.cancel=Be,Ie.flush=de,Ie}var Lx=ht(function(i,s){return pf(i,1,s)}),Rx=ht(function(i,s,o){return pf(i,Xe(s)||0,o)});function Fx(i){return Vi(i,z)}function ru(i,s){if(typeof i!="function"||s!=null&&typeof s!="function")throw new We(l);var o=function(){var h=arguments,p=s?s.apply(this,h):h[0],y=o.cache;if(y.has(p))return y.get(p);var b=i.apply(this,h);return o.cache=y.set(p,b)||y,b};return o.cache=new(ru.Cache||Wi),o}ru.Cache=Wi;function nu(i){if(typeof i!="function")throw new We(l);return function(){var s=arguments;switch(s.length){case 0:return!i.call(this);case 1:return!i.call(this,s[0]);case 2:return!i.call(this,s[0],s[1]);case 3:return!i.call(this,s[0],s[1],s[2])}return!i.apply(this,s)}}function Ux(i){return Ep(2,i)}var kx=_1(function(i,s){s=s.length==1&&at(s[0])?Bt(s[0],Ne(et())):Bt(ee(s,1),Ne(et()));var o=s.length;return ht(function(h){for(var p=-1,y=ae(h.length,o);++p<y;)h[p]=s[p].call(this,h[p]);return De(i,this,h)})}),ml=ht(function(i,s){var o=fr(s,Bn(ml));return Vi(i,$,e,s,o)}),_p=ht(function(i,s){var o=fr(s,Bn(_p));return Vi(i,K,e,s,o)}),qx=$i(function(i,s){return Vi(i,Z,e,e,e,s)});function Hx(i,s){if(typeof i!="function")throw new We(l);return s=s===e?s:ut(s),ht(i,s)}function Wx(i,s){if(typeof i!="function")throw new We(l);return s=s==null?0:$t(ut(s),0),ht(function(o){var h=o[s],p=yr(o,0,s);return h&&cr(p,h),De(i,this,p)})}function zx(i,s,o){var h=!0,p=!0;if(typeof i!="function")throw new We(l);return Lt(o)&&(h="leading"in o?!!o.leading:h,p="trailing"in o?!!o.trailing:p),Tp(i,s,{leading:h,maxWait:s,trailing:p})}function Vx(i){return xp(i,1)}function $x(i,s){return ml(tl(s),i)}function Gx(){if(!arguments.length)return[];var i=arguments[0];return at(i)?i:[i]}function Xx(i){return Ve(i,T)}function Yx(i,s){return s=typeof s=="function"?s:e,Ve(i,T,s)}function Zx(i){return Ve(i,E|T)}function Kx(i,s){return s=typeof s=="function"?s:e,Ve(i,E|T,s)}function Qx(i,s){return s==null||ff(i,s,Zt(s))}function li(i,s){return i===s||i!==i&&s!==s}var Jx=Ka(Wo),jx=Ka(function(i,s){return i>=s}),Vr=vf(function(){return arguments}())?vf:function(i){return Rt(i)&&bt.call(i,"callee")&&!nf.call(i,"callee")},at=O.isArray,tE=Uc?Ne(Uc):o1;function be(i){return i!=null&&su(i.length)&&!Xi(i)}function qt(i){return Rt(i)&&be(i)}function eE(i){return i===!0||i===!1||Rt(i)&&fe(i)==Ce}var vr=gy||Sl,iE=kc?Ne(kc):l1;function rE(i){return Rt(i)&&i.nodeType===1&&!Hs(i)}function nE(i){if(i==null)return!0;if(be(i)&&(at(i)||typeof i=="string"||typeof i.splice=="function"||vr(i)||In(i)||Vr(i)))return!i.length;var s=ue(i);if(s==Jt||s==Ot)return!i.size;if(ks(i))return!$o(i).length;for(var o in i)if(bt.call(i,o))return!1;return!0}function sE(i,s){return Rs(i,s)}function aE(i,s,o){o=typeof o=="function"?o:e;var h=o?o(i,s):e;return h===e?Rs(i,s,e,o):!!h}function yl(i){if(!Rt(i))return!1;var s=fe(i);return s==Ri||s==se||typeof i.message=="string"&&typeof i.name=="string"&&!Hs(i)}function uE(i){return typeof i=="number"&&af(i)}function Xi(i){if(!Lt(i))return!1;var s=fe(i);return s==yi||s==nr||s==Qt||s==da}function Cp(i){return typeof i=="number"&&i==ut(i)}function su(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=Le}function Lt(i){var s=typeof i;return i!=null&&(s=="object"||s=="function")}function Rt(i){return i!=null&&typeof i=="object"}var Sp=qc?Ne(qc):c1;function oE(i,s){return i===s||Vo(i,s,ul(s))}function lE(i,s,o){return o=typeof o=="function"?o:e,Vo(i,s,ul(s),o)}function hE(i){return Dp(i)&&i!=+i}function cE(i){if(Y1(i))throw new st(u);return xf(i)}function fE(i){return i===null}function pE(i){return i==null}function Dp(i){return typeof i=="number"||Rt(i)&&fe(i)==ni}function Hs(i){if(!Rt(i)||fe(i)!=jt)return!1;var s=Ba(i);if(s===null)return!0;var o=bt.call(s,"constructor")&&s.constructor;return typeof o=="function"&&o instanceof o&&Da.call(o)==ly}var vl=Hc?Ne(Hc):f1;function dE(i){return Cp(i)&&i>=-Le&&i<=Le}var Np=Wc?Ne(Wc):p1;function au(i){return typeof i=="string"||!at(i)&&Rt(i)&&fe(i)==Nr}function Oe(i){return typeof i=="symbol"||Rt(i)&&fe(i)==cn}var In=zc?Ne(zc):d1;function gE(i){return i===e}function mE(i){return Rt(i)&&ue(i)==Mr}function yE(i){return Rt(i)&&fe(i)==ao}var vE=Ka(Go),xE=Ka(function(i,s){return i<=s});function Mp(i){if(!i)return[];if(be(i))return au(i)?ui(i):Ae(i);if(Ds&&i[Ds])return Qm(i[Ds]());var s=ue(i),o=s==Jt?Io:s==Ot?_a:Pn;return o(i)}function Yi(i){if(!i)return i===0?i:0;if(i=Xe(i),i===Pt||i===-Pt){var s=i<0?-1:1;return s*pa}return i===i?i:0}function ut(i){var s=Yi(i),o=s%1;return s===s?o?s-o:s:0}function Op(i){return i?qr(ut(i),0,Re):0}function Xe(i){if(typeof i=="number")return i;if(Oe(i))return ln;if(Lt(i)){var s=typeof i.valueOf=="function"?i.valueOf():i;i=Lt(s)?s+"":s}if(typeof i!="string")return i===0?i:+i;i=Zc(i);var o=Ui.test(i);return o||Ir.test(i)?Pm(i.slice(2),o?2:8):ws.test(i)?ln:+i}function Bp(i){return Ai(i,we(i))}function EE(i){return i?qr(ut(i),-Le,Le):i===0?i:0}function Et(i){return i==null?"":Me(i)}var AE=Mn(function(i,s){if(ks(s)||be(s)){Ai(s,Zt(s),i);return}for(var o in s)bt.call(s,o)&&Is(i,o,s[o])}),Ip=Mn(function(i,s){Ai(s,we(s),i)}),uu=Mn(function(i,s,o,h){Ai(s,we(s),i,h)}),bE=Mn(function(i,s,o,h){Ai(s,Zt(s),i,h)}),wE=$i(ko);function TE(i,s){var o=Nn(i);return s==null?o:cf(o,s)}var _E=ht(function(i,s){i=_t(i);var o=-1,h=s.length,p=h>2?s[2]:e;for(p&&pe(s[0],s[1],p)&&(h=1);++o<h;)for(var y=s[o],b=we(y),_=-1,N=b.length;++_<N;){var F=b[_],U=i[F];(U===e||li(U,Cn[F])&&!bt.call(i,F))&&(i[F]=y[F])}return i}),CE=ht(function(i){return i.push(e,Kf),De(Pp,e,i)});function SE(i,s){return $c(i,et(s,3),Ei)}function DE(i,s){return $c(i,et(s,3),Ho)}function NE(i,s){return i==null?i:qo(i,et(s,3),we)}function ME(i,s){return i==null?i:mf(i,et(s,3),we)}function OE(i,s){return i&&Ei(i,et(s,3))}function BE(i,s){return i&&Ho(i,et(s,3))}function IE(i){return i==null?[]:Wa(i,Zt(i))}function PE(i){return i==null?[]:Wa(i,we(i))}function xl(i,s,o){var h=i==null?e:Hr(i,s);return h===e?o:h}function LE(i,s){return i!=null&&jf(i,s,n1)}function El(i,s){return i!=null&&jf(i,s,s1)}var RE=$f(function(i,s,o){s!=null&&typeof s.toString!="function"&&(s=Na.call(s)),i[s]=o},bl(Te)),FE=$f(function(i,s,o){s!=null&&typeof s.toString!="function"&&(s=Na.call(s)),bt.call(i,s)?i[s].push(o):i[s]=[o]},et),UE=ht(Ls);function Zt(i){return be(i)?lf(i):$o(i)}function we(i){return be(i)?lf(i,!0):g1(i)}function kE(i,s){var o={};return s=et(s,3),Ei(i,function(h,p,y){zi(o,s(h,p,y),h)}),o}function qE(i,s){var o={};return s=et(s,3),Ei(i,function(h,p,y){zi(o,p,s(h,p,y))}),o}var HE=Mn(function(i,s,o){za(i,s,o)}),Pp=Mn(function(i,s,o,h){za(i,s,o,h)}),WE=$i(function(i,s){var o={};if(i==null)return o;var h=!1;s=Bt(s,function(y){return y=mr(y,i),h||(h=y.length>1),y}),Ai(i,sl(i),o),h&&(o=Ve(o,E|A|T,R1));for(var p=s.length;p--;)Qo(o,s[p]);return o});function zE(i,s){return Lp(i,nu(et(s)))}var VE=$i(function(i,s){return i==null?{}:y1(i,s)});function Lp(i,s){if(i==null)return{};var o=Bt(sl(i),function(h){return[h]});return s=et(s),Cf(i,o,function(h,p){return s(h,p[0])})}function $E(i,s,o){s=mr(s,i);var h=-1,p=s.length;for(p||(p=1,i=e);++h<p;){var y=i==null?e:i[bi(s[h])];y===e&&(h=p,y=o),i=Xi(y)?y.call(i):y}return i}function GE(i,s,o){return i==null?i:Fs(i,s,o)}function XE(i,s,o,h){return h=typeof h=="function"?h:e,i==null?i:Fs(i,s,o,h)}var Rp=Yf(Zt),Fp=Yf(we);function YE(i,s,o){var h=at(i),p=h||vr(i)||In(i);if(s=et(s,4),o==null){var y=i&&i.constructor;p?o=h?new y:[]:Lt(i)?o=Xi(y)?Nn(Ba(i)):{}:o={}}return(p?He:Ei)(i,function(b,_,N){return s(o,b,_,N)}),o}function ZE(i,s){return i==null?!0:Qo(i,s)}function KE(i,s,o){return i==null?i:Of(i,s,tl(o))}function QE(i,s,o,h){return h=typeof h=="function"?h:e,i==null?i:Of(i,s,tl(o),h)}function Pn(i){return i==null?[]:Bo(i,Zt(i))}function JE(i){return i==null?[]:Bo(i,we(i))}function jE(i,s,o){return o===e&&(o=s,s=e),o!==e&&(o=Xe(o),o=o===o?o:0),s!==e&&(s=Xe(s),s=s===s?s:0),qr(Xe(i),s,o)}function tA(i,s,o){return s=Yi(s),o===e?(o=s,s=0):o=Yi(o),i=Xe(i),a1(i,s,o)}function eA(i,s,o){if(o&&typeof o!="boolean"&&pe(i,s,o)&&(s=o=e),o===e&&(typeof s=="boolean"?(o=s,s=e):typeof i=="boolean"&&(o=i,i=e)),i===e&&s===e?(i=0,s=1):(i=Yi(i),s===e?(s=i,i=0):s=Yi(s)),i>s){var h=i;i=s,s=h}if(o||i%1||s%1){var p=uf();return ae(i+p*(s-i+Im("1e-"+((p+"").length-1))),s)}return Yo(i,s)}var iA=On(function(i,s,o){return s=s.toLowerCase(),i+(o?Up(s):s)});function Up(i){return Al(Et(i).toLowerCase())}function kp(i){return i=Et(i),i&&i.replace(Ts,Gm).replace(wm,"")}function rA(i,s,o){i=Et(i),s=Me(s);var h=i.length;o=o===e?h:qr(ut(o),0,h);var p=o;return o-=s.length,o>=0&&i.slice(o,p)==s}function nA(i){return i=Et(i),i&&lo.test(i)?i.replace(ys,Xm):i}function sA(i){return i=Et(i),i&&mo.test(i)?i.replace(ur,"\\$&"):i}var aA=On(function(i,s,o){return i+(o?"-":"")+s.toLowerCase()}),uA=On(function(i,s,o){return i+(o?" ":"")+s.toLowerCase()}),oA=Wf("toLowerCase");function lA(i,s,o){i=Et(i),s=ut(s);var h=s?Tn(i):0;if(!s||h>=s)return i;var p=(s-h)/2;return Za(Ra(p),o)+i+Za(La(p),o)}function hA(i,s,o){i=Et(i),s=ut(s);var h=s?Tn(i):0;return s&&h<s?i+Za(s-h,o):i}function cA(i,s,o){i=Et(i),s=ut(s);var h=s?Tn(i):0;return s&&h<s?Za(s-h,o)+i:i}function fA(i,s,o){return o||s==null?s=0:s&&(s=+s),xy(Et(i).replace(Es,""),s||0)}function pA(i,s,o){return(o?pe(i,s,o):s===e)?s=1:s=ut(s),Zo(Et(i),s)}function dA(){var i=arguments,s=Et(i[0]);return i.length<3?s:s.replace(i[1],i[2])}var gA=On(function(i,s,o){return i+(o?"_":"")+s.toLowerCase()});function mA(i,s,o){return o&&typeof o!="number"&&pe(i,s,o)&&(s=o=e),o=o===e?Re:o>>>0,o?(i=Et(i),i&&(typeof s=="string"||s!=null&&!vl(s))&&(s=Me(s),!s&&wn(i))?yr(ui(i),0,o):i.split(s,o)):[]}var yA=On(function(i,s,o){return i+(o?" ":"")+Al(s)});function vA(i,s,o){return i=Et(i),o=o==null?0:qr(ut(o),0,i.length),s=Me(s),i.slice(o,o+s.length)==s}function xA(i,s,o){var h=m.templateSettings;o&&pe(i,s,o)&&(s=e),i=Et(i),s=uu({},s,h,Zf);var p=uu({},s.imports,h.imports,Zf),y=Zt(p),b=Bo(p,y),_,N,F=0,U=s.interpolate||mn,q="__p += '",G=Po((s.escape||mn).source+"|"+U.source+"|"+(U===xs?xa:mn).source+"|"+(s.evaluate||mn).source+"|$","g"),j="//# sourceURL="+(bt.call(s,"sourceURL")?(s.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Dm+"]")+`
|
|
16
|
-
`;i.replace(G,function(rt,ft,dt,Be,de,Ie){return dt||(dt=Be),q+=i.slice(F,Ie).replace(
|
|
14
|
+
`)}function $y(i){return at(i)||$r(i)||!!(sf&&i&&i[sf])}function Gi(i,s){var o=typeof i;return s=s??Le,!!s&&(o=="number"||o!="symbol"&&mn.test(i))&&i>-1&&i%1==0&&i<s}function pe(i,s,o){if(!Lt(o))return!1;var h=typeof s;return(h=="number"?be(o)&&Gi(s,o.length):h=="string"&&s in o)?li(o[s],i):!1}function ol(i,s){if(at(i))return!1;var o=typeof i;return o=="number"||o=="symbol"||o=="boolean"||i==null||Me(i)?!0:fo.test(i)||!co.test(i)||s!=null&&i in _t(s)}function Gy(i){var s=typeof i;return s=="string"||s=="number"||s=="symbol"||s=="boolean"?i!=="__proto__":i===null}function ll(i){var s=Qa(i),o=m[s];if(typeof o!="function"||!(s in pt.prototype))return!1;if(i===o)return!0;var h=sl(o);return!!h&&i===h[0]}function Xy(i){return!!tf&&tf in i}var Yy=Sa?Xi:Cl;function qs(i){var s=i&&i.constructor,o=typeof s=="function"&&s.prototype||Sn;return i===o}function ep(i){return i===i&&!Lt(i)}function ip(i,s){return function(o){return o==null?!1:o[i]===s&&(s!==e||i in _t(o))}}function Zy(i){var s=ru(i,function(h){return o.size===d&&o.clear(),h}),o=s.cache;return s}function Ky(i,s){var o=i[1],h=s[1],p=o|h,y=p<(D|k|tt),b=h==tt&&o==W||h==tt&&o==Z&&i[7].length<=s[8]||h==(tt|Z)&&s[7].length<=s[8]&&o==W;if(!(y||b))return i;h&D&&(i[2]=s[2],p|=o&D?0:z);var _=s[3];if(_){var N=i[3];i[3]=N?Uf(N,_,s[4]):_,i[4]=N?cr(i[3],v):s[4]}return _=s[5],_&&(N=i[5],i[5]=N?kf(N,_,s[6]):_,i[6]=N?cr(i[5],v):s[6]),_=s[7],_&&(i[7]=_),h&tt&&(i[8]=i[8]==null?s[8]:ae(i[8],s[8])),i[9]==null&&(i[9]=s[9]),i[0]=s[0],i[1]=p,i}function Qy(i){var s=[];if(i!=null)for(var o in _t(i))s.push(o);return s}function Jy(i){return Na.call(i)}function rp(i,s,o){return s=$t(s===e?i.length-1:s,0),function(){for(var h=arguments,p=-1,y=$t(h.length-s,0),b=M(y);++p<y;)b[p]=h[s+p];p=-1;for(var _=M(s+1);++p<s;)_[p]=h[p];return _[s]=o(b),De(i,this,_)}}function np(i,s){return s.length<2?i:Wr(i,$e(s,0,-1))}function jy(i,s){for(var o=i.length,h=ae(s.length,o),p=Ae(i);h--;){var y=s[h];i[h]=Gi(y,o)?p[y]:e}return i}function hl(i,s){if(!(s==="constructor"&&typeof i[s]=="function")&&s!="__proto__")return i[s]}var sp=up(Df),Hs=d1||function(i,s){return ee.setTimeout(i,s)},cl=up(by);function ap(i,s,o){var h=s+"";return cl(i,zy(h,tv(Hy(h),o)))}function up(i){var s=0,o=0;return function(){var h=v1(),p=It-(h-o);if(o=h,p>0){if(++s>=mt)return arguments[0]}else s=0;return i.apply(e,arguments)}}function ja(i,s){var o=-1,h=i.length,p=h-1;for(s=s===e?h:s;++o<s;){var y=Xo(o,p),b=i[y];i[y]=i[o],i[o]=b}return i.length=s,i}var op=Zy(function(i){var s=[];return i.charCodeAt(0)===46&&s.push(""),i.replace(po,function(o,h,p,y){s.push(p?y.replace(va,"$1"):h||o)}),s});function bi(i){if(typeof i=="string"||Me(i))return i;var s=i+"";return s=="0"&&1/i==-Pt?"-0":s}function zr(i){if(i!=null){try{return Da.call(i)}catch{}try{return i+""}catch{}}return""}function tv(i,s){return He(hs,function(o){var h="_."+o[0];s&o[1]&&!wa(i,h)&&i.push(h)}),i.sort()}function lp(i){if(i instanceof pt)return i.clone();var s=new Ve(i.__wrapped__,i.__chain__);return s.__actions__=Ae(i.__actions__),s.__index__=i.__index__,s.__values__=i.__values__,s}function ev(i,s,o){(o?pe(i,s,o):s===e)?s=1:s=$t(ut(s),0);var h=i==null?0:i.length;if(!h||s<1)return[];for(var p=0,y=0,b=M(La(h/s));p<h;)b[y++]=$e(i,p,p+=s);return b}function iv(i){for(var s=-1,o=i==null?0:i.length,h=0,p=[];++s<o;){var y=i[s];y&&(p[h++]=y)}return p}function rv(){var i=arguments.length;if(!i)return[];for(var s=M(i-1),o=arguments[0],h=i;h--;)s[h-1]=arguments[h];return hr(at(o)?Ae(o):[o],ie(s,1))}var nv=ct(function(i,s){return qt(i)?Ls(i,ie(s,1,qt,!0)):[]}),sv=ct(function(i,s){var o=Ge(s);return qt(o)&&(o=e),qt(i)?Ls(i,ie(s,1,qt,!0),et(o,2)):[]}),av=ct(function(i,s){var o=Ge(s);return qt(o)&&(o=e),qt(i)?Ls(i,ie(s,1,qt,!0),e,o):[]});function uv(i,s,o){var h=i==null?0:i.length;return h?(s=o||s===e?1:ut(s),$e(i,s<0?0:s,h)):[]}function ov(i,s,o){var h=i==null?0:i.length;return h?(s=o||s===e?1:ut(s),s=h-s,$e(i,0,s<0?0:s)):[]}function lv(i,s){return i&&i.length?$a(i,et(s,3),!0,!0):[]}function hv(i,s){return i&&i.length?$a(i,et(s,3),!0):[]}function cv(i,s,o,h){var p=i==null?0:i.length;return p?(o&&typeof o!="number"&&pe(i,s,o)&&(o=0,h=p),ry(i,s,o,h)):[]}function hp(i,s,o){var h=i==null?0:i.length;if(!h)return-1;var p=o==null?0:ut(o);return p<0&&(p=$t(h+p,0)),Ta(i,et(s,3),p)}function cp(i,s,o){var h=i==null?0:i.length;if(!h)return-1;var p=h-1;return o!==e&&(p=ut(o),p=o<0?$t(h+p,0):ae(p,h-1)),Ta(i,et(s,3),p,!0)}function fp(i){var s=i==null?0:i.length;return s?ie(i,1):[]}function fv(i){var s=i==null?0:i.length;return s?ie(i,Pt):[]}function pv(i,s){var o=i==null?0:i.length;return o?(s=s===e?1:ut(s),ie(i,s)):[]}function dv(i){for(var s=-1,o=i==null?0:i.length,h={};++s<o;){var p=i[s];h[p[0]]=p[1]}return h}function pp(i){return i&&i.length?i[0]:e}function gv(i,s,o){var h=i==null?0:i.length;if(!h)return-1;var p=o==null?0:ut(o);return p<0&&(p=$t(h+p,0)),wn(i,s,p)}function mv(i){var s=i==null?0:i.length;return s?$e(i,0,-1):[]}var yv=ct(function(i){var s=Bt(i,Jo);return s.length&&s[0]===i[0]?Wo(s):[]}),vv=ct(function(i){var s=Ge(i),o=Bt(i,Jo);return s===Ge(o)?s=e:o.pop(),o.length&&o[0]===i[0]?Wo(o,et(s,2)):[]}),xv=ct(function(i){var s=Ge(i),o=Bt(i,Jo);return s=typeof s=="function"?s:e,s&&o.pop(),o.length&&o[0]===i[0]?Wo(o,e,s):[]});function Ev(i,s){return i==null?"":m1.call(i,s)}function Ge(i){var s=i==null?0:i.length;return s?i[s-1]:e}function Av(i,s,o){var h=i==null?0:i.length;if(!h)return-1;var p=h;return o!==e&&(p=ut(o),p=p<0?$t(h+p,0):ae(p,h-1)),s===s?t1(i,s,p):Ta(i,Gc,p,!0)}function bv(i,s){return i&&i.length?Tf(i,ut(s)):e}var wv=ct(dp);function dp(i,s){return i&&i.length&&s&&s.length?Go(i,s):i}function Tv(i,s,o){return i&&i.length&&s&&s.length?Go(i,s,et(o,2)):i}function _v(i,s,o){return i&&i.length&&s&&s.length?Go(i,s,e,o):i}var Cv=$i(function(i,s){var o=i==null?0:i.length,h=Uo(i,s);return Sf(i,Bt(s,function(p){return Gi(p,o)?+p:p}).sort(Ff)),h});function Sv(i,s){var o=[];if(!(i&&i.length))return o;var h=-1,p=[],y=i.length;for(s=et(s,3);++h<y;){var b=i[h];s(b,h,i)&&(o.push(b),p.push(h))}return Sf(i,p),o}function fl(i){return i==null?i:E1.call(i)}function Dv(i,s,o){var h=i==null?0:i.length;return h?(o&&typeof o!="number"&&pe(i,s,o)?(s=0,o=h):(s=s==null?0:ut(s),o=o===e?h:ut(o)),$e(i,s,o)):[]}function Nv(i,s){return za(i,s)}function Ov(i,s,o){return Zo(i,s,et(o,2))}function Mv(i,s){var o=i==null?0:i.length;if(o){var h=za(i,s);if(h<o&&li(i[h],s))return h}return-1}function Bv(i,s){return za(i,s,!0)}function Iv(i,s,o){return Zo(i,s,et(o,2),!0)}function Pv(i,s){var o=i==null?0:i.length;if(o){var h=za(i,s,!0)-1;if(li(i[h],s))return h}return-1}function Lv(i){return i&&i.length?Nf(i):[]}function Rv(i,s){return i&&i.length?Nf(i,et(s,2)):[]}function Fv(i){var s=i==null?0:i.length;return s?$e(i,1,s):[]}function Uv(i,s,o){return i&&i.length?(s=o||s===e?1:ut(s),$e(i,0,s<0?0:s)):[]}function kv(i,s,o){var h=i==null?0:i.length;return h?(s=o||s===e?1:ut(s),s=h-s,$e(i,s<0?0:s,h)):[]}function qv(i,s){return i&&i.length?$a(i,et(s,3),!1,!0):[]}function Hv(i,s){return i&&i.length?$a(i,et(s,3)):[]}var Wv=ct(function(i){return dr(ie(i,1,qt,!0))}),Vv=ct(function(i){var s=Ge(i);return qt(s)&&(s=e),dr(ie(i,1,qt,!0),et(s,2))}),zv=ct(function(i){var s=Ge(i);return s=typeof s=="function"?s:e,dr(ie(i,1,qt,!0),e,s)});function $v(i){return i&&i.length?dr(i):[]}function Gv(i,s){return i&&i.length?dr(i,et(s,2)):[]}function Xv(i,s){return s=typeof s=="function"?s:e,i&&i.length?dr(i,e,s):[]}function pl(i){if(!(i&&i.length))return[];var s=0;return i=lr(i,function(o){if(qt(o))return s=$t(o.length,s),!0}),Oo(s,function(o){return Bt(i,So(o))})}function gp(i,s){if(!(i&&i.length))return[];var o=pl(i);return s==null?o:Bt(o,function(h){return De(s,e,h)})}var Yv=ct(function(i,s){return qt(i)?Ls(i,s):[]}),Zv=ct(function(i){return Qo(lr(i,qt))}),Kv=ct(function(i){var s=Ge(i);return qt(s)&&(s=e),Qo(lr(i,qt),et(s,2))}),Qv=ct(function(i){var s=Ge(i);return s=typeof s=="function"?s:e,Qo(lr(i,qt),e,s)}),Jv=ct(pl);function jv(i,s){return If(i||[],s||[],Ps)}function tx(i,s){return If(i||[],s||[],Us)}var ex=ct(function(i){var s=i.length,o=s>1?i[s-1]:e;return o=typeof o=="function"?(i.pop(),o):e,gp(i,o)});function mp(i){var s=m(i);return s.__chain__=!0,s}function ix(i,s){return s(i),i}function tu(i,s){return s(i)}var rx=$i(function(i){var s=i.length,o=s?i[0]:0,h=this.__wrapped__,p=function(y){return Uo(y,i)};return s>1||this.__actions__.length||!(h instanceof pt)||!Gi(o)?this.thru(p):(h=h.slice(o,+o+(s?1:0)),h.__actions__.push({func:tu,args:[p],thisArg:e}),new Ve(h,this.__chain__).thru(function(y){return s&&!y.length&&y.push(e),y}))});function nx(){return mp(this)}function sx(){return new Ve(this.value(),this.__chain__)}function ax(){this.__values__===e&&(this.__values__=Op(this.value()));var i=this.__index__>=this.__values__.length,s=i?e:this.__values__[this.__index__++];return{done:i,value:s}}function ux(){return this}function ox(i){for(var s,o=this;o instanceof ka;){var h=lp(o);h.__index__=0,h.__values__=e,s?p.__wrapped__=h:s=h;var p=h;o=o.__wrapped__}return p.__wrapped__=i,s}function lx(){var i=this.__wrapped__;if(i instanceof pt){var s=i;return this.__actions__.length&&(s=new pt(this)),s=s.reverse(),s.__actions__.push({func:tu,args:[fl],thisArg:e}),new Ve(s,this.__chain__)}return this.thru(fl)}function hx(){return Bf(this.__wrapped__,this.__actions__)}var cx=Ga(function(i,s,o){wt.call(i,o)?++i[o]:Vi(i,o,1)});function fx(i,s,o){var h=at(i)?zc:iy;return o&&pe(i,s,o)&&(s=e),h(i,et(s,3))}function px(i,s){var o=at(i)?lr:gf;return o(i,et(s,3))}var dx=Vf(hp),gx=Vf(cp);function mx(i,s){return ie(eu(i,s),1)}function yx(i,s){return ie(eu(i,s),Pt)}function vx(i,s,o){return o=o===e?1:ut(o),ie(eu(i,s),o)}function yp(i,s){var o=at(i)?He:pr;return o(i,et(s,3))}function vp(i,s){var o=at(i)?Fm:df;return o(i,et(s,3))}var xx=Ga(function(i,s,o){wt.call(i,o)?i[o].push(s):Vi(i,o,[s])});function Ex(i,s,o,h){i=be(i)?i:Ln(i),o=o&&!h?ut(o):0;var p=i.length;return o<0&&(o=$t(p+o,0)),au(i)?o<=p&&i.indexOf(s,o)>-1:!!p&&wn(i,s,o)>-1}var Ax=ct(function(i,s,o){var h=-1,p=typeof s=="function",y=be(i)?M(i.length):[];return pr(i,function(b){y[++h]=p?De(s,b,o):Rs(b,s,o)}),y}),bx=Ga(function(i,s,o){Vi(i,o,s)});function eu(i,s){var o=at(i)?Bt:Af;return o(i,et(s,3))}function wx(i,s,o,h){return i==null?[]:(at(s)||(s=s==null?[]:[s]),o=h?e:o,at(o)||(o=o==null?[]:[o]),_f(i,s,o))}var Tx=Ga(function(i,s,o){i[o?0:1].push(s)},function(){return[[],[]]});function _x(i,s,o){var h=at(i)?_o:Yc,p=arguments.length<3;return h(i,et(s,4),o,p,pr)}function Cx(i,s,o){var h=at(i)?Um:Yc,p=arguments.length<3;return h(i,et(s,4),o,p,df)}function Sx(i,s){var o=at(i)?lr:gf;return o(i,nu(et(s,3)))}function Dx(i){var s=at(i)?hf:Ey;return s(i)}function Nx(i,s,o){(o?pe(i,s,o):s===e)?s=1:s=ut(s);var h=at(i)?Q1:Ay;return h(i,s)}function Ox(i){var s=at(i)?J1:wy;return s(i)}function Mx(i){if(i==null)return 0;if(be(i))return au(i)?_n(i):i.length;var s=ue(i);return s==jt||s==Mt?i.size:zo(i).length}function Bx(i,s,o){var h=at(i)?Co:Ty;return o&&pe(i,s,o)&&(s=e),h(i,et(s,3))}var Ix=ct(function(i,s){if(i==null)return[];var o=s.length;return o>1&&pe(i,s[0],s[1])?s=[]:o>2&&pe(s[0],s[1],s[2])&&(s=[s[0]]),_f(i,ie(s,1),[])}),iu=p1||function(){return ee.Date.now()};function Px(i,s){if(typeof s!="function")throw new We(l);return i=ut(i),function(){if(--i<1)return s.apply(this,arguments)}}function xp(i,s,o){return s=o?e:s,s=i&&s==null?i.length:s,zi(i,tt,e,e,e,e,s)}function Ep(i,s){var o;if(typeof s!="function")throw new We(l);return i=ut(i),function(){return--i>0&&(o=s.apply(this,arguments)),i<=1&&(s=e),o}}var dl=ct(function(i,s,o){var h=D;if(o.length){var p=cr(o,In(dl));h|=$}return zi(i,h,s,o,p)}),Ap=ct(function(i,s,o){var h=D|k;if(o.length){var p=cr(o,In(Ap));h|=$}return zi(s,h,i,o,p)});function bp(i,s,o){s=o?e:s;var h=zi(i,W,e,e,e,e,e,s);return h.placeholder=bp.placeholder,h}function wp(i,s,o){s=o?e:s;var h=zi(i,X,e,e,e,e,e,s);return h.placeholder=wp.placeholder,h}function Tp(i,s,o){var h,p,y,b,_,N,F=0,U=!1,q=!1,G=!0;if(typeof i!="function")throw new We(l);s=Xe(s)||0,Lt(o)&&(U=!!o.leading,q="maxWait"in o,y=q?$t(Xe(o.maxWait)||0,s):y,G="trailing"in o?!!o.trailing:G);function j(Ht){var hi=h,Zi=p;return h=p=e,F=Ht,b=i.apply(Zi,hi),b}function it(Ht){return F=Ht,_=Hs(ft,s),U?j(Ht):b}function lt(Ht){var hi=Ht-N,Zi=Ht-F,Vp=s-hi;return q?ae(Vp,y-Zi):Vp}function rt(Ht){var hi=Ht-N,Zi=Ht-F;return N===e||hi>=s||hi<0||q&&Zi>=y}function ft(){var Ht=iu();if(rt(Ht))return dt(Ht);_=Hs(ft,lt(Ht))}function dt(Ht){return _=e,G&&h?j(Ht):(h=p=e,b)}function Be(){_!==e&&Pf(_),F=0,h=N=p=_=e}function de(){return _===e?b:dt(iu())}function Ie(){var Ht=iu(),hi=rt(Ht);if(h=arguments,p=this,N=Ht,hi){if(_===e)return it(N);if(q)return Pf(_),_=Hs(ft,s),j(N)}return _===e&&(_=Hs(ft,s)),b}return Ie.cancel=Be,Ie.flush=de,Ie}var Lx=ct(function(i,s){return pf(i,1,s)}),Rx=ct(function(i,s,o){return pf(i,Xe(s)||0,o)});function Fx(i){return zi(i,V)}function ru(i,s){if(typeof i!="function"||s!=null&&typeof s!="function")throw new We(l);var o=function(){var h=arguments,p=s?s.apply(this,h):h[0],y=o.cache;if(y.has(p))return y.get(p);var b=i.apply(this,h);return o.cache=y.set(p,b)||y,b};return o.cache=new(ru.Cache||Wi),o}ru.Cache=Wi;function nu(i){if(typeof i!="function")throw new We(l);return function(){var s=arguments;switch(s.length){case 0:return!i.call(this);case 1:return!i.call(this,s[0]);case 2:return!i.call(this,s[0],s[1]);case 3:return!i.call(this,s[0],s[1],s[2])}return!i.apply(this,s)}}function Ux(i){return Ep(2,i)}var kx=_y(function(i,s){s=s.length==1&&at(s[0])?Bt(s[0],Ne(et())):Bt(ie(s,1),Ne(et()));var o=s.length;return ct(function(h){for(var p=-1,y=ae(h.length,o);++p<y;)h[p]=s[p].call(this,h[p]);return De(i,this,h)})}),gl=ct(function(i,s){var o=cr(s,In(gl));return zi(i,$,e,s,o)}),_p=ct(function(i,s){var o=cr(s,In(_p));return zi(i,K,e,s,o)}),qx=$i(function(i,s){return zi(i,Z,e,e,e,s)});function Hx(i,s){if(typeof i!="function")throw new We(l);return s=s===e?s:ut(s),ct(i,s)}function Wx(i,s){if(typeof i!="function")throw new We(l);return s=s==null?0:$t(ut(s),0),ct(function(o){var h=o[s],p=mr(o,0,s);return h&&hr(p,h),De(i,this,p)})}function Vx(i,s,o){var h=!0,p=!0;if(typeof i!="function")throw new We(l);return Lt(o)&&(h="leading"in o?!!o.leading:h,p="trailing"in o?!!o.trailing:p),Tp(i,s,{leading:h,maxWait:s,trailing:p})}function zx(i){return xp(i,1)}function $x(i,s){return gl(jo(s),i)}function Gx(){if(!arguments.length)return[];var i=arguments[0];return at(i)?i:[i]}function Xx(i){return ze(i,T)}function Yx(i,s){return s=typeof s=="function"?s:e,ze(i,T,s)}function Zx(i){return ze(i,E|T)}function Kx(i,s){return s=typeof s=="function"?s:e,ze(i,E|T,s)}function Qx(i,s){return s==null||ff(i,s,Zt(s))}function li(i,s){return i===s||i!==i&&s!==s}var Jx=Ka(Ho),jx=Ka(function(i,s){return i>=s}),$r=vf(function(){return arguments}())?vf:function(i){return Rt(i)&&wt.call(i,"callee")&&!nf.call(i,"callee")},at=M.isArray,tE=Uc?Ne(Uc):oy;function be(i){return i!=null&&su(i.length)&&!Xi(i)}function qt(i){return Rt(i)&&be(i)}function eE(i){return i===!0||i===!1||Rt(i)&&fe(i)==Ce}var yr=g1||Cl,iE=kc?Ne(kc):ly;function rE(i){return Rt(i)&&i.nodeType===1&&!Ws(i)}function nE(i){if(i==null)return!0;if(be(i)&&(at(i)||typeof i=="string"||typeof i.splice=="function"||yr(i)||Pn(i)||$r(i)))return!i.length;var s=ue(i);if(s==jt||s==Mt)return!i.size;if(qs(i))return!zo(i).length;for(var o in i)if(wt.call(i,o))return!1;return!0}function sE(i,s){return Fs(i,s)}function aE(i,s,o){o=typeof o=="function"?o:e;var h=o?o(i,s):e;return h===e?Fs(i,s,e,o):!!h}function ml(i){if(!Rt(i))return!1;var s=fe(i);return s==Ri||s==se||typeof i.message=="string"&&typeof i.name=="string"&&!Ws(i)}function uE(i){return typeof i=="number"&&af(i)}function Xi(i){if(!Lt(i))return!1;var s=fe(i);return s==yi||s==rr||s==Jt||s==da}function Cp(i){return typeof i=="number"&&i==ut(i)}function su(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=Le}function Lt(i){var s=typeof i;return i!=null&&(s=="object"||s=="function")}function Rt(i){return i!=null&&typeof i=="object"}var Sp=qc?Ne(qc):cy;function oE(i,s){return i===s||Vo(i,s,al(s))}function lE(i,s,o){return o=typeof o=="function"?o:e,Vo(i,s,al(s),o)}function hE(i){return Dp(i)&&i!=+i}function cE(i){if(Yy(i))throw new st(u);return xf(i)}function fE(i){return i===null}function pE(i){return i==null}function Dp(i){return typeof i=="number"||Rt(i)&&fe(i)==ni}function Ws(i){if(!Rt(i)||fe(i)!=te)return!1;var s=Ba(i);if(s===null)return!0;var o=wt.call(s,"constructor")&&s.constructor;return typeof o=="function"&&o instanceof o&&Da.call(o)==l1}var yl=Hc?Ne(Hc):fy;function dE(i){return Cp(i)&&i>=-Le&&i<=Le}var Np=Wc?Ne(Wc):py;function au(i){return typeof i=="string"||!at(i)&&Rt(i)&&fe(i)==Or}function Me(i){return typeof i=="symbol"||Rt(i)&&fe(i)==fn}var Pn=Vc?Ne(Vc):dy;function gE(i){return i===e}function mE(i){return Rt(i)&&ue(i)==Mr}function yE(i){return Rt(i)&&fe(i)==so}var vE=Ka($o),xE=Ka(function(i,s){return i<=s});function Op(i){if(!i)return[];if(be(i))return au(i)?ui(i):Ae(i);if(Ns&&i[Ns])return Qm(i[Ns]());var s=ue(i),o=s==jt?Bo:s==Mt?_a:Ln;return o(i)}function Yi(i){if(!i)return i===0?i:0;if(i=Xe(i),i===Pt||i===-Pt){var s=i<0?-1:1;return s*pa}return i===i?i:0}function ut(i){var s=Yi(i),o=s%1;return s===s?o?s-o:s:0}function Mp(i){return i?Hr(ut(i),0,Re):0}function Xe(i){if(typeof i=="number")return i;if(Me(i))return hn;if(Lt(i)){var s=typeof i.valueOf=="function"?i.valueOf():i;i=Lt(s)?s+"":s}if(typeof i!="string")return i===0?i:+i;i=Zc(i);var o=Ui.test(i);return o||Pr.test(i)?Pm(i.slice(2),o?2:8):Ts.test(i)?hn:+i}function Bp(i){return Ai(i,we(i))}function EE(i){return i?Hr(ut(i),-Le,Le):i===0?i:0}function Et(i){return i==null?"":Oe(i)}var AE=Mn(function(i,s){if(qs(s)||be(s)){Ai(s,Zt(s),i);return}for(var o in s)wt.call(s,o)&&Ps(i,o,s[o])}),Ip=Mn(function(i,s){Ai(s,we(s),i)}),uu=Mn(function(i,s,o,h){Ai(s,we(s),i,h)}),bE=Mn(function(i,s,o,h){Ai(s,Zt(s),i,h)}),wE=$i(Uo);function TE(i,s){var o=On(i);return s==null?o:cf(o,s)}var _E=ct(function(i,s){i=_t(i);var o=-1,h=s.length,p=h>2?s[2]:e;for(p&&pe(s[0],s[1],p)&&(h=1);++o<h;)for(var y=s[o],b=we(y),_=-1,N=b.length;++_<N;){var F=b[_],U=i[F];(U===e||li(U,Sn[F])&&!wt.call(i,F))&&(i[F]=y[F])}return i}),CE=ct(function(i){return i.push(e,Kf),De(Pp,e,i)});function SE(i,s){return $c(i,et(s,3),Ei)}function DE(i,s){return $c(i,et(s,3),qo)}function NE(i,s){return i==null?i:ko(i,et(s,3),we)}function OE(i,s){return i==null?i:mf(i,et(s,3),we)}function ME(i,s){return i&&Ei(i,et(s,3))}function BE(i,s){return i&&qo(i,et(s,3))}function IE(i){return i==null?[]:Wa(i,Zt(i))}function PE(i){return i==null?[]:Wa(i,we(i))}function vl(i,s,o){var h=i==null?e:Wr(i,s);return h===e?o:h}function LE(i,s){return i!=null&&jf(i,s,ny)}function xl(i,s){return i!=null&&jf(i,s,sy)}var RE=$f(function(i,s,o){s!=null&&typeof s.toString!="function"&&(s=Na.call(s)),i[s]=o},Al(Te)),FE=$f(function(i,s,o){s!=null&&typeof s.toString!="function"&&(s=Na.call(s)),wt.call(i,s)?i[s].push(o):i[s]=[o]},et),UE=ct(Rs);function Zt(i){return be(i)?lf(i):zo(i)}function we(i){return be(i)?lf(i,!0):gy(i)}function kE(i,s){var o={};return s=et(s,3),Ei(i,function(h,p,y){Vi(o,s(h,p,y),h)}),o}function qE(i,s){var o={};return s=et(s,3),Ei(i,function(h,p,y){Vi(o,p,s(h,p,y))}),o}var HE=Mn(function(i,s,o){Va(i,s,o)}),Pp=Mn(function(i,s,o,h){Va(i,s,o,h)}),WE=$i(function(i,s){var o={};if(i==null)return o;var h=!1;s=Bt(s,function(y){return y=gr(y,i),h||(h=y.length>1),y}),Ai(i,nl(i),o),h&&(o=ze(o,E|A|T,Ry));for(var p=s.length;p--;)Ko(o,s[p]);return o});function VE(i,s){return Lp(i,nu(et(s)))}var zE=$i(function(i,s){return i==null?{}:yy(i,s)});function Lp(i,s){if(i==null)return{};var o=Bt(nl(i),function(h){return[h]});return s=et(s),Cf(i,o,function(h,p){return s(h,p[0])})}function $E(i,s,o){s=gr(s,i);var h=-1,p=s.length;for(p||(p=1,i=e);++h<p;){var y=i==null?e:i[bi(s[h])];y===e&&(h=p,y=o),i=Xi(y)?y.call(i):y}return i}function GE(i,s,o){return i==null?i:Us(i,s,o)}function XE(i,s,o,h){return h=typeof h=="function"?h:e,i==null?i:Us(i,s,o,h)}var Rp=Yf(Zt),Fp=Yf(we);function YE(i,s,o){var h=at(i),p=h||yr(i)||Pn(i);if(s=et(s,4),o==null){var y=i&&i.constructor;p?o=h?new y:[]:Lt(i)?o=Xi(y)?On(Ba(i)):{}:o={}}return(p?He:Ei)(i,function(b,_,N){return s(o,b,_,N)}),o}function ZE(i,s){return i==null?!0:Ko(i,s)}function KE(i,s,o){return i==null?i:Mf(i,s,jo(o))}function QE(i,s,o,h){return h=typeof h=="function"?h:e,i==null?i:Mf(i,s,jo(o),h)}function Ln(i){return i==null?[]:Mo(i,Zt(i))}function JE(i){return i==null?[]:Mo(i,we(i))}function jE(i,s,o){return o===e&&(o=s,s=e),o!==e&&(o=Xe(o),o=o===o?o:0),s!==e&&(s=Xe(s),s=s===s?s:0),Hr(Xe(i),s,o)}function tA(i,s,o){return s=Yi(s),o===e?(o=s,s=0):o=Yi(o),i=Xe(i),ay(i,s,o)}function eA(i,s,o){if(o&&typeof o!="boolean"&&pe(i,s,o)&&(s=o=e),o===e&&(typeof s=="boolean"?(o=s,s=e):typeof i=="boolean"&&(o=i,i=e)),i===e&&s===e?(i=0,s=1):(i=Yi(i),s===e?(s=i,i=0):s=Yi(s)),i>s){var h=i;i=s,s=h}if(o||i%1||s%1){var p=uf();return ae(i+p*(s-i+Im("1e-"+((p+"").length-1))),s)}return Xo(i,s)}var iA=Bn(function(i,s,o){return s=s.toLowerCase(),i+(o?Up(s):s)});function Up(i){return El(Et(i).toLowerCase())}function kp(i){return i=Et(i),i&&i.replace(_s,Gm).replace(wm,"")}function rA(i,s,o){i=Et(i),s=Oe(s);var h=i.length;o=o===e?h:Hr(ut(o),0,h);var p=o;return o-=s.length,o>=0&&i.slice(o,p)==s}function nA(i){return i=Et(i),i&&oo.test(i)?i.replace(vs,Xm):i}function sA(i){return i=Et(i),i&&go.test(i)?i.replace(ar,"\\$&"):i}var aA=Bn(function(i,s,o){return i+(o?"-":"")+s.toLowerCase()}),uA=Bn(function(i,s,o){return i+(o?" ":"")+s.toLowerCase()}),oA=Wf("toLowerCase");function lA(i,s,o){i=Et(i),s=ut(s);var h=s?_n(i):0;if(!s||h>=s)return i;var p=(s-h)/2;return Za(Ra(p),o)+i+Za(La(p),o)}function hA(i,s,o){i=Et(i),s=ut(s);var h=s?_n(i):0;return s&&h<s?i+Za(s-h,o):i}function cA(i,s,o){i=Et(i),s=ut(s);var h=s?_n(i):0;return s&&h<s?Za(s-h,o)+i:i}function fA(i,s,o){return o||s==null?s=0:s&&(s=+s),x1(Et(i).replace(As,""),s||0)}function pA(i,s,o){return(o?pe(i,s,o):s===e)?s=1:s=ut(s),Yo(Et(i),s)}function dA(){var i=arguments,s=Et(i[0]);return i.length<3?s:s.replace(i[1],i[2])}var gA=Bn(function(i,s,o){return i+(o?"_":"")+s.toLowerCase()});function mA(i,s,o){return o&&typeof o!="number"&&pe(i,s,o)&&(s=o=e),o=o===e?Re:o>>>0,o?(i=Et(i),i&&(typeof s=="string"||s!=null&&!yl(s))&&(s=Oe(s),!s&&Tn(i))?mr(ui(i),0,o):i.split(s,o)):[]}var yA=Bn(function(i,s,o){return i+(o?" ":"")+El(s)});function vA(i,s,o){return i=Et(i),o=o==null?0:Hr(ut(o),0,i.length),s=Oe(s),i.slice(o,o+s.length)==s}function xA(i,s,o){var h=m.templateSettings;o&&pe(i,s,o)&&(s=e),i=Et(i),s=uu({},s,h,Zf);var p=uu({},s.imports,h.imports,Zf),y=Zt(p),b=Mo(p,y),_,N,F=0,U=s.interpolate||yn,q="__p += '",G=Io((s.escape||yn).source+"|"+U.source+"|"+(U===Es?xa:yn).source+"|"+(s.evaluate||yn).source+"|$","g"),j="//# sourceURL="+(wt.call(s,"sourceURL")?(s.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Dm+"]")+`
|
|
15
|
+
`;i.replace(G,function(rt,ft,dt,Be,de,Ie){return dt||(dt=Be),q+=i.slice(F,Ie).replace(vo,Ym),ft&&(_=!0,q+=`' +
|
|
17
16
|
__e(`+ft+`) +
|
|
18
17
|
'`),de&&(N=!0,q+=`';
|
|
19
18
|
`+de+`;
|
|
20
19
|
__p += '`),dt&&(q+=`' +
|
|
21
20
|
((__t = (`+dt+`)) == null ? '' : __t) +
|
|
22
21
|
'`),F=Ie+rt.length,rt}),q+=`';
|
|
23
|
-
`;var it=
|
|
22
|
+
`;var it=wt.call(s,"variable")&&s.variable;if(!it)q=`with (obj) {
|
|
24
23
|
`+q+`
|
|
25
24
|
}
|
|
26
|
-
`;else if(ya.test(it))throw new st(c);q=(N?q.replace(
|
|
25
|
+
`;else if(ya.test(it))throw new st(c);q=(N?q.replace(gn,""):q).replace(ao,"$1").replace(uo,"$1;"),q="function("+(it||"obj")+`) {
|
|
27
26
|
`+(it?"":`obj || (obj = {});
|
|
28
27
|
`)+"var __t, __p = ''"+(_?", __e = _.escape":"")+(N?`, __j = Array.prototype.join;
|
|
29
28
|
function print() { __p += __j.call(arguments, '') }
|
|
30
29
|
`:`;
|
|
31
30
|
`)+q+`return __p
|
|
32
|
-
}`;var lt=Hp(function(){return vt(y,j+"return "+q).apply(e,b)});if(lt.source=q,yl(lt))throw lt;return lt}function EA(i){return Et(i).toLowerCase()}function AA(i){return Et(i).toUpperCase()}function bA(i,s,o){if(i=Et(i),i&&(o||s===e))return Zc(i);if(!i||!(s=Me(s)))return i;var h=ui(i),p=ui(s),y=Kc(h,p),b=Qc(h,p)+1;return yr(h,y,b).join("")}function wA(i,s,o){if(i=Et(i),i&&(o||s===e))return i.slice(0,jc(i)+1);if(!i||!(s=Me(s)))return i;var h=ui(i),p=Qc(h,ui(s))+1;return yr(h,0,p).join("")}function TA(i,s,o){if(i=Et(i),i&&(o||s===e))return i.replace(Es,"");if(!i||!(s=Me(s)))return i;var h=ui(i),p=Kc(h,ui(s));return yr(h,p).join("")}function _A(i,s){var o=J,h=nt;if(Lt(s)){var p="separator"in s?s.separator:p;o="length"in s?ut(s.length):o,h="omission"in s?Me(s.omission):h}i=Et(i);var y=i.length;if(wn(i)){var b=ui(i);y=b.length}if(o>=y)return i;var _=o-Tn(h);if(_<1)return h;var N=b?yr(b,0,_).join(""):i.slice(0,_);if(p===e)return N+h;if(b&&(_+=N.length-_),vl(p)){if(i.slice(_).search(p)){var F,U=N;for(p.global||(p=Po(p.source,Et(bs.exec(p))+"g")),p.lastIndex=0;F=p.exec(U);)var q=F.index;N=N.slice(0,q===e?_:q)}}else if(i.indexOf(Me(p),_)!=_){var G=N.lastIndexOf(p);G>-1&&(N=N.slice(0,G))}return N+h}function CA(i){return i=Et(i),i&&vs.test(i)?i.replace(ms,ey):i}var SA=On(function(i,s,o){return i+(o?" ":"")+s.toUpperCase()}),Al=Wf("toUpperCase");function qp(i,s,o){return i=Et(i),s=o?e:s,s===e?Km(i)?ny(i):Hm(i):i.match(s)||[]}var Hp=ht(function(i,s){try{return De(i,e,s)}catch(o){return yl(o)?o:new st(o)}}),DA=$i(function(i,s){return He(s,function(o){o=bi(o),zi(i,o,gl(i[o],i))}),i});function NA(i){var s=i==null?0:i.length,o=et();return i=s?Bt(i,function(h){if(typeof h[1]!="function")throw new We(l);return[o(h[0]),h[1]]}):[],ht(function(h){for(var p=-1;++p<s;){var y=i[p];if(De(y[0],this,h))return De(y[1],this,h)}})}function MA(i){return e1(Ve(i,E))}function bl(i){return function(){return i}}function OA(i,s){return i==null||i!==i?s:i}var BA=Vf(),IA=Vf(!0);function Te(i){return i}function wl(i){return Ef(typeof i=="function"?i:Ve(i,E))}function PA(i){return bf(Ve(i,E))}function LA(i,s){return wf(i,Ve(s,E))}var RA=ht(function(i,s){return function(o){return Ls(o,i,s)}}),FA=ht(function(i,s){return function(o){return Ls(i,o,s)}});function Tl(i,s,o){var h=Zt(s),p=Wa(s,h);o==null&&!(Lt(s)&&(p.length||!h.length))&&(o=s,s=i,i=this,p=Wa(s,Zt(s)));var y=!(Lt(o)&&"chain"in o)||!!o.chain,b=Xi(i);return He(p,function(_){var N=s[_];i[_]=N,b&&(i.prototype[_]=function(){var F=this.__chain__;if(y||F){var U=i(this.__wrapped__),q=U.__actions__=Ae(this.__actions__);return q.push({func:N,args:arguments,thisArg:i}),U.__chain__=F,U}return N.apply(i,cr([this.value()],arguments))})}),i}function UA(){return te._===this&&(te._=hy),this}function _l(){}function kA(i){return i=ut(i),ht(function(s){return Tf(s,i)})}var qA=il(Bt),HA=il(Vc),WA=il(So);function Wp(i){return ll(i)?Do(bi(i)):v1(i)}function zA(i){return function(s){return i==null?e:Hr(i,s)}}var VA=Gf(),$A=Gf(!0);function Cl(){return[]}function Sl(){return!1}function GA(){return{}}function XA(){return""}function YA(){return!0}function ZA(i,s){if(i=ut(i),i<1||i>Le)return[];var o=Re,h=ae(i,Re);s=et(s),i-=Re;for(var p=Oo(h,s);++o<i;)s(o);return p}function KA(i){return at(i)?Bt(i,bi):Oe(i)?[i]:Ae(op(Et(i)))}function QA(i){var s=++oy;return Et(i)+s}var JA=Ya(function(i,s){return i+s},0),jA=rl("ceil"),tb=Ya(function(i,s){return i/s},1),eb=rl("floor");function ib(i){return i&&i.length?Ha(i,Te,Wo):e}function rb(i,s){return i&&i.length?Ha(i,et(s,2),Wo):e}function nb(i){return Xc(i,Te)}function sb(i,s){return Xc(i,et(s,2))}function ab(i){return i&&i.length?Ha(i,Te,Go):e}function ub(i,s){return i&&i.length?Ha(i,et(s,2),Go):e}var ob=Ya(function(i,s){return i*s},1),lb=rl("round"),hb=Ya(function(i,s){return i-s},0);function cb(i){return i&&i.length?Mo(i,Te):0}function fb(i,s){return i&&i.length?Mo(i,et(s,2)):0}return m.after=Px,m.ary=xp,m.assign=AE,m.assignIn=Ip,m.assignInWith=uu,m.assignWith=bE,m.at=wE,m.before=Ep,m.bind=gl,m.bindAll=DA,m.bindKey=Ap,m.castArray=Gx,m.chain=mp,m.chunk=ev,m.compact=iv,m.concat=rv,m.cond=NA,m.conforms=MA,m.constant=bl,m.countBy=cx,m.create=TE,m.curry=bp,m.curryRight=wp,m.debounce=Tp,m.defaults=_E,m.defaultsDeep=CE,m.defer=Lx,m.delay=Rx,m.difference=nv,m.differenceBy=sv,m.differenceWith=av,m.drop=uv,m.dropRight=ov,m.dropRightWhile=lv,m.dropWhile=hv,m.fill=cv,m.filter=px,m.flatMap=mx,m.flatMapDeep=yx,m.flatMapDepth=vx,m.flatten=fp,m.flattenDeep=fv,m.flattenDepth=pv,m.flip=Fx,m.flow=BA,m.flowRight=IA,m.fromPairs=dv,m.functions=IE,m.functionsIn=PE,m.groupBy=xx,m.initial=mv,m.intersection=yv,m.intersectionBy=vv,m.intersectionWith=xv,m.invert=RE,m.invertBy=FE,m.invokeMap=Ax,m.iteratee=wl,m.keyBy=bx,m.keys=Zt,m.keysIn=we,m.map=eu,m.mapKeys=kE,m.mapValues=qE,m.matches=PA,m.matchesProperty=LA,m.memoize=ru,m.merge=HE,m.mergeWith=Pp,m.method=RA,m.methodOf=FA,m.mixin=Tl,m.negate=nu,m.nthArg=kA,m.omit=WE,m.omitBy=zE,m.once=Ux,m.orderBy=wx,m.over=qA,m.overArgs=kx,m.overEvery=HA,m.overSome=WA,m.partial=ml,m.partialRight=_p,m.partition=Tx,m.pick=VE,m.pickBy=Lp,m.property=Wp,m.propertyOf=zA,m.pull=wv,m.pullAll=dp,m.pullAllBy=Tv,m.pullAllWith=_v,m.pullAt=Cv,m.range=VA,m.rangeRight=$A,m.rearg=qx,m.reject=Sx,m.remove=Sv,m.rest=Hx,m.reverse=pl,m.sampleSize=Nx,m.set=GE,m.setWith=XE,m.shuffle=Mx,m.slice=Dv,m.sortBy=Ix,m.sortedUniq=Lv,m.sortedUniqBy=Rv,m.split=mA,m.spread=Wx,m.tail=Fv,m.take=Uv,m.takeRight=kv,m.takeRightWhile=qv,m.takeWhile=Hv,m.tap=ix,m.throttle=zx,m.thru=tu,m.toArray=Mp,m.toPairs=Rp,m.toPairsIn=Fp,m.toPath=KA,m.toPlainObject=Bp,m.transform=YE,m.unary=Vx,m.union=Wv,m.unionBy=zv,m.unionWith=Vv,m.uniq=$v,m.uniqBy=Gv,m.uniqWith=Xv,m.unset=ZE,m.unzip=dl,m.unzipWith=gp,m.update=KE,m.updateWith=QE,m.values=Pn,m.valuesIn=JE,m.without=Yv,m.words=qp,m.wrap=$x,m.xor=Zv,m.xorBy=Kv,m.xorWith=Qv,m.zip=Jv,m.zipObject=jv,m.zipObjectDeep=tx,m.zipWith=ex,m.entries=Rp,m.entriesIn=Fp,m.extend=Ip,m.extendWith=uu,Tl(m,m),m.add=JA,m.attempt=Hp,m.camelCase=iA,m.capitalize=Up,m.ceil=jA,m.clamp=jE,m.clone=Xx,m.cloneDeep=Zx,m.cloneDeepWith=Kx,m.cloneWith=Yx,m.conformsTo=Qx,m.deburr=kp,m.defaultTo=OA,m.divide=tb,m.endsWith=rA,m.eq=li,m.escape=nA,m.escapeRegExp=sA,m.every=fx,m.find=dx,m.findIndex=hp,m.findKey=SE,m.findLast=gx,m.findLastIndex=cp,m.findLastKey=DE,m.floor=eb,m.forEach=yp,m.forEachRight=vp,m.forIn=NE,m.forInRight=ME,m.forOwn=OE,m.forOwnRight=BE,m.get=xl,m.gt=Jx,m.gte=jx,m.has=LE,m.hasIn=El,m.head=pp,m.identity=Te,m.includes=Ex,m.indexOf=gv,m.inRange=tA,m.invoke=UE,m.isArguments=Vr,m.isArray=at,m.isArrayBuffer=tE,m.isArrayLike=be,m.isArrayLikeObject=qt,m.isBoolean=eE,m.isBuffer=vr,m.isDate=iE,m.isElement=rE,m.isEmpty=nE,m.isEqual=sE,m.isEqualWith=aE,m.isError=yl,m.isFinite=uE,m.isFunction=Xi,m.isInteger=Cp,m.isLength=su,m.isMap=Sp,m.isMatch=oE,m.isMatchWith=lE,m.isNaN=hE,m.isNative=cE,m.isNil=pE,m.isNull=fE,m.isNumber=Dp,m.isObject=Lt,m.isObjectLike=Rt,m.isPlainObject=Hs,m.isRegExp=vl,m.isSafeInteger=dE,m.isSet=Np,m.isString=au,m.isSymbol=Oe,m.isTypedArray=In,m.isUndefined=gE,m.isWeakMap=mE,m.isWeakSet=yE,m.join=Ev,m.kebabCase=aA,m.last=Ge,m.lastIndexOf=Av,m.lowerCase=uA,m.lowerFirst=oA,m.lt=vE,m.lte=xE,m.max=ib,m.maxBy=rb,m.mean=nb,m.meanBy=sb,m.min=ab,m.minBy=ub,m.stubArray=Cl,m.stubFalse=Sl,m.stubObject=GA,m.stubString=XA,m.stubTrue=YA,m.multiply=ob,m.nth=bv,m.noConflict=UA,m.noop=_l,m.now=iu,m.pad=lA,m.padEnd=hA,m.padStart=cA,m.parseInt=fA,m.random=eA,m.reduce=_x,m.reduceRight=Cx,m.repeat=pA,m.replace=dA,m.result=$E,m.round=lb,m.runInContext=C,m.sample=Dx,m.size=Ox,m.snakeCase=gA,m.some=Bx,m.sortedIndex=Nv,m.sortedIndexBy=Mv,m.sortedIndexOf=Ov,m.sortedLastIndex=Bv,m.sortedLastIndexBy=Iv,m.sortedLastIndexOf=Pv,m.startCase=yA,m.startsWith=vA,m.subtract=hb,m.sum=cb,m.sumBy=fb,m.template=xA,m.times=ZA,m.toFinite=Yi,m.toInteger=ut,m.toLength=Op,m.toLower=EA,m.toNumber=Xe,m.toSafeInteger=EE,m.toString=Et,m.toUpper=AA,m.trim=bA,m.trimEnd=wA,m.trimStart=TA,m.truncate=_A,m.unescape=CA,m.uniqueId=QA,m.upperCase=SA,m.upperFirst=Al,m.each=yp,m.eachRight=vp,m.first=pp,Tl(m,function(){var i={};return Ei(m,function(s,o){bt.call(m.prototype,o)||(i[o]=s)}),i}(),{chain:!1}),m.VERSION=r,He(["bind","bindKey","curry","curryRight","partial","partialRight"],function(i){m[i].placeholder=m}),He(["drop","take"],function(i,s){pt.prototype[i]=function(o){o=o===e?1:$t(ut(o),0);var h=this.__filtered__&&!s?new pt(this):this.clone();return h.__filtered__?h.__takeCount__=ae(o,h.__takeCount__):h.__views__.push({size:ae(o,Re),type:i+(h.__dir__<0?"Right":"")}),h},pt.prototype[i+"Right"]=function(o){return this.reverse()[i](o).reverse()}}),He(["filter","map","takeWhile"],function(i,s){var o=s+1,h=o==Ct||o==B;pt.prototype[i]=function(p){var y=this.clone();return y.__iteratees__.push({iteratee:et(p,3),type:o}),y.__filtered__=y.__filtered__||h,y}}),He(["head","last"],function(i,s){var o="take"+(s?"Right":"");pt.prototype[i]=function(){return this[o](1).value()[0]}}),He(["initial","tail"],function(i,s){var o="drop"+(s?"":"Right");pt.prototype[i]=function(){return this.__filtered__?new pt(this):this[o](1)}}),pt.prototype.compact=function(){return this.filter(Te)},pt.prototype.find=function(i){return this.filter(i).head()},pt.prototype.findLast=function(i){return this.reverse().find(i)},pt.prototype.invokeMap=ht(function(i,s){return typeof i=="function"?new pt(this):this.map(function(o){return Ls(o,i,s)})}),pt.prototype.reject=function(i){return this.filter(nu(et(i)))},pt.prototype.slice=function(i,s){i=ut(i);var o=this;return o.__filtered__&&(i>0||s<0)?new pt(o):(i<0?o=o.takeRight(-i):i&&(o=o.drop(i)),s!==e&&(s=ut(s),o=s<0?o.dropRight(-s):o.take(s-i)),o)},pt.prototype.takeRightWhile=function(i){return this.reverse().takeWhile(i).reverse()},pt.prototype.toArray=function(){return this.take(Re)},Ei(pt.prototype,function(i,s){var o=/^(?:filter|find|map|reject)|While$/.test(s),h=/^(?:head|last)$/.test(s),p=m[h?"take"+(s=="last"?"Right":""):s],y=h||/^find/.test(s);p&&(m.prototype[s]=function(){var b=this.__wrapped__,_=h?[1]:arguments,N=b instanceof pt,F=_[0],U=N||at(b),q=function(ft){var dt=p.apply(m,cr([ft],_));return h&&G?dt[0]:dt};U&&o&&typeof F=="function"&&F.length!=1&&(N=U=!1);var G=this.__chain__,j=!!this.__actions__.length,it=y&&!G,lt=N&&!j;if(!y&&U){b=lt?b:new pt(this);var rt=i.apply(b,_);return rt.__actions__.push({func:tu,args:[q],thisArg:e}),new ze(rt,G)}return it&<?i.apply(this,_):(rt=this.thru(q),it?h?rt.value()[0]:rt.value():rt)})}),He(["pop","push","shift","sort","splice","unshift"],function(i){var s=Ca[i],o=/^(?:push|sort|unshift)$/.test(i)?"tap":"thru",h=/^(?:pop|shift)$/.test(i);m.prototype[i]=function(){var p=arguments;if(h&&!this.__chain__){var y=this.value();return s.apply(at(y)?y:[],p)}return this[o](function(b){return s.apply(at(b)?b:[],p)})}}),Ei(pt.prototype,function(i,s){var o=m[s];if(o){var h=o.name+"";bt.call(Dn,h)||(Dn[h]=[]),Dn[h].push({name:s,func:o})}}),Dn[Xa(e,k).name]=[{name:"wrapper",func:e}],pt.prototype.clone=Cy,pt.prototype.reverse=Sy,pt.prototype.value=Dy,m.prototype.at=rx,m.prototype.chain=nx,m.prototype.commit=sx,m.prototype.next=ax,m.prototype.plant=ox,m.prototype.reverse=lx,m.prototype.toJSON=m.prototype.valueOf=m.prototype.value=hx,m.prototype.first=m.prototype.head,Ds&&(m.prototype[Ds]=ux),m},_n=sy();Rr?((Rr.exports=_n)._=_n,wo._=_n):te._=_n}).call(Rn)}(ra,ra.exports);var zd=ra.exports;const ct=Ml(zd),Er=new L;class Tt{isBox2=!0;min;max;constructor(t=new L(1/0,1/0),e=new L(-1/0,-1/0)){this.min=t,this.max=e}applyMatrix3(t){return this.isEmpty()?this:(Zn[0].set(this.min.x,this.min.y).applyMatrix3(t),Zn[1].set(this.min.x,this.max.y).applyMatrix3(t),Zn[3].set(this.max.x,this.max.y).applyMatrix3(t),Zn[2].set(this.max.x,this.min.y).applyMatrix3(t),this.setFromPoints(Zn),this)}clone(){return new Tt().copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}ceil(){return this.min.ceilToZero(),this.max.ceilToZero(),this}distanceToPoint(t){return Er.copy(t).clamp(this.min,this.max).sub(t).length()}expandByXY(t,e){return this.min.minXY(t,e),this.max.maxXY(t,e),this}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByPoints(t){if(!t||!t.length)return this;for(let e=0,r=t.length;e<r;e++)this.expandByPoint(t[e]);return this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}expandByObject(t){return t.updateWorldMatrix(!1,!1),t.geometry.boundingBox!==void 0?((!t.geometry.boundingBox||t.geometry.boundingBox.isEmpty())&&t.computeBoundingBox(),rn.copy(t.geometry.boundingBox),rn.applyMatrix3(t.matrixWorld),this.union(rn)):t.geometry.points&&t.geometry.points.length&&(rn.setFromPoints(t.geometry.points),rn.applyMatrix3(t.matrixWorld),this.union(rn)),this}expandByBox(t){this.expandByPoint(t.min),this.expandByPoint(t.max)}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}floor(){return this.min.floorToZero(),this.max.floorToZero(),this}getCenter(t){return this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)}getPoints(t=[]){return t.length=0,t[0]={x:this.min.x,y:this.min.y},t[1]={x:this.min.x,y:this.max.y},t[2]={x:this.max.x,y:this.max.y},t[3]={x:this.max.x,y:this.min.y},t}getArea(){return this.getSize(Er),Er.x*Er.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}intersectsBox(t){return t?!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y):!1}intersectsObject(t){return!t||!t.geometry?!1:this.intersectsBox(t.geometry.boundingBox)}intersect(t){return this.min.max(t.min),this.max.min(t.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}round(){return this.min.roundToZero(),this.max.roundToZero(),this}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,r=t.length;e<r;e+=3)this.expandByPoint(Er.fromArray(t,e));return this}setFromPoints(t){this.makeEmpty();for(let e=0,r=t.length;e<r;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const r=Er.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(r),this.max.copy(t).add(r),this}setFromProjectionMatrix(t){return this.min.set(t.elements[6],t.elements[7]),this.max.set(t.elements[6],t.elements[7]),this}setFromObject(t){return this.makeEmpty(),this.expandByObject(t)}setFromMinMaxString(t,e=" "){if(this.makeEmpty(),!(t!=null&&t.length))return this;let r=t.split(e),a=ct.map(r,u=>parseFloat(u));for(let u=0,l=a.length;u<l;u+=2)this.expandByPoint(Er.fromArray(a,u));return this}translate(t){return this.min.add(t),this.max.add(t),this}toString(){return`{min:${this.min.toString()},max:${this.max.toString()}}`}union(t){return t.validate()?(this.min.min(t.min),this.max.max(t.max),this):this}validate(){return this.min.validate()&&this.max.validate()}unproject(t){return this.applyMatrix3(t.projectionMatrixInverse).applyMatrix3(t.matrixWorld)}}const rn=new Tt,Zn=[new L,new L,new L,new L];function Cu(n){const t=n.match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm);return t?t.map(parseFloat):[]}function wh(n){if(!n)return"inches";let t=n.querySelector("#defaultView"),e=t==null?void 0:t.getAttribute("units");return e||"inches"}function Vd(n){if(!n)return 1;let t=wh(n),e=1;switch(t){case"mm":e=500/39.3701;break;case"cm":e=50/39.3701;break;case"Metres":e=.5/39.3701;break;case"m":e=.5/39.3701;break;default:e=1}return e}const $d=/(\[[^\]]+\])/g,Gd=/(#[^\s+>~.[:]+)/g,Xd=/(\.[^\s+>~.[:]+)/g,Yd=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,Zd=/(:[\w-]+\([^)]*\))/gi,Kd=/(:[^\s+>~.[:]+)/g,Qd=/([^\s+>~.[:]+)/g;function Ar(n,t){const e=t.exec(n);return e?[n.replace(t," "),e.length]:[n,0]}function Jd(n){const t=[0,0,0];let e=n.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),r=0;return[e,r]=Ar(e,$d),t[1]+=r,[e,r]=Ar(e,Gd),t[0]+=r,[e,r]=Ar(e,Xd),t[1]+=r,[e,r]=Ar(e,Yd),t[2]+=r,[e,r]=Ar(e,Zd),t[1]+=r,[e,r]=Ar(e,Kd),t[1]+=r,e=e.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[e,r]=Ar(e,Qd),t[2]+=r,t.join("")}function jd(n){return n.replace(/(?!\u3000)\s+/gm," ").trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/)}function Su(n){const[t="",e=""]=n.split("(");return[t.trim(),e.trim().replace(")","")]}function t0(n,t=new Tt){if(!n)return t;let e=n.split(" "),r=ct.map(e,a=>parseFloat(a));return(r==null?void 0:r.length)!==4||(t.min.set(r[0],r[1]),t.max.set(r[0]+r[2],r[1]+r[3])),t}function e0(n=new Tt){let t="";const e=[];return e.push(n.min.x),e.push(n.min.y),e.push(Math.abs(n.max.x-n.min.x)),e.push(Math.abs(n.max.y-n.min.y)),t=e.join(" "),t}function Th(n){var t;if((t=n==null?void 0:n.children)!=null&&t.length){for(let e=0,r=n.children.length;e<r;e++)if(n.children[e].nodeName==="g")return n.children[e]}}const i0=new wt().start();class r0{isSvgRenderer=!0;id;params;container=gt.window.document.getElementsByTagName("body")[0];cameraVersion=-1;viewAreaLimit=-1;constructor(t){this.id="SvgRenderer@"+Date.now(),this.params=t,gt.config=t,this.initSvg(),wt.active(this.params.monitorDuration)}destroy(){wt.active(0)}initSvg(){if(this.params.containerId&&(this.container=gt.window.document.getElementById(this.params.containerId)),this.container||(this.container=gt.window.document.getElementsByTagName("body")[0]),!this.params.width||!this.params.height){const t=this.container.getBoundingClientRect();this.params.width=t.width,this.params.height=t.height}this.params.width&&(this.container.style.width=this.params.width+"px"),this.params.height&&(this.container.style.height=this.params.height+"px"),this.container.style.overflow="hidden",this.params.camera||(this.params.camera={}),this.params.camera.width=this.params.width,this.params.camera.height=this.params.height,this.params.aspect=this.params.width/this.params.height,this.params.camera.aspect=this.params.aspect,this.params.camera.left=this.params.width*-.5,this.params.camera.right=this.params.width*.5,this.params.camera.top=this.params.height*.5,this.params.camera.bottom=this.params.height*-.5}resize(t,e){this.container.style.width=t+"px",this.container.style.height=e+"px"}getSize(t){return t.set(this.params.width,this.params.height)}clean(){}async render(t,e){var a;if(!t||!e||this.cameraVersion===(e==null?void 0:e.version))return;e.updateMatrixWorld(),Ch.set(0,0).unproject(e),Sh.set(this.params.width,this.params.height).unproject(e),_h.setFromPoints([Ch,Sh]).round();let r=e0(_h);(a=t.svg)==null||a.setAttribute("viewBox",r),this.cameraVersion=e.version||-1,i0.addTimer("render cycle")}autoClear;getRenderTarget(){}setRenderTarget(t){}renderTexture(t){}}const _h=new Tt,Ch=new L,Sh=new L;class Nt{isMatrix3=!0;elements=[1,0,0,0,1,0,0,0,1];constructor(){}static equals(t,e,r=1e-6){if(t.elements.length!=e.elements.length)return!1;for(let a=0,u=t.elements.length;a<u;a++){const l=t.elements[a]-e.elements[a];if(Math.abs(l)>r)return!1}return!0}copy(t){const e=this.elements,r=t.elements;return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],this}clone(){return new Nt().fromArray(this.elements)}compose(t,e,r){const a=Math.sin(e.x),u=Math.cos(e.x);return this.set(r.x*u,r.y*a*-1,t.x,r.x*a,r.y*u,t.y,0,0,1)}composeWithCenter(t,e,r,a){return na.identity(),Du.makeTranslation(t.x,t.y),Nu.makeRotation(e.x),Kn.makeScale(r.x,r.y),Di.copy(a).applyMatrix3(Kn),na.multiply(Mu.makeTranslation(-Di.x,-Di.y)).multiply(Du).multiply(Mu.makeTranslation(Di.x,Di.y)).multiply(Nu).multiply(Mu.makeTranslation(-Di.x,-Di.y)).multiply(Kn),this.copy(na)}decompose(t,e,r){const a=na.copy(this).elements,u=Math.sqrt(a[0]*a[0]+a[3]*a[3]),l=Math.sqrt(a[1]*a[1]+a[4]*a[4]),c=a[0]*a[4]-a[3]*a[1];a[0]||a[3]?r.set(u,c/u):a[1]||a[4]?r.set(c/l,l):r.set(0,0);let f=0;a[0]||a[3]?f=a[3]>0?-Math.acos(a[0]/u):Math.acos(a[0]/u):a[1]||a[4]?f=Math.PI/2-(a[4]>0?Math.acos(-a[1]/l):-Math.acos(a[1]/l)):f=0,f!==0&&r.y<0&&(f*=-1),e.set(f,f),t.set(a[6],a[7])}compose2(t,e,r){return this.identity().translate(t.x,t.y).rotate(e.x).scale(r.x,r.y),this}decompose2(t,e,r){const a=this.clone();a.scale(-1,1);const u=a.elements[0],l=a.elements[1],c=a.elements[3],f=a.elements[4];let d=0,v=0,E=0;if(u!==0||c!==0){const A=Math.hypot(u,c);d=A,v=(u*f-l*c)/A;const T=Math.acos(u/A);E=c>0?-T:T}else if(l!==0||f!==0){const A=Math.hypot(l,f);d=(u*f-l*c)/A,v=A;const T=Math.acos(l/A);E=Math.PI/2+(f>0?-T:T)}else d=0,v=0,E=0;d=-d,t.x=a.elements[6],t.y=a.elements[7],e.x=e.y=E/Math.PI/180,r.x=d,r.y=v}determinant(){const t=this.elements,e=t[0],r=t[3],a=t[6],u=t[1],l=t[4],c=t[7],f=t[2],d=t[5],v=t[8];return e*l*v-e*d*c-u*r*v+u*d*a+f*r*c-f*l*a}equals(t,e=0){const r=this.elements,a=t.elements;for(let u=0;u<9;u++)if(Math.abs(r[u]-a[u])>e)return!1;return!0}extractBasis2(t,e){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),this}flipY(){return this.multiply(Kn.makeScale(1,-1))}fromArray(t,e=0){for(let r=0;r<9;r++)this.elements[r]=t[r+e];return this}getComponents(t=[1,0,0,1,0,0]){return t[0]=this.elements[0],t[1]=this.elements[1],t[2]=this.elements[3],t[3]=this.elements[4],t[4]=this.elements[6],t[5]=this.elements[7],t}getNormalMatrix(t){return this.setFromMatrix(t).invert().transpose()}getRotation(t){let e=this.elements,r=0,a=0;e[0]||e[3]?r=Math.sqrt(e[0]*e[0]+e[3]*e[3]):(e[1]||e[4])&&(a=Math.sqrt(e[1]*e[1]+e[4]*e[4]));let u=0;e[0]||e[3]?u=e[3]>0?-Math.acos(e[0]/r):Math.acos(e[0]/r):(e[1]||e[4])&&(u=Math.PI/2-(e[4]>0?Math.acos(-e[1]/a):-Math.acos(e[1]/a))),this.getScale(Di),u!==0&&Di.y<0&&(u*=-1),t.set(u,u)}getScale(t){let e=this.elements,r=Math.sqrt(e[0]*e[0]+e[1]*e[1]),a=Math.sqrt(e[3]*e[3]+e[4]*e[4]),u=e[0]*e[4]-e[3]*e[1];e[0]||e[1]?t.set(u/a,a):e[3]||e[4]?t.set(r,u/r):t.set(0,0)}getTransition(t){t.set(this.elements[6],this.elements[7])}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}invert(){const t=this.elements,e=t[0],r=t[1],a=t[2],u=t[3],l=t[4],c=t[5],f=t[6],d=t[7],v=t[8],E=v*l-c*d,A=c*f-v*u,T=d*u-l*f,I=e*E+r*A+a*T;if(I===0)return this.set(0,0,0,0,0,0,0,0,0);const S=1/I;return t[0]=E*S,t[1]=(a*d-v*r)*S,t[2]=(c*r-a*l)*S,t[3]=A*S,t[4]=(v*e-a*f)*S,t[5]=(a*u-c*e)*S,t[6]=T*S,t[7]=(r*f-d*e)*S,t[8]=(l*e-r*u)*S,this}lookAt(t,e,r){return this.identity().rotate(e.angle()-t.angle()+r.angle())}makeProjection(t,e,r,a,u,l){const c=u/(e-t),f=l/(r-a),d=u/2-(e+t)*c,v=l/2+(r+a)*f;return this.elements[0]=c,this.elements[3]=0,this.elements[6]=d,this.elements[1]=0,this.elements[4]=-f,this.elements[7]=v,this.elements[2]=0,this.elements[5]=0,this.elements[8]=1,this}makeRotation(t){const e=Math.cos(t),r=Math.sin(t);return this.set(e,-r,0,r,e,0,0,0,1),this}makeRotationFromQuaternion(t){return this.compose(n0,t,s0)}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}makeTranslation(t,e){return this.set(1,0,t,0,1,e,0,0,1),this}multiply(t){return this.multiplyMatrices(this,t)}multiplyMatrices(t,e){const r=t.elements,a=e.elements,u=this.elements,l=r[0],c=r[3],f=r[6],d=r[1],v=r[4],E=r[7],A=r[2],T=r[5],I=r[8],S=a[0],D=a[3],k=a[6],V=a[1],W=a[4],X=a[7],$=a[2],K=a[5],tt=a[8];return u[0]=l*S+c*V+f*$,u[3]=l*D+c*W+f*K,u[6]=l*k+c*X+f*tt,u[1]=d*S+v*V+E*$,u[4]=d*D+v*W+E*K,u[7]=d*k+v*X+E*tt,u[2]=A*S+T*V+I*$,u[5]=A*D+T*W+I*K,u[8]=A*k+T*X+I*tt,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}premultiply(t){return this.multiplyMatrices(t,this)}rotate(t){return this.premultiply(Nu.makeRotation(-t))}scale(t,e){return this.premultiply(Kn.makeScale(t,e))}set(t,e,r,a,u,l,c,f,d){return this.elements[0]=t,this.elements[3]=e,this.elements[6]=r,this.elements[1]=a,this.elements[4]=u,this.elements[7]=l,this.elements[2]=c,this.elements[5]=f,this.elements[8]=d,this}setFromDomMatrix(t){return this.set(t.m11,t.m21,t.m41,t.m12,t.m22,t.m42,t.m14,t.m24,t.m44),this}setFromMatrix(t){const e=t.elements;return this.set(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]),this}setUvTransform(t,e,r,a,u,l,c){const f=Math.cos(u),d=Math.sin(u);return this.set(r*f,r*d,-r*(f*l+d*c)+l+t,-a*d,a*f,-a*(-d*l+f*c)+c+e,0,0,1),this}toArray(t=[],e=0){const r=this.elements;return t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t}toString(){return`[${this.elements[0]},${this.elements[1]}, ${this.elements[3]},${this.elements[4]}, ${this.elements[6]},${this.elements[7]}]`}translate(t,e){return this.premultiply(Du.makeTranslation(t,e))}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}}const Di=new L,na=new Nt,Du=new Nt,Nu=new Nt,Kn=new Nt,Mu=new Nt,n0=new L(0,0,0),s0=new L(1,1,1),ne=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],Ou=()=>{const n=Math.random()*4294967295|0,t=Math.random()*4294967295|0,e=Math.random()*4294967295|0,r=Math.random()*4294967295|0;return(ne[n&255]+ne[n>>8&255]+ne[n>>16&255]+ne[n>>24&255]+"-"+ne[t&255]+ne[t>>8&255]+"-"+ne[t>>16&15|64]+ne[t>>24&255]+"-"+ne[e&63|128]+ne[e>>8&255]+"-"+ne[e>>16&255]+ne[e>>24&255]+ne[r&255]+ne[r>>8&255]+ne[r>>16&255]+ne[r>>24&255]).toLowerCase()};let a0=0;const Bu=new L,Ke=new Nt,Dh=new L,Iu=new Tt,Qn=new L,Pu=new L,br=new L,u0=new L(0,1),o0={type:"added"},Lu={type:"removed"};class sa extends ji{isObject2=!0;id=a0++;uuid=Ou();name;type="Object2";featureKey="Object2_"+this.id;version=0;parent;children=[];up=new L(0,1);position=new L;rotation=new L;scaled=new L(1,1);flipY=!1;selectable=!1;matrix=new Nt;matrixWorld=new Nt;matrixWorldInverse=new Nt;modelViewMatrix=new Nt;normalMatrix=new Nt;fixed=!1;dynamically=!1;matrixAutoUpdate=!1;matrixWorldNeedsUpdate=!1;matrixWorldAutoUpdate=!1;composeNode=!1;isInComposeNode=!1;alignCenter=!1;boundingBox=new Tt;boundingBoxWorld=new Tt;boundingBoxNeedsUpdate=!1;centerPoint=new L;visible=!0;castShadow=!1;receiveShadow=!1;renderOrder=0;animations=[];finalSize;userData={};DefaultUp=new L(0,1);_autoSort=!0;constructor(t={}){super(),t.name!==void 0?this.name=t.name:this.name="Object2",t.flipY!==void 0&&(this.flipY=t.flipY),t.selectable!==void 0&&(this.selectable=t.selectable),t.finalSize!==void 0&&(this.finalSize=t.finalSize),this.setAttrs(t)}set needsUpdate(t){t&&this.version++}destroy(){super.destroy(),this.clear(),this.parent=void 0,this.dispatchEvent(Lu)}setPosition(t){return this.position.set(t.x,t.y),this}translate(t,e){this.position.x+=t,this.position.y+=e}setScale(t,e){return this.scaled.set(t,e),this}setRotationFromMatrix(t){t.decompose(Qn,this.rotation,Pu)}setRotation(t){return this.rotation.set(t,t),this}rotate(t){this.rotation.x+=t}scale(t,e){e?(this.scaled.x*=t,this.scaled.y*=e):this.scaled.multiplyScalar(t)}localToWorld(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix3(this.matrixWorld)}worldToLocal(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix3(Ke.copy(this.matrixWorld).invert())}lookAt(t){Dh.copy(t),this.updateWorldMatrix(!0,!1),this.matrixWorld.getTransition(Qn),Ke.lookAt(Qn,Dh,u0),Ke.getRotation(br),this.rotation.set(br.x,br.x),this.parent&&(this.parent.matrixWorld.getRotation(br),this.rotate(br.x))}applyMatrix3(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.rotation,this.scaled)}updateMatrix(){Bu.copy(this.scaled),this.flipY&&(Bu.y*=-1),this.matrix.compose(this.position,this.rotation,Bu),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(this.parent?this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldInverse.copy(this.matrixWorld).invert(),this.matrixWorldNeedsUpdate=!1,t=!0,this.boundingBoxNeedsUpdate=!0);const e=this.children;for(let r=0,a=e.length;r<a;r++)e[r].updateMatrixWorld(t);this.boundingBoxNeedsUpdate&&(this.updateBoundingBox(),this.boundingBoxNeedsUpdate=!1)}updateWorldMatrix(t=!1,e=!1){const r=this.parent;if(t&&r&&r.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.parent?this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldInverse.copy(this.matrixWorld).invert(),e){const a=this.children;for(let u=0,l=a.length;u<l;u++)a[u].updateWorldMatrix(!1,!0)}}updateModelViewMatrix(t){Ke.copy(this.matrixWorld),this.isInComposeNode?this.modelViewMatrix.copy(this.matrix):t&&this.fixed?this.modelViewMatrix.copy(t.projectionMatrix):t?this.modelViewMatrix.multiplyMatrices(t.viewMatrix,Ke):this.modelViewMatrix.copy(Ke);for(let e=0,r=this.children.length;e<r;e++)this.children[e].updateModelViewMatrix(t)}computeBoundingBox(){this.boundingBox.makeEmpty(),this.centerPoint.set(0,0);for(let t=0,e=this.children.length;t<e;t++)this.children[t].updateMatrixWorld(),Iu.copy(this.children[t].computeBoundingBox()),Iu.applyMatrix3(Ke.copy(this.children[t].matrixWorld)),this.boundingBox.union(Iu);return this.boundingBox.applyMatrix3(Ke.copy(this.matrixWorld).invert()),this.boundingBox}updateBoundingBox(){this.boundingBox.isEmpty()||this.boundingBoxWorld.copy(this.boundingBox).applyMatrix3(this.matrixWorld)}setAttrs(t){if(!t)return this;for(const e in t)if(!(e==="children"||t[e]===void 0)){if(e==="userData"&&t[e]){Object.keys(t[e]).forEach(r=>this.userData[r]=t[e][r]);continue}this.userData[e]=t[e]}return this}add(t){return!t||!t.isObject2||t===this?this:(t.parent&&t.parent.remove(t),t.parent=this,this.children.push(t),t.isInComposeNode=this.composeNode||this.isInComposeNode,t.selectable&&t.parent.setSelectable(t.selectable),this._autoSort&&this.children.sort((e,r)=>e.renderOrder-r.renderOrder),t.dispatchEvent(o0),this)}adds(t){if(!t||!t.length)return this;this._autoSort=!1;for(let e=0,r=t.length;e<r;e++)e===t.length-1&&(this._autoSort=!0),this.add(t[e]);return this}remove(t){const e=this.children.indexOf(t);return e!==-1&&(t.parent=void 0,this.children.splice(e,1),t.dispatchEvent(Lu)),this}removes(t){for(let e=0,r=t.length;e<r;e++)this.remove(t[e]);return this}removeFromParent(){const t=this.parent;return t&&t.remove(this),this}moveToLast(){var e;if(!this.parent)return;let t=this.clone();this.removeFromParent(),(e=t.parent)==null||e.add(t)}clear(){for(let t=0;t<this.children.length;t++){const e=this.children[t];e.parent=void 0,e.destroy(),e.dispatchEvent(Lu)}return this.children.length=0,this}attach(t){return this.updateWorldMatrix(!0,!1),Ke.copy(this.matrixWorld).invert(),t.parent&&(t.parent.updateWorldMatrix(!0,!1),Ke.multiply(t.parent.matrixWorld)),t.applyMatrix3(Ke),this.add(t),t.updateWorldMatrix(!1,!0),this}getObjectById(t){return this.getObjectByProperty("id",t)}getObjectByName(t){return this.getObjectByProperty("name",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let r=0,a=this.children.length;r<a;r++){const l=this.children[r].getObjectByProperty(t,e);if(l!==void 0)return l}}getWorldPosition(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(t,br,Pu),t}getWorldRotation(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Qn,t,Pu),t}getWorldScale(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Qn,br,t),t}getWorldDirection(t){return this.updateWorldMatrix(!0,!1),t.set(this.matrixWorld.elements[6],this.matrixWorld.elements[7]).normalize()}traverse(t){t(this);const e=this.children;for(let r=0,a=e.length;r<a;r++)e[r].traverse(t)}traverseVisible(t){if(this.visible)return;t(this);const e=this.children;for(let r=0,a=e.length;r<a;r++)e[r].traverseVisible(t)}traverseAncestors(t){const e=this.parent;e&&(t(e),e.traverseAncestors(t))}onBeforeRender(t,e,r){}render(t){}onAfterRender(t,e,r){}setSelectable(t){this.selectable=t,this.parent&&this.parent.setSelectable(t)}raycast(t,e=[]){}clone(t=!0){const e=this.constructor;return new e(this.userData).copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.type=t.type,this.featureKey=t.featureKey,this.version=t.version,this.parent=t.parent,this.up.copy(t.up),this.position.copy(t.position),this.rotation.copy(t.rotation),this.scaled.copy(t.scaled),this.flipY=t.flipY,this.selectable=t.selectable,this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.modelViewMatrix.copy(t.modelViewMatrix),this.normalMatrix.copy(t.normalMatrix),this.fixed=t.fixed,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.composeNode=t.composeNode,this.alignCenter=t.alignCenter,this.boundingBox.copy(t.boundingBox),this.boundingBoxWorld.copy(t.boundingBoxWorld),this.boundingBoxNeedsUpdate=t.boundingBoxNeedsUpdate,this.centerPoint.copy(t.centerPoint),this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),e)for(let r=0;r<t.children.length;r++){const a=t.children[r];this.add(a.clone())}return this}}const l0=new L,Nh=new Tt;class h0 extends sa{name="Scene";type="Scene";isScene=!0;view;background;featureKey="Scene_"+this.id;matrixAutoUpdate=!1;constructor(){super()}destroy(){super.destroy(),this.boundingBox.makeEmpty()}setup(t){this.view=t}fullscreen(t=1e3,e=!1){this.view&&(this.computeBoundingBox(),Nh.copy(this.boundingBox).expandByVector(l0.set(t,t)),console.log("Scene.fullscreen: ",this.name,this.boundingBox.min.round().toString(),this.boundingBox.max.round().toString()),this.view.resetCameraByBoundingBox(Nh,e))}onBeforeRender(t,e,r){super.onBeforeRender(t,e,r),r&&this.cameraVersion!==r.version&&(this.matrixAutoUpdate||this.updateMatrix(),this.needsUpdate=!0,this.cameraVersion=r.version)}render(t){var e;this.visible&&((e=this.children)==null||e.forEach(function(r){r.isShape&&r.render(t)}))}}class c0{isLoading=!1;itemsLoaded=0;itemsTotal=0;urlModifier;handlers=[];onStart;onLoad;onProgress;onError;constructor(t,e,r){this.onLoad=t,this.onProgress=e,this.onError=r}itemStart(t){this.itemsTotal++,this.isLoading||this.onStart!==void 0&&this.onStart(t,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(t){this.itemsLoaded++,this.onProgress!==void 0&&this.onProgress(t,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,this.onLoad!==void 0&&this.onLoad())}itemError(t){this.onError!==void 0&&this.onError(t)}resolveURL(t){return this.urlModifier!==void 0?this.urlModifier(t):t}setURLModifier(t){return this.urlModifier=t,this}addHandler(t,e){return this.handlers.push(t,e),this}removeHandler(t){const e=this.handlers.indexOf(t);return e!==-1&&this.handlers.splice(e,2),this}getHandler(t){for(let e=0,r=this.handlers.length;e<r;e+=2){const a=this.handlers[e],u=this.handlers[e+1];if(a.global&&(a.lastIndex=0),a.test(t))return u}return null}}const Mh={enabled:!1,files:{},add:function(n,t){this.enabled&&(this.files[n]=t)},get:function(n){if(this.enabled)return this.files[n]},remove:function(n){delete this.files[n]},clear:function(){this.files={}}},f0=new c0;class Oh{manager;crossOrigin="anonymous";withCredentials=!1;path="";resourcePath="";requestHeader={};constructor(t=f0){this.manager=t}loadAsync(t,e){const r=this;return new Promise(function(a,u){r.load(t,a,e,u)})}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}}const Ni={};class p0 extends Error{response;constructor(t,e){super(t),this.response=e}}class d0 extends Oh{mimeType;responseType;constructor(t){super(t)}load(t,e,r,a){t===void 0&&(t=""),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);const u=Mh.get(t);if(u!==void 0)return this.manager.itemStart(t),setTimeout(()=>{e&&e(u),this.manager.itemEnd(t)},0),u;if(Ni[t]!==void 0){Ni[t].push({onLoad:e,onProgress:r,onError:a});return}Ni[t]=[],Ni[t].push({onLoad:e,onProgress:r,onError:a});const l=new gt.window.Request(t,{headers:new gt.window.Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),c=this.mimeType,f=this.responseType;fetch(l).then(d=>{if(d.status===200||d.status===0){if(d.status===0&&console.warn("FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||d.body===void 0||d.body.getReader===void 0)return d;const v=Ni[t],E=d.body.getReader(),A=d.headers.get("Content-Length")||d.headers.get("X-File-Size"),T=A?parseInt(A):0,I=T!==0;let S=0;const D=new ReadableStream({start(k){V();function V(){E.read().then(({done:W,value:X})=>{if(W)k.close();else{S+=X.byteLength;const $=new ProgressEvent("progress",{lengthComputable:I,loaded:S,total:T});for(let K=0,tt=v.length;K<tt;K++){const Z=v[K];Z.onProgress&&Z.onProgress($)}k.enqueue(X),V()}})}}});return new Response(D)}else throw new p0(`fetch for "${d.url}" responded with ${d.status}: ${d.statusText}`,d)}).then(d=>{switch(f){case"arraybuffer":return d.arrayBuffer();case"blob":return d.blob();case"document":return d.text().then(v=>new DOMParser().parseFromString(v,c));case"json":return d.json();default:if(c===void 0)return d.text();{const E=/charset="?([^;"\s]*)"?/i.exec(c),A=E&&E[1]?E[1].toLowerCase():void 0,T=new TextDecoder(A);return d.arrayBuffer().then(I=>T.decode(I))}}}).then(d=>{Mh.add(t,d);const v=Ni[t];delete Ni[t];for(let E=0,A=v.length;E<A;E++){const T=v[E];T.onLoad&&T.onLoad(d)}}).catch(d=>{const v=Ni[t];if(v===void 0)throw this.manager.itemError(t),d;delete Ni[t];for(let E=0,A=v.length;E<A;E++){const T=v[E];T.onError&&T.onError(d)}this.manager.itemError(t)}).finally(()=>{this.manager.itemEnd(t)}),this.manager.itemStart(t)}setMimeType(t){return this.mimeType=t,this}setResponseType(t){return this.responseType=t,this}}var Ru={},aa={};(function(n){const t=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",e=t+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+t+"]["+e+"]*",a=new RegExp("^"+r+"$"),u=function(c,f){const d=[];let v=f.exec(c);for(;v;){const E=[];E.startIndex=f.lastIndex-v[0].length;const A=v.length;for(let T=0;T<A;T++)E.push(v[T]);d.push(E),v=f.exec(c)}return d},l=function(c){const f=a.exec(c);return!(f===null||typeof f>"u")};n.isExist=function(c){return typeof c<"u"},n.isEmptyObject=function(c){return Object.keys(c).length===0},n.merge=function(c,f,d){if(f){const v=Object.keys(f),E=v.length;for(let A=0;A<E;A++)d==="strict"?c[v[A]]=[f[v[A]]]:c[v[A]]=f[v[A]]}},n.getValue=function(c){return n.isExist(c)?c:""},n.isName=l,n.getAllMatches=u,n.nameRegexp=r})(aa);const Fu=aa,g0={allowBooleanAttributes:!1,unpairedTags:[]};Ru.validate=function(n,t){t=Object.assign({},g0,t);const e=[];let r=!1,a=!1;n[0]==="\uFEFF"&&(n=n.substr(1));for(let u=0;u<n.length;u++)if(n[u]==="<"&&n[u+1]==="?"){if(u+=2,u=Ih(n,u),u.err)return u}else if(n[u]==="<"){let l=u;if(u++,n[u]==="!"){u=Ph(n,u);continue}else{let c=!1;n[u]==="/"&&(c=!0,u++);let f="";for(;u<n.length&&n[u]!==">"&&n[u]!==" "&&n[u]!==" "&&n[u]!==`
|
|
33
|
-
`&&n[u]!=="\r";u++)f+=n[u];if(f=f.trim(),f[f.length-1]==="/"&&(f=f.substring(0,f.length-1),u--),!w0(f)){let E;return f.trim().length===0?E="Invalid space after '<'.":E="Tag '"+f+"' is an invalid name.",Ut("InvalidTag",E,he(n,u))}const d=v0(n,u);if(d===!1)return Ut("InvalidAttr","Attributes for '"+f+"' have open quote.",he(n,u));let v=d.value;if(u=d.index,v[v.length-1]==="/"){const E=u-v.length;v=v.substring(0,v.length-1);const A=Lh(v,t);if(A===!0)r=!0;else return Ut(A.err.code,A.err.msg,he(n,E+A.err.line))}else if(c)if(d.tagClosed){if(v.trim().length>0)return Ut("InvalidTag","Closing tag '"+f+"' can't have attributes or invalid starting.",he(n,l));if(e.length===0)return Ut("InvalidTag","Closing tag '"+f+"' has not been opened.",he(n,l));{const E=e.pop();if(f!==E.tagName){let A=he(n,E.tagStartPos);return Ut("InvalidTag","Expected closing tag '"+E.tagName+"' (opened in line "+A.line+", col "+A.col+") instead of closing tag '"+f+"'.",he(n,l))}e.length==0&&(a=!0)}}else return Ut("InvalidTag","Closing tag '"+f+"' doesn't have proper closing.",he(n,u));else{const E=Lh(v,t);if(E!==!0)return Ut(E.err.code,E.err.msg,he(n,u-v.length+E.err.line));if(a===!0)return Ut("InvalidXml","Multiple possible root nodes found.",he(n,u));t.unpairedTags.indexOf(f)!==-1||e.push({tagName:f,tagStartPos:l}),r=!0}for(u++;u<n.length;u++)if(n[u]==="<")if(n[u+1]==="!"){u++,u=Ph(n,u);continue}else if(n[u+1]==="?"){if(u=Ih(n,++u),u.err)return u}else break;else if(n[u]==="&"){const E=A0(n,u);if(E==-1)return Ut("InvalidChar","char '&' is not expected.",he(n,u));u=E}else if(a===!0&&!Bh(n[u]))return Ut("InvalidXml","Extra text at the end",he(n,u));n[u]==="<"&&u--}}else{if(Bh(n[u]))continue;return Ut("InvalidChar","char '"+n[u]+"' is not expected.",he(n,u))}if(r){if(e.length==1)return Ut("InvalidTag","Unclosed tag '"+e[0].tagName+"'.",he(n,e[0].tagStartPos));if(e.length>0)return Ut("InvalidXml","Invalid '"+JSON.stringify(e.map(u=>u.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return Ut("InvalidXml","Start tag expected.",1);return!0};function Bh(n){return n===" "||n===" "||n===`
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
}`;var lt=Hp(function(){return vt(y,j+"return "+q).apply(e,b)});if(lt.source=q,ml(lt))throw lt;return lt}function EA(i){return Et(i).toLowerCase()}function AA(i){return Et(i).toUpperCase()}function bA(i,s,o){if(i=Et(i),i&&(o||s===e))return Zc(i);if(!i||!(s=Oe(s)))return i;var h=ui(i),p=ui(s),y=Kc(h,p),b=Qc(h,p)+1;return mr(h,y,b).join("")}function wA(i,s,o){if(i=Et(i),i&&(o||s===e))return i.slice(0,jc(i)+1);if(!i||!(s=Oe(s)))return i;var h=ui(i),p=Qc(h,ui(s))+1;return mr(h,0,p).join("")}function TA(i,s,o){if(i=Et(i),i&&(o||s===e))return i.replace(As,"");if(!i||!(s=Oe(s)))return i;var h=ui(i),p=Kc(h,ui(s));return mr(h,p).join("")}function _A(i,s){var o=J,h=nt;if(Lt(s)){var p="separator"in s?s.separator:p;o="length"in s?ut(s.length):o,h="omission"in s?Oe(s.omission):h}i=Et(i);var y=i.length;if(Tn(i)){var b=ui(i);y=b.length}if(o>=y)return i;var _=o-_n(h);if(_<1)return h;var N=b?mr(b,0,_).join(""):i.slice(0,_);if(p===e)return N+h;if(b&&(_+=N.length-_),yl(p)){if(i.slice(_).search(p)){var F,U=N;for(p.global||(p=Io(p.source,Et(ws.exec(p))+"g")),p.lastIndex=0;F=p.exec(U);)var q=F.index;N=N.slice(0,q===e?_:q)}}else if(i.indexOf(Oe(p),_)!=_){var G=N.lastIndexOf(p);G>-1&&(N=N.slice(0,G))}return N+h}function CA(i){return i=Et(i),i&&xs.test(i)?i.replace(ys,e1):i}var SA=Bn(function(i,s,o){return i+(o?" ":"")+s.toUpperCase()}),El=Wf("toUpperCase");function qp(i,s,o){return i=Et(i),s=o?e:s,s===e?Km(i)?n1(i):Hm(i):i.match(s)||[]}var Hp=ct(function(i,s){try{return De(i,e,s)}catch(o){return ml(o)?o:new st(o)}}),DA=$i(function(i,s){return He(s,function(o){o=bi(o),Vi(i,o,dl(i[o],i))}),i});function NA(i){var s=i==null?0:i.length,o=et();return i=s?Bt(i,function(h){if(typeof h[1]!="function")throw new We(l);return[o(h[0]),h[1]]}):[],ct(function(h){for(var p=-1;++p<s;){var y=i[p];if(De(y[0],this,h))return De(y[1],this,h)}})}function OA(i){return ey(ze(i,E))}function Al(i){return function(){return i}}function MA(i,s){return i==null||i!==i?s:i}var BA=zf(),IA=zf(!0);function Te(i){return i}function bl(i){return Ef(typeof i=="function"?i:ze(i,E))}function PA(i){return bf(ze(i,E))}function LA(i,s){return wf(i,ze(s,E))}var RA=ct(function(i,s){return function(o){return Rs(o,i,s)}}),FA=ct(function(i,s){return function(o){return Rs(i,o,s)}});function wl(i,s,o){var h=Zt(s),p=Wa(s,h);o==null&&!(Lt(s)&&(p.length||!h.length))&&(o=s,s=i,i=this,p=Wa(s,Zt(s)));var y=!(Lt(o)&&"chain"in o)||!!o.chain,b=Xi(i);return He(p,function(_){var N=s[_];i[_]=N,b&&(i.prototype[_]=function(){var F=this.__chain__;if(y||F){var U=i(this.__wrapped__),q=U.__actions__=Ae(this.__actions__);return q.push({func:N,args:arguments,thisArg:i}),U.__chain__=F,U}return N.apply(i,hr([this.value()],arguments))})}),i}function UA(){return ee._===this&&(ee._=h1),this}function Tl(){}function kA(i){return i=ut(i),ct(function(s){return Tf(s,i)})}var qA=el(Bt),HA=el(zc),WA=el(Co);function Wp(i){return ol(i)?So(bi(i)):vy(i)}function VA(i){return function(s){return i==null?e:Wr(i,s)}}var zA=Gf(),$A=Gf(!0);function _l(){return[]}function Cl(){return!1}function GA(){return{}}function XA(){return""}function YA(){return!0}function ZA(i,s){if(i=ut(i),i<1||i>Le)return[];var o=Re,h=ae(i,Re);s=et(s),i-=Re;for(var p=Oo(h,s);++o<i;)s(o);return p}function KA(i){return at(i)?Bt(i,bi):Me(i)?[i]:Ae(op(Et(i)))}function QA(i){var s=++o1;return Et(i)+s}var JA=Ya(function(i,s){return i+s},0),jA=il("ceil"),tb=Ya(function(i,s){return i/s},1),eb=il("floor");function ib(i){return i&&i.length?Ha(i,Te,Ho):e}function rb(i,s){return i&&i.length?Ha(i,et(s,2),Ho):e}function nb(i){return Xc(i,Te)}function sb(i,s){return Xc(i,et(s,2))}function ab(i){return i&&i.length?Ha(i,Te,$o):e}function ub(i,s){return i&&i.length?Ha(i,et(s,2),$o):e}var ob=Ya(function(i,s){return i*s},1),lb=il("round"),hb=Ya(function(i,s){return i-s},0);function cb(i){return i&&i.length?No(i,Te):0}function fb(i,s){return i&&i.length?No(i,et(s,2)):0}return m.after=Px,m.ary=xp,m.assign=AE,m.assignIn=Ip,m.assignInWith=uu,m.assignWith=bE,m.at=wE,m.before=Ep,m.bind=dl,m.bindAll=DA,m.bindKey=Ap,m.castArray=Gx,m.chain=mp,m.chunk=ev,m.compact=iv,m.concat=rv,m.cond=NA,m.conforms=OA,m.constant=Al,m.countBy=cx,m.create=TE,m.curry=bp,m.curryRight=wp,m.debounce=Tp,m.defaults=_E,m.defaultsDeep=CE,m.defer=Lx,m.delay=Rx,m.difference=nv,m.differenceBy=sv,m.differenceWith=av,m.drop=uv,m.dropRight=ov,m.dropRightWhile=lv,m.dropWhile=hv,m.fill=cv,m.filter=px,m.flatMap=mx,m.flatMapDeep=yx,m.flatMapDepth=vx,m.flatten=fp,m.flattenDeep=fv,m.flattenDepth=pv,m.flip=Fx,m.flow=BA,m.flowRight=IA,m.fromPairs=dv,m.functions=IE,m.functionsIn=PE,m.groupBy=xx,m.initial=mv,m.intersection=yv,m.intersectionBy=vv,m.intersectionWith=xv,m.invert=RE,m.invertBy=FE,m.invokeMap=Ax,m.iteratee=bl,m.keyBy=bx,m.keys=Zt,m.keysIn=we,m.map=eu,m.mapKeys=kE,m.mapValues=qE,m.matches=PA,m.matchesProperty=LA,m.memoize=ru,m.merge=HE,m.mergeWith=Pp,m.method=RA,m.methodOf=FA,m.mixin=wl,m.negate=nu,m.nthArg=kA,m.omit=WE,m.omitBy=VE,m.once=Ux,m.orderBy=wx,m.over=qA,m.overArgs=kx,m.overEvery=HA,m.overSome=WA,m.partial=gl,m.partialRight=_p,m.partition=Tx,m.pick=zE,m.pickBy=Lp,m.property=Wp,m.propertyOf=VA,m.pull=wv,m.pullAll=dp,m.pullAllBy=Tv,m.pullAllWith=_v,m.pullAt=Cv,m.range=zA,m.rangeRight=$A,m.rearg=qx,m.reject=Sx,m.remove=Sv,m.rest=Hx,m.reverse=fl,m.sampleSize=Nx,m.set=GE,m.setWith=XE,m.shuffle=Ox,m.slice=Dv,m.sortBy=Ix,m.sortedUniq=Lv,m.sortedUniqBy=Rv,m.split=mA,m.spread=Wx,m.tail=Fv,m.take=Uv,m.takeRight=kv,m.takeRightWhile=qv,m.takeWhile=Hv,m.tap=ix,m.throttle=Vx,m.thru=tu,m.toArray=Op,m.toPairs=Rp,m.toPairsIn=Fp,m.toPath=KA,m.toPlainObject=Bp,m.transform=YE,m.unary=zx,m.union=Wv,m.unionBy=Vv,m.unionWith=zv,m.uniq=$v,m.uniqBy=Gv,m.uniqWith=Xv,m.unset=ZE,m.unzip=pl,m.unzipWith=gp,m.update=KE,m.updateWith=QE,m.values=Ln,m.valuesIn=JE,m.without=Yv,m.words=qp,m.wrap=$x,m.xor=Zv,m.xorBy=Kv,m.xorWith=Qv,m.zip=Jv,m.zipObject=jv,m.zipObjectDeep=tx,m.zipWith=ex,m.entries=Rp,m.entriesIn=Fp,m.extend=Ip,m.extendWith=uu,wl(m,m),m.add=JA,m.attempt=Hp,m.camelCase=iA,m.capitalize=Up,m.ceil=jA,m.clamp=jE,m.clone=Xx,m.cloneDeep=Zx,m.cloneDeepWith=Kx,m.cloneWith=Yx,m.conformsTo=Qx,m.deburr=kp,m.defaultTo=MA,m.divide=tb,m.endsWith=rA,m.eq=li,m.escape=nA,m.escapeRegExp=sA,m.every=fx,m.find=dx,m.findIndex=hp,m.findKey=SE,m.findLast=gx,m.findLastIndex=cp,m.findLastKey=DE,m.floor=eb,m.forEach=yp,m.forEachRight=vp,m.forIn=NE,m.forInRight=OE,m.forOwn=ME,m.forOwnRight=BE,m.get=vl,m.gt=Jx,m.gte=jx,m.has=LE,m.hasIn=xl,m.head=pp,m.identity=Te,m.includes=Ex,m.indexOf=gv,m.inRange=tA,m.invoke=UE,m.isArguments=$r,m.isArray=at,m.isArrayBuffer=tE,m.isArrayLike=be,m.isArrayLikeObject=qt,m.isBoolean=eE,m.isBuffer=yr,m.isDate=iE,m.isElement=rE,m.isEmpty=nE,m.isEqual=sE,m.isEqualWith=aE,m.isError=ml,m.isFinite=uE,m.isFunction=Xi,m.isInteger=Cp,m.isLength=su,m.isMap=Sp,m.isMatch=oE,m.isMatchWith=lE,m.isNaN=hE,m.isNative=cE,m.isNil=pE,m.isNull=fE,m.isNumber=Dp,m.isObject=Lt,m.isObjectLike=Rt,m.isPlainObject=Ws,m.isRegExp=yl,m.isSafeInteger=dE,m.isSet=Np,m.isString=au,m.isSymbol=Me,m.isTypedArray=Pn,m.isUndefined=gE,m.isWeakMap=mE,m.isWeakSet=yE,m.join=Ev,m.kebabCase=aA,m.last=Ge,m.lastIndexOf=Av,m.lowerCase=uA,m.lowerFirst=oA,m.lt=vE,m.lte=xE,m.max=ib,m.maxBy=rb,m.mean=nb,m.meanBy=sb,m.min=ab,m.minBy=ub,m.stubArray=_l,m.stubFalse=Cl,m.stubObject=GA,m.stubString=XA,m.stubTrue=YA,m.multiply=ob,m.nth=bv,m.noConflict=UA,m.noop=Tl,m.now=iu,m.pad=lA,m.padEnd=hA,m.padStart=cA,m.parseInt=fA,m.random=eA,m.reduce=_x,m.reduceRight=Cx,m.repeat=pA,m.replace=dA,m.result=$E,m.round=lb,m.runInContext=C,m.sample=Dx,m.size=Mx,m.snakeCase=gA,m.some=Bx,m.sortedIndex=Nv,m.sortedIndexBy=Ov,m.sortedIndexOf=Mv,m.sortedLastIndex=Bv,m.sortedLastIndexBy=Iv,m.sortedLastIndexOf=Pv,m.startCase=yA,m.startsWith=vA,m.subtract=hb,m.sum=cb,m.sumBy=fb,m.template=xA,m.times=ZA,m.toFinite=Yi,m.toInteger=ut,m.toLength=Mp,m.toLower=EA,m.toNumber=Xe,m.toSafeInteger=EE,m.toString=Et,m.toUpper=AA,m.trim=bA,m.trimEnd=wA,m.trimStart=TA,m.truncate=_A,m.unescape=CA,m.uniqueId=QA,m.upperCase=SA,m.upperFirst=El,m.each=yp,m.eachRight=vp,m.first=pp,wl(m,function(){var i={};return Ei(m,function(s,o){wt.call(m.prototype,o)||(i[o]=s)}),i}(),{chain:!1}),m.VERSION=r,He(["bind","bindKey","curry","curryRight","partial","partialRight"],function(i){m[i].placeholder=m}),He(["drop","take"],function(i,s){pt.prototype[i]=function(o){o=o===e?1:$t(ut(o),0);var h=this.__filtered__&&!s?new pt(this):this.clone();return h.__filtered__?h.__takeCount__=ae(o,h.__takeCount__):h.__views__.push({size:ae(o,Re),type:i+(h.__dir__<0?"Right":"")}),h},pt.prototype[i+"Right"]=function(o){return this.reverse()[i](o).reverse()}}),He(["filter","map","takeWhile"],function(i,s){var o=s+1,h=o==Ct||o==B;pt.prototype[i]=function(p){var y=this.clone();return y.__iteratees__.push({iteratee:et(p,3),type:o}),y.__filtered__=y.__filtered__||h,y}}),He(["head","last"],function(i,s){var o="take"+(s?"Right":"");pt.prototype[i]=function(){return this[o](1).value()[0]}}),He(["initial","tail"],function(i,s){var o="drop"+(s?"":"Right");pt.prototype[i]=function(){return this.__filtered__?new pt(this):this[o](1)}}),pt.prototype.compact=function(){return this.filter(Te)},pt.prototype.find=function(i){return this.filter(i).head()},pt.prototype.findLast=function(i){return this.reverse().find(i)},pt.prototype.invokeMap=ct(function(i,s){return typeof i=="function"?new pt(this):this.map(function(o){return Rs(o,i,s)})}),pt.prototype.reject=function(i){return this.filter(nu(et(i)))},pt.prototype.slice=function(i,s){i=ut(i);var o=this;return o.__filtered__&&(i>0||s<0)?new pt(o):(i<0?o=o.takeRight(-i):i&&(o=o.drop(i)),s!==e&&(s=ut(s),o=s<0?o.dropRight(-s):o.take(s-i)),o)},pt.prototype.takeRightWhile=function(i){return this.reverse().takeWhile(i).reverse()},pt.prototype.toArray=function(){return this.take(Re)},Ei(pt.prototype,function(i,s){var o=/^(?:filter|find|map|reject)|While$/.test(s),h=/^(?:head|last)$/.test(s),p=m[h?"take"+(s=="last"?"Right":""):s],y=h||/^find/.test(s);p&&(m.prototype[s]=function(){var b=this.__wrapped__,_=h?[1]:arguments,N=b instanceof pt,F=_[0],U=N||at(b),q=function(ft){var dt=p.apply(m,hr([ft],_));return h&&G?dt[0]:dt};U&&o&&typeof F=="function"&&F.length!=1&&(N=U=!1);var G=this.__chain__,j=!!this.__actions__.length,it=y&&!G,lt=N&&!j;if(!y&&U){b=lt?b:new pt(this);var rt=i.apply(b,_);return rt.__actions__.push({func:tu,args:[q],thisArg:e}),new Ve(rt,G)}return it&<?i.apply(this,_):(rt=this.thru(q),it?h?rt.value()[0]:rt.value():rt)})}),He(["pop","push","shift","sort","splice","unshift"],function(i){var s=Ca[i],o=/^(?:push|sort|unshift)$/.test(i)?"tap":"thru",h=/^(?:pop|shift)$/.test(i);m.prototype[i]=function(){var p=arguments;if(h&&!this.__chain__){var y=this.value();return s.apply(at(y)?y:[],p)}return this[o](function(b){return s.apply(at(b)?b:[],p)})}}),Ei(pt.prototype,function(i,s){var o=m[s];if(o){var h=o.name+"";wt.call(Nn,h)||(Nn[h]=[]),Nn[h].push({name:s,func:o})}}),Nn[Xa(e,k).name]=[{name:"wrapper",func:e}],pt.prototype.clone=C1,pt.prototype.reverse=S1,pt.prototype.value=D1,m.prototype.at=rx,m.prototype.chain=nx,m.prototype.commit=sx,m.prototype.next=ax,m.prototype.plant=ox,m.prototype.reverse=lx,m.prototype.toJSON=m.prototype.valueOf=m.prototype.value=hx,m.prototype.first=m.prototype.head,Ns&&(m.prototype[Ns]=ux),m},Cn=s1();Fr?((Fr.exports=Cn)._=Cn,bo._=Cn):ee._=Cn}).call(Fn)}(ea,ea.exports);var Md=ea.exports;const ht=Nl(Md),xr=new L;class bt{isBox2=!0;min;max;constructor(t=new L(1/0,1/0),e=new L(-1/0,-1/0)){this.min=t,this.max=e}applyMatrix3(t){return this.isEmpty()?this:(Zn[0].set(this.min.x,this.min.y).applyMatrix3(t),Zn[1].set(this.min.x,this.max.y).applyMatrix3(t),Zn[3].set(this.max.x,this.max.y).applyMatrix3(t),Zn[2].set(this.max.x,this.min.y).applyMatrix3(t),this.setFromPoints(Zn),this)}clone(){return new bt().copy(this)}copy(t){return this.min.copy(t.min),this.max.copy(t.max),this}containsPoint(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}ceil(){return this.min.ceilToZero(),this.max.ceilToZero(),this}distanceToPoint(t){return xr.copy(t).clamp(this.min,this.max).sub(t).length()}expandByXY(t,e){return this.min.minXY(t,e),this.max.maxXY(t,e),this}expandByPoint(t){return this.min.min(t),this.max.max(t),this}expandByPoints(t){if(!t||!t.length)return this;for(let e=0,r=t.length;e<r;e++)this.expandByPoint(t[e]);return this}expandByVector(t){return this.min.sub(t),this.max.add(t),this}expandByScalar(t){return this.min.addScalar(-t),this.max.addScalar(t),this}expandByObject(t){return t.updateWorldMatrix(!1,!1),t.geometry.boundingBox!==void 0?((!t.geometry.boundingBox||t.geometry.boundingBox.isEmpty())&&t.computeBoundingBox(),nn.copy(t.geometry.boundingBox),nn.applyMatrix3(t.matrixWorld),this.union(nn)):t.geometry.points&&t.geometry.points.length&&(nn.setFromPoints(t.geometry.points),nn.applyMatrix3(t.matrixWorld),this.union(nn)),this}expandByBox(t){this.expandByPoint(t.min),this.expandByPoint(t.max)}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}floor(){return this.min.floorToZero(),this.max.floorToZero(),this}getCenter(t){return this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(t){return this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)}getPoints(t=[]){return t.length=0,t[0]={x:this.min.x,y:this.min.y},t[1]={x:this.min.x,y:this.max.y},t[2]={x:this.max.x,y:this.max.y},t[3]={x:this.max.x,y:this.min.y},t}getArea(){return this.getSize(xr),xr.x*xr.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}intersectsBox(t){return t?!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y):!1}intersectsObject(t){return!t||!t.geometry?!1:this.intersectsBox(t.geometry.boundingBox)}intersect(t){return this.min.max(t.min),this.max.min(t.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}round(){return this.min.roundToZero(),this.max.roundToZero(),this}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,r=t.length;e<r;e+=3)this.expandByPoint(xr.fromArray(t,e));return this}setFromPoints(t){this.makeEmpty();for(let e=0,r=t.length;e<r;e++)this.expandByPoint(t[e]);return this}setFromCenterAndSize(t,e){const r=xr.copy(e).multiplyScalar(.5);return this.min.copy(t).sub(r),this.max.copy(t).add(r),this}setFromProjectionMatrix(t){return this.min.set(t.elements[6],t.elements[7]),this.max.set(t.elements[6],t.elements[7]),this}setFromObject(t){return this.makeEmpty(),this.expandByObject(t)}setFromMinMaxString(t,e=" "){if(this.makeEmpty(),!(t!=null&&t.length))return this;let r=t.split(e),a=ht.map(r,u=>parseFloat(u));for(let u=0,l=a.length;u<l;u+=2)this.expandByPoint(xr.fromArray(a,u));return this}translate(t){return this.min.add(t),this.max.add(t),this}toString(){return`{min:${this.min.toString()},max:${this.max.toString()}}`}union(t){return t.validate()?(this.min.min(t.min),this.max.max(t.max),this):this}validate(){return this.min.validate()&&this.max.validate()}unproject(t){return this.applyMatrix3(t.projectionMatrixInverse).applyMatrix3(t.matrixWorld)}}const nn=new bt,Zn=[new L,new L,new L,new L],Bd=Object.freeze(Object.defineProperty({__proto__:null,default:bt},Symbol.toStringTag,{value:"Module"})),Id=gt.window.requestAnimationFrame,Kn=gt.window.performance?()=>gt.window.performance.now():()=>new Date().getTime(),xh=Id;class Tt{static idCounter=0;id=Tt.idCounter++;timers=new Map;timersDuration=new Map;counters=new Map;countersAmount=new Map;out=[];constructor(){}destroy(){Tt.remove(this)}addTimer(t,e=Kn(),r=Kn()-(this.timersDuration.get(t)||Kn())){this.addTimerDuration(t,r),this.timersDuration.set(t,e)}addTimerDuration(t,e){var r;this.timers.has(t)||this.timers.set(t,[]),(r=this.timers.get(t))==null||r.push(e)}calculateTimers(){this.timers.forEach((t,e)=>{!t||!t.length||(this.out.push(this.calculateDurations(e,t)),t.length=0)})}addCounterAmount(t,e){var r;this.counters.has(t)||this.counters.set(t,[]),(r=this.counters.get(t))==null||r.push(e)}calculateCounters(){this.counters.forEach((t,e)=>{!t||!t.length||(this.out.push(this.calculateAmounts(e,t)),t.length=0)})}start(){return this.stop(),Tt.add(this),this}stop(){return Tt.remove(this),this}calculateDurations(t,e){const r={name:t,avg:0,min:0,max:0,stdDev:0,count:0,FPS:0};if(!e||!e.length)return r;const a=e.length,{min:u,max:l,avg:c}=this.minMaxAvg(e),f=parseFloat(this.stdDev(e,c).toFixed(2));return{name:t,avg:this.fd(c),min:this.fd(u),max:this.fd(l),stdDev:f,count:a,FPS:Math.ceil(a/Tt.duration*1e3)}}calculateAmounts(t,e){const r={name:t,avg:0,min:0,max:0,stdDev:0,count:0,FPS:0};if(!e||!e.length)return r;const a=e.length,{min:u,max:l,avg:c}=this.minMaxAvg(e),f=this.stdDev(e,c);return{name:t,avg:c,min:u,max:l,stdDev:f,count:a,FPS:Math.ceil(a/Tt.duration*1e3)}}minMaxAvg(t){let e=t[0],r=t[0],a=t.length,u=0;for(let c=0;c<t.length;c++){const f=t[c];u+=f,f<e&&(e=f),f>r&&(r=f)}const l=u/a;return{min:this.fx(e),max:this.fx(r),avg:this.fx(l)}}stdDev(t,e){let r=0;for(let u=0;u<t.length;u++){const l=t[u];r+=(l-e)*(l-e)}const a=t.length;return this.fx(Math.sqrt(r/a))}fd(t){return t>1e3?(t/1e3).toFixed(1)+"s":t.toFixed(1)+"ms"}fx(t,e=1){return e===1?Math.round(t*10)/10:e===2?Math.round(t*100)/100:e===3?Math.round(t*1e3)/1e3:t}static children=[];static isRunning=!1;static actived=!1;static duration=0;static lastTime=Kn();static messages=[];static maxLetters=20;static active(t){t?Tt.actived=!0:Tt.actived=!1,Tt.duration=t||0}static add(t){this.children.push(t),this.handleStart()}static remove(t){for(let e=0,r=Tt.children.length;e<r;e++)if(Tt.children[e].id===t.id){this.children.splice(e,1);break}}static handleStart(){this.isRunning||(this.isRunning=!0,xh(this.runLoop))}static runLoop(){Tt.children.length?(Tt.runFrames(),xh(Tt.runLoop)):Tt.isRunning=!1}static runFrames(){let t,e=Kn();if(!(e-Tt.lastTime<Tt.duration)){Tt.lastTime=e;for(let r=0,a=this.children.length;r<a;r++)t=this.children[r],t.calculateTimers(),t.calculateCounters(),Tt.messages=Tt.messages.concat(t.out),t.out.length=0;if(Tt.messages.length){if(Tt.actived){let r=[];r.push(Pd),r.push(Ld),r.push(Rd),this.messages.forEach(a=>r.push(Wd(a,this.maxLetters))),r.push(Fd),console.log(r.join(`
|
|
32
|
+
`))}Tt.messages.length=0}}}}const ia=20,ra=["avg","min","max","stdDev","count","FPS"],pi=kd(ra,1),Pd=Ud(ra,ia),Ld=qd(ra,ia),Rd=Hd(ra,ia),Fd=Vd(ia);function Ud(n,t=20){let e="┌";e+="─".repeat(t),e+="┬";for(let r=0,a=n.length;r<a;r++)e+="─".repeat(pi),r<a-1?e+="┬":e+="┐";return e}function kd(n,t=0){let e=0;for(let r=0,a=n.length;r<a;r++)e=Math.max(e,n[r].length);return e+t}function qd(n,t=20){let e="│";e+=" ".repeat(t),e+="│";for(let r=0,a=n.length;r<a;r++)e+=" ".repeat(Math.max(pi-n[r].length-1,0)),e+=n[r],e+=" │";return e}function Hd(n,t=20){let e="├";e+="─".repeat(t),e+="┼";for(let r=0,a=n.length;r<a;r++)e+="─".repeat(pi),r<a-1?e+="┴":e+="┘";return e}function Wd(n,t=20){let e="│";e+=" ".repeat(Math.max(t-n.name.length,0)),e+=n.name,e+="│";const r=typeof n.avg=="string"?pi-n.avg.length:pi-n.avg.toString().length;return e+=" ".repeat(Math.max(r,0)),e+=n.avg+" ",e+=" ".repeat(Math.max(pi-n.min.toString().length,0)),e+=n.min+" ",e+=" ".repeat(Math.max(pi-n.max.toString().length,0)),e+=n.max+" ",e+=" ".repeat(Math.max(pi-n.stdDev.toString().length,0)),e+=n.stdDev+" ",e+=" ".repeat(Math.max(pi-n.count.toString().length,0)),e+=n.count+" ",e+=" ".repeat(Math.max(pi-n.FPS.toString().length,0)),e+=n.FPS,e}function Vd(n=20){let t="└";for(let e=0;e<n;e++)t+="─";return t+="┘",t}var Eh=(n=>(n.GROS="gros",n.RM="rm",n.WS="ws",n.SU="su",n.EQ="eq",n.FN="fn",n.GL="gl",n.IP="ip",n))(Eh||{}),na=(n=>(n.BACKGROUND="background",n.ASSETS="assets",n.ANNOTATIONS="annotations",n.TEXT="text",n.ASSET_LABELS="asset-labels",n.LABELS="labels",n))(na||{});class Er{_listeners=new Map;destroy(){this._listeners.clear()}addEventListener(t,e){let r=this._listeners.get(t);r||(r=[],this._listeners.set(t,r)),r.includes(e)||r.push(e)}addEventListeners(t,e){const r=t.split(","),a=r.length;for(let u=0;u<a;u++)this.addEventListener(r[u].trim(),e)}isListening(t){var e;return this._listeners.has(t)&&!!((e=this._listeners.get(t))!=null&&e.length)}hasEventListener(t,e){var r;return this._listeners.size===0?!1:this._listeners.has(t)&&!!((r=this._listeners.get(t))!=null&&r.includes(e))}removeEventListener(t,e){const r=this._listeners.get(t);if(r){const a=r.indexOf(e);a>-1&&r.splice(a,1)}}dispatchEvent(t){const e=this._listeners.get(t.type);if(e){t.target=this;const r=e.slice(0);for(let a=0,u=r.length;a<u;a++)r[a].call(this,t);t.target=void 0}}dispatchEventAsync(t){const e=this._listeners.get(t.type);e&&setTimeout(()=>{for(const r of e)r.call(this,t)})}}function Ah(n,t="http://www.w3.org/2000/svg"){var e,r;return(r=(e=gt.window)==null?void 0:e.document)==null?void 0:r.createElementNS(t,n)}async function zd(n=2e3){return new Promise(t=>setTimeout(t,(Math.random()+.5)*n))}function Cu(n){const t=n.match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm);return t?t.map(parseFloat):[]}function bh(n){if(!n)return"inches";let t=n.querySelector("#defaultView"),e=t==null?void 0:t.getAttribute("units");return e||"inches"}function $d(n){if(!n)return 1;let t=bh(n),e=1;switch(t){case"mm":e=500/39.3701;break;case"cm":e=50/39.3701;break;case"Metres":e=.5/39.3701;break;case"m":e=.5/39.3701;break;default:e=1}return e}const Gd=/(\[[^\]]+\])/g,Xd=/(#[^\s+>~.[:]+)/g,Yd=/(\.[^\s+>~.[:]+)/g,Zd=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,Kd=/(:[\w-]+\([^)]*\))/gi,Qd=/(:[^\s+>~.[:]+)/g,Jd=/([^\s+>~.[:]+)/g;function Ar(n,t){const e=t.exec(n);return e?[n.replace(t," "),e.length]:[n,0]}function jd(n){const t=[0,0,0];let e=n.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),r=0;return[e,r]=Ar(e,Gd),t[1]+=r,[e,r]=Ar(e,Xd),t[0]+=r,[e,r]=Ar(e,Yd),t[1]+=r,[e,r]=Ar(e,Zd),t[2]+=r,[e,r]=Ar(e,Kd),t[1]+=r,[e,r]=Ar(e,Qd),t[1]+=r,e=e.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[e,r]=Ar(e,Jd),t[2]+=r,t.join("")}function t0(n){return n.replace(/(?!\u3000)\s+/gm," ").trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/)}function Su(n){const[t="",e=""]=n.split("(");return[t.trim(),e.trim().replace(")","")]}function e0(n,t=new bt){if(!n)return t;let e=n.split(" "),r=ht.map(e,a=>parseFloat(a));return(r==null?void 0:r.length)!==4||(t.min.set(r[0],r[1]),t.max.set(r[0]+r[2],r[1]+r[3])),t}function i0(n=new bt){let t="";const e=[];return e.push(n.min.x),e.push(n.min.y),e.push(Math.abs(n.max.x-n.min.x)),e.push(Math.abs(n.max.y-n.min.y)),t=e.join(" "),t}function wh(n){var t;if((t=n==null?void 0:n.children)!=null&&t.length){for(let e=0,r=n.children.length;e<r;e++)if(n.children[e].nodeName==="g")return n.children[e]}}const r0=new Tt().start();class n0{isSvgRenderer=!0;id;params;container=gt.window.document.getElementsByTagName("body")[0];cameraVersion=-1;viewAreaLimit=-1;constructor(t){this.id="SvgRenderer@"+Date.now(),this.params=t,gt.config=t,this.initSvg(),Tt.active(this.params.monitorDuration)}destroy(){Tt.active(0)}initSvg(){if(this.params.containerId&&(this.container=gt.window.document.getElementById(this.params.containerId)),this.container||(this.container=gt.window.document.getElementsByTagName("body")[0]),!this.params.width||!this.params.height){const t=this.container.getBoundingClientRect();this.params.width=t.width,this.params.height=t.height}this.params.width&&(this.container.style.width=this.params.width+"px"),this.params.height&&(this.container.style.height=this.params.height+"px"),this.container.style.overflow="hidden",this.params.camera||(this.params.camera={}),this.params.camera.width=this.params.width,this.params.camera.height=this.params.height,this.params.aspect=this.params.width/this.params.height,this.params.camera.aspect=this.params.aspect,this.params.camera.left=this.params.width*-.5,this.params.camera.right=this.params.width*.5,this.params.camera.top=this.params.height*.5,this.params.camera.bottom=this.params.height*-.5}resize(t,e){this.container.style.width=t+"px",this.container.style.height=e+"px"}getSize(t){return t.set(this.params.width,this.params.height)}clean(){}async render(t,e){var a;if(!t||!e||this.cameraVersion===(e==null?void 0:e.version))return;e.updateMatrixWorld(),_h.set(0,0).unproject(e),Ch.set(this.params.width,this.params.height).unproject(e),Th.setFromPoints([_h,Ch]).round();let r=i0(Th);(a=t.svg)==null||a.setAttribute("viewBox",r),this.cameraVersion=e.version||-1,r0.addTimer("render cycle")}autoClear;getRenderTarget(){}setRenderTarget(t){}renderTexture(t){}}const Th=new bt,_h=new L,Ch=new L;class Nt{isMatrix3=!0;elements=[1,0,0,0,1,0,0,0,1];constructor(){}static equals(t,e,r=1e-6){if(t.elements.length!=e.elements.length)return!1;for(let a=0,u=t.elements.length;a<u;a++){const l=t.elements[a]-e.elements[a];if(Math.abs(l)>r)return!1}return!0}copy(t){const e=this.elements,r=t.elements;return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],this}clone(){return new Nt().fromArray(this.elements)}compose(t,e,r){const a=Math.sin(e.x),u=Math.cos(e.x);return this.set(r.x*u,r.y*a*-1,t.x,r.x*a,r.y*u,t.y,0,0,1)}composeWithCenter(t,e,r,a){return sa.identity(),Du.makeTranslation(t.x,t.y),Nu.makeRotation(e.x),Qn.makeScale(r.x,r.y),Di.copy(a).applyMatrix3(Qn),sa.multiply(Ou.makeTranslation(-Di.x,-Di.y)).multiply(Du).multiply(Ou.makeTranslation(Di.x,Di.y)).multiply(Nu).multiply(Ou.makeTranslation(-Di.x,-Di.y)).multiply(Qn),this.copy(sa)}decompose(t,e,r){const a=sa.copy(this).elements,u=Math.sqrt(a[0]*a[0]+a[3]*a[3]),l=Math.sqrt(a[1]*a[1]+a[4]*a[4]),c=a[0]*a[4]-a[3]*a[1];a[0]||a[3]?r.set(u,c/u):a[1]||a[4]?r.set(c/l,l):r.set(0,0);let f=0;a[0]||a[3]?f=a[3]>0?-Math.acos(a[0]/u):Math.acos(a[0]/u):a[1]||a[4]?f=Math.PI/2-(a[4]>0?Math.acos(-a[1]/l):-Math.acos(a[1]/l)):f=0,f!==0&&r.y<0&&(f*=-1),e.set(f,f),t.set(a[6],a[7])}compose2(t,e,r){return this.identity().translate(t.x,t.y).rotate(e.x).scale(r.x,r.y),this}decompose2(t,e,r){const a=this.clone();a.scale(-1,1);const u=a.elements[0],l=a.elements[1],c=a.elements[3],f=a.elements[4];let d=0,v=0,E=0;if(u!==0||c!==0){const A=Math.hypot(u,c);d=A,v=(u*f-l*c)/A;const T=Math.acos(u/A);E=c>0?-T:T}else if(l!==0||f!==0){const A=Math.hypot(l,f);d=(u*f-l*c)/A,v=A;const T=Math.acos(l/A);E=Math.PI/2+(f>0?-T:T)}else d=0,v=0,E=0;d=-d,t.x=a.elements[6],t.y=a.elements[7],e.x=e.y=E/Math.PI/180,r.x=d,r.y=v}determinant(){const t=this.elements,e=t[0],r=t[3],a=t[6],u=t[1],l=t[4],c=t[7],f=t[2],d=t[5],v=t[8];return e*l*v-e*d*c-u*r*v+u*d*a+f*r*c-f*l*a}equals(t,e=0){const r=this.elements,a=t.elements;for(let u=0;u<9;u++)if(Math.abs(r[u]-a[u])>e)return!1;return!0}extractBasis2(t,e){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),this}flipY(){return this.multiply(Qn.makeScale(1,-1))}fromArray(t,e=0){for(let r=0;r<9;r++)this.elements[r]=t[r+e];return this}getComponents(t=[1,0,0,1,0,0]){return t[0]=this.elements[0],t[1]=this.elements[1],t[2]=this.elements[3],t[3]=this.elements[4],t[4]=this.elements[6],t[5]=this.elements[7],t}getNormalMatrix(t){return this.setFromMatrix(t).invert().transpose()}getRotation(t){let e=this.elements,r=0,a=0;e[0]||e[3]?r=Math.sqrt(e[0]*e[0]+e[3]*e[3]):(e[1]||e[4])&&(a=Math.sqrt(e[1]*e[1]+e[4]*e[4]));let u=0;e[0]||e[3]?u=e[3]>0?-Math.acos(e[0]/r):Math.acos(e[0]/r):(e[1]||e[4])&&(u=Math.PI/2-(e[4]>0?Math.acos(-e[1]/a):-Math.acos(e[1]/a))),this.getScale(Di),u!==0&&Di.y<0&&(u*=-1),t.set(u,u)}getScale(t){let e=this.elements,r=Math.sqrt(e[0]*e[0]+e[1]*e[1]),a=Math.sqrt(e[3]*e[3]+e[4]*e[4]),u=e[0]*e[4]-e[3]*e[1];e[0]||e[1]?t.set(u/a,a):e[3]||e[4]?t.set(r,u/r):t.set(0,0)}getTransition(t){t.set(this.elements[6],this.elements[7])}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}invert(){const t=this.elements,e=t[0],r=t[1],a=t[2],u=t[3],l=t[4],c=t[5],f=t[6],d=t[7],v=t[8],E=v*l-c*d,A=c*f-v*u,T=d*u-l*f,I=e*E+r*A+a*T;if(I===0)return this.set(0,0,0,0,0,0,0,0,0);const S=1/I;return t[0]=E*S,t[1]=(a*d-v*r)*S,t[2]=(c*r-a*l)*S,t[3]=A*S,t[4]=(v*e-a*f)*S,t[5]=(a*u-c*e)*S,t[6]=T*S,t[7]=(r*f-d*e)*S,t[8]=(l*e-r*u)*S,this}lookAt(t,e,r){return this.identity().rotate(e.angle()-t.angle()+r.angle())}makeProjection(t,e,r,a,u,l){const c=u/(e-t),f=l/(r-a),d=u/2-(e+t)*c,v=l/2+(r+a)*f;return this.elements[0]=c,this.elements[3]=0,this.elements[6]=d,this.elements[1]=0,this.elements[4]=-f,this.elements[7]=v,this.elements[2]=0,this.elements[5]=0,this.elements[8]=1,this}makeRotation(t){const e=Math.cos(t),r=Math.sin(t);return this.set(e,-r,0,r,e,0,0,0,1),this}makeRotationFromQuaternion(t){return this.compose(s0,t,a0)}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}makeTranslation(t,e){return this.set(1,0,t,0,1,e,0,0,1),this}multiply(t){return this.multiplyMatrices(this,t)}multiplyMatrices(t,e){const r=t.elements,a=e.elements,u=this.elements,l=r[0],c=r[3],f=r[6],d=r[1],v=r[4],E=r[7],A=r[2],T=r[5],I=r[8],S=a[0],D=a[3],k=a[6],z=a[1],W=a[4],X=a[7],$=a[2],K=a[5],tt=a[8];return u[0]=l*S+c*z+f*$,u[3]=l*D+c*W+f*K,u[6]=l*k+c*X+f*tt,u[1]=d*S+v*z+E*$,u[4]=d*D+v*W+E*K,u[7]=d*k+v*X+E*tt,u[2]=A*S+T*z+I*$,u[5]=A*D+T*W+I*K,u[8]=A*k+T*X+I*tt,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}premultiply(t){return this.multiplyMatrices(t,this)}rotate(t){return this.premultiply(Nu.makeRotation(-t))}scale(t,e){return this.premultiply(Qn.makeScale(t,e))}set(t,e,r,a,u,l,c,f,d){return this.elements[0]=t,this.elements[3]=e,this.elements[6]=r,this.elements[1]=a,this.elements[4]=u,this.elements[7]=l,this.elements[2]=c,this.elements[5]=f,this.elements[8]=d,this}setFromDomMatrix(t){return this.set(t.m11,t.m21,t.m41,t.m12,t.m22,t.m42,t.m14,t.m24,t.m44),this}setFromMatrix(t){const e=t.elements;return this.set(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]),this}setUvTransform(t,e,r,a,u,l,c){const f=Math.cos(u),d=Math.sin(u);return this.set(r*f,r*d,-r*(f*l+d*c)+l+t,-a*d,a*f,-a*(-d*l+f*c)+c+e,0,0,1),this}toArray(t=[],e=0){const r=this.elements;return t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t}toString(){return`[${this.elements[0]},${this.elements[1]}, ${this.elements[3]},${this.elements[4]}, ${this.elements[6]},${this.elements[7]}]`}translate(t,e){return this.premultiply(Du.makeTranslation(t,e))}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}}const Di=new L,sa=new Nt,Du=new Nt,Nu=new Nt,Qn=new Nt,Ou=new Nt,s0=new L(0,0,0),a0=new L(1,1,1),ne=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],Mu=()=>{const n=Math.random()*4294967295|0,t=Math.random()*4294967295|0,e=Math.random()*4294967295|0,r=Math.random()*4294967295|0;return(ne[n&255]+ne[n>>8&255]+ne[n>>16&255]+ne[n>>24&255]+"-"+ne[t&255]+ne[t>>8&255]+"-"+ne[t>>16&15|64]+ne[t>>24&255]+"-"+ne[e&63|128]+ne[e>>8&255]+"-"+ne[e>>16&255]+ne[e>>24&255]+ne[r&255]+ne[r>>8&255]+ne[r>>16&255]+ne[r>>24&255]).toLowerCase()};let u0=0;const Bu=new L,Ke=new Nt,Sh=new L,Iu=new bt,Jn=new L,Pu=new L,br=new L,o0=new L(0,1),l0={type:"added"},Lu={type:"removed"};class aa extends Er{isObject2=!0;id=u0++;uuid=Mu();name;type="Object2";featureKey="Object2_"+this.id;version=0;parent;children=[];up=new L(0,1);position=new L;rotation=new L;scaled=new L(1,1);flipY=!1;selectable=!1;matrix=new Nt;matrixWorld=new Nt;matrixWorldInverse=new Nt;modelViewMatrix=new Nt;normalMatrix=new Nt;fixed=!1;dynamically=!1;matrixAutoUpdate=!1;matrixWorldNeedsUpdate=!1;matrixWorldAutoUpdate=!1;composeNode=!1;isInComposeNode=!1;alignCenter=!1;boundingBox=new bt;boundingBoxWorld=new bt;boundingBoxNeedsUpdate=!1;centerPoint=new L;visible=!0;castShadow=!1;receiveShadow=!1;renderOrder=0;animations=[];finalSize;userData={};DefaultUp=new L(0,1);_autoSort=!0;constructor(t={}){super(),t.name!==void 0?this.name=t.name:this.name="Object2",t.flipY!==void 0&&(this.flipY=t.flipY),t.selectable!==void 0&&(this.selectable=t.selectable),t.finalSize!==void 0&&(this.finalSize=t.finalSize),this.setAttrs(t)}set needsUpdate(t){t&&this.version++}destroy(){super.destroy(),this.clear(),this.parent=void 0,this.dispatchEvent(Lu)}setPosition(t){return this.position.set(t.x,t.y),this}translate(t,e){this.position.x+=t,this.position.y+=e}setScale(t,e){return this.scaled.set(t,e),this}setRotationFromMatrix(t){t.decompose(Jn,this.rotation,Pu)}setRotation(t){return this.rotation.set(t,t),this}rotate(t){this.rotation.x+=t}scale(t,e){e?(this.scaled.x*=t,this.scaled.y*=e):this.scaled.multiplyScalar(t)}localToWorld(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix3(this.matrixWorld)}worldToLocal(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix3(Ke.copy(this.matrixWorld).invert())}lookAt(t){Sh.copy(t),this.updateWorldMatrix(!0,!1),this.matrixWorld.getTransition(Jn),Ke.lookAt(Jn,Sh,o0),Ke.getRotation(br),this.rotation.set(br.x,br.x),this.parent&&(this.parent.matrixWorld.getRotation(br),this.rotate(br.x))}applyMatrix3(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.rotation,this.scaled)}updateMatrix(){Bu.copy(this.scaled),this.flipY&&(Bu.y*=-1),this.matrix.compose(this.position,this.rotation,Bu),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(this.parent?this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldInverse.copy(this.matrixWorld).invert(),this.matrixWorldNeedsUpdate=!1,t=!0,this.boundingBoxNeedsUpdate=!0);const e=this.children;for(let r=0,a=e.length;r<a;r++)e[r].updateMatrixWorld(t);this.boundingBoxNeedsUpdate&&(this.updateBoundingBox(),this.boundingBoxNeedsUpdate=!1)}updateWorldMatrix(t=!1,e=!1){const r=this.parent;if(t&&r&&r.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.parent?this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldInverse.copy(this.matrixWorld).invert(),e){const a=this.children;for(let u=0,l=a.length;u<l;u++)a[u].updateWorldMatrix(!1,!0)}}updateModelViewMatrix(t){Ke.copy(this.matrixWorld),this.isInComposeNode?this.modelViewMatrix.copy(this.matrix):t&&this.fixed?this.modelViewMatrix.copy(t.projectionMatrix):t?this.modelViewMatrix.multiplyMatrices(t.viewMatrix,Ke):this.modelViewMatrix.copy(Ke);for(let e=0,r=this.children.length;e<r;e++)this.children[e].updateModelViewMatrix(t)}computeBoundingBox(){this.boundingBox.makeEmpty(),this.centerPoint.set(0,0);for(let t=0,e=this.children.length;t<e;t++)this.children[t].updateMatrixWorld(),Iu.copy(this.children[t].computeBoundingBox()),Iu.applyMatrix3(Ke.copy(this.children[t].matrixWorld)),this.boundingBox.union(Iu);return this.boundingBox.applyMatrix3(Ke.copy(this.matrixWorld).invert()),this.boundingBox}updateBoundingBox(){this.boundingBox.isEmpty()||this.boundingBoxWorld.copy(this.boundingBox).applyMatrix3(this.matrixWorld)}setAttrs(t){if(!t)return this;for(const e in t)if(!(e==="children"||t[e]===void 0)){if(e==="userData"&&t[e]){Object.keys(t[e]).forEach(r=>this.userData[r]=t[e][r]);continue}this.userData[e]=t[e]}return this}add(t){return!t||!t.isObject2||t===this?this:(t.parent&&t.parent.remove(t),t.parent=this,this.children.push(t),t.isInComposeNode=this.composeNode||this.isInComposeNode,t.selectable&&t.parent.setSelectable(t.selectable),this._autoSort&&this.children.sort((e,r)=>e.renderOrder-r.renderOrder),t.dispatchEvent(l0),this)}adds(t){if(!t||!t.length)return this;this._autoSort=!1;for(let e=0,r=t.length;e<r;e++)e===t.length-1&&(this._autoSort=!0),this.add(t[e]);return this}remove(t){const e=this.children.indexOf(t);return e!==-1&&(t.parent=void 0,this.children.splice(e,1),t.dispatchEvent(Lu)),this}removes(t){for(let e=0,r=t.length;e<r;e++)this.remove(t[e]);return this}removeFromParent(){const t=this.parent;return t&&t.remove(this),this}moveToLast(){var e;if(!this.parent)return;let t=this.clone();this.removeFromParent(),(e=t.parent)==null||e.add(t)}clear(){for(let t=0;t<this.children.length;t++){const e=this.children[t];e.parent=void 0,e.destroy(),e.dispatchEvent(Lu)}return this.children.length=0,this}attach(t){return this.updateWorldMatrix(!0,!1),Ke.copy(this.matrixWorld).invert(),t.parent&&(t.parent.updateWorldMatrix(!0,!1),Ke.multiply(t.parent.matrixWorld)),t.applyMatrix3(Ke),this.add(t),t.updateWorldMatrix(!1,!0),this}getObjectById(t){return this.getObjectByProperty("id",t)}getObjectByName(t){return this.getObjectByProperty("name",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let r=0,a=this.children.length;r<a;r++){const l=this.children[r].getObjectByProperty(t,e);if(l!==void 0)return l}}getWorldPosition(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(t,br,Pu),t}getWorldRotation(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Jn,t,Pu),t}getWorldScale(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Jn,br,t),t}getWorldDirection(t){return this.updateWorldMatrix(!0,!1),t.set(this.matrixWorld.elements[6],this.matrixWorld.elements[7]).normalize()}traverse(t){t(this);const e=this.children;for(let r=0,a=e.length;r<a;r++)e[r].traverse(t)}traverseVisible(t){if(this.visible)return;t(this);const e=this.children;for(let r=0,a=e.length;r<a;r++)e[r].traverseVisible(t)}traverseAncestors(t){const e=this.parent;e&&(t(e),e.traverseAncestors(t))}onBeforeRender(t,e,r){}render(t){}onAfterRender(t,e,r){}setSelectable(t){this.selectable=t,this.parent&&this.parent.setSelectable(t)}raycast(t,e=[]){}clone(t=!0){const e=this.constructor;return new e(this.userData).copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.type=t.type,this.featureKey=t.featureKey,this.version=t.version,this.parent=t.parent,this.up.copy(t.up),this.position.copy(t.position),this.rotation.copy(t.rotation),this.scaled.copy(t.scaled),this.flipY=t.flipY,this.selectable=t.selectable,this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.modelViewMatrix.copy(t.modelViewMatrix),this.normalMatrix.copy(t.normalMatrix),this.fixed=t.fixed,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.composeNode=t.composeNode,this.alignCenter=t.alignCenter,this.boundingBox.copy(t.boundingBox),this.boundingBoxWorld.copy(t.boundingBoxWorld),this.boundingBoxNeedsUpdate=t.boundingBoxNeedsUpdate,this.centerPoint.copy(t.centerPoint),this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),e)for(let r=0;r<t.children.length;r++){const a=t.children[r];this.add(a.clone())}return this}}const h0=new L,Dh=new bt;class c0 extends aa{name="Scene";type="Scene";isScene=!0;view;background;featureKey="Scene_"+this.id;matrixAutoUpdate=!1;constructor(){super()}destroy(){super.destroy(),this.boundingBox.makeEmpty()}setup(t){this.view=t}fullscreen(t=1e3,e=!1){this.view&&(this.computeBoundingBox(),Dh.copy(this.boundingBox).expandByVector(h0.set(t,t)),console.log("Scene.fullscreen: ",this.name,this.boundingBox.min.round().toString(),this.boundingBox.max.round().toString()),this.view.resetCameraByBoundingBox(Dh,e))}onBeforeRender(t,e,r){super.onBeforeRender(t,e,r),r&&this.cameraVersion!==r.version&&(this.matrixAutoUpdate||this.updateMatrix(),this.needsUpdate=!0,this.cameraVersion=r.version)}render(t){var e;this.visible&&((e=this.children)==null||e.forEach(function(r){r.isShape&&r.render(t)}))}}class f0{isLoading=!1;itemsLoaded=0;itemsTotal=0;urlModifier;handlers=[];onStart;onLoad;onProgress;onError;constructor(t,e,r){this.onLoad=t,this.onProgress=e,this.onError=r}itemStart(t){this.itemsTotal++,this.isLoading||this.onStart!==void 0&&this.onStart(t,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(t){this.itemsLoaded++,this.onProgress!==void 0&&this.onProgress(t,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,this.onLoad!==void 0&&this.onLoad())}itemError(t){this.onError!==void 0&&this.onError(t)}resolveURL(t){return this.urlModifier!==void 0?this.urlModifier(t):t}setURLModifier(t){return this.urlModifier=t,this}addHandler(t,e){return this.handlers.push(t,e),this}removeHandler(t){const e=this.handlers.indexOf(t);return e!==-1&&this.handlers.splice(e,2),this}getHandler(t){for(let e=0,r=this.handlers.length;e<r;e+=2){const a=this.handlers[e],u=this.handlers[e+1];if(a.global&&(a.lastIndex=0),a.test(t))return u}return null}}const Nh={enabled:!1,files:{},add:function(n,t){this.enabled&&(this.files[n]=t)},get:function(n){if(this.enabled)return this.files[n]},remove:function(n){delete this.files[n]},clear:function(){this.files={}}},p0=new f0;class Oh{manager;crossOrigin="anonymous";withCredentials=!1;path="";resourcePath="";requestHeader={};constructor(t=p0){this.manager=t}loadAsync(t,e){const r=this;return new Promise(function(a,u){r.load(t,a,e,u)})}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}}const Ni={};class d0 extends Error{response;constructor(t,e){super(t),this.response=e}}class g0 extends Oh{mimeType;responseType;constructor(t){super(t)}load(t,e,r,a){t===void 0&&(t=""),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);const u=Nh.get(t);if(u!==void 0)return this.manager.itemStart(t),setTimeout(()=>{e&&e(u),this.manager.itemEnd(t)},0),u;if(Ni[t]!==void 0){Ni[t].push({onLoad:e,onProgress:r,onError:a});return}Ni[t]=[],Ni[t].push({onLoad:e,onProgress:r,onError:a});const l=new gt.window.Request(t,{headers:new gt.window.Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),c=this.mimeType,f=this.responseType;fetch(l).then(d=>{if(d.status===200||d.status===0){if(d.status===0&&console.warn("FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||d.body===void 0||d.body.getReader===void 0)return d;const v=Ni[t],E=d.body.getReader(),A=d.headers.get("Content-Length")||d.headers.get("X-File-Size"),T=A?parseInt(A):0,I=T!==0;let S=0;const D=new ReadableStream({start(k){z();function z(){E.read().then(({done:W,value:X})=>{if(W)k.close();else{S+=X.byteLength;const $=new ProgressEvent("progress",{lengthComputable:I,loaded:S,total:T});for(let K=0,tt=v.length;K<tt;K++){const Z=v[K];Z.onProgress&&Z.onProgress($)}k.enqueue(X),z()}})}}});return new Response(D)}else throw new d0(`fetch for "${d.url}" responded with ${d.status}: ${d.statusText}`,d)}).then(d=>{switch(f){case"arraybuffer":return d.arrayBuffer();case"blob":return d.blob();case"document":return d.text().then(v=>new DOMParser().parseFromString(v,c));case"json":return d.json();default:if(c===void 0)return d.text();{const E=/charset="?([^;"\s]*)"?/i.exec(c),A=E&&E[1]?E[1].toLowerCase():void 0,T=new TextDecoder(A);return d.arrayBuffer().then(I=>T.decode(I))}}}).then(d=>{Nh.add(t,d);const v=Ni[t];delete Ni[t];for(let E=0,A=v.length;E<A;E++){const T=v[E];T.onLoad&&T.onLoad(d)}}).catch(d=>{const v=Ni[t];if(v===void 0)throw this.manager.itemError(t),d;delete Ni[t];for(let E=0,A=v.length;E<A;E++){const T=v[E];T.onError&&T.onError(d)}this.manager.itemError(t)}).finally(()=>{this.manager.itemEnd(t)}),this.manager.itemStart(t)}setMimeType(t){return this.mimeType=t,this}setResponseType(t){return this.responseType=t,this}}var Ru={},ua={};(function(n){const t=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",e=t+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+t+"]["+e+"]*",a=new RegExp("^"+r+"$"),u=function(c,f){const d=[];let v=f.exec(c);for(;v;){const E=[];E.startIndex=f.lastIndex-v[0].length;const A=v.length;for(let T=0;T<A;T++)E.push(v[T]);d.push(E),v=f.exec(c)}return d},l=function(c){const f=a.exec(c);return!(f===null||typeof f>"u")};n.isExist=function(c){return typeof c<"u"},n.isEmptyObject=function(c){return Object.keys(c).length===0},n.merge=function(c,f,d){if(f){const v=Object.keys(f),E=v.length;for(let A=0;A<E;A++)d==="strict"?c[v[A]]=[f[v[A]]]:c[v[A]]=f[v[A]]}},n.getValue=function(c){return n.isExist(c)?c:""},n.isName=l,n.getAllMatches=u,n.nameRegexp=r})(ua);const Fu=ua,m0={allowBooleanAttributes:!1,unpairedTags:[]};Ru.validate=function(n,t){t=Object.assign({},m0,t);const e=[];let r=!1,a=!1;n[0]==="\uFEFF"&&(n=n.substr(1));for(let u=0;u<n.length;u++)if(n[u]==="<"&&n[u+1]==="?"){if(u+=2,u=Bh(n,u),u.err)return u}else if(n[u]==="<"){let l=u;if(u++,n[u]==="!"){u=Ih(n,u);continue}else{let c=!1;n[u]==="/"&&(c=!0,u++);let f="";for(;u<n.length&&n[u]!==">"&&n[u]!==" "&&n[u]!==" "&&n[u]!==`
|
|
33
|
+
`&&n[u]!=="\r";u++)f+=n[u];if(f=f.trim(),f[f.length-1]==="/"&&(f=f.substring(0,f.length-1),u--),!T0(f)){let E;return f.trim().length===0?E="Invalid space after '<'.":E="Tag '"+f+"' is an invalid name.",Ut("InvalidTag",E,he(n,u))}const d=x0(n,u);if(d===!1)return Ut("InvalidAttr","Attributes for '"+f+"' have open quote.",he(n,u));let v=d.value;if(u=d.index,v[v.length-1]==="/"){const E=u-v.length;v=v.substring(0,v.length-1);const A=Ph(v,t);if(A===!0)r=!0;else return Ut(A.err.code,A.err.msg,he(n,E+A.err.line))}else if(c)if(d.tagClosed){if(v.trim().length>0)return Ut("InvalidTag","Closing tag '"+f+"' can't have attributes or invalid starting.",he(n,l));if(e.length===0)return Ut("InvalidTag","Closing tag '"+f+"' has not been opened.",he(n,l));{const E=e.pop();if(f!==E.tagName){let A=he(n,E.tagStartPos);return Ut("InvalidTag","Expected closing tag '"+E.tagName+"' (opened in line "+A.line+", col "+A.col+") instead of closing tag '"+f+"'.",he(n,l))}e.length==0&&(a=!0)}}else return Ut("InvalidTag","Closing tag '"+f+"' doesn't have proper closing.",he(n,u));else{const E=Ph(v,t);if(E!==!0)return Ut(E.err.code,E.err.msg,he(n,u-v.length+E.err.line));if(a===!0)return Ut("InvalidXml","Multiple possible root nodes found.",he(n,u));t.unpairedTags.indexOf(f)!==-1||e.push({tagName:f,tagStartPos:l}),r=!0}for(u++;u<n.length;u++)if(n[u]==="<")if(n[u+1]==="!"){u++,u=Ih(n,u);continue}else if(n[u+1]==="?"){if(u=Bh(n,++u),u.err)return u}else break;else if(n[u]==="&"){const E=b0(n,u);if(E==-1)return Ut("InvalidChar","char '&' is not expected.",he(n,u));u=E}else if(a===!0&&!Mh(n[u]))return Ut("InvalidXml","Extra text at the end",he(n,u));n[u]==="<"&&u--}}else{if(Mh(n[u]))continue;return Ut("InvalidChar","char '"+n[u]+"' is not expected.",he(n,u))}if(r){if(e.length==1)return Ut("InvalidTag","Unclosed tag '"+e[0].tagName+"'.",he(n,e[0].tagStartPos));if(e.length>0)return Ut("InvalidXml","Invalid '"+JSON.stringify(e.map(u=>u.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return Ut("InvalidXml","Start tag expected.",1);return!0};function Mh(n){return n===" "||n===" "||n===`
|
|
34
|
+
`||n==="\r"}function Bh(n,t){const e=t;for(;t<n.length;t++)if(n[t]=="?"||n[t]==" "){const r=n.substr(e,t-e);if(t>5&&r==="xml")return Ut("InvalidXml","XML declaration allowed only at the start of the document.",he(n,t));if(n[t]=="?"&&n[t+1]==">"){t++;break}else continue}return t}function Ih(n,t){if(n.length>t+5&&n[t+1]==="-"&&n[t+2]==="-"){for(t+=3;t<n.length;t++)if(n[t]==="-"&&n[t+1]==="-"&&n[t+2]===">"){t+=2;break}}else if(n.length>t+8&&n[t+1]==="D"&&n[t+2]==="O"&&n[t+3]==="C"&&n[t+4]==="T"&&n[t+5]==="Y"&&n[t+6]==="P"&&n[t+7]==="E"){let e=1;for(t+=8;t<n.length;t++)if(n[t]==="<")e++;else if(n[t]===">"&&(e--,e===0))break}else if(n.length>t+9&&n[t+1]==="["&&n[t+2]==="C"&&n[t+3]==="D"&&n[t+4]==="A"&&n[t+5]==="T"&&n[t+6]==="A"&&n[t+7]==="["){for(t+=8;t<n.length;t++)if(n[t]==="]"&&n[t+1]==="]"&&n[t+2]===">"){t+=2;break}}return t}const y0='"',v0="'";function x0(n,t){let e="",r="",a=!1;for(;t<n.length;t++){if(n[t]===y0||n[t]===v0)r===""?r=n[t]:r!==n[t]||(r="");else if(n[t]===">"&&r===""){a=!0;break}e+=n[t]}return r!==""?!1:{value:e,index:t,tagClosed:a}}const E0=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Ph(n,t){const e=Fu.getAllMatches(n,E0),r={};for(let a=0;a<e.length;a++){if(e[a][1].length===0)return Ut("InvalidAttr","Attribute '"+e[a][2]+"' has no space in starting.",jn(e[a]));if(e[a][3]!==void 0&&e[a][4]===void 0)return Ut("InvalidAttr","Attribute '"+e[a][2]+"' is without value.",jn(e[a]));if(e[a][3]===void 0&&!t.allowBooleanAttributes)return Ut("InvalidAttr","boolean attribute '"+e[a][2]+"' is not allowed.",jn(e[a]));const u=e[a][2];if(!w0(u))return Ut("InvalidAttr","Attribute '"+u+"' is an invalid name.",jn(e[a]));if(!r.hasOwnProperty(u))r[u]=1;else return Ut("InvalidAttr","Attribute '"+u+"' is repeated.",jn(e[a]))}return!0}function A0(n,t){let e=/\d/;for(n[t]==="x"&&(t++,e=/[\da-fA-F]/);t<n.length;t++){if(n[t]===";")return t;if(!n[t].match(e))break}return-1}function b0(n,t){if(t++,n[t]===";")return-1;if(n[t]==="#")return t++,A0(n,t);let e=0;for(;t<n.length;t++,e++)if(!(n[t].match(/\w/)&&e<20)){if(n[t]===";")break;return-1}return t}function Ut(n,t,e){return{err:{code:n,msg:t,line:e.line||e,col:e.col}}}function w0(n){return Fu.isName(n)}function T0(n){return Fu.isName(n)}function he(n,t){const e=n.substring(0,t).split(/\r?\n/);return{line:e.length,col:e[e.length-1].length+1}}function jn(n){return n.startIndex+n[1].length}var Uu={};const Lh={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(n,t){return t},attributeValueProcessor:function(n,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(n,t,e){return n}},_0=function(n){return Object.assign({},Lh,n)};Uu.buildOptions=_0,Uu.defaultOptions=Lh;class C0{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,e){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:e})}addChild(t){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}}var S0=C0;const D0=ua;function N0(n,t){const e={};if(n[t+3]==="O"&&n[t+4]==="C"&&n[t+5]==="T"&&n[t+6]==="Y"&&n[t+7]==="P"&&n[t+8]==="E"){t=t+9;let r=1,a=!1,u=!1,l="";for(;t<n.length;t++)if(n[t]==="<"&&!u){if(a&&B0(n,t))t+=7,[entityName,val,t]=O0(n,t+1),val.indexOf("&")===-1&&(e[R0(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(a&&I0(n,t))t+=8;else if(a&&P0(n,t))t+=8;else if(a&&L0(n,t))t+=9;else if(M0)u=!0;else throw new Error("Invalid DOCTYPE");r++,l=""}else if(n[t]===">"){if(u?n[t-1]==="-"&&n[t-2]==="-"&&(u=!1,r--):r--,r===0)break}else n[t]==="["?a=!0:l+=n[t];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:e,i:t}}function O0(n,t){let e="";for(;t<n.length&&n[t]!=="'"&&n[t]!=='"';t++)e+=n[t];if(e=e.trim(),e.indexOf(" ")!==-1)throw new Error("External entites are not supported");const r=n[t++];let a="";for(;t<n.length&&n[t]!==r;t++)a+=n[t];return[e,a,t]}function M0(n,t){return n[t+1]==="!"&&n[t+2]==="-"&&n[t+3]==="-"}function B0(n,t){return n[t+1]==="!"&&n[t+2]==="E"&&n[t+3]==="N"&&n[t+4]==="T"&&n[t+5]==="I"&&n[t+6]==="T"&&n[t+7]==="Y"}function I0(n,t){return n[t+1]==="!"&&n[t+2]==="E"&&n[t+3]==="L"&&n[t+4]==="E"&&n[t+5]==="M"&&n[t+6]==="E"&&n[t+7]==="N"&&n[t+8]==="T"}function P0(n,t){return n[t+1]==="!"&&n[t+2]==="A"&&n[t+3]==="T"&&n[t+4]==="T"&&n[t+5]==="L"&&n[t+6]==="I"&&n[t+7]==="S"&&n[t+8]==="T"}function L0(n,t){return n[t+1]==="!"&&n[t+2]==="N"&&n[t+3]==="O"&&n[t+4]==="T"&&n[t+5]==="A"&&n[t+6]==="T"&&n[t+7]==="I"&&n[t+8]==="O"&&n[t+9]==="N"}function R0(n){if(D0.isName(n))return n;throw new Error(`Invalid entity name ${n}`)}var F0=N0;const U0=/^[-+]?0x[a-fA-F0-9]+$/,k0=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const q0={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function H0(n,t={}){if(t=Object.assign({},q0,t),!n||typeof n!="string")return n;let e=n.trim();if(t.skipLike!==void 0&&t.skipLike.test(e))return n;if(t.hex&&U0.test(e))return Number.parseInt(e,16);{const r=k0.exec(e);if(r){const a=r[1],u=r[2];let l=W0(r[3]);const c=r[4]||r[6];if(!t.leadingZeros&&u.length>0&&a&&e[2]!==".")return n;if(!t.leadingZeros&&u.length>0&&!a&&e[1]!==".")return n;{const f=Number(e),d=""+f;return d.search(/[eE]/)!==-1||c?t.eNotation?f:n:e.indexOf(".")!==-1?d==="0"&&l===""||d===l||a&&d==="-"+l?f:n:u?l===d||a+l===d?f:n:e===d||e===a+d?f:n}}else return n}}function W0(n){return n&&n.indexOf(".")!==-1&&(n=n.replace(/0+$/,""),n==="."?n="0":n[0]==="."?n="0"+n:n[n.length-1]==="."&&(n=n.substr(0,n.length-1))),n}var V0=H0;const Rh=ua,ts=S0,z0=F0,$0=V0;let G0=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,r)=>String.fromCharCode(Number.parseInt(r,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,r)=>String.fromCharCode(Number.parseInt(r,16))}},this.addExternalEntities=X0,this.parseXml=J0,this.parseTextData=Y0,this.resolveNameSpace=Z0,this.buildAttributesMap=Q0,this.isItStopNode=ig,this.replaceEntitiesValue=tg,this.readStopNodeData=ng,this.saveTextToParentTag=eg,this.addChild=j0}};function X0(n){const t=Object.keys(n);for(let e=0;e<t.length;e++){const r=t[e];this.lastEntities[r]={regex:new RegExp("&"+r+";","g"),val:n[r]}}}function Y0(n,t,e,r,a,u,l){if(n!==void 0&&(this.options.trimValues&&!r&&(n=n.trim()),n.length>0)){l||(n=this.replaceEntitiesValue(n));const c=this.options.tagValueProcessor(t,n,e,a,u);return c==null?n:typeof c!=typeof n||c!==n?c:this.options.trimValues?qu(n,this.options.parseTagValue,this.options.numberParseOptions):n.trim()===n?qu(n,this.options.parseTagValue,this.options.numberParseOptions):n}}function Z0(n){if(this.options.removeNSPrefix){const t=n.split(":"),e=n.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(n=e+t[1])}return n}const K0=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Q0(n,t,e){if(!this.options.ignoreAttributes&&typeof n=="string"){const r=Rh.getAllMatches(n,K0),a=r.length,u={};for(let l=0;l<a;l++){const c=this.resolveNameSpace(r[l][1]);let f=r[l][4],d=this.options.attributeNamePrefix+c;if(c.length)if(this.options.transformAttributeName&&(d=this.options.transformAttributeName(d)),d==="__proto__"&&(d="#__proto__"),f!==void 0){this.options.trimValues&&(f=f.trim()),f=this.replaceEntitiesValue(f);const v=this.options.attributeValueProcessor(c,f,t);v==null?u[d]=f:typeof v!=typeof f||v!==f?u[d]=v:u[d]=qu(f,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(u[d]=!0)}if(!Object.keys(u).length)return;if(this.options.attributesGroupName){const l={};return l[this.options.attributesGroupName]=u,l}return u}}const J0=function(n){n=n.replace(/\r\n?/g,`
|
|
35
|
+
`);const t=new ts("!xml");let e=t,r="",a="";for(let u=0;u<n.length;u++)if(n[u]==="<")if(n[u+1]==="/"){const c=wr(n,">",u,"Closing Tag is not closed.");let f=n.substring(u+2,c).trim();if(this.options.removeNSPrefix){const E=f.indexOf(":");E!==-1&&(f=f.substr(E+1))}this.options.transformTagName&&(f=this.options.transformTagName(f)),e&&(r=this.saveTextToParentTag(r,e,a));const d=a.substring(a.lastIndexOf(".")+1);if(f&&this.options.unpairedTags.indexOf(f)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${f}>`);let v=0;d&&this.options.unpairedTags.indexOf(d)!==-1?(v=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):v=a.lastIndexOf("."),a=a.substring(0,v),e=this.tagsNodeStack.pop(),r="",u=c}else if(n[u+1]==="?"){let c=ku(n,u,!1,"?>");if(!c)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,e,a),!(this.options.ignoreDeclaration&&c.tagName==="?xml"||this.options.ignorePiTags)){const f=new ts(c.tagName);f.add(this.options.textNodeName,""),c.tagName!==c.tagExp&&c.attrExpPresent&&(f[":@"]=this.buildAttributesMap(c.tagExp,a,c.tagName)),this.addChild(e,f,a)}u=c.closeIndex+1}else if(n.substr(u+1,3)==="!--"){const c=wr(n,"-->",u+4,"Comment is not closed.");if(this.options.commentPropName){const f=n.substring(u+4,c-2);r=this.saveTextToParentTag(r,e,a),e.add(this.options.commentPropName,[{[this.options.textNodeName]:f}])}u=c}else if(n.substr(u+1,2)==="!D"){const c=z0(n,u);this.docTypeEntities=c.entities,u=c.i}else if(n.substr(u+1,2)==="!["){const c=wr(n,"]]>",u,"CDATA is not closed.")-2,f=n.substring(u+9,c);r=this.saveTextToParentTag(r,e,a);let d=this.parseTextData(f,e.tagname,a,!0,!1,!0,!0);d==null&&(d=""),this.options.cdataPropName?e.add(this.options.cdataPropName,[{[this.options.textNodeName]:f}]):e.add(this.options.textNodeName,d),u=c+2}else{let c=ku(n,u,this.options.removeNSPrefix),f=c.tagName;const d=c.rawTagName;let v=c.tagExp,E=c.attrExpPresent,A=c.closeIndex;this.options.transformTagName&&(f=this.options.transformTagName(f)),e&&r&&e.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,e,a,!1));const T=e;if(T&&this.options.unpairedTags.indexOf(T.tagname)!==-1&&(e=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),f!==t.tagname&&(a+=a?"."+f:f),this.isItStopNode(this.options.stopNodes,a,f)){let I="";if(v.length>0&&v.lastIndexOf("/")===v.length-1)f[f.length-1]==="/"?(f=f.substr(0,f.length-1),a=a.substr(0,a.length-1),v=f):v=v.substr(0,v.length-1),u=c.closeIndex;else if(this.options.unpairedTags.indexOf(f)!==-1)u=c.closeIndex;else{const D=this.readStopNodeData(n,d,A+1);if(!D)throw new Error(`Unexpected end of ${d}`);u=D.i,I=D.tagContent}const S=new ts(f);f!==v&&E&&(S[":@"]=this.buildAttributesMap(v,a,f)),I&&(I=this.parseTextData(I,f,a,!0,E,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),S.add(this.options.textNodeName,I),this.addChild(e,S,a)}else{if(v.length>0&&v.lastIndexOf("/")===v.length-1){f[f.length-1]==="/"?(f=f.substr(0,f.length-1),a=a.substr(0,a.length-1),v=f):v=v.substr(0,v.length-1),this.options.transformTagName&&(f=this.options.transformTagName(f));const I=new ts(f);f!==v&&E&&(I[":@"]=this.buildAttributesMap(v,a,f)),this.addChild(e,I,a),a=a.substr(0,a.lastIndexOf("."))}else{const I=new ts(f);this.tagsNodeStack.push(e),f!==v&&E&&(I[":@"]=this.buildAttributesMap(v,a,f)),this.addChild(e,I,a),e=I}r="",u=A}}else r+=n[u];return t.child};function j0(n,t,e){const r=this.options.updateTag(t.tagname,e,t[":@"]);r===!1||(typeof r=="string"&&(t.tagname=r),n.addChild(t))}const tg=function(n){if(this.options.processEntities){for(let t in this.docTypeEntities){const e=this.docTypeEntities[t];n=n.replace(e.regx,e.val)}for(let t in this.lastEntities){const e=this.lastEntities[t];n=n.replace(e.regex,e.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const e=this.htmlEntities[t];n=n.replace(e.regex,e.val)}n=n.replace(this.ampEntity.regex,this.ampEntity.val)}return n};function eg(n,t,e,r){return n&&(r===void 0&&(r=Object.keys(t.child).length===0),n=this.parseTextData(n,t.tagname,e,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,r),n!==void 0&&n!==""&&t.add(this.options.textNodeName,n),n=""),n}function ig(n,t,e){const r="*."+e;for(const a in n){const u=n[a];if(r===u||t===u)return!0}return!1}function rg(n,t,e=">"){let r,a="";for(let u=t;u<n.length;u++){let l=n[u];if(r)l===r&&(r="");else if(l==='"'||l==="'")r=l;else if(l===e[0])if(e[1]){if(n[u+1]===e[1])return{data:a,index:u}}else return{data:a,index:u};else l===" "&&(l=" ");a+=l}}function wr(n,t,e,r){const a=n.indexOf(t,e);if(a===-1)throw new Error(r);return a+t.length-1}function ku(n,t,e,r=">"){const a=rg(n,t+1,r);if(!a)return;let u=a.data;const l=a.index,c=u.search(/\s/);let f=u,d=!0;c!==-1&&(f=u.substring(0,c),u=u.substring(c+1).trimStart());const v=f;if(e){const E=f.indexOf(":");E!==-1&&(f=f.substr(E+1),d=f!==a.data.substr(E+1))}return{tagName:f,tagExp:u,closeIndex:l,attrExpPresent:d,rawTagName:v}}function ng(n,t,e){const r=e;let a=1;for(;e<n.length;e++)if(n[e]==="<")if(n[e+1]==="/"){const u=wr(n,">",e,`${t} is not closed`);if(n.substring(e+2,u).trim()===t&&(a--,a===0))return{tagContent:n.substring(r,e),i:u};e=u}else if(n[e+1]==="?")e=wr(n,"?>",e+1,"StopNode is not closed.");else if(n.substr(e+1,3)==="!--")e=wr(n,"-->",e+3,"StopNode is not closed.");else if(n.substr(e+1,2)==="![")e=wr(n,"]]>",e,"StopNode is not closed.")-2;else{const u=ku(n,e,">");u&&((u&&u.tagName)===t&&u.tagExp[u.tagExp.length-1]!=="/"&&a++,e=u.closeIndex)}}function qu(n,t,e){if(t&&typeof n=="string"){const r=n.trim();return r==="true"?!0:r==="false"?!1:$0(n,e)}else return Rh.isExist(n)?n:""}var sg=G0,Fh={};function ag(n,t){return Uh(n,t)}function Uh(n,t,e){let r;const a={};for(let u=0;u<n.length;u++){const l=n[u],c=ug(l);let f="";if(e===void 0?f=c:f=e+"."+c,c===t.textNodeName)r===void 0?r=l[c]:r+=""+l[c];else{if(c===void 0)continue;if(l[c]){let d=Uh(l[c],t,f);const v=lg(d,t);l[":@"]?og(d,l[":@"],f,t):Object.keys(d).length===1&&d[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?d=d[t.textNodeName]:Object.keys(d).length===0&&(t.alwaysCreateTextNode?d[t.textNodeName]="":d=""),a[c]!==void 0&&a.hasOwnProperty(c)?(Array.isArray(a[c])||(a[c]=[a[c]]),a[c].push(d)):t.isArray(c,f,v)?a[c]=[d]:a[c]=d}}}return typeof r=="string"?r.length>0&&(a[t.textNodeName]=r):r!==void 0&&(a[t.textNodeName]=r),a}function ug(n){const t=Object.keys(n);for(let e=0;e<t.length;e++){const r=t[e];if(r!==":@")return r}}function og(n,t,e,r){if(t){const a=Object.keys(t),u=a.length;for(let l=0;l<u;l++){const c=a[l];r.isArray(c,e+"."+c,!0,!0)?n[c]=[t[c]]:n[c]=t[c]}}}function lg(n,t){const{textNodeName:e}=t,r=Object.keys(n).length;return!!(r===0||r===1&&(n[e]||typeof n[e]=="boolean"||n[e]===0))}Fh.prettify=ag;const{buildOptions:hg}=Uu,cg=sg,{prettify:fg}=Fh,pg=Ru;var dg=class{constructor(t){this.externalEntities={},this.options=hg(t)}parse(t,e){if(typeof t!="string")if(t.toString)t=t.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(e){e===!0&&(e={});const u=pg.validate(t,e);if(u!==!0)throw Error(`${u.err.msg}:${u.err.line}:${u.err.col}`)}const r=new cg(this.options);r.addExternalEntities(this.externalEntities);const a=r.parseXml(t);return this.options.preserveOrder||a===void 0?a:fg(a,this.options)}addEntity(t,e){if(e.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if(e==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=e}};const gg=`
|
|
36
|
+
`;function mg(n,t){let e="";return t.format&&t.indentBy.length>0&&(e=gg),kh(n,t,"",e)}function kh(n,t,e,r){let a="",u=!1;for(let l=0;l<n.length;l++){const c=n[l],f=yg(c);if(f===void 0)continue;let d="";if(e.length===0?d=f:d=`${e}.${f}`,f===t.textNodeName){let I=c[f];vg(d,t)||(I=t.tagValueProcessor(f,I),I=Hh(I,t)),u&&(a+=r),a+=I,u=!1;continue}else if(f===t.cdataPropName){u&&(a+=r),a+=`<![CDATA[${c[f][0][t.textNodeName]}]]>`,u=!1;continue}else if(f===t.commentPropName){a+=r+`<!--${c[f][0][t.textNodeName]}-->`,u=!0;continue}else if(f[0]==="?"){const I=qh(c[":@"],t),S=f==="?xml"?"":r;let D=c[f][0][t.textNodeName];D=D.length!==0?" "+D:"",a+=S+`<${f}${D}${I}?>`,u=!0;continue}let v=r;v!==""&&(v+=t.indentBy);const E=qh(c[":@"],t),A=r+`<${f}${E}`,T=kh(c[f],t,d,v);t.unpairedTags.indexOf(f)!==-1?t.suppressUnpairedNode?a+=A+">":a+=A+"/>":(!T||T.length===0)&&t.suppressEmptyNode?a+=A+"/>":T&&T.endsWith(">")?a+=A+`>${T}${r}</${f}>`:(a+=A+">",T&&r!==""&&(T.includes("/>")||T.includes("</"))?a+=r+t.indentBy+T+r:a+=T,a+=`</${f}>`),u=!0}return a}function yg(n){const t=Object.keys(n);for(let e=0;e<t.length;e++){const r=t[e];if(n.hasOwnProperty(r)&&r!==":@")return r}}function qh(n,t){let e="";if(n&&!t.ignoreAttributes)for(let r in n){if(!n.hasOwnProperty(r))continue;let a=t.attributeValueProcessor(r,n[r]);a=Hh(a,t),a===!0&&t.suppressBooleanAttributes?e+=` ${r.substr(t.attributeNamePrefix.length)}`:e+=` ${r.substr(t.attributeNamePrefix.length)}="${a}"`}return e}function vg(n,t){n=n.substr(0,n.length-t.textNodeName.length-1);let e=n.substr(n.lastIndexOf(".")+1);for(let r in t.stopNodes)if(t.stopNodes[r]===n||t.stopNodes[r]==="*."+e)return!0;return!1}function Hh(n,t){if(n&&n.length>0&&t.processEntities)for(let e=0;e<t.entities.length;e++){const r=t.entities[e];n=n.replace(r.regex,r.val)}return n}var xg=mg;const Eg=xg,Ag={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(n,t){return t},attributeValueProcessor:function(n,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function ji(n){this.options=Object.assign({},Ag,n),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Tg),this.processTextOrObjNode=bg,this.options.format?(this.indentate=wg,this.tagEndChar=`>
|
|
37
37
|
`,this.newLine=`
|
|
38
|
-
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}tr.prototype.build=function(n){return this.options.preserveOrder?xg(n,this.options):(Array.isArray(n)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(n={[this.options.arrayNodeName]:n}),this.j2x(n,0).val)},tr.prototype.j2x=function(n,t){let e="",r="";for(let a in n)if(Object.prototype.hasOwnProperty.call(n,a))if(typeof n[a]>"u")this.isAttribute(a)&&(r+="");else if(n[a]===null)this.isAttribute(a)?r+="":a[0]==="?"?r+=this.indentate(t)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+a+"/"+this.tagEndChar;else if(n[a]instanceof Date)r+=this.buildTextValNode(n[a],a,"",t);else if(typeof n[a]!="object"){const u=this.isAttribute(a);if(u)e+=this.buildAttrPairStr(u,""+n[a]);else if(a===this.options.textNodeName){let l=this.options.tagValueProcessor(a,""+n[a]);r+=this.replaceEntitiesValue(l)}else r+=this.buildTextValNode(n[a],a,"",t)}else if(Array.isArray(n[a])){const u=n[a].length;let l="",c="";for(let f=0;f<u;f++){const d=n[a][f];if(!(typeof d>"u"))if(d===null)a[0]==="?"?r+=this.indentate(t)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+a+"/"+this.tagEndChar;else if(typeof d=="object")if(this.options.oneListGroup){const v=this.j2x(d,t+1);l+=v.val,this.options.attributesGroupName&&d.hasOwnProperty(this.options.attributesGroupName)&&(c+=v.attrStr)}else l+=this.processTextOrObjNode(d,a,t);else if(this.options.oneListGroup){let v=this.options.tagValueProcessor(a,d);v=this.replaceEntitiesValue(v),l+=v}else l+=this.buildTextValNode(d,a,"",t)}this.options.oneListGroup&&(l=this.buildObjectNode(l,a,c,t)),r+=l}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const u=Object.keys(n[a]),l=u.length;for(let c=0;c<l;c++)e+=this.buildAttrPairStr(u[c],""+n[a][u[c]])}else r+=this.processTextOrObjNode(n[a],a,t);return{attrStr:e,val:r}},tr.prototype.buildAttrPairStr=function(n,t){return t=this.options.attributeValueProcessor(n,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+n:" "+n+'="'+t+'"'};function Ag(n,t,e){const r=this.j2x(n,e+1);return n[this.options.textNodeName]!==void 0&&Object.keys(n).length===1?this.buildTextValNode(n[this.options.textNodeName],t,r.attrStr,e):this.buildObjectNode(r.val,t,r.attrStr,e)}tr.prototype.buildObjectNode=function(n,t,e,r){if(n==="")return t[0]==="?"?this.indentate(r)+"<"+t+e+"?"+this.tagEndChar:this.indentate(r)+"<"+t+e+this.closeTag(t)+this.tagEndChar;{let a="</"+t+this.tagEndChar,u="";return t[0]==="?"&&(u="?",a=""),(e||e==="")&&n.indexOf("<")===-1?this.indentate(r)+"<"+t+e+u+">"+n+a:this.options.commentPropName!==!1&&t===this.options.commentPropName&&u.length===0?this.indentate(r)+`<!--${n}-->`+this.newLine:this.indentate(r)+"<"+t+e+u+this.tagEndChar+n+this.indentate(r)+a}},tr.prototype.closeTag=function(n){let t="";return this.options.unpairedTags.indexOf(n)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${n}`,t},tr.prototype.buildTextValNode=function(n,t,e,r){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${n}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(r)+`<!--${n}-->`+this.newLine;if(t[0]==="?")return this.indentate(r)+"<"+t+e+"?"+this.tagEndChar;{let a=this.options.tagValueProcessor(t,n);return a=this.replaceEntitiesValue(a),a===""?this.indentate(r)+"<"+t+e+this.closeTag(t)+this.tagEndChar:this.indentate(r)+"<"+t+e+">"+a+"</"+t+this.tagEndChar}},tr.prototype.replaceEntitiesValue=function(n){if(n&&n.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const e=this.options.entities[t];n=n.replace(e.regex,e.val)}return n};function bg(n){return this.options.indentBy.repeat(n)}function wg(n){return n.startsWith(this.options.attributeNamePrefix)&&n!==this.options.textNodeName?n.substr(this.attrPrefixLen):!1}var Tg=tr,zh={XMLParser:pg,XMLValidator:Ru,XMLBuilder:Tg};class di extends gt.window.Path2D{vertices=[];commands=[];constructor(t){return super(t),this}destroy(){this.vertices.length=0}getVertices2(){return this.vertices}setVertices2(t){if(!t||!t.length)return this;const e=t.length;for(let r=0;r<e;r++)r?this.lineTo(t[r].x,t[r].y):this.moveTo(t[r].x,t[r].y);return L.equals(t[0],t[e-1])||this.lineTo(t[0].x,t[0].y),this}clone(){const t=this.constructor;return new t(this).copy(this)}copy(t){return this.vertices=ct.cloneDeep(t.vertices),this.commands=ct.cloneDeep(t.commands),this}rebuild(t){if(!this.commands||!this.commands.length)return this;this.vertices.length=0;const e=this.commands;this.commands=[];let r;for(let a=0,u=e.length;a<u;a++)switch(r=e[a],r.cmd){case"arc":this.arc(r.x,r.y,r.r,r.start,r.end,r.ccw);break;case"arcTo":this.arcTo(r.x1,r.y1,r.x2,r.y2,r.r);break;case"bezierCurveTo":this.bezierCurveTo(r.cp1x,r.cp1y,r.cp2x,r.cp2y,r.x,r.y);break;case"closePath":this.closePath();break;case"ellipse":this.ellipse(r.x,r.y,r.rx,r.ry,r.angle,r.start,r.end,r.ccw);break;case"lineTo":this.lineTo(r.x,r.y);break;case"moveTo":this.moveTo(r.x,r.y);break;case"quadraticCurveTo":this.quadraticCurveTo(r.cpx,r.cpy,r.x,r.y);break;case"rect":this.rect(r.x,r.y,r.width,r.height);break;case"roundRect":this.roundRect(r.x,r.y,r.width,r.height,r.radii);break;default:console.error(`unsupported type '${r.cmd}'`);break}return this}addPath(t){return super.addPath(t),typeof t.getVertices2=="function"&&(this.vertices=this.vertices.concat(t.getVertices2())),this}arc(t,e,r,a,u,l){super.arc(t,e,r,a,u,l);const c=[{x:t-r,y:e-r},{x:t-r,y:e+r},{x:t+r,y:e+r},{x:t+r,y:e-r}];return this.commands.push({cmd:"arc",x:t,y:e,start:a,end:u,ccw:l,points:c}),this}arcTo(t,e,r,a,u){super.arcTo(t,e,r,a,u);const l=[{x:t,y:e},{x:r,y:a}];return this.commands.push({cmd:"arcTo",x1:t,y1:e,x2:r,y2:a,r:u,points:l}),this.vertices.push(...l),this}bezierCurveTo(t,e,r,a,u,l){super.bezierCurveTo(t,e,r,a,u,l);const c=[{x:t,y:e},{x:r,y:a},{x:u,y:l}];return this.commands.push({cmd:"bezierCurveTo",cp1x:t,cp1y:e,cp2x:r,cp2y:a,x:u,y:l,points:c}),this.vertices.push(...c),this}closePath(){return super.closePath(),this.commands.push({cmd:"closePath"}),this}ellipse(t,e,r,a,u,l,c,f){super.ellipse(t,e,r,a,u,l,c,f);const d=Math.max(r,a),v=[{x:t-d,y:e-d},{x:t+d,y:e+d}];return this.commands.push({cmd:"ellipse",x:t,y:e,rx:r,ry:a,angle:u,start:l,end:c,ccw:f,points:v}),this.vertices.push(...v),this}lineTo(t,e){super.lineTo(t,e);const r=[{x:t,y:e}];return this.commands.push({cmd:"lineTo",x:t,y:e,points:r}),this.vertices.push(...r),this}moveTo(t,e){super.moveTo(t,e);const r=[{x:t,y:e}];return this.commands.push({cmd:"moveTo",x:t,y:e,points:r}),this.vertices.push(...r),this}quadraticCurveTo(t,e,r,a){super.quadraticCurveTo(t,e,r,a);const u=[{x:t,y:e},{x:r,y:a}];return this.commands.push({cmd:"quadraticCurveTo",cpx:t,cpy:e,x:r,y:a,points:u}),this.vertices.push(...u),this}rect(t,e,r,a){super.rect(t,e,r,a);const u=[{x:t,y:e},{x:t+r,y:e},{x:t+r,y:e+a},{x:t,y:e+a}];return this.commands.push({cmd:"rect",x:t,y:e,width:r,height:a,points:u}),this.vertices.push(...u),this}roundRect(t,e,r,a,u){super.roundRect(t,e,r,a,u);const l=[{x:t,y:e},{x:t+r,y:e+a}];return this.commands.push({cmd:"roundRect",x:t,y:e,width:r,height:a,radii:u,points:l}),this.vertices.push(...l),this}}class Hu extends sa{type="Group2";isGroup=!0;version=0;versions=[];params;alignCenter=!1;dynamically=!1;usedCache=!1;wireframe=!1;showPoints=!1;constructor(t={}){t.name===void 0&&(t.name="Group2"),super(t),this.params=t,t.usedCache!==void 0&&(this.usedCache=t.usedCache),t.wireframe!==void 0&&(this.wireframe=t.wireframe),t.showPoints!==void 0&&(this.showPoints=t.showPoints),t.alignCenter!==void 0&&(this.alignCenter=t.alignCenter),t.dynamically!==void 0&&(this.dynamically=t.dynamically)}destroy(){super.destroy(),this.boundingBox.makeEmpty()}clone(t=!0){const e=this.constructor;return new e(this.params).copy(this,t)}copy(t,e=!0){return super.copy(t,e),this.params=t.params,this.alignCenter=t.alignCenter,this.dynamically=t.dynamically,this.usedCache=t.usedCache,this.wireframe=t.wireframe,this.showPoints=t.showPoints,this}composeWireframeGeometryPath(t){return this.traverse(e=>{!e.isShape||!e.geometry||!e.geometry.path||t.addPath(e.geometry.path)}),t}set needsUpdate(t){t&&this.version++,this.dispatchEvent({type:"needsUpdateChanged"})}generateFeaturesKey(){return this.featureKey=this.name+this.version,this.featureKey}render(t){if(!(!this.visible||!this.composeNode))for(let e=0,r=this.children.length;e<r;e++)this.children[e].render(t)}}var ts={};const _g="bold|bolder|lighter|[1-9]00",Cg="italic|oblique",Sg="small-caps",Dg="ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",Ng="px|pt|pc|in|cm|mm|%|em|ex|ch|rem|q",Vh=`'([^']+)'|"([^"]+)"|[\\w\\s-]+`,Mg=new RegExp(`(${_g}) +`,"i"),Og=new RegExp(`(${Cg}) +`,"i"),Bg=new RegExp(`(${Sg}) +`,"i"),Ig=new RegExp(`(${Dg}) +`,"i"),Pg=new RegExp(`([\\d\\.]+)(${Ng}) *((?:${Vh})( *, *(?:${Vh}))*)`),Wu={},Lg=16;var Rg=n=>{if(Wu[n])return Wu[n];const t=Pg.exec(n);if(!t)return;const e={weight:"normal",style:"normal",stretch:"normal",variant:"normal",size:parseFloat(t[1]),unit:t[2],family:t[3].replace(/["']/g,"").replace(/ *, */g,",")};let r,a,u,l;const c=n.substring(0,t.index);switch((r=Mg.exec(c))&&(e.weight=r[1]),(a=Og.exec(c))&&(e.style=a[1]),(u=Bg.exec(c))&&(e.variant=u[1]),(l=Ig.exec(c))&&(e.stretch=l[1]),e.unit){case"pt":e.size/=.75;break;case"pc":e.size*=16;break;case"in":e.size*=96;break;case"cm":e.size*=96/2.54;break;case"mm":e.size*=96/25.4;break;case"%":break;case"em":case"rem":e.size*=Lg/.75;break;case"q":e.size*=96/25.4/4;break}return Wu[n]=e};const Fg=Rg;ts.parseFont=Fg,ts.createCanvas=function(n,t){return Object.assign(document.createElement("canvas"),{width:n,height:t})},ts.createImageData=function(n,t,e){switch(arguments.length){case 0:return new ImageData;case 1:return new ImageData(n);case 2:return new ImageData(n,t);default:return new ImageData(n,t,e)}},ts.loadImage=function(n,t){return new Promise(function(e,r){const a=Object.assign(document.createElement("img"),t);function u(){a.onload=null,a.onerror=null}a.onload=function(){u(),e(a)},a.onerror=function(){u(),r(new Error('Failed to load the image "'+n+'"'))},a.src=n})};class Mi{static cached=new Map;static cachedCanvas=new Map;static destroy(){this.cached.clear(),this.cachedCanvas.clear()}static createCanvas(t){var a;if(!((a=gt.window)!=null&&a.document))throw new Error("environment not support");let e;t.containerId&&(e=gt.window.document.getElementById(t.containerId)),e||(e=gt.window.document.getElementsByTagName("body")[0]);let r;if(t.canvasId&&(r=gt.window.document.getElementById(t.canvasId)||void 0),t.width||(t.width=e==null?void 0:e.offsetWidth),t.height||(t.height=e==null?void 0:e.offsetHeight),t.dpr||(t.dpr=gt.dpr),r)this.resizeCanvas(r,t.width,t.height,t.dpr);else{if(r=this.createHtmlCanvas(t.width,t.height,t.dpr),!r)throw new Error("error environment");t.canvasId&&r.setAttribute("id",t.canvasId),e==null||e.appendChild(r)}return r.style.background=t.background||"transparent",r}static getContext2D(t,e={}){const r={alpha:!0,willReadFrequently:!!e.willReadFrequently},a=t.getContext("2d",r);if(!a)throw new Error("getContext2D error");return a.scale(e.dpr||1,e.dpr||1),a}static createNodeCanvas(t,e){var a;let r;return(a=gt.window)!=null&&a.document?r=gt.window.document.createElement("canvas"):r=new ts.Canvas(t,e),this.resizeCanvas(r,t,e,gt.window.devicePixelRatio),r.uuid=Ou(),r}static resizeCanvas(t,e,r,a=1){t instanceof OffscreenCanvas?(t.width=e,t.height=r):t instanceof HTMLCanvasElement?(t.setAttribute("width",(e*a).toString()),t.setAttribute("height",(r*a).toString()),t.style.width=e+"px",t.style.height=r+"px",t.style.padding="0",t.style.margin="0",t.style.border="0",t.style.imageRendering="pixelated",t.style.transform="translateZ(0)"):(t.width=e,t.height=r)}static async getImageBitmapByCanvasAsync(t){if(t)return t instanceof OffscreenCanvas?t.transferToImageBitmap():t instanceof HTMLCanvasElement?await createImageBitmap(t):void 0}static get(t,e,r,a=1){let u=this.cached.get(t);return u||(u=this.create(e,r,a),this.set(t,u)),this.resizeCanvas(u,e,r,a),u}static set(t,e){if(!t||!e)throw new Error("error input");return this.cached.set(t,e)}static remove(t){this.cached.has(t)&&this.cached.delete(t)}static create(t,e,r=1){var a;if((a=gt.window)!=null&&a.OffscreenCanvas)return new OffscreenCanvas(t,e);throw new Error("environment does not support")}static createHtmlCanvas(t,e,r=1){if(!gt.window.document)throw new Error("environment does not support");const a=gt.window.document.createElement("canvas");return this.resizeCanvas(a,t,e,r),a}static measureText(t,e,r=new L){if(!t)throw new Error("input error");const u=this.get("measureText",1,1).getContext("2d");if(!u)throw new Error("bufferCtx not found");e.render(u);const l=u.measureText(t);if(!l)throw new Error("measureText error");const c=l.actualBoundingBoxRight+l.actualBoundingBoxLeft,f=l.actualBoundingBoxAscent+l.actualBoundingBoxDescent;return r.set(c,f),r}}function $h(n){return!!(n&&n.constructor&&n.call&&n.apply)}const Ug="children",kg="get",qg="set",zu="Changed";class Vu extends ji{name="Node2";userData={};_cache=new Map;_attachedDepsListeners=new Map;constructor(t){super(),this.setAttrs(t)}destroy(){super.destroy(),this._clearCache()}setAttrs(t){if(!t)return this;let e;for(const r in t)r!==Ug&&(e=qg+r,$h(this[e])?this[e](t[r]):this.setAttr(r,t[r]));return this}setAttr(t,e){Object.hasOwnProperty.call(this,t)&&(this.userData[t]=e,this[t]=e)}getAttrs(){return this.userData||{}}getAttr(t){const e=kg+ct.capitalize(t);return $h(this[e])?this[e]():this.userData[t]}getAttrKey(){return Object.values(this.userData).filter(t=>!(t instanceof Array||t instanceof Object)).join("_")}_getCache(t,e){let r=this._cache.get(t);return(r===void 0||r.dirty===!0)&&(r=e.call(this),this._cache.set(t,r)),r}_clearCache(t){t===void 0?this._cache.clear():this._cache.has(t)&&this._cache.get(t).isMatrix3?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_setProperty(t){Object.hasOwnProperty.call(this,t)&&delete this[t],Object.defineProperty(this,t,{get(){return this.userData[t]},set(e){const r=this.userData[t];this.userData[t]=e,r!==e&&this.dispatchEvent({type:t+zu,data:{oldVal:r,newVal:e}})},enumerable:!0,configurable:!0})}computed(t,e,r){if(!this._attachedDepsListeners.get(t)){const a=e.map(u=>u+zu).join(",");this.addEventListeners(a,()=>this._clearCache(t)),e.forEach(u=>this._setProperty(u)),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}watch(t,e){(t||[]).forEach(r=>{this._setProperty(r),this.addEventListener(r+zu,e)})}}const Qe=new L;class Hg extends Vu{isTexture=!0;isRenderTargetTexture=!1;type="Texture";name="Texture";uuid=Ou();originSize=new L;originCenter=new L;size=new L;matrix=new Nt;matrixAutoUpdate=!0;userData={};version=0;_needsUpdate=!1;image;offset=new L;repeat=new L(1,1);center=new L;rotate=0;scale=1;flipY=!0;constructor(t={}){super(t),this.setAttrs(t)}destroy(){super.destroy()}set needsUpdate(t){t&&(this.version++,this._needsUpdate=!0)}get needsUpdate(){return this._needsUpdate}updateSize(t,e,r,a){return this.originSize.copy(t),this.originCenter.copy(e),this.updateFinalSize(r,a)}updateFinalSize(t,e){t&&!L.isZero(t)&&!L.isEmpty(t)?Qe.copy(t):Qe.copy(this.originSize),Qe.maxXY(1,1);const r=Math.sqrt(Qe.x*Qe.x+Qe.y*Qe.y)/Math.sqrt(e.x*e.x+e.y*e.y);return r>1&&Qe.multiplyScalar(1/r),this.scale=Qe.length()/this.originSize.length(),this.repeat.multiplyScalar(this.originSize.length()/Qe.length()),this.size.copy(Qe),this.offset.copy(this.originSize).multiplyScalar(-.5).add(this.originCenter),this.updateMatrix(),this}reset(t,e){t&&this.originSize.copy(t),e&&this.size.copy(e),this.scale=this.size.x/this.originSize.x,this.repeat.set(1,1),this.center.set(0,0),this.rotate=0,this.offset.copy(this.originSize).multiplyScalar(.5).sub(this.originCenter).multiplyScalar(this.scale),this.updateMatrix()}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotate,this.center.x,this.center.y)}clone(){const t=this.constructor;return new t(this.attrs).copy(this)}copy(t){return this.name=t.name,this.originSize.copy(t.originSize),this.originCenter.copy(t.originCenter),this.size.copy(t.size),this.matrix.copy(t.matrix),this.matrixAutoUpdate=t.matrixAutoUpdate,this.userData=JSON.parse(JSON.stringify(t.userData)),this.image=t.image,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotate=t.rotate,this.scale=t.scale,this.flipY=t.flipY,this}}const Gh=new L(10,10),es=new L,is=new L,Oi=new L,Tr=new L,ua=new L,rs=new L,gi=new L,Bi=new L,oa=new Tt;class Ii{static cached=new Map;static precisionOptimized=!0;static precisionOptimizeLevels=[.5,.25,1e-4];static initialized=!1;static textureMaxSize=new L;static destroy(){Object.values(this.cached).forEach(t=>{t.destroy()}),this.cached=new Map}static has(t){return this.cached.has(t)}static get(t,e){if(t)return!this.precisionOptimized||!e?this.cached.get(t):e&&e<this.precisionOptimizeLevels[2]?this.get(t+"_3"):e&&e<this.precisionOptimizeLevels[1]?this.get(t+"_2"):e&&e<this.precisionOptimizeLevels[0]?this.get(t+"_1"):this.get(t)}static set(t,e){if(!t||!e)throw new Error("error input");return this.cached.set(t,e),e}static remove(t){if(!t||!this.cached.has(t))return;const e=this.cached.get(t);if(e&&e.destroy(),this.cached.delete(t),this.precisionOptimized)for(let r=1,a=this.precisionOptimizeLevels.length;r<=a;r++){const u=t+"_"+r;let l;this.cached.has(u)&&(l=this.cached.get(u),l&&l.destroy(),this.cached.delete(u))}}static clear(){this.destroy()}static setTextureMaxSize(){this.initialized||(this.textureMaxSize.set(gt.config.width,gt.config.height).multiplyScalar(.5).round(),this.initialized=!0)}static getTextureMaxSize(){return this.initialized||this.setTextureMaxSize(),this.textureMaxSize}static getTextureByShape(t,e,r,a){var l;const u=new Hg;if(this.setTextureMaxSize(),u.scale=1,u.repeat.set(1,1),u.rotate=0,u.image=void 0,u.version=0,e&&!L.isZero(e)&&!L.isEmpty(e))es.copy(e),t.alignCenter?is.copy(t.centerPoint):is.set(0,0);else{if(t.isShape&&((l=t.geometry)!=null&&l.boundingBox))oa.copy(t.geometry.boundingBox);else if(t.isGroup&&t.boundingBox)oa.copy(t.boundingBox);else throw new Error("get boundingBox error");oa.getSize(es),t.alignCenter?is.copy(t.centerPoint):oa.getCenter(is)}return r&&!L.isZero(r)&&!L.isEmpty(r)?Oi.copy(r):Oi.copy(es),(Oi.x<Gh.x||Oi.y<Gh.y)&&Oi.normalize().multiplyScalar(10).round(),gi.copy(this.getTextureMaxSize()),a&&(rs.set((a==null?void 0:a.shadowBlur)||0,(a==null?void 0:a.shadowBlur)||0),Oi.add(rs.clone().multiplyScalar(2)),es.multiplyScalar(3),gi.multiplyScalar(.3)),u.updateSize(es,is,Oi,gi),u}static setPrecisionOptimizeTextures(t,e,r,a,u){if(!this.precisionOptimized)return;let l;for(let c=0,f=this.precisionOptimizeLevels.length;c<f;c++){gi.copy(r.size).multiplyScalar(this.precisionOptimizeLevels[c]);const d=this.getTextureByShape(e,a,gi,u);this.renderShapeTexture(e,d,u),l=t+"_"+(c+1),d.userData.textureKey=l,Ii.set(l,d)}}static renderShapeTexture(t,e,r){r?(rs.set(r.shadowBlur||0,r.shadowBlur||0),Tr.copy(e.originSize).multiplyScalar(-.5).sub(e.originCenter).multiplyScalar(e.scale),t.alignCenter?ua.copy(e.originSize).multiplyScalar(e.scale):ua.copy(e.originSize).add(rs.clone().multiplyScalar(1)).multiplyScalar(e.scale)):Tr.copy(e.offset).negate().multiplyScalar(e.scale);const a=Mi.create(e.size.x,e.size.y),u=Mi.getContext2D(a,{alpha:!0});u.clearRect(0,0,a.width,a.height),u.translate(Tr.x,Tr.y),u.scale(e.scale,e.scale),r&&(u.shadowColor=oe.black,u.shadowOffsetX=ua.x,u.shadowOffsetY=ua.y,u.shadowBlur=rs.x),t.render(u),e.image=a}static setByShape(t,e,r,a){const u=this.getTextureByShape(e,r,a);return u.userData.textureKey=t,this.renderShapeTexture(e,u),Ii.set(t,u),this.setPrecisionOptimizeTextures(t,e,u,r),u}static setShadowByShape(t,e,r){const a=this.getTextureByShape(e,void 0,void 0,r);return a.userData.textureKey=t,this.renderShapeTexture(e,a,r),Ii.set(t,a),a}static setPointsByShape(t,e){var d,v,E,A,T;const r=[];e.isGroup?e.traverse(I=>I.isShape?r.push(...I.geometry.points):void 0):e.isShape&&e.geometry.points?r.push(...e.geometry.points):e.boundingBox&&r.push(e.boundingBox.min,e.boundingBox.max);const a=this.getTextureByShape(e),u=((d=e.material)==null?void 0:d.lineWidth)*2||3;Bi.set(1,1).multiplyScalar(u),a.size.copy(Bi).multiplyScalar(a.scale).multiplyScalar(2).add(Oi),a.offset.sub(Bi),a.updateMatrix();const l=Mi.create(a.size.x,a.size.y),c=Mi.getContext2D(l,{alpha:!0});Tr.subVectors(a.originSize.clone().multiplyScalar(.5),a.originCenter).add(Bi),c.clearRect(0,0,l.width,l.height),c.scale(a.scale,a.scale),c.translate(Tr.x,Tr.y);let f=oe.black;e.material?f=((v=e.material)==null?void 0:v.stroke)||((E=e.material)==null?void 0:E.fill):e.isGroup&&e.children.length&&e.children[0].isShape&&(f=((A=e.children[0].material)==null?void 0:A.stroke)||((T=e.children[0].material)==null?void 0:T.fill)),c.fillStyle=le.getDarken(f);for(let I=0,S=r.length||0;I<S;I++)gi.copy(r[I]),c.moveTo(gi.x,gi.y),c.arc(gi.x,gi.y,Bi.x,0,Math.PI*2);return c.fill(),a.image=l,Ii.set(t,a),a}static setWireframeByShape(t,e){var c;const r=this.getTextureByShape(e);Bi.set(1,1).multiplyScalar(((c=e.material)==null?void 0:c.lineWidth)||1),r.size.copy(Bi).multiplyScalar(r.scale).multiplyScalar(2).add(Oi),r.offset.sub(Bi),r.updateMatrix();const a=Mi.create(r.size.x,r.size.y),u=Mi.getContext2D(a,{alpha:!0}),l=Bi.x*r.scale*5;return u.clearRect(0,0,a.width,a.height),u.strokeStyle=oe.darkGray,u.lineWidth=l,u.setLineDash([l*3,l]),u.strokeRect(0,0,r.size.x,r.size.y),r.image=a,Ii.set(t,r),r}static DEBUG_DisplayCachedTexture=ct.throttle((t=80,e=.8)=>{let r=Wg();if(r||(r=zg(t,e)),!r)throw new Error("dom not found");Vg(r,this.cached)},5e3)}function Wg(){return window.document.getElementById("DEBUG_Displaycached")}function zg(n=80,t=.8){const e=document.createElement("div");function r(){e.style.opacity="1"}function a(){e.style.opacity=t.toString()}return e.setAttribute("id","DEBUG_Displaycached"),e.style.position="absolute",e.style.width=n+"px",e.style.height="92vh",e.style.background=`rgba(0, 0, 0, ${t})`,e.style.left="20px",e.style.top="20px",e.style.overflow="auto",e.style.padding="6px",e.style.opacity=t.toString(),e.addEventListener("mouseenter",r),e.addEventListener("mouseleave",a),document.body.appendChild(e),e}function Vg(n,t){t.forEach((e,r)=>{!e||!e.image||$g(n,r,e)})}function $g(n,t,e){let r;for(let a=0,u=n.childNodes.length;a<u;a++)if(n.childNodes[a].getAttribute("id")===t){r=n.childNodes[a];break}r?Xg(r,e):Gg(n,t,e)}function Gg(n,t,e){if(!e.image)return;const r=gt.document.createElement("div");r.setAttribute("id",t),r.style.display="flex",r.style.flexDirection="column";const a=Mi.createCanvas({containerId:n.id,width:e.image.width,height:e.image.height,dpr:window.devicePixelRatio});a.style.border="#000000 1px solid",a.style.maxWidth=parseInt(n.style.width)-2+"px",a.style.maxHeight=parseInt(a.style.maxWidth)/(e.image.width/e.image.height)+"px";const u=a.getContext("2d",{alpha:!0});if(!u)throw new Error("getContext error");u.save(),u.scale(window.devicePixelRatio,window.devicePixelRatio),u.drawImage(e.image,0,0),u.restore(),r.appendChild(a);const l=gt.document.createElement("p");l.innerHTML=e.image.width+" * "+e.image.height,l.innerHTML+="<br/>"+t,l.style.margin="0",l.style.padding="0",l.style.lineHeight="1.2",l.style.fontSize="12px",l.style.padding="3px 0 6px 0",r.appendChild(l),n.appendChild(r);function c(){const f=a.toDataURL("image/png",.6),d=document.createElement("a"),v=new MouseEvent("click");d.download=`thumb.${Date.now()}.png`,d.href=f,d.dispatchEvent(v)}r.addEventListener("click",c)}function Xg(n,t){if(!t.image)return;const e=n.querySelector("canvas");if(!e)return;const r=e.getContext("2d",{alpha:!0});if(!r)throw new Error("getContext error");r.clearRect(0,0,e.width,e.height),r.save(),r.scale(window.devicePixelRatio,window.devicePixelRatio),r.drawImage(t.image,0,0),r.restore()}const Yg=new Tt,Pi=new L,nn=new Nt,Xh=new Nt,$u=new Nt;class Gu extends sa{isShape=!0;type="Shape";geometry;material;usedCache=!1;showPoints=!1;wireframe=!1;selected=!1;alignCenter=!1;dynamically=!1;composeNode=!1;matrixAutoUpdate=!1;version=0;needsUpdateChangedHandler=this.handleNeedsUpdateChanged.bind(this);constructor(t={}){t.name===void 0&&(t.name="Shape"),t.stroke===void 0&&(t.stroke=oe.darkGray),super(t),t.visible===void 0&&(t.visible=!0),t.fixed!==void 0&&(this.fixed=t.fixed),t.usedCache!==void 0&&(this.usedCache=t.usedCache),t.dynamically!==void 0&&(this.dynamically=t.dynamically),t.castShadow!==void 0&&(this.castShadow=t.castShadow),t.showPoints!==void 0&&(this.showPoints=t.showPoints),t.wireframe!==void 0&&(this.wireframe=t.wireframe),t.alignCenter!==void 0&&(this.alignCenter=t.alignCenter),t.composeNode!==void 0&&(this.composeNode=t.composeNode),t.renderOrder!==void 0&&(this.renderOrder=t.renderOrder),t.id!==void 0&&(this.userData.id=t.id)}set needsUpdate(t){t&&this.version++,this.dispatchEvent({type:"needsUpdateChanged"})}destroy(){this.unbindEvents(),super.destroy()}bindEvents(){this.geometry&&!this.geometry.hasEventListener("needsUpdateChanged",this.needsUpdateChangedHandler)&&this.geometry&&this.geometry.addEventListener("needsUpdateChanged",this.needsUpdateChangedHandler),this.material&&!this.material.hasEventListener("needsUpdateChanged",this.needsUpdateChangedHandler)&&this.material&&this.material.addEventListener("needsUpdateChanged",this.needsUpdateChangedHandler)}unbindEvents(){this.geometry&&this.geometry.removeEventListener("needsUpdateChanged",this.needsUpdateChangedHandler),this.material&&this.material.removeEventListener("needsUpdateChanged",this.needsUpdateChangedHandler)}handleNeedsUpdateChanged(){this.needsUpdate=!0}bindGeoMtl(t,e){this.geometry=t,this.material=e,this.bindEvents(),this.setup()}setup(){return this.computeBoundingBox(),this.generateFeaturesKey(),this}computeBoundingBox(){if(this.centerPoint.set(0,0),this.boundingBox.copy(this.geometry.computeBoundingBox()),!this.children||!this.children.length)return this.boundingBox;const t=[];t.push(...L.getPointsApplyMatrix3(this.matrixWorld,this.geometry.getBoundingPoints()));for(let e=0,r=this.children.length;e<r;e++)if(Yg.copy(this.children[e].computeBoundingBox()),this.children[e].isShape&&this.children[e].geometry.points){if(nn.copy(this.children[e].matrixWorld),this.children[e].isText){const a=this.children[e].material.fontSize/12||1;Xh.makeScale(a,a).invert(),nn.multiply($u.copy(this.children[e].matrix).invert().premultiply(Xh))}this.children[e].alignCenter&&(Pi.copy(this.children[e].centerPoint).negate(),$u.makeTranslation(Pi.x,Pi.y),nn.multiply($u)),t.push(...L.getPointsApplyMatrix3(nn,this.children[e].geometry.getBoundingPoints()))}return this.boundingBox.setFromPoints(L.getPointsApplyMatrix3(this.matrixWorldInverse,t)),this.alignCenter&&this.boundingBox.getCenter(this.centerPoint),this.alignCenter&&this.boundingBox.translate(Pi.copy(this.centerPoint).negate()),this.boundingBox.ceil(),this.boundingBox}generateFeaturesKey(){return this.featureKey=(this.geometry.featureKey||"G")+"_"+(this.material.featureKey||"M"),this.featureKey}render(t){if(this.visible&&(this.renderFill(t),this.renderStroke(t),this.renderMaterialMap(t),this.composeNode))for(let e=0,r=this.children.length;e<r;e++)this.children[e].render(t)}renderFill(t){!this.geometry.path||!this.material.hasFill||(t.fillStyle=this.material.fill,t.fill(this.geometry.path))}renderStroke(t){!this.geometry||!this.geometry.path||this.material.hasStroke&&(t.strokeStyle=this.material.stroke,t.lineWidth=this.material.lineWidth,this.material.lineDash&&t.setLineDash(this.material.lineDash),this.material.lineCap&&(t.lineCap=this.material.lineCap),t.lineDashOffset=this.material.lineDashOffset,t.stroke(this.geometry.path))}renderMaterialMap(t){!this.material.map||!this.material.map.image||!this.geometry||!this.geometry.path||(t.save(),this.geometry.path.closePath(),t.clip(this.geometry.path),t.rotate(-this.material.map.rotate),t.scale(this.material.map.scale,this.material.map.scale),t.drawImage(this.material.map.image,this.material.map.offset.x||0,this.material.map.offset.y||0),t.restore())}raycast(t,e=[]){var r;return super.raycast(t,e),!this.selectable||!this.boundingBox||this.boundingBox.isEmpty()||!this.boundingBoxWorld.containsPoint(t.worldCoords)||(Pi.copy(t.worldCoords).applyMatrix3(nn.copy(this.matrixWorld).invert()),(r=this.geometry)!=null&&r.isPointInPath(Pi)&&e.push(this),console.warn("Shape.raycast: ",this.name,this.boundingBox.min.round().toString(),this.boundingBox.max.round().toString(),t.worldCoords.round().toString()),e.includes(this)||((!this.usedCache||!Ii.has(this.featureKey))&&Ii.setByShape(this.featureKey,this),this.isPointInPathByTexture(t)&&e.push(this))),e}isPointInPathByTexture(t){const e=Ii.get(this.featureKey);if(!e||!e.image)throw new Error("raycastByPixel error");return Pi.copy(t.worldCoords).applyMatrix3(nn.copy(this.matrixWorld).multiply(e.matrix).invert()).round(),Mi.getContext2D(e.image,{alpha:!0}).getImageData(Pi.x,Pi.y,1,1).data[3]>0}copy(t,e=!0){return super.copy(t,e),this.geometry=t.geometry,this.material=t.material,this.usedCache=t.usedCache,this.showPoints=t.showPoints,this.wireframe=t.wireframe,this.selected=t.selected,this.alignCenter=t.alignCenter,this.dynamically=t.dynamically,this.composeNode=t.composeNode,this.matrixAutoUpdate=t.matrixAutoUpdate,this}}class ce{static stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]);static buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);static hexChars="0123456789abcdef";static hexOut=[];static onePassHasher=new ce;_dataLength=0;_bufferLength=0;_state=new Int32Array(4);_buffer=new ArrayBuffer(68);_buffer8;_buffer32;constructor(){this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}static hashStr(t,e=!1){return this.onePassHasher.start().appendStr(t).end(e)}static hashAsciiStr(t,e=!1){return this.onePassHasher.start().appendAsciiStr(t).end(e)}static _hex(t){const e=ce.hexChars,r=ce.hexOut;let a,u,l,c;for(c=0;c<4;c+=1)for(u=c*8,a=t[c],l=0;l<8;l+=2)r[u+1+l]=e.charAt(a&15),a>>>=4,r[u+0+l]=e.charAt(a&15),a>>>=4;return r.join("")}static _md5cycle(t,e){let r=t[0],a=t[1],u=t[2],l=t[3];r+=(a&u|~a&l)+e[0]-680876936|0,r=(r<<7|r>>>25)+a|0,l+=(r&a|~r&u)+e[1]-389564586|0,l=(l<<12|l>>>20)+r|0,u+=(l&r|~l&a)+e[2]+606105819|0,u=(u<<17|u>>>15)+l|0,a+=(u&l|~u&r)+e[3]-1044525330|0,a=(a<<22|a>>>10)+u|0,r+=(a&u|~a&l)+e[4]-176418897|0,r=(r<<7|r>>>25)+a|0,l+=(r&a|~r&u)+e[5]+1200080426|0,l=(l<<12|l>>>20)+r|0,u+=(l&r|~l&a)+e[6]-1473231341|0,u=(u<<17|u>>>15)+l|0,a+=(u&l|~u&r)+e[7]-45705983|0,a=(a<<22|a>>>10)+u|0,r+=(a&u|~a&l)+e[8]+1770035416|0,r=(r<<7|r>>>25)+a|0,l+=(r&a|~r&u)+e[9]-1958414417|0,l=(l<<12|l>>>20)+r|0,u+=(l&r|~l&a)+e[10]-42063|0,u=(u<<17|u>>>15)+l|0,a+=(u&l|~u&r)+e[11]-1990404162|0,a=(a<<22|a>>>10)+u|0,r+=(a&u|~a&l)+e[12]+1804603682|0,r=(r<<7|r>>>25)+a|0,l+=(r&a|~r&u)+e[13]-40341101|0,l=(l<<12|l>>>20)+r|0,u+=(l&r|~l&a)+e[14]-1502002290|0,u=(u<<17|u>>>15)+l|0,a+=(u&l|~u&r)+e[15]+1236535329|0,a=(a<<22|a>>>10)+u|0,r+=(a&l|u&~l)+e[1]-165796510|0,r=(r<<5|r>>>27)+a|0,l+=(r&u|a&~u)+e[6]-1069501632|0,l=(l<<9|l>>>23)+r|0,u+=(l&a|r&~a)+e[11]+643717713|0,u=(u<<14|u>>>18)+l|0,a+=(u&r|l&~r)+e[0]-373897302|0,a=(a<<20|a>>>12)+u|0,r+=(a&l|u&~l)+e[5]-701558691|0,r=(r<<5|r>>>27)+a|0,l+=(r&u|a&~u)+e[10]+38016083|0,l=(l<<9|l>>>23)+r|0,u+=(l&a|r&~a)+e[15]-660478335|0,u=(u<<14|u>>>18)+l|0,a+=(u&r|l&~r)+e[4]-405537848|0,a=(a<<20|a>>>12)+u|0,r+=(a&l|u&~l)+e[9]+568446438|0,r=(r<<5|r>>>27)+a|0,l+=(r&u|a&~u)+e[14]-1019803690|0,l=(l<<9|l>>>23)+r|0,u+=(l&a|r&~a)+e[3]-187363961|0,u=(u<<14|u>>>18)+l|0,a+=(u&r|l&~r)+e[8]+1163531501|0,a=(a<<20|a>>>12)+u|0,r+=(a&l|u&~l)+e[13]-1444681467|0,r=(r<<5|r>>>27)+a|0,l+=(r&u|a&~u)+e[2]-51403784|0,l=(l<<9|l>>>23)+r|0,u+=(l&a|r&~a)+e[7]+1735328473|0,u=(u<<14|u>>>18)+l|0,a+=(u&r|l&~r)+e[12]-1926607734|0,a=(a<<20|a>>>12)+u|0,r+=(a^u^l)+e[5]-378558|0,r=(r<<4|r>>>28)+a|0,l+=(r^a^u)+e[8]-2022574463|0,l=(l<<11|l>>>21)+r|0,u+=(l^r^a)+e[11]+1839030562|0,u=(u<<16|u>>>16)+l|0,a+=(u^l^r)+e[14]-35309556|0,a=(a<<23|a>>>9)+u|0,r+=(a^u^l)+e[1]-1530992060|0,r=(r<<4|r>>>28)+a|0,l+=(r^a^u)+e[4]+1272893353|0,l=(l<<11|l>>>21)+r|0,u+=(l^r^a)+e[7]-155497632|0,u=(u<<16|u>>>16)+l|0,a+=(u^l^r)+e[10]-1094730640|0,a=(a<<23|a>>>9)+u|0,r+=(a^u^l)+e[13]+681279174|0,r=(r<<4|r>>>28)+a|0,l+=(r^a^u)+e[0]-358537222|0,l=(l<<11|l>>>21)+r|0,u+=(l^r^a)+e[3]-722521979|0,u=(u<<16|u>>>16)+l|0,a+=(u^l^r)+e[6]+76029189|0,a=(a<<23|a>>>9)+u|0,r+=(a^u^l)+e[9]-640364487|0,r=(r<<4|r>>>28)+a|0,l+=(r^a^u)+e[12]-421815835|0,l=(l<<11|l>>>21)+r|0,u+=(l^r^a)+e[15]+530742520|0,u=(u<<16|u>>>16)+l|0,a+=(u^l^r)+e[2]-995338651|0,a=(a<<23|a>>>9)+u|0,r+=(u^(a|~l))+e[0]-198630844|0,r=(r<<6|r>>>26)+a|0,l+=(a^(r|~u))+e[7]+1126891415|0,l=(l<<10|l>>>22)+r|0,u+=(r^(l|~a))+e[14]-1416354905|0,u=(u<<15|u>>>17)+l|0,a+=(l^(u|~r))+e[5]-57434055|0,a=(a<<21|a>>>11)+u|0,r+=(u^(a|~l))+e[12]+1700485571|0,r=(r<<6|r>>>26)+a|0,l+=(a^(r|~u))+e[3]-1894986606|0,l=(l<<10|l>>>22)+r|0,u+=(r^(l|~a))+e[10]-1051523|0,u=(u<<15|u>>>17)+l|0,a+=(l^(u|~r))+e[1]-2054922799|0,a=(a<<21|a>>>11)+u|0,r+=(u^(a|~l))+e[8]+1873313359|0,r=(r<<6|r>>>26)+a|0,l+=(a^(r|~u))+e[15]-30611744|0,l=(l<<10|l>>>22)+r|0,u+=(r^(l|~a))+e[6]-1560198380|0,u=(u<<15|u>>>17)+l|0,a+=(l^(u|~r))+e[13]+1309151649|0,a=(a<<21|a>>>11)+u|0,r+=(u^(a|~l))+e[4]-145523070|0,r=(r<<6|r>>>26)+a|0,l+=(a^(r|~u))+e[11]-1120210379|0,l=(l<<10|l>>>22)+r|0,u+=(r^(l|~a))+e[2]+718787259|0,u=(u<<15|u>>>17)+l|0,a+=(l^(u|~r))+e[9]-343485551|0,a=(a<<21|a>>>11)+u|0,t[0]=r+t[0]|0,t[1]=a+t[1]|0,t[2]=u+t[2]|0,t[3]=l+t[3]|0}start(){return this._dataLength=0,this._bufferLength=0,this._state.set(ce.stateIdentity),this}appendStr(t){const e=this._buffer8,r=this._buffer32;let a=this._bufferLength,u,l;for(l=0;l<t.length;l+=1){if(u=t.charCodeAt(l),u<128)e[a++]=u;else if(u<2048)e[a++]=(u>>>6)+192,e[a++]=u&63|128;else if(u<55296||u>56319)e[a++]=(u>>>12)+224,e[a++]=u>>>6&63|128,e[a++]=u&63|128;else{if(u=(u-55296)*1024+(t.charCodeAt(++l)-56320)+65536,u>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");e[a++]=(u>>>18)+240,e[a++]=u>>>12&63|128,e[a++]=u>>>6&63|128,e[a++]=u&63|128}a>=64&&(this._dataLength+=64,ce._md5cycle(this._state,r),a-=64,r[0]=r[16])}return this._bufferLength=a,this}appendAsciiStr(t){const e=this._buffer8,r=this._buffer32;let a=this._bufferLength,u,l=0;for(;;){for(u=Math.min(t.length-l,64-a);u--;)e[a++]=t.charCodeAt(l++);if(a<64)break;this._dataLength+=64,ce._md5cycle(this._state,r),a=0}return this._bufferLength=a,this}appendByteArray(t){const e=this._buffer8,r=this._buffer32;let a=this._bufferLength,u,l=0;for(;;){for(u=Math.min(t.length-l,64-a);u--;)e[a++]=t[l++];if(a<64)break;this._dataLength+=64,ce._md5cycle(this._state,r),a=0}return this._bufferLength=a,this}getState(){const t=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[t[0],t[1],t[2],t[3]]}}setState(t){const e=t.buffer,r=t.state,a=this._state;let u;for(this._dataLength=t.length,this._bufferLength=t.buflen,a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],u=0;u<e.length;u+=1)this._buffer8[u]=e.charCodeAt(u)}end(t=!1){const e=this._bufferLength,r=this._buffer8,a=this._buffer32,u=(e>>2)+1;this._dataLength+=e;const l=this._dataLength*8;if(r[e]=128,r[e+1]=r[e+2]=r[e+3]=0,a.set(ce.buffer32Identity.subarray(u),u),e>55&&(ce._md5cycle(this._state,a),a.set(ce.buffer32Identity)),l<=4294967295)a[14]=l;else{const c=l.toString(16).match(/(.*?)(.{0,8})$/);if(c===null)return;const f=parseInt(c[2],16),d=parseInt(c[1],16)||0;a[14]=f,a[15]=d}return ce._md5cycle(this._state,a),t?this._state:ce._hex(this._state)}}if(ce.hashStr("hello")!=="5d41402abc4b2a76b9719d911017c592")throw new Error("Md5 self test failed.");let Zg=0;const Xu=new L,Yh=new L,sn=new Nt,Je=new L,Pe=new L,je=new L,Zh=new L,Kh=new L,Qh=new L,Yu=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];class Jh extends Vu{isGeometry=!0;id=Zg++;name="Geometry2D";matrix=new Nt;boundingBox=new Tt;path;pointsPath;featureKey="";version=0;points;pointsSplits=0;lineWidth=0;padding;radius=0;position=new L;rotation=new L;scaled=new L(1,1);animations=[];constructor(t={}){super(t),this.watch(["points","lineWidth","padding","radius"],()=>this.needsUpdate=!0)}set needsUpdate(t){t&&this.version++,this.dispatchEvent({type:"needsUpdateChanged"})}destroy(){super.destroy()}applyMatrix3(t){t.decompose(Zh,Kh,Qh),this.position.add(Zh),this.rotation.add(Kh),this.scaled.add(Qh)}updateMatrix(){this.matrix.compose(this.position,this.rotation,this.scaled),this.needsUpdate=!0}translate(t,e){return sn.makeTranslation(t,e),this.applyMatrix3(sn),this}rotate(t){return sn.makeRotation(t),this.applyMatrix3(sn),this}scale(t,e){return sn.makeScale(t,e),this.applyMatrix3(sn),this}setPointsSplits(t=0){return this.pointsSplits=t,this}setPath(t){return t?(t instanceof di||(t=new di().copy(t)),this.setAttr("path",t),this.setAttr("points",t.getVertices2()),this.path=t,this.points=t.getVertices2(),this.computeBoundingBox(),this.generateFeatureKey(),this):this}setFromPoints(t,e=0){return!t||!t.length?this:(this.setAttr("points",t),this.setAttr("pointsSplits",t),this.points=t,this.pointsSplits=e,this.recomputePath(),this.computeBoundingBox(),this.generateFeatureKey(),this)}setFromSvgPath(t){if(!t||!t.length)return this;const e=new gt.window.Path2D;let r=t;r=r.replace(new RegExp(" ","g"),",");for(let E=0,A=Yu.length;E<A;E++)r=r.replace(new RegExp(Yu[E],"g"),"|"+Yu[E]);const a=r.split("|"),u=[];let l=0,c=0;const f=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let d,v="";for(let E=1,A=a.length;E<A;E++){let T=a[E],I=T.charAt(0);for(T=T.slice(1),u.length=0;d=f.exec(T);)u.push(d[0]);const S=[];for(let k=0,V=u.length;k<V;k++){if(u[k]==="00"){S.push(0,0);continue}let W=parseFloat(u[k]);isNaN(W)?S.push(0):S.push(W)}let D=[];for(;S.length>0&&!isNaN(S[0]);){let k=l,V=c,W,X,$,K,tt,Z,z,J,nt;switch(I){case"M":k=l=S.shift()||0,V=c=S.shift()||0,e.moveTo(l,c);break;case"m":let mt=S.shift()||0,It=S.shift()||0;l+=mt,c+=It,v==="z"&&(l=k+mt,c=V+It),e.moveTo(l,c);break;case"l":l+=S.shift()||0,c+=S.shift()||0,e.lineTo(l,c);break;case"L":l=S.shift()||0,c=S.shift()||0,e.lineTo(l,c);break;case"h":l+=S.shift()||0,e.lineTo(l,c);break;case"H":l=S.shift()||0,e.lineTo(l,c);break;case"v":c+=S.shift()||0,e.lineTo(l,c);break;case"V":c=S.shift()||0,e.lineTo(l,c);break;case"C":D.length=0,D.push(S.shift()||0,S.shift()||0,S.shift()||0,S.shift()||0),l=S.shift()||0,c=S.shift()||0,e.bezierCurveTo(D[0],D[1],D[2],D[3],l,c);break;case"c":D.length=0,D.push(l+(S.shift()||0),c+(S.shift()||0),l+(S.shift()||0),c+(S.shift()||0)),l+=S.shift()||0,c+=S.shift()||0,e.bezierCurveTo(D[0],D[1],D[2],D[3],l,c);break;case"S":W=l,X=c,v==="C"&&(W=l+(l-D[2]),X=c+(c-D[3])),D.length=0,D.push(W,X,S.shift()||0,S.shift()||0),l=S.shift()||0,c=S.shift()||0,e.bezierCurveTo(D[0],D[1],D[2],D[3],l,c);break;case"s":W=l,X=c,v==="C"&&(W=l+(l-D[2]),X=c+(c-D[3])),D.length=0,D.push(W,X,l+(S.shift()||0),c+(S.shift()||0)),l+=S.shift()||0,c+=S.shift()||0,e.bezierCurveTo(D[0],D[1],D[2],D[3],l,c);break;case"Q":D.length=0,D.push(S.shift()||0,S.shift()||0),l=S.shift()||0,c=S.shift()||0,e.quadraticCurveTo(D[0],D[1],l,c);break;case"q":D.length=0,D.push(l+(S.shift()||0),c+(S.shift()||0)),l+=S.shift()||0,c+=S.shift()||0,e.quadraticCurveTo(D[0],D[1],l,c);break;case"T":W=l,X=c,v==="Q"&&(W=l+(l-D[0]),X=c+(c-D[1])),l=S.shift()||0,c=S.shift()||0,e.quadraticCurveTo(W,X,l,c);break;case"t":W=l,X=c,v==="Q"&&(W=l+(l-D[0]),X=c+(c-D[1])),l+=S.shift()||0,c+=S.shift()||0,e.quadraticCurveTo(W,X,l,c);break;case"A":$=S.shift()||0,K=S.shift()||0,tt=S.shift()||0,Z=S.shift()||0,z=S.shift()||0,J=l,nt=c,l=S.shift()||0,c=S.shift()||0,D=jh(J,nt,l,c,Z,z,$,K,tt),e.arc(D[0],D[1],D[2]>D[3]?D[2]:D[3],D[4],D[4]+D[5]);break;case"a":$=S.shift()||0,K=S.shift()||0,tt=S.shift()||0,Z=S.shift()||0,z=S.shift()||0,J=l,nt=c,l+=S.shift()||0,c+=S.shift()||0,D=jh(J,nt,l,c,Z,z,$,K,tt),e.arc(D[0],D[1],D[2]>D[3]?D[2]:D[3],D[4],D[4]+D[5]);break;default:S.shift()}}v=I,(I==="z"||I==="Z")&&e.closePath()}return this.setPath(e)}computeBoundingBox(){return this.boundingBox||(this.boundingBox=new Tt),this.boundingBox.makeEmpty(),this.points!==void 0?this.boundingBox.setFromPoints(this.points):this.boundingBox.makeEmpty(),this.lineWidth&&this.boundingBox.expandByVector(Xu.set(this.lineWidth,+this.lineWidth)),this.boundingBox.validate()||console.error(`${this.name}.computeBoundingBox: min/max have NaN values.`),this.boundingBox}getBoundingPoints(){let t=[];return this.points&&(t=ct.cloneDeep(this.points)),this.boundingBox&&this.boundingBox.validate()&&!this.boundingBox.isEmpty()&&t.push(this.boundingBox.min,this.boundingBox.max),t}generateFeatureKey(){!this.points||!this.points.length||(this.featureKey=ce.hashStr(L.getStrings(this.points)))}recomputePointsPath(t){var e,r,a;if(!(!this.points||!this.points.length)){this.pointsPath=new gt.window.Path;for(let u=0,l=this.points.length;u<l;u++)(e=this.pointsPath)==null||e.moveTo(this.points[u].x,this.points[u].y),(r=this.pointsPath)==null||r.arc(this.points[u].x,this.points[u].y,t,0,Math.PI*2,!1);(a=this.path)==null||a.addPath(this.pointsPath)}}isPointInBoundingBox(t){return this.boundingBox?this.boundingBox.containsPoint(t):!1}isPointInPolygonByRay(t){let e=!1;if(!this.path)return e;Je.copy(t);const r=this.path.getVertices2();for(let a=0,u=r.length;a<u;a++){if(Pe.copy(r[a]),a===r.length-1?je.copy(r[0]):je.copy(r[a+1]),L.isPointOnSegment(Pe,je,Je))return!0;Ji(Pe.y-Je.y)>0!=Ji(je.y-Je.y)>0&&Ji(Je.x-(Je.y-Pe.y)*(Pe.x-je.x)/(Pe.y-je.y)-Pe.x)<0&&(e=!e)}return e}isPointInPolygonByRAngle(t){let e=0;if(!this.path)return!1;Je.copy(t);const r=this.path.getVertices2();for(let a=0,u=r.length;a<u;a++){if(Pe.copy(r[a]),a===r.length-1?je.copy(r[0]):je.copy(r[a+1]),L.isPointOnSegment(Pe,je,Je))return!0;Xu.subVectors(je,Pe),Yh.subVectors(Je,Pe);let l=Ji(Xu.cross(Yh)),c=Ji(Pe.y-Je.y),f=Ji(je.y-Je.y);l>0&&c<=0&&f>0&&e--,l<0&&c>0&&f<=0&&e++}return e!==0}clone(){const t=this.constructor,e=new t(this.userData).copy(this);return this.path&&(e.path=this.path.clone()),e}copy(t){return this.name=t.name,this.matrix.copy(t.matrix),this.boundingBox.copy(t.boundingBox),this.path=t.path,this.pointsSplits=t.pointsSplits,this.setFromPoints(this.points,this.pointsSplits),this}}function jh(n,t,e,r,a,u,l,c,f){let d=f*(Math.PI/180),v=Math.cos(d)*(n-e)/2+Math.sin(d)*(t-r)/2,E=-1*Math.sin(d)*(n-e)/2+Math.cos(d)*(t-r)/2,A=v*v/(l*l)+E*E/(c*c);A>1&&(l*=Math.sqrt(A),c*=Math.sqrt(A));let T=Math.sqrt((l*l*(c*c)-l*l*(E*E)-c*c*(v*v))/(l*l*(E*E)+c*c*(v*v)));a===u&&(T*=-1),isNaN(T)&&(T=0);let I=T*l*E/c,S=T*-c*v/l,D=(n+e)/2+Math.cos(d)*I-Math.sin(d)*S,k=(t+r)/2+Math.sin(d)*I+Math.cos(d)*S,V=function(z){return Math.sqrt(z[0]*z[0]+z[1]*z[1])},W=function(z,J){return(z[0]*J[0]+z[1]*J[1])/(V(z)*V(J))},X=function(z,J){return(z[0]*J[1]<z[1]*J[0]?-1:1)*Math.acos(W(z,J))},$=X([1,0],[(v-I)/l,(E-S)/c]),K=[(v-I)/l,(E-S)/c],tt=[(-1*v-I)/l,(-1*E-S)/c],Z=X(K,tt);return W(K,tt)<=-1&&(Z=Math.PI),W(K,tt)>=1&&(Z=0),u===0&&Z>0&&(Z=Z-2*Math.PI),u===1&&Z<0&&(Z=Z+2*Math.PI),[D,k,l,c,$,Z,d,u]}class tc extends Jh{isPolygonGeometry2D=!0;name="PolygonGeometry2D";constructor(t={}){super(t),this.setAttrs(t),this.setFromPoints(this.points)}recomputePath(){var t,e;if(!(!this.points||!this.points.length)){this.path=new di;for(let r=0,a=this.points.length;r<a;r++)r?(e=this.path)==null||e.lineTo(this.points[r].x,this.points[r].y):(t=this.path)==null||t.moveTo(this.points[r].x,this.points[r].y);this.path.closePath()}}isPointInPath(t){return this.isPointInBoundingBox(t)?this.isPointInPolygonByRAngle(t):!1}}let Kg=0;class Zu extends Vu{isMaterial=!0;name="Material2";id=Kg++;featureKey="Material2";version=0;visible=!0;wireframe=!1;fill="";stroke="";selectedColor=new le;lineWidth=0;lineDash;lineDashOffset=0;lineCap="round";map;constructor(t={}){super(t),this.setAttrs(t),this.watch(["visible","fill","stroke","lineWidth"],()=>this.needsUpdate=!0),this.generateFeatureKey()}destroy(){this.dispatchEvent({type:"destroy"}),super.destroy()}clone(){const t=this.constructor;return new t(this.userData).copy(this)}copy(t){return this.visible=t.visible,this.wireframe=t.wireframe,this.fill=t.fill,this.stroke=t.stroke,this.lineWidth=t.lineWidth,this.lineDash=t.lineDash?ct.cloneDeep(t.lineDash):void 0,this.lineDashOffset=t.lineDashOffset,this.lineCap=t.lineCap,this.map=t.map,this}generateFeatureKey(){const t=[];t.push(this.fill||""),t.push(this.stroke||""),t.push(this.lineWidth||0),t.push(this.lineDash?this.lineDash.join(","):""),this.featureKey=t.join("_")}set needsUpdate(t){t&&this.version++,this.dispatchEvent({type:"needsUpdateChanged"})}get hasFill(){return this.computed("hasFill",["fill"],()=>!!this.fill)}get hasStroke(){return this.computed("hasStroke",["stroke","lineWidth"],()=>!!this.stroke&&!!this.lineWidth)}}const Ku=new L;class Qg extends Jh{isRectGeometry2D=!0;name="RectGeometry2D";width=0;height=0;constructor(t={}){super(t),this.setAttrs(t),this.recomputePath()}setSize(t,e){return this.width=t,this.height=e,this}recomputePath(){const t=new di;Ku.set(this.width*.5,this.height*.5).sub(this.position).negate(),t.rect(Ku.x,Ku.y,this.width,this.height),t.closePath(),this.path=t,this.points=t.getVertices2()}isPointInPath(t){return this.isPointInBoundingBox(t)}}class Jg extends Gu{isMesh=!0;type="Mesh2";geometry;material;usedCache=!1;bufferCtx;selected=!1;constructor(t=new Qg,e=new Zu){super(),this.geometry=t,this.material=e,this.setup(),this.bindEvents()}destroy(){super.destroy(),this.geometry.destroy(),this.material.destroy()}clone(t=!0){const e=this.constructor;return new e(this.geometry.clone(),this.material.clone()).copy(this,t)}copy(t,e=!0){return this.type=t.type,this.usedCache=t.usedCache,this.selected=t.selected,super.copy(t,e),this}}class ec extends Gu{isSvg=!0;matrixAutoUpdate=!1;composeNode=!0;constructor(t={}){t.name===void 0&&(t.name="Svg"),t.flipY===void 0&&(t.flipY=!0),t.alignCenter===void 0&&(t.alignCenter=!0),super(t),t.id!==void 0&&(this.userData.id=t.id),this.composeNode=!0;let e;if(t.parsedSvg?e=t.parsedSvg:t.svg&&(e=ju.parse(t.svg)),!e||!e.length)throw new Error("svg parse error");let r;for(let a=0,u=e.length;a<u;a++){r=e[a];const l={...t};r.fill!==void 0&&(l.fill=r.fill),r.stroke!==void 0&&(l.stroke=r.stroke),r.lineWidth!==void 0&&(l.lineWidth=r.lineWidth),r.id!==void 0&&(l.id=r.id);const c=new tc(l);c.name=this.name+"Geo"+a,c.setPath(r.path);const f=new Zu(l);if(f.name=this.name+"Mtl"+a,a===0)this.geometry=c,this.material=f,this.matrixAutoUpdate=!1,r.id!==void 0&&(this.name=r.id);else{const d=new Jg(c,f);d.matrixAutoUpdate=!1,r.id!==void 0?d.name=r.id:d.name=(this.userData.id||this.name)+a,d.dynamically=this.dynamically,d.usedCache=this.usedCache,d.castShadow=this.castShadow,d.showPoints=this.showPoints,d.wireframe=this.wireframe,this.add(d)}}this.computeBoundingBox(),this.generateFeaturesKey()}destroy(){super.destroy()}copy(t,e=!0){return this.matrixAutoUpdate=t.matrixAutoUpdate,this.composeNode=t.composeNode,super.copy(t,e),this}}const ic="center",jg="top",rc="middle",ns="normal",t2="word";class e2 extends Zu{isTextMaterial2=!0;name="TextMaterial2";text;textFill;fontFamily="Arial";fontSize=12;fontStyle=ns;fontWeight=ns;fontVariant=ns;textDecoration="";textAlign=ic;verticalAlign=jg;textBaseline=rc;lineHeight=1;letterSpacing=0;wrap=t2;ellipsis=!1;constructor(t={}){t.textFill===void 0&&(t.textFill=oe.black),t.fontFamily===void 0&&(t.fontFamily="Arial"),t.fontSize===void 0&&(t.fontSize=12),t.fontStyle===void 0&&(t.fontStyle=ns),t.fontWeight===void 0&&(t.fontWeight=ns),t.textAlign===void 0&&(t.textAlign=ic),t.textBaseline===void 0&&(t.textBaseline=rc),super(t),this.setAttrs(t),this.generateFeatureKey()}}class i2 extends Gu{isText=!0;type="Text";size=new L;constructor(t={}){if(t.name===void 0&&(t.name="Text"),t.fontSize===void 0&&(t.fontSize=12),super(t),t.fixed&&(this.fixed=!0),t.rotated!==void 0){const a=Qs(t.rotated);this.rotation.set(a,a)}const e=new tc(t),r=new e2(t);this.bindGeoMtl(e,r),this.wireframe=t.wireframe||!1}computeBoundingBox(){if(!this.material.text)return this.boundingBox;Mi.measureText(this.material.text||"",this,this.size);const t=[];return t.push({x:-this.size.x/2,y:-this.size.y/2}),t.push({x:t[0].x,y:t[0].y+this.size.y}),t.push({x:t[1].x+this.size.x,y:t[1].y}),t.push({x:t[2].x,y:t[0].y}),this.geometry.setFromPoints(t),super.computeBoundingBox()}render(t){this.visible&&this.material.text&&(t.font=`${this.material.fontWeight} ${this.material.fontSize}px ${this.material.fontFamily}`,t.fillStyle=this.material.fill||oe.black,t.textAlign=this.material.textAlign,t.textBaseline=this.material.textBaseline,t.fillText(this.material.text,0,0))}}class ti{constructor(t,e,r){this.root=t,this.name=e,this.value=r}static textBaselineMapping={baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"};static empty(t){return new ti(t,"EMPTY","")}getDefinition(){const t=this.toString(),e=/#([^)'"]+)/.exec(t),r=(e==null?void 0:e[1])||t;return this.root.definitions[r]}setValue(t){return this.value=t,this}getValue(t){return typeof t>"u"||this.hasValue()?this.value:t}hasValue(t){const e=this.value;return e!==null&&e!==""&&(t||e!==0)&&typeof e<"u"}split(t=" "){return this.toString().replace(/(?!\u3000)\s+/gm," ").trim().split(t).map(e=>new ti(this.root,this.name,e))}isString(t){const e=typeof this.value=="string";return!e||!t?e:t.test(this.value)}isUrlDefinition(){return this.isString(/^url\(/)}isPixels(){if(!this.hasValue())return!1;const t=this.toString();switch(!0){case t.endsWith("px"):case/^[0-9]+$/.test(t):return!0;default:return!1}}getNumber(t){if(!this.hasValue())return typeof t>"u"?0:parseFloat(t);const{value:e}=this;let r=parseFloat(e);return this.isString(/%$/)&&(r/=100),r}getPixels(t,e=!1){if(!this.hasValue())return 0;const r=typeof t=="boolean",{width:a,height:u}=gt.config;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(a,u);case this.isString(/vmax$/):return this.getNumber()/100*Math.max(a,u);case this.isString(/vw$/):return this.getNumber()/100*a;case this.isString(/vh$/):return this.getNumber()/100*u;case this.isString(/rem$/):return this.getNumber()*this.getRem();case this.isString(/em$/):return this.getNumber()*this.getEm();case this.isString(/ex$/):return this.getNumber()*this.getEm()/2;case this.isString(/px$/):return this.getNumber();case this.isString(/pt$/):return this.getNumber()*this.getDpi()*(1/72);case this.isString(/pc$/):return this.getNumber()*15;case this.isString(/cm$/):return this.getNumber()*this.getDpi()/2.54;case this.isString(/mm$/):return this.getNumber()*this.getDpi()/25.4;case this.isString(/in$/):return this.getNumber()*this.getDpi();case(this.isString(/%$/)&&r):return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*Math.min(a,u);default:{const l=this.getNumber();return e&&l<1?l*Math.min(a,u):l}}}getDpi(){return 96}getRem(){return this.root.rootEmSize}getEm(){return this.root.emSize}getUnits(){return this.toString().replace(/[0-9.-]/g,"")}toString(t){return typeof t>"u"||this.hasValue()?typeof this.value>"u"?"":String(this.value):String(t)}}class ve{static ignoreChildTypes=["title"];type="";definitions;attributes={};styles={};stylesSpecificity={};parent=null;children=[];root;node;constructor(t,e){!e||e.nodeType!==1||(this.node=e,t===null?(this.root=this,this.definitions={}):this.root=t,this.init())}get id(){return this.getAttribute("id").toString()}init(){this.addAttributes(),this.addStyle(),this.addDefinitions(),Array.from(this.node.childNodes).forEach(t=>{t.nodeType===1&&this.add(t)})}addAttributes(){Array.from(this.node.attributes).forEach(t=>{this.attributes[t.nodeName]=new ti(this.root,t.nodeName,t.value)})}addStyle(){const{styles:t,stylesSpecificity:e}=this.root;let r;for(const a in t)if(!a.startsWith("@")&&this.matchesSelector(a)){const u=t[a],l=e[a];if(u)for(const c in u){let f=this.stylesSpecificity[c];typeof f>"u"&&(f="000"),l&&l>=f&&(r=u[c],r&&(this.styles[c]=r),this.stylesSpecificity[c]=l)}}this.getAttribute("style").hasValue()&&this.getAttribute("style").toString().split(";").map(u=>u.trim()).forEach(u=>{if(!u)return;const[l,c]=u.split(":").map(f=>f.trim());l&&(this.styles[l]=new ti(this.root,l,c))})}addDefinitions(){const t=this.getAttribute("id");t.hasValue()&&(this.root.definitions[t.toString()]||(this.root.definitions[t.toString()]=this))}getStyle(t,e=!1,r=!1){const a=this.styles[t];if(a)return a;const u=this.getAttribute(t);if(u.hasValue())return this.styles[t]=u,u;if(!r&&this.parent){const l=this.parent.getStyle(t);if(l.hasValue())return l}if(e){const l=new ti(this.root,t,"");return this.styles[t]=l,l}return ti.empty(this.root)}getAttribute(t,e=!1){const r=this.attributes[t];if(!r&&e){const a=new ti(this.root,t,"");return this.attributes[t]=a,a}return r||ti.empty(this.root)}getHrefAttribute(){let t;for(const e in this.attributes)if(e==="href"||e.endsWith(":href")){t=this.attributes[e];break}return t||ti.empty(this.root)}add(t){const e=t instanceof ve?t:this.root.createElement(t);e.parent=this,ve.ignoreChildTypes.includes(e.type)||this.children.push(e)}traverse(t){t(this);const e=this.children;for(let r=0,a=e.length;r<a;r++)e[r].traverse(t)}getById(t){if(this.getAttribute("id").toString()===t)return this;for(let e=0,r=this.children.length;e<r;e++){let a=this.children[e].getById(t);if(a)return a}}getByIds(t){let e=[];return t!=null&&t.length&&t.forEach(r=>{let a=this.getById(r);a&&e.push(a)}),e}getByType(t){if(this.type===t)return this;for(let e=0,r=this.children.length;e<r;e++){let a=this.children[e].getByType(t);if(a)return a}}getRotateRad(t,e=!1){for(;t<0;)t+=360;for(;t>360;)t-=360;return e||(t=360-t),Qs(t)}getMatrix(){const t=new Nt,e=this.getStyle("transform",!1,!0),r=this.getAttribute("x"),a=this.getAttribute("y"),u=r.hasValue()?r.getPixels("x"):0,l=a.hasValue()?a.getPixels("y"):0;if((u||l)&&t.makeTranslation(u,l),e.hasValue()){_e.identity();let c=jd(e.toString());c.forEach(f=>{if(f==="none")return;const[d,v]=Su(f);let E=Cu(v);d==="scale"&&_e.scale(E[0],E[1])}),c.forEach(f=>{if(f==="none")return;const[d,v]=Su(f);let E=Cu(v);d==="translate"&&(mi.set(E[0],E[1]).applyMatrix3(_e),_e.getScale(r2),_e.translate(mi.x,mi.y))}),c.forEach(f=>{if(f==="none")return;const[d,v]=Su(f);let E=Cu(v);if(d==="rotate")if(E[1]||E[2]){_e.getTransition(nc),_e.getScale(sc);const A=sc.x<0?-1:1,T=this.getRotateRad(E[0],A<0);mi.set(E[1],E[2]),mi.equals(nc)||mi.applyMatrix3(_e),_e.translate(-mi.x,-mi.y),_e.rotate(T),_e.translate(mi.x,mi.y)}else _e.rotate(Qs(E[0]))}),t.premultiply(_e)}return t}matchesSelector(t){var a;const{node:e}=this;if(typeof e.matches=="function")return e.matches(t);const r=(a=e.getAttribute)==null?void 0:a.call(e,"class");return!r||r===""?!1:r.split(" ").some(u=>`.${u}`===t)}}const _e=new Nt,r2=new L,mi=new L,nc=new L,sc=new L,la={};class ac extends ve{type="unknown";constructor(t,e){super(t,e),process.env.NODE_ENV!=="production"&&(la[e.nodeName]||(la[e.nodeName]=0),la[e.nodeName]||console.error(`${e.nodeName} implemented not yet.`),la[e.nodeName]++)}}class n2 extends ve{type="defs";constructor(t,e){super(t,e)}}class s2 extends ve{type="style";constructor(t,e){super(t,e),ct.replace(Array.from(e.childNodes).map(u=>u.textContent).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"").replace(/@import.*;/g,""),/(?!\u3000)\s+/gm," ").split("}").forEach(u=>{const l=ct.trim(u);if(!l)return;const c=l.split("{"),f=c[0].split(","),d=c[1].split(";");f.forEach(v=>{const E=ct.trim(v);if(!E)return;const A=this.root.styles[E]||{};d.forEach(T=>{const I=T.indexOf(":"),S=T.substr(0,I).trim(),D=T.substr(I+1,T.length-I).trim();S&&D&&(A[S]=new ti(this.root,S,D))}),this.root.styles[E]=A,this.root.stylesSpecificity[E]=Jd(E)})})}}class a2 extends ve{type="view";constructor(t,e){super(t,e)}}class u2 extends ve{type="symbol";constructor(t,e){super(t,e)}}const Wt=" ";function o2(n){let t="";Array.isArray(n)||(n=[n]);for(let e=0;e<n.length;e++){const r=n[e];if(r.type===P.CLOSE_PATH)t+="z";else if(r.type===P.HORIZ_LINE_TO)t+=(r.relative?"h":"H")+r.x;else if(r.type===P.VERT_LINE_TO)t+=(r.relative?"v":"V")+r.y;else if(r.type===P.MOVE_TO)t+=(r.relative?"m":"M")+r.x+Wt+r.y;else if(r.type===P.LINE_TO)t+=(r.relative?"l":"L")+r.x+Wt+r.y;else if(r.type===P.CURVE_TO)t+=(r.relative?"c":"C")+r.x1+Wt+r.y1+Wt+r.x2+Wt+r.y2+Wt+r.x+Wt+r.y;else if(r.type===P.SMOOTH_CURVE_TO)t+=(r.relative?"s":"S")+r.x2+Wt+r.y2+Wt+r.x+Wt+r.y;else if(r.type===P.QUAD_TO)t+=(r.relative?"q":"Q")+r.x1+Wt+r.y1+Wt+r.x+Wt+r.y;else if(r.type===P.SMOOTH_QUAD_TO)t+=(r.relative?"t":"T")+r.x+Wt+r.y;else if(r.type===P.ARC)t+=(r.relative?"a":"A")+r.rX+Wt+r.rY+Wt+r.xRot+Wt+ +r.lArcFlag+Wt+ +r.sweepFlag+Wt+r.x+Wt+r.y;else throw new Error(`Unexpected command type "${r==null?void 0:r.type}" at index ${e}.`)}return t}function Qu([n,t],e){return[n*Math.cos(e)-t*Math.sin(e),n*Math.sin(e)+t*Math.cos(e)]}function ei(...n){for(let t=0;t<n.length;t++)if(typeof n[t]!="number")throw new Error(`assertNumbers arguments[${t}] is not a number. ${typeof n[t]} == typeof ${n[t]}`);return!0}const er=Math.PI;function Ju(n,t,e){n.lArcFlag=n.lArcFlag===0?0:1,n.sweepFlag=n.sweepFlag===0?0:1;let{rX:r,rY:a}=n;const{x:u,y:l}=n;r=Math.abs(n.rX),a=Math.abs(n.rY);const[c,f]=Qu([(t-u)/2,(e-l)/2],-n.xRot/180*er),d=Math.pow(c,2)/Math.pow(r,2)+Math.pow(f,2)/Math.pow(a,2);1<d&&(r*=Math.sqrt(d),a*=Math.sqrt(d)),n.rX=r,n.rY=a;const v=Math.pow(r,2)*Math.pow(f,2)+Math.pow(a,2)*Math.pow(c,2),E=(n.lArcFlag!==n.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(r,2)*Math.pow(a,2)-v)/v)),A=r*f/a*E,T=-a*c/r*E,I=Qu([A,T],n.xRot/180*er);n.cX=I[0]+(t+u)/2,n.cY=I[1]+(e+l)/2,n.phi1=Math.atan2((f-T)/a,(c-A)/r),n.phi2=Math.atan2((-f-T)/a,(-c-A)/r),n.sweepFlag===0&&n.phi2>n.phi1&&(n.phi2-=2*er),n.sweepFlag===1&&n.phi2<n.phi1&&(n.phi2+=2*er),n.phi1*=180/er,n.phi2*=180/er}function uc(n,t,e){ei(n,t,e);const r=n*n+t*t-e*e;if(0>r)return[];if(r===0)return[[n*e/(n*n+t*t),t*e/(n*n+t*t)]];const a=Math.sqrt(r);return[[(n*e+t*a)/(n*n+t*t),(t*e-n*a)/(n*n+t*t)],[(n*e-t*a)/(n*n+t*t),(t*e+n*a)/(n*n+t*t)]]}const Li=Math.PI/180;function oc(n,t,e){return(1-e)*n+e*t}function lc(n,t,e,r){return n+Math.cos(r/180*er)*t+Math.sin(r/180*er)*e}function hc(n,t,e,r){const u=t-n,l=e-t,c=r-e,f=3*u+3*c-6*l,d=(l-u)*6,v=3*u;return Math.abs(f)<1e-6?[-v/d]:l2(d/f,v/f,1e-6)}function cc(n,t,e,r,a){const u=1-a,l=u*u*u,c=3*u*u*a,f=3*u*a*a,d=a*a*a;return n*l+t*c+e*f+r*d}function l2(n,t,e=1e-6){const r=n*n/4-t;if(r<-e)return[];if(r<=e)return[-n/2];const a=Math.sqrt(r);return[-(n/2)-a,-(n/2)+a]}function h2(n,t,e){n.cX||Ju(n,t,e);const r=Math.min(n.phi1,n.phi2),a=Math.max(n.phi1,n.phi2),u=a-r,l=Math.ceil(u/90),c=new Array(l);let f=t,d=e;for(let v=0;v<l;v++){const E=oc(n.phi1,n.phi2,v/l),A=oc(n.phi1,n.phi2,(v+1)/l),T=A-E,I=4/3*Math.tan(T*Li/4),[S,D]=[Math.cos(E*Li)-I*Math.sin(E*Li),Math.sin(E*Li)+I*Math.cos(E*Li)],[k,V]=[Math.cos(A*Li),Math.sin(A*Li)],[W,X]=[k+I*Math.sin(A*Li),V-I*Math.cos(A*Li)],$={relative:n.relative,type:P.CURVE_TO},K=(tt,Z)=>{const[z,J]=Qu([tt*n.rX,Z*n.rY],n.xRot);return[n.cX+z,n.cY+J]};[$.x1,$.y1]=K(S,D),[$.x2,$.y2]=K(W,X),[$.x,$.y]=K(k,V),n.relative&&($.x1-=f,$.y1-=d,$.x2-=f,$.y2-=d,$.x-=f,$.y-=d),[f,d]=[$.x,$.y],c[v]=$}return c}function c2(n=1e13){ei(n);function t(e){return Math.round(e*n)/n}return function(r){return"x1"in r&&typeof r.x1<"u"&&(r.x1=t(r.x1)),"y1"in r&&typeof r.y1<"u"&&(r.y1=t(r.y1)),"x2"in r&&typeof r.x2<"u"&&(r.x2=t(r.x2)),"y2"in r&&typeof r.y2<"u"&&(r.y2=t(r.y2)),"x"in r&&typeof r.x<"u"&&(r.x=t(r.x)),"y"in r&&typeof r.y<"u"&&(r.y=t(r.y)),"rX"in r&&typeof r.rX<"u"&&(r.rX=t(r.rX)),"rY"in r&&typeof r.rY<"u"&&(r.rY=t(r.rY)),r}}function fc(){return ii((n,t,e)=>(n.relative&&(typeof n.x1<"u"&&(n.x1+=t),typeof n.y1<"u"&&(n.y1+=e),typeof n.x2<"u"&&(n.x2+=t),typeof n.y2<"u"&&(n.y2+=e),typeof n.x<"u"&&(n.x+=t),typeof n.y<"u"&&(n.y+=e),n.relative=!1),n))}function f2(){return ii((n,t,e)=>(n.relative||(typeof n.x1<"u"&&(n.x1-=t),typeof n.y1<"u"&&(n.y1-=e),typeof n.x2<"u"&&(n.x2-=t),typeof n.y2<"u"&&(n.y2-=e),typeof n.x<"u"&&(n.x-=t),typeof n.y<"u"&&(n.y-=e),n.relative=!0),n))}function p2(n=!0,t=!0,e=!0){return ii((r,a,u,l,c)=>{if(isNaN(l)&&!(r.type&P.MOVE_TO))throw new Error("path must start with moveto");return t&&r.type&P.HORIZ_LINE_TO&&(r.type=P.LINE_TO,r.y=r.relative?0:u),e&&r.type&P.VERT_LINE_TO&&(r.type=P.LINE_TO,r.x=r.relative?0:a),n&&r.type&P.CLOSE_PATH&&(r.type=P.LINE_TO,r.x=r.relative?l-a:l,r.y=r.relative?c-u:c),r.type&P.ARC&&(r.rX===0||r.rY===0)&&(r.type=P.LINE_TO,delete r.rX,delete r.rY,delete r.xRot,delete r.lArcFlag,delete r.sweepFlag),r})}function pc(){let n=NaN,t=NaN,e=NaN,r=NaN;return ii((a,u,l)=>(a.type&P.SMOOTH_CURVE_TO&&(a.type=P.CURVE_TO,n=isNaN(n)?u:n,t=isNaN(t)?l:t,a.x1=a.relative?u-n:2*u-n,a.y1=a.relative?l-t:2*l-t),a.type&P.CURVE_TO?(n=a.relative?u+a.x2:a.x2,t=a.relative?l+a.y2:a.y2):(n=NaN,t=NaN),a.type&P.SMOOTH_QUAD_TO&&(a.type=P.QUAD_TO,e=isNaN(e)?u:e,r=isNaN(r)?l:r,a.x1=a.relative?u-e:2*u-e,a.y1=a.relative?l-r:2*l-r),a.type&P.QUAD_TO?(e=a.relative?u+a.x1:a.x1,r=a.relative?l+a.y1:a.y1):(e=NaN,r=NaN),a))}function dc(){let n=NaN,t=NaN;return ii((e,r,a)=>{if(e.type&P.SMOOTH_QUAD_TO&&(e.type=P.QUAD_TO,n=isNaN(n)?r:n,t=isNaN(t)?a:t,e.x1=e.relative?r-n:2*r-n,e.y1=e.relative?a-t:2*a-t),e.type&P.QUAD_TO){n=e.relative?r+e.x1:e.x1,t=e.relative?a+e.y1:e.y1;const u=e.x1,l=e.y1;e.type=P.CURVE_TO,e.x1=((e.relative?0:r)+u*2)/3,e.y1=((e.relative?0:a)+l*2)/3,e.x2=(e.x+u*2)/3,e.y2=(e.y+l*2)/3}else n=NaN,t=NaN;return e})}function ii(n){let t=0,e=0,r=NaN,a=NaN;return function(l){if(isNaN(r)&&!(l.type&P.MOVE_TO))throw new Error("path must start with moveto");const c=n(l,t,e,r,a);return l.type&P.CLOSE_PATH&&(t=r,e=a),"x"in l&&typeof l.x<"u"&&(t=l.relative?t+l.x:l.x),"y"in l&&typeof l.y<"u"&&(e=l.relative?e+l.y:l.y),l.type&P.MOVE_TO&&(r=t,a=e),c}}function d2(n=0){ei(n);let t=NaN,e=NaN,r=NaN,a=NaN;return ii((u,l,c,f,d)=>{const v=Math.abs;let E=!1,A=0,T=0;if(u.type&P.SMOOTH_CURVE_TO&&(A=isNaN(t)?0:l-t,T=isNaN(e)?0:c-e),u.type&(P.CURVE_TO|P.SMOOTH_CURVE_TO)?(t=u.relative?l+u.x2:u.x2,e=u.relative?c+u.y2:u.y2):(t=NaN,e=NaN),u.type&P.SMOOTH_QUAD_TO?(r=isNaN(r)?l:2*l-r,a=isNaN(a)?c:2*c-a):u.type&P.QUAD_TO?(r=u.relative?l+u.x1:u.x1,a=u.relative?c+u.y1:u.y2):(r=NaN,a=NaN),u.type&P.LINE_COMMANDS||u.type&P.ARC&&(u.rX===0||u.rY===0||!u.lArcFlag)||u.type&P.CURVE_TO||u.type&P.SMOOTH_CURVE_TO||u.type&P.QUAD_TO||u.type&P.SMOOTH_QUAD_TO){const I=typeof u.x>"u"?0:u.relative?u.x:u.x-l,S=typeof u.y>"u"?0:u.relative?u.y:u.y-c;A=isNaN(r)?typeof u.x1>"u"?A:u.relative?u.x:u.x1-l:r-l,T=isNaN(a)?typeof u.y1>"u"?T:u.relative?u.y:u.y1-c:a-c;const D=typeof u.x2>"u"?0:u.relative?u.x:u.x2-l,k=typeof u.y2>"u"?0:u.relative?u.y:u.y2-c;v(I)<=n&&v(S)<=n&&v(A)<=n&&v(T)<=n&&v(D)<=n&&v(k)<=n&&(E=!0)}return u.type&P.CLOSE_PATH&&v(l-f)<=n&&v(c-d)<=n&&(E=!0),E?[]:u})}function ir(n,t,e,r,a,u){return ei(n,t,e,r,a,u),ii((l,c,f,d)=>{const v=l.x1,E=l.x2,A=l.relative&&!isNaN(d),T=typeof l.x<"u"?l.x:A?0:c,I=typeof l.y<"u"?l.y:A?0:f;l.type&P.HORIZ_LINE_TO&&t!==0&&(l.type=P.LINE_TO,l.y=l.relative?0:f),l.type&P.VERT_LINE_TO&&e!==0&&(l.type=P.LINE_TO,l.x=l.relative?0:c),typeof l.x<"u"&&(l.x=l.x*n+I*e+(A?0:a)),typeof l.y<"u"&&(l.y=T*t+l.y*r+(A?0:u)),typeof l.x1<"u"&&(l.x1=l.x1*n+l.y1*e+(A?0:a)),typeof l.y1<"u"&&(l.y1=v*t+l.y1*r+(A?0:u)),typeof l.x2<"u"&&(l.x2=l.x2*n+l.y2*e+(A?0:a)),typeof l.y2<"u"&&(l.y2=E*t+l.y2*r+(A?0:u));function S(k){return k*k}const D=n*r-t*e;if(typeof l.xRot<"u"&&(n!==1||t!==0||e!==0||r!==1))if(D===0)delete l.rX,delete l.rY,delete l.xRot,delete l.lArcFlag,delete l.sweepFlag,l.type=P.LINE_TO;else{const k=l.xRot*Math.PI/180,V=Math.sin(k),W=Math.cos(k),X=1/S(l.rX),$=1/S(l.rY),K=S(W)*X+S(V)*$,tt=2*V*W*(X-$),Z=S(V)*X+S(W)*$,z=K*r*r-tt*t*r+Z*t*t,J=tt*(n*r+t*e)-2*(K*e*r+Z*n*t),nt=K*e*e-tt*n*e+Z*n*n,mt=(Math.atan2(J,z-nt)+Math.PI)%Math.PI/2,It=Math.sin(mt),Ct=Math.cos(mt);l.rX=Math.abs(D)/Math.sqrt(z*S(Ct)+J*It*Ct+nt*S(It)),l.rY=Math.abs(D)/Math.sqrt(z*S(It)-J*It*Ct+nt*S(Ct)),l.xRot=mt*180/Math.PI}return typeof l.sweepFlag<"u"&&0>D&&(l.sweepFlag=+!l.sweepFlag),l})}function g2(n,t=0,e=0){ei(n,t,e);const r=Math.sin(n),a=Math.cos(n);return ir(a,r,-r,a,t-t*a+e*r,e-t*r-e*a)}function m2(n,t=0){return ei(n,t),ir(1,0,0,1,n,t)}function y2(n,t=n){return ei(n,t),ir(n,0,0,t,0,0)}function v2(n){return ei(n),ir(1,0,Math.atan(n),1,0,0)}function x2(n){return ei(n),ir(1,Math.atan(n),0,1,0,0)}function E2(n=0){return ei(n),ir(-1,0,0,1,n,0)}function A2(n=0){return ei(n),ir(1,0,0,-1,0,n)}function b2(){return ii((n,t,e)=>P.ARC===n.type?h2(n,n.relative?0:t,n.relative?0:e):n)}function w2(){return ii((n,t,e)=>(n.relative&&(t=0,e=0),P.ARC===n.type&&Ju(n,t,e),n))}function gc(){return n=>({...n})}function T2(){const n=gc(),t=fc(),e=dc(),r=pc(),a=ii((u,l,c)=>{const f=r(e(t(n(u))));function d(E){E>a.maxX&&(a.maxX=E),E<a.minX&&(a.minX=E)}function v(E){E>a.maxY&&(a.maxY=E),E<a.minY&&(a.minY=E)}if(f.type&P.DRAWING_COMMANDS&&(d(l),v(c)),f.type&P.HORIZ_LINE_TO&&d(f.x),f.type&P.VERT_LINE_TO&&v(f.y),f.type&P.LINE_TO&&(d(f.x),v(f.y)),f.type&P.CURVE_TO){d(f.x),v(f.y);const E=hc(l,f.x1,f.x2,f.x);for(const T of E)0<T&&1>T&&d(cc(l,f.x1,f.x2,f.x,T));const A=hc(c,f.y1,f.y2,f.y);for(const T of A)0<T&&1>T&&v(cc(c,f.y1,f.y2,f.y,T))}if(f.type&P.ARC){d(f.x),v(f.y),Ju(f,l,c);const E=f.xRot/180*Math.PI,A=Math.cos(E)*f.rX,T=Math.sin(E)*f.rX,I=-Math.sin(E)*f.rY,S=Math.cos(E)*f.rY,[D,k]=f.phi1<f.phi2?[f.phi1,f.phi2]:-180>f.phi2?[f.phi2+360,f.phi1+360]:[f.phi2,f.phi1],V=([$,K])=>{const Z=Math.atan2(K,$)*180/Math.PI;return Z<D?Z+360:Z},W=uc(I,-A,0).map(V);for(const $ of W)$>D&&$<k&&d(lc(f.cX,A,I,$));const X=uc(S,-T,0).map(V);for(const $ of X)$>D&&$<k&&v(lc(f.cY,T,S,$))}return u});return a.minX=1/0,a.maxX=-1/0,a.minY=1/0,a.maxY=-1/0,a}const Xt={ROUND:c2,TO_ABS:fc,TO_REL:f2,NORMALIZE_HVZ:p2,NORMALIZE_ST:pc,QT_TO_C:dc,INFO:ii,SANITIZE:d2,MATRIX:ir,ROTATE:g2,TRANSLATE:m2,SCALE:y2,SKEW_X:v2,SKEW_Y:x2,X_AXIS_SYMMETRY:E2,Y_AXIS_SYMMETRY:A2,A_TO_C:b2,ANNOTATE_ARCS:w2,CLONE:gc,CALCULATE_BOUNDS:T2};class mc{round(t){return this.transform(Xt.ROUND(t))}toAbs(){return this.transform(Xt.TO_ABS())}toRel(){return this.transform(Xt.TO_REL())}normalizeHVZ(t,e,r){return this.transform(Xt.NORMALIZE_HVZ(t,e,r))}normalizeST(){return this.transform(Xt.NORMALIZE_ST())}qtToC(){return this.transform(Xt.QT_TO_C())}aToC(){return this.transform(Xt.A_TO_C())}sanitize(t){return this.transform(Xt.SANITIZE(t))}translate(t,e){return this.transform(Xt.TRANSLATE(t,e))}scale(t,e){return this.transform(Xt.SCALE(t,e))}rotate(t,e,r){return this.transform(Xt.ROTATE(t,e,r))}matrix(t,e,r,a,u,l){return this.transform(Xt.MATRIX(t,e,r,a,u,l))}skewX(t){return this.transform(Xt.SKEW_X(t))}skewY(t){return this.transform(Xt.SKEW_Y(t))}xSymmetry(t){return this.transform(Xt.X_AXIS_SYMMETRY(t))}ySymmetry(t){return this.transform(Xt.Y_AXIS_SYMMETRY(t))}annotateArcs(){return this.transform(Xt.ANNOTATE_ARCS())}}const _2=n=>n===" "||n===" "||n==="\r"||n===`
|
|
39
|
-
`,yc=n=>48<=n.charCodeAt(0)&&n.charCodeAt(0)<=57;class C2 extends mc{curNumber="";curCommandType=-1;curCommandRelative=!1;canParseCommandOrComma=!0;curNumberHasExp=!1;curNumberHasExpDigits=!1;curNumberHasDecimal=!1;curArgs=[];constructor(){super()}finish(t=[]){if(this.parse(" ",t),this.curArgs.length!==0||!this.canParseCommandOrComma)throw new SyntaxError("Unterminated command at the path end.");return t}parse(t,e=[]){const r=a=>{e.push(a),this.curArgs.length=0,this.canParseCommandOrComma=!0};for(let a=0;a<t.length;a++){const u=t[a],l=this.curCommandType===P.ARC&&(this.curArgs.length===3||this.curArgs.length===4)&&this.curNumber.length===1&&(this.curNumber==="0"||this.curNumber==="1"),c=yc(u)&&(this.curNumber==="0"&&u==="0"||l);if(yc(u)&&!c){this.curNumber+=u,this.curNumberHasExpDigits=this.curNumberHasExp;continue}if(u==="e"||u==="E"){this.curNumber+=u,this.curNumberHasExp=!0;continue}if((u==="-"||u==="+")&&this.curNumberHasExp&&!this.curNumberHasExpDigits){this.curNumber+=u;continue}if(u==="."&&!this.curNumberHasExp&&!this.curNumberHasDecimal&&!l){this.curNumber+=u,this.curNumberHasDecimal=!0;continue}if(this.curNumber&&this.curCommandType!==-1){const f=Number(this.curNumber);if(isNaN(f))throw new SyntaxError(`Invalid number ending at ${a}`);if(this.curCommandType===P.ARC){if(this.curArgs.length===0||this.curArgs.length===1){if(0>f)throw new SyntaxError(`Expected positive number, got "${f}" at index "${a}"`)}else if((this.curArgs.length===3||this.curArgs.length===4)&&this.curNumber!=="0"&&this.curNumber!=="1")throw new SyntaxError(`Expected a flag, got "${this.curNumber}" at index "${a}"`)}this.curArgs.push(f),this.curArgs.length===S2[this.curCommandType]&&(P.HORIZ_LINE_TO===this.curCommandType?r({type:P.HORIZ_LINE_TO,relative:this.curCommandRelative,x:f}):P.VERT_LINE_TO===this.curCommandType?r({type:P.VERT_LINE_TO,relative:this.curCommandRelative,y:f}):this.curCommandType===P.MOVE_TO||this.curCommandType===P.LINE_TO||this.curCommandType===P.SMOOTH_QUAD_TO?(r({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),P.MOVE_TO===this.curCommandType&&(this.curCommandType=P.LINE_TO)):this.curCommandType===P.CURVE_TO?r({type:P.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===P.SMOOTH_CURVE_TO?r({type:P.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===P.QUAD_TO?r({type:P.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===P.ARC&&r({type:P.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber="",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!_2(u)){if(u===","&&this.canParseCommandOrComma){this.canParseCommandOrComma=!1;continue}if(u==="+"||u==="-"||u==="."){this.curNumber=u,this.curNumberHasDecimal=u===".";continue}if(c){this.curNumber=u,this.curNumberHasDecimal=!1;continue}if(this.curArgs.length!==0)throw new SyntaxError(`Unterminated command at index ${a}.`);if(!this.canParseCommandOrComma)throw new SyntaxError(`Unexpected character "${u}" at index ${a}. Command cannot follow comma`);if(this.canParseCommandOrComma=!1,u==="z"||u==="Z"){e.push({type:P.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1;continue}else if(u==="h"||u==="H")this.curCommandType=P.HORIZ_LINE_TO,this.curCommandRelative=u==="h";else if(u==="v"||u==="V")this.curCommandType=P.VERT_LINE_TO,this.curCommandRelative=u==="v";else if(u==="m"||u==="M")this.curCommandType=P.MOVE_TO,this.curCommandRelative=u==="m";else if(u==="l"||u==="L")this.curCommandType=P.LINE_TO,this.curCommandRelative=u==="l";else if(u==="c"||u==="C")this.curCommandType=P.CURVE_TO,this.curCommandRelative=u==="c";else if(u==="s"||u==="S")this.curCommandType=P.SMOOTH_CURVE_TO,this.curCommandRelative=u==="s";else if(u==="q"||u==="Q")this.curCommandType=P.QUAD_TO,this.curCommandRelative=u==="q";else if(u==="t"||u==="T")this.curCommandType=P.SMOOTH_QUAD_TO,this.curCommandRelative=u==="t";else if(u==="a"||u==="A")this.curCommandType=P.ARC,this.curCommandRelative=u==="a";else throw new SyntaxError(`Unexpected character "${u}" at index ${a}.`)}}return e}transform(t){return Object.create(this,{parse:{value(r,a=[]){const u=Object.getPrototypeOf(this).parse.call(this,r);for(const l of u){const c=t(l);Array.isArray(c)?a.push(...c):a.push(c)}return a}}})}}class P extends mc{commands;constructor(t){super(),typeof t=="string"?this.commands=P.parse(t):this.commands=t}encode(){return P.encode(this.commands)}getBounds(){const t=Xt.CALCULATE_BOUNDS();return this.transform(t),t}transform(t){const e=[];for(const r of this.commands){const a=t(r);Array.isArray(a)?e.push(...a):e.push(a)}return this.commands=e,this}static encode(t){return o2(t)}static parse(t){const e=new C2,r=[];return e.parse(t,r),e.finish(r),r}static CLOSE_PATH=1;static MOVE_TO=2;static HORIZ_LINE_TO=4;static VERT_LINE_TO=8;static LINE_TO=16;static CURVE_TO=32;static SMOOTH_CURVE_TO=64;static QUAD_TO=128;static SMOOTH_QUAD_TO=256;static ARC=512;static LINE_COMMANDS=P.LINE_TO|P.HORIZ_LINE_TO|P.VERT_LINE_TO;static DRAWING_COMMANDS=P.HORIZ_LINE_TO|P.VERT_LINE_TO|P.LINE_TO|P.CURVE_TO|P.SMOOTH_CURVE_TO|P.QUAD_TO|P.SMOOTH_QUAD_TO|P.ARC}const S2={[P.MOVE_TO]:2,[P.LINE_TO]:2,[P.HORIZ_LINE_TO]:1,[P.VERT_LINE_TO]:1,[P.CLOSE_PATH]:0,[P.QUAD_TO]:4,[P.SMOOTH_QUAD_TO]:2,[P.CURVE_TO]:6,[P.SMOOTH_CURVE_TO]:4,[P.ARC]:7},_r=new L,an=new L;class D2 extends ve{type="path";pathData;paths=[];_i=-1;_command;_previousCommand;_start=new L;_control=new L;_current=new L;_ps=[];_angles=[];constructor(t,e){super(t,e),this.initPaths()}initPaths(){var r,a;let t=this.getAttribute("d").toString().replace(/([+\-.])\s+/gm,"$1").replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g,"");if(this.pathData=new P(t),!((a=(r=this.pathData)==null?void 0:r.commands)!=null&&a.length))return;this._reset();const e=new di;for(;!this._isEnd();){const u=this._next();switch(u.type){case P.MOVE_TO:this.moveTo(e);break;case P.LINE_TO:this.lineTo(e);break;case P.HORIZ_LINE_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.VERT_LINE_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.CURVE_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.SMOOTH_CURVE_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.QUAD_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.SMOOTH_QUAD_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.ARC:this.arc(e);break;case P.CLOSE_PATH:this.closePath(e);break;default:console.error(`path ${u} implemented not yet.`);break}}this.paths.push(e)}moveTo(t){return _r.copy(this._getAsCurrentPoint()),this._start.copy(this._current),t.moveTo(_r.x,_r.y),this}lineTo(t){return an.copy(this._getAsCurrentPoint()),t.lineTo(an.x,an.y),this}arc(t){_r.copy(this._current),an.copy(this._getAsCurrentPoint());const e=_r.x,r=_r.y,a=an.x,u=an.y,l=this._command.lArcFlag,c=this._command.sweepFlag,f=this._command.rX,d=this._command.rY,v=this._command.xRot;let E=N2(e,r,a,u,l,c,f,d,v),A=E[2]>E[3]?E[2]:E[3];return t.arc(E[0],E[1],A,E[4],E[4]+E[5],!!(E[7]-1)),this}closePath(t){return this._current.copy(this._start),t.closePath(),this}_reset(){this._i=-1,this._command=void 0,this._previousCommand=void 0,this._start.set(0,0),this._control.set(0,0),this._current.set(0,0),this._ps.length=0,this._angles.length=0}_isEnd(){var t;return this._i>=(((t=this.pathData.commands)==null?void 0:t.length)||0)-1}_next(){const t=this.pathData.commands[++this._i];return this._previousCommand=this._command,this._command=t,this._command}_getAsCurrentPoint(t,e){return _r.copy(this._current),this._current.copy(this._getPoint(t,e)),this._current}_getPoint(t="x",e="y"){return this._makeAbsolute(new L(this._command[t],this._command[e]))}_makeAbsolute(t){return this._command.relative?t.add(this._current):t}_getAsControlPoint(t,e){return this._control.copy(this._getPoint(t,e)),this._control}_getReflectedControlPoint(){var e;const t=(e=this._previousCommand)==null?void 0:e.type;return t!==P.CURVE_TO&&t!==P.SMOOTH_CURVE_TO&&t!==P.QUAD_TO&&t!==P.SMOOTH_QUAD_TO?this._current:(this._current.set(this._command.cx,this._command.cy),this._control.set(this._command.ox,this._command.oy),new L(2*this._current.x-this._control.x,2*this._current.y-this._control.y))}}function N2(n,t,e,r,a,u,l,c,f){let d=f*(Math.PI/180),v=Math.cos(d)*(n-e)/2+Math.sin(d)*(t-r)/2,E=-1*Math.sin(d)*(n-e)/2+Math.cos(d)*(t-r)/2,A=v*v/(l*l)+E*E/(c*c);A>1&&(l*=Math.sqrt(A),c*=Math.sqrt(A));let T=Math.sqrt((l*l*(c*c)-l*l*(E*E)-c*c*(v*v))/(l*l*(E*E)+c*c*(v*v)));a===u&&(T*=-1),isNaN(T)&&(T=0);let I=T*l*E/c,S=T*-c*v/l,D=(n+e)/2+Math.cos(d)*I-Math.sin(d)*S,k=(t+r)/2+Math.sin(d)*I+Math.cos(d)*S,V=function(z){return Math.sqrt(z[0]*z[0]+z[1]*z[1])},W=function(z,J){return(z[0]*J[0]+z[1]*J[1])/(V(z)*V(J))},X=function(z,J){return(z[0]*J[1]<z[1]*J[0]?-1:1)*Math.acos(W(z,J))},$=X([1,0],[(v-I)/l,(E-S)/c]),K=[(v-I)/l,(E-S)/c],tt=[(-1*v-I)/l,(-1*E-S)/c],Z=X(K,tt);return W(K,tt)<=-1&&(Z=Math.PI),W(K,tt)>=1&&(Z=0),u===0&&Z>0&&(Z=Z-2*Math.PI),u===1&&Z<0&&(Z=Z+2*Math.PI),[D,k,l,c,$,Z,d,u]}class M2 extends ve{type="g";constructor(t,e){super(t,e)}}class O2 extends ve{type="use";symbolId;cachedElement;constructor(t,e){super(t,e),this.symbolId=ct.replace(this.getHrefAttribute().toString()||"","#",""),this.cachedElement||(this.cachedElement=this.getHrefAttribute().getDefinition())}}class B2 extends ve{type="circle";paths=[];constructor(t,e){super(t,e),this.initPath()}initPath(){this.paths.length=0;const t=new di,e=this.getAttribute("cx").getPixels("x"),r=this.getAttribute("cy").getPixels("y"),a=this.getAttribute("r").getPixels();a>0&&t.arc(e,r,a,0,Math.PI*2,!1),this.paths.push(t)}}class I2 extends ve{type="text";text;fontSize;constructor(t,e){super(t,e),this.text=this.getTextFromNode()}getTextFromNode(t){const e=t||this.node,r=Array.from(e.parentNode.childNodes),a=r.indexOf(e),u=r.length-1;let l=(e.textContent||"").replace(/(?!\u3000)\s+/gm," ");return a===0&&(l=ct.trimStart(l)),a===u&&(l=ct.trimEnd(l)),l}getFontSize(){var e;const t=(e=this.parent)==null?void 0:e.getStyle("font-size").getPixels(!0);return t?this.text==="Mechanical Room"?20:t:12}}const P2={view:a2,defs:n2,style:s2,symbol:u2,path:D2,g:M2,use:O2,circle:B2,text:I2,unknown:ac};class L2 extends ve{type="svg";definitions={};rootEmSize=vc;emSize=vc;constructor(t){super(null,t),this.definitions={}}createElement(t){const e=t.nodeName.replace(/^[^:]+:/,""),r=P2[e];return r?new r(this,t):new ac(this,t)}}const vc=16;class ju extends Oh{parsedData={};data={};constructor(t){super(t)}static parse(t,e){const r=[];return t&&(Z2(t,r),tm(r)),r}load(t,e,r,a){const u=this,l=new d0(u.manager);l.setPath(u.path),l.setRequestHeader(u.requestHeader),l.setWithCredentials(u.withCredentials),l.load(t,function(c){try{e&&e(c)}catch(f){a?a(f):console.error(f),u.manager.itemError(t)}},r,a)}parseFile(t){if(!t)return;const e=new zh.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",parseAttributeValue:!0});return this.parsedData=e.parse(t),this.parsedData}static trans2Ro(t,e=!0){let a=new zh.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",parseAttributeValue:!0}).parse(t),u=R2(a);return as(u,"svg",void 0,a.svg,e)}static getSvgElement(t){let e=new gt.window.DOMParser().parseFromString(t,"image/svg+xml");return new L2(e.documentElement)}selectById(t){this.data}}function R2(n){var e,r,a,u,l,c,f,d,v,E;let t={};return(e=n.svg)!=null&&e.view&&(t.view=F2((r=n.svg)==null?void 0:r.view)),(a=n.svg)!=null&&a.viewBox&&(t.viewBox=new Tt().setFromMinMaxString((u=n.svg)==null?void 0:u.viewBox)),(l=n.svg)!=null&&l.version&&(t.version=(c=n.svg)==null?void 0:c.version),(f=n.svg)!=null&&f.archibusversion&&(t.userData={version:(d=n.svg)==null?void 0:d.archibusversion}),(v=n.svg)!=null&&v.defs&&(t.defs=U2((E=n.svg)==null?void 0:E.defs)),t}function F2(n){return{id:n.id,units:n.units,viewBox:new Tt().setFromMinMaxString(n.viewBox)}}function U2(n){let t={};return t.style=k2(n==null?void 0:n.style),t.symbol=q2(n==null?void 0:n.symbol),t}const Cr={};function k2(n){const t=/\.([^\s{]+)\s*\{\s*([^}]+)\s*\}/g;let e;for(;(e=t.exec(n))!==null;){const r=e[1],a=e[2];Cr[r]={};const u=/([^:]+):\s*([^;]+);?/g;let l;for(;(l=u.exec(a))!==null;){const c=ct.camelCase(l[1].trim()),f=l[2].trim();Cr[r][c]=f}}return Cr}function q2(n){let t={};if(!(n!=null&&n.length))return t;for(let e=0,r=n.length;e<r;e++){let a=n[e];a.id&&(t[a.id]=as({defs:{symbol:t}},"symbol",void 0,n[e],!0))}return t}const ss=["use","path","circle","text"];function as(n,t,e,r,a){let u;if(typeof r!="object")return u;if(Array.isArray(r)){u=new Hu({name:e.id,userData:{id:e.id}});for(let l=0,c=r.length;l<c;l++){let f=as(n,t,e,r[l],a);f&&u.add(f)}return t==="text"&&u.children.length===1?(u=u.children[0],u.updateMatrix(),u):(u.updateMatrix(),u)}if(!t||t==="svg"||t==="g"||t==="symbol"){if(u=new Hu({name:r.id,userData:{id:r.id,tag:t}}),Ac(r,a,u),r.style=xc(n,e,r),r.g){let l=as(n,"g",r,r.g,a);l&&u.add(l)}for(let l=0,c=ss.length;l<c;l++)if(r[ss[l]]){let f=as(n,ss[l],r,r[ss[l]],a);f&&u.add(f)}return u}if(ss.includes(t)){r.style=xc(n,e,r);const l=z2(n,t,r);return l?(Ac(r,a,l),l):void 0}return u}function xc(n,t,e){let r={};return t&&(Cr[t==null?void 0:t.class]&&ct.merge(r,Cr[t.class]),Ec(n,t,r)),Cr[e.class]&&ct.merge(r,Cr[e.class]),Ec(n,e,r),r}function Ec(n,t,e){t.style&&ct.merge(e,t.style);let r=parseFloat(ct.get(t,"stroke-width")||"")||0;return r>0&&(e.strokeWidth=W2(n,r)),e}const H2=new Tt,ha=new L;function W2(n,t){var r,a,u;if(!t)return t;if(!((r=n==null?void 0:n.view)!=null&&r.viewBox))return 1;H2.copy((a=n==null?void 0:n.view)==null?void 0:a.viewBox).getSize(ha);let e=Math.round(t/100*((ha==null?void 0:ha.length())||1));return((u=n==null?void 0:n.view)==null?void 0:u.units)==="inches"&&(e=Math.max(Math.ceil(e/25),1)),e}function z2(n,t,e){var d,v,E,A;let r,a=e.fill||((d=e.style)==null?void 0:d.fill)||void 0,u=e.fillOpacity||((v=e.style)==null?void 0:v.fillOpacity)||void 0;a&&u&&(a=new le(a).setA(u).getStyle());let l=e.strokeWidth||((E=e.style)==null?void 0:E.strokeWidth)||1,c=e.stroke||((A=e.style)==null?void 0:A.stroke)||oe.black;const f=[{name:"path",fill:a,lineWidth:l,stroke:c}];if(t==="path"){let T=wc(e.d,!0);if(!Array.isArray(T))return f[0].path=T,bc(t,e,f);r=new Hu({name:e.id,userData:{id:e.id,tag:t}});for(let I=0,S=T.length;I<S;I++){let D=ct.cloneDeep(f);D[0].path=T[I];const k=bc(t,e,D);r.add(k),k.updateMatrix()}return r}return t==="use"?$2(n,t,e):t==="text"?G2(t,e):t==="circle"?X2(t,e,f):r}function Ac(n,t,e){if((n.selectable===!0||n.selectable==="true")&&e.setSelectable(!0),n.x!==void 0&&!isNaN(Number(n.x))&&(e.position.x=n.x),n.y!==void 0&&!isNaN(Number(n.y))&&(e.position.y=n.y*(t?-1:1)),n.transform){let r=V2(n.transform);r.tx&&(e.position.x=r.tx),r.ty&&(e.position.y=r.ty*(t?-1:1)),r.rx&&(e.position.x=r.rx),r.ry&&(e.position.y=r.ry*(t?-1:1)),r.ra&&(e.rotation.x=Qs(r.ra*(t?-1:1))),r.sx&&(e.scaled.x=r.sx),r.sy&&(e.scaled.y=r.sy)}return e.updateMatrix(),e}function V2(n){const t={},e=/(\w+)\(([^)]+)\)/g;let r;for(;(r=e.exec(n))!==null;){const[a,u,l]=r,c=l.split(",").map(Number);switch(u){case"scale":t.sx=c[0],t.sy=c.length>1?c[1]:c[0];break;case"translate":isNaN(Number(c[0]))||(t.tx=c[0]),c.length>1&&!isNaN(Number(c[1]))&&(t.ty=c[1]);break;case"rotate":t.ra=c[0],t.rx=c[1],t.ry=c[2];break}}return t}function $2(n,t,e){var u,l;let r,a=ct.get(e,"xlink:href");if(ct.startsWith(a,"#")&&(a=a.substring(1)),(u=n.defs)!=null&&u.symbol&&((l=n.defs)!=null&&l.symbol[a]))return r=n.defs.symbol[a].clone(),ct.merge(r.userData,{id:e.id,tag:t}),r}function bc(n,t,e){return new ec({name:t.id||n,parsedSvg:e,composeNode:!0,userData:{id:t.id,tag:n}})}function G2(n,t){let e=ct.get(t,"#text");if(e)return new i2({text:e,fontSize:20,fill:oe.black,wireframe:!1,flipY:!0,userData:{id:t.id,tag:n}})}function X2(n,t,e){return e[0].cx=t.cx,e[0].cy=t.cy,e[0].r=t.r,Cc(e[0]),new ec({name:t.id||n,parsedSvg:e,composeNode:!0,alignCenter:!0,userData:{id:t.id,tag:n}})}const Y2=["x","y","lineWidth","width","height","rx","cx","cy","r"];function Z2(n,t=[]){if(!n)throw new Error("input error");const e=n.match(/<(\w+)([^<]+)>/g);if(!e||!e.length)return t;let r="",a=[],u="";for(let l=0,c=e.length;l<c;l++)r=e[l].replace(/[<>]/g,""),a=r.split(" "),!(!a||!a.length)&&(u=a[0],!(u!=="path"&&u!=="clipPath"&&u!=="rect"&&u!=="circle"&&u!=="text"&&u!=="polygon")&&(r.indexOf("class")>=0&&(e[l]=J2(n,e[l])),j2(e[l],t)));return t}function K2(n){const t=/<style>([\s\S]*?)<\/style>/,e=n.match(t);if(e&&e.length>1)return e[1]}function Q2(n){const t={},e=K2(n);if(!e)return t;const r=/\.([\w-]+)\s*\{([\s\S]*?)\}/g;let a;for(;(a=r.exec(e))!==null;){const u=a[1],l=a[2];t[u]={};const c=/([\w-]+)\s*:\s*([^;]+)/g;let f;for(;(f=c.exec(l))!==null;){const d=f[1],v=f[2];t[u][d]=v.trim()}}return t}function J2(n,t){let e=t.match(/class="([^"]+)"/);if(!e)return t;const r=e[0],a=Q2(n),u=[];return Object.keys(a).forEach(l=>{Object.keys(a[l]).forEach(c=>{u.push(c+'="'+a[l][c]+'"')})}),!u||!u.length||(t=t.replaceAll(r,u.join(" "))),t}function j2(n,t=[]){const r=n.replace(/[<>]/g,"").split(" ");if(!r||!r.length)return t;const a={name:""};let u="",l=!1;for(let c=0,f=r.length;c<f;c++)if(l=r[c].indexOf("=")>=0,!c)a.name=r[c];else if(l){const d=r[c].split("=");d[0]==="stroke-width"?d[0]="lineWidth":d[0]==="stroke-linecap"&&(d[0]="strokeLinecap"),a[d[0]]=d[1].replace(/\"/g,""),u=d[0]}else l||(a[u]+=" "+r[c].replace(/\"/g,""));for(const c in a)Y2.indexOf(c)>=0&&(a[c]=parseFloat(a[c]));return t.push(a),t}function tm(n=[],t){for(let e=0,r=n.length;e<r;e++)switch(n[e].name){case"path":em(n[e]);break;case"clipPath":break;case"rect":rm(n[e]);break;case"circle":Cc(n[e]);break;case"text":break;case"polygon":nm(n[e]);break;default:delete n[e].path;break}return n}const un=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];function em(n){!n.d||!n.d.length||(n.path=wc(n.d,!1))}const im=100;function wc(n,t=!1){n=ct.trim(n),n=n.replace(new RegExp(" ","g"),",").replace(new RegExp("M","g"),"|M");const e=ct.split(n,"|");if(e!=null&&e.length&&e[0]===""&&e.shift(),!t||e.length<=im*2){let l=[];for(let c=0,f=e.length;c<f;c++){let d=e[c];for(let E=0,A=un.length;E<A;E++)d=d.replace(new RegExp(un[E],"g"),"|"+un[E]);let v=d.split("|");v!=null&&v.length&&v[0]===""&&v.shift(),l=l.concat(v)}return Tc(l)}let r=[];for(let l=0,c=e.length;l<c;l++){let f=/M\s*(-?\d+(\.\d+)?),\s*(-?\d+(\.\d+)?)/g.exec(e[l]);f&&(f==null?void 0:f.length)>3&&r.push({x:parseFloat(f[1]),y:parseFloat(f[3]),cms:e[l]})}r=ct.sortBy(r,l=>L.getLength({x:l.x,y:l.y}));let a=ct.chunk(r,Math.floor(r.length/10)),u=[];for(let l=0,c=a.length;l<c;l++){let f=[];for(let d=0,v=a[l].length;d<v;d++){let E=a[l][d].cms;for(let T=0,I=un.length;T<I;T++)E=E.replace(new RegExp(un[T],"g"),"|"+un[T]);let A=E.split("|");A!=null&&A.length&&A[0]===""&&A.shift(),f=f.concat(A)}u.push(Tc(f))}return u}function Tc(n){let t=new di;const e=[];let r=0,a=0;const u=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let l,c="";for(let f=0,d=n.length;f<d;f++){let v=n[f],E=v.charAt(0);for(v=v.slice(1),e.length=0;l=u.exec(v);)e.push(l[0]);const A=[];for(let I=0,S=e.length;I<S;I++){if(e[I]==="00"){A.push(0,0);continue}let D=parseFloat(e[I]);isNaN(D)?A.push(0):A.push(D)}let T=[];for(;A.length>0&&!isNaN(A[0]);){let I=r,S=a,D,k,V,W,X,$,K,tt,Z;switch(E){case"M":I=r=A.shift()||0,S=a=A.shift()||0,t.moveTo(r,a);break;case"m":let z=A.shift()||0,J=A.shift()||0;r+=z,a+=J,c==="z"&&(r=I+z,a=S+J),t.moveTo(r,a);break;case"l":r+=A.shift()||0,a+=A.shift()||0,t.lineTo(r,a);break;case"L":r=A.shift()||0,a=A.shift()||0,t.lineTo(r,a);break;case"h":r+=A.shift()||0,t.lineTo(r,a);break;case"H":r=A.shift()||0,t.lineTo(r,a);break;case"v":a+=A.shift()||0,t.lineTo(r,a);break;case"V":a=A.shift()||0,t.lineTo(r,a);break;case"C":T.length=0,T.push(A.shift()||0,A.shift()||0,A.shift()||0,A.shift()||0),r=A.shift()||0,a=A.shift()||0,t.bezierCurveTo(T[0],T[1],T[2],T[3],r,a);break;case"c":T.length=0,T.push(r+(A.shift()||0),a+(A.shift()||0),r+(A.shift()||0),a+(A.shift()||0)),r+=A.shift()||0,a+=A.shift()||0,t.bezierCurveTo(T[0],T[1],T[2],T[3],r,a);break;case"S":D=r,k=a,c==="C"&&(D=r+(r-T[2]),k=a+(a-T[3])),T.length=0,T.push(D,k,A.shift()||0,A.shift()||0),r=A.shift()||0,a=A.shift()||0,t.bezierCurveTo(T[0],T[1],T[2],T[3],r,a);break;case"s":D=r,k=a,c==="C"&&(D=r+(r-T[2]),k=a+(a-T[3])),T.length=0,T.push(D,k,r+(A.shift()||0),a+(A.shift()||0)),r+=A.shift()||0,a+=A.shift()||0,t.bezierCurveTo(T[0],T[1],T[2],T[3],r,a);break;case"Q":T.length=0,T.push(A.shift()||0,A.shift()||0),r=A.shift()||0,a=A.shift()||0,t.quadraticCurveTo(T[0],T[1],r,a);break;case"q":T.length=0,T.push(r+(A.shift()||0),a+(A.shift()||0)),r+=A.shift()||0,a+=A.shift()||0,t.quadraticCurveTo(T[0],T[1],r,a);break;case"T":D=r,k=a,c==="Q"&&(D=r+(r-T[0]),k=a+(a-T[1])),r=A.shift()||0,a=A.shift()||0,t.quadraticCurveTo(D,k,r,a);break;case"t":D=r,k=a,c==="Q"&&(D=r+(r-T[0]),k=a+(a-T[1])),r+=A.shift()||0,a+=A.shift()||0,t.quadraticCurveTo(D,k,r,a);break;case"A":V=A.shift()||0,W=A.shift()||0,X=A.shift()||0,$=A.shift()||0,K=A.shift()||0,tt=r,Z=a,r=A.shift()||0,a=A.shift()||0,T=_c(tt,Z,r,a,$,K,V,W,X),t.arc(T[0],T[1],T[2]>T[3]?T[2]:T[3],T[4],T[4]+T[5],!!(T[7]-1));break;case"a":V=A.shift()||0,W=A.shift()||0,X=A.shift()||0,$=A.shift()||0,K=A.shift()||0,tt=r,Z=a,r+=A.shift()||0,a+=A.shift()||0,T=_c(tt,Z,r,a,$,K,V,W,X),t.arc(T[0],T[1],T[2]>T[3]?T[2]:T[3],T[4],T[4]+T[5],!!(T[7]-1)),console.log("arc: ",v,tt,Z,r,a,$,K,V,W,X);break;case"z":t.closePath();break;default:A.shift()}}c=E,(E==="z"||E==="Z")&&t.closePath()}return t}function _c(n,t,e,r,a,u,l,c,f){let d=f*(Math.PI/180),v=Math.cos(d)*(n-e)/2+Math.sin(d)*(t-r)/2,E=-1*Math.sin(d)*(n-e)/2+Math.cos(d)*(t-r)/2,A=v*v/(l*l)+E*E/(c*c);A>1&&(l*=Math.sqrt(A),c*=Math.sqrt(A));let T=Math.sqrt((l*l*(c*c)-l*l*(E*E)-c*c*(v*v))/(l*l*(E*E)+c*c*(v*v)));a===u&&(T*=-1),isNaN(T)&&(T=0);let I=T*l*E/c,S=T*-c*v/l,D=(n+e)/2+Math.cos(d)*I-Math.sin(d)*S,k=(t+r)/2+Math.sin(d)*I+Math.cos(d)*S,V=function(z){return Math.sqrt(z[0]*z[0]+z[1]*z[1])},W=function(z,J){return(z[0]*J[0]+z[1]*J[1])/(V(z)*V(J))},X=function(z,J){return(z[0]*J[1]<z[1]*J[0]?-1:1)*Math.acos(W(z,J))},$=X([1,0],[(v-I)/l,(E-S)/c]),K=[(v-I)/l,(E-S)/c],tt=[(-1*v-I)/l,(-1*E-S)/c],Z=X(K,tt);return W(K,tt)<=-1&&(Z=Math.PI),W(K,tt)>=1&&(Z=0),u===0&&Z>0&&(Z=Z-2*Math.PI),u===1&&Z<0&&(Z=Z+2*Math.PI),[D,k,l,c,$,Z,d,u]}function rm(n){n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0||(n.path=new di,n.path.moveTo(n.x,n.y),n.path.lineTo(n.x+n.width,n.y),n.path.lineTo(n.x+n.width,n.y+n.height),n.path.lineTo(n.x,n.y+n.height),n.path.lineTo(n.x,n.y))}function Cc(n){n.cx===void 0||n.cy===void 0||n.r===void 0||(n.path=new di,n.path.arc(n.cx,n.cy,n.r,0,Math.PI*2,!1))}function nm(n){if(n.points===void 0)return;n.path=new di;const t=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,e=n.points.match(t);if(e)for(let r=0,a=e.length;r<a;r++){const u=e[r].split(","),l=parseFloat(u[0]),c=parseFloat(u[1]);r?n.path.lineTo(l,c):n.path.moveTo(l,c)}}const ca="ae",Sc="-",fa="rm-assets",Dc="rm-labels";function sm(n){return n+Sc+ia.ASSETS}function Nc(n){return n+Sc+ia.LABELS}const am={rm:["su-assets","su-labels","eq-assets","eq-labels","fn-assets","fn-labels"],su:[fa,Dc,"eq-assets","eq-labels","fn-assets","fn-labels"],eq:[fa,Dc,"su-assets","su-labels","fn-assets","fn-labels"]};class um{svg;svgRoot;layers=[];elementsMap={};boundingBoxMap={};boundingBox=new Tt;svgSkeletons=[];data;_exceptTypes=["view"];_exceptIds=["viewer","mirror"];_lvi=0;bindSvg(t){return this.svg=t,this.svgRoot=Th(this.svg),this.layers=this.getLayers(2),this.getElementsMap(this.svg,this.elementsMap),this}getLayers(t){var e;if(!this.svg)throw new Error("please bind svg first");return t===2&&((e=this.layers)!=null&&e.length)?this.layers:(this.layers=this._getSvgLayer(this.svg,t),this.layers)}_getSvgLayer(t,e=0,r=0,a=[]){var c;let u,l=t.id;if(this._exceptTypes.includes(t.tagName)||t.tagName==="defs")return this._lvi--,a;if(e&&this._lvi>e)return a;l&&!this._exceptIds.includes(l)&&(u={id:l,label:l,children:[]},a.push(u)),this._lvi++;for(let f=0,d=t.children.length;f<d;f++)u?this._getSvgLayer(t.children[f],e,this._lvi,u.children):this._getSvgLayer(t.children[f],e,this._lvi,a);return((c=u==null?void 0:u.children)==null?void 0:c.length)===0&&delete u.children,this._lvi=r,a}getElementsMap(t,e={}){return this.traverseSvg(t,r=>{r!==t&&r.id&&(e[r.id]=r)}),e}computeBoundingBoxMap(){return Object.keys(this.boundingBoxMap).length?this.boundingBoxMap:(this.traverseSvg(this.svg,t=>{if(!t.id)return;const e=t.getBoundingClientRect(),r=new Tt(new L(e.left,e.top),new L(e.right,e.bottom));this.boundingBoxMap[t.id]=r,this.boundingBox.expandByBox(r)}),this.boundingBoxMap)}updateLayersVisibility(t,e=!1){if(console.log("updateLayersVisibility: ",t,e,Object.keys(this.elementsMap).length),!this.elementsMap)throw new Error("please bind svg first");this._updateAllLayersVisibility(!e),t!=null&&t.length||(t=["background"]);for(let r=0,a=t.length;r<a;r++){const u=this.getElementById(t[r]);u&&this._updateLayersVisibility(u,e,!0,!0)}}_updateAllLayersVisibility(t=!1){Object.values(this.elementsMap).forEach(e=>{e.tagName==="svg"||e.tagName==="symbol"||!e.getAttribute("id")||(e.style.display=t?"block":"none")})}_updateLayersVisibility(t,e=!1,r=!1,a=!1){var u,l;if(!(!t||t.tagName==="svg"||!t.getAttribute("id"))){if(t.style.display=e?"block":"none",r&&e){let c=t.parentElement;for(;c&&c.tagName!=="svg";)c.style.display=e?"block":"none",c=c.parentElement}if(a&&((u=t.children)==null?void 0:u.length)>0)for(let c=0,f=(l=t.children)==null?void 0:l.length;c<f;c++)this._updateLayersVisibility(t.children[c],e,!1,!0)}}updateVisibilityByAssetType(t,e=!1,r){r||(r=am[t]),this.updateLayersVisibility(r,!e)}updateVisibilityByAssetTypes(t,e=!1,r){if(Array.isArray(t)||(t=[t]),!!(t!=null&&t.length))for(let a=0,u=t.length;a<u;a++)this.updateVisibilityByAssetType(t[a],e,r)}getElementById(t){if(!this.elementsMap)throw new Error("please bind svg first");return this.elementsMap[t]}getElementBoundingBox(t){return this.boundingBoxMap[t]}findSkeletonByPath(t=[]){let e=0,r;const a=Object.keys(this.elementsMap);for(let u=0,l=a.length;u<l;u++){const c=this.elementsMap[a[u]];if(!c)continue;const f=c.getAttribute("d");f&&(f.length<e||(e=f.length,r=c.id?c:c.parent))}return r&&t.push(r),t}setTextInChildren2(t,e){var a;let r;((a=t==null?void 0:t.children)==null?void 0:a.length)<2?(r=bh("text"),r.setAttribute("dy","1em"),t.appendChild(r)):r=t.children[t.children.length-1],r.innerHTML=e}traverseSvg(t,e){var r;if(!this._exceptTypes.includes(t.tagName)&&!(t.tagName!=="svg"&&t.tagName!=="defs"&&!t.id)&&!(t.tagName==="g"&&((r=t.children)==null?void 0:r.length)===0)){this._exceptIds.includes(t.id)||e(t);for(let a=0,u=t.children.length;a<u;a++)this.traverseSvg(t.children[a],e)}}traverseSvgTLayers(t,e){var r;if(Array.isArray(t)){for(let a=0,u=t.length;a<u;a++)this.traverseSvgTLayers(t[a],e);return}if(e(t),!!((r=t.children)!=null&&r.length))for(let a=0,u=t.children.length;a<u;a++)this.traverseSvgTLayers(t.children[a],e)}getLabelElementsByType(t,e={}){const r=this.getElementById(Nc(t));return r&&this.getElementsMap(r,e),e}getLabelElementById(t,e="rm"){if(!t)return;const r=this.getElementById(t);if(!r)return;let a=r.getAttribute("aid");return a||(a="l-"+e+"-"+t),this.getElementById(a)}setLabelsById(t,e,r="rm"){var l,c;const a=this.getLabelElementById(t,r);if(!a)return;const u=((l=a.children)==null?void 0:l.length)||0;for(let f=0,d=((e==null?void 0:e.length)||0)-(u-1);f<d;f++){const v=bh("text");v.setAttribute("x","0"),v.setAttribute("y",u+f+"em"),a.appendChild(v)}for(let f=1,d=(c=a.children)==null?void 0:c.length;f<d;f++)a.children[f].textContent=e&&f<=e.length?e[f-1]:""}clearAssetLabelsByType(t="rm"){var a;const e=this.getLabelElementsByType(t),r=ct.keys(e);for(let u=0,l=r.length;u<l;u++){const c=e[r[u]];for(let f=1,d=((a=c.children)==null?void 0:a.length)||0;f<d;f++)c.children[f].textContent=""}}setElementState2selected(t,e=!1){var a;if(!t)return;if(t.tagName==="use"){const u=this._getSymbolBox(t);if(!u)return;e?(a=t.parentNode)==null||a.insertBefore(u,t):t.parentNode&&t.parentNode.contains(u)&&t.parentNode.removeChild(u);return}let r=t.getAttribute("class");r||(r=""),e?r="selected":r=ct.replace(r,"selected","").trim(),t.setAttribute("class",r)}_getSymbolBox(t){var f;if(!t)return;const e=(f=t.getAttribute("xlink:href"))==null?void 0:f.substring(1);if(!e)return;const r=t.id+"-boundingBox";let a=this.getElementById(r);if(a)return a;let u=this.getElementById(e);if(!u)return;const l=this.getElementBoundingBox(t.id);if(!l||l.isEmpty())return;a=document.createElementNS("http://www.w3.org/2000/svg","rect"),a.setAttribute("id",r),a.setAttribute("class","selected"),a.setAttribute("x",l.min.x.toString()),a.setAttribute("y",l.min.y.toString());const c=new L;return l.getSize(c),a.setAttribute("width",c.x.toString()),a.setAttribute("height",c.y.toString()),u.getAttribute("transform")&&a.setAttribute("transform",u.getAttribute("transform")||""),u.getAttribute("style")&&a.setAttribute("style",u.getAttribute("style")||""),this.elementsMap[a.id]=a,a}fontZoom(t,e=1){const r=this.getElementById(t);if(!r)return;let a=r.getAttribute("font-size");a||(a="12");const u=/(\d+)([a-zA-Z%]+)/.exec(a),l=u&&(u==null?void 0:u.length)>2?u[2]:"";let c=Math.round(parseFloat(a)*e*100)/100;r.setAttribute("font-size",c+l)}}class om{name="SvgPainter";params;chef;constructor(t={},e){this.params=t,this.chef=e}drawSocialDistanceCircles(t,e="http://www.w3.org/2000/svg"){var T,I,S;if(!t)return;const r=Vd(t),a=wh(t),u=2*r,l=(I=(T=this.params.socialDistance)==null?void 0:T.colors)!=null&&I.length?(S=this.params.socialDistance)==null?void 0:S.colors:[oe.green,oe.red],c=this.getRadius(a),f=t.querySelector(`#${fa}`),d=f==null?void 0:f.querySelectorAll("path");if(!f||!(d!=null&&d.length))return;let v,E;const A=new Array;for(let D=0,k=(d==null?void 0:d.length)||0;D<k;D++){if(v=d[D],E=v.getAttribute("id"),!E)continue;const V=this.chef.getElementBoundingBox(E);if(!V)continue;const W=new L;V.getCenter(W),A.push({id:E,cp:W})}for(let D=0,k=A.length;D<k;D++){A[D].color=l[0];for(let V=0,W=k;V<W;V++)A[D]!==A[V]&&L.getDistance(A[D].cp,A[V].cp)<c*2&&(A[D].color=l[1])}for(let D=0,k=A.length;D<k;D++){let V=this.createCircle(A[D],c,u,e);f.appendChild(V)}}clearSocialDistanceCircles(t){if(!t)return;const e=t.querySelector(`#${fa}`),r=e==null?void 0:e.querySelectorAll("circle");if(!(!e||!(r!=null&&r.length)))for(let a=0,u=(r==null?void 0:r.length)||0;a<u;a++){const l=r[a].getAttribute("id");l&&(l==null?void 0:l.indexOf("_circle"))>-1&&e.removeChild(r[a])}}getRadius(t){var r,a,u;let e=((a=(r=this.params)==null?void 0:r.socialDistance)==null?void 0:a.radius)||3;return((u=this.params)==null?void 0:u.displayUnits)==="imperial"?t==="Metres"||t==="m"?e/=3.28084:t==="cm"?e=e/3.28084*100:t==="mm"?e=e/3.28084*1e3:(t==="INCH"||t==="inches")&&(e*=12):t==="INCH"||t==="inches"?e=e*3.28084*12:t==="cm"?e*=100:t==="mm"&&(e*=1e3),e}createCircle(t,e,r,a){const u=document.createElementNS(a,"circle");return u.setAttributeNS(null,"id",t.id+"_circle"),u.setAttributeNS(null,"cx",t.cp.x),u.setAttributeNS(null,"cy",t.cp.y),u.setAttributeNS(null,"r",String(e)),u.setAttributeNS(null,"style",`pointer-events:none;fill-opacity:0.1;stroke:${t.color};stroke-width:${r}px;`),u}}class Mc extends h0{isSvgScene=!0;name="SvgScene";dynamically=!0;params;socialDistanceEnable=!1;container;svg;svgStr="";svgRoot;viewBox=new Tt;chef;defaultLayers=[];skeletonLayers=[];currentLayers=[];assetType;assetElementsMap={};legend=[];selectedList=[];painter;clickSvgElementHandler=this.handleClickSvgElement.bind(this);constructor(t={}){super(),this.params=t,this.assetType=t.assetType||"rm",this.params.socialDistanceEnable&&(this.socialDistanceEnable=!0),this.container=this.params.containerId?document.getElementById(this.params.containerId):gt.window.document.getElementsByTagName("body")[0],this.chef=new um,this.painter=new om(t,this.chef)}get isMounted(){var t;return((t=this.container.querySelectorAll("svg"))==null?void 0:t.length)>0}destroy(){var t;super.destroy(),this.unmount(),(t=this.camera)==null||t.destroy()}mount(){this.svg&&(this.container.contains(this.svg)||this.container.appendChild(this.svg),this.chef.computeBoundingBoxMap())}unmount(){this.svg&&this.svg.parentNode&&this.container.contains(this.svg)&&this.container.removeChild(this.svg)}computeBoundingBox(){return this.boundingBox.makeEmpty(),!this.chef||!this.svg?this.boundingBox:(this.chef.computeBoundingBoxMap(),this.boundingBox.copy(this.chef.boundingBox),console.warn("svgScene.computeBoundingBox: ",this.chef.boundingBox.toString()),this.boundingBox)}async load(t){return new ju().loadAsync(t)}bind(t){if(this.svgStr=t,this.svg=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,console.warn("bind: ",this.name),!this.svg)throw new Error("svg load failed");let e=this.svg.getAttribute("viewBox");e&&(t0(e,this.viewBox),this.chef.bindSvg(this.svg),this.svgRoot=Th(this.svg),this.svg.setAttribute("viewBox",`0 0 ${this.params.width} ${this.params.height}`),this.svg.setAttribute("style","transform: translateZ(0);"),this.appendStyleSelected(),console.log(this.name,"viewBox -> ",e,this.viewBox.toString()),this.setAssetElementsMap(this.assetType,this.assetElementsMap))}appendStyleSelected(){var r;let t=(r=this.svg)==null?void 0:r.querySelector("style");if(!t)return;let e=document.createTextNode(`.selected { stroke: ${this.params.selectedStroke}; fill: ${this.params.selectedFill}; }`);t.appendChild(e)}getLayers(t=2){return this.svg?this.chef.getLayers(t):[]}setDefaultLayers(t){t!=null&&t.length&&(this.defaultLayers=t)}setSkeletonLayers(t){t!=null&&t.length&&(this.skeletonLayers=t)}setCurrentLayers(t){t!=null&&t.length&&(this.currentLayers=t)}showDefaultLayers(t,e=!1){this.setDefaultLayers(t),this.chef.updateLayersVisibility(t,e)}updateLayersVisibility(t,e=!1){this.chef.updateLayersVisibility(t,e)}setAssetType(t,e){this.assetElementsMap={},this.assetType=t,this.setAssetElementsMap(this.assetType,this.assetElementsMap),this.updateLayersVisibility(this.defaultLayers,!0),this.chef.updateVisibilityByAssetTypes(t,!0,e)}isCurrentAssetType(t){return this.assetElementsMap.hasOwnProperty(t)}setAssetElementsMap(t,e={}){const r=sm(t),a=this.chef.getElementById(r);return a&&this.chef.getElementsMap(a,e),e}getAssetIdsByType(t){if(t===this.assetType&&this.assetElementsMap)return ct.keys(this.assetElementsMap);const e=this.setAssetElementsMap(t);return ct.keys(e)}clearFillOrStroke(t="fill"){const e=ct.keys(this.assetElementsMap);let r;for(let a=0,u=e.length;a<u;a++)r=this.assetElementsMap[e[a]],!(!r||!r.hasAttribute(t))&&(r.removeAttribute(t),t==="stroke"&&r.removeAttribute("stroke-width"));this.clearLegendBy(t)}clearFillOrStrokeByIds(t,e="fill"){const r=ct.keys(this.assetElementsMap);let a;for(let u=0,l=r.length;u<l;u++)t!=null&&t.length&&!t.includes(r[u])||(a=this.assetElementsMap[r[u]],!(!a||!a.hasAttribute(e))&&(a.removeAttribute(e),e==="stroke"&&a.removeAttribute("stroke-width")));this.clearLegendBy(e)}setFillOrStrokeByIds(t,e,r="fill"){if(!this.assetElementsMap)return;const a=ct.keys(this.assetElementsMap);let u;for(let l=0,c=a.length;l<c;l++)t.includes(a[l])&&(u=this.assetElementsMap[a[l]],u&&(u.setAttribute(r,e),r==="stroke"&&u.setAttribute("stroke-width","7"),this.addLegend(r,e,a[l])))}addLegend(t,e,r){let a=this.legend.find(u=>u.color===e);a||(a={type:t,color:e,ids:[]},this.legend.push(a)),a.ids.push(r)}clearLegendBy(t){var e;t||(this.legend.length=0);for(let r=((e=this.legend)==null?void 0:e.length)-1;r>=0;r--)this.legend[r].type===t&&this.legend.splice(r,r)}getLegend(){return this.legend}showSkeleton(){var t;(t=this.skeletonLayers)!=null&&t.length&&(this.chef.updateLayersVisibility(this.defaultLayers,!1),this.chef.updateLayersVisibility(this.skeletonLayers,!0))}hideSkeleton(){var t;(t=this.skeletonLayers)!=null&&t.length&&(this.chef.updateLayersVisibility(this.skeletonLayers,!1),this.chef.updateLayersVisibility(this.defaultLayers,!0))}setAssetLabels(t,e){this.chef.setLabelsById(t,e,this.assetType)}getAssetLabelsMap(t,e={}){if(!t)return e;let r=this.chef.getElementById(Nc(t));return r||(r=this.chef.getElementById(t+"txt-label")),r&&this.chef.getElementsMap(r,e),e}clearAssetLabels(){this.chef.clearAssetLabelsByType(this.assetType)}bindAssetsEvents(t){var a;const e=(a=this.svg)==null?void 0:a.querySelector("#"+t);if(!e)return;e.querySelectorAll("[id]").forEach(u=>{u instanceof SVGElement&&u.addEventListener("click",this.clickSvgElementHandler)})}handleClickSvgElement(t){var e;typeof t.preventDefault=="function"&&t.preventDefault(),console.warn("svgScene.handleClickSvgElement: ",(e=t==null?void 0:t.target)==null?void 0:e.id,t==null?void 0:t.target),this.dispatchEvent({type:"click",data:t})}socialDistanceEnableChanged(t){this.socialDistanceEnable=!!t,t?this.painter.drawSocialDistanceCircles(this.svg):this.painter.clearSocialDistanceCircles(this.svg)}clearSelected(){var t,e;if((t=this.selectedList)!=null&&t.length)for(let r=((e=this.selectedList)==null?void 0:e.length)-1;r>=0;r--){let a=this.selectedList[r];this.selectedList.splice(r,1),this.chef.setElementState2selected(a,!1)}}clearSelectedById(t){var r,a;let e=(r=this.selectedList)==null?void 0:r.findIndex(u=>u.getAttribute("id")===t);e>-1&&(this.chef.setElementState2selected(this.selectedList[e],!1),(a=this.selectedList)==null||a.splice(e,1))}selectByIds(t,e=!1){Array.isArray(t)||(t=[t]),e||this.clearSelected();const r=ct.uniq(ct.map(this.selectedList,a=>a.getAttribute("id")||""));for(let a=t.length-1;a>=0;a--)r.includes(t[a])?(this.clearSelectedById(t[a]),t.splice(a,1)):Object.hasOwnProperty.bind(this,t[a])&&this.selectedList.push(this.assetElementsMap[t[a]]);this.selectedList.forEach(a=>{this.chef.setElementState2selected(a,!0)})}getSelectedBoundingBox(){var e;const t=new Tt;return(e=this.selectedList)!=null&&e.length?(this.selectedList.forEach(r=>{const a=this.chef.boundingBoxMap[r.id];a&&t.expandByBox(a)}),t):t.copy(this.boundingBox)}getElementsByBox(t){const e=[],r=Object.keys(this.chef.boundingBoxMap);for(let a=0,u=r.length;a<u;a++)if(this.assetElementsMap.hasOwnProperty(r[a])&&!(r[a].indexOf("-assets")>-1)&&t.intersectsBox(this.chef.boundingBoxMap[r[a]])){const l=this.assetElementsMap[r[a]];l&&e.push(l)}return e}onBeforeRender(){}fullscreen(t=1e3,e=!1){}update(){}}class lm extends Mc{name="SvgLoadingScene";constructor(t){super(t),this.bind(`<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100">
|
|
38
|
+
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}ji.prototype.build=function(n){return this.options.preserveOrder?Eg(n,this.options):(Array.isArray(n)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(n={[this.options.arrayNodeName]:n}),this.j2x(n,0).val)},ji.prototype.j2x=function(n,t){let e="",r="";for(let a in n)if(Object.prototype.hasOwnProperty.call(n,a))if(typeof n[a]>"u")this.isAttribute(a)&&(r+="");else if(n[a]===null)this.isAttribute(a)?r+="":a[0]==="?"?r+=this.indentate(t)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+a+"/"+this.tagEndChar;else if(n[a]instanceof Date)r+=this.buildTextValNode(n[a],a,"",t);else if(typeof n[a]!="object"){const u=this.isAttribute(a);if(u)e+=this.buildAttrPairStr(u,""+n[a]);else if(a===this.options.textNodeName){let l=this.options.tagValueProcessor(a,""+n[a]);r+=this.replaceEntitiesValue(l)}else r+=this.buildTextValNode(n[a],a,"",t)}else if(Array.isArray(n[a])){const u=n[a].length;let l="",c="";for(let f=0;f<u;f++){const d=n[a][f];if(!(typeof d>"u"))if(d===null)a[0]==="?"?r+=this.indentate(t)+"<"+a+"?"+this.tagEndChar:r+=this.indentate(t)+"<"+a+"/"+this.tagEndChar;else if(typeof d=="object")if(this.options.oneListGroup){const v=this.j2x(d,t+1);l+=v.val,this.options.attributesGroupName&&d.hasOwnProperty(this.options.attributesGroupName)&&(c+=v.attrStr)}else l+=this.processTextOrObjNode(d,a,t);else if(this.options.oneListGroup){let v=this.options.tagValueProcessor(a,d);v=this.replaceEntitiesValue(v),l+=v}else l+=this.buildTextValNode(d,a,"",t)}this.options.oneListGroup&&(l=this.buildObjectNode(l,a,c,t)),r+=l}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const u=Object.keys(n[a]),l=u.length;for(let c=0;c<l;c++)e+=this.buildAttrPairStr(u[c],""+n[a][u[c]])}else r+=this.processTextOrObjNode(n[a],a,t);return{attrStr:e,val:r}},ji.prototype.buildAttrPairStr=function(n,t){return t=this.options.attributeValueProcessor(n,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+n:" "+n+'="'+t+'"'};function bg(n,t,e){const r=this.j2x(n,e+1);return n[this.options.textNodeName]!==void 0&&Object.keys(n).length===1?this.buildTextValNode(n[this.options.textNodeName],t,r.attrStr,e):this.buildObjectNode(r.val,t,r.attrStr,e)}ji.prototype.buildObjectNode=function(n,t,e,r){if(n==="")return t[0]==="?"?this.indentate(r)+"<"+t+e+"?"+this.tagEndChar:this.indentate(r)+"<"+t+e+this.closeTag(t)+this.tagEndChar;{let a="</"+t+this.tagEndChar,u="";return t[0]==="?"&&(u="?",a=""),(e||e==="")&&n.indexOf("<")===-1?this.indentate(r)+"<"+t+e+u+">"+n+a:this.options.commentPropName!==!1&&t===this.options.commentPropName&&u.length===0?this.indentate(r)+`<!--${n}-->`+this.newLine:this.indentate(r)+"<"+t+e+u+this.tagEndChar+n+this.indentate(r)+a}},ji.prototype.closeTag=function(n){let t="";return this.options.unpairedTags.indexOf(n)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${n}`,t},ji.prototype.buildTextValNode=function(n,t,e,r){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${n}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(r)+`<!--${n}-->`+this.newLine;if(t[0]==="?")return this.indentate(r)+"<"+t+e+"?"+this.tagEndChar;{let a=this.options.tagValueProcessor(t,n);return a=this.replaceEntitiesValue(a),a===""?this.indentate(r)+"<"+t+e+this.closeTag(t)+this.tagEndChar:this.indentate(r)+"<"+t+e+">"+a+"</"+t+this.tagEndChar}},ji.prototype.replaceEntitiesValue=function(n){if(n&&n.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const e=this.options.entities[t];n=n.replace(e.regex,e.val)}return n};function wg(n){return this.options.indentBy.repeat(n)}function Tg(n){return n.startsWith(this.options.attributeNamePrefix)&&n!==this.options.textNodeName?n.substr(this.attrPrefixLen):!1}var _g=ji,Wh={XMLParser:dg,XMLValidator:Ru,XMLBuilder:_g};class di extends gt.window.Path2D{vertices=[];commands=[];constructor(t){return super(t),this}destroy(){this.vertices.length=0}getVertices2(){return this.vertices}setVertices2(t){if(!t||!t.length)return this;const e=t.length;for(let r=0;r<e;r++)r?this.lineTo(t[r].x,t[r].y):this.moveTo(t[r].x,t[r].y);return L.equals(t[0],t[e-1])||this.lineTo(t[0].x,t[0].y),this}clone(){const t=this.constructor;return new t(this).copy(this)}copy(t){return this.vertices=ht.cloneDeep(t.vertices),this.commands=ht.cloneDeep(t.commands),this}rebuild(t){if(!this.commands||!this.commands.length)return this;this.vertices.length=0;const e=this.commands;this.commands=[];let r;for(let a=0,u=e.length;a<u;a++)switch(r=e[a],r.cmd){case"arc":this.arc(r.x,r.y,r.r,r.start,r.end,r.ccw);break;case"arcTo":this.arcTo(r.x1,r.y1,r.x2,r.y2,r.r);break;case"bezierCurveTo":this.bezierCurveTo(r.cp1x,r.cp1y,r.cp2x,r.cp2y,r.x,r.y);break;case"closePath":this.closePath();break;case"ellipse":this.ellipse(r.x,r.y,r.rx,r.ry,r.angle,r.start,r.end,r.ccw);break;case"lineTo":this.lineTo(r.x,r.y);break;case"moveTo":this.moveTo(r.x,r.y);break;case"quadraticCurveTo":this.quadraticCurveTo(r.cpx,r.cpy,r.x,r.y);break;case"rect":this.rect(r.x,r.y,r.width,r.height);break;case"roundRect":this.roundRect(r.x,r.y,r.width,r.height,r.radii);break;default:console.error(`unsupported type '${r.cmd}'`);break}return this}addPath(t){return super.addPath(t),typeof t.getVertices2=="function"&&(this.vertices=this.vertices.concat(t.getVertices2())),this}arc(t,e,r,a,u,l){super.arc(t,e,r,a,u,l);const c=[{x:t-r,y:e-r},{x:t-r,y:e+r},{x:t+r,y:e+r},{x:t+r,y:e-r}];return this.commands.push({cmd:"arc",x:t,y:e,start:a,end:u,ccw:l,points:c}),this}arcTo(t,e,r,a,u){super.arcTo(t,e,r,a,u);const l=[{x:t,y:e},{x:r,y:a}];return this.commands.push({cmd:"arcTo",x1:t,y1:e,x2:r,y2:a,r:u,points:l}),this.vertices.push(...l),this}bezierCurveTo(t,e,r,a,u,l){super.bezierCurveTo(t,e,r,a,u,l);const c=[{x:t,y:e},{x:r,y:a},{x:u,y:l}];return this.commands.push({cmd:"bezierCurveTo",cp1x:t,cp1y:e,cp2x:r,cp2y:a,x:u,y:l,points:c}),this.vertices.push(...c),this}closePath(){return super.closePath(),this.commands.push({cmd:"closePath"}),this}ellipse(t,e,r,a,u,l,c,f){super.ellipse(t,e,r,a,u,l,c,f);const d=Math.max(r,a),v=[{x:t-d,y:e-d},{x:t+d,y:e+d}];return this.commands.push({cmd:"ellipse",x:t,y:e,rx:r,ry:a,angle:u,start:l,end:c,ccw:f,points:v}),this.vertices.push(...v),this}lineTo(t,e){super.lineTo(t,e);const r=[{x:t,y:e}];return this.commands.push({cmd:"lineTo",x:t,y:e,points:r}),this.vertices.push(...r),this}moveTo(t,e){super.moveTo(t,e);const r=[{x:t,y:e}];return this.commands.push({cmd:"moveTo",x:t,y:e,points:r}),this.vertices.push(...r),this}quadraticCurveTo(t,e,r,a){super.quadraticCurveTo(t,e,r,a);const u=[{x:t,y:e},{x:r,y:a}];return this.commands.push({cmd:"quadraticCurveTo",cpx:t,cpy:e,x:r,y:a,points:u}),this.vertices.push(...u),this}rect(t,e,r,a){super.rect(t,e,r,a);const u=[{x:t,y:e},{x:t+r,y:e},{x:t+r,y:e+a},{x:t,y:e+a}];return this.commands.push({cmd:"rect",x:t,y:e,width:r,height:a,points:u}),this.vertices.push(...u),this}roundRect(t,e,r,a,u){super.roundRect(t,e,r,a,u);const l=[{x:t,y:e},{x:t+r,y:e+a}];return this.commands.push({cmd:"roundRect",x:t,y:e,width:r,height:a,radii:u,points:l}),this.vertices.push(...l),this}}class Hu extends aa{type="Group2";isGroup=!0;version=0;versions=[];params;alignCenter=!1;dynamically=!1;usedCache=!1;wireframe=!1;showPoints=!1;constructor(t={}){t.name===void 0&&(t.name="Group2"),super(t),this.params=t,t.usedCache!==void 0&&(this.usedCache=t.usedCache),t.wireframe!==void 0&&(this.wireframe=t.wireframe),t.showPoints!==void 0&&(this.showPoints=t.showPoints),t.alignCenter!==void 0&&(this.alignCenter=t.alignCenter),t.dynamically!==void 0&&(this.dynamically=t.dynamically)}destroy(){super.destroy(),this.boundingBox.makeEmpty()}clone(t=!0){const e=this.constructor;return new e(this.params).copy(this,t)}copy(t,e=!0){return super.copy(t,e),this.params=t.params,this.alignCenter=t.alignCenter,this.dynamically=t.dynamically,this.usedCache=t.usedCache,this.wireframe=t.wireframe,this.showPoints=t.showPoints,this}composeWireframeGeometryPath(t){return this.traverse(e=>{!e.isShape||!e.geometry||!e.geometry.path||t.addPath(e.geometry.path)}),t}set needsUpdate(t){t&&this.version++,this.dispatchEvent({type:"needsUpdateChanged"})}generateFeaturesKey(){return this.featureKey=this.name+this.version,this.featureKey}render(t){if(!(!this.visible||!this.composeNode))for(let e=0,r=this.children.length;e<r;e++)this.children[e].render(t)}}var es={};const Cg="bold|bolder|lighter|[1-9]00",Sg="italic|oblique",Dg="small-caps",Ng="ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",Og="px|pt|pc|in|cm|mm|%|em|ex|ch|rem|q",Vh=`'([^']+)'|"([^"]+)"|[\\w\\s-]+`,Mg=new RegExp(`(${Cg}) +`,"i"),Bg=new RegExp(`(${Sg}) +`,"i"),Ig=new RegExp(`(${Dg}) +`,"i"),Pg=new RegExp(`(${Ng}) +`,"i"),Lg=new RegExp(`([\\d\\.]+)(${Og}) *((?:${Vh})( *, *(?:${Vh}))*)`),Wu={},Rg=16;var Fg=n=>{if(Wu[n])return Wu[n];const t=Lg.exec(n);if(!t)return;const e={weight:"normal",style:"normal",stretch:"normal",variant:"normal",size:parseFloat(t[1]),unit:t[2],family:t[3].replace(/["']/g,"").replace(/ *, */g,",")};let r,a,u,l;const c=n.substring(0,t.index);switch((r=Mg.exec(c))&&(e.weight=r[1]),(a=Bg.exec(c))&&(e.style=a[1]),(u=Ig.exec(c))&&(e.variant=u[1]),(l=Pg.exec(c))&&(e.stretch=l[1]),e.unit){case"pt":e.size/=.75;break;case"pc":e.size*=16;break;case"in":e.size*=96;break;case"cm":e.size*=96/2.54;break;case"mm":e.size*=96/25.4;break;case"%":break;case"em":case"rem":e.size*=Rg/.75;break;case"q":e.size*=96/25.4/4;break}return Wu[n]=e};const Ug=Fg;es.parseFont=Ug,es.createCanvas=function(n,t){return Object.assign(document.createElement("canvas"),{width:n,height:t})},es.createImageData=function(n,t,e){switch(arguments.length){case 0:return new ImageData;case 1:return new ImageData(n);case 2:return new ImageData(n,t);default:return new ImageData(n,t,e)}},es.loadImage=function(n,t){return new Promise(function(e,r){const a=Object.assign(document.createElement("img"),t);function u(){a.onload=null,a.onerror=null}a.onload=function(){u(),e(a)},a.onerror=function(){u(),r(new Error('Failed to load the image "'+n+'"'))},a.src=n})};class Oi{static cached=new Map;static cachedCanvas=new Map;static destroy(){this.cached.clear(),this.cachedCanvas.clear()}static createCanvas(t){var a;if(!((a=gt.window)!=null&&a.document))throw new Error("environment not support");let e;t.containerId&&(e=gt.window.document.getElementById(t.containerId)),e||(e=gt.window.document.getElementsByTagName("body")[0]);let r;if(t.canvasId&&(r=gt.window.document.getElementById(t.canvasId)||void 0),t.width||(t.width=e==null?void 0:e.offsetWidth),t.height||(t.height=e==null?void 0:e.offsetHeight),t.dpr||(t.dpr=gt.dpr),r)this.resizeCanvas(r,t.width,t.height,t.dpr);else{if(r=this.createHtmlCanvas(t.width,t.height,t.dpr),!r)throw new Error("error environment");t.canvasId&&r.setAttribute("id",t.canvasId),e==null||e.appendChild(r)}return r.style.background=t.background||"transparent",r}static getContext2D(t,e={}){const r={alpha:!0,willReadFrequently:!!e.willReadFrequently},a=t.getContext("2d",r);if(!a)throw new Error("getContext2D error");return a.scale(e.dpr||1,e.dpr||1),a}static createNodeCanvas(t,e){var a;let r;return(a=gt.window)!=null&&a.document?r=gt.window.document.createElement("canvas"):r=new es.Canvas(t,e),this.resizeCanvas(r,t,e,gt.window.devicePixelRatio),r.uuid=Mu(),r}static resizeCanvas(t,e,r,a=1){t instanceof OffscreenCanvas?(t.width=e,t.height=r):t instanceof HTMLCanvasElement?(t.setAttribute("width",(e*a).toString()),t.setAttribute("height",(r*a).toString()),t.style.width=e+"px",t.style.height=r+"px",t.style.padding="0",t.style.margin="0",t.style.border="0",t.style.imageRendering="pixelated",t.style.transform="translateZ(0)"):(t.width=e,t.height=r)}static async getImageBitmapByCanvasAsync(t){if(t)return t instanceof OffscreenCanvas?t.transferToImageBitmap():t instanceof HTMLCanvasElement?await createImageBitmap(t):void 0}static get(t,e,r,a=1){let u=this.cached.get(t);return u||(u=this.create(e,r,a),this.set(t,u)),this.resizeCanvas(u,e,r,a),u}static set(t,e){if(!t||!e)throw new Error("error input");return this.cached.set(t,e)}static remove(t){this.cached.has(t)&&this.cached.delete(t)}static create(t,e,r=1){var a;if((a=gt.window)!=null&&a.OffscreenCanvas)return new OffscreenCanvas(t,e);throw new Error("environment does not support")}static createHtmlCanvas(t,e,r=1){if(!gt.window.document)throw new Error("environment does not support");const a=gt.window.document.createElement("canvas");return this.resizeCanvas(a,t,e,r),a}static measureText(t,e,r=new L){if(!t)throw new Error("input error");const u=this.get("measureText",1,1).getContext("2d");if(!u)throw new Error("bufferCtx not found");e.render(u);const l=u.measureText(t);if(!l)throw new Error("measureText error");const c=l.actualBoundingBoxRight+l.actualBoundingBoxLeft,f=l.actualBoundingBoxAscent+l.actualBoundingBoxDescent;return r.set(c,f),r}}function zh(n){return!!(n&&n.constructor&&n.call&&n.apply)}const kg="children",qg="get",Hg="set",Vu="Changed";class zu extends Er{name="Node2";userData={};_cache=new Map;_attachedDepsListeners=new Map;constructor(t){super(),this.setAttrs(t)}destroy(){super.destroy(),this._clearCache()}setAttrs(t){if(!t)return this;let e;for(const r in t)r!==kg&&(e=Hg+r,zh(this[e])?this[e](t[r]):this.setAttr(r,t[r]));return this}setAttr(t,e){Object.hasOwnProperty.call(this,t)&&(this.userData[t]=e,this[t]=e)}getAttrs(){return this.userData||{}}getAttr(t){const e=qg+ht.capitalize(t);return zh(this[e])?this[e]():this.userData[t]}getAttrKey(){return Object.values(this.userData).filter(t=>!(t instanceof Array||t instanceof Object)).join("_")}_getCache(t,e){let r=this._cache.get(t);return(r===void 0||r.dirty===!0)&&(r=e.call(this),this._cache.set(t,r)),r}_clearCache(t){t===void 0?this._cache.clear():this._cache.has(t)&&this._cache.get(t).isMatrix3?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_setProperty(t){Object.hasOwnProperty.call(this,t)&&delete this[t],Object.defineProperty(this,t,{get(){return this.userData[t]},set(e){const r=this.userData[t];this.userData[t]=e,r!==e&&this.dispatchEvent({type:t+Vu,data:{oldVal:r,newVal:e}})},enumerable:!0,configurable:!0})}computed(t,e,r){if(!this._attachedDepsListeners.get(t)){const a=e.map(u=>u+Vu).join(",");this.addEventListeners(a,()=>this._clearCache(t)),e.forEach(u=>this._setProperty(u)),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}watch(t,e){(t||[]).forEach(r=>{this._setProperty(r),this.addEventListener(r+Vu,e)})}}const Qe=new L;class Wg extends zu{isTexture=!0;isRenderTargetTexture=!1;type="Texture";name="Texture";uuid=Mu();originSize=new L;originCenter=new L;size=new L;matrix=new Nt;matrixAutoUpdate=!0;userData={};version=0;_needsUpdate=!1;image;offset=new L;repeat=new L(1,1);center=new L;rotate=0;scale=1;flipY=!0;constructor(t={}){super(t),this.setAttrs(t)}destroy(){super.destroy()}set needsUpdate(t){t&&(this.version++,this._needsUpdate=!0)}get needsUpdate(){return this._needsUpdate}updateSize(t,e,r,a){return this.originSize.copy(t),this.originCenter.copy(e),this.updateFinalSize(r,a)}updateFinalSize(t,e){t&&!L.isZero(t)&&!L.isEmpty(t)?Qe.copy(t):Qe.copy(this.originSize),Qe.maxXY(1,1);const r=Math.sqrt(Qe.x*Qe.x+Qe.y*Qe.y)/Math.sqrt(e.x*e.x+e.y*e.y);return r>1&&Qe.multiplyScalar(1/r),this.scale=Qe.length()/this.originSize.length(),this.repeat.multiplyScalar(this.originSize.length()/Qe.length()),this.size.copy(Qe),this.offset.copy(this.originSize).multiplyScalar(-.5).add(this.originCenter),this.updateMatrix(),this}reset(t,e){t&&this.originSize.copy(t),e&&this.size.copy(e),this.scale=this.size.x/this.originSize.x,this.repeat.set(1,1),this.center.set(0,0),this.rotate=0,this.offset.copy(this.originSize).multiplyScalar(.5).sub(this.originCenter).multiplyScalar(this.scale),this.updateMatrix()}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotate,this.center.x,this.center.y)}clone(){const t=this.constructor;return new t(this.attrs).copy(this)}copy(t){return this.name=t.name,this.originSize.copy(t.originSize),this.originCenter.copy(t.originCenter),this.size.copy(t.size),this.matrix.copy(t.matrix),this.matrixAutoUpdate=t.matrixAutoUpdate,this.userData=JSON.parse(JSON.stringify(t.userData)),this.image=t.image,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotate=t.rotate,this.scale=t.scale,this.flipY=t.flipY,this}}const $h=new L(10,10),is=new L,rs=new L,Mi=new L,Tr=new L,oa=new L,ns=new L,gi=new L,Bi=new L,la=new bt;class Ii{static cached=new Map;static precisionOptimized=!0;static precisionOptimizeLevels=[.5,.25,1e-4];static initialized=!1;static textureMaxSize=new L;static destroy(){Object.values(this.cached).forEach(t=>{t.destroy()}),this.cached=new Map}static has(t){return this.cached.has(t)}static get(t,e){if(t)return!this.precisionOptimized||!e?this.cached.get(t):e&&e<this.precisionOptimizeLevels[2]?this.get(t+"_3"):e&&e<this.precisionOptimizeLevels[1]?this.get(t+"_2"):e&&e<this.precisionOptimizeLevels[0]?this.get(t+"_1"):this.get(t)}static set(t,e){if(!t||!e)throw new Error("error input");return this.cached.set(t,e),e}static remove(t){if(!t||!this.cached.has(t))return;const e=this.cached.get(t);if(e&&e.destroy(),this.cached.delete(t),this.precisionOptimized)for(let r=1,a=this.precisionOptimizeLevels.length;r<=a;r++){const u=t+"_"+r;let l;this.cached.has(u)&&(l=this.cached.get(u),l&&l.destroy(),this.cached.delete(u))}}static clear(){this.destroy()}static setTextureMaxSize(){this.initialized||(this.textureMaxSize.set(gt.config.width,gt.config.height).multiplyScalar(.5).round(),this.initialized=!0)}static getTextureMaxSize(){return this.initialized||this.setTextureMaxSize(),this.textureMaxSize}static getTextureByShape(t,e,r,a){var l;const u=new Wg;if(this.setTextureMaxSize(),u.scale=1,u.repeat.set(1,1),u.rotate=0,u.image=void 0,u.version=0,e&&!L.isZero(e)&&!L.isEmpty(e))is.copy(e),t.alignCenter?rs.copy(t.centerPoint):rs.set(0,0);else{if(t.isShape&&((l=t.geometry)!=null&&l.boundingBox))la.copy(t.geometry.boundingBox);else if(t.isGroup&&t.boundingBox)la.copy(t.boundingBox);else throw new Error("get boundingBox error");la.getSize(is),t.alignCenter?rs.copy(t.centerPoint):la.getCenter(rs)}return r&&!L.isZero(r)&&!L.isEmpty(r)?Mi.copy(r):Mi.copy(is),(Mi.x<$h.x||Mi.y<$h.y)&&Mi.normalize().multiplyScalar(10).round(),gi.copy(this.getTextureMaxSize()),a&&(ns.set((a==null?void 0:a.shadowBlur)||0,(a==null?void 0:a.shadowBlur)||0),Mi.add(ns.clone().multiplyScalar(2)),is.multiplyScalar(3),gi.multiplyScalar(.3)),u.updateSize(is,rs,Mi,gi),u}static setPrecisionOptimizeTextures(t,e,r,a,u){if(!this.precisionOptimized)return;let l;for(let c=0,f=this.precisionOptimizeLevels.length;c<f;c++){gi.copy(r.size).multiplyScalar(this.precisionOptimizeLevels[c]);const d=this.getTextureByShape(e,a,gi,u);this.renderShapeTexture(e,d,u),l=t+"_"+(c+1),d.userData.textureKey=l,Ii.set(l,d)}}static renderShapeTexture(t,e,r){r?(ns.set(r.shadowBlur||0,r.shadowBlur||0),Tr.copy(e.originSize).multiplyScalar(-.5).sub(e.originCenter).multiplyScalar(e.scale),t.alignCenter?oa.copy(e.originSize).multiplyScalar(e.scale):oa.copy(e.originSize).add(ns.clone().multiplyScalar(1)).multiplyScalar(e.scale)):Tr.copy(e.offset).negate().multiplyScalar(e.scale);const a=Oi.create(e.size.x,e.size.y),u=Oi.getContext2D(a,{alpha:!0});u.clearRect(0,0,a.width,a.height),u.translate(Tr.x,Tr.y),u.scale(e.scale,e.scale),r&&(u.shadowColor=oe.black,u.shadowOffsetX=oa.x,u.shadowOffsetY=oa.y,u.shadowBlur=ns.x),t.render(u),e.image=a}static setByShape(t,e,r,a){const u=this.getTextureByShape(e,r,a);return u.userData.textureKey=t,this.renderShapeTexture(e,u),Ii.set(t,u),this.setPrecisionOptimizeTextures(t,e,u,r),u}static setShadowByShape(t,e,r){const a=this.getTextureByShape(e,void 0,void 0,r);return a.userData.textureKey=t,this.renderShapeTexture(e,a,r),Ii.set(t,a),a}static setPointsByShape(t,e){var d,v,E,A,T;const r=[];e.isGroup?e.traverse(I=>I.isShape?r.push(...I.geometry.points):void 0):e.isShape&&e.geometry.points?r.push(...e.geometry.points):e.boundingBox&&r.push(e.boundingBox.min,e.boundingBox.max);const a=this.getTextureByShape(e),u=((d=e.material)==null?void 0:d.lineWidth)*2||3;Bi.set(1,1).multiplyScalar(u),a.size.copy(Bi).multiplyScalar(a.scale).multiplyScalar(2).add(Mi),a.offset.sub(Bi),a.updateMatrix();const l=Oi.create(a.size.x,a.size.y),c=Oi.getContext2D(l,{alpha:!0});Tr.subVectors(a.originSize.clone().multiplyScalar(.5),a.originCenter).add(Bi),c.clearRect(0,0,l.width,l.height),c.scale(a.scale,a.scale),c.translate(Tr.x,Tr.y);let f=oe.black;e.material?f=((v=e.material)==null?void 0:v.stroke)||((E=e.material)==null?void 0:E.fill):e.isGroup&&e.children.length&&e.children[0].isShape&&(f=((A=e.children[0].material)==null?void 0:A.stroke)||((T=e.children[0].material)==null?void 0:T.fill)),c.fillStyle=le.getDarken(f);for(let I=0,S=r.length||0;I<S;I++)gi.copy(r[I]),c.moveTo(gi.x,gi.y),c.arc(gi.x,gi.y,Bi.x,0,Math.PI*2);return c.fill(),a.image=l,Ii.set(t,a),a}static setWireframeByShape(t,e){var c;const r=this.getTextureByShape(e);Bi.set(1,1).multiplyScalar(((c=e.material)==null?void 0:c.lineWidth)||1),r.size.copy(Bi).multiplyScalar(r.scale).multiplyScalar(2).add(Mi),r.offset.sub(Bi),r.updateMatrix();const a=Oi.create(r.size.x,r.size.y),u=Oi.getContext2D(a,{alpha:!0}),l=Bi.x*r.scale*5;return u.clearRect(0,0,a.width,a.height),u.strokeStyle=oe.darkGray,u.lineWidth=l,u.setLineDash([l*3,l]),u.strokeRect(0,0,r.size.x,r.size.y),r.image=a,Ii.set(t,r),r}static DEBUG_DisplayCachedTexture=ht.throttle((t=80,e=.8)=>{let r=Vg();if(r||(r=zg(t,e)),!r)throw new Error("dom not found");$g(r,this.cached)},5e3)}function Vg(){return window.document.getElementById("DEBUG_Displaycached")}function zg(n=80,t=.8){const e=document.createElement("div");function r(){e.style.opacity="1"}function a(){e.style.opacity=t.toString()}return e.setAttribute("id","DEBUG_Displaycached"),e.style.position="absolute",e.style.width=n+"px",e.style.height="92vh",e.style.background=`rgba(0, 0, 0, ${t})`,e.style.left="20px",e.style.top="20px",e.style.overflow="auto",e.style.padding="6px",e.style.opacity=t.toString(),e.addEventListener("mouseenter",r),e.addEventListener("mouseleave",a),document.body.appendChild(e),e}function $g(n,t){t.forEach((e,r)=>{!e||!e.image||Gg(n,r,e)})}function Gg(n,t,e){let r;for(let a=0,u=n.childNodes.length;a<u;a++)if(n.childNodes[a].getAttribute("id")===t){r=n.childNodes[a];break}r?Yg(r,e):Xg(n,t,e)}function Xg(n,t,e){if(!e.image)return;const r=gt.document.createElement("div");r.setAttribute("id",t),r.style.display="flex",r.style.flexDirection="column";const a=Oi.createCanvas({containerId:n.id,width:e.image.width,height:e.image.height,dpr:window.devicePixelRatio});a.style.border="#000000 1px solid",a.style.maxWidth=parseInt(n.style.width)-2+"px",a.style.maxHeight=parseInt(a.style.maxWidth)/(e.image.width/e.image.height)+"px";const u=a.getContext("2d",{alpha:!0});if(!u)throw new Error("getContext error");u.save(),u.scale(window.devicePixelRatio,window.devicePixelRatio),u.drawImage(e.image,0,0),u.restore(),r.appendChild(a);const l=gt.document.createElement("p");l.innerHTML=e.image.width+" * "+e.image.height,l.innerHTML+="<br/>"+t,l.style.margin="0",l.style.padding="0",l.style.lineHeight="1.2",l.style.fontSize="12px",l.style.padding="3px 0 6px 0",r.appendChild(l),n.appendChild(r);function c(){const f=a.toDataURL("image/png",.6),d=document.createElement("a"),v=new MouseEvent("click");d.download=`thumb.${Date.now()}.png`,d.href=f,d.dispatchEvent(v)}r.addEventListener("click",c)}function Yg(n,t){if(!t.image)return;const e=n.querySelector("canvas");if(!e)return;const r=e.getContext("2d",{alpha:!0});if(!r)throw new Error("getContext error");r.clearRect(0,0,e.width,e.height),r.save(),r.scale(window.devicePixelRatio,window.devicePixelRatio),r.drawImage(t.image,0,0),r.restore()}const Zg=new bt,Pi=new L,sn=new Nt,Gh=new Nt,$u=new Nt;class Gu extends aa{isShape=!0;type="Shape";geometry;material;usedCache=!1;showPoints=!1;wireframe=!1;selected=!1;alignCenter=!1;dynamically=!1;composeNode=!1;matrixAutoUpdate=!1;version=0;needsUpdateChangedHandler=this.handleNeedsUpdateChanged.bind(this);constructor(t={}){t.name===void 0&&(t.name="Shape"),t.stroke===void 0&&(t.stroke=oe.darkGray),super(t),t.visible===void 0&&(t.visible=!0),t.fixed!==void 0&&(this.fixed=t.fixed),t.usedCache!==void 0&&(this.usedCache=t.usedCache),t.dynamically!==void 0&&(this.dynamically=t.dynamically),t.castShadow!==void 0&&(this.castShadow=t.castShadow),t.showPoints!==void 0&&(this.showPoints=t.showPoints),t.wireframe!==void 0&&(this.wireframe=t.wireframe),t.alignCenter!==void 0&&(this.alignCenter=t.alignCenter),t.composeNode!==void 0&&(this.composeNode=t.composeNode),t.renderOrder!==void 0&&(this.renderOrder=t.renderOrder),t.id!==void 0&&(this.userData.id=t.id)}set needsUpdate(t){t&&this.version++,this.dispatchEvent({type:"needsUpdateChanged"})}destroy(){this.unbindEvents(),super.destroy()}bindEvents(){this.geometry&&!this.geometry.hasEventListener("needsUpdateChanged",this.needsUpdateChangedHandler)&&this.geometry&&this.geometry.addEventListener("needsUpdateChanged",this.needsUpdateChangedHandler),this.material&&!this.material.hasEventListener("needsUpdateChanged",this.needsUpdateChangedHandler)&&this.material&&this.material.addEventListener("needsUpdateChanged",this.needsUpdateChangedHandler)}unbindEvents(){this.geometry&&this.geometry.removeEventListener("needsUpdateChanged",this.needsUpdateChangedHandler),this.material&&this.material.removeEventListener("needsUpdateChanged",this.needsUpdateChangedHandler)}handleNeedsUpdateChanged(){this.needsUpdate=!0}bindGeoMtl(t,e){this.geometry=t,this.material=e,this.bindEvents(),this.setup()}setup(){return this.computeBoundingBox(),this.generateFeaturesKey(),this}computeBoundingBox(){if(this.centerPoint.set(0,0),this.boundingBox.copy(this.geometry.computeBoundingBox()),!this.children||!this.children.length)return this.boundingBox;const t=[];t.push(...L.getPointsApplyMatrix3(this.matrixWorld,this.geometry.getBoundingPoints()));for(let e=0,r=this.children.length;e<r;e++)if(Zg.copy(this.children[e].computeBoundingBox()),this.children[e].isShape&&this.children[e].geometry.points){if(sn.copy(this.children[e].matrixWorld),this.children[e].isText){const a=this.children[e].material.fontSize/12||1;Gh.makeScale(a,a).invert(),sn.multiply($u.copy(this.children[e].matrix).invert().premultiply(Gh))}this.children[e].alignCenter&&(Pi.copy(this.children[e].centerPoint).negate(),$u.makeTranslation(Pi.x,Pi.y),sn.multiply($u)),t.push(...L.getPointsApplyMatrix3(sn,this.children[e].geometry.getBoundingPoints()))}return this.boundingBox.setFromPoints(L.getPointsApplyMatrix3(this.matrixWorldInverse,t)),this.alignCenter&&this.boundingBox.getCenter(this.centerPoint),this.alignCenter&&this.boundingBox.translate(Pi.copy(this.centerPoint).negate()),this.boundingBox.ceil(),this.boundingBox}generateFeaturesKey(){return this.featureKey=(this.geometry.featureKey||"G")+"_"+(this.material.featureKey||"M"),this.featureKey}render(t){if(this.visible&&(this.renderFill(t),this.renderStroke(t),this.renderMaterialMap(t),this.composeNode))for(let e=0,r=this.children.length;e<r;e++)this.children[e].render(t)}renderFill(t){!this.geometry.path||!this.material.hasFill||(t.fillStyle=this.material.fill,t.fill(this.geometry.path))}renderStroke(t){!this.geometry||!this.geometry.path||this.material.hasStroke&&(t.strokeStyle=this.material.stroke,t.lineWidth=this.material.lineWidth,this.material.lineDash&&t.setLineDash(this.material.lineDash),this.material.lineCap&&(t.lineCap=this.material.lineCap),t.lineDashOffset=this.material.lineDashOffset,t.stroke(this.geometry.path))}renderMaterialMap(t){!this.material.map||!this.material.map.image||!this.geometry||!this.geometry.path||(t.save(),this.geometry.path.closePath(),t.clip(this.geometry.path),t.rotate(-this.material.map.rotate),t.scale(this.material.map.scale,this.material.map.scale),t.drawImage(this.material.map.image,this.material.map.offset.x||0,this.material.map.offset.y||0),t.restore())}raycast(t,e=[]){var r;return super.raycast(t,e),!this.selectable||!this.boundingBox||this.boundingBox.isEmpty()||!this.boundingBoxWorld.containsPoint(t.worldCoords)||(Pi.copy(t.worldCoords).applyMatrix3(sn.copy(this.matrixWorld).invert()),(r=this.geometry)!=null&&r.isPointInPath(Pi)&&e.push(this),console.warn("Shape.raycast: ",this.name,this.boundingBox.min.round().toString(),this.boundingBox.max.round().toString(),t.worldCoords.round().toString()),e.includes(this)||((!this.usedCache||!Ii.has(this.featureKey))&&Ii.setByShape(this.featureKey,this),this.isPointInPathByTexture(t)&&e.push(this))),e}isPointInPathByTexture(t){const e=Ii.get(this.featureKey);if(!e||!e.image)throw new Error("raycastByPixel error");return Pi.copy(t.worldCoords).applyMatrix3(sn.copy(this.matrixWorld).multiply(e.matrix).invert()).round(),Oi.getContext2D(e.image,{alpha:!0}).getImageData(Pi.x,Pi.y,1,1).data[3]>0}copy(t,e=!0){return super.copy(t,e),this.geometry=t.geometry,this.material=t.material,this.usedCache=t.usedCache,this.showPoints=t.showPoints,this.wireframe=t.wireframe,this.selected=t.selected,this.alignCenter=t.alignCenter,this.dynamically=t.dynamically,this.composeNode=t.composeNode,this.matrixAutoUpdate=t.matrixAutoUpdate,this}}class ce{static stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]);static buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);static hexChars="0123456789abcdef";static hexOut=[];static onePassHasher=new ce;_dataLength=0;_bufferLength=0;_state=new Int32Array(4);_buffer=new ArrayBuffer(68);_buffer8;_buffer32;constructor(){this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}static hashStr(t,e=!1){return this.onePassHasher.start().appendStr(t).end(e)}static hashAsciiStr(t,e=!1){return this.onePassHasher.start().appendAsciiStr(t).end(e)}static _hex(t){const e=ce.hexChars,r=ce.hexOut;let a,u,l,c;for(c=0;c<4;c+=1)for(u=c*8,a=t[c],l=0;l<8;l+=2)r[u+1+l]=e.charAt(a&15),a>>>=4,r[u+0+l]=e.charAt(a&15),a>>>=4;return r.join("")}static _md5cycle(t,e){let r=t[0],a=t[1],u=t[2],l=t[3];r+=(a&u|~a&l)+e[0]-680876936|0,r=(r<<7|r>>>25)+a|0,l+=(r&a|~r&u)+e[1]-389564586|0,l=(l<<12|l>>>20)+r|0,u+=(l&r|~l&a)+e[2]+606105819|0,u=(u<<17|u>>>15)+l|0,a+=(u&l|~u&r)+e[3]-1044525330|0,a=(a<<22|a>>>10)+u|0,r+=(a&u|~a&l)+e[4]-176418897|0,r=(r<<7|r>>>25)+a|0,l+=(r&a|~r&u)+e[5]+1200080426|0,l=(l<<12|l>>>20)+r|0,u+=(l&r|~l&a)+e[6]-1473231341|0,u=(u<<17|u>>>15)+l|0,a+=(u&l|~u&r)+e[7]-45705983|0,a=(a<<22|a>>>10)+u|0,r+=(a&u|~a&l)+e[8]+1770035416|0,r=(r<<7|r>>>25)+a|0,l+=(r&a|~r&u)+e[9]-1958414417|0,l=(l<<12|l>>>20)+r|0,u+=(l&r|~l&a)+e[10]-42063|0,u=(u<<17|u>>>15)+l|0,a+=(u&l|~u&r)+e[11]-1990404162|0,a=(a<<22|a>>>10)+u|0,r+=(a&u|~a&l)+e[12]+1804603682|0,r=(r<<7|r>>>25)+a|0,l+=(r&a|~r&u)+e[13]-40341101|0,l=(l<<12|l>>>20)+r|0,u+=(l&r|~l&a)+e[14]-1502002290|0,u=(u<<17|u>>>15)+l|0,a+=(u&l|~u&r)+e[15]+1236535329|0,a=(a<<22|a>>>10)+u|0,r+=(a&l|u&~l)+e[1]-165796510|0,r=(r<<5|r>>>27)+a|0,l+=(r&u|a&~u)+e[6]-1069501632|0,l=(l<<9|l>>>23)+r|0,u+=(l&a|r&~a)+e[11]+643717713|0,u=(u<<14|u>>>18)+l|0,a+=(u&r|l&~r)+e[0]-373897302|0,a=(a<<20|a>>>12)+u|0,r+=(a&l|u&~l)+e[5]-701558691|0,r=(r<<5|r>>>27)+a|0,l+=(r&u|a&~u)+e[10]+38016083|0,l=(l<<9|l>>>23)+r|0,u+=(l&a|r&~a)+e[15]-660478335|0,u=(u<<14|u>>>18)+l|0,a+=(u&r|l&~r)+e[4]-405537848|0,a=(a<<20|a>>>12)+u|0,r+=(a&l|u&~l)+e[9]+568446438|0,r=(r<<5|r>>>27)+a|0,l+=(r&u|a&~u)+e[14]-1019803690|0,l=(l<<9|l>>>23)+r|0,u+=(l&a|r&~a)+e[3]-187363961|0,u=(u<<14|u>>>18)+l|0,a+=(u&r|l&~r)+e[8]+1163531501|0,a=(a<<20|a>>>12)+u|0,r+=(a&l|u&~l)+e[13]-1444681467|0,r=(r<<5|r>>>27)+a|0,l+=(r&u|a&~u)+e[2]-51403784|0,l=(l<<9|l>>>23)+r|0,u+=(l&a|r&~a)+e[7]+1735328473|0,u=(u<<14|u>>>18)+l|0,a+=(u&r|l&~r)+e[12]-1926607734|0,a=(a<<20|a>>>12)+u|0,r+=(a^u^l)+e[5]-378558|0,r=(r<<4|r>>>28)+a|0,l+=(r^a^u)+e[8]-2022574463|0,l=(l<<11|l>>>21)+r|0,u+=(l^r^a)+e[11]+1839030562|0,u=(u<<16|u>>>16)+l|0,a+=(u^l^r)+e[14]-35309556|0,a=(a<<23|a>>>9)+u|0,r+=(a^u^l)+e[1]-1530992060|0,r=(r<<4|r>>>28)+a|0,l+=(r^a^u)+e[4]+1272893353|0,l=(l<<11|l>>>21)+r|0,u+=(l^r^a)+e[7]-155497632|0,u=(u<<16|u>>>16)+l|0,a+=(u^l^r)+e[10]-1094730640|0,a=(a<<23|a>>>9)+u|0,r+=(a^u^l)+e[13]+681279174|0,r=(r<<4|r>>>28)+a|0,l+=(r^a^u)+e[0]-358537222|0,l=(l<<11|l>>>21)+r|0,u+=(l^r^a)+e[3]-722521979|0,u=(u<<16|u>>>16)+l|0,a+=(u^l^r)+e[6]+76029189|0,a=(a<<23|a>>>9)+u|0,r+=(a^u^l)+e[9]-640364487|0,r=(r<<4|r>>>28)+a|0,l+=(r^a^u)+e[12]-421815835|0,l=(l<<11|l>>>21)+r|0,u+=(l^r^a)+e[15]+530742520|0,u=(u<<16|u>>>16)+l|0,a+=(u^l^r)+e[2]-995338651|0,a=(a<<23|a>>>9)+u|0,r+=(u^(a|~l))+e[0]-198630844|0,r=(r<<6|r>>>26)+a|0,l+=(a^(r|~u))+e[7]+1126891415|0,l=(l<<10|l>>>22)+r|0,u+=(r^(l|~a))+e[14]-1416354905|0,u=(u<<15|u>>>17)+l|0,a+=(l^(u|~r))+e[5]-57434055|0,a=(a<<21|a>>>11)+u|0,r+=(u^(a|~l))+e[12]+1700485571|0,r=(r<<6|r>>>26)+a|0,l+=(a^(r|~u))+e[3]-1894986606|0,l=(l<<10|l>>>22)+r|0,u+=(r^(l|~a))+e[10]-1051523|0,u=(u<<15|u>>>17)+l|0,a+=(l^(u|~r))+e[1]-2054922799|0,a=(a<<21|a>>>11)+u|0,r+=(u^(a|~l))+e[8]+1873313359|0,r=(r<<6|r>>>26)+a|0,l+=(a^(r|~u))+e[15]-30611744|0,l=(l<<10|l>>>22)+r|0,u+=(r^(l|~a))+e[6]-1560198380|0,u=(u<<15|u>>>17)+l|0,a+=(l^(u|~r))+e[13]+1309151649|0,a=(a<<21|a>>>11)+u|0,r+=(u^(a|~l))+e[4]-145523070|0,r=(r<<6|r>>>26)+a|0,l+=(a^(r|~u))+e[11]-1120210379|0,l=(l<<10|l>>>22)+r|0,u+=(r^(l|~a))+e[2]+718787259|0,u=(u<<15|u>>>17)+l|0,a+=(l^(u|~r))+e[9]-343485551|0,a=(a<<21|a>>>11)+u|0,t[0]=r+t[0]|0,t[1]=a+t[1]|0,t[2]=u+t[2]|0,t[3]=l+t[3]|0}start(){return this._dataLength=0,this._bufferLength=0,this._state.set(ce.stateIdentity),this}appendStr(t){const e=this._buffer8,r=this._buffer32;let a=this._bufferLength,u,l;for(l=0;l<t.length;l+=1){if(u=t.charCodeAt(l),u<128)e[a++]=u;else if(u<2048)e[a++]=(u>>>6)+192,e[a++]=u&63|128;else if(u<55296||u>56319)e[a++]=(u>>>12)+224,e[a++]=u>>>6&63|128,e[a++]=u&63|128;else{if(u=(u-55296)*1024+(t.charCodeAt(++l)-56320)+65536,u>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");e[a++]=(u>>>18)+240,e[a++]=u>>>12&63|128,e[a++]=u>>>6&63|128,e[a++]=u&63|128}a>=64&&(this._dataLength+=64,ce._md5cycle(this._state,r),a-=64,r[0]=r[16])}return this._bufferLength=a,this}appendAsciiStr(t){const e=this._buffer8,r=this._buffer32;let a=this._bufferLength,u,l=0;for(;;){for(u=Math.min(t.length-l,64-a);u--;)e[a++]=t.charCodeAt(l++);if(a<64)break;this._dataLength+=64,ce._md5cycle(this._state,r),a=0}return this._bufferLength=a,this}appendByteArray(t){const e=this._buffer8,r=this._buffer32;let a=this._bufferLength,u,l=0;for(;;){for(u=Math.min(t.length-l,64-a);u--;)e[a++]=t[l++];if(a<64)break;this._dataLength+=64,ce._md5cycle(this._state,r),a=0}return this._bufferLength=a,this}getState(){const t=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[t[0],t[1],t[2],t[3]]}}setState(t){const e=t.buffer,r=t.state,a=this._state;let u;for(this._dataLength=t.length,this._bufferLength=t.buflen,a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],u=0;u<e.length;u+=1)this._buffer8[u]=e.charCodeAt(u)}end(t=!1){const e=this._bufferLength,r=this._buffer8,a=this._buffer32,u=(e>>2)+1;this._dataLength+=e;const l=this._dataLength*8;if(r[e]=128,r[e+1]=r[e+2]=r[e+3]=0,a.set(ce.buffer32Identity.subarray(u),u),e>55&&(ce._md5cycle(this._state,a),a.set(ce.buffer32Identity)),l<=4294967295)a[14]=l;else{const c=l.toString(16).match(/(.*?)(.{0,8})$/);if(c===null)return;const f=parseInt(c[2],16),d=parseInt(c[1],16)||0;a[14]=f,a[15]=d}return ce._md5cycle(this._state,a),t?this._state:ce._hex(this._state)}}if(ce.hashStr("hello")!=="5d41402abc4b2a76b9719d911017c592")throw new Error("Md5 self test failed.");let Kg=0;const Xu=new L,Xh=new L,an=new Nt,Je=new L,Pe=new L,je=new L,Yh=new L,Zh=new L,Kh=new L,Yu=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];class Qh extends zu{isGeometry=!0;id=Kg++;name="Geometry2D";matrix=new Nt;boundingBox=new bt;path;pointsPath;featureKey="";version=0;points;pointsSplits=0;lineWidth=0;padding;radius=0;position=new L;rotation=new L;scaled=new L(1,1);animations=[];constructor(t={}){super(t),this.watch(["points","lineWidth","padding","radius"],()=>this.needsUpdate=!0)}set needsUpdate(t){t&&this.version++,this.dispatchEvent({type:"needsUpdateChanged"})}destroy(){super.destroy()}applyMatrix3(t){t.decompose(Yh,Zh,Kh),this.position.add(Yh),this.rotation.add(Zh),this.scaled.add(Kh)}updateMatrix(){this.matrix.compose(this.position,this.rotation,this.scaled),this.needsUpdate=!0}translate(t,e){return an.makeTranslation(t,e),this.applyMatrix3(an),this}rotate(t){return an.makeRotation(t),this.applyMatrix3(an),this}scale(t,e){return an.makeScale(t,e),this.applyMatrix3(an),this}setPointsSplits(t=0){return this.pointsSplits=t,this}setPath(t){return t?(t instanceof di||(t=new di().copy(t)),this.setAttr("path",t),this.setAttr("points",t.getVertices2()),this.path=t,this.points=t.getVertices2(),this.computeBoundingBox(),this.generateFeatureKey(),this):this}setFromPoints(t,e=0){return!t||!t.length?this:(this.setAttr("points",t),this.setAttr("pointsSplits",t),this.points=t,this.pointsSplits=e,this.recomputePath(),this.computeBoundingBox(),this.generateFeatureKey(),this)}setFromSvgPath(t){if(!t||!t.length)return this;const e=new gt.window.Path2D;let r=t;r=r.replace(new RegExp(" ","g"),",");for(let E=0,A=Yu.length;E<A;E++)r=r.replace(new RegExp(Yu[E],"g"),"|"+Yu[E]);const a=r.split("|"),u=[];let l=0,c=0;const f=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let d,v="";for(let E=1,A=a.length;E<A;E++){let T=a[E],I=T.charAt(0);for(T=T.slice(1),u.length=0;d=f.exec(T);)u.push(d[0]);const S=[];for(let k=0,z=u.length;k<z;k++){if(u[k]==="00"){S.push(0,0);continue}let W=parseFloat(u[k]);isNaN(W)?S.push(0):S.push(W)}let D=[];for(;S.length>0&&!isNaN(S[0]);){let k=l,z=c,W,X,$,K,tt,Z,V,J,nt;switch(I){case"M":k=l=S.shift()||0,z=c=S.shift()||0,e.moveTo(l,c);break;case"m":let mt=S.shift()||0,It=S.shift()||0;l+=mt,c+=It,v==="z"&&(l=k+mt,c=z+It),e.moveTo(l,c);break;case"l":l+=S.shift()||0,c+=S.shift()||0,e.lineTo(l,c);break;case"L":l=S.shift()||0,c=S.shift()||0,e.lineTo(l,c);break;case"h":l+=S.shift()||0,e.lineTo(l,c);break;case"H":l=S.shift()||0,e.lineTo(l,c);break;case"v":c+=S.shift()||0,e.lineTo(l,c);break;case"V":c=S.shift()||0,e.lineTo(l,c);break;case"C":D.length=0,D.push(S.shift()||0,S.shift()||0,S.shift()||0,S.shift()||0),l=S.shift()||0,c=S.shift()||0,e.bezierCurveTo(D[0],D[1],D[2],D[3],l,c);break;case"c":D.length=0,D.push(l+(S.shift()||0),c+(S.shift()||0),l+(S.shift()||0),c+(S.shift()||0)),l+=S.shift()||0,c+=S.shift()||0,e.bezierCurveTo(D[0],D[1],D[2],D[3],l,c);break;case"S":W=l,X=c,v==="C"&&(W=l+(l-D[2]),X=c+(c-D[3])),D.length=0,D.push(W,X,S.shift()||0,S.shift()||0),l=S.shift()||0,c=S.shift()||0,e.bezierCurveTo(D[0],D[1],D[2],D[3],l,c);break;case"s":W=l,X=c,v==="C"&&(W=l+(l-D[2]),X=c+(c-D[3])),D.length=0,D.push(W,X,l+(S.shift()||0),c+(S.shift()||0)),l+=S.shift()||0,c+=S.shift()||0,e.bezierCurveTo(D[0],D[1],D[2],D[3],l,c);break;case"Q":D.length=0,D.push(S.shift()||0,S.shift()||0),l=S.shift()||0,c=S.shift()||0,e.quadraticCurveTo(D[0],D[1],l,c);break;case"q":D.length=0,D.push(l+(S.shift()||0),c+(S.shift()||0)),l+=S.shift()||0,c+=S.shift()||0,e.quadraticCurveTo(D[0],D[1],l,c);break;case"T":W=l,X=c,v==="Q"&&(W=l+(l-D[0]),X=c+(c-D[1])),l=S.shift()||0,c=S.shift()||0,e.quadraticCurveTo(W,X,l,c);break;case"t":W=l,X=c,v==="Q"&&(W=l+(l-D[0]),X=c+(c-D[1])),l+=S.shift()||0,c+=S.shift()||0,e.quadraticCurveTo(W,X,l,c);break;case"A":$=S.shift()||0,K=S.shift()||0,tt=S.shift()||0,Z=S.shift()||0,V=S.shift()||0,J=l,nt=c,l=S.shift()||0,c=S.shift()||0,D=Jh(J,nt,l,c,Z,V,$,K,tt),e.arc(D[0],D[1],D[2]>D[3]?D[2]:D[3],D[4],D[4]+D[5]);break;case"a":$=S.shift()||0,K=S.shift()||0,tt=S.shift()||0,Z=S.shift()||0,V=S.shift()||0,J=l,nt=c,l+=S.shift()||0,c+=S.shift()||0,D=Jh(J,nt,l,c,Z,V,$,K,tt),e.arc(D[0],D[1],D[2]>D[3]?D[2]:D[3],D[4],D[4]+D[5]);break;default:S.shift()}}v=I,(I==="z"||I==="Z")&&e.closePath()}return this.setPath(e)}computeBoundingBox(){return this.boundingBox||(this.boundingBox=new bt),this.boundingBox.makeEmpty(),this.points!==void 0?this.boundingBox.setFromPoints(this.points):this.boundingBox.makeEmpty(),this.lineWidth&&this.boundingBox.expandByVector(Xu.set(this.lineWidth,+this.lineWidth)),this.boundingBox.validate()||console.error(`${this.name}.computeBoundingBox: min/max have NaN values.`),this.boundingBox}getBoundingPoints(){let t=[];return this.points&&(t=ht.cloneDeep(this.points)),this.boundingBox&&this.boundingBox.validate()&&!this.boundingBox.isEmpty()&&t.push(this.boundingBox.min,this.boundingBox.max),t}generateFeatureKey(){!this.points||!this.points.length||(this.featureKey=ce.hashStr(L.getStrings(this.points)))}recomputePointsPath(t){var e,r,a;if(!(!this.points||!this.points.length)){this.pointsPath=new gt.window.Path;for(let u=0,l=this.points.length;u<l;u++)(e=this.pointsPath)==null||e.moveTo(this.points[u].x,this.points[u].y),(r=this.pointsPath)==null||r.arc(this.points[u].x,this.points[u].y,t,0,Math.PI*2,!1);(a=this.path)==null||a.addPath(this.pointsPath)}}isPointInBoundingBox(t){return this.boundingBox?this.boundingBox.containsPoint(t):!1}isPointInPolygonByRay(t){let e=!1;if(!this.path)return e;Je.copy(t);const r=this.path.getVertices2();for(let a=0,u=r.length;a<u;a++){if(Pe.copy(r[a]),a===r.length-1?je.copy(r[0]):je.copy(r[a+1]),L.isPointOnSegment(Pe,je,Je))return!0;Ji(Pe.y-Je.y)>0!=Ji(je.y-Je.y)>0&&Ji(Je.x-(Je.y-Pe.y)*(Pe.x-je.x)/(Pe.y-je.y)-Pe.x)<0&&(e=!e)}return e}isPointInPolygonByRAngle(t){let e=0;if(!this.path)return!1;Je.copy(t);const r=this.path.getVertices2();for(let a=0,u=r.length;a<u;a++){if(Pe.copy(r[a]),a===r.length-1?je.copy(r[0]):je.copy(r[a+1]),L.isPointOnSegment(Pe,je,Je))return!0;Xu.subVectors(je,Pe),Xh.subVectors(Je,Pe);let l=Ji(Xu.cross(Xh)),c=Ji(Pe.y-Je.y),f=Ji(je.y-Je.y);l>0&&c<=0&&f>0&&e--,l<0&&c>0&&f<=0&&e++}return e!==0}clone(){const t=this.constructor,e=new t(this.userData).copy(this);return this.path&&(e.path=this.path.clone()),e}copy(t){return this.name=t.name,this.matrix.copy(t.matrix),this.boundingBox.copy(t.boundingBox),this.path=t.path,this.pointsSplits=t.pointsSplits,this.setFromPoints(this.points,this.pointsSplits),this}}function Jh(n,t,e,r,a,u,l,c,f){let d=f*(Math.PI/180),v=Math.cos(d)*(n-e)/2+Math.sin(d)*(t-r)/2,E=-1*Math.sin(d)*(n-e)/2+Math.cos(d)*(t-r)/2,A=v*v/(l*l)+E*E/(c*c);A>1&&(l*=Math.sqrt(A),c*=Math.sqrt(A));let T=Math.sqrt((l*l*(c*c)-l*l*(E*E)-c*c*(v*v))/(l*l*(E*E)+c*c*(v*v)));a===u&&(T*=-1),isNaN(T)&&(T=0);let I=T*l*E/c,S=T*-c*v/l,D=(n+e)/2+Math.cos(d)*I-Math.sin(d)*S,k=(t+r)/2+Math.sin(d)*I+Math.cos(d)*S,z=function(V){return Math.sqrt(V[0]*V[0]+V[1]*V[1])},W=function(V,J){return(V[0]*J[0]+V[1]*J[1])/(z(V)*z(J))},X=function(V,J){return(V[0]*J[1]<V[1]*J[0]?-1:1)*Math.acos(W(V,J))},$=X([1,0],[(v-I)/l,(E-S)/c]),K=[(v-I)/l,(E-S)/c],tt=[(-1*v-I)/l,(-1*E-S)/c],Z=X(K,tt);return W(K,tt)<=-1&&(Z=Math.PI),W(K,tt)>=1&&(Z=0),u===0&&Z>0&&(Z=Z-2*Math.PI),u===1&&Z<0&&(Z=Z+2*Math.PI),[D,k,l,c,$,Z,d,u]}class jh extends Qh{isPolygonGeometry2D=!0;name="PolygonGeometry2D";constructor(t={}){super(t),this.setAttrs(t),this.setFromPoints(this.points)}recomputePath(){var t,e;if(!(!this.points||!this.points.length)){this.path=new di;for(let r=0,a=this.points.length;r<a;r++)r?(e=this.path)==null||e.lineTo(this.points[r].x,this.points[r].y):(t=this.path)==null||t.moveTo(this.points[r].x,this.points[r].y);this.path.closePath()}}isPointInPath(t){return this.isPointInBoundingBox(t)?this.isPointInPolygonByRAngle(t):!1}}let Qg=0;class Zu extends zu{isMaterial=!0;name="Material2";id=Qg++;featureKey="Material2";version=0;visible=!0;wireframe=!1;fill="";stroke="";selectedColor=new le;lineWidth=0;lineDash;lineDashOffset=0;lineCap="round";map;constructor(t={}){super(t),this.setAttrs(t),this.watch(["visible","fill","stroke","lineWidth"],()=>this.needsUpdate=!0),this.generateFeatureKey()}destroy(){this.dispatchEvent({type:"destroy"}),super.destroy()}clone(){const t=this.constructor;return new t(this.userData).copy(this)}copy(t){return this.visible=t.visible,this.wireframe=t.wireframe,this.fill=t.fill,this.stroke=t.stroke,this.lineWidth=t.lineWidth,this.lineDash=t.lineDash?ht.cloneDeep(t.lineDash):void 0,this.lineDashOffset=t.lineDashOffset,this.lineCap=t.lineCap,this.map=t.map,this}generateFeatureKey(){const t=[];t.push(this.fill||""),t.push(this.stroke||""),t.push(this.lineWidth||0),t.push(this.lineDash?this.lineDash.join(","):""),this.featureKey=t.join("_")}set needsUpdate(t){t&&this.version++,this.dispatchEvent({type:"needsUpdateChanged"})}get hasFill(){return this.computed("hasFill",["fill"],()=>!!this.fill)}get hasStroke(){return this.computed("hasStroke",["stroke","lineWidth"],()=>!!this.stroke&&!!this.lineWidth)}}const Ku=new L;class Jg extends Qh{isRectGeometry2D=!0;name="RectGeometry2D";width=0;height=0;constructor(t={}){super(t),this.setAttrs(t),this.recomputePath()}setSize(t,e){return this.width=t,this.height=e,this}recomputePath(){const t=new di;Ku.set(this.width*.5,this.height*.5).sub(this.position).negate(),t.rect(Ku.x,Ku.y,this.width,this.height),t.closePath(),this.path=t,this.points=t.getVertices2()}isPointInPath(t){return this.isPointInBoundingBox(t)}}class jg extends Gu{isMesh=!0;type="Mesh2";geometry;material;usedCache=!1;bufferCtx;selected=!1;constructor(t=new Jg,e=new Zu){super(),this.geometry=t,this.material=e,this.setup(),this.bindEvents()}destroy(){super.destroy(),this.geometry.destroy(),this.material.destroy()}clone(t=!0){const e=this.constructor;return new e(this.geometry.clone(),this.material.clone()).copy(this,t)}copy(t,e=!0){return this.type=t.type,this.usedCache=t.usedCache,this.selected=t.selected,super.copy(t,e),this}}class tc extends Gu{isSvg=!0;matrixAutoUpdate=!1;composeNode=!0;constructor(t={}){t.name===void 0&&(t.name="Svg"),t.flipY===void 0&&(t.flipY=!0),t.alignCenter===void 0&&(t.alignCenter=!0),super(t),t.id!==void 0&&(this.userData.id=t.id),this.composeNode=!0;let e;if(t.parsedSvg?e=t.parsedSvg:t.svg&&(e=ju.parse(t.svg)),!e||!e.length)throw new Error("svg parse error");let r;for(let a=0,u=e.length;a<u;a++){r=e[a];const l={...t};r.fill!==void 0&&(l.fill=r.fill),r.stroke!==void 0&&(l.stroke=r.stroke),r.lineWidth!==void 0&&(l.lineWidth=r.lineWidth),r.id!==void 0&&(l.id=r.id);const c=new jh(l);c.name=this.name+"Geo"+a,c.setPath(r.path);const f=new Zu(l);if(f.name=this.name+"Mtl"+a,a===0)this.geometry=c,this.material=f,this.matrixAutoUpdate=!1,r.id!==void 0&&(this.name=r.id);else{const d=new jg(c,f);d.matrixAutoUpdate=!1,r.id!==void 0?d.name=r.id:d.name=(this.userData.id||this.name)+a,d.dynamically=this.dynamically,d.usedCache=this.usedCache,d.castShadow=this.castShadow,d.showPoints=this.showPoints,d.wireframe=this.wireframe,this.add(d)}}this.computeBoundingBox(),this.generateFeaturesKey()}destroy(){super.destroy()}copy(t,e=!0){return this.matrixAutoUpdate=t.matrixAutoUpdate,this.composeNode=t.composeNode,super.copy(t,e),this}}const ec="center",t2="top",ic="middle",ss="normal",e2="word";class i2 extends Zu{isTextMaterial2=!0;name="TextMaterial2";text;textFill;fontFamily="Arial";fontSize=12;fontStyle=ss;fontWeight=ss;fontVariant=ss;textDecoration="";textAlign=ec;verticalAlign=t2;textBaseline=ic;lineHeight=1;letterSpacing=0;wrap=e2;ellipsis=!1;constructor(t={}){t.textFill===void 0&&(t.textFill=oe.black),t.fontFamily===void 0&&(t.fontFamily="Arial"),t.fontSize===void 0&&(t.fontSize=12),t.fontStyle===void 0&&(t.fontStyle=ss),t.fontWeight===void 0&&(t.fontWeight=ss),t.textAlign===void 0&&(t.textAlign=ec),t.textBaseline===void 0&&(t.textBaseline=ic),super(t),this.setAttrs(t),this.generateFeatureKey()}}class r2 extends Gu{isText=!0;type="Text";size=new L;constructor(t={}){if(t.name===void 0&&(t.name="Text"),t.fontSize===void 0&&(t.fontSize=12),super(t),t.fixed&&(this.fixed=!0),t.rotated!==void 0){const a=Js(t.rotated);this.rotation.set(a,a)}const e=new jh(t),r=new i2(t);this.bindGeoMtl(e,r),this.wireframe=t.wireframe||!1}computeBoundingBox(){if(!this.material.text)return this.boundingBox;Oi.measureText(this.material.text||"",this,this.size);const t=[];return t.push({x:-this.size.x/2,y:-this.size.y/2}),t.push({x:t[0].x,y:t[0].y+this.size.y}),t.push({x:t[1].x+this.size.x,y:t[1].y}),t.push({x:t[2].x,y:t[0].y}),this.geometry.setFromPoints(t),super.computeBoundingBox()}render(t){this.visible&&this.material.text&&(t.font=`${this.material.fontWeight} ${this.material.fontSize}px ${this.material.fontFamily}`,t.fillStyle=this.material.fill||oe.black,t.textAlign=this.material.textAlign,t.textBaseline=this.material.textBaseline,t.fillText(this.material.text,0,0))}}class ti{constructor(t,e,r){this.root=t,this.name=e,this.value=r}static textBaselineMapping={baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"};static empty(t){return new ti(t,"EMPTY","")}getDefinition(){const t=this.toString(),e=/#([^)'"]+)/.exec(t),r=(e==null?void 0:e[1])||t;return this.root.definitions[r]}setValue(t){return this.value=t,this}getValue(t){return typeof t>"u"||this.hasValue()?this.value:t}hasValue(t){const e=this.value;return e!==null&&e!==""&&(t||e!==0)&&typeof e<"u"}split(t=" "){return this.toString().replace(/(?!\u3000)\s+/gm," ").trim().split(t).map(e=>new ti(this.root,this.name,e))}isString(t){const e=typeof this.value=="string";return!e||!t?e:t.test(this.value)}isUrlDefinition(){return this.isString(/^url\(/)}isPixels(){if(!this.hasValue())return!1;const t=this.toString();switch(!0){case t.endsWith("px"):case/^[0-9]+$/.test(t):return!0;default:return!1}}getNumber(t){if(!this.hasValue())return typeof t>"u"?0:parseFloat(t);const{value:e}=this;let r=parseFloat(e);return this.isString(/%$/)&&(r/=100),r}getPixels(t,e=!1){if(!this.hasValue())return 0;const r=typeof t=="boolean",{width:a,height:u}=gt.config;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(a,u);case this.isString(/vmax$/):return this.getNumber()/100*Math.max(a,u);case this.isString(/vw$/):return this.getNumber()/100*a;case this.isString(/vh$/):return this.getNumber()/100*u;case this.isString(/rem$/):return this.getNumber()*this.getRem();case this.isString(/em$/):return this.getNumber()*this.getEm();case this.isString(/ex$/):return this.getNumber()*this.getEm()/2;case this.isString(/px$/):return this.getNumber();case this.isString(/pt$/):return this.getNumber()*this.getDpi()*(1/72);case this.isString(/pc$/):return this.getNumber()*15;case this.isString(/cm$/):return this.getNumber()*this.getDpi()/2.54;case this.isString(/mm$/):return this.getNumber()*this.getDpi()/25.4;case this.isString(/in$/):return this.getNumber()*this.getDpi();case(this.isString(/%$/)&&r):return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*Math.min(a,u);default:{const l=this.getNumber();return e&&l<1?l*Math.min(a,u):l}}}getDpi(){return 96}getRem(){return this.root.rootEmSize}getEm(){return this.root.emSize}getUnits(){return this.toString().replace(/[0-9.-]/g,"")}toString(t){return typeof t>"u"||this.hasValue()?typeof this.value>"u"?"":String(this.value):String(t)}}class ve{static ignoreChildTypes=["title"];type="";definitions;attributes={};styles={};stylesSpecificity={};parent=null;children=[];root;node;constructor(t,e){!e||e.nodeType!==1||(this.node=e,t===null?(this.root=this,this.definitions={}):this.root=t,this.init())}get id(){return this.getAttribute("id").toString()}init(){this.addAttributes(),this.addStyle(),this.addDefinitions(),Array.from(this.node.childNodes).forEach(t=>{t.nodeType===1&&this.add(t)})}addAttributes(){Array.from(this.node.attributes).forEach(t=>{this.attributes[t.nodeName]=new ti(this.root,t.nodeName,t.value)})}addStyle(){const{styles:t,stylesSpecificity:e}=this.root;let r;for(const a in t)if(!a.startsWith("@")&&this.matchesSelector(a)){const u=t[a],l=e[a];if(u)for(const c in u){let f=this.stylesSpecificity[c];typeof f>"u"&&(f="000"),l&&l>=f&&(r=u[c],r&&(this.styles[c]=r),this.stylesSpecificity[c]=l)}}this.getAttribute("style").hasValue()&&this.getAttribute("style").toString().split(";").map(u=>u.trim()).forEach(u=>{if(!u)return;const[l,c]=u.split(":").map(f=>f.trim());l&&(this.styles[l]=new ti(this.root,l,c))})}addDefinitions(){const t=this.getAttribute("id");t.hasValue()&&(this.root.definitions[t.toString()]||(this.root.definitions[t.toString()]=this))}getStyle(t,e=!1,r=!1){const a=this.styles[t];if(a)return a;const u=this.getAttribute(t);if(u.hasValue())return this.styles[t]=u,u;if(!r&&this.parent){const l=this.parent.getStyle(t);if(l.hasValue())return l}if(e){const l=new ti(this.root,t,"");return this.styles[t]=l,l}return ti.empty(this.root)}getAttribute(t,e=!1){const r=this.attributes[t];if(!r&&e){const a=new ti(this.root,t,"");return this.attributes[t]=a,a}return r||ti.empty(this.root)}getHrefAttribute(){let t;for(const e in this.attributes)if(e==="href"||e.endsWith(":href")){t=this.attributes[e];break}return t||ti.empty(this.root)}add(t){const e=t instanceof ve?t:this.root.createElement(t);e.parent=this,ve.ignoreChildTypes.includes(e.type)||this.children.push(e)}traverse(t){t(this);const e=this.children;for(let r=0,a=e.length;r<a;r++)e[r].traverse(t)}getById(t){if(this.getAttribute("id").toString()===t)return this;for(let e=0,r=this.children.length;e<r;e++){let a=this.children[e].getById(t);if(a)return a}}getByIds(t){let e=[];return t!=null&&t.length&&t.forEach(r=>{let a=this.getById(r);a&&e.push(a)}),e}getByType(t){if(this.type===t)return this;for(let e=0,r=this.children.length;e<r;e++){let a=this.children[e].getByType(t);if(a)return a}}getRotateRad(t,e=!1){for(;t<0;)t+=360;for(;t>360;)t-=360;return e||(t=360-t),Js(t)}getMatrix(){const t=new Nt,e=this.getStyle("transform",!1,!0),r=this.getAttribute("x"),a=this.getAttribute("y"),u=r.hasValue()?r.getPixels("x"):0,l=a.hasValue()?a.getPixels("y"):0;if((u||l)&&t.makeTranslation(u,l),e.hasValue()){_e.identity();let c=t0(e.toString());c.forEach(f=>{if(f==="none")return;const[d,v]=Su(f);let E=Cu(v);d==="scale"&&_e.scale(E[0],E[1])}),c.forEach(f=>{if(f==="none")return;const[d,v]=Su(f);let E=Cu(v);d==="translate"&&(mi.set(E[0],E[1]).applyMatrix3(_e),_e.getScale(n2),_e.translate(mi.x,mi.y))}),c.forEach(f=>{if(f==="none")return;const[d,v]=Su(f);let E=Cu(v);if(d==="rotate")if(E[1]||E[2]){_e.getTransition(rc),_e.getScale(nc);const A=nc.x<0?-1:1,T=this.getRotateRad(E[0],A<0);mi.set(E[1],E[2]),mi.equals(rc)||mi.applyMatrix3(_e),_e.translate(-mi.x,-mi.y),_e.rotate(T),_e.translate(mi.x,mi.y)}else _e.rotate(Js(E[0]))}),t.premultiply(_e)}return t}matchesSelector(t){var a;const{node:e}=this;if(typeof e.matches=="function")return e.matches(t);const r=(a=e.getAttribute)==null?void 0:a.call(e,"class");return!r||r===""?!1:r.split(" ").some(u=>`.${u}`===t)}}const _e=new Nt,n2=new L,mi=new L,rc=new L,nc=new L,ha={};class sc extends ve{type="unknown";constructor(t,e){super(t,e),process.env.NODE_ENV!=="production"&&(ha[e.nodeName]||(ha[e.nodeName]=0),ha[e.nodeName]||console.error(`${e.nodeName} implemented not yet.`),ha[e.nodeName]++)}}class s2 extends ve{type="defs";constructor(t,e){super(t,e)}}class a2 extends ve{type="style";constructor(t,e){super(t,e),ht.replace(Array.from(e.childNodes).map(u=>u.textContent).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"").replace(/@import.*;/g,""),/(?!\u3000)\s+/gm," ").split("}").forEach(u=>{const l=ht.trim(u);if(!l)return;const c=l.split("{"),f=c[0].split(","),d=c[1].split(";");f.forEach(v=>{const E=ht.trim(v);if(!E)return;const A=this.root.styles[E]||{};d.forEach(T=>{const I=T.indexOf(":"),S=T.substr(0,I).trim(),D=T.substr(I+1,T.length-I).trim();S&&D&&(A[S]=new ti(this.root,S,D))}),this.root.styles[E]=A,this.root.stylesSpecificity[E]=jd(E)})})}}class u2 extends ve{type="view";constructor(t,e){super(t,e)}}class o2 extends ve{type="symbol";constructor(t,e){super(t,e)}}const Wt=" ";function l2(n){let t="";Array.isArray(n)||(n=[n]);for(let e=0;e<n.length;e++){const r=n[e];if(r.type===P.CLOSE_PATH)t+="z";else if(r.type===P.HORIZ_LINE_TO)t+=(r.relative?"h":"H")+r.x;else if(r.type===P.VERT_LINE_TO)t+=(r.relative?"v":"V")+r.y;else if(r.type===P.MOVE_TO)t+=(r.relative?"m":"M")+r.x+Wt+r.y;else if(r.type===P.LINE_TO)t+=(r.relative?"l":"L")+r.x+Wt+r.y;else if(r.type===P.CURVE_TO)t+=(r.relative?"c":"C")+r.x1+Wt+r.y1+Wt+r.x2+Wt+r.y2+Wt+r.x+Wt+r.y;else if(r.type===P.SMOOTH_CURVE_TO)t+=(r.relative?"s":"S")+r.x2+Wt+r.y2+Wt+r.x+Wt+r.y;else if(r.type===P.QUAD_TO)t+=(r.relative?"q":"Q")+r.x1+Wt+r.y1+Wt+r.x+Wt+r.y;else if(r.type===P.SMOOTH_QUAD_TO)t+=(r.relative?"t":"T")+r.x+Wt+r.y;else if(r.type===P.ARC)t+=(r.relative?"a":"A")+r.rX+Wt+r.rY+Wt+r.xRot+Wt+ +r.lArcFlag+Wt+ +r.sweepFlag+Wt+r.x+Wt+r.y;else throw new Error(`Unexpected command type "${r==null?void 0:r.type}" at index ${e}.`)}return t}function Qu([n,t],e){return[n*Math.cos(e)-t*Math.sin(e),n*Math.sin(e)+t*Math.cos(e)]}function ei(...n){for(let t=0;t<n.length;t++)if(typeof n[t]!="number")throw new Error(`assertNumbers arguments[${t}] is not a number. ${typeof n[t]} == typeof ${n[t]}`);return!0}const tr=Math.PI;function Ju(n,t,e){n.lArcFlag=n.lArcFlag===0?0:1,n.sweepFlag=n.sweepFlag===0?0:1;let{rX:r,rY:a}=n;const{x:u,y:l}=n;r=Math.abs(n.rX),a=Math.abs(n.rY);const[c,f]=Qu([(t-u)/2,(e-l)/2],-n.xRot/180*tr),d=Math.pow(c,2)/Math.pow(r,2)+Math.pow(f,2)/Math.pow(a,2);1<d&&(r*=Math.sqrt(d),a*=Math.sqrt(d)),n.rX=r,n.rY=a;const v=Math.pow(r,2)*Math.pow(f,2)+Math.pow(a,2)*Math.pow(c,2),E=(n.lArcFlag!==n.sweepFlag?1:-1)*Math.sqrt(Math.max(0,(Math.pow(r,2)*Math.pow(a,2)-v)/v)),A=r*f/a*E,T=-a*c/r*E,I=Qu([A,T],n.xRot/180*tr);n.cX=I[0]+(t+u)/2,n.cY=I[1]+(e+l)/2,n.phi1=Math.atan2((f-T)/a,(c-A)/r),n.phi2=Math.atan2((-f-T)/a,(-c-A)/r),n.sweepFlag===0&&n.phi2>n.phi1&&(n.phi2-=2*tr),n.sweepFlag===1&&n.phi2<n.phi1&&(n.phi2+=2*tr),n.phi1*=180/tr,n.phi2*=180/tr}function ac(n,t,e){ei(n,t,e);const r=n*n+t*t-e*e;if(0>r)return[];if(r===0)return[[n*e/(n*n+t*t),t*e/(n*n+t*t)]];const a=Math.sqrt(r);return[[(n*e+t*a)/(n*n+t*t),(t*e-n*a)/(n*n+t*t)],[(n*e-t*a)/(n*n+t*t),(t*e+n*a)/(n*n+t*t)]]}const Li=Math.PI/180;function uc(n,t,e){return(1-e)*n+e*t}function oc(n,t,e,r){return n+Math.cos(r/180*tr)*t+Math.sin(r/180*tr)*e}function lc(n,t,e,r){const u=t-n,l=e-t,c=r-e,f=3*u+3*c-6*l,d=(l-u)*6,v=3*u;return Math.abs(f)<1e-6?[-v/d]:h2(d/f,v/f,1e-6)}function hc(n,t,e,r,a){const u=1-a,l=u*u*u,c=3*u*u*a,f=3*u*a*a,d=a*a*a;return n*l+t*c+e*f+r*d}function h2(n,t,e=1e-6){const r=n*n/4-t;if(r<-e)return[];if(r<=e)return[-n/2];const a=Math.sqrt(r);return[-(n/2)-a,-(n/2)+a]}function c2(n,t,e){n.cX||Ju(n,t,e);const r=Math.min(n.phi1,n.phi2),a=Math.max(n.phi1,n.phi2),u=a-r,l=Math.ceil(u/90),c=new Array(l);let f=t,d=e;for(let v=0;v<l;v++){const E=uc(n.phi1,n.phi2,v/l),A=uc(n.phi1,n.phi2,(v+1)/l),T=A-E,I=4/3*Math.tan(T*Li/4),[S,D]=[Math.cos(E*Li)-I*Math.sin(E*Li),Math.sin(E*Li)+I*Math.cos(E*Li)],[k,z]=[Math.cos(A*Li),Math.sin(A*Li)],[W,X]=[k+I*Math.sin(A*Li),z-I*Math.cos(A*Li)],$={relative:n.relative,type:P.CURVE_TO},K=(tt,Z)=>{const[V,J]=Qu([tt*n.rX,Z*n.rY],n.xRot);return[n.cX+V,n.cY+J]};[$.x1,$.y1]=K(S,D),[$.x2,$.y2]=K(W,X),[$.x,$.y]=K(k,z),n.relative&&($.x1-=f,$.y1-=d,$.x2-=f,$.y2-=d,$.x-=f,$.y-=d),[f,d]=[$.x,$.y],c[v]=$}return c}function f2(n=1e13){ei(n);function t(e){return Math.round(e*n)/n}return function(r){return"x1"in r&&typeof r.x1<"u"&&(r.x1=t(r.x1)),"y1"in r&&typeof r.y1<"u"&&(r.y1=t(r.y1)),"x2"in r&&typeof r.x2<"u"&&(r.x2=t(r.x2)),"y2"in r&&typeof r.y2<"u"&&(r.y2=t(r.y2)),"x"in r&&typeof r.x<"u"&&(r.x=t(r.x)),"y"in r&&typeof r.y<"u"&&(r.y=t(r.y)),"rX"in r&&typeof r.rX<"u"&&(r.rX=t(r.rX)),"rY"in r&&typeof r.rY<"u"&&(r.rY=t(r.rY)),r}}function cc(){return ii((n,t,e)=>(n.relative&&(typeof n.x1<"u"&&(n.x1+=t),typeof n.y1<"u"&&(n.y1+=e),typeof n.x2<"u"&&(n.x2+=t),typeof n.y2<"u"&&(n.y2+=e),typeof n.x<"u"&&(n.x+=t),typeof n.y<"u"&&(n.y+=e),n.relative=!1),n))}function p2(){return ii((n,t,e)=>(n.relative||(typeof n.x1<"u"&&(n.x1-=t),typeof n.y1<"u"&&(n.y1-=e),typeof n.x2<"u"&&(n.x2-=t),typeof n.y2<"u"&&(n.y2-=e),typeof n.x<"u"&&(n.x-=t),typeof n.y<"u"&&(n.y-=e),n.relative=!0),n))}function d2(n=!0,t=!0,e=!0){return ii((r,a,u,l,c)=>{if(isNaN(l)&&!(r.type&P.MOVE_TO))throw new Error("path must start with moveto");return t&&r.type&P.HORIZ_LINE_TO&&(r.type=P.LINE_TO,r.y=r.relative?0:u),e&&r.type&P.VERT_LINE_TO&&(r.type=P.LINE_TO,r.x=r.relative?0:a),n&&r.type&P.CLOSE_PATH&&(r.type=P.LINE_TO,r.x=r.relative?l-a:l,r.y=r.relative?c-u:c),r.type&P.ARC&&(r.rX===0||r.rY===0)&&(r.type=P.LINE_TO,delete r.rX,delete r.rY,delete r.xRot,delete r.lArcFlag,delete r.sweepFlag),r})}function fc(){let n=NaN,t=NaN,e=NaN,r=NaN;return ii((a,u,l)=>(a.type&P.SMOOTH_CURVE_TO&&(a.type=P.CURVE_TO,n=isNaN(n)?u:n,t=isNaN(t)?l:t,a.x1=a.relative?u-n:2*u-n,a.y1=a.relative?l-t:2*l-t),a.type&P.CURVE_TO?(n=a.relative?u+a.x2:a.x2,t=a.relative?l+a.y2:a.y2):(n=NaN,t=NaN),a.type&P.SMOOTH_QUAD_TO&&(a.type=P.QUAD_TO,e=isNaN(e)?u:e,r=isNaN(r)?l:r,a.x1=a.relative?u-e:2*u-e,a.y1=a.relative?l-r:2*l-r),a.type&P.QUAD_TO?(e=a.relative?u+a.x1:a.x1,r=a.relative?l+a.y1:a.y1):(e=NaN,r=NaN),a))}function pc(){let n=NaN,t=NaN;return ii((e,r,a)=>{if(e.type&P.SMOOTH_QUAD_TO&&(e.type=P.QUAD_TO,n=isNaN(n)?r:n,t=isNaN(t)?a:t,e.x1=e.relative?r-n:2*r-n,e.y1=e.relative?a-t:2*a-t),e.type&P.QUAD_TO){n=e.relative?r+e.x1:e.x1,t=e.relative?a+e.y1:e.y1;const u=e.x1,l=e.y1;e.type=P.CURVE_TO,e.x1=((e.relative?0:r)+u*2)/3,e.y1=((e.relative?0:a)+l*2)/3,e.x2=(e.x+u*2)/3,e.y2=(e.y+l*2)/3}else n=NaN,t=NaN;return e})}function ii(n){let t=0,e=0,r=NaN,a=NaN;return function(l){if(isNaN(r)&&!(l.type&P.MOVE_TO))throw new Error("path must start with moveto");const c=n(l,t,e,r,a);return l.type&P.CLOSE_PATH&&(t=r,e=a),"x"in l&&typeof l.x<"u"&&(t=l.relative?t+l.x:l.x),"y"in l&&typeof l.y<"u"&&(e=l.relative?e+l.y:l.y),l.type&P.MOVE_TO&&(r=t,a=e),c}}function g2(n=0){ei(n);let t=NaN,e=NaN,r=NaN,a=NaN;return ii((u,l,c,f,d)=>{const v=Math.abs;let E=!1,A=0,T=0;if(u.type&P.SMOOTH_CURVE_TO&&(A=isNaN(t)?0:l-t,T=isNaN(e)?0:c-e),u.type&(P.CURVE_TO|P.SMOOTH_CURVE_TO)?(t=u.relative?l+u.x2:u.x2,e=u.relative?c+u.y2:u.y2):(t=NaN,e=NaN),u.type&P.SMOOTH_QUAD_TO?(r=isNaN(r)?l:2*l-r,a=isNaN(a)?c:2*c-a):u.type&P.QUAD_TO?(r=u.relative?l+u.x1:u.x1,a=u.relative?c+u.y1:u.y2):(r=NaN,a=NaN),u.type&P.LINE_COMMANDS||u.type&P.ARC&&(u.rX===0||u.rY===0||!u.lArcFlag)||u.type&P.CURVE_TO||u.type&P.SMOOTH_CURVE_TO||u.type&P.QUAD_TO||u.type&P.SMOOTH_QUAD_TO){const I=typeof u.x>"u"?0:u.relative?u.x:u.x-l,S=typeof u.y>"u"?0:u.relative?u.y:u.y-c;A=isNaN(r)?typeof u.x1>"u"?A:u.relative?u.x:u.x1-l:r-l,T=isNaN(a)?typeof u.y1>"u"?T:u.relative?u.y:u.y1-c:a-c;const D=typeof u.x2>"u"?0:u.relative?u.x:u.x2-l,k=typeof u.y2>"u"?0:u.relative?u.y:u.y2-c;v(I)<=n&&v(S)<=n&&v(A)<=n&&v(T)<=n&&v(D)<=n&&v(k)<=n&&(E=!0)}return u.type&P.CLOSE_PATH&&v(l-f)<=n&&v(c-d)<=n&&(E=!0),E?[]:u})}function er(n,t,e,r,a,u){return ei(n,t,e,r,a,u),ii((l,c,f,d)=>{const v=l.x1,E=l.x2,A=l.relative&&!isNaN(d),T=typeof l.x<"u"?l.x:A?0:c,I=typeof l.y<"u"?l.y:A?0:f;l.type&P.HORIZ_LINE_TO&&t!==0&&(l.type=P.LINE_TO,l.y=l.relative?0:f),l.type&P.VERT_LINE_TO&&e!==0&&(l.type=P.LINE_TO,l.x=l.relative?0:c),typeof l.x<"u"&&(l.x=l.x*n+I*e+(A?0:a)),typeof l.y<"u"&&(l.y=T*t+l.y*r+(A?0:u)),typeof l.x1<"u"&&(l.x1=l.x1*n+l.y1*e+(A?0:a)),typeof l.y1<"u"&&(l.y1=v*t+l.y1*r+(A?0:u)),typeof l.x2<"u"&&(l.x2=l.x2*n+l.y2*e+(A?0:a)),typeof l.y2<"u"&&(l.y2=E*t+l.y2*r+(A?0:u));function S(k){return k*k}const D=n*r-t*e;if(typeof l.xRot<"u"&&(n!==1||t!==0||e!==0||r!==1))if(D===0)delete l.rX,delete l.rY,delete l.xRot,delete l.lArcFlag,delete l.sweepFlag,l.type=P.LINE_TO;else{const k=l.xRot*Math.PI/180,z=Math.sin(k),W=Math.cos(k),X=1/S(l.rX),$=1/S(l.rY),K=S(W)*X+S(z)*$,tt=2*z*W*(X-$),Z=S(z)*X+S(W)*$,V=K*r*r-tt*t*r+Z*t*t,J=tt*(n*r+t*e)-2*(K*e*r+Z*n*t),nt=K*e*e-tt*n*e+Z*n*n,mt=(Math.atan2(J,V-nt)+Math.PI)%Math.PI/2,It=Math.sin(mt),Ct=Math.cos(mt);l.rX=Math.abs(D)/Math.sqrt(V*S(Ct)+J*It*Ct+nt*S(It)),l.rY=Math.abs(D)/Math.sqrt(V*S(It)-J*It*Ct+nt*S(Ct)),l.xRot=mt*180/Math.PI}return typeof l.sweepFlag<"u"&&0>D&&(l.sweepFlag=+!l.sweepFlag),l})}function m2(n,t=0,e=0){ei(n,t,e);const r=Math.sin(n),a=Math.cos(n);return er(a,r,-r,a,t-t*a+e*r,e-t*r-e*a)}function y2(n,t=0){return ei(n,t),er(1,0,0,1,n,t)}function v2(n,t=n){return ei(n,t),er(n,0,0,t,0,0)}function x2(n){return ei(n),er(1,0,Math.atan(n),1,0,0)}function E2(n){return ei(n),er(1,Math.atan(n),0,1,0,0)}function A2(n=0){return ei(n),er(-1,0,0,1,n,0)}function b2(n=0){return ei(n),er(1,0,0,-1,0,n)}function w2(){return ii((n,t,e)=>P.ARC===n.type?c2(n,n.relative?0:t,n.relative?0:e):n)}function T2(){return ii((n,t,e)=>(n.relative&&(t=0,e=0),P.ARC===n.type&&Ju(n,t,e),n))}function dc(){return n=>({...n})}function _2(){const n=dc(),t=cc(),e=pc(),r=fc(),a=ii((u,l,c)=>{const f=r(e(t(n(u))));function d(E){E>a.maxX&&(a.maxX=E),E<a.minX&&(a.minX=E)}function v(E){E>a.maxY&&(a.maxY=E),E<a.minY&&(a.minY=E)}if(f.type&P.DRAWING_COMMANDS&&(d(l),v(c)),f.type&P.HORIZ_LINE_TO&&d(f.x),f.type&P.VERT_LINE_TO&&v(f.y),f.type&P.LINE_TO&&(d(f.x),v(f.y)),f.type&P.CURVE_TO){d(f.x),v(f.y);const E=lc(l,f.x1,f.x2,f.x);for(const T of E)0<T&&1>T&&d(hc(l,f.x1,f.x2,f.x,T));const A=lc(c,f.y1,f.y2,f.y);for(const T of A)0<T&&1>T&&v(hc(c,f.y1,f.y2,f.y,T))}if(f.type&P.ARC){d(f.x),v(f.y),Ju(f,l,c);const E=f.xRot/180*Math.PI,A=Math.cos(E)*f.rX,T=Math.sin(E)*f.rX,I=-Math.sin(E)*f.rY,S=Math.cos(E)*f.rY,[D,k]=f.phi1<f.phi2?[f.phi1,f.phi2]:-180>f.phi2?[f.phi2+360,f.phi1+360]:[f.phi2,f.phi1],z=([$,K])=>{const Z=Math.atan2(K,$)*180/Math.PI;return Z<D?Z+360:Z},W=ac(I,-A,0).map(z);for(const $ of W)$>D&&$<k&&d(oc(f.cX,A,I,$));const X=ac(S,-T,0).map(z);for(const $ of X)$>D&&$<k&&v(oc(f.cY,T,S,$))}return u});return a.minX=1/0,a.maxX=-1/0,a.minY=1/0,a.maxY=-1/0,a}const Xt={ROUND:f2,TO_ABS:cc,TO_REL:p2,NORMALIZE_HVZ:d2,NORMALIZE_ST:fc,QT_TO_C:pc,INFO:ii,SANITIZE:g2,MATRIX:er,ROTATE:m2,TRANSLATE:y2,SCALE:v2,SKEW_X:x2,SKEW_Y:E2,X_AXIS_SYMMETRY:A2,Y_AXIS_SYMMETRY:b2,A_TO_C:w2,ANNOTATE_ARCS:T2,CLONE:dc,CALCULATE_BOUNDS:_2};class gc{round(t){return this.transform(Xt.ROUND(t))}toAbs(){return this.transform(Xt.TO_ABS())}toRel(){return this.transform(Xt.TO_REL())}normalizeHVZ(t,e,r){return this.transform(Xt.NORMALIZE_HVZ(t,e,r))}normalizeST(){return this.transform(Xt.NORMALIZE_ST())}qtToC(){return this.transform(Xt.QT_TO_C())}aToC(){return this.transform(Xt.A_TO_C())}sanitize(t){return this.transform(Xt.SANITIZE(t))}translate(t,e){return this.transform(Xt.TRANSLATE(t,e))}scale(t,e){return this.transform(Xt.SCALE(t,e))}rotate(t,e,r){return this.transform(Xt.ROTATE(t,e,r))}matrix(t,e,r,a,u,l){return this.transform(Xt.MATRIX(t,e,r,a,u,l))}skewX(t){return this.transform(Xt.SKEW_X(t))}skewY(t){return this.transform(Xt.SKEW_Y(t))}xSymmetry(t){return this.transform(Xt.X_AXIS_SYMMETRY(t))}ySymmetry(t){return this.transform(Xt.Y_AXIS_SYMMETRY(t))}annotateArcs(){return this.transform(Xt.ANNOTATE_ARCS())}}const C2=n=>n===" "||n===" "||n==="\r"||n===`
|
|
39
|
+
`,mc=n=>48<=n.charCodeAt(0)&&n.charCodeAt(0)<=57;class S2 extends gc{curNumber="";curCommandType=-1;curCommandRelative=!1;canParseCommandOrComma=!0;curNumberHasExp=!1;curNumberHasExpDigits=!1;curNumberHasDecimal=!1;curArgs=[];constructor(){super()}finish(t=[]){if(this.parse(" ",t),this.curArgs.length!==0||!this.canParseCommandOrComma)throw new SyntaxError("Unterminated command at the path end.");return t}parse(t,e=[]){const r=a=>{e.push(a),this.curArgs.length=0,this.canParseCommandOrComma=!0};for(let a=0;a<t.length;a++){const u=t[a],l=this.curCommandType===P.ARC&&(this.curArgs.length===3||this.curArgs.length===4)&&this.curNumber.length===1&&(this.curNumber==="0"||this.curNumber==="1"),c=mc(u)&&(this.curNumber==="0"&&u==="0"||l);if(mc(u)&&!c){this.curNumber+=u,this.curNumberHasExpDigits=this.curNumberHasExp;continue}if(u==="e"||u==="E"){this.curNumber+=u,this.curNumberHasExp=!0;continue}if((u==="-"||u==="+")&&this.curNumberHasExp&&!this.curNumberHasExpDigits){this.curNumber+=u;continue}if(u==="."&&!this.curNumberHasExp&&!this.curNumberHasDecimal&&!l){this.curNumber+=u,this.curNumberHasDecimal=!0;continue}if(this.curNumber&&this.curCommandType!==-1){const f=Number(this.curNumber);if(isNaN(f))throw new SyntaxError(`Invalid number ending at ${a}`);if(this.curCommandType===P.ARC){if(this.curArgs.length===0||this.curArgs.length===1){if(0>f)throw new SyntaxError(`Expected positive number, got "${f}" at index "${a}"`)}else if((this.curArgs.length===3||this.curArgs.length===4)&&this.curNumber!=="0"&&this.curNumber!=="1")throw new SyntaxError(`Expected a flag, got "${this.curNumber}" at index "${a}"`)}this.curArgs.push(f),this.curArgs.length===D2[this.curCommandType]&&(P.HORIZ_LINE_TO===this.curCommandType?r({type:P.HORIZ_LINE_TO,relative:this.curCommandRelative,x:f}):P.VERT_LINE_TO===this.curCommandType?r({type:P.VERT_LINE_TO,relative:this.curCommandRelative,y:f}):this.curCommandType===P.MOVE_TO||this.curCommandType===P.LINE_TO||this.curCommandType===P.SMOOTH_QUAD_TO?(r({type:this.curCommandType,relative:this.curCommandRelative,x:this.curArgs[0],y:this.curArgs[1]}),P.MOVE_TO===this.curCommandType&&(this.curCommandType=P.LINE_TO)):this.curCommandType===P.CURVE_TO?r({type:P.CURVE_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x2:this.curArgs[2],y2:this.curArgs[3],x:this.curArgs[4],y:this.curArgs[5]}):this.curCommandType===P.SMOOTH_CURVE_TO?r({type:P.SMOOTH_CURVE_TO,relative:this.curCommandRelative,x2:this.curArgs[0],y2:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===P.QUAD_TO?r({type:P.QUAD_TO,relative:this.curCommandRelative,x1:this.curArgs[0],y1:this.curArgs[1],x:this.curArgs[2],y:this.curArgs[3]}):this.curCommandType===P.ARC&&r({type:P.ARC,relative:this.curCommandRelative,rX:this.curArgs[0],rY:this.curArgs[1],xRot:this.curArgs[2],lArcFlag:this.curArgs[3],sweepFlag:this.curArgs[4],x:this.curArgs[5],y:this.curArgs[6]})),this.curNumber="",this.curNumberHasExpDigits=!1,this.curNumberHasExp=!1,this.curNumberHasDecimal=!1,this.canParseCommandOrComma=!0}if(!C2(u)){if(u===","&&this.canParseCommandOrComma){this.canParseCommandOrComma=!1;continue}if(u==="+"||u==="-"||u==="."){this.curNumber=u,this.curNumberHasDecimal=u===".";continue}if(c){this.curNumber=u,this.curNumberHasDecimal=!1;continue}if(this.curArgs.length!==0)throw new SyntaxError(`Unterminated command at index ${a}.`);if(!this.canParseCommandOrComma)throw new SyntaxError(`Unexpected character "${u}" at index ${a}. Command cannot follow comma`);if(this.canParseCommandOrComma=!1,u==="z"||u==="Z"){e.push({type:P.CLOSE_PATH}),this.canParseCommandOrComma=!0,this.curCommandType=-1;continue}else if(u==="h"||u==="H")this.curCommandType=P.HORIZ_LINE_TO,this.curCommandRelative=u==="h";else if(u==="v"||u==="V")this.curCommandType=P.VERT_LINE_TO,this.curCommandRelative=u==="v";else if(u==="m"||u==="M")this.curCommandType=P.MOVE_TO,this.curCommandRelative=u==="m";else if(u==="l"||u==="L")this.curCommandType=P.LINE_TO,this.curCommandRelative=u==="l";else if(u==="c"||u==="C")this.curCommandType=P.CURVE_TO,this.curCommandRelative=u==="c";else if(u==="s"||u==="S")this.curCommandType=P.SMOOTH_CURVE_TO,this.curCommandRelative=u==="s";else if(u==="q"||u==="Q")this.curCommandType=P.QUAD_TO,this.curCommandRelative=u==="q";else if(u==="t"||u==="T")this.curCommandType=P.SMOOTH_QUAD_TO,this.curCommandRelative=u==="t";else if(u==="a"||u==="A")this.curCommandType=P.ARC,this.curCommandRelative=u==="a";else throw new SyntaxError(`Unexpected character "${u}" at index ${a}.`)}}return e}transform(t){return Object.create(this,{parse:{value(r,a=[]){const u=Object.getPrototypeOf(this).parse.call(this,r);for(const l of u){const c=t(l);Array.isArray(c)?a.push(...c):a.push(c)}return a}}})}}class P extends gc{commands;constructor(t){super(),typeof t=="string"?this.commands=P.parse(t):this.commands=t}encode(){return P.encode(this.commands)}getBounds(){const t=Xt.CALCULATE_BOUNDS();return this.transform(t),t}transform(t){const e=[];for(const r of this.commands){const a=t(r);Array.isArray(a)?e.push(...a):e.push(a)}return this.commands=e,this}static encode(t){return l2(t)}static parse(t){const e=new S2,r=[];return e.parse(t,r),e.finish(r),r}static CLOSE_PATH=1;static MOVE_TO=2;static HORIZ_LINE_TO=4;static VERT_LINE_TO=8;static LINE_TO=16;static CURVE_TO=32;static SMOOTH_CURVE_TO=64;static QUAD_TO=128;static SMOOTH_QUAD_TO=256;static ARC=512;static LINE_COMMANDS=P.LINE_TO|P.HORIZ_LINE_TO|P.VERT_LINE_TO;static DRAWING_COMMANDS=P.HORIZ_LINE_TO|P.VERT_LINE_TO|P.LINE_TO|P.CURVE_TO|P.SMOOTH_CURVE_TO|P.QUAD_TO|P.SMOOTH_QUAD_TO|P.ARC}const D2={[P.MOVE_TO]:2,[P.LINE_TO]:2,[P.HORIZ_LINE_TO]:1,[P.VERT_LINE_TO]:1,[P.CLOSE_PATH]:0,[P.QUAD_TO]:4,[P.SMOOTH_QUAD_TO]:2,[P.CURVE_TO]:6,[P.SMOOTH_CURVE_TO]:4,[P.ARC]:7},_r=new L,un=new L;class N2 extends ve{type="path";pathData;paths=[];_i=-1;_command;_previousCommand;_start=new L;_control=new L;_current=new L;_ps=[];_angles=[];constructor(t,e){super(t,e),this.initPaths()}initPaths(){var r,a;let t=this.getAttribute("d").toString().replace(/([+\-.])\s+/gm,"$1").replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g,"");if(this.pathData=new P(t),!((a=(r=this.pathData)==null?void 0:r.commands)!=null&&a.length))return;this._reset();const e=new di;for(;!this._isEnd();){const u=this._next();switch(u.type){case P.MOVE_TO:this.moveTo(e);break;case P.LINE_TO:this.lineTo(e);break;case P.HORIZ_LINE_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.VERT_LINE_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.CURVE_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.SMOOTH_CURVE_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.QUAD_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.SMOOTH_QUAD_TO:console.error(`path ${u.type} implemented not yet.`);break;case P.ARC:this.arc(e);break;case P.CLOSE_PATH:this.closePath(e);break;default:console.error(`path ${u} implemented not yet.`);break}}this.paths.push(e)}moveTo(t){return _r.copy(this._getAsCurrentPoint()),this._start.copy(this._current),t.moveTo(_r.x,_r.y),this}lineTo(t){return un.copy(this._getAsCurrentPoint()),t.lineTo(un.x,un.y),this}arc(t){_r.copy(this._current),un.copy(this._getAsCurrentPoint());const e=_r.x,r=_r.y,a=un.x,u=un.y,l=this._command.lArcFlag,c=this._command.sweepFlag,f=this._command.rX,d=this._command.rY,v=this._command.xRot;let E=O2(e,r,a,u,l,c,f,d,v),A=E[2]>E[3]?E[2]:E[3];return t.arc(E[0],E[1],A,E[4],E[4]+E[5],!!(E[7]-1)),this}closePath(t){return this._current.copy(this._start),t.closePath(),this}_reset(){this._i=-1,this._command=void 0,this._previousCommand=void 0,this._start.set(0,0),this._control.set(0,0),this._current.set(0,0),this._ps.length=0,this._angles.length=0}_isEnd(){var t;return this._i>=(((t=this.pathData.commands)==null?void 0:t.length)||0)-1}_next(){const t=this.pathData.commands[++this._i];return this._previousCommand=this._command,this._command=t,this._command}_getAsCurrentPoint(t,e){return _r.copy(this._current),this._current.copy(this._getPoint(t,e)),this._current}_getPoint(t="x",e="y"){return this._makeAbsolute(new L(this._command[t],this._command[e]))}_makeAbsolute(t){return this._command.relative?t.add(this._current):t}_getAsControlPoint(t,e){return this._control.copy(this._getPoint(t,e)),this._control}_getReflectedControlPoint(){var e;const t=(e=this._previousCommand)==null?void 0:e.type;return t!==P.CURVE_TO&&t!==P.SMOOTH_CURVE_TO&&t!==P.QUAD_TO&&t!==P.SMOOTH_QUAD_TO?this._current:(this._current.set(this._command.cx,this._command.cy),this._control.set(this._command.ox,this._command.oy),new L(2*this._current.x-this._control.x,2*this._current.y-this._control.y))}}function O2(n,t,e,r,a,u,l,c,f){let d=f*(Math.PI/180),v=Math.cos(d)*(n-e)/2+Math.sin(d)*(t-r)/2,E=-1*Math.sin(d)*(n-e)/2+Math.cos(d)*(t-r)/2,A=v*v/(l*l)+E*E/(c*c);A>1&&(l*=Math.sqrt(A),c*=Math.sqrt(A));let T=Math.sqrt((l*l*(c*c)-l*l*(E*E)-c*c*(v*v))/(l*l*(E*E)+c*c*(v*v)));a===u&&(T*=-1),isNaN(T)&&(T=0);let I=T*l*E/c,S=T*-c*v/l,D=(n+e)/2+Math.cos(d)*I-Math.sin(d)*S,k=(t+r)/2+Math.sin(d)*I+Math.cos(d)*S,z=function(V){return Math.sqrt(V[0]*V[0]+V[1]*V[1])},W=function(V,J){return(V[0]*J[0]+V[1]*J[1])/(z(V)*z(J))},X=function(V,J){return(V[0]*J[1]<V[1]*J[0]?-1:1)*Math.acos(W(V,J))},$=X([1,0],[(v-I)/l,(E-S)/c]),K=[(v-I)/l,(E-S)/c],tt=[(-1*v-I)/l,(-1*E-S)/c],Z=X(K,tt);return W(K,tt)<=-1&&(Z=Math.PI),W(K,tt)>=1&&(Z=0),u===0&&Z>0&&(Z=Z-2*Math.PI),u===1&&Z<0&&(Z=Z+2*Math.PI),[D,k,l,c,$,Z,d,u]}class M2 extends ve{type="g";constructor(t,e){super(t,e)}}class B2 extends ve{type="use";symbolId;cachedElement;constructor(t,e){super(t,e),this.symbolId=ht.replace(this.getHrefAttribute().toString()||"","#",""),this.cachedElement||(this.cachedElement=this.getHrefAttribute().getDefinition())}}class I2 extends ve{type="circle";paths=[];constructor(t,e){super(t,e),this.initPath()}initPath(){this.paths.length=0;const t=new di,e=this.getAttribute("cx").getPixels("x"),r=this.getAttribute("cy").getPixels("y"),a=this.getAttribute("r").getPixels();a>0&&t.arc(e,r,a,0,Math.PI*2,!1),this.paths.push(t)}}class P2 extends ve{type="text";text;fontSize;constructor(t,e){super(t,e),this.text=this.getTextFromNode()}getTextFromNode(t){const e=t||this.node,r=Array.from(e.parentNode.childNodes),a=r.indexOf(e),u=r.length-1;let l=(e.textContent||"").replace(/(?!\u3000)\s+/gm," ");return a===0&&(l=ht.trimStart(l)),a===u&&(l=ht.trimEnd(l)),l}getFontSize(){var e;const t=(e=this.parent)==null?void 0:e.getStyle("font-size").getPixels(!0);return t?this.text==="Mechanical Room"?20:t:12}}const L2={view:u2,defs:s2,style:a2,symbol:o2,path:N2,g:M2,use:B2,circle:I2,text:P2,unknown:sc};class R2 extends ve{type="svg";definitions={};rootEmSize=yc;emSize=yc;constructor(t){super(null,t),this.definitions={}}createElement(t){const e=t.nodeName.replace(/^[^:]+:/,""),r=L2[e];return r?new r(this,t):new sc(this,t)}}const yc=16;class ju extends Oh{parsedData={};data={};constructor(t){super(t)}static parse(t,e){const r=[];return t&&(K2(t,r),em(r)),r}load(t,e,r,a){const u=this,l=new g0(u.manager);l.setPath(u.path),l.setRequestHeader(u.requestHeader),l.setWithCredentials(u.withCredentials),l.load(t,function(c){try{e&&e(c)}catch(f){a?a(f):console.error(f),u.manager.itemError(t)}},r,a)}parseFile(t){if(!t)return;const e=new Wh.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",parseAttributeValue:!0});return this.parsedData=e.parse(t),this.parsedData}static trans2Ro(t,e=!0){let a=new Wh.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",parseAttributeValue:!0}).parse(t),u=F2(a);return us(u,"svg",void 0,a.svg,e)}static getSvgElement(t){let e=new gt.window.DOMParser().parseFromString(t,"image/svg+xml");return new R2(e.documentElement)}selectById(t){this.data}}function F2(n){var e,r,a,u,l,c,f,d,v,E;let t={};return(e=n.svg)!=null&&e.view&&(t.view=U2((r=n.svg)==null?void 0:r.view)),(a=n.svg)!=null&&a.viewBox&&(t.viewBox=new bt().setFromMinMaxString((u=n.svg)==null?void 0:u.viewBox)),(l=n.svg)!=null&&l.version&&(t.version=(c=n.svg)==null?void 0:c.version),(f=n.svg)!=null&&f.archibusversion&&(t.userData={version:(d=n.svg)==null?void 0:d.archibusversion}),(v=n.svg)!=null&&v.defs&&(t.defs=k2((E=n.svg)==null?void 0:E.defs)),t}function U2(n){return{id:n.id,units:n.units,viewBox:new bt().setFromMinMaxString(n.viewBox)}}function k2(n){let t={};return t.style=q2(n==null?void 0:n.style),t.symbol=H2(n==null?void 0:n.symbol),t}const Cr={};function q2(n){const t=/\.([^\s{]+)\s*\{\s*([^}]+)\s*\}/g;let e;for(;(e=t.exec(n))!==null;){const r=e[1],a=e[2];Cr[r]={};const u=/([^:]+):\s*([^;]+);?/g;let l;for(;(l=u.exec(a))!==null;){const c=ht.camelCase(l[1].trim()),f=l[2].trim();Cr[r][c]=f}}return Cr}function H2(n){let t={};if(!(n!=null&&n.length))return t;for(let e=0,r=n.length;e<r;e++){let a=n[e];a.id&&(t[a.id]=us({defs:{symbol:t}},"symbol",void 0,n[e],!0))}return t}const as=["use","path","circle","text"];function us(n,t,e,r,a){let u;if(typeof r!="object")return u;if(Array.isArray(r)){u=new Hu({name:e.id,userData:{id:e.id}});for(let l=0,c=r.length;l<c;l++){let f=us(n,t,e,r[l],a);f&&u.add(f)}return t==="text"&&u.children.length===1?(u=u.children[0],u.updateMatrix(),u):(u.updateMatrix(),u)}if(!t||t==="svg"||t==="g"||t==="symbol"){if(u=new Hu({name:r.id,userData:{id:r.id,tag:t}}),Ec(r,a,u),r.style=vc(n,e,r),r.g){let l=us(n,"g",r,r.g,a);l&&u.add(l)}for(let l=0,c=as.length;l<c;l++)if(r[as[l]]){let f=us(n,as[l],r,r[as[l]],a);f&&u.add(f)}return u}if(as.includes(t)){r.style=vc(n,e,r);const l=z2(n,t,r);return l?(Ec(r,a,l),l):void 0}return u}function vc(n,t,e){let r={};return t&&(Cr[t==null?void 0:t.class]&&ht.merge(r,Cr[t.class]),xc(n,t,r)),Cr[e.class]&&ht.merge(r,Cr[e.class]),xc(n,e,r),r}function xc(n,t,e){t.style&&ht.merge(e,t.style);let r=parseFloat(ht.get(t,"stroke-width")||"")||0;return r>0&&(e.strokeWidth=V2(n,r)),e}const W2=new bt,ca=new L;function V2(n,t){var r,a,u;if(!t)return t;if(!((r=n==null?void 0:n.view)!=null&&r.viewBox))return 1;W2.copy((a=n==null?void 0:n.view)==null?void 0:a.viewBox).getSize(ca);let e=Math.round(t/100*((ca==null?void 0:ca.length())||1));return((u=n==null?void 0:n.view)==null?void 0:u.units)==="inches"&&(e=Math.max(Math.ceil(e/25),1)),e}function z2(n,t,e){var d,v,E,A;let r,a=e.fill||((d=e.style)==null?void 0:d.fill)||void 0,u=e.fillOpacity||((v=e.style)==null?void 0:v.fillOpacity)||void 0;a&&u&&(a=new le(a).setA(u).getStyle());let l=e.strokeWidth||((E=e.style)==null?void 0:E.strokeWidth)||1,c=e.stroke||((A=e.style)==null?void 0:A.stroke)||oe.black;const f=[{name:"path",fill:a,lineWidth:l,stroke:c}];if(t==="path"){let T=bc(e.d,!0);if(!Array.isArray(T))return f[0].path=T,Ac(t,e,f);r=new Hu({name:e.id,userData:{id:e.id,tag:t}});for(let I=0,S=T.length;I<S;I++){let D=ht.cloneDeep(f);D[0].path=T[I];const k=Ac(t,e,D);r.add(k),k.updateMatrix()}return r}return t==="use"?G2(n,t,e):t==="text"?X2(t,e):t==="circle"?Y2(t,e,f):r}function Ec(n,t,e){if((n.selectable===!0||n.selectable==="true")&&e.setSelectable(!0),n.x!==void 0&&!isNaN(Number(n.x))&&(e.position.x=n.x),n.y!==void 0&&!isNaN(Number(n.y))&&(e.position.y=n.y*(t?-1:1)),n.transform){let r=$2(n.transform);r.tx&&(e.position.x=r.tx),r.ty&&(e.position.y=r.ty*(t?-1:1)),r.rx&&(e.position.x=r.rx),r.ry&&(e.position.y=r.ry*(t?-1:1)),r.ra&&(e.rotation.x=Js(r.ra*(t?-1:1))),r.sx&&(e.scaled.x=r.sx),r.sy&&(e.scaled.y=r.sy)}return e.updateMatrix(),e}function $2(n){const t={},e=/(\w+)\(([^)]+)\)/g;let r;for(;(r=e.exec(n))!==null;){const[a,u,l]=r,c=l.split(",").map(Number);switch(u){case"scale":t.sx=c[0],t.sy=c.length>1?c[1]:c[0];break;case"translate":isNaN(Number(c[0]))||(t.tx=c[0]),c.length>1&&!isNaN(Number(c[1]))&&(t.ty=c[1]);break;case"rotate":t.ra=c[0],t.rx=c[1],t.ry=c[2];break}}return t}function G2(n,t,e){var u,l;let r,a=ht.get(e,"xlink:href");if(ht.startsWith(a,"#")&&(a=a.substring(1)),(u=n.defs)!=null&&u.symbol&&((l=n.defs)!=null&&l.symbol[a]))return r=n.defs.symbol[a].clone(),ht.merge(r.userData,{id:e.id,tag:t}),r}function Ac(n,t,e){return new tc({name:t.id||n,parsedSvg:e,composeNode:!0,userData:{id:t.id,tag:n}})}function X2(n,t){let e=ht.get(t,"#text");if(e)return new r2({text:e,fontSize:20,fill:oe.black,wireframe:!1,flipY:!0,userData:{id:t.id,tag:n}})}function Y2(n,t,e){return e[0].cx=t.cx,e[0].cy=t.cy,e[0].r=t.r,_c(e[0]),new tc({name:t.id||n,parsedSvg:e,composeNode:!0,alignCenter:!0,userData:{id:t.id,tag:n}})}const Z2=["x","y","lineWidth","width","height","rx","cx","cy","r"];function K2(n,t=[]){if(!n)throw new Error("input error");const e=n.match(/<(\w+)([^<]+)>/g);if(!e||!e.length)return t;let r="",a=[],u="";for(let l=0,c=e.length;l<c;l++)r=e[l].replace(/[<>]/g,""),a=r.split(" "),!(!a||!a.length)&&(u=a[0],!(u!=="path"&&u!=="clipPath"&&u!=="rect"&&u!=="circle"&&u!=="text"&&u!=="polygon")&&(r.indexOf("class")>=0&&(e[l]=j2(n,e[l])),tm(e[l],t)));return t}function Q2(n){const t=/<style>([\s\S]*?)<\/style>/,e=n.match(t);if(e&&e.length>1)return e[1]}function J2(n){const t={},e=Q2(n);if(!e)return t;const r=/\.([\w-]+)\s*\{([\s\S]*?)\}/g;let a;for(;(a=r.exec(e))!==null;){const u=a[1],l=a[2];t[u]={};const c=/([\w-]+)\s*:\s*([^;]+)/g;let f;for(;(f=c.exec(l))!==null;){const d=f[1],v=f[2];t[u][d]=v.trim()}}return t}function j2(n,t){let e=t.match(/class="([^"]+)"/);if(!e)return t;const r=e[0],a=J2(n),u=[];return Object.keys(a).forEach(l=>{Object.keys(a[l]).forEach(c=>{u.push(c+'="'+a[l][c]+'"')})}),!u||!u.length||(t=t.replaceAll(r,u.join(" "))),t}function tm(n,t=[]){const r=n.replace(/[<>]/g,"").split(" ");if(!r||!r.length)return t;const a={name:""};let u="",l=!1;for(let c=0,f=r.length;c<f;c++)if(l=r[c].indexOf("=")>=0,!c)a.name=r[c];else if(l){const d=r[c].split("=");d[0]==="stroke-width"?d[0]="lineWidth":d[0]==="stroke-linecap"&&(d[0]="strokeLinecap"),a[d[0]]=d[1].replace(/\"/g,""),u=d[0]}else l||(a[u]+=" "+r[c].replace(/\"/g,""));for(const c in a)Z2.indexOf(c)>=0&&(a[c]=parseFloat(a[c]));return t.push(a),t}function em(n=[],t){for(let e=0,r=n.length;e<r;e++)switch(n[e].name){case"path":im(n[e]);break;case"clipPath":break;case"rect":nm(n[e]);break;case"circle":_c(n[e]);break;case"text":break;case"polygon":sm(n[e]);break;default:delete n[e].path;break}return n}const on=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];function im(n){!n.d||!n.d.length||(n.path=bc(n.d,!1))}const rm=100;function bc(n,t=!1){n=ht.trim(n),n=n.replace(new RegExp(" ","g"),",").replace(new RegExp("M","g"),"|M");const e=ht.split(n,"|");if(e!=null&&e.length&&e[0]===""&&e.shift(),!t||e.length<=rm*2){let l=[];for(let c=0,f=e.length;c<f;c++){let d=e[c];for(let E=0,A=on.length;E<A;E++)d=d.replace(new RegExp(on[E],"g"),"|"+on[E]);let v=d.split("|");v!=null&&v.length&&v[0]===""&&v.shift(),l=l.concat(v)}return wc(l)}let r=[];for(let l=0,c=e.length;l<c;l++){let f=/M\s*(-?\d+(\.\d+)?),\s*(-?\d+(\.\d+)?)/g.exec(e[l]);f&&(f==null?void 0:f.length)>3&&r.push({x:parseFloat(f[1]),y:parseFloat(f[3]),cms:e[l]})}r=ht.sortBy(r,l=>L.getLength({x:l.x,y:l.y}));let a=ht.chunk(r,Math.floor(r.length/10)),u=[];for(let l=0,c=a.length;l<c;l++){let f=[];for(let d=0,v=a[l].length;d<v;d++){let E=a[l][d].cms;for(let T=0,I=on.length;T<I;T++)E=E.replace(new RegExp(on[T],"g"),"|"+on[T]);let A=E.split("|");A!=null&&A.length&&A[0]===""&&A.shift(),f=f.concat(A)}u.push(wc(f))}return u}function wc(n){let t=new di;const e=[];let r=0,a=0;const u=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let l,c="";for(let f=0,d=n.length;f<d;f++){let v=n[f],E=v.charAt(0);for(v=v.slice(1),e.length=0;l=u.exec(v);)e.push(l[0]);const A=[];for(let I=0,S=e.length;I<S;I++){if(e[I]==="00"){A.push(0,0);continue}let D=parseFloat(e[I]);isNaN(D)?A.push(0):A.push(D)}let T=[];for(;A.length>0&&!isNaN(A[0]);){let I=r,S=a,D,k,z,W,X,$,K,tt,Z;switch(E){case"M":I=r=A.shift()||0,S=a=A.shift()||0,t.moveTo(r,a);break;case"m":let V=A.shift()||0,J=A.shift()||0;r+=V,a+=J,c==="z"&&(r=I+V,a=S+J),t.moveTo(r,a);break;case"l":r+=A.shift()||0,a+=A.shift()||0,t.lineTo(r,a);break;case"L":r=A.shift()||0,a=A.shift()||0,t.lineTo(r,a);break;case"h":r+=A.shift()||0,t.lineTo(r,a);break;case"H":r=A.shift()||0,t.lineTo(r,a);break;case"v":a+=A.shift()||0,t.lineTo(r,a);break;case"V":a=A.shift()||0,t.lineTo(r,a);break;case"C":T.length=0,T.push(A.shift()||0,A.shift()||0,A.shift()||0,A.shift()||0),r=A.shift()||0,a=A.shift()||0,t.bezierCurveTo(T[0],T[1],T[2],T[3],r,a);break;case"c":T.length=0,T.push(r+(A.shift()||0),a+(A.shift()||0),r+(A.shift()||0),a+(A.shift()||0)),r+=A.shift()||0,a+=A.shift()||0,t.bezierCurveTo(T[0],T[1],T[2],T[3],r,a);break;case"S":D=r,k=a,c==="C"&&(D=r+(r-T[2]),k=a+(a-T[3])),T.length=0,T.push(D,k,A.shift()||0,A.shift()||0),r=A.shift()||0,a=A.shift()||0,t.bezierCurveTo(T[0],T[1],T[2],T[3],r,a);break;case"s":D=r,k=a,c==="C"&&(D=r+(r-T[2]),k=a+(a-T[3])),T.length=0,T.push(D,k,r+(A.shift()||0),a+(A.shift()||0)),r+=A.shift()||0,a+=A.shift()||0,t.bezierCurveTo(T[0],T[1],T[2],T[3],r,a);break;case"Q":T.length=0,T.push(A.shift()||0,A.shift()||0),r=A.shift()||0,a=A.shift()||0,t.quadraticCurveTo(T[0],T[1],r,a);break;case"q":T.length=0,T.push(r+(A.shift()||0),a+(A.shift()||0)),r+=A.shift()||0,a+=A.shift()||0,t.quadraticCurveTo(T[0],T[1],r,a);break;case"T":D=r,k=a,c==="Q"&&(D=r+(r-T[0]),k=a+(a-T[1])),r=A.shift()||0,a=A.shift()||0,t.quadraticCurveTo(D,k,r,a);break;case"t":D=r,k=a,c==="Q"&&(D=r+(r-T[0]),k=a+(a-T[1])),r+=A.shift()||0,a+=A.shift()||0,t.quadraticCurveTo(D,k,r,a);break;case"A":z=A.shift()||0,W=A.shift()||0,X=A.shift()||0,$=A.shift()||0,K=A.shift()||0,tt=r,Z=a,r=A.shift()||0,a=A.shift()||0,T=Tc(tt,Z,r,a,$,K,z,W,X),t.arc(T[0],T[1],T[2]>T[3]?T[2]:T[3],T[4],T[4]+T[5],!!(T[7]-1));break;case"a":z=A.shift()||0,W=A.shift()||0,X=A.shift()||0,$=A.shift()||0,K=A.shift()||0,tt=r,Z=a,r+=A.shift()||0,a+=A.shift()||0,T=Tc(tt,Z,r,a,$,K,z,W,X),t.arc(T[0],T[1],T[2]>T[3]?T[2]:T[3],T[4],T[4]+T[5],!!(T[7]-1)),console.log("arc: ",v,tt,Z,r,a,$,K,z,W,X);break;case"z":t.closePath();break;default:A.shift()}}c=E,(E==="z"||E==="Z")&&t.closePath()}return t}function Tc(n,t,e,r,a,u,l,c,f){let d=f*(Math.PI/180),v=Math.cos(d)*(n-e)/2+Math.sin(d)*(t-r)/2,E=-1*Math.sin(d)*(n-e)/2+Math.cos(d)*(t-r)/2,A=v*v/(l*l)+E*E/(c*c);A>1&&(l*=Math.sqrt(A),c*=Math.sqrt(A));let T=Math.sqrt((l*l*(c*c)-l*l*(E*E)-c*c*(v*v))/(l*l*(E*E)+c*c*(v*v)));a===u&&(T*=-1),isNaN(T)&&(T=0);let I=T*l*E/c,S=T*-c*v/l,D=(n+e)/2+Math.cos(d)*I-Math.sin(d)*S,k=(t+r)/2+Math.sin(d)*I+Math.cos(d)*S,z=function(V){return Math.sqrt(V[0]*V[0]+V[1]*V[1])},W=function(V,J){return(V[0]*J[0]+V[1]*J[1])/(z(V)*z(J))},X=function(V,J){return(V[0]*J[1]<V[1]*J[0]?-1:1)*Math.acos(W(V,J))},$=X([1,0],[(v-I)/l,(E-S)/c]),K=[(v-I)/l,(E-S)/c],tt=[(-1*v-I)/l,(-1*E-S)/c],Z=X(K,tt);return W(K,tt)<=-1&&(Z=Math.PI),W(K,tt)>=1&&(Z=0),u===0&&Z>0&&(Z=Z-2*Math.PI),u===1&&Z<0&&(Z=Z+2*Math.PI),[D,k,l,c,$,Z,d,u]}function nm(n){n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0||(n.path=new di,n.path.moveTo(n.x,n.y),n.path.lineTo(n.x+n.width,n.y),n.path.lineTo(n.x+n.width,n.y+n.height),n.path.lineTo(n.x,n.y+n.height),n.path.lineTo(n.x,n.y))}function _c(n){n.cx===void 0||n.cy===void 0||n.r===void 0||(n.path=new di,n.path.arc(n.cx,n.cy,n.r,0,Math.PI*2,!1))}function sm(n){if(n.points===void 0)return;n.path=new di;const t=/([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g,e=n.points.match(t);if(e)for(let r=0,a=e.length;r<a;r++){const u=e[r].split(","),l=parseFloat(u[0]),c=parseFloat(u[1]);r?n.path.lineTo(l,c):n.path.moveTo(l,c)}}const Cc="ae",Sc="-",fa="rm-assets",Dc="rm-labels";function am(n){return n+Sc+na.ASSETS}function Nc(n){return n+Sc+na.LABELS}const um={rm:["su-assets","su-labels","eq-assets","eq-labels","fn-assets","fn-labels"],su:[fa,Dc,"eq-assets","eq-labels","fn-assets","fn-labels"],eq:[fa,Dc,"su-assets","su-labels","fn-assets","fn-labels"]};class om{svg;svgRoot;layers=[];elementsMap={};boundingBoxMap={};boundingBox=new bt;svgSkeletons=[];data;_exceptTypes=["view"];_exceptIds=["viewer","mirror"];_lvi=0;bindSvg(t){return this.svg=t,this.svgRoot=wh(this.svg),this.layers=this.getLayers(2),this.getElementsMap(this.svg,this.elementsMap),this}getLayers(t){var e;if(!this.svg)throw new Error("please bind svg first");return t===2&&((e=this.layers)!=null&&e.length)?this.layers:(this.layers=this._getSvgLayer(this.svg,t),this.layers)}_getSvgLayer(t,e=0,r=0,a=[]){var c;let u,l=t.id;if(this._exceptTypes.includes(t.tagName)||t.tagName==="defs")return this._lvi--,a;if(e&&this._lvi>e)return a;l&&!this._exceptIds.includes(l)&&(u={id:l,label:l,children:[]},a.push(u)),this._lvi++;for(let f=0,d=t.children.length;f<d;f++)u?this._getSvgLayer(t.children[f],e,this._lvi,u.children):this._getSvgLayer(t.children[f],e,this._lvi,a);return((c=u==null?void 0:u.children)==null?void 0:c.length)===0&&delete u.children,this._lvi=r,a}getElementsMap(t,e={}){return this.traverseSvg(t,r=>{r!==t&&r.id&&(e[r.id]=r)}),e}computeBoundingBoxMap(){return Object.keys(this.boundingBoxMap).length?this.boundingBoxMap:(this.traverseSvg(this.svg,t=>{if(!t.id)return;const e=t.getBoundingClientRect(),r=new bt(new L(e.left,e.top),new L(e.right,e.bottom));this.boundingBoxMap[t.id]=r.round(),this.boundingBox.expandByBox(r)}),this.boundingBoxMap)}updateLayersVisibility(t,e=!1){if(console.log("updateLayersVisibility: ",t,e,Object.keys(this.elementsMap).length),!this.elementsMap)throw new Error("please bind svg first");this._updateAllLayersVisibility(!e),t!=null&&t.length||(t=["background"]);for(let r=0,a=t.length;r<a;r++){const u=this.getElementById(t[r]);u&&this._updateLayersVisibility(u,e,!0,!0)}}_updateAllLayersVisibility(t=!1){Object.values(this.elementsMap).forEach(e=>{e.tagName==="svg"||e.tagName==="symbol"||!e.getAttribute("id")||(e.style.display=t?"block":"none")})}_updateLayersVisibility(t,e=!1,r=!1,a=!1){var u,l;if(!(!t||t.tagName==="svg"||!t.getAttribute("id"))){if(t.style.display=e?"block":"none",r&&e){let c=t.parentElement;for(;c&&c.tagName!=="svg";)c.style.display=e?"block":"none",c=c.parentElement}if(a&&((u=t.children)==null?void 0:u.length)>0)for(let c=0,f=(l=t.children)==null?void 0:l.length;c<f;c++)this._updateLayersVisibility(t.children[c],e,!1,!0)}}updateVisibilityByAssetType(t,e=!1,r){r||(r=um[t]),this.updateLayersVisibility(r,!e)}updateVisibilityByAssetTypes(t,e=!1,r){if(Array.isArray(t)||(t=[t]),!!(t!=null&&t.length))for(let a=0,u=t.length;a<u;a++)this.updateVisibilityByAssetType(t[a],e,r)}getElementById(t){if(!this.elementsMap)throw new Error("please bind svg first");return this.elementsMap[t]}getElementBoundingBox(t){return this.boundingBoxMap[t]}findSkeletonByPath(t=[]){let e=0,r;const a=Object.keys(this.elementsMap);for(let u=0,l=a.length;u<l;u++){const c=this.elementsMap[a[u]];if(!c)continue;const f=c.getAttribute("d");f&&(f.length<e||(e=f.length,r=c.id?c:c.parent))}return r&&t.push(r),t}setTextInChildren2(t,e){var a;let r;((a=t==null?void 0:t.children)==null?void 0:a.length)<2?(r=Ah("text"),r.setAttribute("dy","1em"),t.appendChild(r)):r=t.children[t.children.length-1],r.innerHTML=e}traverseSvg(t,e){var r;if(!this._exceptTypes.includes(t.tagName)&&!(t.tagName!=="svg"&&t.tagName!=="defs"&&!t.id)&&!(t.tagName==="g"&&((r=t.children)==null?void 0:r.length)===0)){this._exceptIds.includes(t.id)||e(t);for(let a=0,u=t.children.length;a<u;a++)this.traverseSvg(t.children[a],e)}}traverseSvgTLayers(t,e){var r;if(Array.isArray(t)){for(let a=0,u=t.length;a<u;a++)this.traverseSvgTLayers(t[a],e);return}if(e(t),!!((r=t.children)!=null&&r.length))for(let a=0,u=t.children.length;a<u;a++)this.traverseSvgTLayers(t.children[a],e)}getLabelElementsByType(t,e={}){const r=this.getElementById(Nc(t));return r&&this.getElementsMap(r,e),e}getLabelElementById(t,e="rm"){if(!t)return;const r=this.getElementById(t);if(!r)return;let a=r.getAttribute("aid");return a||(a="l-"+e+"-"+t),this.getElementById(a)}setLabelsById(t,e,r="rm"){var l,c;const a=this.getLabelElementById(t,r);if(!a)return;const u=((l=a.children)==null?void 0:l.length)||0;for(let f=0,d=((e==null?void 0:e.length)||0)-(u-1);f<d;f++){const v=Ah("text");v.setAttribute("x","0"),v.setAttribute("y",u+f+"em"),a.appendChild(v)}for(let f=1,d=(c=a.children)==null?void 0:c.length;f<d;f++)a.children[f].textContent=e&&f<=e.length?e[f-1]:""}clearAssetLabelsByType(t="rm"){var a;const e=this.getLabelElementsByType(t),r=ht.keys(e);for(let u=0,l=r.length;u<l;u++){const c=e[r[u]];for(let f=1,d=((a=c.children)==null?void 0:a.length)||0;f<d;f++)c.children[f].textContent=""}}setElementState2selected(t,e=!1){var a;if(!t)return;if(t.tagName==="use"){const u=this._getSymbolBox(t);if(!u)return;e?(a=t.parentNode)==null||a.insertBefore(u,t):t.parentNode&&t.parentNode.contains(u)&&t.parentNode.removeChild(u);return}let r=t.getAttribute("class");r||(r=""),e?r="selected":r=ht.replace(r,"selected","").trim(),t.setAttribute("class",r)}_getSymbolBox(t){var f;if(!t)return;const e=(f=t.getAttribute("xlink:href"))==null?void 0:f.substring(1);if(!e)return;const r=t.id+"-boundingBox";let a=this.getElementById(r);if(a)return a;let u=this.getElementById(e);if(!u)return;const l=this.getElementBoundingBox(t.id);if(!l||l.isEmpty())return;a=document.createElementNS("http://www.w3.org/2000/svg","rect"),a.setAttribute("id",r),a.setAttribute("class","selected"),a.setAttribute("x",l.min.x.toString()),a.setAttribute("y",l.min.y.toString());const c=new L;return l.getSize(c),a.setAttribute("width",c.x.toString()),a.setAttribute("height",c.y.toString()),u.getAttribute("transform")&&a.setAttribute("transform",u.getAttribute("transform")||""),u.getAttribute("style")&&a.setAttribute("style",u.getAttribute("style")||""),this.elementsMap[a.id]=a,a}fontZoom(t,e=1){const r=this.getElementById(t);if(!r)return;let a=r.getAttribute("font-size");a||(a="12");const u=/(\d+)([a-zA-Z%]+)/.exec(a),l=u&&(u==null?void 0:u.length)>2?u[2]:"";let c=Math.round(parseFloat(a)*e*100)/100;r.setAttribute("font-size",c+l)}}class lm{name="SvgPainter";params;chef;constructor(t={},e){this.params=t,this.chef=e}drawSocialDistanceCircles(t,e="http://www.w3.org/2000/svg"){var T,I,S;if(!t)return;const r=$d(t),a=bh(t),u=2*r,l=(I=(T=this.params.socialDistance)==null?void 0:T.colors)!=null&&I.length?(S=this.params.socialDistance)==null?void 0:S.colors:[oe.green,oe.red],c=this.getRadius(a),f=t.querySelector(`#${fa}`),d=f==null?void 0:f.querySelectorAll("path");if(!f||!(d!=null&&d.length))return;let v,E;const A=new Array;for(let D=0,k=(d==null?void 0:d.length)||0;D<k;D++){if(v=d[D],E=v.getAttribute("id"),!E)continue;const z=this.chef.getElementBoundingBox(E);if(!z)continue;const W=new L;z.getCenter(W),A.push({id:E,cp:W})}for(let D=0,k=A.length;D<k;D++){A[D].color=l[0];for(let z=0,W=k;z<W;z++)A[D]!==A[z]&&L.getDistance(A[D].cp,A[z].cp)<c*2&&(A[D].color=l[1])}for(let D=0,k=A.length;D<k;D++){let z=this.createCircle(A[D],c,u,e);f.appendChild(z)}}clearSocialDistanceCircles(t){if(!t)return;const e=t.querySelector(`#${fa}`),r=e==null?void 0:e.querySelectorAll("circle");if(!(!e||!(r!=null&&r.length)))for(let a=0,u=(r==null?void 0:r.length)||0;a<u;a++){const l=r[a].getAttribute("id");l&&(l==null?void 0:l.indexOf("_circle"))>-1&&e.removeChild(r[a])}}getRadius(t){var r,a,u;let e=((a=(r=this.params)==null?void 0:r.socialDistance)==null?void 0:a.radius)||3;return((u=this.params)==null?void 0:u.displayUnits)==="imperial"?t==="Metres"||t==="m"?e/=3.28084:t==="cm"?e=e/3.28084*100:t==="mm"?e=e/3.28084*1e3:(t==="INCH"||t==="inches")&&(e*=12):t==="INCH"||t==="inches"?e=e*3.28084*12:t==="cm"?e*=100:t==="mm"&&(e*=1e3),e}createCircle(t,e,r,a){const u=document.createElementNS(a,"circle");return u.setAttributeNS(null,"id",t.id+"_circle"),u.setAttributeNS(null,"cx",t.cp.x),u.setAttributeNS(null,"cy",t.cp.y),u.setAttributeNS(null,"r",String(e)),u.setAttributeNS(null,"style",`pointer-events:none;fill-opacity:0.1;stroke:${t.color};stroke-width:${r}px;`),u}}class Oc extends c0{isSvgScene=!0;name="SvgScene";dynamically=!0;params;socialDistanceEnable=!1;container;svg;svgStr="";svgRoot;viewBox=new bt;chef;defaultLayers=[];skeletonLayers=[];currentLayers=[];assetType;assetElementsMap={};legend=[];selectedList=[];painter;clickSvgElementHandler=this.handleClickSvgElement.bind(this);constructor(t={}){super(),this.params=t,this.assetType=t.assetType||"rm",this.params.socialDistanceEnable&&(this.socialDistanceEnable=!0),this.container=this.params.containerId?document.getElementById(this.params.containerId):gt.window.document.getElementsByTagName("body")[0],this.chef=new om,this.painter=new lm(t,this.chef)}get isMounted(){var t;return((t=this.container.querySelectorAll("svg"))==null?void 0:t.length)>0}destroy(){var t;super.destroy(),this.unmount(),(t=this.camera)==null||t.destroy()}mount(){this.svg&&(this.container.contains(this.svg)||this.container.appendChild(this.svg),this.chef.computeBoundingBoxMap())}unmount(){this.svg&&this.svg.parentNode&&this.container.contains(this.svg)&&this.container.removeChild(this.svg)}computeBoundingBox(){return this.boundingBox.makeEmpty(),!this.chef||!this.svg?this.boundingBox:(this.chef.computeBoundingBoxMap(),this.boundingBox.copy(this.chef.boundingBox),console.warn("svgScene.computeBoundingBox: ",this.chef.boundingBox.toString()),this.boundingBox)}async load(t){return new ju().loadAsync(t)}bind(t){if(this.svgStr=t,this.svg=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,console.warn("bind: ",this.name),!this.svg)throw new Error("svg load failed");let e=this.svg.getAttribute("viewBox");e&&(e0(e,this.viewBox),this.chef.bindSvg(this.svg),this.svgRoot=wh(this.svg),this.svg.setAttribute("viewBox",`0 0 ${this.params.width} ${this.params.height}`),this.svg.setAttribute("style","transform: translateZ(0);"),this.appendStyleSelected(),console.log(this.name,"viewBox -> ",e,this.viewBox.toString()),this.setAssetElementsMap(this.assetType,this.assetElementsMap))}appendStyleSelected(){var r;let t=(r=this.svg)==null?void 0:r.querySelector("style");if(!t)return;let e=document.createTextNode(`.selected { stroke: ${this.params.selectedStroke}; fill: ${this.params.selectedFill}; }`);t.appendChild(e)}getLayers(t=2){return this.svg?this.chef.getLayers(t):[]}setDefaultLayers(t){t!=null&&t.length&&(this.defaultLayers=t)}setSkeletonLayers(t){t!=null&&t.length&&(this.skeletonLayers=t)}setCurrentLayers(t){t!=null&&t.length&&(this.currentLayers=t)}showDefaultLayers(t,e=!1){this.setDefaultLayers(t),this.chef.updateLayersVisibility(t,e)}updateLayersVisibility(t,e=!1){this.chef.updateLayersVisibility(t,e)}setAssetType(t,e){this.assetElementsMap={},this.assetType=t,this.setAssetElementsMap(this.assetType,this.assetElementsMap),this.updateLayersVisibility(this.defaultLayers,!0),this.chef.updateVisibilityByAssetTypes(t,!0,e)}isCurrentAssetType(t){return this.assetElementsMap.hasOwnProperty(t)}setAssetElementsMap(t,e={}){const r=am(t),a=this.chef.getElementById(r);return a&&this.chef.getElementsMap(a,e),e}getAssetIdsByType(t){if(t===this.assetType&&this.assetElementsMap)return ht.keys(this.assetElementsMap);const e=this.setAssetElementsMap(t);return ht.keys(e)}clearFillOrStroke(t="fill"){const e=ht.keys(this.assetElementsMap);let r;for(let a=0,u=e.length;a<u;a++)r=this.assetElementsMap[e[a]],!(!r||!r.hasAttribute(t))&&(r.removeAttribute(t),t==="stroke"&&r.removeAttribute("stroke-width"));this.clearLegendBy(t)}clearFillOrStrokeByIds(t,e="fill"){const r=ht.keys(this.assetElementsMap);let a;for(let u=0,l=r.length;u<l;u++)t!=null&&t.length&&!t.includes(r[u])||(a=this.assetElementsMap[r[u]],!(!a||!a.hasAttribute(e))&&(a.removeAttribute(e),e==="stroke"&&a.removeAttribute("stroke-width")));this.clearLegendBy(e)}setFillOrStrokeByIds(t,e,r="fill"){if(!this.assetElementsMap)return;const a=ht.keys(this.assetElementsMap);let u;for(let l=0,c=a.length;l<c;l++)t.includes(a[l])&&(u=this.assetElementsMap[a[l]],u&&(u.setAttribute(r,e),r==="stroke"&&u.setAttribute("stroke-width","7"),this.addLegend(r,e,a[l])))}addLegend(t,e,r){let a=this.legend.find(u=>u.color===e);a||(a={type:t,color:e,ids:[]},this.legend.push(a)),a.ids.push(r)}clearLegendBy(t){var e;t||(this.legend.length=0);for(let r=((e=this.legend)==null?void 0:e.length)-1;r>=0;r--)this.legend[r].type===t&&this.legend.splice(r,r)}getLegend(){return this.legend}showSkeleton(){var t;(t=this.skeletonLayers)!=null&&t.length&&(this.chef.updateLayersVisibility(this.defaultLayers,!1),this.chef.updateLayersVisibility(this.skeletonLayers,!0))}hideSkeleton(){var t;(t=this.skeletonLayers)!=null&&t.length&&(this.chef.updateLayersVisibility(this.skeletonLayers,!1),this.chef.updateLayersVisibility(this.defaultLayers,!0))}setAssetLabels(t,e){this.chef.setLabelsById(t,e,this.assetType)}getAssetLabelsMap(t,e={}){if(!t)return e;let r=this.chef.getElementById(Nc(t));return r||(r=this.chef.getElementById(t+"txt-label")),r&&this.chef.getElementsMap(r,e),e}clearAssetLabels(){this.chef.clearAssetLabelsByType(this.assetType)}bindAssetsEvents(t){var a;const e=(a=this.svg)==null?void 0:a.querySelector("#"+t);if(!e)return;e.querySelectorAll("[id]").forEach(u=>{u instanceof SVGElement&&u.addEventListener("click",this.clickSvgElementHandler)})}handleClickSvgElement(t){var e;typeof t.preventDefault=="function"&&t.preventDefault(),console.warn("svgScene.handleClickSvgElement: ",(e=t==null?void 0:t.target)==null?void 0:e.id,t==null?void 0:t.target),this.dispatchEvent({type:"click",data:t})}socialDistanceEnableChanged(t){this.socialDistanceEnable=!!t,t?this.painter.drawSocialDistanceCircles(this.svg):this.painter.clearSocialDistanceCircles(this.svg)}clearSelected(){var t,e;if((t=this.selectedList)!=null&&t.length)for(let r=((e=this.selectedList)==null?void 0:e.length)-1;r>=0;r--){let a=this.selectedList[r];this.selectedList.splice(r,1),this.chef.setElementState2selected(a,!1)}}clearSelectedById(t){var r,a;let e=(r=this.selectedList)==null?void 0:r.findIndex(u=>u.getAttribute("id")===t);e>-1&&(this.chef.setElementState2selected(this.selectedList[e],!1),(a=this.selectedList)==null||a.splice(e,1))}selectByIds(t,e=!1){Array.isArray(t)||(t=[t]),e||this.clearSelected();const r=ht.uniq(ht.map(this.selectedList,a=>a.getAttribute("id")||""));for(let a=t.length-1;a>=0;a--)r.includes(t[a])?(this.clearSelectedById(t[a]),t.splice(a,1)):Object.hasOwnProperty.bind(this,t[a])&&this.selectedList.push(this.assetElementsMap[t[a]]);this.selectedList.forEach(a=>{this.chef.setElementState2selected(a,!0)})}getSelectedBoundingBox(){var e;const t=new bt;return(e=this.selectedList)!=null&&e.length?(this.selectedList.forEach(r=>{const a=this.chef.boundingBoxMap[r.id];a&&t.expandByBox(a)}),t):t.copy(this.boundingBox)}getElementsByBox(t){const e=[],r=Object.keys(this.chef.boundingBoxMap);for(let a=0,u=r.length;a<u;a++)if(this.assetElementsMap.hasOwnProperty(r[a])&&!(r[a].indexOf("-assets")>-1)&&t.intersectsBox(this.chef.boundingBoxMap[r[a]])){const l=this.assetElementsMap[r[a]];l&&e.push(l)}return e}getBoundingBoxById(t){return new bt().copy(this.chef.boundingBoxMap[t])}onBeforeRender(){}fullscreen(t=1e3,e=!1){}update(){}}class hm extends Oc{name="SvgLoadingScene";constructor(t){super(t),this.bind(`<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100">
|
|
40
40
|
<view id="defaultView" viewBox="0 0 100 100" />
|
|
41
41
|
<style> #svg-loading-fast circle {animation: svg-loading-fast 2s ease infinite;}
|
|
42
42
|
@keyframes svg-loading-fast {
|
|
@@ -48,10 +48,10 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
48
48
|
<text x="50" y="55" style="text-anchor: middle; fill: #5CC9F5; font-size: 15px;">loading</text>
|
|
49
49
|
<circle cx="50" cy="50" r="40" style="fill: none; stroke: #5CC9F5; stroke-width: 1px;" />
|
|
50
50
|
</g>
|
|
51
|
-
</svg>`)}}var
|
|
51
|
+
</svg>`)}}var Mc={exports:{}};/*! Hammer.JS - v2.0.7 - 2016-04-22
|
|
52
52
|
* http://hammerjs.github.io/
|
|
53
53
|
*
|
|
54
54
|
* Copyright (c) 2016 Jorik Tangelder;
|
|
55
|
-
* Licensed under the MIT license */(function(n){(function(t,e,r,a){var u=["","webkit","Moz","MS","ms","o"],l=e.createElement("div"),c="function",f=Math.round,d=Math.abs,v=Date.now;function E(g,x,w){return setTimeout(W(g,w),x)}function A(g,x,w){return Array.isArray(g)?(T(g,w[x],w),!0):!1}function T(g,x,w){var
|
|
55
|
+
* Licensed under the MIT license */(function(n){(function(t,e,r,a){var u=["","webkit","Moz","MS","ms","o"],l=e.createElement("div"),c="function",f=Math.round,d=Math.abs,v=Date.now;function E(g,x,w){return setTimeout(W(g,w),x)}function A(g,x,w){return Array.isArray(g)?(T(g,w[x],w),!0):!1}function T(g,x,w){var O;if(g)if(g.forEach)g.forEach(x,w);else if(g.length!==a)for(O=0;O<g.length;)x.call(w,g[O],O,g),O++;else for(O in g)g.hasOwnProperty(O)&&x.call(w,g[O],O,g)}function I(g,x,w){var O="DEPRECATED METHOD: "+x+`
|
|
56
56
|
`+w+` AT
|
|
57
|
-
`;return function(){var H=new Error("get-stack-trace"),Y=H&&H.stack?H.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ot=t.console&&(t.console.warn||t.console.log);return ot&&ot.call(t.console,M,Y),g.apply(this,arguments)}}var S;typeof Object.assign!="function"?S=function(x){if(x===a||x===null)throw new TypeError("Cannot convert undefined or null to object");for(var w=Object(x),M=1;M<arguments.length;M++){var H=arguments[M];if(H!==a&&H!==null)for(var Y in H)H.hasOwnProperty(Y)&&(w[Y]=H[Y])}return w}:S=Object.assign;var D=I(function(x,w,M){for(var H=Object.keys(w),Y=0;Y<H.length;)(!M||M&&x[H[Y]]===a)&&(x[H[Y]]=w[H[Y]]),Y++;return x},"extend","Use `assign`."),k=I(function(x,w){return D(x,w,!0)},"merge","Use `assign`.");function V(g,x,w){var M=x.prototype,H;H=g.prototype=Object.create(M),H.constructor=g,H._super=M,w&&S(H,w)}function W(g,x){return function(){return g.apply(x,arguments)}}function X(g,x){return typeof g==c?g.apply(x&&x[0]||a,x):g}function $(g,x){return g===a?x:g}function K(g,x,w){T(J(x),function(M){g.addEventListener(M,w,!1)})}function tt(g,x,w){T(J(x),function(M){g.removeEventListener(M,w,!1)})}function Z(g,x){for(;g;){if(g==x)return!0;g=g.parentNode}return!1}function z(g,x){return g.indexOf(x)>-1}function J(g){return g.trim().split(/\s+/g)}function nt(g,x,w){if(g.indexOf&&!w)return g.indexOf(x);for(var M=0;M<g.length;){if(w&&g[M][w]==x||!w&&g[M]===x)return M;M++}return-1}function mt(g){return Array.prototype.slice.call(g,0)}function It(g,x,w){for(var M=[],H=[],Y=0;Y<g.length;){var ot=g[Y][x];nt(H,ot)<0&&M.push(g[Y]),H[Y]=ot,Y++}return M=M.sort(function(zt,Yt){return zt[x]>Yt[x]}),M}function Ct(g,x){for(var w,M,H=x[0].toUpperCase()+x.slice(1),Y=0;Y<u.length;){if(w=u[Y],M=w?w+H:x,M in g)return M;Y++}return a}var yt=1;function B(){return yt++}function Pt(g){var x=g.ownerDocument||g;return x.defaultView||x.parentWindow||t}var Le=/mobile|tablet|ip(ad|hone|od)|android/i,pa="ontouchstart"in t,ln=Ct(t,"PointerEvent")!==a,Re=pa&&Le.test(navigator.userAgent),Dr="touch",no="pen",ls="mouse",rr="kinect",hn=25,Qt=1,Ce=2,St=4,se=8,Ri=1,yi=2,nr=4,Jt=8,ni=16,Fe=yi|nr,jt=Jt|ni,hs=Fe|jt,da=["x","y"],vi=["clientX","clientY"];function Ot(g,x){var w=this;this.manager=g,this.callback=x,this.element=g.element,this.target=g.options.inputTarget,this.domHandler=function(M){X(g.options.enable,[g])&&w.handler(M)},this.init()}Ot.prototype={handler:function(){},init:function(){this.evEl&&K(this.element,this.evEl,this.domHandler),this.evTarget&&K(this.target,this.evTarget,this.domHandler),this.evWin&&K(Pt(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&tt(this.element,this.evEl,this.domHandler),this.evTarget&&tt(this.target,this.evTarget,this.domHandler),this.evWin&&tt(Pt(this.element),this.evWin,this.domHandler)}};function Nr(g){var x,w=g.options.inputClass;return w?x=w:ln?x=vs:Re?x=ur:pa?x=As:x=dn,new x(g,cn)}function cn(g,x,w){var M=w.pointers.length,H=w.changedPointers.length,Y=x&Qt&&M-H===0,ot=x&(St|se)&&M-H===0;w.isFirst=!!Y,w.isFinal=!!ot,Y&&(g.session={}),w.eventType=x,so(g,w),g.emit("hammer.input",w),g.recognize(w),g.session.prevInput=w}function so(g,x){var w=g.session,M=x.pointers,H=M.length;w.firstInput||(w.firstInput=sr(x)),H>1&&!w.firstMultiple?w.firstMultiple=sr(x):H===1&&(w.firstMultiple=!1);var Y=w.firstInput,ot=w.firstMultiple,kt=ot?ot.center:Y.center,zt=x.center=Fi(M);x.timeStamp=v(),x.deltaTime=x.timeStamp-Y.timeStamp,x.angle=Or(kt,zt),x.distance=ar(kt,zt),Mr(w,x),x.offsetDirection=pn(x.deltaX,x.deltaY);var Yt=fn(x.deltaTime,x.deltaX,x.deltaY);x.overallVelocityX=Yt.x,x.overallVelocityY=Yt.y,x.overallVelocity=d(Yt.x)>d(Yt.y)?Yt.x:Yt.y,x.scale=ot?fs(ot.pointers,M):1,x.rotation=ot?cs(ot.pointers,M):0,x.maxPointers=w.prevInput?x.pointers.length>w.prevInput.maxPointers?x.pointers.length:w.prevInput.maxPointers:x.pointers.length,ao(w,x);var ke=g.element;Z(x.srcEvent.target,ke)&&(ke=x.srcEvent.target),x.target=ke}function Mr(g,x){var w=x.center,M=g.offsetDelta||{},H=g.prevDelta||{},Y=g.prevInput||{};(x.eventType===Qt||Y.eventType===St)&&(H=g.prevDelta={x:Y.deltaX||0,y:Y.deltaY||0},M=g.offsetDelta={x:w.x,y:w.y}),x.deltaX=H.x+(w.x-M.x),x.deltaY=H.y+(w.y-M.y)}function ao(g,x){var w=g.lastInterval||x,M=x.timeStamp-w.timeStamp,H,Y,ot,kt;if(x.eventType!=se&&(M>hn||w.velocity===a)){var zt=x.deltaX-w.deltaX,Yt=x.deltaY-w.deltaY,ke=fn(M,zt,Yt);Y=ke.x,ot=ke.y,H=d(ke.x)>d(ke.y)?ke.x:ke.y,kt=pn(zt,Yt),g.lastInterval=x}else H=w.velocity,Y=w.velocityX,ot=w.velocityY,kt=w.direction;x.velocity=H,x.velocityX=Y,x.velocityY=ot,x.direction=kt}function sr(g){for(var x=[],w=0;w<g.pointers.length;)x[w]={clientX:f(g.pointers[w].clientX),clientY:f(g.pointers[w].clientY)},w++;return{timeStamp:v(),pointers:x,center:Fi(x),deltaX:g.deltaX,deltaY:g.deltaY}}function Fi(g){var x=g.length;if(x===1)return{x:f(g[0].clientX),y:f(g[0].clientY)};for(var w=0,M=0,H=0;H<x;)w+=g[H].clientX,M+=g[H].clientY,H++;return{x:f(w/x),y:f(M/x)}}function fn(g,x,w){return{x:x/g||0,y:w/g||0}}function pn(g,x){return g===x?Ri:d(g)>=d(x)?g<0?yi:nr:x<0?Jt:ni}function ar(g,x,w){w||(w=da);var M=x[w[0]]-g[w[0]],H=x[w[1]]-g[w[1]];return Math.sqrt(M*M+H*H)}function Or(g,x,w){w||(w=da);var M=x[w[0]]-g[w[0]],H=x[w[1]]-g[w[1]];return Math.atan2(H,M)*180/Math.PI}function cs(g,x){return Or(x[1],x[0],vi)+Or(g[1],g[0],vi)}function fs(g,x){return ar(x[0],x[1],vi)/ar(g[0],g[1],vi)}var ps={mousedown:Qt,mousemove:Ce,mouseup:St},ds="mousedown",gs="mousemove mouseup";function dn(){this.evEl=ds,this.evWin=gs,this.pressed=!1,Ot.apply(this,arguments)}V(dn,Ot,{handler:function(x){var w=ps[x.type];w&Qt&&x.button===0&&(this.pressed=!0),w&Ce&&x.which!==1&&(w=St),this.pressed&&(w&St&&(this.pressed=!1),this.callback(this.manager,w,{pointers:[x],changedPointers:[x],pointerType:ls,srcEvent:x}))}});var uo={pointerdown:Qt,pointermove:Ce,pointerup:St,pointercancel:se,pointerout:se},oo={2:Dr,3:no,4:ls,5:rr},ms="pointerdown",ys="pointermove pointerup pointercancel";t.MSPointerEvent&&!t.PointerEvent&&(ms="MSPointerDown",ys="MSPointerMove MSPointerUp MSPointerCancel");function vs(){this.evEl=ms,this.evWin=ys,Ot.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}V(vs,Ot,{handler:function(x){var w=this.store,M=!1,H=x.type.toLowerCase().replace("ms",""),Y=uo[H],ot=oo[x.pointerType]||x.pointerType,kt=ot==Dr,zt=nt(w,x.pointerId,"pointerId");Y&Qt&&(x.button===0||kt)?zt<0&&(w.push(x),zt=w.length-1):Y&(St|se)&&(M=!0),!(zt<0)&&(w[zt]=x,this.callback(this.manager,Y,{pointers:w,changedPointers:[x],pointerType:ot,srcEvent:x}),M&&w.splice(zt,1))}});var lo={touchstart:Qt,touchmove:Ce,touchend:St,touchcancel:se},ho="touchstart",co="touchstart touchmove touchend touchcancel";function xs(){this.evTarget=ho,this.evWin=co,this.started=!1,Ot.apply(this,arguments)}V(xs,Ot,{handler:function(x){var w=lo[x.type];if(w===Qt&&(this.started=!0),!!this.started){var M=fo.call(this,x,w);w&(St|se)&&M[0].length-M[1].length===0&&(this.started=!1),this.callback(this.manager,w,{pointers:M[0],changedPointers:M[1],pointerType:Dr,srcEvent:x})}}});function fo(g,x){var w=mt(g.touches),M=mt(g.changedTouches);return x&(St|se)&&(w=It(w.concat(M),"identifier")),[w,M]}var po={touchstart:Qt,touchmove:Ce,touchend:St,touchcancel:se},go="touchstart touchmove touchend touchcancel";function ur(){this.evTarget=go,this.targetIds={},Ot.apply(this,arguments)}V(ur,Ot,{handler:function(x){var w=po[x.type],M=mo.call(this,x,w);M&&this.callback(this.manager,w,{pointers:M[0],changedPointers:M[1],pointerType:Dr,srcEvent:x})}});function mo(g,x){var w=mt(g.touches),M=this.targetIds;if(x&(Qt|Ce)&&w.length===1)return M[w[0].identifier]=!0,[w,w];var H,Y,ot=mt(g.changedTouches),kt=[],zt=this.target;if(Y=w.filter(function(Yt){return Z(Yt.target,zt)}),x===Qt)for(H=0;H<Y.length;)M[Y[H].identifier]=!0,H++;for(H=0;H<ot.length;)M[ot[H].identifier]&&kt.push(ot[H]),x&(St|se)&&delete M[ot[H].identifier],H++;if(kt.length)return[It(Y.concat(kt),"identifier"),kt]}var Es=2500,ga=25;function As(){Ot.apply(this,arguments);var g=W(this.handler,this);this.touch=new ur(this.manager,g),this.mouse=new dn(this.manager,g),this.primaryTouch=null,this.lastTouches=[]}V(As,Ot,{handler:function(x,w,M){var H=M.pointerType==Dr,Y=M.pointerType==ls;if(!(Y&&M.sourceCapabilities&&M.sourceCapabilities.firesTouchEvents)){if(H)yo.call(this,w,M);else if(Y&&vo.call(this,M))return;this.callback(x,w,M)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function yo(g,x){g&Qt?(this.primaryTouch=x.changedPointers[0].identifier,ma.call(this,x)):g&(St|se)&&ma.call(this,x)}function ma(g){var x=g.changedPointers[0];if(x.identifier===this.primaryTouch){var w={x:x.clientX,y:x.clientY};this.lastTouches.push(w);var M=this.lastTouches,H=function(){var Y=M.indexOf(w);Y>-1&&M.splice(Y,1)};setTimeout(H,Es)}}function vo(g){for(var x=g.srcEvent.clientX,w=g.srcEvent.clientY,M=0;M<this.lastTouches.length;M++){var H=this.lastTouches[M],Y=Math.abs(x-H.x),ot=Math.abs(w-H.y);if(Y<=ga&&ot<=ga)return!0}return!1}var ya=Ct(l.style,"touchAction"),va=ya!==a,xa="compute",bs="auto",ws="manipulation",Ui="none",Br="pan-x",Ir="pan-y",gn=xo();function Ts(g,x){this.manager=g,this.set(x)}Ts.prototype={set:function(g){g==xa&&(g=this.compute()),va&&this.manager.element.style&&gn[g]&&(this.manager.element.style[ya]=g),this.actions=g.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var g=[];return T(this.manager.recognizers,function(x){X(x.options.enable,[x])&&(g=g.concat(x.getTouchAction()))}),mn(g.join(" "))},preventDefaults:function(g){var x=g.srcEvent,w=g.offsetDirection;if(this.manager.session.prevented){x.preventDefault();return}var M=this.actions,H=z(M,Ui)&&!gn[Ui],Y=z(M,Ir)&&!gn[Ir],ot=z(M,Br)&&!gn[Br];if(H){var kt=g.pointers.length===1,zt=g.distance<2,Yt=g.deltaTime<250;if(kt&&zt&&Yt)return}if(!(ot&&Y)&&(H||Y&&w&Fe||ot&&w&jt))return this.preventSrc(x)},preventSrc:function(g){this.manager.session.prevented=!0,g.preventDefault()}};function mn(g){if(z(g,Ui))return Ui;var x=z(g,Br),w=z(g,Ir);return x&&w?Ui:x||w?x?Br:Ir:z(g,ws)?ws:bs}function xo(){if(!va)return!1;var g={},x=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(w){g[w]=x?t.CSS.supports("touch-action",w):!0}),g}var ki=1,xe=2,or=4,xi=8,Ue=xi,lr=16,Se=32;function si(g){this.options=S({},this.defaults,g||{}),this.id=B(),this.manager=null,this.options.enable=$(this.options.enable,!0),this.state=ki,this.simultaneous={},this.requireFail=[]}si.prototype={defaults:{},set:function(g){return S(this.options,g),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(g){if(A(g,"recognizeWith",this))return this;var x=this.simultaneous;return g=yn(g,this),x[g.id]||(x[g.id]=g,g.recognizeWith(this)),this},dropRecognizeWith:function(g){return A(g,"dropRecognizeWith",this)?this:(g=yn(g,this),delete this.simultaneous[g.id],this)},requireFailure:function(g){if(A(g,"requireFailure",this))return this;var x=this.requireFail;return g=yn(g,this),nt(x,g)===-1&&(x.push(g),g.requireFailure(this)),this},dropRequireFailure:function(g){if(A(g,"dropRequireFailure",this))return this;g=yn(g,this);var x=nt(this.requireFail,g);return x>-1&&this.requireFail.splice(x,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(g){return!!this.simultaneous[g.id]},emit:function(g){var x=this,w=this.state;function M(H){x.manager.emit(H,g)}w<xi&&M(x.options.event+Ea(w)),M(x.options.event),g.additionalEvent&&M(g.additionalEvent),w>=xi&&M(x.options.event+Ea(w))},tryEmit:function(g){if(this.canEmit())return this.emit(g);this.state=Se},canEmit:function(){for(var g=0;g<this.requireFail.length;){if(!(this.requireFail[g].state&(Se|ki)))return!1;g++}return!0},recognize:function(g){var x=S({},g);if(!X(this.options.enable,[this,x])){this.reset(),this.state=Se;return}this.state&(Ue|lr|Se)&&(this.state=ki),this.state=this.process(x),this.state&(xe|or|xi|lr)&&this.tryEmit(x)},process:function(g){},getTouchAction:function(){},reset:function(){}};function Ea(g){return g&lr?"cancel":g&xi?"end":g&or?"move":g&xe?"start":""}function Aa(g){return g==ni?"down":g==Jt?"up":g==yi?"left":g==nr?"right":""}function yn(g,x){var w=x.manager;return w?w.get(g):g}function Ee(){si.apply(this,arguments)}V(Ee,si,{defaults:{pointers:1},attrTest:function(g){var x=this.options.pointers;return x===0||g.pointers.length===x},process:function(g){var x=this.state,w=g.eventType,M=x&(xe|or),H=this.attrTest(g);return M&&(w&se||!H)?x|lr:M||H?w&St?x|xi:x&xe?x|or:xe:Se}});function Pr(){Ee.apply(this,arguments),this.pX=null,this.pY=null}V(Pr,Ee,{defaults:{event:"pan",threshold:10,pointers:1,direction:hs},getTouchAction:function(){var g=this.options.direction,x=[];return g&Fe&&x.push(Ir),g&jt&&x.push(Br),x},directionTest:function(g){var x=this.options,w=!0,M=g.distance,H=g.direction,Y=g.deltaX,ot=g.deltaY;return H&x.direction||(x.direction&Fe?(H=Y===0?Ri:Y<0?yi:nr,w=Y!=this.pX,M=Math.abs(g.deltaX)):(H=ot===0?Ri:ot<0?Jt:ni,w=ot!=this.pY,M=Math.abs(g.deltaY))),g.direction=H,w&&M>x.threshold&&H&x.direction},attrTest:function(g){return Ee.prototype.attrTest.call(this,g)&&(this.state&xe||!(this.state&xe)&&this.directionTest(g))},emit:function(g){this.pX=g.deltaX,this.pY=g.deltaY;var x=Aa(g.direction);x&&(g.additionalEvent=this.options.event+x),this._super.emit.call(this,g)}});function vn(){Ee.apply(this,arguments)}V(vn,Ee,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Ui]},attrTest:function(g){return this._super.attrTest.call(this,g)&&(Math.abs(g.scale-1)>this.options.threshold||this.state&xe)},emit:function(g){if(g.scale!==1){var x=g.scale<1?"in":"out";g.additionalEvent=this.options.event+x}this._super.emit.call(this,g)}});function Lr(){si.apply(this,arguments),this._timer=null,this._input=null}V(Lr,si,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[bs]},process:function(g){var x=this.options,w=g.pointers.length===x.pointers,M=g.distance<x.threshold,H=g.deltaTime>x.time;if(this._input=g,!M||!w||g.eventType&(St|se)&&!H)this.reset();else if(g.eventType&Qt)this.reset(),this._timer=E(function(){this.state=Ue,this.tryEmit()},x.time,this);else if(g.eventType&St)return Ue;return Se},reset:function(){clearTimeout(this._timer)},emit:function(g){this.state===Ue&&(g&&g.eventType&St?this.manager.emit(this.options.event+"up",g):(this._input.timeStamp=v(),this.manager.emit(this.options.event,this._input)))}});function _s(){Ee.apply(this,arguments)}V(_s,Ee,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Ui]},attrTest:function(g){return this._super.attrTest.call(this,g)&&(Math.abs(g.rotation)>this.options.threshold||this.state&xe)}});function xn(){Ee.apply(this,arguments)}V(xn,Ee,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Fe|jt,pointers:1},getTouchAction:function(){return Pr.prototype.getTouchAction.call(this)},attrTest:function(g){var x=this.options.direction,w;return x&(Fe|jt)?w=g.overallVelocity:x&Fe?w=g.overallVelocityX:x&jt&&(w=g.overallVelocityY),this._super.attrTest.call(this,g)&&x&g.offsetDirection&&g.distance>this.options.threshold&&g.maxPointers==this.options.pointers&&d(w)>this.options.velocity&&g.eventType&St},emit:function(g){var x=Aa(g.offsetDirection);x&&this.manager.emit(this.options.event+x,g),this.manager.emit(this.options.event,g)}});function qi(){si.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}V(qi,si,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ws]},process:function(g){var x=this.options,w=g.pointers.length===x.pointers,M=g.distance<x.threshold,H=g.deltaTime<x.time;if(this.reset(),g.eventType&Qt&&this.count===0)return this.failTimeout();if(M&&H&&w){if(g.eventType!=St)return this.failTimeout();var Y=this.pTime?g.timeStamp-this.pTime<x.interval:!0,ot=!this.pCenter||ar(this.pCenter,g.center)<x.posThreshold;this.pTime=g.timeStamp,this.pCenter=g.center,!ot||!Y?this.count=1:this.count+=1,this._input=g;var kt=this.count%x.taps;if(kt===0)return this.hasRequireFailures()?(this._timer=E(function(){this.state=Ue,this.tryEmit()},x.interval,this),xe):Ue}return Se},failTimeout:function(){return this._timer=E(function(){this.state=Se},this.options.interval,this),Se},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==Ue&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function ai(g,x){return x=x||{},x.recognizers=$(x.recognizers,ai.defaults.preset),new En(g,x)}ai.VERSION="2.0.7",ai.defaults={domEvents:!1,touchAction:xa,enable:!0,inputTarget:null,inputClass:null,preset:[[_s,{enable:!1}],[vn,{enable:!1},["rotate"]],[xn,{direction:Fe}],[Pr,{direction:Fe},["swipe"]],[qi],[qi,{event:"doubletap",taps:2},["tap"]],[Lr]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var Eo=1,Cs=2;function En(g,x){this.options=S({},ai.defaults,x||{}),this.options.inputTarget=this.options.inputTarget||g,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=g,this.input=Nr(this),this.touchAction=new Ts(this,this.options.touchAction),An(this,!0),T(this.options.recognizers,function(w){var M=this.add(new w[0](w[1]));w[2]&&M.recognizeWith(w[2]),w[3]&&M.requireFailure(w[3])},this)}En.prototype={set:function(g){return S(this.options,g),g.touchAction&&this.touchAction.update(),g.inputTarget&&(this.input.destroy(),this.input.target=g.inputTarget,this.input.init()),this},stop:function(g){this.session.stopped=g?Cs:Eo},recognize:function(g){var x=this.session;if(!x.stopped){this.touchAction.preventDefaults(g);var w,M=this.recognizers,H=x.curRecognizer;(!H||H&&H.state&Ue)&&(H=x.curRecognizer=null);for(var Y=0;Y<M.length;)w=M[Y],x.stopped!==Cs&&(!H||w==H||w.canRecognizeWith(H))?w.recognize(g):w.reset(),!H&&w.state&(xe|or|xi)&&(H=x.curRecognizer=w),Y++}},get:function(g){if(g instanceof si)return g;for(var x=this.recognizers,w=0;w<x.length;w++)if(x[w].options.event==g)return x[w];return null},add:function(g){if(A(g,"add",this))return this;var x=this.get(g.options.event);return x&&this.remove(x),this.recognizers.push(g),g.manager=this,this.touchAction.update(),g},remove:function(g){if(A(g,"remove",this))return this;if(g=this.get(g),g){var x=this.recognizers,w=nt(x,g);w!==-1&&(x.splice(w,1),this.touchAction.update())}return this},on:function(g,x){if(g!==a&&x!==a){var w=this.handlers;return T(J(g),function(M){w[M]=w[M]||[],w[M].push(x)}),this}},off:function(g,x){if(g!==a){var w=this.handlers;return T(J(g),function(M){x?w[M]&&w[M].splice(nt(w[M],x),1):delete w[M]}),this}},emit:function(g,x){this.options.domEvents&&Ao(g,x);var w=this.handlers[g]&&this.handlers[g].slice();if(!(!w||!w.length)){x.type=g,x.preventDefault=function(){x.srcEvent.preventDefault()};for(var M=0;M<w.length;)w[M](x),M++}},destroy:function(){this.element&&An(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function An(g,x){var w=g.element;if(w.style){var M;T(g.options.cssProps,function(H,Y){M=Ct(w.style,Y),x?(g.oldCssProps[M]=w.style[M],w.style[M]=H):w.style[M]=g.oldCssProps[M]||""}),x||(g.oldCssProps={})}}function Ao(g,x){var w=e.createEvent("Event");w.initEvent(g,!0,!0),w.gesture=x,x.target.dispatchEvent(w)}S(ai,{INPUT_START:Qt,INPUT_MOVE:Ce,INPUT_END:St,INPUT_CANCEL:se,STATE_POSSIBLE:ki,STATE_BEGAN:xe,STATE_CHANGED:or,STATE_ENDED:xi,STATE_RECOGNIZED:Ue,STATE_CANCELLED:lr,STATE_FAILED:Se,DIRECTION_NONE:Ri,DIRECTION_LEFT:yi,DIRECTION_RIGHT:nr,DIRECTION_UP:Jt,DIRECTION_DOWN:ni,DIRECTION_HORIZONTAL:Fe,DIRECTION_VERTICAL:jt,DIRECTION_ALL:hs,Manager:En,Input:Ot,TouchAction:Ts,TouchInput:ur,MouseInput:dn,PointerEventInput:vs,TouchMouseInput:As,SingleTouchInput:xs,Recognizer:si,AttrRecognizer:Ee,Tap:qi,Pan:Pr,Swipe:xn,Pinch:vn,Rotate:_s,Press:Lr,on:K,off:tt,each:T,merge:k,extend:D,assign:S,inherit:V,bindFn:W,prefixed:Ct});var ba=typeof t<"u"?t:typeof self<"u"?self:{};ba.Hammer=ai,n.exports?n.exports=ai:t[r]=ai})(window,document,"Hammer")})(Oc);var hm=Oc.exports;const us=Ml(hm),Bc=new L,ri=new L;class cm extends ji{name="orbit-controller.ts";isSvg=!1;dom;domOffset=new L;camera;hammer;enabled=!0;enablePan=!0;enableRotate=!0;rotateSpeed=1;enableZoom=!0;minZoom=0;maxZoom=1/0;zoomSpeed=1;zoomChanged=!1;distanceStart=1;distanceEnd=1;state=-1;EPS=1e-6;focus=new L;target=new L;scaled=1;rotateTheta=0;enableDamping=!1;dampingFactor=.05;mouseButtons={LEFT:2,MIDDLE:1,RIGHT:0};isWheeling=!1;finalTimer;rotateStart=new L;rotateEnd=new L;rotateDelta=new L;panStart=new L;panEnd=new L;panOffset=new L;dollyStart=0;dollyOffset=new L;contextMenuHandler=this.handleContextMenu.bind(this);wheelHandler=this.handleWheel.bind(this);pointerDownHandler=this.handlePointerDown.bind(this);pointerUpHandler=this.handlePointerUp.bind(this);pointerMoveHandler=this.handlePointerMove.bind(this);pointerOverHandler=this.handlePointerOver.bind(this);pointerLeaveHandler=this.handlePointerLeave.bind(this);tapHandler=this.handleTap.bind(this);panHandler=this.handlePan.bind(this);pinchHandler=this.handlePinch.bind(this);pressHandler=this.handlePress.bind(this);swipeHandler=this.handleSwipe.bind(this);hammerInputHandler=this.handleHammerInput.bind(this);constructor(t,e,r=!1){super(),this.isSvg=r,this.dom=t,this.camera=e,this.scaled=e.scaled.x;let a=this.dom.getBoundingClientRect();this.domOffset.set(a.left,a.top),this.dom.style.touchAction="none",this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}update(){Bc.copy(this.camera.position).sub(this.target),this.target.add(this.panOffset),this.camera.position.copy(this.target).add(Bc),this.camera.position.add(this.dollyOffset),this.camera.scaled.set(this.scaled,this.scaled),this.camera.update(),this.panOffset.set(0,0),this.dollyOffset.set(0,0),this.scaled=this.camera.scaled.x}bindEvents(){this.unbindEvents(),this.hammer=new us.Manager(this.dom);const t=new us.Pan({threshold:0,pointers:0}),e=new us.Pinch({threshold:0}),r=new us.Tap({event:"singletap",taps:1}),a=new us.Press({});this.hammer.add([t,r,a,e]),e.recognizeWith(t),this.hammer.on(["panstart","panmove","panend"].join(" "),this.panHandler),this.hammer.on(["pinchstart","pinchmove","pinchend"].join(" "),this.pinchHandler),this.hammer.on("singletap",this.tapHandler),this.hammer.on("press",this.pressHandler),this.hammer.on("swipe",this.swipeHandler),this.hammer.on("hammer.input",this.hammerInputHandler),this.dom.addEventListener("contextmenu",this.contextMenuHandler),this.dom.addEventListener("wheel",this.wheelHandler,{passive:!1}),this.dom.addEventListener("mousemove",this.pointerOverHandler),this.isSvg||(this.dom.addEventListener("pointerdown",this.pointerDownHandler),this.dom.addEventListener("pointerleave",this.pointerLeaveHandler))}unbindEvents(){var t,e,r,a,u,l,c,f;(t=this.hammer)==null||t.off(["panstart","panmove","panend"].join(" "),this.panHandler),(e=this.hammer)==null||e.off(["pinchstart","pinchmove","pinchend"].join(" "),this.pinchHandler),(r=this.hammer)==null||r.off("singletap",this.tapHandler),(a=this.hammer)==null||a.off("press",this.pressHandler),(u=this.hammer)==null||u.off("swipe",this.swipeHandler),(l=this.hammer)==null||l.off("hammer.input",this.hammerInputHandler),this.dom.removeEventListener("contextmenu",this.contextMenuHandler),this.dom.removeEventListener("wheel",this.wheelHandler),this.dom.removeEventListener("mousemove",this.pointerOverHandler),this.isSvg||(this.dom.removeEventListener("pointerdown",this.pointerDownHandler),this.dom.removeEventListener("pointerleave",this.pointerLeaveHandler)),(c=this.hammer)==null||c.stop(!0),(f=this.hammer)==null||f.destroy()}setFocus(t,e){this.focus.set(t,e).sub(this.domOffset).unproject(this.camera)}handleTap(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】Tap: ",t),ri.set(t.center.x,t.center.y).sub(this.domOffset),this.dispatchEvent({type:"tap",data:{screenCoords:{x:ri.x,y:ri.y}},e:t})}handleDoubleTap(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】DoubleTap: ",t),ri.set(t.center.x,t.center.y).sub(this.domOffset),this.dispatchEvent({type:"doubletap",data:{screenCoords:{x:ri.x,y:ri.y}}})}handlePress(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】Press: ",t)}handlePan(t){var r;if(((r=t.pointers)==null?void 0:r.length)!==1)return;typeof t.preventDefault=="function"&&t.preventDefault();const e={type:"panmove",data:{}};(t.isFirst||t.type==="panstart")&&(this.state=2,this.panStart.set(t.center.x,t.center.y),e.type="panstart"),(t.isFinal||t.type==="panend")&&(this.state=-1,e.type="panend"),this.panEnd.set(t.center.x,t.center.y),this.panOffset.subVectors(this.panEnd,this.panStart).multiplyScalar(-this.camera.scaled.x,-this.camera.scaled.y*(this.camera.flipY?1:-1)),this.panStart.copy(this.panEnd),ri.set(t.center.x,t.center.y).sub(this.domOffset),e.data.screenCoords=ri.clone(),this.dispatchEvent(e),this.enablePan&&this.update()}handlePinch(t){typeof t.preventDefault=="function"&&t.preventDefault(),t.type==="pinchstart"&&(this.dollyStart=this.camera.scaled.x,this.state=1),(t.isFinal||t.type==="pinchend")&&(this.state=-1),this.scaled=this.dollyStart*(1/t.scale);let e=(this.scaled-this.camera.scaled.x)/this.camera.scaled.x;this.setFocus(t.center.x,t.center.y),this.dollyOffset.copy(this.camera.position).lerp(this.focus,-e).sub(this.camera.position),this.update()}handleRotate(t){typeof t.preventDefault=="function"&&t.preventDefault()}handleSwipe(t){typeof t.preventDefault=="function"&&t.preventDefault()}handleHammerInput(t){t.isFirst&&(this.state=9),t.isFinal&&(this.state=-1)}handleContextMenu(t){this.enabled&&typeof t.preventDefault=="function"&&t.preventDefault()}handleWheel(t){if(typeof t.preventDefault=="function"&&t.preventDefault(),!this.enabled||!this.enableZoom||this.state!==-1)return;this.isWheeling||(this.dispatchEvent({type:"wheelstart"}),this.isWheeling=!0),typeof t.preventDefault=="function"&&t.preventDefault(),typeof t.stopPropagation=="function"&&t.stopPropagation();let e=t.deltaY;(t==null?void 0:t.deltaMode)===1?e*=16:(t==null?void 0:t.deltaMode)===2&&(e*=100),t!=null&&t.ctrlKey&&(e*=10),this.setFocus(t.clientX,t.clientY);let r=this.getZoomScale(e);e<0?this.onDollyIn(r):e>0?this.onDollyOut(r):(this.scaled=this.camera.scaled.x,this.dollyOffset.set(0,0)),this.update(),clearTimeout(this.finalTimer),this.finalTimer=setTimeout(()=>{this.isWheeling&&(this.dispatchEvent({type:"wheelend"}),this.isWheeling=!1)},500)}onDollyIn(t){this.scaled=Math.max(this.minZoom,Math.min(this.maxZoom,this.camera.scaled.x*t)),this.dollyOffset.copy(this.camera.position).lerp(this.focus,1-t).sub(this.camera.position)}onDollyOut(t){this.scaled=Math.max(this.minZoom,Math.min(this.maxZoom,this.camera.scaled.x/t)),this.dollyOffset.copy(this.camera.position).lerp(this.focus,-1+t).sub(this.camera.position)}getZoomScale(t){return Math.pow(.95,this.zoomSpeed*Math.abs(t*.03))}handlePointerDown(t){if(!this.enabled||t.button!==2)return;this.dom.addEventListener("pointermove",this.pointerMoveHandler),this.dom.addEventListener("pointerup",this.pointerUpHandler);let e=-1;t.button===0?e=this.mouseButtons.LEFT:t.button===1?e=this.mouseButtons.MIDDLE:t.button===2&&(e=this.mouseButtons.RIGHT),e===0&&(this.rotateStart.set(t.clientX,t.clientY),this.setFocus(this.rotateStart.x,this.rotateStart.y),this.state=0)}handlePointerUp(){this.dom.removeEventListener("pointermove",this.pointerMoveHandler),this.dom.removeEventListener("pointerup",this.pointerUpHandler),this.state=-1}handlePointerLeave(){this.state=-1}handlePointerMove(t){if(this.enabled&&this.state===0){if(!this.enableRotate)return;this.onRotate(t.clientX,t.clientY)}}handlePointerOver(t){t.buttons>0||(ri.set(t.clientX,t.clientY).sub(this.domOffset),this.dispatchEvent({type:"pointerover",data:{screenCoords:{x:ri.x,y:ri.y}},e:t}))}onRotate(t,e){this.rotateEnd.set(t,e),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed);const r=this.rotateDelta.x*Math.PI*2/this.dom.clientHeight;this.rotateTheta-=r,this.rotateStart.copy(this.rotateEnd),this.camera.rotation.x-=this.rotateTheta,this.target.rotateAround(this.focus,-this.rotateTheta),this.camera.position.copy(this.target),this.camera.update(),this.rotateTheta=0}}var xt=(n=>(n.CONTEXTMENU="contextmenu",n.LOSTPOINTERCAPTURE="lostpointercapture",n.MOUSEOVER="mouseover",n.MOUSEOUT="mouseout",n.MOUSELEAVE="mouseleave",n.MOUSEENTER="mouseenter",n.MOUSEMOVE="mousemove",n.MOUSEDOWN="mousedown",n.MOUSEUP="mouseup",n.POINTERMOVE="pointermove",n.POINTERDOWN="pointerdown",n.POINTERUP="pointerup",n.POINTERCANCEL="pointercancel",n.POINTEROUT="pointerout",n.POINTERLEAVE="pointerleave",n.POINTEROVER="pointerover",n.POINTERENTER="pointerenter",n.TOUCHSTART="touchstart",n.TOUCHEND="touchend",n.TOUCHMOVE="touchmove",n.TOUCHCANCEL="touchcancel",n.WHEEL="wheel",n.WHEEL_START="wheelstart",n.WHEEL_END="wheelend",n.MOUSEWHEEL="mousewheel",n.CLICK="click",n.DBLCLICK="dblclick",n.CONTEXT_LOST="contextlost",n.CONTEXT_RESTORED="contextrestored",n.CONTROLS_CHANGED="controlschanged",n.TAP="tap",n.SINGLE_TAP="singletap",n.DOUBLE_TAP="doubletap",n.PRESS="press",n.PAN="pan",n.PAN_START="panstart",n.PAN_MOVE="panmove",n.PAN_END="panend",n.ROTATE="rotate",n.ROTATE_START="rotatestart",n.ROTATE_MOVE="rotatemove",n.ROTATE_END="rotateend",n.PINCH="pinch",n.PINCH_START="pinchstart",n.PINCH_MOVE="pinchmove",n.PINCH_END="pinchend",n.PINCH_IN="pinchin",n.PINCH_OUT="pinchout",n.SWIPE="swipe",n.CHANGE_START="change_start",n.CHANGE_END="change_end",n))(xt||{});const on=new L;class fm extends sa{isCamera=!0;type="Camera2";name="Camera2";params;matrixAutoUpdate=!1;matrixWorldAutoUpdate=!1;projectionMatrix=new Nt;projectionMatrixInverse=new Nt;viewMatrix=new Nt;viewMatrixNeedsUpdate=!0;viewArea=0;left=-1;right=1;top=1;bottom=-1;width=2;height=2;aspect=1;view;constructor(t){super(),this.width=(t==null?void 0:t.width)!==void 0?t.width:2,this.height=(t==null?void 0:t.height)!==void 0?t.height:2,this.aspect=(t==null?void 0:t.aspect)!==void 0?t.aspect:1,(t==null?void 0:t.left)!==void 0&&(this.left=t.left),(t==null?void 0:t.right)!==void 0&&(this.right=t.right),(t==null?void 0:t.top)!==void 0&&(this.top=t.top),(t==null?void 0:t.bottom)!==void 0&&(this.bottom=t.bottom);const e=(this.right+this.left)/2,r=(this.top+this.bottom)/2;if(this.aspect>1){const a=Math.round((this.right-this.left)/2/this.aspect);this.top=r+a,this.bottom=r-a}else if(this.aspect<1){const a=Math.round((this.top-this.bottom)/2*this.aspect);this.left=e-a,this.right=e+a}this.flipY=(t==null?void 0:t.flipY)===!0,this.updateProjectionMatrix(),t!=null&&t.eye&&this.position.fromArray(t.eye),t!=null&&t.up&&this.up.fromArray(t.up),this.computeBoundingBox(),this.update()}destroy(){super.destroy()}get pixelWidth(){return this.scaled.x}set(t=-1,e=1,r=1,a=-1){on.set(t+e,a+r).multiplyScalar(.5);const u=Math.max((e-t)/this.width,(r-a)/this.height);this.position.set(on.x,on.y),this.rotation.set(0,0),this.scaled.set(u,u),this.update()}setByBox(t){if(!t||t.isEmpty())throw new Error("box is empty");this.set(t.min.x,t.max.x,t.max.y,t.min.y)}resize(t,e){this.aspect=t/e,this.updateProjectionMatrix(),this.update()}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[6],-e[7]).normalize()}updateMatrixWorld(t=!1){super.updateMatrixWorld(t),this.updateViewMatrix()}updateProjectionMatrix(){this.parent===void 0&&this.matrixWorldAutoUpdate&&this.updateMatrixWorld(),this.projectionMatrix.makeProjection(this.left,this.right,this.top,this.bottom,this.width,this.height),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}updateViewMatrix(){this.matrixWorldInverse.copy(this.matrixWorld).invert(),this.viewMatrix.multiplyMatrices(this.projectionMatrix,this.matrixWorldInverse)}update(){this.matrixAutoUpdate||this.updateMatrix(),this.updateMatrixWorld(),this.needsUpdate=!0,this.updateBoundingBox()}computeBoundingBox(){return on.set(this.width,this.height).multiplyScalar(.5).multiplyScalar(this.scaled.x),this.boundingBox.min.subVectors(this.position,on),this.boundingBox.max.addVectors(this.position,on),this.boundingBox}updateBoundingBox(){super.updateBoundingBox(),this.viewArea=this.boundingBoxWorld.getArea()}toJSON(){const t={};return t.left=this.left,t.right=this.right,t.top=this.top,t.bottom=this.bottom,t.width=this.width,t.height=this.height,t.aspect=this.aspect,t.position=this.position.toArray(),t.rotation=this.rotation.toArray(),t.scaled=this.scaled.toArray(),t}fromJSON(t){this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.width=t.width,this.height=t.height,this.aspect=t.aspect,this.position.fromArray(t.position),this.rotation.fromArray(t.rotation),this.scaled.fromArray(t.scaled)}clone(){return new this.constructor.prototype.constructor().copy(this)}copy(t,e=!0){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.width=t.width,this.height=t.height,this.aspect=t.aspect,this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this}}class Ic extends ji{name="SvgSelectRect";container;el;constructor(t){super(),t?this.container=t:this.container=document.getElementsByTagName("body")[0],this.el=document.createElement("div"),this.el.setAttribute("id",ca+"SvgSelectRect"),this.el.setAttribute("class",ca+"-svg-select-rect"),this.el.style.display="none",this.container.appendChild(this.el)}destroy(){super.destroy(),this.el&&this.el.remove()}draw(t){t.getSize(to),this.el.style.display="none",this.el.style.position="absolute",this.el.style.left=t.min.x+"px",this.el.style.top=t.min.y+"px",this.el.style.width=to.x+"px",this.el.style.height=to.y+"px",this.el.style.display="block",this.el.style.background=new le(oe.darkBlue).setA(.1).getStyle(),this.el.style.border=oe.darkBlue+" 1px dashed"}hide(){this.el.style.display="none"}}const to=new L;class pm extends ji{name="SvgMultiSelector";controls;scene;p1=new L;p2=new L;graph;selectEnable=!1;multiSelectEnable=!1;controlsTapHandler=this.handleControlsTap.bind(this);controlsPanStartHandler=this.handleControlsPanStart.bind(this);controlsPanMoveHandler=this.handleControlsPanMove.bind(this);controlsPanEndHandler=this.handleControlsPanEnd.bind(this);constructor(t,e){super(),this.controls=t,this.graph=new Ic(e),this.bindControlsEvents()}destroy(){this.unbindControlsEvents(),super.destroy()}bindScene(t){this.scene=t}selectEnableChanged(t){var e;(e=this.scene)==null||e.clearSelected(),this.selectEnable=!!t}multiSelectEnableChanged(t){var e;(e=this.scene)==null||e.clearSelected(),this.multiSelectEnable=!!t,this.controls.enablePan=!this.multiSelectEnable}bindControlsEvents(){this.controls.addEventListener(xt.TAP,this.controlsTapHandler),this.controls.addEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.addEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.addEventListener(xt.PAN_END,this.controlsPanEndHandler)}unbindControlsEvents(){this.controls.removeEventListener(xt.TAP,this.controlsTapHandler),this.controls.removeEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.removeEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.removeEventListener(xt.PAN_END,this.controlsPanEndHandler)}handleControlsTap(t){var r,a,u,l,c,f;if((t==null?void 0:t.type)!==xt.TAP||!this.selectEnable&&!this.multiSelectEnable)return;const e=((r=t==null?void 0:t.e)==null?void 0:r.target)||((u=(a=t==null?void 0:t.e)==null?void 0:a.srcEvent)==null?void 0:u.target)||((c=(l=t==null?void 0:t.e)==null?void 0:l.srcEvent)==null?void 0:c.srcElement);e!=null&&e.id&&(f=this.scene)!=null&&f.isCurrentAssetType(e==null?void 0:e.id)&&this.dispatchEvent({type:"SELECTED",data:{...t.data,target:[e],selected:[e==null?void 0:e.id]}})}handleControlsPanStart(t){(t==null?void 0:t.type)===xt.PAN_START&&this.multiSelectEnable&&(this.p1.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1),this.graph.draw(Sr))}handleControlsPanMove(t){(t==null?void 0:t.type)===xt.PAN_MOVE&&this.multiSelectEnable&&(this.p2.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2),this.graph.draw(Sr))}handleControlsPanEnd(t){var a;if((t==null?void 0:t.type)!==xt.PAN_END||!this.multiSelectEnable)return;this.p2.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2).unproject(this.controls.camera);const e=(a=this.scene)==null?void 0:a.getElementsByBox(Sr),r=[];(e||[]).forEach(u=>r.push(u.id)),this.graph.hide(),Sr.makeEmpty(),this.dispatchEvent({type:"SELECTED",data:{target:e,selected:r}})}}var eo=(n=>(n.SELECTED="SELECTED",n))(eo||{});const Sr=new Tt;class dm extends ji{name="Tooltip";container;el;constructor(t){super(),t?this.container=t:this.container=document.getElementsByTagName("body")[0],this.el=document.createElement("div"),this.el.setAttribute("id",ca+"Tooltip"),this.el.setAttribute("class",ca+"-tooltip"),this.el.style.display="none",this.container.appendChild(this.el)}destroy(){super.destroy(),this.el&&this.el.remove()}show(t,e,r){this.el.style.display="none",this.el.textContent=r,this.el.style.position="absolute",this.el.style.left=t+"px",this.el.style.top=e+"px",this.el.style.opacity="0.9",this.el.style.display="block"}hide(){this.el.style.display="none",this.el.textContent=""}}class gm extends ji{name="SvgView";params;container;camera;controls;scene;p1=new L;p2=new L;graph;tooltip;multiSelector;zoomToSelectEnable=!1;zoomBox=new Tt;selectEnable=!1;multiSelectEnable=!1;controlsPanStartHandler=this.handlePanStart.bind(this);controlsPanEndHandler=this.handlePanEnd.bind(this);controlsWheelStartHandler=this.handlePanStart.bind(this);controlsWheelEndHandler=this.handlePanEnd.bind(this);controlsPanMoveHandler=this.handleControlsPanMove.bind(this);controlsPointerOverHandler=this.handleControlsPointerOver.bind(this);multiSelectorSelectedHandler=this.handleMultiSelectorSelected.bind(this);constructor(t={}){super(),this.params=t,this.params.zoomToSelectEnable&&(this.zoomToSelectEnable=!0),this.params.selectEnable&&(this.selectEnable=!0),this.params.multiSelectEnable&&(this.multiSelectEnable=!0),this.camera=new fm({...t.camera||{},flipY:!0}),this.container=this.params.containerId?document.getElementById(this.params.containerId):gt.window.document.getElementsByTagName("body")[0],this.controls=new cm(this.container,this.camera,!0),this.graph=new Ic(this.container),this.params.tooltip&&(this.tooltip=new dm),this.multiSelector=new pm(this.controls,this.container),this.bindControlsEvents()}destroy(){this.unbindControlsEvents(),super.destroy()}bindScene(t){this.scene=t,this.multiSelector.bindScene(this.scene)}setByBox(t){var e;(e=this.camera)==null||e.setByBox(t)}zoomIn(){this.controls.scaled=this.camera.scaled.x*.9,this.controls.update()}zoomOut(){this.controls.scaled=this.camera.scaled.x*1.1,this.controls.update()}zoomToSelectEnableChanged(t){console.log("TODO: zoomToSelectEnableChanged: ",t),this.zoomToSelectEnable=t,this.controls.enablePan=!this.zoomToSelectEnable}selectEnableChanged(t){this.selectEnable=!!t,this.multiSelector.selectEnableChanged(t)}multiSelectEnableChanged(t){this.multiSelectEnable=!!t,this.multiSelector.multiSelectEnableChanged(t)}fullscreen(){this.scene&&(this.scene.updateMatrixWorld(!0),this.scene.computeBoundingBox(),Kt.copy(this.scene.boundingBox).expandByVector(new L(1,1).multiplyScalar(500)),this.camera.setByBox(Kt))}saveCameraPosition(){Kt.copy(this.camera.boundingBoxWorld),os.copy(this.camera.matrix),sessionStorage.setItem("svg_cameraBoundingBoxWorld",JSON.stringify(Kt)),sessionStorage.setItem("svg_cameraMatrix",JSON.stringify(os))}restoreCameraPosition(){const t=sessionStorage.getItem("svg_cameraBoundingBoxWorld"),e=sessionStorage.getItem("svg_cameraMatrix")||"{}";if(!t)return this.fullscreen();Kt.copy(JSON.parse(t)),os.copy(JSON.parse(e)),this.camera.set(Kt.min.x,Kt.max.x,Kt.max.y,Kt.min.y),os.decompose(this.camera.position,this.camera.rotation,this.camera.scaled),this.camera.update()}clearCameraPosition(){Kt.makeEmpty(),os.identity(),sessionStorage.setItem("svg_cameraBoundingBoxWorld",""),sessionStorage.setItem("svg_cameraMatrix","")}bindControlsEvents(){this.controls.addEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.addEventListener(xt.PAN_END,this.controlsPanEndHandler),this.controls.addEventListener(xt.WHEEL_START,this.controlsWheelStartHandler),this.controls.addEventListener(xt.WHEEL_END,this.controlsWheelEndHandler),this.controls.addEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.addEventListener(xt.POINTEROVER,this.controlsPointerOverHandler),this.multiSelector.addEventListener(eo.SELECTED,this.multiSelectorSelectedHandler)}unbindControlsEvents(){this.controls.removeEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.removeEventListener(xt.PAN_END,this.controlsPanEndHandler),this.controls.removeEventListener(xt.WHEEL_START,this.controlsWheelStartHandler),this.controls.removeEventListener(xt.WHEEL_END,this.controlsWheelEndHandler),this.controls.removeEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.removeEventListener(xt.POINTEROVER,this.controlsPointerOverHandler),this.multiSelector.removeEventListener(eo.SELECTED,this.multiSelectorSelectedHandler)}handlePanStart(t){if(!((t==null?void 0:t.type)!==xt.PAN_START&&(t==null?void 0:t.type)!==xt.WHEEL_START)&&this.zoomToSelectEnable){this.p1.copy(t.data.screenCoords),Kt.makeEmpty().expandByPoint(this.p1),this.graph.draw(Kt);return}}handlePanEnd(t){if(!((t==null?void 0:t.type)!==xt.PAN_END&&(t==null?void 0:t.type)!==xt.WHEEL_END)&&this.zoomToSelectEnable){this.p2.copy(t.data.screenCoords),Kt.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2).unproject(this.controls.camera),this.setByBox(Kt),this.graph.hide(),Kt.makeEmpty();return}}handleControlsPanMove(t){(t==null?void 0:t.type)===xt.PAN_MOVE&&this.zoomToSelectEnable&&(this.p2.copy(t.data.screenCoords),Kt.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2),this.graph.draw(Kt))}handleControlsPointerOver(t){var u,l,c,f,d,v,E,A;const e=((u=t==null?void 0:t.e)==null?void 0:u.target)||((c=(l=t==null?void 0:t.e)==null?void 0:l.srcEvent)==null?void 0:c.target)||((d=(f=t==null?void 0:t.e)==null?void 0:f.srcEvent)==null?void 0:d.srcElement),r=e==null?void 0:e.id;let a=!1;r&&((v=this.scene)!=null&&v.isCurrentAssetType(r))&&(a=!0),a?(this.container.style.cursor="pointer",(E=this.tooltip)==null||E.show(t.e.clientX+8,t.e.clientY+15,r)):(this.container.style.cursor="initial",(A=this.tooltip)==null||A.hide())}handleMultiSelectorSelected(t){console.warn("handleMultiSelectorSelected:",t.data),this.dispatchEvent({type:"SELECTED",data:t.data})}}const Kt=new Tt,os=new Nt;var io=(n=>(n.SELECTED="SELECTED",n))(io||{});class mm extends ji{name="SvgApp";params;renderer;view;scene;loadingScene;mainScene;zoomToSelectEnable=!1;zoomBox=new Tt;selectEnable=!1;multiSelectEnable=!1;runningHandler=this.running.bind(this);multiSelectorSelectedHandler=this.handleMultiSelectorSelected.bind(this);constructor(t={}){super(),this.params=t,this.params.zoomToSelectEnable&&(this.zoomToSelectEnable=!0),this.params.selectEnable&&(this.selectEnable=!0),this.params.multiSelectEnable&&(this.multiSelectEnable=!0),this.params.selectedFill||(this.params.selectedFill=le.getMoreTransparent(oe.red,.3)),this.params.selectedStroke||(this.params.selectedStroke=le.getMoreTransparent(oe.red,.8)),this.renderer=new r0(t),this.view=new gm(t),this.trans2LoadingScene()}get isLoadingScene(){var t;return((t=this.scene)==null?void 0:t.name)==="SvgLoadingScene"}destroy(){var t,e;this.unbindAssetsEvents(),super.destroy(),(t=this.view)==null||t.destroy(),(e=this.renderer)==null||e.destroy()}isScene(t){var e;return((e=this.scene)==null?void 0:e.uuid)===t.uuid}removeScene(t){this.scene=void 0,t==null||t.destroy()}trans2MainScene(){var t,e;(t=this.scene)==null||t.unmount(),this.scene=this.mainScene,this.scene.isMounted||this.scene.mount(),this.view.bindScene(this.scene),(e=this.loadingScene)==null||e.destroy()}trans2LoadingScene(){var e,r;this.loadingScene=new lm(this.params),(e=this.scene)==null||e.unmount(),this.scene=this.loadingScene,this.scene.isMounted||this.scene.mount();const t=new Tt().copy(this.loadingScene.viewBox).expandByVector(new L(1,1).multiplyScalar(360));this.view.setByBox(t),(r=this.mainScene)==null||r.destroy()}start(){requestAnimationFrame(this.runningHandler)}running(){this.scene&&(this.scene.update(),this.renderer.render(this.scene,this.view.camera),requestAnimationFrame(this.runningHandler))}async load(t,e,r=2,a){this.isLoadingScene||this.trans2LoadingScene(),await Wd(this.params.syncDelay);const u=await new ju().loadAsync(t);this.mainScene=new Mc(this.params),this.mainScene.bind(u),this.view.setByBox(this.mainScene.viewBox);const l=this.mainScene.getLayers(r);return e!=null&&e.length||(e=ct.map(l,"label")),this.mainScene.showDefaultLayers(e,!0),a!=null&&a.length&&this.setSkeletons(a),this.trans2MainScene(),this.bindAssetsEvents(),console.log("svgApp.load: ",l),l}setSkeletons(t){this.mainScene.setSkeletonLayers(t)}getLayers(t=2){return this.mainScene.getLayers(t)}updateLayersVisibility(t,e=!1){this.mainScene.updateLayersVisibility(t,e)}selectByIds(t){this.mainScene.selectByIds(t,this.multiSelectEnable)}targetByIds(t){this.mainScene.selectByIds(t,!1),ro.copy(this.mainScene.getSelectedBoundingBox()).expandByVector(new L(1,1).multiplyScalar(500)),ro.isEmpty()||this.view.setByBox(ro)}setViewAreaLimit(t){this.renderer.viewAreaLimit=t}setAssetType(t,e){this.mainScene.setAssetType(t,e)}getAssetIdsByType(t){return this.mainScene.getAssetIdsByType(t)}clearFill(){this.mainScene.clearFillOrStroke("fill")}clearFillByIds(t){this.mainScene.clearFillOrStrokeByIds(t,"fill")}setFillByIds(t,e){this.mainScene.setFillOrStrokeByIds(t,e,"fill")}clearStroke(){this.mainScene.clearFillOrStroke("stroke")}clearStrokeByIds(t){this.mainScene.clearFillOrStrokeByIds(t,"stroke")}setStrokeByIds(t,e){this.mainScene.setFillOrStrokeByIds(t,e,"stroke")}getLegend(){return this.mainScene.getLegend()}setAssetLabels(t,e){this.mainScene.setAssetLabels(t,e)}clearAssetLabels(){this.mainScene.clearAssetLabels()}fullscreen(){this.view.fullscreen()}saveCameraPosition(){this.view.saveCameraPosition()}restoreCameraPosition(){this.view.restoreCameraPosition()}clearCameraPosition(){this.view.clearCameraPosition()}zoomIn(){this.view.zoomIn()}zoomOut(){this.view.zoomOut()}fontZoomIn(){var t;(t=this.scene)==null||t.chef.fontZoom("asset-labels",1.1)}fontZoomOut(){var t;(t=this.scene)==null||t.chef.fontZoom("asset-labels",.9)}zoomToSelectEnableChanged(t){this.view.zoomToSelectEnableChanged(t)}selectEnableChanged(t){this.selectEnable=!!t,this.view.selectEnableChanged(t)}multiSelectEnableChanged(t){this.multiSelectEnable=!!t,this.view.multiSelectEnableChanged(t)}clearSelected(){var t;(t=this.scene)==null||t.clearSelected()}socialDistanceEnableChanged(t){var e;(e=this.scene)==null||e.socialDistanceEnableChanged(t)}bindAssetsEvents(){this.view.addEventListener(io.SELECTED,this.multiSelectorSelectedHandler)}unbindAssetsEvents(){this.view.removeEventListener(io.SELECTED,this.multiSelectorSelectedHandler)}handleMultiSelectorSelected(t){this.dispatchEvent({type:"SELECTED",data:t.data})}handleInitializeStart(){console.log("App.initializeStart ...")}async handleInitializeComplete(t){console.log("App.initializeComplete ...",t),t!=null&&t.data&&this.launch()}launch(){console.log("App.launch ...")}}const ro=new Tt;var Pc=(n=>(n.SELECTED="SELECTED",n))(Pc||{});function ym(n){return new Worker("/environment.worker.js",{type:"module",name:n==null?void 0:n.name})}ie.AppEnum=Pc,ie.AssetTypeEnum=Ah,ie.Color=le,ie.ColorsEnum=oe,ie.EnvironmentWorker=ym,ie.GLOB=gt,ie.LayerTypeEnum=ia,ie.Monitor=wt,ie.SvgApp=mm,ie.Vector2=Md,ie.defaultConfig=$r,Object.defineProperty(ie,Symbol.toStringTag,{value:"Module"})});
|
|
57
|
+
`;return function(){var H=new Error("get-stack-trace"),Y=H&&H.stack?H.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ot=t.console&&(t.console.warn||t.console.log);return ot&&ot.call(t.console,O,Y),g.apply(this,arguments)}}var S;typeof Object.assign!="function"?S=function(x){if(x===a||x===null)throw new TypeError("Cannot convert undefined or null to object");for(var w=Object(x),O=1;O<arguments.length;O++){var H=arguments[O];if(H!==a&&H!==null)for(var Y in H)H.hasOwnProperty(Y)&&(w[Y]=H[Y])}return w}:S=Object.assign;var D=I(function(x,w,O){for(var H=Object.keys(w),Y=0;Y<H.length;)(!O||O&&x[H[Y]]===a)&&(x[H[Y]]=w[H[Y]]),Y++;return x},"extend","Use `assign`."),k=I(function(x,w){return D(x,w,!0)},"merge","Use `assign`.");function z(g,x,w){var O=x.prototype,H;H=g.prototype=Object.create(O),H.constructor=g,H._super=O,w&&S(H,w)}function W(g,x){return function(){return g.apply(x,arguments)}}function X(g,x){return typeof g==c?g.apply(x&&x[0]||a,x):g}function $(g,x){return g===a?x:g}function K(g,x,w){T(J(x),function(O){g.addEventListener(O,w,!1)})}function tt(g,x,w){T(J(x),function(O){g.removeEventListener(O,w,!1)})}function Z(g,x){for(;g;){if(g==x)return!0;g=g.parentNode}return!1}function V(g,x){return g.indexOf(x)>-1}function J(g){return g.trim().split(/\s+/g)}function nt(g,x,w){if(g.indexOf&&!w)return g.indexOf(x);for(var O=0;O<g.length;){if(w&&g[O][w]==x||!w&&g[O]===x)return O;O++}return-1}function mt(g){return Array.prototype.slice.call(g,0)}function It(g,x,w){for(var O=[],H=[],Y=0;Y<g.length;){var ot=g[Y][x];nt(H,ot)<0&&O.push(g[Y]),H[Y]=ot,Y++}return O=O.sort(function(Vt,Yt){return Vt[x]>Yt[x]}),O}function Ct(g,x){for(var w,O,H=x[0].toUpperCase()+x.slice(1),Y=0;Y<u.length;){if(w=u[Y],O=w?w+H:x,O in g)return O;Y++}return a}var yt=1;function B(){return yt++}function Pt(g){var x=g.ownerDocument||g;return x.defaultView||x.parentWindow||t}var Le=/mobile|tablet|ip(ad|hone|od)|android/i,pa="ontouchstart"in t,hn=Ct(t,"PointerEvent")!==a,Re=pa&&Le.test(navigator.userAgent),Nr="touch",ro="pen",hs="mouse",ir="kinect",cn=25,Jt=1,Ce=2,St=4,se=8,Ri=1,yi=2,rr=4,jt=8,ni=16,Fe=yi|rr,te=jt|ni,cs=Fe|te,da=["x","y"],vi=["clientX","clientY"];function Mt(g,x){var w=this;this.manager=g,this.callback=x,this.element=g.element,this.target=g.options.inputTarget,this.domHandler=function(O){X(g.options.enable,[g])&&w.handler(O)},this.init()}Mt.prototype={handler:function(){},init:function(){this.evEl&&K(this.element,this.evEl,this.domHandler),this.evTarget&&K(this.target,this.evTarget,this.domHandler),this.evWin&&K(Pt(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&tt(this.element,this.evEl,this.domHandler),this.evTarget&&tt(this.target,this.evTarget,this.domHandler),this.evWin&&tt(Pt(this.element),this.evWin,this.domHandler)}};function Or(g){var x,w=g.options.inputClass;return w?x=w:hn?x=xs:Re?x=ar:pa?x=bs:x=gn,new x(g,fn)}function fn(g,x,w){var O=w.pointers.length,H=w.changedPointers.length,Y=x&Jt&&O-H===0,ot=x&(St|se)&&O-H===0;w.isFirst=!!Y,w.isFinal=!!ot,Y&&(g.session={}),w.eventType=x,no(g,w),g.emit("hammer.input",w),g.recognize(w),g.session.prevInput=w}function no(g,x){var w=g.session,O=x.pointers,H=O.length;w.firstInput||(w.firstInput=nr(x)),H>1&&!w.firstMultiple?w.firstMultiple=nr(x):H===1&&(w.firstMultiple=!1);var Y=w.firstInput,ot=w.firstMultiple,kt=ot?ot.center:Y.center,Vt=x.center=Fi(O);x.timeStamp=v(),x.deltaTime=x.timeStamp-Y.timeStamp,x.angle=Br(kt,Vt),x.distance=sr(kt,Vt),Mr(w,x),x.offsetDirection=dn(x.deltaX,x.deltaY);var Yt=pn(x.deltaTime,x.deltaX,x.deltaY);x.overallVelocityX=Yt.x,x.overallVelocityY=Yt.y,x.overallVelocity=d(Yt.x)>d(Yt.y)?Yt.x:Yt.y,x.scale=ot?ps(ot.pointers,O):1,x.rotation=ot?fs(ot.pointers,O):0,x.maxPointers=w.prevInput?x.pointers.length>w.prevInput.maxPointers?x.pointers.length:w.prevInput.maxPointers:x.pointers.length,so(w,x);var ke=g.element;Z(x.srcEvent.target,ke)&&(ke=x.srcEvent.target),x.target=ke}function Mr(g,x){var w=x.center,O=g.offsetDelta||{},H=g.prevDelta||{},Y=g.prevInput||{};(x.eventType===Jt||Y.eventType===St)&&(H=g.prevDelta={x:Y.deltaX||0,y:Y.deltaY||0},O=g.offsetDelta={x:w.x,y:w.y}),x.deltaX=H.x+(w.x-O.x),x.deltaY=H.y+(w.y-O.y)}function so(g,x){var w=g.lastInterval||x,O=x.timeStamp-w.timeStamp,H,Y,ot,kt;if(x.eventType!=se&&(O>cn||w.velocity===a)){var Vt=x.deltaX-w.deltaX,Yt=x.deltaY-w.deltaY,ke=pn(O,Vt,Yt);Y=ke.x,ot=ke.y,H=d(ke.x)>d(ke.y)?ke.x:ke.y,kt=dn(Vt,Yt),g.lastInterval=x}else H=w.velocity,Y=w.velocityX,ot=w.velocityY,kt=w.direction;x.velocity=H,x.velocityX=Y,x.velocityY=ot,x.direction=kt}function nr(g){for(var x=[],w=0;w<g.pointers.length;)x[w]={clientX:f(g.pointers[w].clientX),clientY:f(g.pointers[w].clientY)},w++;return{timeStamp:v(),pointers:x,center:Fi(x),deltaX:g.deltaX,deltaY:g.deltaY}}function Fi(g){var x=g.length;if(x===1)return{x:f(g[0].clientX),y:f(g[0].clientY)};for(var w=0,O=0,H=0;H<x;)w+=g[H].clientX,O+=g[H].clientY,H++;return{x:f(w/x),y:f(O/x)}}function pn(g,x,w){return{x:x/g||0,y:w/g||0}}function dn(g,x){return g===x?Ri:d(g)>=d(x)?g<0?yi:rr:x<0?jt:ni}function sr(g,x,w){w||(w=da);var O=x[w[0]]-g[w[0]],H=x[w[1]]-g[w[1]];return Math.sqrt(O*O+H*H)}function Br(g,x,w){w||(w=da);var O=x[w[0]]-g[w[0]],H=x[w[1]]-g[w[1]];return Math.atan2(H,O)*180/Math.PI}function fs(g,x){return Br(x[1],x[0],vi)+Br(g[1],g[0],vi)}function ps(g,x){return sr(x[0],x[1],vi)/sr(g[0],g[1],vi)}var ds={mousedown:Jt,mousemove:Ce,mouseup:St},gs="mousedown",ms="mousemove mouseup";function gn(){this.evEl=gs,this.evWin=ms,this.pressed=!1,Mt.apply(this,arguments)}z(gn,Mt,{handler:function(x){var w=ds[x.type];w&Jt&&x.button===0&&(this.pressed=!0),w&Ce&&x.which!==1&&(w=St),this.pressed&&(w&St&&(this.pressed=!1),this.callback(this.manager,w,{pointers:[x],changedPointers:[x],pointerType:hs,srcEvent:x}))}});var ao={pointerdown:Jt,pointermove:Ce,pointerup:St,pointercancel:se,pointerout:se},uo={2:Nr,3:ro,4:hs,5:ir},ys="pointerdown",vs="pointermove pointerup pointercancel";t.MSPointerEvent&&!t.PointerEvent&&(ys="MSPointerDown",vs="MSPointerMove MSPointerUp MSPointerCancel");function xs(){this.evEl=ys,this.evWin=vs,Mt.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}z(xs,Mt,{handler:function(x){var w=this.store,O=!1,H=x.type.toLowerCase().replace("ms",""),Y=ao[H],ot=uo[x.pointerType]||x.pointerType,kt=ot==Nr,Vt=nt(w,x.pointerId,"pointerId");Y&Jt&&(x.button===0||kt)?Vt<0&&(w.push(x),Vt=w.length-1):Y&(St|se)&&(O=!0),!(Vt<0)&&(w[Vt]=x,this.callback(this.manager,Y,{pointers:w,changedPointers:[x],pointerType:ot,srcEvent:x}),O&&w.splice(Vt,1))}});var oo={touchstart:Jt,touchmove:Ce,touchend:St,touchcancel:se},lo="touchstart",ho="touchstart touchmove touchend touchcancel";function Es(){this.evTarget=lo,this.evWin=ho,this.started=!1,Mt.apply(this,arguments)}z(Es,Mt,{handler:function(x){var w=oo[x.type];if(w===Jt&&(this.started=!0),!!this.started){var O=co.call(this,x,w);w&(St|se)&&O[0].length-O[1].length===0&&(this.started=!1),this.callback(this.manager,w,{pointers:O[0],changedPointers:O[1],pointerType:Nr,srcEvent:x})}}});function co(g,x){var w=mt(g.touches),O=mt(g.changedTouches);return x&(St|se)&&(w=It(w.concat(O),"identifier")),[w,O]}var fo={touchstart:Jt,touchmove:Ce,touchend:St,touchcancel:se},po="touchstart touchmove touchend touchcancel";function ar(){this.evTarget=po,this.targetIds={},Mt.apply(this,arguments)}z(ar,Mt,{handler:function(x){var w=fo[x.type],O=go.call(this,x,w);O&&this.callback(this.manager,w,{pointers:O[0],changedPointers:O[1],pointerType:Nr,srcEvent:x})}});function go(g,x){var w=mt(g.touches),O=this.targetIds;if(x&(Jt|Ce)&&w.length===1)return O[w[0].identifier]=!0,[w,w];var H,Y,ot=mt(g.changedTouches),kt=[],Vt=this.target;if(Y=w.filter(function(Yt){return Z(Yt.target,Vt)}),x===Jt)for(H=0;H<Y.length;)O[Y[H].identifier]=!0,H++;for(H=0;H<ot.length;)O[ot[H].identifier]&&kt.push(ot[H]),x&(St|se)&&delete O[ot[H].identifier],H++;if(kt.length)return[It(Y.concat(kt),"identifier"),kt]}var As=2500,ga=25;function bs(){Mt.apply(this,arguments);var g=W(this.handler,this);this.touch=new ar(this.manager,g),this.mouse=new gn(this.manager,g),this.primaryTouch=null,this.lastTouches=[]}z(bs,Mt,{handler:function(x,w,O){var H=O.pointerType==Nr,Y=O.pointerType==hs;if(!(Y&&O.sourceCapabilities&&O.sourceCapabilities.firesTouchEvents)){if(H)mo.call(this,w,O);else if(Y&&yo.call(this,O))return;this.callback(x,w,O)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});function mo(g,x){g&Jt?(this.primaryTouch=x.changedPointers[0].identifier,ma.call(this,x)):g&(St|se)&&ma.call(this,x)}function ma(g){var x=g.changedPointers[0];if(x.identifier===this.primaryTouch){var w={x:x.clientX,y:x.clientY};this.lastTouches.push(w);var O=this.lastTouches,H=function(){var Y=O.indexOf(w);Y>-1&&O.splice(Y,1)};setTimeout(H,As)}}function yo(g){for(var x=g.srcEvent.clientX,w=g.srcEvent.clientY,O=0;O<this.lastTouches.length;O++){var H=this.lastTouches[O],Y=Math.abs(x-H.x),ot=Math.abs(w-H.y);if(Y<=ga&&ot<=ga)return!0}return!1}var ya=Ct(l.style,"touchAction"),va=ya!==a,xa="compute",ws="auto",Ts="manipulation",Ui="none",Ir="pan-x",Pr="pan-y",mn=vo();function _s(g,x){this.manager=g,this.set(x)}_s.prototype={set:function(g){g==xa&&(g=this.compute()),va&&this.manager.element.style&&mn[g]&&(this.manager.element.style[ya]=g),this.actions=g.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var g=[];return T(this.manager.recognizers,function(x){X(x.options.enable,[x])&&(g=g.concat(x.getTouchAction()))}),yn(g.join(" "))},preventDefaults:function(g){var x=g.srcEvent,w=g.offsetDirection;if(this.manager.session.prevented){x.preventDefault();return}var O=this.actions,H=V(O,Ui)&&!mn[Ui],Y=V(O,Pr)&&!mn[Pr],ot=V(O,Ir)&&!mn[Ir];if(H){var kt=g.pointers.length===1,Vt=g.distance<2,Yt=g.deltaTime<250;if(kt&&Vt&&Yt)return}if(!(ot&&Y)&&(H||Y&&w&Fe||ot&&w&te))return this.preventSrc(x)},preventSrc:function(g){this.manager.session.prevented=!0,g.preventDefault()}};function yn(g){if(V(g,Ui))return Ui;var x=V(g,Ir),w=V(g,Pr);return x&&w?Ui:x||w?x?Ir:Pr:V(g,Ts)?Ts:ws}function vo(){if(!va)return!1;var g={},x=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(w){g[w]=x?t.CSS.supports("touch-action",w):!0}),g}var ki=1,xe=2,ur=4,xi=8,Ue=xi,or=16,Se=32;function si(g){this.options=S({},this.defaults,g||{}),this.id=B(),this.manager=null,this.options.enable=$(this.options.enable,!0),this.state=ki,this.simultaneous={},this.requireFail=[]}si.prototype={defaults:{},set:function(g){return S(this.options,g),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(g){if(A(g,"recognizeWith",this))return this;var x=this.simultaneous;return g=vn(g,this),x[g.id]||(x[g.id]=g,g.recognizeWith(this)),this},dropRecognizeWith:function(g){return A(g,"dropRecognizeWith",this)?this:(g=vn(g,this),delete this.simultaneous[g.id],this)},requireFailure:function(g){if(A(g,"requireFailure",this))return this;var x=this.requireFail;return g=vn(g,this),nt(x,g)===-1&&(x.push(g),g.requireFailure(this)),this},dropRequireFailure:function(g){if(A(g,"dropRequireFailure",this))return this;g=vn(g,this);var x=nt(this.requireFail,g);return x>-1&&this.requireFail.splice(x,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(g){return!!this.simultaneous[g.id]},emit:function(g){var x=this,w=this.state;function O(H){x.manager.emit(H,g)}w<xi&&O(x.options.event+Ea(w)),O(x.options.event),g.additionalEvent&&O(g.additionalEvent),w>=xi&&O(x.options.event+Ea(w))},tryEmit:function(g){if(this.canEmit())return this.emit(g);this.state=Se},canEmit:function(){for(var g=0;g<this.requireFail.length;){if(!(this.requireFail[g].state&(Se|ki)))return!1;g++}return!0},recognize:function(g){var x=S({},g);if(!X(this.options.enable,[this,x])){this.reset(),this.state=Se;return}this.state&(Ue|or|Se)&&(this.state=ki),this.state=this.process(x),this.state&(xe|ur|xi|or)&&this.tryEmit(x)},process:function(g){},getTouchAction:function(){},reset:function(){}};function Ea(g){return g&or?"cancel":g&xi?"end":g&ur?"move":g&xe?"start":""}function Aa(g){return g==ni?"down":g==jt?"up":g==yi?"left":g==rr?"right":""}function vn(g,x){var w=x.manager;return w?w.get(g):g}function Ee(){si.apply(this,arguments)}z(Ee,si,{defaults:{pointers:1},attrTest:function(g){var x=this.options.pointers;return x===0||g.pointers.length===x},process:function(g){var x=this.state,w=g.eventType,O=x&(xe|ur),H=this.attrTest(g);return O&&(w&se||!H)?x|or:O||H?w&St?x|xi:x&xe?x|ur:xe:Se}});function Lr(){Ee.apply(this,arguments),this.pX=null,this.pY=null}z(Lr,Ee,{defaults:{event:"pan",threshold:10,pointers:1,direction:cs},getTouchAction:function(){var g=this.options.direction,x=[];return g&Fe&&x.push(Pr),g&te&&x.push(Ir),x},directionTest:function(g){var x=this.options,w=!0,O=g.distance,H=g.direction,Y=g.deltaX,ot=g.deltaY;return H&x.direction||(x.direction&Fe?(H=Y===0?Ri:Y<0?yi:rr,w=Y!=this.pX,O=Math.abs(g.deltaX)):(H=ot===0?Ri:ot<0?jt:ni,w=ot!=this.pY,O=Math.abs(g.deltaY))),g.direction=H,w&&O>x.threshold&&H&x.direction},attrTest:function(g){return Ee.prototype.attrTest.call(this,g)&&(this.state&xe||!(this.state&xe)&&this.directionTest(g))},emit:function(g){this.pX=g.deltaX,this.pY=g.deltaY;var x=Aa(g.direction);x&&(g.additionalEvent=this.options.event+x),this._super.emit.call(this,g)}});function xn(){Ee.apply(this,arguments)}z(xn,Ee,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Ui]},attrTest:function(g){return this._super.attrTest.call(this,g)&&(Math.abs(g.scale-1)>this.options.threshold||this.state&xe)},emit:function(g){if(g.scale!==1){var x=g.scale<1?"in":"out";g.additionalEvent=this.options.event+x}this._super.emit.call(this,g)}});function Rr(){si.apply(this,arguments),this._timer=null,this._input=null}z(Rr,si,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[ws]},process:function(g){var x=this.options,w=g.pointers.length===x.pointers,O=g.distance<x.threshold,H=g.deltaTime>x.time;if(this._input=g,!O||!w||g.eventType&(St|se)&&!H)this.reset();else if(g.eventType&Jt)this.reset(),this._timer=E(function(){this.state=Ue,this.tryEmit()},x.time,this);else if(g.eventType&St)return Ue;return Se},reset:function(){clearTimeout(this._timer)},emit:function(g){this.state===Ue&&(g&&g.eventType&St?this.manager.emit(this.options.event+"up",g):(this._input.timeStamp=v(),this.manager.emit(this.options.event,this._input)))}});function Cs(){Ee.apply(this,arguments)}z(Cs,Ee,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Ui]},attrTest:function(g){return this._super.attrTest.call(this,g)&&(Math.abs(g.rotation)>this.options.threshold||this.state&xe)}});function En(){Ee.apply(this,arguments)}z(En,Ee,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Fe|te,pointers:1},getTouchAction:function(){return Lr.prototype.getTouchAction.call(this)},attrTest:function(g){var x=this.options.direction,w;return x&(Fe|te)?w=g.overallVelocity:x&Fe?w=g.overallVelocityX:x&te&&(w=g.overallVelocityY),this._super.attrTest.call(this,g)&&x&g.offsetDirection&&g.distance>this.options.threshold&&g.maxPointers==this.options.pointers&&d(w)>this.options.velocity&&g.eventType&St},emit:function(g){var x=Aa(g.offsetDirection);x&&this.manager.emit(this.options.event+x,g),this.manager.emit(this.options.event,g)}});function qi(){si.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}z(qi,si,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Ts]},process:function(g){var x=this.options,w=g.pointers.length===x.pointers,O=g.distance<x.threshold,H=g.deltaTime<x.time;if(this.reset(),g.eventType&Jt&&this.count===0)return this.failTimeout();if(O&&H&&w){if(g.eventType!=St)return this.failTimeout();var Y=this.pTime?g.timeStamp-this.pTime<x.interval:!0,ot=!this.pCenter||sr(this.pCenter,g.center)<x.posThreshold;this.pTime=g.timeStamp,this.pCenter=g.center,!ot||!Y?this.count=1:this.count+=1,this._input=g;var kt=this.count%x.taps;if(kt===0)return this.hasRequireFailures()?(this._timer=E(function(){this.state=Ue,this.tryEmit()},x.interval,this),xe):Ue}return Se},failTimeout:function(){return this._timer=E(function(){this.state=Se},this.options.interval,this),Se},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==Ue&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}});function ai(g,x){return x=x||{},x.recognizers=$(x.recognizers,ai.defaults.preset),new An(g,x)}ai.VERSION="2.0.7",ai.defaults={domEvents:!1,touchAction:xa,enable:!0,inputTarget:null,inputClass:null,preset:[[Cs,{enable:!1}],[xn,{enable:!1},["rotate"]],[En,{direction:Fe}],[Lr,{direction:Fe},["swipe"]],[qi],[qi,{event:"doubletap",taps:2},["tap"]],[Rr]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var xo=1,Ss=2;function An(g,x){this.options=S({},ai.defaults,x||{}),this.options.inputTarget=this.options.inputTarget||g,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=g,this.input=Or(this),this.touchAction=new _s(this,this.options.touchAction),bn(this,!0),T(this.options.recognizers,function(w){var O=this.add(new w[0](w[1]));w[2]&&O.recognizeWith(w[2]),w[3]&&O.requireFailure(w[3])},this)}An.prototype={set:function(g){return S(this.options,g),g.touchAction&&this.touchAction.update(),g.inputTarget&&(this.input.destroy(),this.input.target=g.inputTarget,this.input.init()),this},stop:function(g){this.session.stopped=g?Ss:xo},recognize:function(g){var x=this.session;if(!x.stopped){this.touchAction.preventDefaults(g);var w,O=this.recognizers,H=x.curRecognizer;(!H||H&&H.state&Ue)&&(H=x.curRecognizer=null);for(var Y=0;Y<O.length;)w=O[Y],x.stopped!==Ss&&(!H||w==H||w.canRecognizeWith(H))?w.recognize(g):w.reset(),!H&&w.state&(xe|ur|xi)&&(H=x.curRecognizer=w),Y++}},get:function(g){if(g instanceof si)return g;for(var x=this.recognizers,w=0;w<x.length;w++)if(x[w].options.event==g)return x[w];return null},add:function(g){if(A(g,"add",this))return this;var x=this.get(g.options.event);return x&&this.remove(x),this.recognizers.push(g),g.manager=this,this.touchAction.update(),g},remove:function(g){if(A(g,"remove",this))return this;if(g=this.get(g),g){var x=this.recognizers,w=nt(x,g);w!==-1&&(x.splice(w,1),this.touchAction.update())}return this},on:function(g,x){if(g!==a&&x!==a){var w=this.handlers;return T(J(g),function(O){w[O]=w[O]||[],w[O].push(x)}),this}},off:function(g,x){if(g!==a){var w=this.handlers;return T(J(g),function(O){x?w[O]&&w[O].splice(nt(w[O],x),1):delete w[O]}),this}},emit:function(g,x){this.options.domEvents&&Eo(g,x);var w=this.handlers[g]&&this.handlers[g].slice();if(!(!w||!w.length)){x.type=g,x.preventDefault=function(){x.srcEvent.preventDefault()};for(var O=0;O<w.length;)w[O](x),O++}},destroy:function(){this.element&&bn(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}};function bn(g,x){var w=g.element;if(w.style){var O;T(g.options.cssProps,function(H,Y){O=Ct(w.style,Y),x?(g.oldCssProps[O]=w.style[O],w.style[O]=H):w.style[O]=g.oldCssProps[O]||""}),x||(g.oldCssProps={})}}function Eo(g,x){var w=e.createEvent("Event");w.initEvent(g,!0,!0),w.gesture=x,x.target.dispatchEvent(w)}S(ai,{INPUT_START:Jt,INPUT_MOVE:Ce,INPUT_END:St,INPUT_CANCEL:se,STATE_POSSIBLE:ki,STATE_BEGAN:xe,STATE_CHANGED:ur,STATE_ENDED:xi,STATE_RECOGNIZED:Ue,STATE_CANCELLED:or,STATE_FAILED:Se,DIRECTION_NONE:Ri,DIRECTION_LEFT:yi,DIRECTION_RIGHT:rr,DIRECTION_UP:jt,DIRECTION_DOWN:ni,DIRECTION_HORIZONTAL:Fe,DIRECTION_VERTICAL:te,DIRECTION_ALL:cs,Manager:An,Input:Mt,TouchAction:_s,TouchInput:ar,MouseInput:gn,PointerEventInput:xs,TouchMouseInput:bs,SingleTouchInput:Es,Recognizer:si,AttrRecognizer:Ee,Tap:qi,Pan:Lr,Swipe:En,Pinch:xn,Rotate:Cs,Press:Rr,on:K,off:tt,each:T,merge:k,extend:D,assign:S,inherit:z,bindFn:W,prefixed:Ct});var ba=typeof t<"u"?t:typeof self<"u"?self:{};ba.Hammer=ai,n.exports?n.exports=ai:t[r]=ai})(window,document,"Hammer")})(Mc);var cm=Mc.exports;const os=Nl(cm),Bc=new L,ri=new L;class fm extends Er{name="orbit-controller.ts";isSvg=!1;dom;domOffset=new L;camera;hammer;enabled=!0;enablePan=!0;enableRotate=!0;rotateSpeed=1;enableZoom=!0;minZoom=0;maxZoom=1/0;zoomSpeed=1;zoomChanged=!1;distanceStart=1;distanceEnd=1;state=-1;EPS=1e-6;focus=new L;target=new L;scaled=1;rotateTheta=0;enableDamping=!1;dampingFactor=.05;mouseButtons={LEFT:2,MIDDLE:1,RIGHT:0};isWheeling=!1;finalTimer;rotateStart=new L;rotateEnd=new L;rotateDelta=new L;panStart=new L;panEnd=new L;panOffset=new L;dollyStart=0;dollyOffset=new L;contextMenuHandler=this.handleContextMenu.bind(this);wheelHandler=this.handleWheel.bind(this);pointerDownHandler=this.handlePointerDown.bind(this);pointerUpHandler=this.handlePointerUp.bind(this);pointerMoveHandler=this.handlePointerMove.bind(this);pointerOverHandler=ht.debounce(this.handlePointerOver.bind(this),100);pointerLeaveHandler=this.handlePointerLeave.bind(this);tapHandler=this.handleTap.bind(this);panHandler=this.handlePan.bind(this);pinchHandler=this.handlePinch.bind(this);pressHandler=this.handlePress.bind(this);swipeHandler=this.handleSwipe.bind(this);hammerInputHandler=this.handleHammerInput.bind(this);constructor(t,e,r=!1){super(),this.isSvg=r,this.dom=t,this.camera=e,this.scaled=e.scaled.x;let a=this.dom.getBoundingClientRect();this.domOffset.set(a.left,a.top),this.dom.style.touchAction="none",this.bindEvents()}destroy(){this.unbindEvents(),super.destroy()}update(){Bc.copy(this.camera.position).sub(this.target),this.target.add(this.panOffset),this.camera.position.copy(this.target).add(Bc),this.camera.position.add(this.dollyOffset),this.camera.scaled.set(this.scaled,this.scaled),this.camera.update(),this.panOffset.set(0,0),this.dollyOffset.set(0,0),this.scaled=this.camera.scaled.x}bindEvents(){this.unbindEvents(),this.hammer=new os.Manager(this.dom);const t=new os.Pan({threshold:0,pointers:0}),e=new os.Pinch({threshold:0}),r=new os.Tap({event:"singletap",taps:1}),a=new os.Press({});this.hammer.add([t,r,a,e]),e.recognizeWith(t),this.hammer.on(["panstart","panmove","panend"].join(" "),this.panHandler),this.hammer.on(["pinchstart","pinchmove","pinchend"].join(" "),this.pinchHandler),this.hammer.on("singletap",this.tapHandler),this.hammer.on("press",this.pressHandler),this.hammer.on("swipe",this.swipeHandler),this.hammer.on("hammer.input",this.hammerInputHandler),this.dom.addEventListener("contextmenu",this.contextMenuHandler),this.dom.addEventListener("wheel",this.wheelHandler,{passive:!1}),this.dom.addEventListener("mousemove",this.pointerOverHandler),this.isSvg||(this.dom.addEventListener("pointerdown",this.pointerDownHandler),this.dom.addEventListener("pointerleave",this.pointerLeaveHandler))}unbindEvents(){var t,e,r,a,u,l,c,f;(t=this.hammer)==null||t.off(["panstart","panmove","panend"].join(" "),this.panHandler),(e=this.hammer)==null||e.off(["pinchstart","pinchmove","pinchend"].join(" "),this.pinchHandler),(r=this.hammer)==null||r.off("singletap",this.tapHandler),(a=this.hammer)==null||a.off("press",this.pressHandler),(u=this.hammer)==null||u.off("swipe",this.swipeHandler),(l=this.hammer)==null||l.off("hammer.input",this.hammerInputHandler),this.dom.removeEventListener("contextmenu",this.contextMenuHandler),this.dom.removeEventListener("wheel",this.wheelHandler),this.dom.removeEventListener("mousemove",this.pointerOverHandler),this.isSvg||(this.dom.removeEventListener("pointerdown",this.pointerDownHandler),this.dom.removeEventListener("pointerleave",this.pointerLeaveHandler)),(c=this.hammer)==null||c.stop(!0),(f=this.hammer)==null||f.destroy()}setFocus(t,e){this.focus.set(t,e).sub(this.domOffset).unproject(this.camera)}handleTap(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】Tap: ",t),ri.set(t.center.x,t.center.y).sub(this.domOffset),this.dispatchEvent({type:"tap",data:{screenCoords:{x:ri.x,y:ri.y}},e:t})}handleDoubleTap(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】DoubleTap: ",t),ri.set(t.center.x,t.center.y).sub(this.domOffset),this.dispatchEvent({type:"doubletap",data:{screenCoords:{x:ri.x,y:ri.y}}})}handlePress(t){typeof t.preventDefault=="function"&&t.preventDefault(),console.log("【orbitController】Press: ",t)}handlePan(t){var r;if(((r=t.pointers)==null?void 0:r.length)!==1)return;typeof t.preventDefault=="function"&&t.preventDefault();const e={type:"panmove",data:{}};(t.isFirst||t.type==="panstart")&&(this.state=2,this.panStart.set(t.center.x,t.center.y),e.type="panstart"),(t.isFinal||t.type==="panend")&&(this.state=-1,e.type="panend"),this.panEnd.set(t.center.x,t.center.y),this.panOffset.subVectors(this.panEnd,this.panStart).multiplyScalar(-this.camera.scaled.x,-this.camera.scaled.y*(this.camera.flipY?1:-1)),this.panStart.copy(this.panEnd),ri.set(t.center.x,t.center.y).sub(this.domOffset),e.data.screenCoords=ri.clone(),this.dispatchEvent(e),this.enablePan&&this.update()}handlePinch(t){typeof t.preventDefault=="function"&&t.preventDefault(),t.type==="pinchstart"&&(this.dollyStart=this.camera.scaled.x,this.state=1),(t.isFinal||t.type==="pinchend")&&(this.state=-1),this.scaled=this.dollyStart*(1/t.scale);let e=(this.scaled-this.camera.scaled.x)/this.camera.scaled.x;this.setFocus(t.center.x,t.center.y),this.dollyOffset.copy(this.camera.position).lerp(this.focus,-e).sub(this.camera.position),this.update()}handleRotate(t){typeof t.preventDefault=="function"&&t.preventDefault()}handleSwipe(t){typeof t.preventDefault=="function"&&t.preventDefault()}handleHammerInput(t){t.isFirst&&(this.state=9),t.isFinal&&(this.state=-1)}handleContextMenu(t){this.enabled&&typeof t.preventDefault=="function"&&t.preventDefault()}handleWheel(t){if(typeof t.preventDefault=="function"&&t.preventDefault(),!this.enabled||!this.enableZoom||this.state!==-1)return;this.isWheeling||(this.dispatchEvent({type:"wheelstart"}),this.isWheeling=!0),typeof t.preventDefault=="function"&&t.preventDefault(),typeof t.stopPropagation=="function"&&t.stopPropagation();let e=t.deltaY;(t==null?void 0:t.deltaMode)===1?e*=16:(t==null?void 0:t.deltaMode)===2&&(e*=100),t!=null&&t.ctrlKey&&(e*=10),this.setFocus(t.clientX,t.clientY);let r=this.getZoomScale(e);e<0?this.onDollyIn(r):e>0?this.onDollyOut(r):(this.scaled=this.camera.scaled.x,this.dollyOffset.set(0,0)),this.update(),clearTimeout(this.finalTimer),this.finalTimer=setTimeout(()=>{this.isWheeling&&(this.dispatchEvent({type:"wheelend"}),this.isWheeling=!1)},500)}onDollyIn(t){this.scaled=Math.max(this.minZoom,Math.min(this.maxZoom,this.camera.scaled.x*t)),this.dollyOffset.copy(this.camera.position).lerp(this.focus,1-t).sub(this.camera.position)}onDollyOut(t){this.scaled=Math.max(this.minZoom,Math.min(this.maxZoom,this.camera.scaled.x/t)),this.dollyOffset.copy(this.camera.position).lerp(this.focus,-1+t).sub(this.camera.position)}getZoomScale(t){return Math.pow(.95,this.zoomSpeed*Math.abs(t*.03))}handlePointerDown(t){if(!this.enabled||t.button!==2)return;this.dom.addEventListener("pointermove",this.pointerMoveHandler),this.dom.addEventListener("pointerup",this.pointerUpHandler);let e=-1;t.button===0?e=this.mouseButtons.LEFT:t.button===1?e=this.mouseButtons.MIDDLE:t.button===2&&(e=this.mouseButtons.RIGHT),e===0&&(this.rotateStart.set(t.clientX,t.clientY),this.setFocus(this.rotateStart.x,this.rotateStart.y),this.state=0)}handlePointerUp(){this.dom.removeEventListener("pointermove",this.pointerMoveHandler),this.dom.removeEventListener("pointerup",this.pointerUpHandler),this.state=-1}handlePointerLeave(){this.state=-1}handlePointerMove(t){if(this.enabled&&this.state===0){if(!this.enableRotate)return;this.onRotate(t.clientX,t.clientY)}}handlePointerOver(t){t.buttons>0||(ri.set(t.clientX,t.clientY).sub(this.domOffset),this.dispatchEvent({type:"pointerover",data:{screenCoords:{x:ri.x,y:ri.y}},e:t}))}onRotate(t,e){this.rotateEnd.set(t,e),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed);const r=this.rotateDelta.x*Math.PI*2/this.dom.clientHeight;this.rotateTheta-=r,this.rotateStart.copy(this.rotateEnd),this.camera.rotation.x-=this.rotateTheta,this.target.rotateAround(this.focus,-this.rotateTheta),this.camera.position.copy(this.target),this.camera.update(),this.rotateTheta=0}}var xt=(n=>(n.CONTEXTMENU="contextmenu",n.LOSTPOINTERCAPTURE="lostpointercapture",n.MOUSEOVER="mouseover",n.MOUSEOUT="mouseout",n.MOUSELEAVE="mouseleave",n.MOUSEENTER="mouseenter",n.MOUSEMOVE="mousemove",n.MOUSEDOWN="mousedown",n.MOUSEUP="mouseup",n.POINTERMOVE="pointermove",n.POINTERDOWN="pointerdown",n.POINTERUP="pointerup",n.POINTERCANCEL="pointercancel",n.POINTEROUT="pointerout",n.POINTERLEAVE="pointerleave",n.POINTEROVER="pointerover",n.POINTERENTER="pointerenter",n.TOUCHSTART="touchstart",n.TOUCHEND="touchend",n.TOUCHMOVE="touchmove",n.TOUCHCANCEL="touchcancel",n.WHEEL="wheel",n.WHEEL_START="wheelstart",n.WHEEL_END="wheelend",n.MOUSEWHEEL="mousewheel",n.CLICK="click",n.DBLCLICK="dblclick",n.CONTEXT_LOST="contextlost",n.CONTEXT_RESTORED="contextrestored",n.CONTROLS_CHANGED="controlschanged",n.TAP="tap",n.SINGLE_TAP="singletap",n.DOUBLE_TAP="doubletap",n.PRESS="press",n.PAN="pan",n.PAN_START="panstart",n.PAN_MOVE="panmove",n.PAN_END="panend",n.ROTATE="rotate",n.ROTATE_START="rotatestart",n.ROTATE_MOVE="rotatemove",n.ROTATE_END="rotateend",n.PINCH="pinch",n.PINCH_START="pinchstart",n.PINCH_MOVE="pinchmove",n.PINCH_END="pinchend",n.PINCH_IN="pinchin",n.PINCH_OUT="pinchout",n.SWIPE="swipe",n.CHANGE_START="change_start",n.CHANGE_END="change_end",n))(xt||{});const ln=new L;class pm extends aa{isCamera=!0;type="Camera2";name="Camera2";params;matrixAutoUpdate=!1;matrixWorldAutoUpdate=!1;projectionMatrix=new Nt;projectionMatrixInverse=new Nt;viewMatrix=new Nt;viewMatrixNeedsUpdate=!0;viewArea=0;left=-1;right=1;top=1;bottom=-1;width=2;height=2;aspect=1;view;constructor(t){super(),this.width=(t==null?void 0:t.width)!==void 0?t.width:2,this.height=(t==null?void 0:t.height)!==void 0?t.height:2,this.aspect=(t==null?void 0:t.aspect)!==void 0?t.aspect:1,(t==null?void 0:t.left)!==void 0&&(this.left=t.left),(t==null?void 0:t.right)!==void 0&&(this.right=t.right),(t==null?void 0:t.top)!==void 0&&(this.top=t.top),(t==null?void 0:t.bottom)!==void 0&&(this.bottom=t.bottom);const e=(this.right+this.left)/2,r=(this.top+this.bottom)/2;if(this.aspect>1){const a=Math.round((this.right-this.left)/2/this.aspect);this.top=r+a,this.bottom=r-a}else if(this.aspect<1){const a=Math.round((this.top-this.bottom)/2*this.aspect);this.left=e-a,this.right=e+a}this.flipY=(t==null?void 0:t.flipY)===!0,this.updateProjectionMatrix(),t!=null&&t.eye&&this.position.fromArray(t.eye),t!=null&&t.up&&this.up.fromArray(t.up),this.computeBoundingBox(),this.update()}destroy(){super.destroy()}get pixelWidth(){return this.scaled.x}set(t=-1,e=1,r=1,a=-1){ln.set(t+e,a+r).multiplyScalar(.5);const u=Math.max((e-t)/this.width,(r-a)/this.height);this.position.set(ln.x,ln.y),this.rotation.set(0,0),this.scaled.set(u,u),this.update()}setByBox(t){if(!t||t.isEmpty())throw new Error("box is empty");this.set(t.min.x,t.max.x,t.max.y,t.min.y)}resize(t,e){this.aspect=t/e,this.updateProjectionMatrix(),this.update()}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[6],-e[7]).normalize()}updateMatrixWorld(t=!1){super.updateMatrixWorld(t),this.updateViewMatrix()}updateProjectionMatrix(){this.parent===void 0&&this.matrixWorldAutoUpdate&&this.updateMatrixWorld(),this.projectionMatrix.makeProjection(this.left,this.right,this.top,this.bottom,this.width,this.height),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}updateViewMatrix(){this.matrixWorldInverse.copy(this.matrixWorld).invert(),this.viewMatrix.multiplyMatrices(this.projectionMatrix,this.matrixWorldInverse)}update(){this.matrixAutoUpdate||this.updateMatrix(),this.updateMatrixWorld(),this.needsUpdate=!0,this.updateBoundingBox()}computeBoundingBox(){return ln.set(this.width,this.height).multiplyScalar(.5).multiplyScalar(this.scaled.x),this.boundingBox.min.subVectors(this.position,ln),this.boundingBox.max.addVectors(this.position,ln),this.boundingBox}updateBoundingBox(){super.updateBoundingBox(),this.viewArea=this.boundingBoxWorld.getArea()}toJSON(){const t={};return t.left=this.left,t.right=this.right,t.top=this.top,t.bottom=this.bottom,t.width=this.width,t.height=this.height,t.aspect=this.aspect,t.position=this.position.toArray(),t.rotation=this.rotation.toArray(),t.scaled=this.scaled.toArray(),t}fromJSON(t){this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.width=t.width,this.height=t.height,this.aspect=t.aspect,this.position.fromArray(t.position),this.rotation.fromArray(t.rotation),this.scaled.fromArray(t.scaled)}clone(){return new this.constructor.prototype.constructor().copy(this)}copy(t,e=!0){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.width=t.width,this.height=t.height,this.aspect=t.aspect,this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this}}class Ic extends Er{name="SvgSelectRect";container;el;constructor(t){super(),t?this.container=t:this.container=document.getElementsByTagName("body")[0],this.el=document.createElement("div"),this.el.setAttribute("id",Cc+"SvgSelectRect"),this.el.setAttribute("class",Cc+"-svg-select-rect"),this.el.style.display="none",this.container.appendChild(this.el)}destroy(){super.destroy(),this.el&&this.el.remove()}draw(t){t.getSize(to),this.el.style.display="none",this.el.style.position="absolute",this.el.style.left=t.min.x+"px",this.el.style.top=t.min.y+"px",this.el.style.width=to.x+"px",this.el.style.height=to.y+"px",this.el.style.display="block",this.el.style.background=new le(oe.darkBlue).setA(.1).getStyle(),this.el.style.border=oe.darkBlue+" 1px dashed"}hide(){this.el.style.display="none"}}const to=new L;class dm extends Er{name="SvgMultiSelector";controls;scene;p1=new L;p2=new L;graph;selectEnable=!1;multiSelectEnable=!1;controlsTapHandler=this.handleControlsTap.bind(this);controlsPanStartHandler=this.handleControlsPanStart.bind(this);controlsPanMoveHandler=this.handleControlsPanMove.bind(this);controlsPanEndHandler=this.handleControlsPanEnd.bind(this);constructor(t,e){super(),this.controls=t,this.graph=new Ic(e),this.bindControlsEvents()}destroy(){this.unbindControlsEvents(),super.destroy()}bindScene(t){this.scene=t}selectEnableChanged(t){var e;(e=this.scene)==null||e.clearSelected(),this.selectEnable=!!t}multiSelectEnableChanged(t){var e;(e=this.scene)==null||e.clearSelected(),this.multiSelectEnable=!!t,this.controls.enablePan=!this.multiSelectEnable}bindControlsEvents(){this.controls.addEventListener(xt.TAP,this.controlsTapHandler),this.controls.addEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.addEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.addEventListener(xt.PAN_END,this.controlsPanEndHandler)}unbindControlsEvents(){this.controls.removeEventListener(xt.TAP,this.controlsTapHandler),this.controls.removeEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.removeEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.removeEventListener(xt.PAN_END,this.controlsPanEndHandler)}handleControlsTap(t){var r,a,u,l,c,f;if((t==null?void 0:t.type)!==xt.TAP||!this.selectEnable&&!this.multiSelectEnable)return;const e=((r=t==null?void 0:t.e)==null?void 0:r.target)||((u=(a=t==null?void 0:t.e)==null?void 0:a.srcEvent)==null?void 0:u.target)||((c=(l=t==null?void 0:t.e)==null?void 0:l.srcEvent)==null?void 0:c.srcElement);e!=null&&e.id&&(f=this.scene)!=null&&f.isCurrentAssetType(e==null?void 0:e.id)&&this.dispatchEvent({type:"SELECTED",data:{...t.data,target:[e],selected:[e==null?void 0:e.id]}})}handleControlsPanStart(t){(t==null?void 0:t.type)===xt.PAN_START&&this.multiSelectEnable&&(this.p1.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1),this.graph.draw(Sr))}handleControlsPanMove(t){(t==null?void 0:t.type)===xt.PAN_MOVE&&this.multiSelectEnable&&(this.p2.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2),this.graph.draw(Sr))}handleControlsPanEnd(t){var a;if((t==null?void 0:t.type)!==xt.PAN_END||!this.multiSelectEnable)return;this.p2.copy(t.data.screenCoords),Sr.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2).unproject(this.controls.camera);const e=(a=this.scene)==null?void 0:a.getElementsByBox(Sr),r=[];(e||[]).forEach(u=>r.push(u.id)),this.graph.hide(),Sr.makeEmpty(),this.dispatchEvent({type:"SELECTED",data:{target:e,selected:r}})}}var eo=(n=>(n.SELECTED="SELECTED",n))(eo||{});const Sr=new bt;class gm extends Er{name="SvgView";params;container;camera;controls;scene;p1=new L;p2=new L;graph;multiSelector;zoomToSelectEnable=!1;zoomBox=new bt;selectEnable=!1;multiSelectEnable=!1;_currentAssetId;controlsPanStartHandler=this.handlePanStart.bind(this);controlsPanEndHandler=this.handlePanEnd.bind(this);controlsWheelStartHandler=this.handlePanStart.bind(this);controlsWheelEndHandler=this.handlePanEnd.bind(this);controlsPanMoveHandler=this.handleControlsPanMove.bind(this);controlsPointerOverHandler=this.handleControlsPointerOver.bind(this);multiSelectorSelectedHandler=this.handleMultiSelectorSelected.bind(this);constructor(t={}){super(),this.params=t,this.params.zoomToSelectEnable&&(this.zoomToSelectEnable=!0),this.params.selectEnable&&(this.selectEnable=!0),this.params.multiSelectEnable&&(this.multiSelectEnable=!0),this.camera=new pm({...t.camera||{},flipY:!0}),this.container=this.params.containerId?document.getElementById(this.params.containerId):gt.window.document.getElementsByTagName("body")[0],this.controls=new fm(this.container,this.camera,!0),this.graph=new Ic(this.container),this.multiSelector=new dm(this.controls,this.container),this.bindControlsEvents()}destroy(){this.unbindControlsEvents(),super.destroy()}bindScene(t){this.scene=t,this.multiSelector.bindScene(this.scene)}setByBox(t){var e;(e=this.camera)==null||e.setByBox(t)}zoomIn(){this.controls.scaled=this.camera.scaled.x*.9,this.controls.update()}zoomOut(){this.controls.scaled=this.camera.scaled.x*1.1,this.controls.update()}zoomToSelectEnableChanged(t){console.log("TODO: zoomToSelectEnableChanged: ",t),this.zoomToSelectEnable=t,this.controls.enablePan=!this.zoomToSelectEnable}selectEnableChanged(t){this.selectEnable=!!t,this.multiSelector.selectEnableChanged(t)}multiSelectEnableChanged(t){this.multiSelectEnable=!!t,this.multiSelector.multiSelectEnableChanged(t)}fullscreen(){this.scene&&(this.scene.updateMatrixWorld(!0),this.scene.computeBoundingBox(),Qt.copy(this.scene.boundingBox).expandByVector(new L(1,1).multiplyScalar(500)),this.camera.setByBox(Qt))}saveCameraPosition(){Qt.copy(this.camera.boundingBoxWorld),ls.copy(this.camera.matrix),sessionStorage.setItem("svg_cameraBoundingBoxWorld",JSON.stringify(Qt)),sessionStorage.setItem("svg_cameraMatrix",JSON.stringify(ls))}restoreCameraPosition(){const t=sessionStorage.getItem("svg_cameraBoundingBoxWorld"),e=sessionStorage.getItem("svg_cameraMatrix")||"{}";if(!t)return this.fullscreen();Qt.copy(JSON.parse(t)),ls.copy(JSON.parse(e)),this.camera.set(Qt.min.x,Qt.max.x,Qt.max.y,Qt.min.y),ls.decompose(this.camera.position,this.camera.rotation,this.camera.scaled),this.camera.update()}clearCameraPosition(){Qt.makeEmpty(),ls.identity(),sessionStorage.setItem("svg_cameraBoundingBoxWorld",""),sessionStorage.setItem("svg_cameraMatrix","")}bindControlsEvents(){this.controls.addEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.addEventListener(xt.PAN_END,this.controlsPanEndHandler),this.controls.addEventListener(xt.WHEEL_START,this.controlsWheelStartHandler),this.controls.addEventListener(xt.WHEEL_END,this.controlsWheelEndHandler),this.controls.addEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.addEventListener(xt.POINTEROVER,this.controlsPointerOverHandler),this.multiSelector.addEventListener(eo.SELECTED,this.multiSelectorSelectedHandler)}unbindControlsEvents(){this.controls.removeEventListener(xt.PAN_START,this.controlsPanStartHandler),this.controls.removeEventListener(xt.PAN_END,this.controlsPanEndHandler),this.controls.removeEventListener(xt.WHEEL_START,this.controlsWheelStartHandler),this.controls.removeEventListener(xt.WHEEL_END,this.controlsWheelEndHandler),this.controls.removeEventListener(xt.PAN_MOVE,this.controlsPanMoveHandler),this.controls.removeEventListener(xt.POINTEROVER,this.controlsPointerOverHandler),this.multiSelector.removeEventListener(eo.SELECTED,this.multiSelectorSelectedHandler)}handlePanStart(t){if(!((t==null?void 0:t.type)!==xt.PAN_START&&(t==null?void 0:t.type)!==xt.WHEEL_START)&&this.zoomToSelectEnable){this.p1.copy(t.data.screenCoords),Qt.makeEmpty().expandByPoint(this.p1),this.graph.draw(Qt);return}}handlePanEnd(t){if(!((t==null?void 0:t.type)!==xt.PAN_END&&(t==null?void 0:t.type)!==xt.WHEEL_END)&&this.zoomToSelectEnable){this.p2.copy(t.data.screenCoords),Qt.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2).unproject(this.controls.camera),this.setByBox(Qt),this.graph.hide(),Qt.makeEmpty();return}}handleControlsPanMove(t){(t==null?void 0:t.type)===xt.PAN_MOVE&&this.zoomToSelectEnable&&(this.p2.copy(t.data.screenCoords),Qt.makeEmpty().expandByPoint(this.p1).expandByPoint(this.p2),this.graph.draw(Qt))}handleControlsPointerOver(t){var u,l,c,f,d,v;const e=((u=t==null?void 0:t.e)==null?void 0:u.target)||((c=(l=t==null?void 0:t.e)==null?void 0:l.srcEvent)==null?void 0:c.target)||((d=(f=t==null?void 0:t.e)==null?void 0:f.srcEvent)==null?void 0:d.srcElement),r=e==null?void 0:e.id;let a=!1;r&&((v=this.scene)!=null&&v.isCurrentAssetType(r))&&(a=!0),a?this._currentAssetId!==r&&(this._currentAssetId=r,this.dispatchEvent({type:"POINTEROVER",data:{id:r,screenCoords:t.data.screenCoords},e:t.e})):(this._currentAssetId=void 0,this.dispatchEvent({type:"POINTERLEAVE",e:t.e}))}handleMultiSelectorSelected(t){console.warn("handleMultiSelectorSelected:",t.data),this.dispatchEvent({type:"SELECTED",data:t.data})}}const Qt=new bt,ls=new Nt;var Dr=(n=>(n.SELECTED="SELECTED",n.POINTEROVER="POINTEROVER",n.POINTERLEAVE="POINTERLEAVE",n))(Dr||{});class mm extends Er{name="SvgApp";params;renderer;view;scene;loadingScene;mainScene;zoomToSelectEnable=!1;zoomBox=new bt;selectEnable=!1;multiSelectEnable=!1;runningHandler=this.running.bind(this);pointerOverHandler=this.handlePointerOver.bind(this);pointerLeaveHandler=this.handlePointerLeave.bind(this);multiSelectorSelectedHandler=this.handleMultiSelectorSelected.bind(this);constructor(t={}){super(),this.params=t,this.params.zoomToSelectEnable&&(this.zoomToSelectEnable=!0),this.params.selectEnable&&(this.selectEnable=!0),this.params.multiSelectEnable&&(this.multiSelectEnable=!0),this.params.selectedFill||(this.params.selectedFill=le.getMoreTransparent(oe.red,.3)),this.params.selectedStroke||(this.params.selectedStroke=le.getMoreTransparent(oe.red,.8)),this.renderer=new n0(t),this.view=new gm(t),this.trans2LoadingScene()}get isLoadingScene(){var t;return((t=this.scene)==null?void 0:t.name)==="SvgLoadingScene"}destroy(){var t,e;this.unbindAssetsEvents(),super.destroy(),(t=this.view)==null||t.destroy(),(e=this.renderer)==null||e.destroy()}isScene(t){var e;return((e=this.scene)==null?void 0:e.uuid)===t.uuid}removeScene(t){this.scene=void 0,t==null||t.destroy()}trans2MainScene(){var t,e;(t=this.scene)==null||t.unmount(),this.scene=this.mainScene,this.scene.isMounted||this.scene.mount(),this.view.bindScene(this.scene),(e=this.loadingScene)==null||e.destroy()}trans2LoadingScene(){var e,r;this.loadingScene=new hm(this.params),(e=this.scene)==null||e.unmount(),this.scene=this.loadingScene,this.scene.isMounted||this.scene.mount();const t=new bt().copy(this.loadingScene.viewBox).expandByVector(new L(1,1).multiplyScalar(360));this.view.setByBox(t),(r=this.mainScene)==null||r.destroy()}start(){requestAnimationFrame(this.runningHandler)}running(){this.scene&&(this.scene.update(),this.renderer.render(this.scene,this.view.camera),requestAnimationFrame(this.runningHandler))}async load(t,e,r=2,a){this.isLoadingScene||this.trans2LoadingScene(),await zd(this.params.syncDelay);const u=await new ju().loadAsync(t);this.mainScene=new Oc(this.params),this.mainScene.bind(u),this.view.setByBox(this.mainScene.viewBox);const l=this.mainScene.getLayers(r);return e!=null&&e.length||(e=ht.map(l,"label")),this.mainScene.showDefaultLayers(e,!0),a!=null&&a.length&&this.setSkeletons(a),this.trans2MainScene(),this.bindAssetsEvents(),console.log("svgApp.load: ",l),l}setSkeletons(t){this.mainScene.setSkeletonLayers(t)}getLayers(t=2){return this.mainScene.getLayers(t)}updateLayersVisibility(t,e=!1){this.mainScene.updateLayersVisibility(t,e)}selectByIds(t){this.mainScene.selectByIds(t,this.multiSelectEnable)}targetByIds(t){this.mainScene.selectByIds(t,!1),io.copy(this.mainScene.getSelectedBoundingBox()).expandByVector(new L(1,1).multiplyScalar(500)),io.isEmpty()||this.view.setByBox(io)}setViewAreaLimit(t){this.renderer.viewAreaLimit=t}setAssetType(t,e){this.mainScene.setAssetType(t,e)}getAssetIdsByType(t){return this.mainScene.getAssetIdsByType(t)}clearFill(){this.mainScene.clearFillOrStroke("fill")}clearFillByIds(t){this.mainScene.clearFillOrStrokeByIds(t,"fill")}setFillByIds(t,e){this.mainScene.setFillOrStrokeByIds(t,e,"fill")}clearStroke(){this.mainScene.clearFillOrStroke("stroke")}clearStrokeByIds(t){this.mainScene.clearFillOrStrokeByIds(t,"stroke")}setStrokeByIds(t,e){this.mainScene.setFillOrStrokeByIds(t,e,"stroke")}getLegend(){return this.mainScene.getLegend()}setAssetLabels(t,e){this.mainScene.setAssetLabels(t,e)}clearAssetLabels(){this.mainScene.clearAssetLabels()}fullscreen(){this.view.fullscreen()}saveCameraPosition(){this.view.saveCameraPosition()}restoreCameraPosition(){this.view.restoreCameraPosition()}clearCameraPosition(){this.view.clearCameraPosition()}zoomIn(){this.view.zoomIn()}zoomOut(){this.view.zoomOut()}fontZoomIn(){var t;(t=this.scene)==null||t.chef.fontZoom("asset-labels",1.1)}fontZoomOut(){var t;(t=this.scene)==null||t.chef.fontZoom("asset-labels",.9)}zoomToSelectEnableChanged(t){this.view.zoomToSelectEnableChanged(t)}selectEnableChanged(t){this.selectEnable=!!t,this.view.selectEnableChanged(t)}multiSelectEnableChanged(t){this.multiSelectEnable=!!t,this.view.multiSelectEnableChanged(t)}clearSelected(){var t;(t=this.scene)==null||t.clearSelected()}socialDistanceEnableChanged(t){var e;(e=this.scene)==null||e.socialDistanceEnableChanged(t)}getBoundingBoxById(t,e=!0){var a;if(!t)return;const r=(a=this.scene)==null?void 0:a.getBoundingBoxById(t);return r&&e&&r.applyMatrix3(this.view.camera.viewMatrix).round(),r}bindAssetsEvents(){this.view.addEventListener(Dr.POINTEROVER,this.pointerOverHandler),this.view.addEventListener(Dr.POINTERLEAVE,this.pointerLeaveHandler),this.view.addEventListener(Dr.SELECTED,this.multiSelectorSelectedHandler)}unbindAssetsEvents(){this.view.removeEventListener(Dr.POINTEROVER,this.pointerOverHandler),this.view.removeEventListener(Dr.POINTERLEAVE,this.pointerLeaveHandler),this.view.removeEventListener(Dr.SELECTED,this.multiSelectorSelectedHandler)}handleMultiSelectorSelected(t){this.dispatchEvent({type:"SELECTED",data:t.data})}handlePointerOver(t){this.dispatchEvent({type:"pointerover",data:t.data,e:t.e})}handlePointerLeave(t){this.dispatchEvent({type:"pointerleave",data:t.data,e:t.e})}handleInitializeStart(){console.log("App.initializeStart ...")}async handleInitializeComplete(t){console.log("App.initializeComplete ...",t),t!=null&&t.data&&this.launch()}launch(){console.log("App.launch ...")}}const io=new bt;var Pc=(n=>(n.SELECTED="SELECTED",n.POINTEROVER="pointerover",n.POINTERLEAVE="pointerleave",n))(Pc||{});function ym(n){return new Worker("/environment.worker.js",{type:"module",name:n==null?void 0:n.name})}Kt.AppEnum=Pc,Kt.AssetTypeEnum=Eh,Kt.Box2=Bd,Kt.Color=le,Kt.ColorsEnum=oe,Kt.EnvironmentWorker=ym,Kt.GLOB=gt,Kt.LayerTypeEnum=na,Kt.Monitor=Tt,Kt.SvgApp=mm,Kt.Vector2=Od,Kt.defaultConfig=Gr,Object.defineProperty(Kt,Symbol.toStringTag,{value:"Module"})});
|