@archilogic/floor-plan-sdk 3.2.0 → 4.4.0
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/README.md +19 -14
- package/dist/fpe.api.json +2827 -0
- package/dist/fpe.d.ts +1476 -0
- package/dist/fpe.es.js +861 -0
- package/dist/fpe.mjs +847 -0
- package/dist/fpe.umd.js +847 -0
- package/dist/style.css +1 -0
- package/package.json +23 -8
- package/fpe.css +0 -8
- package/fpe.d.ts +0 -832
- package/fpe.esm.js +0 -254
- package/fpe.js +0 -254
package/dist/fpe.umd.js
ADDED
|
@@ -0,0 +1,847 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
Archilogic Floor Plan Engine SDK v4.4.0 webgl build nightly-240227-114704-538b0d
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2024 Archilogic AG. All rights reserved.
|
|
5
|
+
|
|
6
|
+
License: According to your license agreement with Archilogic AG
|
|
7
|
+
*/(function(_i,ne){typeof exports=="object"&&typeof module<"u"?module.exports=ne():typeof define=="function"&&define.amd?define(ne):(_i=typeof globalThis<"u"?globalThis:_i||self,_i.FloorPlanEngine=ne())})(this,function(){"use strict";const ne=(i,t=.015625)=>{const e=1/t;return Math.round(i*e)/e};function qn(i){return Math.sign(i)*Math.floor(Math.abs(i))}function rh(i){const t=i*3.28084,e=Math.abs(t),r=ne(e%1*12);return{feet:qn(e),inches:qn(r),fraction:ne(r%1),isNegative:Math.sign(i)<0}}function nh(i){return i*3.28084*3.28084}const He="\xA0",We={meters:"m",feet:"\u2032",inches:"\u2033",squareMeters:"m\xB2",squareFeet:"ft\xB2",fraction:"/"};function Zn(i,t=1/2,e=1/64){return!(i%t)||t<=e?[i/t,1/t]:Zn(i,t/2)}const ze=(i=0,t="metric",e=3)=>{if(t==="imperial"){const{feet:n,inches:s,fraction:o,isNegative:a}=rh(i);let h="";if(o>0){const[l,u]=Zn(ne(o));h=`${He}${l}/${u}`}return`${a?"-":""}${n}${We.feet}${He}${s}${h}${We.inches}`}const r=Math.pow(10,e);return`${Math.round(i*r)/r}${He}${We.meters}`},Jn=(i=0,t="metric",e=0,r=!0)=>{let n="",s="";const o=Math.pow(10,e);if(t==="imperial"){const a=nh(i);n=`${Math.round(a*o)/o}`,s=`${He}${We.squareFeet}`}else n=`${Math.round(i*o)/o}`,s=`${He}${We.squareMeters}`;return r&&(n+=s),n};function sh(i){return i.replace(/([A-Z])/g,t=>` ${t}`).replace(/^./,t=>t.toUpperCase()).trim()}function oh(i){return i.slice(0,1)==="#"&&(i=i.slice(1)),i}function Qn(i){const t=oh(i);return t.length===3?`#${t.split("").map(e=>e+e).join("")}`:i}function wr(i){return i>=0&&i<=255}function ah({r:i,g:t,b:e}){return wr(i)&&wr(t)&&wr(e)}function hh(i){const t=Qn(i),e={r:parseInt(t.substring(1,3),16),g:parseInt(t.substring(3,5),16),b:parseInt(t.substring(5,7),16)};if(ah(e))return e;throw"invalid hex color input"}function lh(i){return Qn(i).match(/^#[a-f0-9]{6}$/i)!==null}function Pe(i){return JSON.parse(JSON.stringify(i))}function Kn(...i){let t={};for(const e of i)if(e instanceof Array)t instanceof Array||(t=[]),t=[...t,...e];else if(e instanceof Object)for(const r of Object.entries(e)){const n=r[0];let s=r[1];s instanceof Object&&n in t&&(s=Kn(t[n],s)),t={...t,[n]:s}}return t}function ts(){return typeof window<"u"&&typeof navigator<"u"&&typeof document<"u"}function uh(){return ts()&&navigator.platform.toUpperCase().indexOf("MAC")>=0}function fh(){return!ts()||window.self===window.top?!1:!!(window.location.ancestorOrigins&&window.location.ancestorOrigins[0]||document.referrer)}fh(),uh();var xi,ch=new Uint8Array(16);function ph(){if(!xi&&(xi=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!xi))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return xi(ch)}var dh=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function vh(i){return typeof i=="string"&&dh.test(i)}for(var nt=[],Pr=0;Pr<256;++Pr)nt.push((Pr+256).toString(16).substr(1));function yh(i){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=(nt[i[t+0]]+nt[i[t+1]]+nt[i[t+2]]+nt[i[t+3]]+"-"+nt[i[t+4]]+nt[i[t+5]]+"-"+nt[i[t+6]]+nt[i[t+7]]+"-"+nt[i[t+8]]+nt[i[t+9]]+"-"+nt[i[t+10]]+nt[i[t+11]]+nt[i[t+12]]+nt[i[t+13]]+nt[i[t+14]]+nt[i[t+15]]).toLowerCase();if(!vh(e))throw TypeError("Stringified UUID is invalid");return e}function se(i,t,e){i=i||{};var r=i.random||(i.rng||ph)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){e=e||0;for(var n=0;n<16;++n)t[e+n]=r[n];return t}return yh(r)}/*!
|
|
8
|
+
* @pixi/constants - v6.5.9
|
|
9
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
10
|
+
*
|
|
11
|
+
* @pixi/constants is licensed under the MIT License.
|
|
12
|
+
* http://www.opensource.org/licenses/mit-license
|
|
13
|
+
*/var Ft;(function(i){i[i.WEBGL_LEGACY=0]="WEBGL_LEGACY",i[i.WEBGL=1]="WEBGL",i[i.WEBGL2=2]="WEBGL2"})(Ft||(Ft={}));var be;(function(i){i[i.UNKNOWN=0]="UNKNOWN",i[i.WEBGL=1]="WEBGL",i[i.CANVAS=2]="CANVAS"})(be||(be={}));var wi;(function(i){i[i.COLOR=16384]="COLOR",i[i.DEPTH=256]="DEPTH",i[i.STENCIL=1024]="STENCIL"})(wi||(wi={}));var T;(function(i){i[i.NORMAL=0]="NORMAL",i[i.ADD=1]="ADD",i[i.MULTIPLY=2]="MULTIPLY",i[i.SCREEN=3]="SCREEN",i[i.OVERLAY=4]="OVERLAY",i[i.DARKEN=5]="DARKEN",i[i.LIGHTEN=6]="LIGHTEN",i[i.COLOR_DODGE=7]="COLOR_DODGE",i[i.COLOR_BURN=8]="COLOR_BURN",i[i.HARD_LIGHT=9]="HARD_LIGHT",i[i.SOFT_LIGHT=10]="SOFT_LIGHT",i[i.DIFFERENCE=11]="DIFFERENCE",i[i.EXCLUSION=12]="EXCLUSION",i[i.HUE=13]="HUE",i[i.SATURATION=14]="SATURATION",i[i.COLOR=15]="COLOR",i[i.LUMINOSITY=16]="LUMINOSITY",i[i.NORMAL_NPM=17]="NORMAL_NPM",i[i.ADD_NPM=18]="ADD_NPM",i[i.SCREEN_NPM=19]="SCREEN_NPM",i[i.NONE=20]="NONE",i[i.SRC_OVER=0]="SRC_OVER",i[i.SRC_IN=21]="SRC_IN",i[i.SRC_OUT=22]="SRC_OUT",i[i.SRC_ATOP=23]="SRC_ATOP",i[i.DST_OVER=24]="DST_OVER",i[i.DST_IN=25]="DST_IN",i[i.DST_OUT=26]="DST_OUT",i[i.DST_ATOP=27]="DST_ATOP",i[i.ERASE=26]="ERASE",i[i.SUBTRACT=28]="SUBTRACT",i[i.XOR=29]="XOR"})(T||(T={}));var Rt;(function(i){i[i.POINTS=0]="POINTS",i[i.LINES=1]="LINES",i[i.LINE_LOOP=2]="LINE_LOOP",i[i.LINE_STRIP=3]="LINE_STRIP",i[i.TRIANGLES=4]="TRIANGLES",i[i.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",i[i.TRIANGLE_FAN=6]="TRIANGLE_FAN"})(Rt||(Rt={}));var L;(function(i){i[i.RGBA=6408]="RGBA",i[i.RGB=6407]="RGB",i[i.RG=33319]="RG",i[i.RED=6403]="RED",i[i.RGBA_INTEGER=36249]="RGBA_INTEGER",i[i.RGB_INTEGER=36248]="RGB_INTEGER",i[i.RG_INTEGER=33320]="RG_INTEGER",i[i.RED_INTEGER=36244]="RED_INTEGER",i[i.ALPHA=6406]="ALPHA",i[i.LUMINANCE=6409]="LUMINANCE",i[i.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",i[i.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",i[i.DEPTH_STENCIL=34041]="DEPTH_STENCIL"})(L||(L={}));var oe;(function(i){i[i.TEXTURE_2D=3553]="TEXTURE_2D",i[i.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",i[i.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",i[i.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",i[i.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",i[i.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",i[i.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",i[i.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",i[i.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z"})(oe||(oe={}));var X;(function(i){i[i.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",i[i.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",i[i.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",i[i.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",i[i.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",i[i.UNSIGNED_INT=5125]="UNSIGNED_INT",i[i.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",i[i.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",i[i.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",i[i.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",i[i.BYTE=5120]="BYTE",i[i.SHORT=5122]="SHORT",i[i.INT=5124]="INT",i[i.FLOAT=5126]="FLOAT",i[i.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",i[i.HALF_FLOAT=36193]="HALF_FLOAT"})(X||(X={}));var Pi;(function(i){i[i.FLOAT=0]="FLOAT",i[i.INT=1]="INT",i[i.UINT=2]="UINT"})(Pi||(Pi={}));var lt;(function(i){i[i.NEAREST=0]="NEAREST",i[i.LINEAR=1]="LINEAR"})(lt||(lt={}));var Te;(function(i){i[i.CLAMP=33071]="CLAMP",i[i.REPEAT=10497]="REPEAT",i[i.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT"})(Te||(Te={}));var jt;(function(i){i[i.OFF=0]="OFF",i[i.POW2=1]="POW2",i[i.ON=2]="ON",i[i.ON_MANUAL=3]="ON_MANUAL"})(jt||(jt={}));var qt;(function(i){i[i.NPM=0]="NPM",i[i.UNPACK=1]="UNPACK",i[i.PMA=2]="PMA",i[i.NO_PREMULTIPLIED_ALPHA=0]="NO_PREMULTIPLIED_ALPHA",i[i.PREMULTIPLY_ON_UPLOAD=1]="PREMULTIPLY_ON_UPLOAD",i[i.PREMULTIPLY_ALPHA=2]="PREMULTIPLY_ALPHA",i[i.PREMULTIPLIED_ALPHA=2]="PREMULTIPLIED_ALPHA"})(qt||(qt={}));var Zt;(function(i){i[i.NO=0]="NO",i[i.YES=1]="YES",i[i.AUTO=2]="AUTO",i[i.BLEND=0]="BLEND",i[i.CLEAR=1]="CLEAR",i[i.BLIT=2]="BLIT"})(Zt||(Zt={}));var bi;(function(i){i[i.AUTO=0]="AUTO",i[i.MANUAL=1]="MANUAL"})(bi||(bi={}));var mt;(function(i){i.LOW="lowp",i.MEDIUM="mediump",i.HIGH="highp"})(mt||(mt={}));var K;(function(i){i[i.NONE=0]="NONE",i[i.SCISSOR=1]="SCISSOR",i[i.STENCIL=2]="STENCIL",i[i.SPRITE=3]="SPRITE",i[i.COLOR=4]="COLOR"})(K||(K={}));var es;(function(i){i[i.RED=1]="RED",i[i.GREEN=2]="GREEN",i[i.BLUE=4]="BLUE",i[i.ALPHA=8]="ALPHA"})(es||(es={}));var Z;(function(i){i[i.NONE=0]="NONE",i[i.LOW=2]="LOW",i[i.MEDIUM=4]="MEDIUM",i[i.HIGH=8]="HIGH"})(Z||(Z={}));var Ct;(function(i){i[i.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",i[i.ARRAY_BUFFER=34962]="ARRAY_BUFFER",i[i.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER"})(Ct||(Ct={}));/*!
|
|
14
|
+
* @pixi/settings - v6.5.9
|
|
15
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
16
|
+
*
|
|
17
|
+
* @pixi/settings is licensed under the MIT License.
|
|
18
|
+
* http://www.opensource.org/licenses/mit-license
|
|
19
|
+
*/var mh={createCanvas:function(i,t){var e=document.createElement("canvas");return e.width=i,e.height=t,e},getWebGLRenderingContext:function(){return WebGLRenderingContext},getNavigator:function(){return navigator},getBaseUrl:function(){var i;return(i=document.baseURI)!==null&&i!==void 0?i:window.location.href},fetch:function(i,t){return fetch(i,t)}},br=/iPhone/i,is=/iPod/i,rs=/iPad/i,ns=/\biOS-universal(?:.+)Mac\b/i,Tr=/\bAndroid(?:.+)Mobile\b/i,ss=/Android/i,Ce=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,Ti=/Silk/i,Dt=/Windows Phone/i,os=/\bWindows(?:.+)ARM\b/i,as=/BlackBerry/i,hs=/BB10/i,ls=/Opera Mini/i,us=/\b(CriOS|Chrome)(?:.+)Mobile/i,fs=/Mobile(?:.+)Firefox\b/i,cs=function(i){return typeof i<"u"&&i.platform==="MacIntel"&&typeof i.maxTouchPoints=="number"&&i.maxTouchPoints>1&&typeof MSStream>"u"};function gh(i){return function(t){return t.test(i)}}function _h(i){var t={userAgent:"",platform:"",maxTouchPoints:0};!i&&typeof navigator<"u"?t={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof i=="string"?t.userAgent=i:i&&i.userAgent&&(t={userAgent:i.userAgent,platform:i.platform,maxTouchPoints:i.maxTouchPoints||0});var e=t.userAgent,r=e.split("[FBAN");typeof r[1]<"u"&&(e=r[0]),r=e.split("Twitter"),typeof r[1]<"u"&&(e=r[0]);var n=gh(e),s={apple:{phone:n(br)&&!n(Dt),ipod:n(is),tablet:!n(br)&&(n(rs)||cs(t))&&!n(Dt),universal:n(ns),device:(n(br)||n(is)||n(rs)||n(ns)||cs(t))&&!n(Dt)},amazon:{phone:n(Ce),tablet:!n(Ce)&&n(Ti),device:n(Ce)||n(Ti)},android:{phone:!n(Dt)&&n(Ce)||!n(Dt)&&n(Tr),tablet:!n(Dt)&&!n(Ce)&&!n(Tr)&&(n(Ti)||n(ss)),device:!n(Dt)&&(n(Ce)||n(Ti)||n(Tr)||n(ss))||n(/\bokhttp\b/i)},windows:{phone:n(Dt),tablet:n(os),device:n(Dt)||n(os)},other:{blackberry:n(as),blackberry10:n(hs),opera:n(ls),firefox:n(fs),chrome:n(us),device:n(as)||n(hs)||n(ls)||n(fs)||n(us)},any:!1,phone:!1,tablet:!1};return s.any=s.apple.device||s.android.device||s.windows.device||s.other.device,s.phone=s.apple.phone||s.android.phone||s.windows.phone,s.tablet=s.apple.tablet||s.android.tablet||s.windows.tablet,s}var ae=_h(globalThis.navigator);function xh(){return!ae.apple.device}function wh(i){var t=!0;if(ae.tablet||ae.phone){if(ae.apple.device){var e=navigator.userAgent.match(/OS (\d+)_(\d+)?/);if(e){var r=parseInt(e[1],10);r<11&&(t=!1)}}if(ae.android.device){var e=navigator.userAgent.match(/Android\s([0-9.]*)/);if(e){var r=parseInt(e[1],10);r<7&&(t=!1)}}}return t?i:4}var M={ADAPTER:mh,MIPMAP_TEXTURES:jt.POW2,ANISOTROPIC_LEVEL:0,RESOLUTION:1,FILTER_RESOLUTION:1,FILTER_MULTISAMPLE:Z.NONE,SPRITE_MAX_TEXTURES:wh(32),SPRITE_BATCH_SIZE:4096,RENDER_OPTIONS:{view:null,antialias:!1,autoDensity:!1,backgroundColor:0,backgroundAlpha:1,useContextAlpha:!0,clearBeforeRender:!0,preserveDrawingBuffer:!1,width:800,height:600,legacy:!1},GC_MODE:bi.AUTO,GC_MAX_IDLE:60*60,GC_MAX_CHECK_COUNT:60*10,WRAP_MODE:Te.CLAMP,SCALE_MODE:lt.LINEAR,PRECISION_VERTEX:mt.HIGH,PRECISION_FRAGMENT:ae.apple.device?mt.HIGH:mt.MEDIUM,CAN_UPLOAD_SAME_BUFFER:xh(),CREATE_IMAGE_BITMAP:!1,ROUND_PIXELS:!1},Ph=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ie(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function bh(i){if(i.__esModule)return i;var t=i.default;if(typeof t=="function"){var e=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(i).forEach(function(r){var n=Object.getOwnPropertyDescriptor(i,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return i[r]}})}),e}var ps={exports:{}};(function(i){var t=Object.prototype.hasOwnProperty,e="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(e=!1));function n(h,l,u){this.fn=h,this.context=l,this.once=u||!1}function s(h,l,u,f,p){if(typeof u!="function")throw new TypeError("The listener must be a function");var d=new n(u,f||h,p),v=e?e+l:l;return h._events[v]?h._events[v].fn?h._events[v]=[h._events[v],d]:h._events[v].push(d):(h._events[v]=d,h._eventsCount++),h}function o(h,l){--h._eventsCount===0?h._events=new r:delete h._events[l]}function a(){this._events=new r,this._eventsCount=0}a.prototype.eventNames=function(){var l=[],u,f;if(this._eventsCount===0)return l;for(f in u=this._events)t.call(u,f)&&l.push(e?f.slice(1):f);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(u)):l},a.prototype.listeners=function(l){var u=e?e+l:l,f=this._events[u];if(!f)return[];if(f.fn)return[f.fn];for(var p=0,d=f.length,v=new Array(d);p<d;p++)v[p]=f[p].fn;return v},a.prototype.listenerCount=function(l){var u=e?e+l:l,f=this._events[u];return f?f.fn?1:f.length:0},a.prototype.emit=function(l,u,f,p,d,v){var m=e?e+l:l;if(!this._events[m])return!1;var y=this._events[m],g=arguments.length,w,_;if(y.fn){switch(y.once&&this.removeListener(l,y.fn,void 0,!0),g){case 1:return y.fn.call(y.context),!0;case 2:return y.fn.call(y.context,u),!0;case 3:return y.fn.call(y.context,u,f),!0;case 4:return y.fn.call(y.context,u,f,p),!0;case 5:return y.fn.call(y.context,u,f,p,d),!0;case 6:return y.fn.call(y.context,u,f,p,d,v),!0}for(_=1,w=new Array(g-1);_<g;_++)w[_-1]=arguments[_];y.fn.apply(y.context,w)}else{var b=y.length,x;for(_=0;_<b;_++)switch(y[_].once&&this.removeListener(l,y[_].fn,void 0,!0),g){case 1:y[_].fn.call(y[_].context);break;case 2:y[_].fn.call(y[_].context,u);break;case 3:y[_].fn.call(y[_].context,u,f);break;case 4:y[_].fn.call(y[_].context,u,f,p);break;default:if(!w)for(x=1,w=new Array(g-1);x<g;x++)w[x-1]=arguments[x];y[_].fn.apply(y[_].context,w)}}return!0},a.prototype.on=function(l,u,f){return s(this,l,u,f,!1)},a.prototype.once=function(l,u,f){return s(this,l,u,f,!0)},a.prototype.removeListener=function(l,u,f,p){var d=e?e+l:l;if(!this._events[d])return this;if(!u)return o(this,d),this;var v=this._events[d];if(v.fn)v.fn===u&&(!p||v.once)&&(!f||v.context===f)&&o(this,d);else{for(var m=0,y=[],g=v.length;m<g;m++)(v[m].fn!==u||p&&!v[m].once||f&&v[m].context!==f)&&y.push(v[m]);y.length?this._events[d]=y.length===1?y[0]:y:o(this,d)}return this},a.prototype.removeAllListeners=function(l){var u;return l?(u=e?e+l:l,this._events[u]&&o(this,u)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=e,a.EventEmitter=a,i.exports=a})(ps);var Th=ps.exports,Ee=Ie(Th),Cr={exports:{}};Cr.exports=Ci,Cr.exports.default=Ci;function Ci(i,t,e){e=e||2;var r=t&&t.length,n=r?t[0]*e:i.length,s=ds(i,0,n,e,!0),o=[];if(!s||s.next===s.prev)return o;var a,h,l,u,f,p,d;if(r&&(s=Ah(i,t,s,e)),i.length>80*e){a=l=i[0],h=u=i[1];for(var v=e;v<n;v+=e)f=i[v],p=i[v+1],f<a&&(a=f),p<h&&(h=p),f>l&&(l=f),p>u&&(u=p);d=Math.max(l-a,u-h),d=d!==0?32767/d:0}return $e(s,o,e,a,h,d,0),o}function ds(i,t,e,r,n){var s,o;if(n===Sr(i,t,e,r)>0)for(s=t;s<e;s+=r)o=ms(s,i[s],i[s+1],o);else for(s=e-r;s>=t;s-=r)o=ms(s,i[s],i[s+1],o);return o&&Ii(o,o.next)&&(je(o),o=o.next),o}function he(i,t){if(!i)return i;t||(t=i);var e=i,r;do if(r=!1,!e.steiner&&(Ii(e,e.next)||q(e.prev,e,e.next)===0)){if(je(e),e=t=e.prev,e===e.next)break;r=!0}else e=e.next;while(r||e!==t);return t}function $e(i,t,e,r,n,s,o){if(i){!o&&s&&Fh(i,r,n,s);for(var a=i,h,l;i.prev!==i.next;){if(h=i.prev,l=i.next,s?Ih(i,r,n,s):Ch(i)){t.push(h.i/e|0),t.push(i.i/e|0),t.push(l.i/e|0),je(i),i=l.next,a=l.next;continue}if(i=l,i===a){o?o===1?(i=Eh(he(i),t,e),$e(i,t,e,r,n,s,2)):o===2&&Sh(i,t,e,r,n,s):$e(he(i),t,e,r,n,s,1);break}}}}function Ch(i){var t=i.prev,e=i,r=i.next;if(q(t,e,r)>=0)return!1;for(var n=t.x,s=e.x,o=r.x,a=t.y,h=e.y,l=r.y,u=n<s?n<o?n:o:s<o?s:o,f=a<h?a<l?a:l:h<l?h:l,p=n>s?n>o?n:o:s>o?s:o,d=a>h?a>l?a:l:h>l?h:l,v=r.next;v!==t;){if(v.x>=u&&v.x<=p&&v.y>=f&&v.y<=d&&Se(n,a,s,h,o,l,v.x,v.y)&&q(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function Ih(i,t,e,r){var n=i.prev,s=i,o=i.next;if(q(n,s,o)>=0)return!1;for(var a=n.x,h=s.x,l=o.x,u=n.y,f=s.y,p=o.y,d=a<h?a<l?a:l:h<l?h:l,v=u<f?u<p?u:p:f<p?f:p,m=a>h?a>l?a:l:h>l?h:l,y=u>f?u>p?u:p:f>p?f:p,g=Ir(d,v,t,e,r),w=Ir(m,y,t,e,r),_=i.prevZ,b=i.nextZ;_&&_.z>=g&&b&&b.z<=w;){if(_.x>=d&&_.x<=m&&_.y>=v&&_.y<=y&&_!==n&&_!==o&&Se(a,u,h,f,l,p,_.x,_.y)&&q(_.prev,_,_.next)>=0||(_=_.prevZ,b.x>=d&&b.x<=m&&b.y>=v&&b.y<=y&&b!==n&&b!==o&&Se(a,u,h,f,l,p,b.x,b.y)&&q(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;_&&_.z>=g;){if(_.x>=d&&_.x<=m&&_.y>=v&&_.y<=y&&_!==n&&_!==o&&Se(a,u,h,f,l,p,_.x,_.y)&&q(_.prev,_,_.next)>=0)return!1;_=_.prevZ}for(;b&&b.z<=w;){if(b.x>=d&&b.x<=m&&b.y>=v&&b.y<=y&&b!==n&&b!==o&&Se(a,u,h,f,l,p,b.x,b.y)&&q(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function Eh(i,t,e){var r=i;do{var n=r.prev,s=r.next.next;!Ii(n,s)&&vs(n,r,r.next,s)&&Ve(n,s)&&Ve(s,n)&&(t.push(n.i/e|0),t.push(r.i/e|0),t.push(s.i/e|0),je(r),je(r.next),r=i=s),r=r.next}while(r!==i);return he(r)}function Sh(i,t,e,r,n,s){var o=i;do{for(var a=o.next.next;a!==o.prev;){if(o.i!==a.i&&Bh(o,a)){var h=ys(o,a);o=he(o,o.next),h=he(h,h.next),$e(o,t,e,r,n,s,0),$e(h,t,e,r,n,s,0);return}a=a.next}o=o.next}while(o!==i)}function Ah(i,t,e,r){var n=[],s,o,a,h,l;for(s=0,o=t.length;s<o;s++)a=t[s]*r,h=s<o-1?t[s+1]*r:i.length,l=ds(i,a,h,r,!1),l===l.next&&(l.steiner=!0),n.push(Dh(l));for(n.sort(Oh),s=0;s<n.length;s++)e=Lh(n[s],e);return e}function Oh(i,t){return i.x-t.x}function Lh(i,t){var e=Mh(i,t);if(!e)return t;var r=ys(e,i);return he(r,r.next),he(e,e.next)}function Mh(i,t){var e=t,r=i.x,n=i.y,s=-1/0,o;do{if(n<=e.y&&n>=e.next.y&&e.next.y!==e.y){var a=e.x+(n-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(a<=r&&a>s&&(s=a,o=e.x<e.next.x?e:e.next,a===r))return o}e=e.next}while(e!==t);if(!o)return null;var h=o,l=o.x,u=o.y,f=1/0,p;e=o;do r>=e.x&&e.x>=l&&r!==e.x&&Se(n<u?r:s,n,l,u,n<u?s:r,n,e.x,e.y)&&(p=Math.abs(n-e.y)/(r-e.x),Ve(e,i)&&(p<f||p===f&&(e.x>o.x||e.x===o.x&&Nh(o,e)))&&(o=e,f=p)),e=e.next;while(e!==h);return o}function Nh(i,t){return q(i.prev,i,t.prev)<0&&q(t.next,i,i.next)<0}function Fh(i,t,e,r){var n=i;do n.z===0&&(n.z=Ir(n.x,n.y,t,e,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next;while(n!==i);n.prevZ.nextZ=null,n.prevZ=null,Rh(n)}function Rh(i){var t,e,r,n,s,o,a,h,l=1;do{for(e=i,i=null,s=null,o=0;e;){for(o++,r=e,a=0,t=0;t<l&&(a++,r=r.nextZ,!!r);t++);for(h=l;a>0||h>0&&r;)a!==0&&(h===0||!r||e.z<=r.z)?(n=e,e=e.nextZ,a--):(n=r,r=r.nextZ,h--),s?s.nextZ=n:i=n,n.prevZ=s,s=n;e=r}s.nextZ=null,l*=2}while(o>1);return i}function Ir(i,t,e,r,n){return i=(i-e)*n|0,t=(t-r)*n|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,i|t<<1}function Dh(i){var t=i,e=i;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==i);return e}function Se(i,t,e,r,n,s,o,a){return(n-o)*(t-a)>=(i-o)*(s-a)&&(i-o)*(r-a)>=(e-o)*(t-a)&&(e-o)*(s-a)>=(n-o)*(r-a)}function Bh(i,t){return i.next.i!==t.i&&i.prev.i!==t.i&&!kh(i,t)&&(Ve(i,t)&&Ve(t,i)&&Uh(i,t)&&(q(i.prev,i,t.prev)||q(i,t.prev,t))||Ii(i,t)&&q(i.prev,i,i.next)>0&&q(t.prev,t,t.next)>0)}function q(i,t,e){return(t.y-i.y)*(e.x-t.x)-(t.x-i.x)*(e.y-t.y)}function Ii(i,t){return i.x===t.x&&i.y===t.y}function vs(i,t,e,r){var n=Si(q(i,t,e)),s=Si(q(i,t,r)),o=Si(q(e,r,i)),a=Si(q(e,r,t));return!!(n!==s&&o!==a||n===0&&Ei(i,e,t)||s===0&&Ei(i,r,t)||o===0&&Ei(e,i,r)||a===0&&Ei(e,t,r))}function Ei(i,t,e){return t.x<=Math.max(i.x,e.x)&&t.x>=Math.min(i.x,e.x)&&t.y<=Math.max(i.y,e.y)&&t.y>=Math.min(i.y,e.y)}function Si(i){return i>0?1:i<0?-1:0}function kh(i,t){var e=i;do{if(e.i!==i.i&&e.next.i!==i.i&&e.i!==t.i&&e.next.i!==t.i&&vs(e,e.next,i,t))return!0;e=e.next}while(e!==i);return!1}function Ve(i,t){return q(i.prev,i,i.next)<0?q(i,t,i.next)>=0&&q(i,i.prev,t)>=0:q(i,t,i.prev)<0||q(i,i.next,t)<0}function Uh(i,t){var e=i,r=!1,n=(i.x+t.x)/2,s=(i.y+t.y)/2;do e.y>s!=e.next.y>s&&e.next.y!==e.y&&n<(e.next.x-e.x)*(s-e.y)/(e.next.y-e.y)+e.x&&(r=!r),e=e.next;while(e!==i);return r}function ys(i,t){var e=new Er(i.i,i.x,i.y),r=new Er(t.i,t.x,t.y),n=i.next,s=t.prev;return i.next=t,t.prev=i,e.next=n,n.prev=e,r.next=e,e.prev=r,s.next=r,r.prev=s,r}function ms(i,t,e,r){var n=new Er(i,t,e);return r?(n.next=r.next,n.prev=r,r.next.prev=n,r.next=n):(n.prev=n,n.next=n),n}function je(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function Er(i,t,e){this.i=i,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Ci.deviation=function(i,t,e,r){var n=t&&t.length,s=n?t[0]*e:i.length,o=Math.abs(Sr(i,0,s,e));if(n)for(var a=0,h=t.length;a<h;a++){var l=t[a]*e,u=a<h-1?t[a+1]*e:i.length;o-=Math.abs(Sr(i,l,u,e))}var f=0;for(a=0;a<r.length;a+=3){var p=r[a]*e,d=r[a+1]*e,v=r[a+2]*e;f+=Math.abs((i[p]-i[v])*(i[d+1]-i[p+1])-(i[p]-i[d])*(i[v+1]-i[p+1]))}return o===0&&f===0?0:Math.abs((f-o)/o)};function Sr(i,t,e,r){for(var n=0,s=t,o=e-r;s<e;s+=r)n+=(i[o]-i[s])*(i[s+1]+i[o+1]),o=s;return n}Ci.flatten=function(i){for(var t=i[0][0].length,e={vertices:[],holes:[],dimensions:t},r=0,n=0;n<i.length;n++){for(var s=0;s<i[n].length;s++)for(var o=0;o<t;o++)e.vertices.push(i[n][s][o]);n>0&&(r+=i[n-1].length,e.holes.push(r))}return e};var Xh=Cr.exports,gs=Ie(Xh);/*! https://mths.be/punycode v1.4.1 by @mathias */var Ar=2147483647,qe=36,_s=1,Or=26,Gh=38,Yh=700,Hh=72,Wh=128,zh="-",$h=/[^\x20-\x7E]/,Vh=/[\x2E\u3002\uFF0E\uFF61]/g,jh={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Lr=qe-_s,Ae=Math.floor,Mr=String.fromCharCode;function xs(i){throw new RangeError(jh[i])}function qh(i,t){for(var e=i.length,r=[];e--;)r[e]=t(i[e]);return r}function Zh(i,t){var e=i.split("@"),r="";e.length>1&&(r=e[0]+"@",i=e[1]),i=i.replace(Vh,".");var n=i.split("."),s=qh(n,t).join(".");return r+s}function Jh(i){for(var t=[],e=0,r=i.length,n,s;e<r;)n=i.charCodeAt(e++),n>=55296&&n<=56319&&e<r?(s=i.charCodeAt(e++),(s&64512)==56320?t.push(((n&1023)<<10)+(s&1023)+65536):(t.push(n),e--)):t.push(n);return t}function ws(i,t){return i+22+75*(i<26)-((t!=0)<<5)}function Qh(i,t,e){var r=0;for(i=e?Ae(i/Yh):i>>1,i+=Ae(i/t);i>Lr*Or>>1;r+=qe)i=Ae(i/Lr);return Ae(r+(Lr+1)*i/(i+Gh))}function Kh(i){var t,e,r,n,s,o,a,h,l,u,f,p=[],d,v,m,y;for(i=Jh(i),d=i.length,t=Wh,e=0,s=Hh,o=0;o<d;++o)f=i[o],f<128&&p.push(Mr(f));for(r=n=p.length,n&&p.push(zh);r<d;){for(a=Ar,o=0;o<d;++o)f=i[o],f>=t&&f<a&&(a=f);for(v=r+1,a-t>Ae((Ar-e)/v)&&xs("overflow"),e+=(a-t)*v,t=a,o=0;o<d;++o)if(f=i[o],f<t&&++e>Ar&&xs("overflow"),f==t){for(h=e,l=qe;u=l<=s?_s:l>=s+Or?Or:l-s,!(h<u);l+=qe)y=h-u,m=qe-u,p.push(Mr(ws(u+y%m,0))),h=Ae(y/m);p.push(Mr(ws(h,0))),s=Qh(e,v,r==n),e=0,++r}++e,++t}return p.join("")}function tl(i){return Zh(i,function(t){return $h.test(t)?"xn--"+Kh(t):t})}function Ai(i){return i===null}function el(i){return i==null}function Nr(i){return typeof i=="string"}function Ps(i){return typeof i=="object"&&i!==null}function il(i,t){return Object.prototype.hasOwnProperty.call(i,t)}var bs=Array.isArray||function(i){return Object.prototype.toString.call(i)==="[object Array]"};function Ze(i){switch(typeof i){case"string":return i;case"boolean":return i?"true":"false";case"number":return isFinite(i)?i:"";default:return""}}function rl(i,t,e,r){return t=t||"&",e=e||"=",i===null&&(i=void 0),typeof i=="object"?Ts(nl(i),function(n){var s=encodeURIComponent(Ze(n))+e;return bs(i[n])?Ts(i[n],function(o){return s+encodeURIComponent(Ze(o))}).join(t):s+encodeURIComponent(Ze(i[n]))}).join(t):r?encodeURIComponent(Ze(r))+e+encodeURIComponent(Ze(i)):""}function Ts(i,t){if(i.map)return i.map(t);for(var e=[],r=0;r<i.length;r++)e.push(t(i[r],r));return e}var nl=Object.keys||function(i){var t=[];for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&t.push(e);return t};function Cs(i,t,e,r){t=t||"&",e=e||"=";var n={};if(typeof i!="string"||i.length===0)return n;var s=/\+/g;i=i.split(t);var o=1e3;r&&typeof r.maxKeys=="number"&&(o=r.maxKeys);var a=i.length;o>0&&a>o&&(a=o);for(var h=0;h<a;++h){var l=i[h].replace(s,"%20"),u=l.indexOf(e),f,p,d,v;u>=0?(f=l.substr(0,u),p=l.substr(u+1)):(f=l,p=""),d=decodeURIComponent(f),v=decodeURIComponent(p),il(n,d)?bs(n[d])?n[d].push(v):n[d]=[n[d],v]:n[d]=v}return n}function Bt(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var sl=/^([a-z0-9.+-]+:)/i,ol=/:[0-9]*$/,al=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,hl=["<",">",'"',"`"," ","\r",`
|
|
20
|
+
`," "],ll=["{","}","|","\\","^","`"].concat(hl),Fr=["'"].concat(ll),Is=["%","/","?",";","#"].concat(Fr),Es=["/","?","#"],ul=255,Ss=/^[+a-z0-9A-Z_-]{0,63}$/,fl=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,cl={javascript:!0,"javascript:":!0},Rr={javascript:!0,"javascript:":!0},Oe={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Dr(i,t,e){if(i&&Ps(i)&&i instanceof Bt)return i;var r=new Bt;return r.parse(i,t,e),r}Bt.prototype.parse=function(i,t,e){return As(this,i,t,e)};function As(i,t,e,r){if(!Nr(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var n=t.indexOf("?"),s=n!==-1&&n<t.indexOf("#")?"?":"#",o=t.split(s),a=/\\/g;o[0]=o[0].replace(a,"/"),t=o.join(s);var h=t;if(h=h.trim(),!r&&t.split("#").length===1){var l=al.exec(h);if(l)return i.path=h,i.href=h,i.pathname=l[1],l[2]?(i.search=l[2],e?i.query=Cs(i.search.substr(1)):i.query=i.search.substr(1)):e&&(i.search="",i.query={}),i}var u=sl.exec(h);if(u){u=u[0];var f=u.toLowerCase();i.protocol=f,h=h.substr(u.length)}if(r||u||h.match(/^\/\/[^@\/]+@[^@\/]+/)){var p=h.substr(0,2)==="//";p&&!(u&&Rr[u])&&(h=h.substr(2),i.slashes=!0)}var d,v,m,y;if(!Rr[u]&&(p||u&&!Oe[u])){var g=-1;for(d=0;d<Es.length;d++)v=h.indexOf(Es[d]),v!==-1&&(g===-1||v<g)&&(g=v);var w,_;for(g===-1?_=h.lastIndexOf("@"):_=h.lastIndexOf("@",g),_!==-1&&(w=h.slice(0,_),h=h.slice(_+1),i.auth=decodeURIComponent(w)),g=-1,d=0;d<Is.length;d++)v=h.indexOf(Is[d]),v!==-1&&(g===-1||v<g)&&(g=v);g===-1&&(g=h.length),i.host=h.slice(0,g),h=h.slice(g),Os(i),i.hostname=i.hostname||"";var b=i.hostname[0]==="["&&i.hostname[i.hostname.length-1]==="]";if(!b){var x=i.hostname.split(/\./);for(d=0,m=x.length;d<m;d++){var P=x[d];if(P&&!P.match(Ss)){for(var I="",N=0,C=P.length;N<C;N++)P.charCodeAt(N)>127?I+="x":I+=P[N];if(!I.match(Ss)){var E=x.slice(0,d),F=x.slice(d+1),O=P.match(fl);O&&(E.push(O[1]),F.unshift(O[2])),F.length&&(h="/"+F.join(".")+h),i.hostname=E.join(".");break}}}}i.hostname.length>ul?i.hostname="":i.hostname=i.hostname.toLowerCase(),b||(i.hostname=tl(i.hostname)),y=i.port?":"+i.port:"";var R=i.hostname||"";i.host=R+y,i.href+=i.host,b&&(i.hostname=i.hostname.substr(1,i.hostname.length-2),h[0]!=="/"&&(h="/"+h))}if(!cl[f])for(d=0,m=Fr.length;d<m;d++){var W=Fr[d];if(h.indexOf(W)!==-1){var S=encodeURIComponent(W);S===W&&(S=escape(W)),h=h.split(W).join(S)}}var A=h.indexOf("#");A!==-1&&(i.hash=h.substr(A),h=h.slice(0,A));var D=h.indexOf("?");if(D!==-1?(i.search=h.substr(D),i.query=h.substr(D+1),e&&(i.query=Cs(i.query)),h=h.slice(0,D)):e&&(i.search="",i.query={}),h&&(i.pathname=h),Oe[f]&&i.hostname&&!i.pathname&&(i.pathname="/"),i.pathname||i.search){y=i.pathname||"";var rt=i.search||"";i.path=y+rt}return i.href=Br(i),i}function pl(i){return Nr(i)&&(i=As({},i)),Br(i)}function Br(i){var t=i.auth||"";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,":"),t+="@");var e=i.protocol||"",r=i.pathname||"",n=i.hash||"",s=!1,o="";i.host?s=t+i.host:i.hostname&&(s=t+(i.hostname.indexOf(":")===-1?i.hostname:"["+this.hostname+"]"),i.port&&(s+=":"+i.port)),i.query&&Ps(i.query)&&Object.keys(i.query).length&&(o=rl(i.query));var a=i.search||o&&"?"+o||"";return e&&e.substr(-1)!==":"&&(e+=":"),i.slashes||(!e||Oe[e])&&s!==!1?(s="//"+(s||""),r&&r.charAt(0)!=="/"&&(r="/"+r)):s||(s=""),n&&n.charAt(0)!=="#"&&(n="#"+n),a&&a.charAt(0)!=="?"&&(a="?"+a),r=r.replace(/[?#]/g,function(h){return encodeURIComponent(h)}),a=a.replace("#","%23"),e+s+r+a+n}Bt.prototype.format=function(){return Br(this)};function dl(i,t){return Dr(i,!1,!0).resolve(t)}Bt.prototype.resolve=function(i){return this.resolveObject(Dr(i,!1,!0)).format()},Bt.prototype.resolveObject=function(i){if(Nr(i)){var t=new Bt;t.parse(i,!1,!0),i=t}for(var e=new Bt,r=Object.keys(this),n=0;n<r.length;n++){var s=r[n];e[s]=this[s]}if(e.hash=i.hash,i.href==="")return e.href=e.format(),e;if(i.slashes&&!i.protocol){for(var o=Object.keys(i),a=0;a<o.length;a++){var h=o[a];h!=="protocol"&&(e[h]=i[h])}return Oe[e.protocol]&&e.hostname&&!e.pathname&&(e.path=e.pathname="/"),e.href=e.format(),e}var l;if(i.protocol&&i.protocol!==e.protocol){if(!Oe[i.protocol]){for(var u=Object.keys(i),f=0;f<u.length;f++){var p=u[f];e[p]=i[p]}return e.href=e.format(),e}if(e.protocol=i.protocol,!i.host&&!Rr[i.protocol]){for(l=(i.pathname||"").split("/");l.length&&!(i.host=l.shift()););i.host||(i.host=""),i.hostname||(i.hostname=""),l[0]!==""&&l.unshift(""),l.length<2&&l.unshift(""),e.pathname=l.join("/")}else e.pathname=i.pathname;if(e.search=i.search,e.query=i.query,e.host=i.host||"",e.auth=i.auth,e.hostname=i.hostname||i.host,e.port=i.port,e.pathname||e.search){var d=e.pathname||"",v=e.search||"";e.path=d+v}return e.slashes=e.slashes||i.slashes,e.href=e.format(),e}var m=e.pathname&&e.pathname.charAt(0)==="/",y=i.host||i.pathname&&i.pathname.charAt(0)==="/",g=y||m||e.host&&i.pathname,w=g,_=e.pathname&&e.pathname.split("/")||[],b=e.protocol&&!Oe[e.protocol];l=i.pathname&&i.pathname.split("/")||[],b&&(e.hostname="",e.port=null,e.host&&(_[0]===""?_[0]=e.host:_.unshift(e.host)),e.host="",i.protocol&&(i.hostname=null,i.port=null,i.host&&(l[0]===""?l[0]=i.host:l.unshift(i.host)),i.host=null),g=g&&(l[0]===""||_[0]===""));var x;if(y)e.host=i.host||i.host===""?i.host:e.host,e.hostname=i.hostname||i.hostname===""?i.hostname:e.hostname,e.search=i.search,e.query=i.query,_=l;else if(l.length)_||(_=[]),_.pop(),_=_.concat(l),e.search=i.search,e.query=i.query;else if(!el(i.search))return b&&(e.hostname=e.host=_.shift(),x=e.host&&e.host.indexOf("@")>0?e.host.split("@"):!1,x&&(e.auth=x.shift(),e.host=e.hostname=x.shift())),e.search=i.search,e.query=i.query,(!Ai(e.pathname)||!Ai(e.search))&&(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.href=e.format(),e;if(!_.length)return e.pathname=null,e.search?e.path="/"+e.search:e.path=null,e.href=e.format(),e;for(var P=_.slice(-1)[0],I=(e.host||i.host||_.length>1)&&(P==="."||P==="..")||P==="",N=0,C=_.length;C>=0;C--)P=_[C],P==="."?_.splice(C,1):P===".."?(_.splice(C,1),N++):N&&(_.splice(C,1),N--);if(!g&&!w)for(;N--;N)_.unshift("..");g&&_[0]!==""&&(!_[0]||_[0].charAt(0)!=="/")&&_.unshift(""),I&&_.join("/").substr(-1)!=="/"&&_.push("");var E=_[0]===""||_[0]&&_[0].charAt(0)==="/";return b&&(e.hostname=e.host=E?"":_.length?_.shift():"",x=e.host&&e.host.indexOf("@")>0?e.host.split("@"):!1,x&&(e.auth=x.shift(),e.host=e.hostname=x.shift())),g=g||e.host&&_.length,g&&!E&&_.unshift(""),_.length?e.pathname=_.join("/"):(e.pathname=null,e.path=null),(!Ai(e.pathname)||!Ai(e.search))&&(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.auth=i.auth||e.auth,e.slashes=e.slashes||i.slashes,e.href=e.format(),e},Bt.prototype.parseHost=function(){return Os(this)};function Os(i){var t=i.host,e=ol.exec(t);e&&(e=e[0],e!==":"&&(i.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(i.hostname=t)}/*!
|
|
21
|
+
* @pixi/utils - v6.5.9
|
|
22
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
23
|
+
*
|
|
24
|
+
* @pixi/utils is licensed under the MIT License.
|
|
25
|
+
* http://www.opensource.org/licenses/mit-license
|
|
26
|
+
*/var vl={parse:Dr,format:pl,resolve:dl};M.RETINA_PREFIX=/@([0-9\.]+)x/,M.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT=!1;var kr=!1,Ls="6.5.9";function yl(){kr=!0}function Ms(i){var t;if(!kr){if(M.ADAPTER.getNavigator().userAgent.toLowerCase().indexOf("chrome")>-1){var e=[`
|
|
27
|
+
%c %c %c PixiJS `+Ls+" - \u2730 "+i+` \u2730 %c %c http://www.pixijs.com/ %c %c \u2665%c\u2665%c\u2665
|
|
28
|
+
|
|
29
|
+
`,"background: #ff66a5; padding:5px 0;","background: #ff66a5; padding:5px 0;","color: #ff66a5; background: #030307; padding:5px 0;","background: #ff66a5; padding:5px 0;","background: #ffc3dc; padding:5px 0;","background: #ff66a5; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;"];(t=globalThis.console).log.apply(t,e)}else globalThis.console&&globalThis.console.log("PixiJS "+Ls+" - "+i+" - http://www.pixijs.com/");kr=!0}}var Ur;function ml(){return typeof Ur>"u"&&(Ur=function(){var t={stencil:!0,failIfMajorPerformanceCaveat:M.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT};try{if(!M.ADAPTER.getWebGLRenderingContext())return!1;var e=M.ADAPTER.createCanvas(),r=e.getContext("webgl",t)||e.getContext("experimental-webgl",t),n=!!(r&&r.getContextAttributes().stencil);if(r){var s=r.getExtension("WEBGL_lose_context");s&&s.loseContext()}return r=null,n}catch{return!1}}()),Ur}var gl="#f0f8ff",_l="#faebd7",xl="#00ffff",wl="#7fffd4",Pl="#f0ffff",bl="#f5f5dc",Tl="#ffe4c4",Cl="#000000",Il="#ffebcd",El="#0000ff",Sl="#8a2be2",Al="#a52a2a",Ol="#deb887",Ll="#5f9ea0",Ml="#7fff00",Nl="#d2691e",Fl="#ff7f50",Rl="#6495ed",Dl="#fff8dc",Bl="#dc143c",kl="#00ffff",Ul="#00008b",Xl="#008b8b",Gl="#b8860b",Yl="#a9a9a9",Hl="#006400",Wl="#a9a9a9",zl="#bdb76b",$l="#8b008b",Vl="#556b2f",jl="#ff8c00",ql="#9932cc",Zl="#8b0000",Jl="#e9967a",Ql="#8fbc8f",Kl="#483d8b",tu="#2f4f4f",eu="#2f4f4f",iu="#00ced1",ru="#9400d3",nu="#ff1493",su="#00bfff",ou="#696969",au="#696969",hu="#1e90ff",lu="#b22222",uu="#fffaf0",fu="#228b22",cu="#ff00ff",pu="#dcdcdc",du="#f8f8ff",vu="#daa520",yu="#ffd700",mu="#808080",gu="#008000",_u="#adff2f",xu="#808080",wu="#f0fff0",Pu="#ff69b4",bu="#cd5c5c",Tu="#4b0082",Cu="#fffff0",Iu="#f0e68c",Eu="#fff0f5",Su="#e6e6fa",Au="#7cfc00",Ou="#fffacd",Lu="#add8e6",Mu="#f08080",Nu="#e0ffff",Fu="#fafad2",Ru="#d3d3d3",Du="#90ee90",Bu="#d3d3d3",ku="#ffb6c1",Uu="#ffa07a",Xu="#20b2aa",Gu="#87cefa",Yu="#778899",Hu="#778899",Wu="#b0c4de",zu="#ffffe0",$u="#00ff00",Vu="#32cd32",ju="#faf0e6",qu="#ff00ff",Zu="#800000",Ju="#66cdaa",Qu="#0000cd",Ku="#ba55d3",tf="#9370db",ef="#3cb371",rf="#7b68ee",nf="#00fa9a",sf="#48d1cc",of="#c71585",af="#191970",hf="#f5fffa",lf="#ffe4e1",uf="#ffe4b5",ff="#ffdead",cf="#000080",pf="#fdf5e6",df="#808000",vf="#6b8e23",yf="#ffa500",mf="#ff4500",gf="#da70d6",_f="#eee8aa",xf="#98fb98",wf="#afeeee",Pf="#db7093",bf="#ffefd5",Tf="#ffdab9",Cf="#cd853f",If="#ffc0cb",Ef="#dda0dd",Sf="#b0e0e6",Af="#800080",Of="#663399",Lf="#ff0000",Mf="#bc8f8f",Nf="#4169e1",Ff="#8b4513",Rf="#fa8072",Df="#f4a460",Bf="#2e8b57",kf="#fff5ee",Uf="#a0522d",Xf="#c0c0c0",Gf="#87ceeb",Yf="#6a5acd",Hf="#708090",Wf="#708090",zf="#fffafa",$f="#00ff7f",Vf="#4682b4",jf="#d2b48c",qf="#008080",Zf="#d8bfd8",Jf="#ff6347",Qf="#40e0d0",Kf="#ee82ee",tc="#f5deb3",ec="#ffffff",ic="#f5f5f5",rc="#ffff00",nc="#9acd32",sc={aliceblue:gl,antiquewhite:_l,aqua:xl,aquamarine:wl,azure:Pl,beige:bl,bisque:Tl,black:Cl,blanchedalmond:Il,blue:El,blueviolet:Sl,brown:Al,burlywood:Ol,cadetblue:Ll,chartreuse:Ml,chocolate:Nl,coral:Fl,cornflowerblue:Rl,cornsilk:Dl,crimson:Bl,cyan:kl,darkblue:Ul,darkcyan:Xl,darkgoldenrod:Gl,darkgray:Yl,darkgreen:Hl,darkgrey:Wl,darkkhaki:zl,darkmagenta:$l,darkolivegreen:Vl,darkorange:jl,darkorchid:ql,darkred:Zl,darksalmon:Jl,darkseagreen:Ql,darkslateblue:Kl,darkslategray:tu,darkslategrey:eu,darkturquoise:iu,darkviolet:ru,deeppink:nu,deepskyblue:su,dimgray:ou,dimgrey:au,dodgerblue:hu,firebrick:lu,floralwhite:uu,forestgreen:fu,fuchsia:cu,gainsboro:pu,ghostwhite:du,goldenrod:vu,gold:yu,gray:mu,green:gu,greenyellow:_u,grey:xu,honeydew:wu,hotpink:Pu,indianred:bu,indigo:Tu,ivory:Cu,khaki:Iu,lavenderblush:Eu,lavender:Su,lawngreen:Au,lemonchiffon:Ou,lightblue:Lu,lightcoral:Mu,lightcyan:Nu,lightgoldenrodyellow:Fu,lightgray:Ru,lightgreen:Du,lightgrey:Bu,lightpink:ku,lightsalmon:Uu,lightseagreen:Xu,lightskyblue:Gu,lightslategray:Yu,lightslategrey:Hu,lightsteelblue:Wu,lightyellow:zu,lime:$u,limegreen:Vu,linen:ju,magenta:qu,maroon:Zu,mediumaquamarine:Ju,mediumblue:Qu,mediumorchid:Ku,mediumpurple:tf,mediumseagreen:ef,mediumslateblue:rf,mediumspringgreen:nf,mediumturquoise:sf,mediumvioletred:of,midnightblue:af,mintcream:hf,mistyrose:lf,moccasin:uf,navajowhite:ff,navy:cf,oldlace:pf,olive:df,olivedrab:vf,orange:yf,orangered:mf,orchid:gf,palegoldenrod:_f,palegreen:xf,paleturquoise:wf,palevioletred:Pf,papayawhip:bf,peachpuff:Tf,peru:Cf,pink:If,plum:Ef,powderblue:Sf,purple:Af,rebeccapurple:Of,red:Lf,rosybrown:Mf,royalblue:Nf,saddlebrown:Ff,salmon:Rf,sandybrown:Df,seagreen:Bf,seashell:kf,sienna:Uf,silver:Xf,skyblue:Gf,slateblue:Yf,slategray:Hf,slategrey:Wf,snow:zf,springgreen:$f,steelblue:Vf,tan:jf,teal:qf,thistle:Zf,tomato:Jf,turquoise:Qf,violet:Kf,wheat:tc,white:ec,whitesmoke:ic,yellow:rc,yellowgreen:nc};function Le(i,t){return t===void 0&&(t=[]),t[0]=(i>>16&255)/255,t[1]=(i>>8&255)/255,t[2]=(i&255)/255,t}function Oi(i){var t=i.toString(16);return t="000000".substring(0,6-t.length)+t,"#"+t}function Me(i){return typeof i=="string"&&(i=sc[i.toLowerCase()]||i,i[0]==="#"&&(i=i.slice(1))),parseInt(i,16)}function Li(i){return(i[0]*255<<16)+(i[1]*255<<8)+(i[2]*255|0)}function oc(){for(var i=[],t=[],e=0;e<32;e++)i[e]=e,t[e]=e;i[T.NORMAL_NPM]=T.NORMAL,i[T.ADD_NPM]=T.ADD,i[T.SCREEN_NPM]=T.SCREEN,t[T.NORMAL]=T.NORMAL_NPM,t[T.ADD]=T.ADD_NPM,t[T.SCREEN]=T.SCREEN_NPM;var r=[];return r.push(t),r.push(i),r}var ac=oc();function Ns(i,t){if(t===1)return(t*255<<24)+i;if(t===0)return 0;var e=i>>16&255,r=i>>8&255,n=i&255;return e=e*t+.5|0,r=r*t+.5|0,n=n*t+.5|0,(t*255<<24)+(e<<16)+(r<<8)+n}function Fs(i){if(i.BYTES_PER_ELEMENT===4)return i instanceof Float32Array?"Float32Array":i instanceof Uint32Array?"Uint32Array":"Int32Array";if(i.BYTES_PER_ELEMENT===2){if(i instanceof Uint16Array)return"Uint16Array"}else if(i.BYTES_PER_ELEMENT===1&&i instanceof Uint8Array)return"Uint8Array";return null}function Mi(i){return i+=i===0?1:0,--i,i|=i>>>1,i|=i>>>2,i|=i>>>4,i|=i>>>8,i|=i>>>16,i+1}function Rs(i){return!(i&i-1)&&!!i}function Ds(i){var t=(i>65535?1:0)<<4;i>>>=t;var e=(i>255?1:0)<<3;return i>>>=e,t|=e,e=(i>15?1:0)<<2,i>>>=e,t|=e,e=(i>3?1:0)<<1,i>>>=e,t|=e,t|i>>1}function Ni(i,t,e){var r=i.length,n;if(!(t>=r||e===0)){e=t+e>r?r-t:e;var s=r-e;for(n=t;n<s;++n)i[n]=i[n+e];i.length=s}}function Ne(i){return i===0?0:i<0?-1:1}var hc=0;function Je(){return++hc}var Bs={};function kt(i,t,e){if(e===void 0&&(e=3),!Bs[t]){var r=new Error().stack;typeof r>"u"?console.warn("PixiJS Deprecation Warning: ",t+`
|
|
30
|
+
Deprecated since v`+i):(r=r.split(`
|
|
31
|
+
`).splice(e).join(`
|
|
32
|
+
`),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",t+`
|
|
33
|
+
Deprecated since v`+i),console.warn(r),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",t+`
|
|
34
|
+
Deprecated since v`+i),console.warn(r))),Bs[t]=!0}}var ks={},wt=Object.create(null),Ut=Object.create(null);function Us(){var i;for(i in wt)delete wt[i];for(i in Ut)delete Ut[i]}var Xs=function(){function i(t,e,r){this.canvas=M.ADAPTER.createCanvas(),this.context=this.canvas.getContext("2d"),this.resolution=r||M.RESOLUTION,this.resize(t,e)}return i.prototype.clear=function(){this.context.setTransform(1,0,0,1,0,0),this.context.clearRect(0,0,this.canvas.width,this.canvas.height)},i.prototype.resize=function(t,e){this.canvas.width=Math.round(t*this.resolution),this.canvas.height=Math.round(e*this.resolution)},i.prototype.destroy=function(){this.context=null,this.canvas=null},Object.defineProperty(i.prototype,"width",{get:function(){return this.canvas.width},set:function(t){this.canvas.width=Math.round(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"height",{get:function(){return this.canvas.height},set:function(t){this.canvas.height=Math.round(t)},enumerable:!1,configurable:!0}),i}();function lc(i){var t=i.width,e=i.height,r=i.getContext("2d",{willReadFrequently:!0}),n=r.getImageData(0,0,t,e),s=n.data,o=s.length,a={top:null,left:null,right:null,bottom:null},h=null,l,u,f;for(l=0;l<o;l+=4)s[l+3]!==0&&(u=l/4%t,f=~~(l/4/t),a.top===null&&(a.top=f),(a.left===null||u<a.left)&&(a.left=u),(a.right===null||a.right<u)&&(a.right=u+1),(a.bottom===null||a.bottom<f)&&(a.bottom=f));return a.top!==null&&(t=a.right-a.left,e=a.bottom-a.top+1,h=r.getImageData(a.left,a.top,t,e)),{height:e,width:t,data:h}}var Fi;function uc(i,t){if(t===void 0&&(t=globalThis.location),i.indexOf("data:")===0)return"";t=t||globalThis.location,Fi||(Fi=document.createElement("a")),Fi.href=i;var e=vl.parse(Fi.href),r=!e.port&&t.port===""||e.port===t.port;return e.hostname!==t.hostname||!r||e.protocol!==t.protocol?"anonymous":""}function Gs(i,t){var e=M.RETINA_PREFIX.exec(i);return e?parseFloat(e[1]):t!==void 0?t:1}class Qe extends Error{code;data;constructor(t,e,r){super(t||"There was a problem. Please check your internet connection and try again."),this.name="SpaceApiError",this.stack=new Error().stack,this.code=e,this.data=r}}let fc="https://api.archilogic.com";const cc=()=>fc;function Ys(i){let t;if(i.secretAccessToken)t={type:"secret",secretAccessToken:i.secretAccessToken};else if(i.temporaryAccessToken||i.temporaryAccessTokenFunction)t={type:"temporary",temporaryAccessToken:i.temporaryAccessToken};else if(i.publishableAccessToken)t={type:"publishable",publishableAccessToken:i.publishableAccessToken};else throw new Qe("Programming error: token is not provided.",void 0,void 0);return i.sdkVersion&&(t.sdkVersion=i.sdkVersion),t}function pc(i){const t=new Headers;switch(i.type){case"secret":t.set("authorization",`AL-Secret-Token ${i.secretAccessToken}`);break;case"temporary":t.set("authorization",`${i.temporaryAccessToken?.authorization}`)}return i.sdkVersion&&t.set("x-sdk-version",i.sdkVersion),t}function dc(i){return i.status>=200&&i.status<400?i:i.json().then(t=>{const e=t?.message||t?.error||t;switch(typeof e){case"string":return Promise.reject(new Qe(e,i.status,void 0));case"object":return Promise.reject(new Qe(e.message,i.status,e.data));default:return Promise.reject(new Qe(null,null,t))}})}async function vc(i,t,e={},r){const n=new URL(cc()+t),s=pc(r);let o=!1;switch(r.type==="publishable"&&n.searchParams.set("pubtoken",r.publishableAccessToken),i){case"GET":e&&typeof e=="object"&&Object.entries(e).forEach(([a,h])=>{typeof h<"u"&&n.searchParams.set(a,h.toString())});break;case"POST":case"PUT":case"PATCH":s.set("content-type","application/json"),o=!0;break;case"DELETE":break;default:return Promise.reject(new Qe("Programming error, unsupported method: "+i,void 0,void 0))}return fetch(n.toString(),{method:i,headers:s,body:o?JSON.stringify(e):void 0}).then(dc,a=>{throw a}).then(a=>a.json()).catch(a=>Promise.reject(a))}var c={};c.version="6.4.2.2",c.use_lines=!0,c.use_xyz=!1;var Hs=function(i,t){var e;if(typeof Object.getOwnPropertyNames>"u"){for(e in t.prototype)(typeof i.prototype[e]>"u"||i.prototype[e]===Object.prototype[e])&&(i.prototype[e]=t.prototype[e]);for(e in t)typeof i[e]>"u"&&(i[e]=t[e]);i.$baseCtor=t}else{for(var r=Object.getOwnPropertyNames(t.prototype),n=0;n<r.length;n++)typeof Object.getOwnPropertyDescriptor(i.prototype,r[n])>"u"&&Object.defineProperty(i.prototype,r[n],Object.getOwnPropertyDescriptor(t.prototype,r[n]));for(e in t)typeof i[e]>"u"&&(i[e]=t[e]);i.$baseCtor=t}};c.Path=function(){return[]},c.Path.prototype.push=Array.prototype.push,c.Paths=function(){return[]},c.Paths.prototype.push=Array.prototype.push,c.PolyNode=function(){this.m_Parent=null,this.m_polygon=new c.Path,this.m_Index=0,this.m_jointype=0,this.m_endtype=0,this.m_Childs=[],this.IsOpen=!1},c.PolyNode.prototype.IsHoleNode=function(){for(var i=!0,t=this.m_Parent;t!==null;)i=!i,t=t.m_Parent;return i},c.PolyNode.prototype.ChildCount=function(){return this.m_Childs.length},c.PolyNode.prototype.Contour=function(){return this.m_polygon},c.PolyNode.prototype.AddChild=function(i){var t=this.m_Childs.length;this.m_Childs.push(i),i.m_Parent=this,i.m_Index=t},c.PolyNode.prototype.GetNext=function(){return this.m_Childs.length>0?this.m_Childs[0]:this.GetNextSiblingUp()},c.PolyNode.prototype.GetNextSiblingUp=function(){return this.m_Parent===null?null:this.m_Index===this.m_Parent.m_Childs.length-1?this.m_Parent.GetNextSiblingUp():this.m_Parent.m_Childs[this.m_Index+1]},c.PolyNode.prototype.Childs=function(){return this.m_Childs},c.PolyNode.prototype.Parent=function(){return this.m_Parent},c.PolyNode.prototype.IsHole=function(){return this.IsHoleNode()},c.PolyTree=function(){this.m_AllPolys=[],c.PolyNode.call(this)},c.PolyTree.prototype.Clear=function(){for(var i=this,t=0,e=this.m_AllPolys.length;t<e;t++)i.m_AllPolys[t]=null;this.m_AllPolys.length=0,this.m_Childs.length=0},c.PolyTree.prototype.GetFirst=function(){return this.m_Childs.length>0?this.m_Childs[0]:null},c.PolyTree.prototype.Total=function(){var i=this.m_AllPolys.length;return i>0&&this.m_Childs[0]!==this.m_AllPolys[0]&&i--,i},Hs(c.PolyTree,c.PolyNode),c.Clear=function(i){i.length=0},c.PI=3.141592653589793,c.PI2=2*3.141592653589793,c.FPoint=function(){var i=arguments,t=i.length;if(this.X=0,this.Y=0,c.use_xyz)if(this.Z=0,t===3)this.X=i[0],this.Y=i[1],this.Z=i[2];else if(t===2)this.X=i[0],this.Y=i[1],this.Z=0;else if(t===1)if(i[0]instanceof c.FPoint){var e=i[0];this.X=e.X,this.Y=e.Y,this.Z=0}else{var r=i[0];typeof r.Z>"u"&&(r.Z=0),this.X=r.X,this.Y=r.Y,this.Z=r.Z}else this.X=0,this.Y=0,this.Z=0;else if(t===2)this.X=i[0],this.Y=i[1];else if(t===1)if(i[0]instanceof c.FPoint){var e=i[0];this.X=e.X,this.Y=e.Y}else{var r=i[0];this.X=r.X,this.Y=r.Y}else this.X=0,this.Y=0},c.FPoint.op_Equality=function(i,t){return i.X===t.X&&i.Y===t.Y},c.FPoint.op_Inequality=function(i,t){return i.X!==t.X||i.Y!==t.Y},c.FPoint0=function(){this.X=0,this.Y=0,c.use_xyz&&(this.Z=0)},c.FPoint0.prototype=c.FPoint.prototype,c.FPoint1=function(i){this.X=i.X,this.Y=i.Y,c.use_xyz&&(typeof i.Z>"u"?this.Z=0:this.Z=i.Z)},c.FPoint1.prototype=c.FPoint.prototype,c.FPoint1dp=function(i){this.X=i.X,this.Y=i.Y,c.use_xyz&&(this.Z=0)},c.FPoint1dp.prototype=c.FPoint.prototype,c.FPoint2=function(i,t,e){this.X=i,this.Y=t,c.use_xyz&&(typeof e>"u"?this.Z=0:this.Z=e)},c.FPoint2.prototype=c.FPoint.prototype,c.FRect=function(){var i=arguments,t=i.length;if(t===4)this.left=i[0],this.top=i[1],this.right=i[2],this.bottom=i[3];else if(t===1){var e=i[0];this.left=e.left,this.top=e.top,this.right=e.right,this.bottom=e.bottom}else this.left=0,this.top=0,this.right=0,this.bottom=0},c.FRect0=function(){this.left=0,this.top=0,this.right=0,this.bottom=0},c.FRect0.prototype=c.FRect.prototype,c.FRect1=function(i){this.left=i.left,this.top=i.top,this.right=i.right,this.bottom=i.bottom},c.FRect1.prototype=c.FRect.prototype,c.FRect4=function(i,t,e,r){this.left=i,this.top=t,this.right=e,this.bottom=r},c.FRect4.prototype=c.FRect.prototype,c.ClipType={ctIntersection:0,ctUnion:1,ctDifference:2,ctXor:3},c.PolyType={ptSubject:0,ptClip:1},c.PolyFillType={pftEvenOdd:0,pftNonZero:1,pftPositive:2,pftNegative:3},c.JoinType={jtSquare:0,jtRound:1,jtMiter:2},c.EndType={etOpenSquare:0,etOpenRound:1,etOpenButt:2,etClosedLine:3,etClosedPolygon:4},c.EdgeSide={esLeft:0,esRight:1},c.Direction={dRightToLeft:0,dLeftToRight:1},c.TEdge=function(){this.Bot=new c.FPoint0,this.Curr=new c.FPoint0,this.Top=new c.FPoint0,this.Delta=new c.FPoint0,this.Dx=0,this.PolyTyp=c.PolyType.ptSubject,this.Side=c.EdgeSide.esLeft,this.WindDelta=0,this.WindCnt=0,this.WindCnt2=0,this.OutIdx=0,this.Next=null,this.Prev=null,this.NextInLML=null,this.NextInAEL=null,this.PrevInAEL=null,this.NextInSEL=null,this.PrevInSEL=null},c.IntersectNode=function(){this.Edge1=null,this.Edge2=null,this.Pt=new c.FPoint0},c.MyIntersectNodeSort=function(){},c.MyIntersectNodeSort.Compare=function(i,t){var e=t.Pt.Y-i.Pt.Y;return e>0?1:e<0?-1:0},c.LocalMinima=function(){this.Y=0,this.LeftBound=null,this.RightBound=null,this.Next=null},c.Scanbeam=function(){this.Y=0,this.Next=null},c.Maxima=function(){this.X=0,this.Next=null,this.Prev=null},c.OutRec=function(){this.Idx=0,this.IsHole=!1,this.IsOpen=!1,this.FirstLeft=null,this.Pts=null,this.BottomPt=null,this.PolyNode=null},c.OutPt=function(){this.Idx=0,this.Pt=new c.FPoint0,this.Next=null,this.Prev=null},c.Join=function(){this.OutPt1=null,this.OutPt2=null,this.OffPt=new c.FPoint0},c.ClipperBase=function(){this.m_MinimaList=null,this.m_CurrentLM=null,this.m_edges=new Array,this.m_HasOpenPaths=!1,this.PreserveCollinear=!1,this.m_Scanbeam=null,this.m_PolyOuts=null,this.m_ActiveEdges=null},c.ClipperBase.horizontal=-34e37,c.ClipperBase.Skip=-2,c.ClipperBase.Unassigned=-1,c.ClipperBase.tolerance=1e-20,c.ClipperBase.maxValue=Math.sqrt(Number.MAX_VALUE),c.ClipperBase.minValue=Math.sqrt(Number.MIN_VALUE),c.ClipperBase.near_zero=function(i){return i>-c.ClipperBase.tolerance&&i<c.ClipperBase.tolerance},c.ClipperBase.IsHorizontal=function(i){return i.Delta.Y===0},c.ClipperBase.prototype.PointIsVertex=function(i,t){var e=t;do{if(c.FPoint.op_Equality(e.Pt,i))return!0;e=e.Next}while(e!==t);return!1},c.ClipperBase.prototype.PointOnLineSegment=function(i,t,e){return i.X===t.X&&i.Y===t.Y||i.X===e.X&&i.Y===e.Y||i.X>t.X==i.X<e.X&&i.Y>t.Y==i.Y<e.Y&&(i.X-t.X)*(e.Y-t.Y)===(e.X-t.X)*(i.Y-t.Y)},c.ClipperBase.prototype.PointOnPolygon=function(i,t){for(var e=this,r=t;;){if(e.PointOnLineSegment(i,r.Pt,r.Next.Pt))return!0;if(r=r.Next,r===t)break}return!1},c.ClipperBase.prototype.SlopesEqual=c.ClipperBase.SlopesEqual=function(){var i=arguments,t=i.length,e,r,n,s,o,a;return t===2?(e=i[0],r=i[1],e.Delta.Y*r.Delta.X===e.Delta.X*r.Delta.Y):t===3?(n=i[0],s=i[1],o=i[2],(n.Y-s.Y)*(s.X-o.X)-(n.X-s.X)*(s.Y-o.Y)===0):(n=i[0],s=i[1],o=i[2],a=i[3],(n.Y-s.Y)*(o.X-a.X)-(n.X-s.X)*(o.Y-a.Y)===0)},c.ClipperBase.SlopesEqual3=function(i,t){return i.Delta.Y*t.Delta.X===i.Delta.X*t.Delta.Y},c.ClipperBase.SlopesEqual4=function(i,t,e){return(i.Y-t.Y)*(t.X-e.X)-(i.X-t.X)*(t.Y-e.Y)===0},c.ClipperBase.SlopesEqual5=function(i,t,e,r){return(i.Y-t.Y)*(e.X-r.X)-(i.X-t.X)*(e.Y-r.Y)===0},c.ClipperBase.prototype.Clear=function(){var i=this;this.DisposeLocalMinimaList();for(var t=0,e=this.m_edges.length;t<e;++t){for(var r=0,n=this.m_edges[t].length;r<n;++r)i.m_edges[t][r]=null;c.Clear(i.m_edges[t])}c.Clear(this.m_edges),this.m_HasOpenPaths=!1},c.ClipperBase.prototype.DisposeLocalMinimaList=function(){for(var i=this;this.m_MinimaList!==null;){var t=i.m_MinimaList.Next;i.m_MinimaList=null,i.m_MinimaList=t}this.m_CurrentLM=null},c.ClipperBase.prototype.RangeTest=function(i){(i.X>c.ClipperBase.maxValue||i.X<-c.ClipperBase.maxValue||i.Y>c.ClipperBase.maxValue||i.Y<-c.ClipperBase.maxValue||i.X>0&&i.X<c.ClipperBase.minValue||i.Y>0&&i.Y<c.ClipperBase.minValue||i.X<0&&i.X>-c.ClipperBase.minValue||i.Y<0&&i.Y>-c.ClipperBase.minValue)&&c.Error("Coordinate outside allowed range in RangeTest().")},c.ClipperBase.prototype.InitEdge=function(i,t,e,r){i.Next=t,i.Prev=e,i.Curr.X=r.X,i.Curr.Y=r.Y,c.use_xyz&&(i.Curr.Z=r.Z),i.OutIdx=-1},c.ClipperBase.prototype.InitEdge2=function(i,t){i.Curr.Y>=i.Next.Curr.Y?(i.Bot.X=i.Curr.X,i.Bot.Y=i.Curr.Y,c.use_xyz&&(i.Bot.Z=i.Curr.Z),i.Top.X=i.Next.Curr.X,i.Top.Y=i.Next.Curr.Y,c.use_xyz&&(i.Top.Z=i.Next.Curr.Z)):(i.Top.X=i.Curr.X,i.Top.Y=i.Curr.Y,c.use_xyz&&(i.Top.Z=i.Curr.Z),i.Bot.X=i.Next.Curr.X,i.Bot.Y=i.Next.Curr.Y,c.use_xyz&&(i.Bot.Z=i.Next.Curr.Z)),this.SetDx(i),i.PolyTyp=t},c.ClipperBase.prototype.FindNextLocMin=function(i){for(var t;;){for(;c.FPoint.op_Inequality(i.Bot,i.Prev.Bot)||c.FPoint.op_Equality(i.Curr,i.Top);)i=i.Next;if(i.Dx!==c.ClipperBase.horizontal&&i.Prev.Dx!==c.ClipperBase.horizontal)break;for(;i.Prev.Dx===c.ClipperBase.horizontal;)i=i.Prev;for(t=i;i.Dx===c.ClipperBase.horizontal;)i=i.Next;if(i.Top.Y!==i.Prev.Bot.Y){t.Prev.Bot.X<i.Bot.X&&(i=t);break}}return i},c.ClipperBase.prototype.ProcessBound=function(i,t){var e=this,r,n=i,s;if(n.OutIdx===c.ClipperBase.Skip){if(i=n,t){for(;i.Top.Y===i.Next.Bot.Y;)i=i.Next;for(;i!==n&&i.Dx===c.ClipperBase.horizontal;)i=i.Prev}else{for(;i.Top.Y===i.Prev.Bot.Y;)i=i.Prev;for(;i!==n&&i.Dx===c.ClipperBase.horizontal;)i=i.Next}if(i===n)t?n=i.Next:n=i.Prev;else{t?i=n.Next:i=n.Prev;var o=new c.LocalMinima;o.Next=null,o.Y=i.Bot.Y,o.LeftBound=null,o.RightBound=i,i.WindDelta=0,n=this.ProcessBound(i,t),this.InsertLocalMinima(o)}return n}if(i.Dx===c.ClipperBase.horizontal&&(t?r=i.Prev:r=i.Next,r.Dx===c.ClipperBase.horizontal?r.Bot.X!==i.Bot.X&&r.Top.X!==i.Bot.X&&this.ReverseHorizontal(i):r.Bot.X!==i.Bot.X&&this.ReverseHorizontal(i)),r=i,t){for(;n.Top.Y===n.Next.Bot.Y&&n.Next.OutIdx!==c.ClipperBase.Skip;)n=n.Next;if(n.Dx===c.ClipperBase.horizontal&&n.Next.OutIdx!==c.ClipperBase.Skip){for(s=n;s.Prev.Dx===c.ClipperBase.horizontal;)s=s.Prev;s.Prev.Top.X>n.Next.Top.X&&(n=s.Prev)}for(;i!==n;)i.NextInLML=i.Next,i.Dx===c.ClipperBase.horizontal&&i!==r&&i.Bot.X!==i.Prev.Top.X&&e.ReverseHorizontal(i),i=i.Next;i.Dx===c.ClipperBase.horizontal&&i!==r&&i.Bot.X!==i.Prev.Top.X&&this.ReverseHorizontal(i),n=n.Next}else{for(;n.Top.Y===n.Prev.Bot.Y&&n.Prev.OutIdx!==c.ClipperBase.Skip;)n=n.Prev;if(n.Dx===c.ClipperBase.horizontal&&n.Prev.OutIdx!==c.ClipperBase.Skip){for(s=n;s.Next.Dx===c.ClipperBase.horizontal;)s=s.Next;(s.Next.Top.X===n.Prev.Top.X||s.Next.Top.X>n.Prev.Top.X)&&(n=s.Next)}for(;i!==n;)i.NextInLML=i.Prev,i.Dx===c.ClipperBase.horizontal&&i!==r&&i.Bot.X!==i.Next.Top.X&&e.ReverseHorizontal(i),i=i.Prev;i.Dx===c.ClipperBase.horizontal&&i!==r&&i.Bot.X!==i.Next.Top.X&&this.ReverseHorizontal(i),n=n.Prev}return n},c.ClipperBase.prototype.AddPath=function(i,t,e){var r=this;c.use_lines?!e&&t===c.PolyType.ptClip&&c.Error("AddPath: Open paths must be subject."):e||c.Error("AddPath: Open paths have been disabled.");var n=i.length-1;if(e)for(;n>0&&c.FPoint.op_Equality(i[n],i[0]);)--n;for(;n>0&&c.FPoint.op_Equality(i[n],i[n-1]);)--n;if(e&&n<2||!e&&n<1)return!1;for(var s=new Array,o=0;o<=n;o++)s.push(new c.TEdge);var a=!0;s[1].Curr.X=i[1].X,s[1].Curr.Y=i[1].Y,c.use_xyz&&(s[1].Curr.Z=i[1].Z),this.RangeTest(i[0]),this.RangeTest(i[n]),this.InitEdge(s[0],s[1],s[n],i[0]),this.InitEdge(s[n],s[0],s[n-1],i[n]);for(var o=n-1;o>=1;--o)r.RangeTest(i[o]),r.InitEdge(s[o],s[o+1],s[o-1],i[o]);for(var h=s[0],l=h,u=h;;){if(l.Curr===l.Next.Curr&&(e||l.Next!==h)){if(l===l.Next)break;l===h&&(h=l.Next),l=r.RemoveEdge(l),u=l;continue}if(l.Prev===l.Next)break;if(e&&c.ClipperBase.SlopesEqual4(l.Prev.Curr,l.Curr,l.Next.Curr)&&(!r.PreserveCollinear||!r.Pt2IsBetweenPt1AndPt3(l.Prev.Curr,l.Curr,l.Next.Curr))){l===h&&(h=l.Next),l=r.RemoveEdge(l),l=l.Prev,u=l;continue}if(l=l.Next,l===u||!e&&l.Next===h)break}if(!e&&l===l.Next||e&&l.Prev===l.Next)return!1;e||(this.m_HasOpenPaths=!0,h.Prev.OutIdx=c.ClipperBase.Skip),l=h;do r.InitEdge2(l,t),l=l.Next,a&&l.Curr.Y!==h.Curr.Y&&(a=!1);while(l!==h);if(a){if(e)return!1;l.Prev.OutIdx=c.ClipperBase.Skip;var f=new c.LocalMinima;for(f.Next=null,f.Y=l.Bot.Y,f.LeftBound=null,f.RightBound=l,f.RightBound.Side=c.EdgeSide.esRight,f.RightBound.WindDelta=0;l.Bot.X!==l.Prev.Top.X&&r.ReverseHorizontal(l),l.Next.OutIdx!==c.ClipperBase.Skip;)l.NextInLML=l.Next,l=l.Next;return this.InsertLocalMinima(f),this.m_edges.push(s),!0}this.m_edges.push(s);var p,d=null;for(c.FPoint.op_Equality(l.Prev.Bot,l.Prev.Top)&&(l=l.Next);l=r.FindNextLocMin(l),l!==d;){d===null&&(d=l);var f=new c.LocalMinima;f.Next=null,f.Y=l.Bot.Y,l.Dx<l.Prev.Dx?(f.LeftBound=l.Prev,f.RightBound=l,p=!1):(f.LeftBound=l,f.RightBound=l.Prev,p=!0),f.LeftBound.Side=c.EdgeSide.esLeft,f.RightBound.Side=c.EdgeSide.esRight,e?f.LeftBound.Next===f.RightBound?f.LeftBound.WindDelta=-1:f.LeftBound.WindDelta=1:f.LeftBound.WindDelta=0,f.RightBound.WindDelta=-f.LeftBound.WindDelta,l=r.ProcessBound(f.LeftBound,p),l.OutIdx===c.ClipperBase.Skip&&(l=r.ProcessBound(l,p));var v=r.ProcessBound(f.RightBound,!p);v.OutIdx===c.ClipperBase.Skip&&(v=r.ProcessBound(v,!p)),f.LeftBound.OutIdx===c.ClipperBase.Skip?f.LeftBound=null:f.RightBound.OutIdx===c.ClipperBase.Skip&&(f.RightBound=null),r.InsertLocalMinima(f),p||(l=v)}return!0},c.ClipperBase.prototype.AddPaths=function(i,t,e){for(var r=this,n=!1,s=0,o=i.length;s<o;++s)r.AddPath(i[s],t,e)&&(n=!0);return n},c.ClipperBase.prototype.Pt2IsBetweenPt1AndPt3=function(i,t,e){return c.FPoint.op_Equality(i,e)||c.FPoint.op_Equality(i,t)||c.FPoint.op_Equality(e,t)?!1:i.X!==e.X?t.X>i.X==t.X<e.X:t.Y>i.Y==t.Y<e.Y},c.ClipperBase.prototype.RemoveEdge=function(i){i.Prev.Next=i.Next,i.Next.Prev=i.Prev;var t=i.Next;return i.Prev=null,t},c.ClipperBase.prototype.SetDx=function(i){i.Delta.X=i.Top.X-i.Bot.X,i.Delta.Y=i.Top.Y-i.Bot.Y,i.Delta.Y===0?i.Dx=c.ClipperBase.horizontal:i.Dx=i.Delta.X/i.Delta.Y},c.ClipperBase.prototype.InsertLocalMinima=function(i){if(this.m_MinimaList===null)this.m_MinimaList=i;else if(i.Y>=this.m_MinimaList.Y)i.Next=this.m_MinimaList,this.m_MinimaList=i;else{for(var t=this.m_MinimaList;t.Next!==null&&i.Y<t.Next.Y;)t=t.Next;i.Next=t.Next,t.Next=i}},c.ClipperBase.prototype.PopLocalMinima=function(i,t){return t.v=this.m_CurrentLM,this.m_CurrentLM!==null&&this.m_CurrentLM.Y===i?(this.m_CurrentLM=this.m_CurrentLM.Next,!0):!1},c.ClipperBase.prototype.ReverseHorizontal=function(i){var t=i.Top.X;i.Top.X=i.Bot.X,i.Bot.X=t,c.use_xyz&&(t=i.Top.Z,i.Top.Z=i.Bot.Z,i.Bot.Z=t)},c.ClipperBase.prototype.Reset=function(){var i=this;if(this.m_CurrentLM=this.m_MinimaList,this.m_CurrentLM!==null){this.m_Scanbeam=null;for(var t=this.m_MinimaList;t!==null;){i.InsertScanbeam(t.Y);var e=t.LeftBound;e!==null&&(e.Curr.X=e.Bot.X,e.Curr.Y=e.Bot.Y,c.use_xyz&&(e.Curr.Z=e.Bot.Z),e.OutIdx=c.ClipperBase.Unassigned),e=t.RightBound,e!==null&&(e.Curr.X=e.Bot.X,e.Curr.Y=e.Bot.Y,c.use_xyz&&(e.Curr.Z=e.Bot.Z),e.OutIdx=c.ClipperBase.Unassigned),t=t.Next}this.m_ActiveEdges=null}},c.ClipperBase.prototype.InsertScanbeam=function(i){if(this.m_Scanbeam===null)this.m_Scanbeam=new c.Scanbeam,this.m_Scanbeam.Next=null,this.m_Scanbeam.Y=i;else if(i>this.m_Scanbeam.Y){var t=new c.Scanbeam;t.Y=i,t.Next=this.m_Scanbeam,this.m_Scanbeam=t}else{for(var e=this.m_Scanbeam;e.Next!==null&&i<=e.Next.Y;)e=e.Next;if(i===e.Y)return;var r=new c.Scanbeam;r.Y=i,r.Next=e.Next,e.Next=r}},c.ClipperBase.prototype.PopScanbeam=function(i){return this.m_Scanbeam===null?(i.v=0,!1):(i.v=this.m_Scanbeam.Y,this.m_Scanbeam=this.m_Scanbeam.Next,!0)},c.ClipperBase.prototype.LocalMinimaPending=function(){return this.m_CurrentLM!==null},c.ClipperBase.prototype.CreateOutRec=function(){var i=new c.OutRec;return i.Idx=c.ClipperBase.Unassigned,i.IsHole=!1,i.IsOpen=!1,i.FirstLeft=null,i.Pts=null,i.BottomPt=null,i.PolyNode=null,this.m_PolyOuts.push(i),i.Idx=this.m_PolyOuts.length-1,i},c.ClipperBase.prototype.DisposeOutRec=function(i){var t=this.m_PolyOuts[i];t.Pts=null,t=null,this.m_PolyOuts[i]=null},c.ClipperBase.prototype.UpdateEdgeIntoAEL=function(i){i.NextInLML===null&&c.Error("UpdateEdgeIntoAEL: invalid call");var t=i.PrevInAEL,e=i.NextInAEL;return i.NextInLML.OutIdx=i.OutIdx,t!==null?t.NextInAEL=i.NextInLML:this.m_ActiveEdges=i.NextInLML,e!==null&&(e.PrevInAEL=i.NextInLML),i.NextInLML.Side=i.Side,i.NextInLML.WindDelta=i.WindDelta,i.NextInLML.WindCnt=i.WindCnt,i.NextInLML.WindCnt2=i.WindCnt2,i=i.NextInLML,i.Curr.X=i.Bot.X,i.Curr.Y=i.Bot.Y,i.PrevInAEL=t,i.NextInAEL=e,c.ClipperBase.IsHorizontal(i)||this.InsertScanbeam(i.Top.Y),i},c.ClipperBase.prototype.SwapPositionsInAEL=function(i,t){if(!(i.NextInAEL===i.PrevInAEL||t.NextInAEL===t.PrevInAEL)){if(i.NextInAEL===t){var e=t.NextInAEL;e!==null&&(e.PrevInAEL=i);var r=i.PrevInAEL;r!==null&&(r.NextInAEL=t),t.PrevInAEL=r,t.NextInAEL=i,i.PrevInAEL=t,i.NextInAEL=e}else if(t.NextInAEL===i){var n=i.NextInAEL;n!==null&&(n.PrevInAEL=t);var s=t.PrevInAEL;s!==null&&(s.NextInAEL=i),i.PrevInAEL=s,i.NextInAEL=t,t.PrevInAEL=i,t.NextInAEL=n}else{var o=i.NextInAEL,a=i.PrevInAEL;i.NextInAEL=t.NextInAEL,i.NextInAEL!==null&&(i.NextInAEL.PrevInAEL=i),i.PrevInAEL=t.PrevInAEL,i.PrevInAEL!==null&&(i.PrevInAEL.NextInAEL=i),t.NextInAEL=o,t.NextInAEL!==null&&(t.NextInAEL.PrevInAEL=t),t.PrevInAEL=a,t.PrevInAEL!==null&&(t.PrevInAEL.NextInAEL=t)}i.PrevInAEL===null?this.m_ActiveEdges=i:t.PrevInAEL===null&&(this.m_ActiveEdges=t)}},c.ClipperBase.prototype.DeleteFromAEL=function(i){var t=i.PrevInAEL,e=i.NextInAEL;t===null&&e===null&&i!==this.m_ActiveEdges||(t!==null?t.NextInAEL=e:this.m_ActiveEdges=e,e!==null&&(e.PrevInAEL=t),i.NextInAEL=null,i.PrevInAEL=null)},c.Clipper=function(i){typeof i>"u"&&(i=0),this.m_PolyOuts=null,this.m_ClipType=c.ClipType.ctIntersection,this.m_Scanbeam=null,this.m_Maxima=null,this.m_ActiveEdges=null,this.m_SortedEdges=null,this.m_IntersectList=null,this.m_IntersectNodeComparer=null,this.m_ExecuteLocked=!1,this.m_ClipFillType=c.PolyFillType.pftEvenOdd,this.m_SubjFillType=c.PolyFillType.pftEvenOdd,this.m_Joins=null,this.m_GhostJoins=null,this.m_UsingPolyTree=!1,this.ReverseSolution=!1,this.StrictlySimple=!1,c.ClipperBase.call(this),this.m_Scanbeam=null,this.m_Maxima=null,this.m_ActiveEdges=null,this.m_SortedEdges=null,this.m_IntersectList=new Array,this.m_IntersectNodeComparer=c.MyIntersectNodeSort.Compare,this.m_ExecuteLocked=!1,this.m_UsingPolyTree=!1,this.m_PolyOuts=new Array,this.m_Joins=new Array,this.m_GhostJoins=new Array,this.ReverseSolution=(1&i)!==0,this.StrictlySimple=(2&i)!==0,this.PreserveCollinear=(4&i)!==0,c.use_xyz&&(this.ZFillFunction=null)},c.Clipper.ioReverseSolution=1,c.Clipper.ioStrictlySimple=2,c.Clipper.ioPreserveCollinear=4,c.Clipper.prototype.Clear=function(){this.m_edges.length!==0&&(this.DisposeAllPolyPts(),c.ClipperBase.prototype.Clear.call(this))},c.Clipper.prototype.InsertMaxima=function(i){var t=new c.Maxima;if(t.X=i,this.m_Maxima===null)this.m_Maxima=t,this.m_Maxima.Next=null,this.m_Maxima.Prev=null;else if(i<this.m_Maxima.X)t.Next=this.m_Maxima,t.Prev=null,this.m_Maxima=t;else{for(var e=this.m_Maxima;e.Next!==null&&i>=e.Next.X;)e=e.Next;if(i===e.X)return;t.Next=e.Next,t.Prev=e,e.Next!==null&&(e.Next.Prev=t),e.Next=t}},c.Clipper.prototype.Execute=function(){var i=arguments,t=i.length,e=i[1]instanceof c.PolyTree;if(t===4&&!e){var r=i[0],n=i[1],s=i[2],o=i[3];if(this.m_ExecuteLocked)return!1;this.m_HasOpenPaths&&c.Error("Error: PolyTree struct is needed for open path clipping."),this.m_ExecuteLocked=!0,c.Clear(n),this.m_SubjFillType=s,this.m_ClipFillType=o,this.m_ClipType=r,this.m_UsingPolyTree=!1;try{var a=this.ExecuteInternal();a&&this.BuildResult(n)}finally{this.DisposeAllPolyPts(),this.m_ExecuteLocked=!1}return a}else if(t===4&&e){var r=i[0],h=i[1],s=i[2],o=i[3];if(this.m_ExecuteLocked)return!1;this.m_ExecuteLocked=!0,this.m_SubjFillType=s,this.m_ClipFillType=o,this.m_ClipType=r,this.m_UsingPolyTree=!0;try{var a=this.ExecuteInternal();a&&this.BuildResult2(h)}finally{this.DisposeAllPolyPts(),this.m_ExecuteLocked=!1}return a}else if(t===2&&!e){var r=i[0],n=i[1];return this.Execute(r,n,c.PolyFillType.pftEvenOdd,c.PolyFillType.pftEvenOdd)}else if(t===2&&e){var r=i[0],h=i[1];return this.Execute(r,h,c.PolyFillType.pftEvenOdd,c.PolyFillType.pftEvenOdd)}},c.Clipper.prototype.FixHoleLinkage=function(i){if(!(i.FirstLeft===null||i.IsHole!==i.FirstLeft.IsHole&&i.FirstLeft.Pts!==null)){for(var t=i.FirstLeft;t!==null&&(t.IsHole===i.IsHole||t.Pts===null);)t=t.FirstLeft;i.FirstLeft=t}},c.Clipper.prototype.ExecuteInternal=function(){var i=this;try{this.Reset(),this.m_SortedEdges=null,this.m_Maxima=null;var t={},e={};if(!this.PopScanbeam(t))return!1;for(this.InsertLocalMinimaIntoAEL(t.v);this.PopScanbeam(e)||this.LocalMinimaPending();){if(i.ProcessHorizontals(),i.m_GhostJoins.length=0,!i.ProcessIntersections(e.v))return!1;i.ProcessEdgesAtTopOfScanbeam(e.v),t.v=e.v,i.InsertLocalMinimaIntoAEL(t.v)}var r,n,s;for(n=0,s=this.m_PolyOuts.length;n<s;n++)r=i.m_PolyOuts[n],!(r.Pts===null||r.IsOpen)&&(r.IsHole^i.ReverseSolution)==i.Area$1(r)>0&&i.ReversePolyPtLinks(r.Pts);for(this.JoinCommonEdges(),n=0,s=this.m_PolyOuts.length;n<s;n++)r=i.m_PolyOuts[n],r.Pts!==null&&(r.IsOpen?i.FixupOutPolyline(r):i.FixupOutPolygon(r));return this.StrictlySimple&&this.DoSimplePolygons(),!0}finally{this.m_Joins.length=0,this.m_GhostJoins.length=0}},c.Clipper.prototype.DisposeAllPolyPts=function(){for(var i=this,t=0,e=this.m_PolyOuts.length;t<e;++t)i.DisposeOutRec(t);c.Clear(this.m_PolyOuts)},c.Clipper.prototype.AddJoin=function(i,t,e){var r=new c.Join;r.OutPt1=i,r.OutPt2=t,r.OffPt.X=e.X,r.OffPt.Y=e.Y,c.use_xyz&&(r.OffPt.Z=e.Z),this.m_Joins.push(r)},c.Clipper.prototype.AddGhostJoin=function(i,t){var e=new c.Join;e.OutPt1=i,e.OffPt.X=t.X,e.OffPt.Y=t.Y,c.use_xyz&&(e.OffPt.Z=t.Z),this.m_GhostJoins.push(e)},c.Clipper.prototype.SetZ=function(i,t,e){if(this.ZFillFunction!==null){if(i.Z!==0||this.ZFillFunction===null)return;c.FPoint.op_Equality(i,t.Bot)?i.Z=t.Bot.Z:c.FPoint.op_Equality(i,t.Top)?i.Z=t.Top.Z:c.FPoint.op_Equality(i,e.Bot)?i.Z=e.Bot.Z:c.FPoint.op_Equality(i,e.Top)?i.Z=e.Top.Z:this.ZFillFunction(t.Bot,t.Top,e.Bot,e.Top,i)}},c.Clipper.prototype.InsertLocalMinimaIntoAEL=function(i){for(var t=this,e={},r,n;this.PopLocalMinima(i,e);){r=e.v.LeftBound,n=e.v.RightBound;var s=null;if(r===null?(t.InsertEdgeIntoAEL(n,null),t.SetWindingCount(n),t.IsContributing(n)&&(s=t.AddOutPt(n,n.Bot))):n===null?(t.InsertEdgeIntoAEL(r,null),t.SetWindingCount(r),t.IsContributing(r)&&(s=t.AddOutPt(r,r.Bot)),t.InsertScanbeam(r.Top.Y)):(t.InsertEdgeIntoAEL(r,null),t.InsertEdgeIntoAEL(n,r),t.SetWindingCount(r),n.WindCnt=r.WindCnt,n.WindCnt2=r.WindCnt2,t.IsContributing(r)&&(s=t.AddLocalMinPoly(r,n,r.Bot)),t.InsertScanbeam(r.Top.Y)),n!==null&&(c.ClipperBase.IsHorizontal(n)?(n.NextInLML!==null&&t.InsertScanbeam(n.NextInLML.Top.Y),t.AddEdgeToSEL(n)):t.InsertScanbeam(n.Top.Y)),!(r===null||n===null)){if(s!==null&&c.ClipperBase.IsHorizontal(n)&&t.m_GhostJoins.length>0&&n.WindDelta!==0)for(var o=0,a=this.m_GhostJoins.length;o<a;o++){var h=t.m_GhostJoins[o];t.HorzSegmentsOverlap(h.OutPt1.Pt.X,h.OffPt.X,n.Bot.X,n.Top.X)&&t.AddJoin(h.OutPt1,s,h.OffPt)}if(r.OutIdx>=0&&r.PrevInAEL!==null&&r.PrevInAEL.Curr.X===r.Bot.X&&r.PrevInAEL.OutIdx>=0&&c.ClipperBase.SlopesEqual5(r.PrevInAEL.Curr,r.PrevInAEL.Top,r.Curr,r.Top)&&r.WindDelta!==0&&r.PrevInAEL.WindDelta!==0){var l=t.AddOutPt(r.PrevInAEL,r.Bot);t.AddJoin(s,l,r.Top)}if(r.NextInAEL!==n){if(n.OutIdx>=0&&n.PrevInAEL.OutIdx>=0&&c.ClipperBase.SlopesEqual5(n.PrevInAEL.Curr,n.PrevInAEL.Top,n.Curr,n.Top)&&n.WindDelta!==0&&n.PrevInAEL.WindDelta!==0){var l=t.AddOutPt(n.PrevInAEL,n.Bot);t.AddJoin(s,l,n.Top)}var u=r.NextInAEL;if(u!==null)for(;u!==n;)t.IntersectEdges(n,u,r.Curr),u=u.NextInAEL}}}},c.Clipper.prototype.InsertEdgeIntoAEL=function(i,t){if(this.m_ActiveEdges===null)i.PrevInAEL=null,i.NextInAEL=null,this.m_ActiveEdges=i;else if(t===null&&this.E2InsertsBeforeE1(this.m_ActiveEdges,i))i.PrevInAEL=null,i.NextInAEL=this.m_ActiveEdges,this.m_ActiveEdges.PrevInAEL=i,this.m_ActiveEdges=i;else{for(t===null&&(t=this.m_ActiveEdges);t.NextInAEL!==null&&!this.E2InsertsBeforeE1(t.NextInAEL,i);)t=t.NextInAEL;i.NextInAEL=t.NextInAEL,t.NextInAEL!==null&&(t.NextInAEL.PrevInAEL=i),i.PrevInAEL=t,t.NextInAEL=i}},c.Clipper.prototype.E2InsertsBeforeE1=function(i,t){return t.Curr.X===i.Curr.X?t.Top.Y>i.Top.Y?t.Top.X<c.Clipper.TopX(i,t.Top.Y):i.Top.X>c.Clipper.TopX(t,i.Top.Y):t.Curr.X<i.Curr.X},c.Clipper.prototype.IsEvenOddFillType=function(i){return i.PolyTyp===c.PolyType.ptSubject?this.m_SubjFillType===c.PolyFillType.pftEvenOdd:this.m_ClipFillType===c.PolyFillType.pftEvenOdd},c.Clipper.prototype.IsEvenOddAltFillType=function(i){return i.PolyTyp===c.PolyType.ptSubject?this.m_ClipFillType===c.PolyFillType.pftEvenOdd:this.m_SubjFillType===c.PolyFillType.pftEvenOdd},c.Clipper.prototype.IsContributing=function(i){var t,e;switch(i.PolyTyp===c.PolyType.ptSubject?(t=this.m_SubjFillType,e=this.m_ClipFillType):(t=this.m_ClipFillType,e=this.m_SubjFillType),t){case c.PolyFillType.pftEvenOdd:if(i.WindDelta===0&&i.WindCnt!==1)return!1;break;case c.PolyFillType.pftNonZero:if(Math.abs(i.WindCnt)!==1)return!1;break;case c.PolyFillType.pftPositive:if(i.WindCnt!==1)return!1;break;default:if(i.WindCnt!==-1)return!1;break}switch(this.m_ClipType){case c.ClipType.ctIntersection:switch(e){case c.PolyFillType.pftEvenOdd:case c.PolyFillType.pftNonZero:return i.WindCnt2!==0;case c.PolyFillType.pftPositive:return i.WindCnt2>0;default:return i.WindCnt2<0}case c.ClipType.ctUnion:switch(e){case c.PolyFillType.pftEvenOdd:case c.PolyFillType.pftNonZero:return i.WindCnt2===0;case c.PolyFillType.pftPositive:return i.WindCnt2<=0;default:return i.WindCnt2>=0}case c.ClipType.ctDifference:if(i.PolyTyp===c.PolyType.ptSubject)switch(e){case c.PolyFillType.pftEvenOdd:case c.PolyFillType.pftNonZero:return i.WindCnt2===0;case c.PolyFillType.pftPositive:return i.WindCnt2<=0;default:return i.WindCnt2>=0}else switch(e){case c.PolyFillType.pftEvenOdd:case c.PolyFillType.pftNonZero:return i.WindCnt2!==0;case c.PolyFillType.pftPositive:return i.WindCnt2>0;default:return i.WindCnt2<0}case c.ClipType.ctXor:if(i.WindDelta===0)switch(e){case c.PolyFillType.pftEvenOdd:case c.PolyFillType.pftNonZero:return i.WindCnt2===0;case c.PolyFillType.pftPositive:return i.WindCnt2<=0;default:return i.WindCnt2>=0}else return!0}return!0},c.Clipper.prototype.SetWindingCount=function(i){for(var t=i.PrevInAEL;t!==null&&(t.PolyTyp!==i.PolyTyp||t.WindDelta===0);)t=t.PrevInAEL;if(t===null){var e=i.PolyTyp===c.PolyType.ptSubject?this.m_SubjFillType:this.m_ClipFillType;i.WindDelta===0?i.WindCnt=e===c.PolyFillType.pftNegative?-1:1:i.WindCnt=i.WindDelta,i.WindCnt2=0,t=this.m_ActiveEdges}else if(i.WindDelta===0&&this.m_ClipType!==c.ClipType.ctUnion)i.WindCnt=1,i.WindCnt2=t.WindCnt2,t=t.NextInAEL;else if(this.IsEvenOddFillType(i)){if(i.WindDelta===0){for(var r=!0,n=t.PrevInAEL;n!==null;)n.PolyTyp===t.PolyTyp&&n.WindDelta!==0&&(r=!r),n=n.PrevInAEL;i.WindCnt=r?0:1}else i.WindCnt=i.WindDelta;i.WindCnt2=t.WindCnt2,t=t.NextInAEL}else t.WindCnt*t.WindDelta<0?Math.abs(t.WindCnt)>1?t.WindDelta*i.WindDelta<0?i.WindCnt=t.WindCnt:i.WindCnt=t.WindCnt+i.WindDelta:i.WindCnt=i.WindDelta===0?1:i.WindDelta:i.WindDelta===0?i.WindCnt=t.WindCnt<0?t.WindCnt-1:t.WindCnt+1:t.WindDelta*i.WindDelta<0?i.WindCnt=t.WindCnt:i.WindCnt=t.WindCnt+i.WindDelta,i.WindCnt2=t.WindCnt2,t=t.NextInAEL;if(this.IsEvenOddAltFillType(i))for(;t!==i;)t.WindDelta!==0&&(i.WindCnt2=i.WindCnt2===0?1:0),t=t.NextInAEL;else for(;t!==i;)i.WindCnt2+=t.WindDelta,t=t.NextInAEL},c.Clipper.prototype.AddEdgeToSEL=function(i){this.m_SortedEdges===null?(this.m_SortedEdges=i,i.PrevInSEL=null,i.NextInSEL=null):(i.NextInSEL=this.m_SortedEdges,i.PrevInSEL=null,this.m_SortedEdges.PrevInSEL=i,this.m_SortedEdges=i)},c.Clipper.prototype.PopEdgeFromSEL=function(i){if(i.v=this.m_SortedEdges,i.v===null)return!1;var t=i.v;return this.m_SortedEdges=i.v.NextInSEL,this.m_SortedEdges!==null&&(this.m_SortedEdges.PrevInSEL=null),t.NextInSEL=null,t.PrevInSEL=null,!0},c.Clipper.prototype.CopyAELToSEL=function(){var i=this.m_ActiveEdges;for(this.m_SortedEdges=i;i!==null;)i.PrevInSEL=i.PrevInAEL,i.NextInSEL=i.NextInAEL,i=i.NextInAEL},c.Clipper.prototype.SwapPositionsInSEL=function(i,t){if(!(i.NextInSEL===null&&i.PrevInSEL===null)&&!(t.NextInSEL===null&&t.PrevInSEL===null)){if(i.NextInSEL===t){var e=t.NextInSEL;e!==null&&(e.PrevInSEL=i);var r=i.PrevInSEL;r!==null&&(r.NextInSEL=t),t.PrevInSEL=r,t.NextInSEL=i,i.PrevInSEL=t,i.NextInSEL=e}else if(t.NextInSEL===i){var e=i.NextInSEL;e!==null&&(e.PrevInSEL=t);var r=t.PrevInSEL;r!==null&&(r.NextInSEL=i),i.PrevInSEL=r,i.NextInSEL=t,t.PrevInSEL=i,t.NextInSEL=e}else{var e=i.NextInSEL,r=i.PrevInSEL;i.NextInSEL=t.NextInSEL,i.NextInSEL!==null&&(i.NextInSEL.PrevInSEL=i),i.PrevInSEL=t.PrevInSEL,i.PrevInSEL!==null&&(i.PrevInSEL.NextInSEL=i),t.NextInSEL=e,t.NextInSEL!==null&&(t.NextInSEL.PrevInSEL=t),t.PrevInSEL=r,t.PrevInSEL!==null&&(t.PrevInSEL.NextInSEL=t)}i.PrevInSEL===null?this.m_SortedEdges=i:t.PrevInSEL===null&&(this.m_SortedEdges=t)}},c.Clipper.prototype.AddLocalMaxPoly=function(i,t,e){this.AddOutPt(i,e),t.WindDelta===0&&this.AddOutPt(t,e),i.OutIdx===t.OutIdx?(i.OutIdx=-1,t.OutIdx=-1):i.OutIdx<t.OutIdx?this.AppendPolygon(i,t):this.AppendPolygon(t,i)},c.Clipper.prototype.AddLocalMinPoly=function(i,t,e){var r,n,s;if(c.ClipperBase.IsHorizontal(t)||i.Dx>t.Dx?(r=this.AddOutPt(i,e),t.OutIdx=i.OutIdx,i.Side=c.EdgeSide.esLeft,t.Side=c.EdgeSide.esRight,n=i,n.PrevInAEL===t?s=t.PrevInAEL:s=n.PrevInAEL):(r=this.AddOutPt(t,e),i.OutIdx=t.OutIdx,i.Side=c.EdgeSide.esRight,t.Side=c.EdgeSide.esLeft,n=t,n.PrevInAEL===i?s=i.PrevInAEL:s=n.PrevInAEL),s!==null&&s.OutIdx>=0&&s.Top.Y<e.Y&&n.Top.Y<e.Y){var o=c.Clipper.TopX(s,e.Y),a=c.Clipper.TopX(n,e.Y);if(o===a&&n.WindDelta!==0&&s.WindDelta!==0&&c.ClipperBase.SlopesEqual5(new c.FPoint2(o,e.Y),s.Top,new c.FPoint2(a,e.Y),n.Top)){var h=this.AddOutPt(s,e);this.AddJoin(r,h,n.Top)}}return r},c.Clipper.prototype.AddOutPt=function(i,t){if(i.OutIdx<0){var e=this.CreateOutRec();e.IsOpen=i.WindDelta===0;var r=new c.OutPt;return e.Pts=r,r.Idx=e.Idx,r.Pt.X=t.X,r.Pt.Y=t.Y,c.use_xyz&&(r.Pt.Z=t.Z),r.Next=r,r.Prev=r,e.IsOpen||this.SetHoleState(i,e),i.OutIdx=e.Idx,r}else{var e=this.m_PolyOuts[i.OutIdx],n=e.Pts,s=i.Side===c.EdgeSide.esLeft;if(s&&c.FPoint.op_Equality(t,n.Pt))return n;if(!s&&c.FPoint.op_Equality(t,n.Prev.Pt))return n.Prev;var r=new c.OutPt;return r.Idx=e.Idx,r.Pt.X=t.X,r.Pt.Y=t.Y,c.use_xyz&&(r.Pt.Z=t.Z),r.Next=n,r.Prev=n.Prev,r.Prev.Next=r,n.Prev=r,s&&(e.Pts=r),r}},c.Clipper.prototype.GetLastOutPt=function(i){var t=this.m_PolyOuts[i.OutIdx];return i.Side===c.EdgeSide.esLeft?t.Pts:t.Pts.Prev},c.Clipper.prototype.SwapPoints=function(i,t){var e=new c.FPoint1(i.Value);i.Value.X=t.Value.X,i.Value.Y=t.Value.Y,c.use_xyz&&(i.Value.Z=t.Value.Z),t.Value.X=e.X,t.Value.Y=e.Y,c.use_xyz&&(t.Value.Z=e.Z)},c.Clipper.prototype.HorzSegmentsOverlap=function(i,t,e,r){var n;return i>t&&(n=i,i=t,t=n),e>r&&(n=e,e=r,r=n),i<r&&e<t},c.Clipper.prototype.SetHoleState=function(i,t){for(var e=i.PrevInAEL,r=null;e!==null;)e.OutIdx>=0&&e.WindDelta!==0&&(r===null?r=e:r.OutIdx===e.OutIdx&&(r=null)),e=e.PrevInAEL;r===null?(t.FirstLeft=null,t.IsHole=!1):(t.FirstLeft=this.m_PolyOuts[r.OutIdx],t.IsHole=!t.FirstLeft.IsHole)},c.Clipper.prototype.GetDx=function(i,t){return i.Y===t.Y?c.ClipperBase.horizontal:(t.X-i.X)/(t.Y-i.Y)},c.Clipper.prototype.FirstIsBottomPt=function(i,t){for(var e=i.Prev;c.FPoint.op_Equality(e.Pt,i.Pt)&&e!==i;)e=e.Prev;var r=Math.abs(this.GetDx(i.Pt,e.Pt));for(e=i.Next;c.FPoint.op_Equality(e.Pt,i.Pt)&&e!==i;)e=e.Next;var n=Math.abs(this.GetDx(i.Pt,e.Pt));for(e=t.Prev;c.FPoint.op_Equality(e.Pt,t.Pt)&&e!==t;)e=e.Prev;var s=Math.abs(this.GetDx(t.Pt,e.Pt));for(e=t.Next;c.FPoint.op_Equality(e.Pt,t.Pt)&&e!==t;)e=e.Next;var o=Math.abs(this.GetDx(t.Pt,e.Pt));return Math.max(r,n)===Math.max(s,o)&&Math.min(r,n)===Math.min(s,o)?this.Area(i)>0:r>=s&&r>=o||n>=s&&n>=o},c.Clipper.prototype.GetBottomPt=function(i){for(var t=this,e=null,r=i.Next;r!==i;)r.Pt.Y>i.Pt.Y?(i=r,e=null):r.Pt.Y===i.Pt.Y&&r.Pt.X<=i.Pt.X&&(r.Pt.X<i.Pt.X?(e=null,i=r):r.Next!==i&&r.Prev!==i&&(e=r)),r=r.Next;if(e!==null)for(;e!==r;)for(t.FirstIsBottomPt(r,e)||(i=e),e=e.Next;c.FPoint.op_Inequality(e.Pt,i.Pt);)e=e.Next;return i},c.Clipper.prototype.GetLowermostRec=function(i,t){i.BottomPt===null&&(i.BottomPt=this.GetBottomPt(i.Pts)),t.BottomPt===null&&(t.BottomPt=this.GetBottomPt(t.Pts));var e=i.BottomPt,r=t.BottomPt;return e.Pt.Y>r.Pt.Y?i:e.Pt.Y<r.Pt.Y?t:e.Pt.X<r.Pt.X?i:e.Pt.X>r.Pt.X||e.Next===e?t:r.Next===r||this.FirstIsBottomPt(e,r)?i:t},c.Clipper.prototype.OutRec1RightOfOutRec2=function(i,t){do if(i=i.FirstLeft,i===t)return!0;while(i!==null);return!1},c.Clipper.prototype.GetOutRec=function(i){for(var t=this,e=this.m_PolyOuts[i];e!==this.m_PolyOuts[e.Idx];)e=t.m_PolyOuts[e.Idx];return e},c.Clipper.prototype.AppendPolygon=function(i,t){var e=this.m_PolyOuts[i.OutIdx],r=this.m_PolyOuts[t.OutIdx],n;this.OutRec1RightOfOutRec2(e,r)?n=r:this.OutRec1RightOfOutRec2(r,e)?n=e:n=this.GetLowermostRec(e,r);var s=e.Pts,o=s.Prev,a=r.Pts,h=a.Prev;i.Side===c.EdgeSide.esLeft?t.Side===c.EdgeSide.esLeft?(this.ReversePolyPtLinks(a),a.Next=s,s.Prev=a,o.Next=h,h.Prev=o,e.Pts=h):(h.Next=s,s.Prev=h,a.Prev=o,o.Next=a,e.Pts=a):t.Side===c.EdgeSide.esRight?(this.ReversePolyPtLinks(a),o.Next=h,h.Prev=o,a.Next=s,s.Prev=a):(o.Next=a,a.Prev=o,s.Prev=h,h.Next=s),e.BottomPt=null,n===r&&(r.FirstLeft!==e&&(e.FirstLeft=r.FirstLeft),e.IsHole=r.IsHole),r.Pts=null,r.BottomPt=null,r.FirstLeft=e;var l=i.OutIdx,u=t.OutIdx;i.OutIdx=-1,t.OutIdx=-1;for(var f=this.m_ActiveEdges;f!==null;){if(f.OutIdx===u){f.OutIdx=l,f.Side=i.Side;break}f=f.NextInAEL}r.Idx=e.Idx},c.Clipper.prototype.ReversePolyPtLinks=function(i){if(i!==null){var t,e;t=i;do e=t.Next,t.Next=t.Prev,t.Prev=e,t=e;while(t!==i)}},c.Clipper.SwapSides=function(i,t){var e=i.Side;i.Side=t.Side,t.Side=e},c.Clipper.SwapPolyIndexes=function(i,t){var e=i.OutIdx;i.OutIdx=t.OutIdx,t.OutIdx=e},c.Clipper.prototype.IntersectEdges=function(i,t,e){var r=i.OutIdx>=0,n=t.OutIdx>=0;if(c.use_xyz&&this.SetZ(e,i,t),c.use_lines&&(i.WindDelta===0||t.WindDelta===0)){if(i.WindDelta===0&&t.WindDelta===0)return;i.PolyTyp===t.PolyTyp&&i.WindDelta!==t.WindDelta&&this.m_ClipType===c.ClipType.ctUnion?i.WindDelta===0?n&&(this.AddOutPt(i,e),r&&(i.OutIdx=-1)):r&&(this.AddOutPt(t,e),n&&(t.OutIdx=-1)):i.PolyTyp!==t.PolyTyp&&(i.WindDelta===0&&Math.abs(t.WindCnt)===1&&(this.m_ClipType!==c.ClipType.ctUnion||t.WindCnt2===0)?(this.AddOutPt(i,e),r&&(i.OutIdx=-1)):t.WindDelta===0&&Math.abs(i.WindCnt)===1&&(this.m_ClipType!==c.ClipType.ctUnion||i.WindCnt2===0)&&(this.AddOutPt(t,e),n&&(t.OutIdx=-1)));return}if(i.PolyTyp===t.PolyTyp)if(this.IsEvenOddFillType(i)){var s=i.WindCnt;i.WindCnt=t.WindCnt,t.WindCnt=s}else i.WindCnt+t.WindDelta===0?i.WindCnt=-i.WindCnt:i.WindCnt+=t.WindDelta,t.WindCnt-i.WindDelta===0?t.WindCnt=-t.WindCnt:t.WindCnt-=i.WindDelta;else this.IsEvenOddFillType(t)?i.WindCnt2=i.WindCnt2===0?1:0:i.WindCnt2+=t.WindDelta,this.IsEvenOddFillType(i)?t.WindCnt2=t.WindCnt2===0?1:0:t.WindCnt2-=i.WindDelta;var o,a,h,l;i.PolyTyp===c.PolyType.ptSubject?(o=this.m_SubjFillType,h=this.m_ClipFillType):(o=this.m_ClipFillType,h=this.m_SubjFillType),t.PolyTyp===c.PolyType.ptSubject?(a=this.m_SubjFillType,l=this.m_ClipFillType):(a=this.m_ClipFillType,l=this.m_SubjFillType);var u,f;switch(o){case c.PolyFillType.pftPositive:u=i.WindCnt;break;case c.PolyFillType.pftNegative:u=-i.WindCnt;break;default:u=Math.abs(i.WindCnt);break}switch(a){case c.PolyFillType.pftPositive:f=t.WindCnt;break;case c.PolyFillType.pftNegative:f=-t.WindCnt;break;default:f=Math.abs(t.WindCnt);break}if(r&&n)u!==0&&u!==1||f!==0&&f!==1||i.PolyTyp!==t.PolyTyp&&this.m_ClipType!==c.ClipType.ctXor?this.AddLocalMaxPoly(i,t,e):(this.AddOutPt(i,e),this.AddOutPt(t,e),c.Clipper.SwapSides(i,t),c.Clipper.SwapPolyIndexes(i,t));else if(r)(f===0||f===1)&&(this.AddOutPt(i,e),c.Clipper.SwapSides(i,t),c.Clipper.SwapPolyIndexes(i,t));else if(n)(u===0||u===1)&&(this.AddOutPt(t,e),c.Clipper.SwapSides(i,t),c.Clipper.SwapPolyIndexes(i,t));else if((u===0||u===1)&&(f===0||f===1)){var p,d;switch(h){case c.PolyFillType.pftPositive:p=i.WindCnt2;break;case c.PolyFillType.pftNegative:p=-i.WindCnt2;break;default:p=Math.abs(i.WindCnt2);break}switch(l){case c.PolyFillType.pftPositive:d=t.WindCnt2;break;case c.PolyFillType.pftNegative:d=-t.WindCnt2;break;default:d=Math.abs(t.WindCnt2);break}if(i.PolyTyp!==t.PolyTyp)this.AddLocalMinPoly(i,t,e);else if(u===1&&f===1)switch(this.m_ClipType){case c.ClipType.ctIntersection:p>0&&d>0&&this.AddLocalMinPoly(i,t,e);break;case c.ClipType.ctUnion:p<=0&&d<=0&&this.AddLocalMinPoly(i,t,e);break;case c.ClipType.ctDifference:(i.PolyTyp===c.PolyType.ptClip&&p>0&&d>0||i.PolyTyp===c.PolyType.ptSubject&&p<=0&&d<=0)&&this.AddLocalMinPoly(i,t,e);break;case c.ClipType.ctXor:this.AddLocalMinPoly(i,t,e);break}else c.Clipper.SwapSides(i,t)}},c.Clipper.prototype.DeleteFromSEL=function(i){var t=i.PrevInSEL,e=i.NextInSEL;t===null&&e===null&&i!==this.m_SortedEdges||(t!==null?t.NextInSEL=e:this.m_SortedEdges=e,e!==null&&(e.PrevInSEL=t),i.NextInSEL=null,i.PrevInSEL=null)},c.Clipper.prototype.ProcessHorizontals=function(){for(var i=this,t={};this.PopEdgeFromSEL(t);)i.ProcessHorizontal(t.v)},c.Clipper.prototype.GetHorzDirection=function(i,t){i.Bot.X<i.Top.X?(t.Left=i.Bot.X,t.Right=i.Top.X,t.Dir=c.Direction.dLeftToRight):(t.Left=i.Top.X,t.Right=i.Bot.X,t.Dir=c.Direction.dRightToLeft)},c.Clipper.prototype.ProcessHorizontal=function(i){var t=this,e={Dir:null,Left:null,Right:null};this.GetHorzDirection(i,e);for(var r=e.Dir,n=e.Left,s=e.Right,o=i.WindDelta===0,a=i,h=null;a.NextInLML!==null&&c.ClipperBase.IsHorizontal(a.NextInLML);)a=a.NextInLML;a.NextInLML===null&&(h=this.GetMaximaPair(a));var l=this.m_Maxima;if(l!==null)if(r===c.Direction.dLeftToRight){for(;l!==null&&l.X<=i.Bot.X;)l=l.Next;l!==null&&l.X>=a.Top.X&&(l=null)}else{for(;l.Next!==null&&l.Next.X<i.Bot.X;)l=l.Next;l.X<=a.Top.X&&(l=null)}for(var u=null;;){for(var f=i===a,p=t.GetNextInAEL(i,r);p!==null;){if(l!==null)if(r===c.Direction.dLeftToRight)for(;l!==null&&l.X<p.Curr.X;)i.OutIdx>=0&&!o&&t.AddOutPt(i,new c.FPoint2(l.X,i.Bot.Y)),l=l.Next;else for(;l!==null&&l.X>p.Curr.X;)i.OutIdx>=0&&!o&&t.AddOutPt(i,new c.FPoint2(l.X,i.Bot.Y)),l=l.Prev;if(r===c.Direction.dLeftToRight&&p.Curr.X>s||r===c.Direction.dRightToLeft&&p.Curr.X<n||p.Curr.X===i.Top.X&&i.NextInLML!==null&&p.Dx<i.NextInLML.Dx)break;if(i.OutIdx>=0&&!o){c.use_xyz&&(r===c.Direction.dLeftToRight?t.SetZ(p.Curr,i,p):t.SetZ(p.Curr,p,i)),u=t.AddOutPt(i,p.Curr);for(var d=t.m_SortedEdges;d!==null;){if(d.OutIdx>=0&&t.HorzSegmentsOverlap(i.Bot.X,i.Top.X,d.Bot.X,d.Top.X)){var v=t.GetLastOutPt(d);t.AddJoin(v,u,d.Top)}d=d.NextInSEL}t.AddGhostJoin(u,i.Bot)}if(p===h&&f){i.OutIdx>=0&&t.AddLocalMaxPoly(i,h,i.Top),t.DeleteFromAEL(i),t.DeleteFromAEL(h);return}if(r===c.Direction.dLeftToRight){var m=new c.FPoint2(p.Curr.X,i.Curr.Y);t.IntersectEdges(i,p,m)}else{var m=new c.FPoint2(p.Curr.X,i.Curr.Y);t.IntersectEdges(p,i,m)}var y=t.GetNextInAEL(p,r);t.SwapPositionsInAEL(i,p),p=y}if(i.NextInLML===null||!c.ClipperBase.IsHorizontal(i.NextInLML))break;i=t.UpdateEdgeIntoAEL(i),i.OutIdx>=0&&t.AddOutPt(i,i.Bot),e={Dir:r,Left:n,Right:s},t.GetHorzDirection(i,e),r=e.Dir,n=e.Left,s=e.Right}if(i.OutIdx>=0&&u===null){u=this.GetLastOutPt(i);for(var d=this.m_SortedEdges;d!==null;){if(d.OutIdx>=0&&t.HorzSegmentsOverlap(i.Bot.X,i.Top.X,d.Bot.X,d.Top.X)){var v=t.GetLastOutPt(d);t.AddJoin(v,u,d.Top)}d=d.NextInSEL}this.AddGhostJoin(u,i.Top)}if(i.NextInLML!==null)if(i.OutIdx>=0){if(u=this.AddOutPt(i,i.Top),i=this.UpdateEdgeIntoAEL(i),i.WindDelta===0)return;var g=i.PrevInAEL,y=i.NextInAEL;if(g!==null&&g.Curr.X===i.Bot.X&&g.Curr.Y===i.Bot.Y&&g.WindDelta===0&&g.OutIdx>=0&&g.Curr.Y>g.Top.Y&&c.ClipperBase.SlopesEqual3(i,g)){var v=this.AddOutPt(g,i.Bot);this.AddJoin(u,v,i.Top)}else if(y!==null&&y.Curr.X===i.Bot.X&&y.Curr.Y===i.Bot.Y&&y.WindDelta!==0&&y.OutIdx>=0&&y.Curr.Y>y.Top.Y&&c.ClipperBase.SlopesEqual3(i,y)){var v=this.AddOutPt(y,i.Bot);this.AddJoin(u,v,i.Top)}}else i=this.UpdateEdgeIntoAEL(i);else i.OutIdx>=0&&this.AddOutPt(i,i.Top),this.DeleteFromAEL(i)},c.Clipper.prototype.GetNextInAEL=function(i,t){return t===c.Direction.dLeftToRight?i.NextInAEL:i.PrevInAEL},c.Clipper.prototype.IsMinima=function(i){return i!==null&&i.Prev.NextInLML!==i&&i.Next.NextInLML!==i},c.Clipper.prototype.IsMaxima=function(i,t){return i!==null&&i.Top.Y===t&&i.NextInLML===null},c.Clipper.prototype.IsIntermediate=function(i,t){return i.Top.Y===t&&i.NextInLML!==null},c.Clipper.prototype.GetMaximaPair=function(i){return c.FPoint.op_Equality(i.Next.Top,i.Top)&&i.Next.NextInLML===null?i.Next:c.FPoint.op_Equality(i.Prev.Top,i.Top)&&i.Prev.NextInLML===null?i.Prev:null},c.Clipper.prototype.GetMaximaPairEx=function(i){var t=this.GetMaximaPair(i);return t===null||t.OutIdx===c.ClipperBase.Skip||t.NextInAEL===t.PrevInAEL&&!c.ClipperBase.IsHorizontal(t)?null:t},c.Clipper.prototype.ProcessIntersections=function(i){if(this.m_ActiveEdges===null)return!0;try{if(this.BuildIntersectList(i),this.m_IntersectList.length===0)return!0;if(this.m_IntersectList.length===1||this.FixupIntersectionOrder())this.ProcessIntersectList();else return!1}catch{this.m_SortedEdges=null,this.m_IntersectList.length=0,c.Error("ProcessIntersections error")}return this.m_SortedEdges=null,!0},c.Clipper.prototype.BuildIntersectList=function(i){var t=this;if(this.m_ActiveEdges!==null){var e=this.m_ActiveEdges;for(this.m_SortedEdges=e;e!==null;)e.PrevInSEL=e.PrevInAEL,e.NextInSEL=e.NextInAEL,e.Curr.X=c.Clipper.TopX(e,i),e=e.NextInAEL;for(var r=!0;r&&this.m_SortedEdges!==null;){for(r=!1,e=t.m_SortedEdges;e.NextInSEL!==null;){var n=e.NextInSEL,s=new c.FPoint0;if(e.Curr.X>n.Curr.X){t.IntersectPoint(e,n,s),s.Y<i&&(s=new c.FPoint2(c.Clipper.TopX(e,i),i));var o=new c.IntersectNode;o.Edge1=e,o.Edge2=n,o.Pt.X=s.X,o.Pt.Y=s.Y,c.use_xyz&&(o.Pt.Z=s.Z),t.m_IntersectList.push(o),t.SwapPositionsInSEL(e,n),r=!0}else e=n}if(e.PrevInSEL!==null)e.PrevInSEL.NextInSEL=null;else break}this.m_SortedEdges=null}},c.Clipper.prototype.EdgesAdjacent=function(i){return i.Edge1.NextInSEL===i.Edge2||i.Edge1.PrevInSEL===i.Edge2},c.Clipper.IntersectNodeSort=function(i,t){return t.Pt.Y-i.Pt.Y},c.Clipper.prototype.FixupIntersectionOrder=function(){var i=this;this.m_IntersectList.sort(this.m_IntersectNodeComparer),this.CopyAELToSEL();for(var t=this.m_IntersectList.length,e=0;e<t;e++){if(!i.EdgesAdjacent(i.m_IntersectList[e])){for(var r=e+1;r<t&&!this.EdgesAdjacent(this.m_IntersectList[r]);)r++;if(r===t)return!1;var n=i.m_IntersectList[e];i.m_IntersectList[e]=i.m_IntersectList[r],i.m_IntersectList[r]=n}i.SwapPositionsInSEL(i.m_IntersectList[e].Edge1,i.m_IntersectList[e].Edge2)}return!0},c.Clipper.prototype.ProcessIntersectList=function(){for(var i=this,t=0,e=this.m_IntersectList.length;t<e;t++){var r=i.m_IntersectList[t];i.IntersectEdges(r.Edge1,r.Edge2,r.Pt),i.SwapPositionsInAEL(r.Edge1,r.Edge2)}this.m_IntersectList.length=0},c.Clipper.TopX=function(i,t){return t===i.Top.Y?i.Top.X:i.Bot.X+i.Dx*(t-i.Bot.Y)},c.Clipper.prototype.IntersectPoint=function(i,t,e){e.X=0,e.Y=0;var r,n;if(i.Dx===t.Dx){e.Y=i.Curr.Y,e.X=c.Clipper.TopX(i,e.Y);return}if(i.Delta.X===0)e.X=i.Bot.X,c.ClipperBase.IsHorizontal(t)?e.Y=t.Bot.Y:(n=t.Bot.Y-t.Bot.X/t.Dx,e.Y=e.X/t.Dx+n);else if(t.Delta.X===0)e.X=t.Bot.X,c.ClipperBase.IsHorizontal(i)?e.Y=i.Bot.Y:(r=i.Bot.Y-i.Bot.X/i.Dx,e.Y=e.X/i.Dx+r);else{r=i.Bot.X-i.Bot.Y*i.Dx,n=t.Bot.X-t.Bot.Y*t.Dx;var s=(n-r)/(i.Dx-t.Dx);e.Y=s,Math.abs(i.Dx)<Math.abs(t.Dx)?e.X=i.Dx*s+r:e.X=t.Dx*s+n}if(e.Y<i.Top.Y||e.Y<t.Top.Y){if(i.Top.Y>t.Top.Y)return e.Y=i.Top.Y,e.X=c.Clipper.TopX(t,i.Top.Y),e.X<i.Top.X;e.Y=t.Top.Y,Math.abs(i.Dx)<Math.abs(t.Dx)?e.X=c.Clipper.TopX(i,e.Y):e.X=c.Clipper.TopX(t,e.Y)}e.Y>i.Curr.Y&&(e.Y=i.Curr.Y,Math.abs(i.Dx)>Math.abs(t.Dx)?e.X=c.Clipper.TopX(t,e.Y):e.X=c.Clipper.TopX(i,e.Y))},c.Clipper.prototype.ProcessEdgesAtTopOfScanbeam=function(i){for(var t=this,e=this.m_ActiveEdges;e!==null;){var r=t.IsMaxima(e,i);if(r){var n=t.GetMaximaPairEx(e);r=n===null||!c.ClipperBase.IsHorizontal(n)}if(r){t.StrictlySimple&&t.InsertMaxima(e.Top.X);var s=e.PrevInAEL;t.DoMaxima(e),s===null?e=t.m_ActiveEdges:e=s.NextInAEL}else{if(t.IsIntermediate(e,i)&&c.ClipperBase.IsHorizontal(e.NextInLML)?(e=t.UpdateEdgeIntoAEL(e),e.OutIdx>=0&&t.AddOutPt(e,e.Bot),t.AddEdgeToSEL(e)):(e.Curr.X=c.Clipper.TopX(e,i),e.Curr.Y=i),c.use_xyz&&(e.Top.Y===i?e.Curr.Z=e.Top.Z:e.Bot.Y===i?e.Curr.Z=e.Bot.Z:e.Curr.Z=0),t.StrictlySimple){var s=e.PrevInAEL;if(e.OutIdx>=0&&e.WindDelta!==0&&s!==null&&s.OutIdx>=0&&s.Curr.X===e.Curr.X&&s.WindDelta!==0){var o=new c.FPoint1(e.Curr);c.use_xyz&&t.SetZ(o,s,e);var a=t.AddOutPt(s,o),h=t.AddOutPt(e,o);t.AddJoin(a,h,o)}}e=e.NextInAEL}}for(this.ProcessHorizontals(),this.m_Maxima=null,e=this.m_ActiveEdges;e!==null;){if(t.IsIntermediate(e,i)){var a=null;e.OutIdx>=0&&(a=t.AddOutPt(e,e.Top)),e=t.UpdateEdgeIntoAEL(e);var s=e.PrevInAEL,l=e.NextInAEL;if(s!==null&&s.Curr.X===e.Bot.X&&s.Curr.Y===e.Bot.Y&&a!==null&&s.OutIdx>=0&&s.Curr.Y===s.Top.Y&&c.ClipperBase.SlopesEqual5(e.Curr,e.Top,s.Curr,s.Top)&&e.WindDelta!==0&&s.WindDelta!==0){var h=t.AddOutPt(ePrev2,e.Bot);t.AddJoin(a,h,e.Top)}else if(l!==null&&l.Curr.X===e.Bot.X&&l.Curr.Y===e.Bot.Y&&a!==null&&l.OutIdx>=0&&l.Curr.Y===l.Top.Y&&c.ClipperBase.SlopesEqual5(e.Curr,e.Top,l.Curr,l.Top)&&e.WindDelta!==0&&l.WindDelta!==0){var h=t.AddOutPt(l,e.Bot);t.AddJoin(a,h,e.Top)}}e=e.NextInAEL}},c.Clipper.prototype.DoMaxima=function(i){var t=this,e=this.GetMaximaPairEx(i);if(e===null){i.OutIdx>=0&&this.AddOutPt(i,i.Top),this.DeleteFromAEL(i);return}for(var r=i.NextInAEL;r!==null&&r!==e;)t.IntersectEdges(i,r,i.Top),t.SwapPositionsInAEL(i,r),r=i.NextInAEL;i.OutIdx===-1&&e.OutIdx===-1?(this.DeleteFromAEL(i),this.DeleteFromAEL(e)):i.OutIdx>=0&&e.OutIdx>=0?(i.OutIdx>=0&&this.AddLocalMaxPoly(i,e,i.Top),this.DeleteFromAEL(i),this.DeleteFromAEL(e)):c.use_lines&&i.WindDelta===0?(i.OutIdx>=0&&(this.AddOutPt(i,i.Top),i.OutIdx=c.ClipperBase.Unassigned),this.DeleteFromAEL(i),e.OutIdx>=0&&(this.AddOutPt(e,i.Top),e.OutIdx=c.ClipperBase.Unassigned),this.DeleteFromAEL(e)):c.Error("DoMaxima error")},c.Clipper.ReversePaths=function(i){for(var t=0,e=i.length;t<e;t++)i[t].reverse()},c.Clipper.Orientation=function(i){return c.Clipper.Area(i)>=0},c.Clipper.prototype.PointCount=function(i){if(i===null)return 0;var t=0,e=i;do t++,e=e.Next;while(e!==i);return t},c.Clipper.prototype.BuildResult=function(i){var t=this;c.Clear(i);for(var e=0,r=this.m_PolyOuts.length;e<r;e++){var n=t.m_PolyOuts[e];if(n.Pts!==null){var s=n.Pts.Prev,o=t.PointCount(s);if(!(o<2)){for(var a=new Array(o),h=0;h<o;h++)a[h]=s.Pt,s=s.Prev;i.push(a)}}}},c.Clipper.prototype.BuildResult2=function(i){var t=this;i.Clear();for(var e=0,r=this.m_PolyOuts.length;e<r;e++){var n=t.m_PolyOuts[e],s=t.PointCount(n.Pts);if(!(n.IsOpen&&s<2||!n.IsOpen&&s<3)){t.FixHoleLinkage(n);var o=new c.PolyNode;i.m_AllPolys.push(o),n.PolyNode=o,o.m_polygon.length=s;for(var a=n.Pts.Prev,h=0;h<s;h++)o.m_polygon[h]=a.Pt,a=a.Prev}}for(var e=0,r=this.m_PolyOuts.length;e<r;e++){var n=t.m_PolyOuts[e];n.PolyNode!==null&&(n.IsOpen?(n.PolyNode.IsOpen=!0,i.AddChild(n.PolyNode)):n.FirstLeft!==null&&n.FirstLeft.PolyNode!==null?n.FirstLeft.PolyNode.AddChild(n.PolyNode):i.AddChild(n.PolyNode))}},c.Clipper.prototype.FixupOutPolyline=function(i){for(var t=i.Pts,e=t.Prev;t!==e;)if(t=t.Next,c.FPoint.op_Equality(t.Pt,t.Prev.Pt)){t===e&&(e=t.Prev);var r=t.Prev;r.Next=t.Next,t.Next.Prev=r,t=r}t===t.Prev&&(i.Pts=null)},c.Clipper.prototype.FixupOutPolygon=function(i){var t=this,e=null;i.BottomPt=null;for(var r=i.Pts,n=this.PreserveCollinear||this.StrictlySimple;;){if(r.Prev===r||r.Prev===r.Next){i.Pts=null;return}if(c.FPoint.op_Equality(r.Pt,r.Next.Pt)||c.FPoint.op_Equality(r.Pt,r.Prev.Pt)||c.ClipperBase.SlopesEqual4(r.Prev.Pt,r.Pt,r.Next.Pt)&&(!n||!t.Pt2IsBetweenPt1AndPt3(r.Prev.Pt,r.Pt,r.Next.Pt)))e=null,r.Prev.Next=r.Next,r.Next.Prev=r.Prev,r=r.Prev;else{if(r===e)break;e===null&&(e=r),r=r.Next}}i.Pts=r},c.Clipper.prototype.DupOutPt=function(i,t){var e=new c.OutPt;return e.Pt.X=i.Pt.X,e.Pt.Y=i.Pt.Y,c.use_xyz&&(e.Pt.Z=i.Pt.Z),e.Idx=i.Idx,t?(e.Next=i.Next,e.Prev=i,i.Next.Prev=e,i.Next=e):(e.Prev=i.Prev,e.Next=i,i.Prev.Next=e,i.Prev=e),e},c.Clipper.prototype.GetOverlap=function(i,t,e,r,n){return i<t?e<r?(n.Left=Math.max(i,e),n.Right=Math.min(t,r)):(n.Left=Math.max(i,r),n.Right=Math.min(t,e)):e<r?(n.Left=Math.max(t,e),n.Right=Math.min(i,r)):(n.Left=Math.max(t,r),n.Right=Math.min(i,e)),n.Left<n.Right},c.Clipper.prototype.JoinHorz=function(i,t,e,r,n,s){var o=i.Pt.X>t.Pt.X?c.Direction.dRightToLeft:c.Direction.dLeftToRight,a=e.Pt.X>r.Pt.X?c.Direction.dRightToLeft:c.Direction.dLeftToRight;if(o===a)return!1;if(o===c.Direction.dLeftToRight){for(;i.Next.Pt.X<=n.X&&i.Next.Pt.X>=i.Pt.X&&i.Next.Pt.Y===n.Y;)i=i.Next;s&&i.Pt.X!==n.X&&(i=i.Next),t=this.DupOutPt(i,!s),c.FPoint.op_Inequality(t.Pt,n)&&(i=t,i.Pt.X=n.X,i.Pt.Y=n.Y,c.use_xyz&&(i.Pt.Z=n.Z),t=this.DupOutPt(i,!s))}else{for(;i.Next.Pt.X>=n.X&&i.Next.Pt.X<=i.Pt.X&&i.Next.Pt.Y===n.Y;)i=i.Next;!s&&i.Pt.X!==n.X&&(i=i.Next),t=this.DupOutPt(i,s),c.FPoint.op_Inequality(t.Pt,n)&&(i=t,i.Pt.X=n.X,i.Pt.Y=n.Y,c.use_xyz&&(i.Pt.Z=n.Z),t=this.DupOutPt(i,s))}if(a===c.Direction.dLeftToRight){for(;e.Next.Pt.X<=n.X&&e.Next.Pt.X>=e.Pt.X&&e.Next.Pt.Y===n.Y;)e=e.Next;s&&e.Pt.X!==n.X&&(e=e.Next),r=this.DupOutPt(e,!s),c.FPoint.op_Inequality(r.Pt,n)&&(e=r,e.Pt.X=n.X,e.Pt.Y=n.Y,c.use_xyz&&(e.Pt.Z=n.Z),r=this.DupOutPt(e,!s))}else{for(;e.Next.Pt.X>=n.X&&e.Next.Pt.X<=e.Pt.X&&e.Next.Pt.Y===n.Y;)e=e.Next;!s&&e.Pt.X!==n.X&&(e=e.Next),r=this.DupOutPt(e,s),c.FPoint.op_Inequality(r.Pt,n)&&(e=r,e.Pt.X=n.X,e.Pt.Y=n.Y,c.use_xyz&&(e.Pt.Z=n.Z),r=this.DupOutPt(e,s))}return o===c.Direction.dLeftToRight===s?(i.Prev=e,e.Next=i,t.Next=r,r.Prev=t):(i.Next=e,e.Prev=i,t.Prev=r,r.Next=t),!0},c.Clipper.prototype.JoinPoints=function(i,t,e){var r=i.OutPt1,n=new c.OutPt,s=i.OutPt2,o=new c.OutPt,a=i.OutPt1.Pt.Y===i.OffPt.Y;if(a&&c.FPoint.op_Equality(i.OffPt,i.OutPt1.Pt)&&c.FPoint.op_Equality(i.OffPt,i.OutPt2.Pt)){if(t!==e)return!1;for(n=i.OutPt1.Next;n!==r&&c.FPoint.op_Equality(n.Pt,i.OffPt);)n=n.Next;var h=n.Pt.Y>i.OffPt.Y;for(o=i.OutPt2.Next;o!==s&&c.FPoint.op_Equality(o.Pt,i.OffPt);)o=o.Next;var l=o.Pt.Y>i.OffPt.Y;return h===l?!1:h?(n=this.DupOutPt(r,!1),o=this.DupOutPt(s,!0),r.Prev=s,s.Next=r,n.Next=o,o.Prev=n,i.OutPt1=r,i.OutPt2=n,!0):(n=this.DupOutPt(r,!0),o=this.DupOutPt(s,!1),r.Next=s,s.Prev=r,n.Prev=o,o.Next=n,i.OutPt1=r,i.OutPt2=n,!0)}else if(a){for(n=r;r.Prev.Pt.Y===r.Pt.Y&&r.Prev!==n&&r.Prev!==s;)r=r.Prev;for(;n.Next.Pt.Y===n.Pt.Y&&n.Next!==r&&n.Next!==s;)n=n.Next;if(n.Next===r||n.Next===s)return!1;for(o=s;s.Prev.Pt.Y===s.Pt.Y&&s.Prev!==o&&s.Prev!==n;)s=s.Prev;for(;o.Next.Pt.Y===o.Pt.Y&&o.Next!==s&&o.Next!==r;)o=o.Next;if(o.Next===s||o.Next===r)return!1;var u={Left:null,Right:null};if(!this.GetOverlap(r.Pt.X,n.Pt.X,s.Pt.X,o.Pt.X,u))return!1;var f=u.Left,p=u.Right,d=new c.FPoint0,v;return r.Pt.X>=f&&r.Pt.X<=p?(d.X=r.Pt.X,d.Y=r.Pt.Y,c.use_xyz&&(d.Z=r.Pt.Z),v=r.Pt.X>n.Pt.X):s.Pt.X>=f&&s.Pt.X<=p?(d.X=s.Pt.X,d.Y=s.Pt.Y,c.use_xyz&&(d.Z=s.Pt.Z),v=s.Pt.X>o.Pt.X):n.Pt.X>=f&&n.Pt.X<=p?(d.X=n.Pt.X,d.Y=n.Pt.Y,c.use_xyz&&(d.Z=n.Pt.Z),v=n.Pt.X>r.Pt.X):(d.X=o.Pt.X,d.Y=o.Pt.Y,c.use_xyz&&(d.Z=o.Pt.Z),v=o.Pt.X>s.Pt.X),i.OutPt1=r,i.OutPt2=s,this.JoinHorz(r,n,s,o,d,v)}else{for(n=r.Next;c.FPoint.op_Equality(n.Pt,r.Pt)&&n!==r;)n=n.Next;var m=n.Pt.Y>r.Pt.Y||!c.ClipperBase.SlopesEqual4(r.Pt,n.Pt,i.OffPt);if(m){for(n=r.Prev;c.FPoint.op_Equality(n.Pt,r.Pt)&&n!==r;)n=n.Prev;if(n.Pt.Y>r.Pt.Y||!c.ClipperBase.SlopesEqual4(r.Pt,n.Pt,i.OffPt))return!1}for(o=s.Next;c.FPoint.op_Equality(o.Pt,s.Pt)&&o!==s;)o=o.Next;var y=o.Pt.Y>s.Pt.Y||!c.ClipperBase.SlopesEqual4(s.Pt,o.Pt,i.OffPt);if(y){for(o=s.Prev;c.FPoint.op_Equality(o.Pt,s.Pt)&&o!==s;)o=o.Prev;if(o.Pt.Y>s.Pt.Y||!c.ClipperBase.SlopesEqual4(s.Pt,o.Pt,i.OffPt))return!1}return n===r||o===s||n===o||t===e&&m===y?!1:m?(n=this.DupOutPt(r,!1),o=this.DupOutPt(s,!0),r.Prev=s,s.Next=r,n.Next=o,o.Prev=n,i.OutPt1=r,i.OutPt2=n,!0):(n=this.DupOutPt(r,!0),o=this.DupOutPt(s,!1),r.Next=s,s.Prev=r,n.Prev=o,o.Next=n,i.OutPt1=r,i.OutPt2=n,!0)}},c.Clipper.GetBounds=function(i){for(var t=0,e=i.length;t<e&&i[t].length===0;)t++;if(t===e)return new c.FRect(0,0,0,0);var r=new c.FRect;for(r.left=i[t][0].X,r.right=r.left,r.top=i[t][0].Y,r.bottom=r.top;t<e;t++)for(var n=0,s=i[t].length;n<s;n++)i[t][n].X<r.left?r.left=i[t][n].X:i[t][n].X>r.right&&(r.right=i[t][n].X),i[t][n].Y<r.top?r.top=i[t][n].Y:i[t][n].Y>r.bottom&&(r.bottom=i[t][n].Y);return r},c.Clipper.prototype.GetBounds2=function(i){var t=i,e=new c.FRect;for(e.left=i.Pt.X,e.right=i.Pt.X,e.top=i.Pt.Y,e.bottom=i.Pt.Y,i=i.Next;i!==t;)i.Pt.X<e.left&&(e.left=i.Pt.X),i.Pt.X>e.right&&(e.right=i.Pt.X),i.Pt.Y<e.top&&(e.top=i.Pt.Y),i.Pt.Y>e.bottom&&(e.bottom=i.Pt.Y),i=i.Next;return e},c.Clipper.PointInPolygon=function(i,t){var e=0,r=t.length;if(r<3)return 0;for(var n=t[0],s=1;s<=r;++s){var o=s===r?t[0]:t[s];if(o.Y===i.Y&&(o.X===i.X||n.Y===i.Y&&o.X>i.X==n.X<i.X))return-1;if(n.Y<i.Y!=o.Y<i.Y){if(n.X>=i.X)if(o.X>i.X)e=1-e;else{var a=(n.X-i.X)*(o.Y-i.Y)-(o.X-i.X)*(n.Y-i.Y);if(a===0)return-1;a>0==o.Y>n.Y&&(e=1-e)}else if(o.X>i.X){var a=(n.X-i.X)*(o.Y-i.Y)-(o.X-i.X)*(n.Y-i.Y);if(a===0)return-1;a>0==o.Y>n.Y&&(e=1-e)}}n=o}return e},c.Clipper.prototype.PointInPolygon=function(i,t){var e=0,r=t,n=i.X,s=i.Y,o=t.Pt.X,a=t.Pt.Y;do{t=t.Next;var h=t.Pt.X,l=t.Pt.Y;if(l===s&&(h===n||a===s&&h>n==o<n))return-1;if(a<s!=l<s){if(o>=n)if(h>n)e=1-e;else{var u=(o-n)*(l-s)-(h-n)*(a-s);if(u===0)return-1;u>0==l>a&&(e=1-e)}else if(h>n){var u=(o-n)*(l-s)-(h-n)*(a-s);if(u===0)return-1;u>0==l>a&&(e=1-e)}}o=h,a=l}while(r!==t);return e},c.Clipper.prototype.Poly2ContainsPoly1=function(i,t){var e=this,r=i;do{var n=e.PointInPolygon(r.Pt,t);if(n>=0)return n>0;r=r.Next}while(r!==i);return!0},c.Clipper.prototype.FixupFirstLefts1=function(i,t){for(var e=this,r,n,s=0,o=this.m_PolyOuts.length;s<o;s++)r=e.m_PolyOuts[s],n=c.Clipper.ParseFirstLeft(r.FirstLeft),r.Pts!==null&&n===i&&e.Poly2ContainsPoly1(r.Pts,t.Pts)&&(r.FirstLeft=t)},c.Clipper.prototype.FixupFirstLefts2=function(i,t){for(var e=this,r=t.FirstLeft,n,s,o=0,a=this.m_PolyOuts.length;o<a;o++)n=e.m_PolyOuts[o],!(n.Pts===null||n===t||n===i)&&(s=c.Clipper.ParseFirstLeft(n.FirstLeft),!(s!==r&&s!==i&&s!==t)&&(e.Poly2ContainsPoly1(n.Pts,i.Pts)?n.FirstLeft=i:e.Poly2ContainsPoly1(n.Pts,t.Pts)?n.FirstLeft=t:(n.FirstLeft===i||n.FirstLeft===t)&&(n.FirstLeft=r)))},c.Clipper.prototype.FixupFirstLefts3=function(i,t){for(var e=this,r,n,s=0,o=this.m_PolyOuts.length;s<o;s++)r=e.m_PolyOuts[s],n=c.Clipper.ParseFirstLeft(r.FirstLeft),r.Pts!==null&&n===i&&(r.FirstLeft=t)},c.Clipper.ParseFirstLeft=function(i){for(;i!==null&&i.Pts===null;)i=i.FirstLeft;return i},c.Clipper.prototype.JoinCommonEdges=function(){for(var i=this,t=0,e=this.m_Joins.length;t<e;t++){var r=i.m_Joins[t],n=i.GetOutRec(r.OutPt1.Idx),s=i.GetOutRec(r.OutPt2.Idx);if(!(n.Pts===null||s.Pts===null)&&!(n.IsOpen||s.IsOpen)){var o;n===s?o=n:i.OutRec1RightOfOutRec2(n,s)?o=s:i.OutRec1RightOfOutRec2(s,n)?o=n:o=i.GetLowermostRec(n,s),i.JoinPoints(r,n,s)&&(n===s?(n.Pts=r.OutPt1,n.BottomPt=null,s=i.CreateOutRec(),s.Pts=r.OutPt2,i.UpdateOutPtIdxs(s),i.Poly2ContainsPoly1(s.Pts,n.Pts)?(s.IsHole=!n.IsHole,s.FirstLeft=n,i.m_UsingPolyTree&&i.FixupFirstLefts2(s,n),(s.IsHole^i.ReverseSolution)==i.Area$1(s)>0&&i.ReversePolyPtLinks(s.Pts)):i.Poly2ContainsPoly1(n.Pts,s.Pts)?(s.IsHole=n.IsHole,n.IsHole=!s.IsHole,s.FirstLeft=n.FirstLeft,n.FirstLeft=s,i.m_UsingPolyTree&&i.FixupFirstLefts2(n,s),(n.IsHole^i.ReverseSolution)==i.Area$1(n)>0&&i.ReversePolyPtLinks(n.Pts)):(s.IsHole=n.IsHole,s.FirstLeft=n.FirstLeft,i.m_UsingPolyTree&&i.FixupFirstLefts1(n,s))):(s.Pts=null,s.BottomPt=null,s.Idx=n.Idx,n.IsHole=o.IsHole,o===s&&(n.FirstLeft=s.FirstLeft),s.FirstLeft=n,i.m_UsingPolyTree&&i.FixupFirstLefts3(s,n)))}}},c.Clipper.prototype.UpdateOutPtIdxs=function(i){var t=i.Pts;do t.Idx=i.Idx,t=t.Prev;while(t!==i.Pts)},c.Clipper.prototype.DoSimplePolygons=function(){for(var i=this,t=0;t<this.m_PolyOuts.length;){var e=i.m_PolyOuts[t++],r=e.Pts;if(!(r===null||e.IsOpen))do{for(var n=r.Next;n!==e.Pts;){if(c.FPoint.op_Equality(r.Pt,n.Pt)&&n.Next!==r&&n.Prev!==r){var s=r.Prev,o=n.Prev;r.Prev=o,o.Next=r,n.Prev=s,s.Next=n,e.Pts=r;var a=i.CreateOutRec();a.Pts=n,i.UpdateOutPtIdxs(a),i.Poly2ContainsPoly1(a.Pts,e.Pts)?(a.IsHole=!e.IsHole,a.FirstLeft=e,i.m_UsingPolyTree&&i.FixupFirstLefts2(a,e)):i.Poly2ContainsPoly1(e.Pts,a.Pts)?(a.IsHole=e.IsHole,e.IsHole=!a.IsHole,a.FirstLeft=e.FirstLeft,e.FirstLeft=a,i.m_UsingPolyTree&&i.FixupFirstLefts2(e,a)):(a.IsHole=e.IsHole,a.FirstLeft=e.FirstLeft,i.m_UsingPolyTree&&i.FixupFirstLefts1(e,a)),n=r}n=n.Next}r=r.Next}while(r!==e.Pts)}},c.Clipper.Area=function(i){if(!Array.isArray(i))return 0;var t=i.length;if(t<3)return 0;for(var e=0,r=0,n=t-1;r<t;++r)e+=(i[n].X+i[r].X)*(i[n].Y-i[r].Y),n=r;return-e*.5},c.Clipper.prototype.Area=function(i){var t=i;if(i===null)return 0;var e=0;do e=e+(i.Prev.Pt.X+i.Pt.X)*(i.Prev.Pt.Y-i.Pt.Y),i=i.Next;while(i!==t);return e*.5},c.Clipper.prototype.Area$1=function(i){return this.Area(i.Pts)},c.Clipper.SimplifyPolygon=function(i,t){var e=new Array,r=new c.Clipper(0);return r.StrictlySimple=!0,r.AddPath(i,c.PolyType.ptSubject,!0),r.Execute(c.ClipType.ctUnion,e,t,t),e},c.Clipper.SimplifyPolygons=function(i,t){typeof t>"u"&&(t=c.PolyFillType.pftEvenOdd);var e=new Array,r=new c.Clipper(0);return r.StrictlySimple=!0,r.AddPaths(i,c.PolyType.ptSubject,!0),r.Execute(c.ClipType.ctUnion,e,t,t),e},c.Clipper.DistanceSqrd=function(i,t){var e=i.X-t.X,r=i.Y-t.Y;return e*e+r*r},c.Clipper.DistanceFromLineSqrd=function(i,t,e){var r=t.Y-e.Y,n=e.X-t.X,s=r*t.X+n*t.Y;return s=r*i.X+n*i.Y-s,s*s/(r*r+n*n)},c.Clipper.SlopesNearCollinear=function(i,t,e,r){return Math.abs(i.X-t.X)>Math.abs(i.Y-t.Y)?i.X>t.X==i.X<e.X?c.Clipper.DistanceFromLineSqrd(i,t,e)<r:t.X>i.X==t.X<e.X?c.Clipper.DistanceFromLineSqrd(t,i,e)<r:c.Clipper.DistanceFromLineSqrd(e,i,t)<r:i.Y>t.Y==i.Y<e.Y?c.Clipper.DistanceFromLineSqrd(i,t,e)<r:t.Y>i.Y==t.Y<e.Y?c.Clipper.DistanceFromLineSqrd(t,i,e)<r:c.Clipper.DistanceFromLineSqrd(e,i,t)<r},c.Clipper.PointsAreClose=function(i,t,e){var r=i.X-t.X,n=i.Y-t.Y;return r*r+n*n<=e},c.Clipper.ExcludeOp=function(i){var t=i.Prev;return t.Next=i.Next,i.Next.Prev=t,t.Idx=0,t},c.Clipper.CleanPolygon=function(i,t){typeof t>"u"&&(t=1.415);var e=i.length;if(e===0)return new Array;for(var r=new Array(e),n=0;n<e;++n)r[n]=new c.OutPt;for(var n=0;n<e;++n)r[n].Pt=i[n],r[n].Next=r[(n+1)%e],r[n].Next.Prev=r[n],r[n].Idx=0;for(var s=t*t,o=r[0];o.Idx===0&&o.Next!==o.Prev;)c.Clipper.PointsAreClose(o.Pt,o.Prev.Pt,s)?(o=c.Clipper.ExcludeOp(o),e--):c.Clipper.PointsAreClose(o.Prev.Pt,o.Next.Pt,s)?(c.Clipper.ExcludeOp(o.Next),o=c.Clipper.ExcludeOp(o),e-=2):c.Clipper.SlopesNearCollinear(o.Prev.Pt,o.Pt,o.Next.Pt,s)?(o=c.Clipper.ExcludeOp(o),e--):(o.Idx=1,o=o.Next);e<3&&(e=0);for(var a=new Array(e),n=0;n<e;++n)a[n]=new c.FPoint1(o.Pt),o=o.Next;return r=null,a},c.Clipper.CleanPolygons=function(i,t){for(var e=new Array(i.length),r=0,n=i.length;r<n;r++)e[r]=c.Clipper.CleanPolygon(i[r],t);return e},c.Clipper.Minkowski=function(i,t,e,r){var n=r?1:0,s=i.length,o=t.length,a=new Array;if(e)for(var h=0;h<o;h++){for(var l=new Array(s),u=0,f=i.length,p=i[u];u<f;u++,p=i[u])l[u]=new c.FPoint2(t[h].X+p.X,t[h].Y+p.Y);a.push(l)}else for(var h=0;h<o;h++){for(var l=new Array(s),u=0,f=i.length,p=i[u];u<f;u++,p=i[u])l[u]=new c.FPoint2(t[h].X-p.X,t[h].Y-p.Y);a.push(l)}for(var d=new Array,h=0;h<o-1+n;h++)for(var u=0;u<s;u++){var v=new Array;v.push(a[h%o][u%s]),v.push(a[(h+1)%o][u%s]),v.push(a[(h+1)%o][(u+1)%s]),v.push(a[h%o][(u+1)%s]),c.Clipper.Orientation(v)||v.reverse(),d.push(v)}return d},c.Clipper.MinkowskiSum=function(i,t,e){if(t[0]instanceof Array){for(var n=t,o=new c.Paths,s=new c.Clipper,a=0;a<n.length;++a){var h=c.Clipper.Minkowski(i,n[a],!0,e);if(s.AddPaths(h,c.PolyType.ptSubject,!0),e){var r=c.Clipper.TranslatePath(n[a],i[0]);s.AddPath(r,c.PolyType.ptClip,!0)}}return s.Execute(c.ClipType.ctUnion,o,c.PolyFillType.pftNonZero,c.PolyFillType.pftNonZero),o}else{var r=t,n=c.Clipper.Minkowski(i,r,!0,e),s=new c.Clipper;return s.AddPaths(n,c.PolyType.ptSubject,!0),s.Execute(c.ClipType.ctUnion,n,c.PolyFillType.pftNonZero,c.PolyFillType.pftNonZero),n}},c.Clipper.TranslatePath=function(i,t){for(var e=new c.Path,r=0;r<i.length;r++)e.push(new c.FPoint2(i[r].X+t.X,i[r].Y+t.Y));return e},c.Clipper.MinkowskiDiff=function(i,t){var e=c.Clipper.Minkowski(i,t,!1,!0),r=new c.Clipper;return r.AddPaths(e,c.PolyType.ptSubject,!0),r.Execute(c.ClipType.ctUnion,e,c.PolyFillType.pftNonZero,c.PolyFillType.pftNonZero),e},c.Clipper.PolyTreeToPaths=function(i){var t=new Array;return c.Clipper.AddPolyNodeToPaths(i,c.Clipper.NodeType.ntAny,t),t},c.Clipper.AddPolyNodeToPaths=function(i,t,e){var r=!0;switch(t){case c.Clipper.NodeType.ntOpen:return;case c.Clipper.NodeType.ntClosed:r=!i.IsOpen;break}i.m_polygon.length>0&&r&&e.push(i.m_polygon);for(var n=0,s=i.Childs(),o=s.length,a=s[n];n<o;n++,a=s[n])c.Clipper.AddPolyNodeToPaths(a,t,e)},c.Clipper.OpenPathsFromPolyTree=function(i){for(var t=new c.Paths,e=0,r=i.ChildCount();e<r;e++)i.Childs()[e].IsOpen&&t.push(i.Childs()[e].m_polygon);return t},c.Clipper.ClosedPathsFromPolyTree=function(i){var t=new c.Paths;return c.Clipper.AddPolyNodeToPaths(i,c.Clipper.NodeType.ntClosed,t),t},Hs(c.Clipper,c.ClipperBase),c.Clipper.NodeType={ntAny:0,ntOpen:1,ntClosed:2},c.ClipperOffset=function(i,t){typeof i>"u"&&(i=2),typeof t>"u"&&(t=c.ClipperOffset.def_arc_tolerance),this.m_destPolys=new c.Paths,this.m_srcPoly=new c.Path,this.m_destPoly=new c.Path,this.m_normals=new Array,this.m_delta=0,this.m_sinA=0,this.m_sin=0,this.m_cos=0,this.m_miterLim=0,this.m_StepsPerRad=0,this.m_lowest=new c.FPoint0,this.m_polyNodes=new c.PolyNode,this.MiterLimit=i,this.ArcTolerance=t,this.m_lowest.X=-1},c.ClipperOffset.two_pi=6.28318530717959,c.ClipperOffset.def_arc_tolerance=.25,c.ClipperOffset.prototype.Clear=function(){c.Clear(this.m_polyNodes.Childs()),this.m_lowest.X=-1},c.ClipperOffset.prototype.AddPath=function(i,t,e){var r=i.length-1;if(!(r<0)){var n=new c.PolyNode;if(n.m_jointype=t,n.m_endtype=e,e===c.EndType.etClosedLine||e===c.EndType.etClosedPolygon)for(;r>0&&c.FPoint.op_Equality(i[0],i[r]);)r--;n.m_polygon.push(i[0]);for(var s=0,o=0,a=1;a<=r;a++)c.FPoint.op_Inequality(n.m_polygon[s],i[a])&&(s++,n.m_polygon.push(i[a]),(i[a].Y>n.m_polygon[o].Y||i[a].Y===n.m_polygon[o].Y&&i[a].X<n.m_polygon[o].X)&&(o=s));if(!(e===c.EndType.etClosedPolygon&&s<2)&&(this.m_polyNodes.AddChild(n),e===c.EndType.etClosedPolygon))if(this.m_lowest.X<0)this.m_lowest=new c.FPoint2(this.m_polyNodes.ChildCount()-1,o);else{var h=this.m_polyNodes.Childs()[this.m_lowest.X].m_polygon[this.m_lowest.Y];(n.m_polygon[o].Y>h.Y||n.m_polygon[o].Y===h.Y&&n.m_polygon[o].X<h.X)&&(this.m_lowest=new c.FPoint2(this.m_polyNodes.ChildCount()-1,o))}}},c.ClipperOffset.prototype.AddPaths=function(i,t,e){for(var r=this,n=0,s=i.length;n<s;n++)r.AddPath(i[n],t,e)},c.ClipperOffset.prototype.FixOrientations=function(){var i=this;if(this.m_lowest.X>=0&&!c.Clipper.Orientation(this.m_polyNodes.Childs()[this.m_lowest.X].m_polygon))for(var t=0;t<this.m_polyNodes.ChildCount();t++){var e=i.m_polyNodes.Childs()[t];(e.m_endtype===c.EndType.etClosedPolygon||e.m_endtype===c.EndType.etClosedLine&&c.Clipper.Orientation(e.m_polygon))&&e.m_polygon.reverse()}else for(var t=0;t<this.m_polyNodes.ChildCount();t++){var e=i.m_polyNodes.Childs()[t];e.m_endtype===c.EndType.etClosedLine&&!c.Clipper.Orientation(e.m_polygon)&&e.m_polygon.reverse()}},c.ClipperOffset.GetUnitNormal=function(i,t){var e=t.X-i.X,r=t.Y-i.Y;if(e===0&&r===0)return new c.FPoint2(0,0);var n=1/Math.sqrt(e*e+r*r);return e*=n,r*=n,new c.FPoint2(r,-e)},c.ClipperOffset.prototype.DoOffset=function(i){var t=this;if(this.m_destPolys=new Array,this.m_delta=i,c.ClipperBase.near_zero(i)){for(var e=0;e<this.m_polyNodes.ChildCount();e++){var r=t.m_polyNodes.Childs()[e];r.m_endtype===c.EndType.etClosedPolygon&&t.m_destPolys.push(r.m_polygon)}return}this.MiterLimit>2?this.m_miterLim=2/(this.MiterLimit*this.MiterLimit):this.m_miterLim=.5;var n;this.ArcTolerance<=0?n=c.ClipperOffset.def_arc_tolerance:this.ArcTolerance>Math.abs(i)*c.ClipperOffset.def_arc_tolerance?n=Math.abs(i)*c.ClipperOffset.def_arc_tolerance:n=this.ArcTolerance;var s=3.14159265358979/Math.acos(1-n/Math.abs(i));this.m_sin=Math.sin(c.ClipperOffset.two_pi/s),this.m_cos=Math.cos(c.ClipperOffset.two_pi/s),this.m_StepsPerRad=s/c.ClipperOffset.two_pi,i<0&&(this.m_sin=-this.m_sin);for(var e=0;e<this.m_polyNodes.ChildCount();e++){var r=t.m_polyNodes.Childs()[e];t.m_srcPoly=r.m_polygon;var o=t.m_srcPoly.length;if(!(o===0||i<=0&&(o<3||r.m_endtype!==c.EndType.etClosedPolygon))){if(t.m_destPoly=new Array,o===1){if(r.m_jointype===c.JoinType.jtRound)for(var a=1,h=0,l=1;l<=s;l++){t.m_destPoly.push(new c.FPoint2(t.m_srcPoly[0].X+a*i,t.m_srcPoly[0].Y+h*i));var u=a;a=a*t.m_cos-t.m_sin*h,h=u*t.m_sin+h*t.m_cos}else for(var a=-1,h=-1,l=0;l<4;++l)t.m_destPoly.push(new c.FPoint2(t.m_srcPoly[0].X+a*i,t.m_srcPoly[0].Y+h*i)),a<0?a=1:h<0?h=1:a=-1;t.m_destPolys.push(t.m_destPoly);continue}t.m_normals.length=0;for(var l=0;l<o-1;l++)t.m_normals.push(c.ClipperOffset.GetUnitNormal(t.m_srcPoly[l],t.m_srcPoly[l+1]));if(r.m_endtype===c.EndType.etClosedLine||r.m_endtype===c.EndType.etClosedPolygon?t.m_normals.push(c.ClipperOffset.GetUnitNormal(t.m_srcPoly[o-1],t.m_srcPoly[0])):t.m_normals.push(new c.FPoint1(t.m_normals[o-2])),r.m_endtype===c.EndType.etClosedPolygon){for(var f=o-1,l=0;l<o;l++)f=t.OffsetPoint(l,f,r.m_jointype);t.m_destPolys.push(t.m_destPoly)}else if(r.m_endtype===c.EndType.etClosedLine){for(var f=o-1,l=0;l<o;l++)f=t.OffsetPoint(l,f,r.m_jointype);t.m_destPolys.push(t.m_destPoly),t.m_destPoly=new Array;for(var p=t.m_normals[o-1],l=o-1;l>0;l--)t.m_normals[l]=new c.FPoint2(-t.m_normals[l-1].X,-t.m_normals[l-1].Y);t.m_normals[0]=new c.FPoint2(-p.X,-p.Y),f=0;for(var l=o-1;l>=0;l--)f=t.OffsetPoint(l,f,r.m_jointype);t.m_destPolys.push(t.m_destPoly)}else{for(var f=0,l=1;l<o-1;++l)f=t.OffsetPoint(l,f,r.m_jointype);var d;if(r.m_endtype===c.EndType.etOpenButt){var l=o-1;d=new c.FPoint2(t.m_srcPoly[l].X+t.m_normals[l].X*i,t.m_srcPoly[l].Y+t.m_normals[l].Y*i),t.m_destPoly.push(d),d=new c.FPoint2(t.m_srcPoly[l].X-t.m_normals[l].X*i,t.m_srcPoly[l].Y-t.m_normals[l].Y*i),t.m_destPoly.push(d)}else{var l=o-1;f=o-2,t.m_sinA=0,t.m_normals[l]=new c.FPoint2(-t.m_normals[l].X,-t.m_normals[l].Y),r.m_endtype===c.EndType.etOpenSquare?t.DoSquare(l,f):t.DoRound(l,f)}for(var l=o-1;l>0;l--)t.m_normals[l]=new c.FPoint2(-t.m_normals[l-1].X,-t.m_normals[l-1].Y);t.m_normals[0]=new c.FPoint2(-t.m_normals[1].X,-t.m_normals[1].Y),f=o-1;for(var l=f-1;l>0;--l)f=t.OffsetPoint(l,f,r.m_jointype);r.m_endtype===c.EndType.etOpenButt?(d=new c.FPoint2(t.m_srcPoly[0].X-t.m_normals[0].X*i,t.m_srcPoly[0].Y-t.m_normals[0].Y*i),t.m_destPoly.push(d),d=new c.FPoint2(t.m_srcPoly[0].X+t.m_normals[0].X*i,t.m_srcPoly[0].Y+t.m_normals[0].Y*i),t.m_destPoly.push(d)):(f=1,t.m_sinA=0,r.m_endtype===c.EndType.etOpenSquare?t.DoSquare(0,1):t.DoRound(0,1)),t.m_destPolys.push(t.m_destPoly)}}}},c.ClipperOffset.prototype.Execute=function(){var i=arguments,t=i[0]instanceof c.PolyTree;if(t){var e=i[0],r=i[1];e.Clear(),this.FixOrientations(),this.DoOffset(r);var n=new c.Clipper(0);if(n.AddPaths(this.m_destPolys,c.PolyType.ptSubject,!0),r>0)n.Execute(c.ClipType.ctUnion,e,c.PolyFillType.pftPositive,c.PolyFillType.pftPositive);else{var s=c.Clipper.GetBounds(this.m_destPolys),o=new c.Path;if(o.push(new c.FPoint2(s.left-10,s.bottom+10)),o.push(new c.FPoint2(s.right+10,s.bottom+10)),o.push(new c.FPoint2(s.right+10,s.top-10)),o.push(new c.FPoint2(s.left-10,s.top-10)),n.AddPath(o,c.PolyType.ptSubject,!0),n.ReverseSolution=!0,n.Execute(c.ClipType.ctUnion,e,c.PolyFillType.pftNegative,c.PolyFillType.pftNegative),e.ChildCount()===1&&e.Childs()[0].ChildCount()>0){var a=e.Childs()[0];e.Childs()[0]=a.Childs()[0],e.Childs()[0].m_Parent=e;for(var h=1;h<a.ChildCount();h++)e.AddChild(a.Childs()[h])}else e.Clear()}}else{var e=i[0],r=i[1];c.Clear(e),this.FixOrientations(),this.DoOffset(r);var n=new c.Clipper(0);if(n.AddPaths(this.m_destPolys,c.PolyType.ptSubject,!0),r>0)n.Execute(c.ClipType.ctUnion,e,c.PolyFillType.pftPositive,c.PolyFillType.pftPositive);else{var s=c.Clipper.GetBounds(this.m_destPolys),o=new c.Path;o.push(new c.FPoint2(s.left-10,s.bottom+10)),o.push(new c.FPoint2(s.right+10,s.bottom+10)),o.push(new c.FPoint2(s.right+10,s.top-10)),o.push(new c.FPoint2(s.left-10,s.top-10)),n.AddPath(o,c.PolyType.ptSubject,!0),n.ReverseSolution=!0,n.Execute(c.ClipType.ctUnion,e,c.PolyFillType.pftNegative,c.PolyFillType.pftNegative),e.length>0&&e.splice(0,1)}}},c.ClipperOffset.prototype.OffsetPoint=function(i,t,e){if(this.m_sinA=this.m_normals[t].X*this.m_normals[i].Y-this.m_normals[i].X*this.m_normals[t].Y,this.m_sinA===0)return t;if(this.m_sinA>1?this.m_sinA=1:this.m_sinA<-1&&(this.m_sinA=-1),this.m_sinA*this.m_delta<0)this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[i].X+this.m_normals[t].X*this.m_delta,this.m_srcPoly[i].Y+this.m_normals[t].Y*this.m_delta)),this.m_destPoly.push(new c.FPoint1(this.m_srcPoly[i])),this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[i].X+this.m_normals[i].X*this.m_delta,this.m_srcPoly[i].Y+this.m_normals[i].Y*this.m_delta));else switch(e){case c.JoinType.jtMiter:var r=1+(this.m_normals[i].X*this.m_normals[t].X+this.m_normals[i].Y*this.m_normals[t].Y);r>=this.m_miterLim?this.DoMiter(i,t,r):this.DoSquare(i,t);break;case c.JoinType.jtSquare:this.DoSquare(i,t);break;case c.JoinType.jtRound:this.DoRound(i,t);break}return t=i,t},c.ClipperOffset.prototype.DoSquare=function(i,t){var e=Math.tan(Math.atan2(this.m_sinA,this.m_normals[t].X*this.m_normals[i].X+this.m_normals[t].Y*this.m_normals[i].Y)/4);this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[i].X+this.m_delta*(this.m_normals[t].X-this.m_normals[t].Y*e),this.m_srcPoly[i].Y+this.m_delta*(this.m_normals[t].Y+this.m_normals[t].X*e))),this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[i].X+this.m_delta*(this.m_normals[i].X+this.m_normals[i].Y*e),this.m_srcPoly[i].Y+this.m_delta*(this.m_normals[i].Y-this.m_normals[i].X*e)))},c.ClipperOffset.prototype.DoMiter=function(i,t,e){var r=this.m_delta/e;this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[i].X+(this.m_normals[t].X+this.m_normals[i].X)*r,this.m_srcPoly[i].Y+(this.m_normals[t].Y+this.m_normals[i].Y)*r))},c.ClipperOffset.prototype.DoRound=function(i,t){for(var e=this,r=Math.atan2(this.m_sinA,this.m_normals[t].X*this.m_normals[i].X+this.m_normals[t].Y*this.m_normals[i].Y),n=Math.max(Math.round(this.m_StepsPerRad*Math.abs(r)),1),s=this.m_normals[t].X,o=this.m_normals[t].Y,a,h=0;h<n;++h)e.m_destPoly.push(new c.FPoint2(e.m_srcPoly[i].X+s*e.m_delta,e.m_srcPoly[i].Y+o*e.m_delta)),a=s,s=s*e.m_cos-e.m_sin*o,o=a*e.m_sin+o*e.m_cos;this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[i].X+this.m_normals[i].X*this.m_delta,this.m_srcPoly[i].Y+this.m_normals[i].Y*this.m_delta))},c.Error=function(i){try{throw new Error(i)}catch(t){alert(t.message)}},c.JS={},c.JS.AreaOfPolygon=function(i){return c.Clipper.Area(i)},c.JS.AreaOfPolygons=function(i){for(var t=0,e=0;e<i.length;e++)t+=c.Clipper.Area(i[e]);return t},c.JS.BoundsOfPath=function(i){return c.JS.BoundsOfPaths([i])},c.JS.BoundsOfPaths=function(i){var t=c.Clipper.GetBounds(i);return t},c.JS.Clean=function(r,t){if(!(r instanceof Array))return[];var e=r[0]instanceof Array,r=c.JS.Clone(r);if(typeof t!="number"||t===null)return c.Error("Delta is not a number in Clean()."),r;if(r.length===0||r.length===1&&r[0].length===0||t<0)return r;e||(r=[r]);for(var n=r.length,s,o,a,h,l,u,f,p=[],d=0;d<n;d++)if(o=r[d],s=o.length,s!==0){if(s<3){a=o,p.push(a);continue}for(a=o,h=t*t,l=o[0],u=1,f=1;f<s;f++)(o[f].X-l.X)*(o[f].X-l.X)+(o[f].Y-l.Y)*(o[f].Y-l.Y)<=h||(a[u]=o[f],l=o[f],u++);l=o[u-1],(o[0].X-l.X)*(o[0].X-l.X)+(o[0].Y-l.Y)*(o[0].Y-l.Y)<=h&&u--,u<s&&a.splice(u,s-u),a.length&&p.push(a)}return!e&&p.length?p=p[0]:!e&&p.length===0?p=[]:e&&p.length===0&&(p=[[]]),p},c.JS.Clone=function(i){if(!(i instanceof Array))return[];if(i.length===0)return[];if(i.length===1&&i[0].length===0)return[[]];var t=i[0]instanceof Array;t||(i=[i]);var e=i.length,r,n,s,o,a=new Array(e);for(n=0;n<e;n++){for(r=i[n].length,o=new Array(r),s=0;s<r;s++)o[s]={X:i[n][s].X,Y:i[n][s].Y};a[n]=o}return t||(a=a[0]),a},c.JS.Lighten=function(i,t){if(!(i instanceof Array))return[];if(typeof t!="number"||t===null)return c.Error("Tolerance is not a number in Lighten()."),c.JS.Clone(i);if(i.length===0||i.length===1&&i[0].length===0||t<0)return c.JS.Clone(i);var e=i[0]instanceof Array;e||(i=[i]);var r,n,s,o,a,h,l,u,f,p,d,v,m,y,g,w,_,b=i.length,x=t*t,P=[];for(r=0;r<b;r++)if(s=i[r],h=s.length,h!==0){for(o=0;o<1e6;o++){for(a=[],h=s.length,s[h-1].X!==s[0].X||s[h-1].Y!==s[0].Y?(v=1,s.push({X:s[0].X,Y:s[0].Y}),h=s.length):v=0,d=[],n=0;n<h-2;n++)l=s[n],f=s[n+1],u=s[n+2],w=l.X,_=l.Y,m=u.X-w,y=u.Y-_,(m!==0||y!==0)&&(g=((f.X-w)*m+(f.Y-_)*y)/(m*m+y*y),g>1?(w=u.X,_=u.Y):g>0&&(w+=m*g,_+=y*g)),m=f.X-w,y=f.Y-_,p=m*m+y*y,p<=x&&(d[n+1]=1,n++);for(a.push({X:s[0].X,Y:s[0].Y}),n=1;n<h-1;n++)d[n]||a.push({X:s[n].X,Y:s[n].Y});if(a.push({X:s[h-1].X,Y:s[h-1].Y}),v&&s.pop(),d.length)s=a;else break}h=a.length,a[h-1].X===a[0].X&&a[h-1].Y===a[0].Y&&a.pop(),a.length>2&&P.push(a)}return e||(P=P[0]),typeof P>"u"&&(P=[]),P},c.JS.PerimeterOfPath=function(i,t){if(typeof i>"u")return 0;var e=Math.sqrt,r=0,n,s,o=0,a=0,h=0,l=0,u=i.length;if(u<2)return 0;for(t&&(i[u]=i[0],u++);--u;)n=i[u],o=n.X,a=n.Y,s=i[u-1],h=s.X,l=s.Y,r+=e((o-h)*(o-h)+(a-l)*(a-l));return t&&i.pop(),r},c.JS.PerimeterOfPaths=function(i,t){for(var e=0,r=0;r<i.length;r++)e+=c.JS.PerimeterOfPath(i[r],t);return e},c.ExPolygons=function(){return[]},c.ExPolygon=function(){this.outer=null,this.holes=null},c.JS.AddOuterPolyNodeToExPolygons=function(i,t){var e=new c.ExPolygon;e.outer=i.Contour();var r=i.Childs(),n=r.length;e.holes=new Array(n);var s,o,a,h,l,u;for(a=0;a<n;a++)for(s=r[a],e.holes[a]=s.Contour(),h=0,l=s.Childs(),u=l.length;h<u;h++)o=l[h],c.JS.AddOuterPolyNodeToExPolygons(o,t);t.push(e)},c.JS.ExPolygonsToPaths=function(i){var t,e,r,n,s=new c.Paths;for(t=0,r=i.length;t<r;t++)for(s.push(i[t].outer),e=0,n=i[t].holes.length;e<n;e++)s.push(i[t].holes[e]);return s},c.JS.PolyTreeToExPolygons=function(i){var t=new c.ExPolygons,e,r,n,s;for(r=0,n=i.Childs(),s=n.length;r<s;r++)e=n[r],c.JS.AddOuterPolyNodeToExPolygons(e,t);return t};var yc=c,k=Ie(yc),Xr={exports:{}};class mc{constructor(t=[],e=gc){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const s=t-1>>1,o=e[s];if(r(n,o)>=0)break;e[t]=o,t=s}e[t]=n}_down(t){const{data:e,compare:r}=this,n=this.length>>1,s=e[t];for(;t<n;){let o=(t<<1)+1,a=e[o];const h=o+1;if(h<this.length&&r(e[h],a)<0&&(o=h,a=e[h]),r(a,s)>=0)break;e[t]=a,t=o}e[t]=s}}function gc(i,t){return i<t?-1:i>t?1:0}var _c=Object.freeze({__proto__:null,default:mc}),xc=bh(_c),Ri=xc;Ri.default&&(Ri=Ri.default),Xr.exports=Ws,Xr.exports.default=Ws;function Ws(i,t,e){t=t||1;for(var r,n,s,o,a=0;a<i[0].length;a++){var h=i[0][a];(!a||h[0]<r)&&(r=h[0]),(!a||h[1]<n)&&(n=h[1]),(!a||h[0]>s)&&(s=h[0]),(!a||h[1]>o)&&(o=h[1])}var l=s-r,u=o-n,f=Math.min(l,u),p=f/2;if(f===0){var d=[r,n];return d.distance=0,d}for(var v=new Ri(void 0,wc),m=r;m<s;m+=f)for(var y=n;y<o;y+=f)v.push(new Jt(m+p,y+p,p,i));var g=bc(i),w=new Jt(r+l/2,n+u/2,0,i);w.d>g.d&&(g=w);for(var _=v.length;v.length;){var b=v.pop();b.d>g.d&&(g=b,e&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,_)),!(b.max-g.d<=t)&&(p=b.h/2,v.push(new Jt(b.x-p,b.y-p,p,i)),v.push(new Jt(b.x+p,b.y-p,p,i)),v.push(new Jt(b.x-p,b.y+p,p,i)),v.push(new Jt(b.x+p,b.y+p,p,i)),_+=4)}e&&(console.log("num probes: "+_),console.log("best distance: "+g.d));var x=[g.x,g.y];return x.distance=g.d,x}function wc(i,t){return t.max-i.max}function Jt(i,t,e,r){this.x=i,this.y=t,this.h=e,this.d=Pc(i,t,r),this.max=this.d+this.h*Math.SQRT2}function Pc(i,t,e){for(var r=!1,n=1/0,s=0;s<e.length;s++)for(var o=e[s],a=0,h=o.length,l=h-1;a<h;l=a++){var u=o[a],f=o[l];u[1]>t!=f[1]>t&&i<(f[0]-u[0])*(t-u[1])/(f[1]-u[1])+u[0]&&(r=!r),n=Math.min(n,Tc(i,t,u,f))}return n===0?0:(r?1:-1)*Math.sqrt(n)}function bc(i){for(var t=0,e=0,r=0,n=i[0],s=0,o=n.length,a=o-1;s<o;a=s++){var h=n[s],l=n[a],u=h[0]*l[1]-l[0]*h[1];e+=(h[0]+l[0])*u,r+=(h[1]+l[1])*u,t+=u*3}return t===0?new Jt(n[0][0],n[0][1],0,i):new Jt(e/t,r/t,0,i)}function Tc(i,t,e,r){var n=e[0],s=e[1],o=r[0]-n,a=r[1]-s;if(o!==0||a!==0){var h=((i-n)*o+(t-s)*a)/(o*o+a*a);h>1?(n=r[0],s=r[1]):h>0&&(n+=o*h,s+=a*h)}return o=i-n,a=t-s,o*o+a*a}var Cc=Xr.exports,Ic=Ie(Cc),Ke=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var i=0,t=arguments.length;t--;)i+=arguments[t]*arguments[t];return Math.sqrt(i)});function zs(){var i=new Ke(6);return Ke!=Float32Array&&(i[1]=0,i[2]=0,i[4]=0,i[5]=0),i[0]=1,i[3]=1,i}function Ec(i,t,e){var r=t[0],n=t[1],s=t[2],o=t[3],a=t[4],h=t[5],l=Math.sin(e),u=Math.cos(e);return i[0]=r*u+s*l,i[1]=n*u+o*l,i[2]=r*-l+s*u,i[3]=n*-l+o*u,i[4]=a,i[5]=h,i}function Sc(i,t,e){var r=t[0],n=t[1],s=t[2],o=t[3],a=t[4],h=t[5],l=e[0],u=e[1];return i[0]=r,i[1]=n,i[2]=s,i[3]=o,i[4]=r*l+s*u+a,i[5]=n*l+o*u+h,i}function Ac(i,t){var e=Math.sin(t),r=Math.cos(t);return i[0]=r,i[1]=e,i[2]=-e,i[3]=r,i[4]=0,i[5]=0,i}function Oc(i,t){return i[0]=1,i[1]=0,i[2]=0,i[3]=1,i[4]=t[0],i[5]=t[1],i}function Di(){var i=new Ke(2);return Ke!=Float32Array&&(i[0]=0,i[1]=0),i}function Bi(i,t){var e=new Ke(2);return e[0]=i,e[1]=t,e}function Lc(i,t){return i[0]=-t[0],i[1]=-t[1],i}function $s(i,t,e){var r=t[0],n=t[1];return i[0]=e[0]*r+e[2]*n+e[4],i[1]=e[1]*r+e[3]*n+e[5],i}(function(){var i=Di();return function(t,e,r,n,s,o){var a,h;for(e||(e=2),r||(r=0),n?h=Math.min(n*e+r,t.length):h=t.length,a=r;a<h;a+=e)i[0]=t[a],i[1]=t[a+1],s(i,i,o),t[a]=i[0],t[a+1]=i[1];return t}})();var Vs={exports:{}};function Gr(){}Gr.prototype={on:function(i,t,e){var r=this.e||(this.e={});return(r[i]||(r[i]=[])).push({fn:t,ctx:e}),this},once:function(i,t,e){var r=this;function n(){r.off(i,n),t.apply(e,arguments)}return n._=t,this.on(i,n,e)},emit:function(i){var t=[].slice.call(arguments,1),e=((this.e||(this.e={}))[i]||[]).slice(),r=0,n=e.length;for(r;r<n;r++)e[r].fn.apply(e[r].ctx,t);return this},off:function(i,t){var e=this.e||(this.e={}),r=e[i],n=[];if(r&&t)for(var s=0,o=r.length;s<o;s++)r[s].fn!==t&&r[s].fn._!==t&&n.push(r[s]);return n.length?e[i]=n:delete e[i],this}},Vs.exports=Gr;var Yr=Vs.exports.TinyEmitter=Gr,js={exports:{}};(function(i,t){var e=function(){var r={},n=Math.PI/180,s=180/Math.PI,o=6378137,a=20037508342789244e-9;function h(u){return Number(u)===u&&u%1!==0}function l(u){if(u=u||{},this.size=u.size||256,this.expansion=u.antimeridian===!0?2:1,!r[this.size]){var f=this.size,p=r[this.size]={};p.Bc=[],p.Cc=[],p.zc=[],p.Ac=[];for(var d=0;d<30;d++)p.Bc.push(f/360),p.Cc.push(f/(2*Math.PI)),p.zc.push(f/2),p.Ac.push(f),f*=2}this.Bc=r[this.size].Bc,this.Cc=r[this.size].Cc,this.zc=r[this.size].zc,this.Ac=r[this.size].Ac}return l.prototype.px=function(u,f){if(h(f)){var p=this.size*Math.pow(2,f),d=p/2,v=p/360,m=p/(2*Math.PI),y=p,g=Math.min(Math.max(Math.sin(n*u[1]),-.9999),.9999),w=d+u[0]*v,_=d+.5*Math.log((1+g)/(1-g))*-m;return w>y*this.expansion&&(w=y*this.expansion),_>y&&(_=y),[w,_]}else{var d=this.zc[f],g=Math.min(Math.max(Math.sin(n*u[1]),-.9999),.9999),w=Math.round(d+u[0]*this.Bc[f]),_=Math.round(d+.5*Math.log((1+g)/(1-g))*-this.Cc[f]);return w>this.Ac[f]*this.expansion&&(w=this.Ac[f]*this.expansion),_>this.Ac[f]&&(_=this.Ac[f]),[w,_]}},l.prototype.ll=function(u,f){if(h(f)){var p=this.size*Math.pow(2,f),d=p/360,v=p/(2*Math.PI),m=p/2,y=(u[1]-m)/-v,g=(u[0]-m)/d,w=s*(2*Math.atan(Math.exp(y))-.5*Math.PI);return[g,w]}else{var y=(u[1]-this.zc[f])/-this.Cc[f],g=(u[0]-this.zc[f])/this.Bc[f],w=s*(2*Math.atan(Math.exp(y))-.5*Math.PI);return[g,w]}},l.prototype.bbox=function(u,f,p,d,v){d&&(f=Math.pow(2,p)-1-f);var m=[u*this.size,(+f+1)*this.size],y=[(+u+1)*this.size,f*this.size],g=this.ll(m,p).concat(this.ll(y,p));return v==="900913"?this.convert(g,"900913"):g},l.prototype.xyz=function(u,f,p,d){d==="900913"&&(u=this.convert(u,"WGS84"));var v=[u[0],u[1]],m=[u[2],u[3]],y=this.px(v,f),g=this.px(m,f),w=[Math.floor(y[0]/this.size),Math.floor((g[0]-1)/this.size)],_=[Math.floor(g[1]/this.size),Math.floor((y[1]-1)/this.size)],b={minX:Math.min.apply(Math,w)<0?0:Math.min.apply(Math,w),minY:Math.min.apply(Math,_)<0?0:Math.min.apply(Math,_),maxX:Math.max.apply(Math,w),maxY:Math.max.apply(Math,_)};if(p){var x={minY:Math.pow(2,f)-1-b.maxY,maxY:Math.pow(2,f)-1-b.minY};b.minY=x.minY,b.maxY=x.maxY}return b},l.prototype.convert=function(u,f){return f==="900913"?this.forward(u.slice(0,2)).concat(this.forward(u.slice(2,4))):this.inverse(u.slice(0,2)).concat(this.inverse(u.slice(2,4)))},l.prototype.forward=function(u){var f=[o*u[0]*n,o*Math.log(Math.tan(Math.PI*.25+.5*u[1]*n))];return f[0]>a&&(f[0]=a),f[0]<-a&&(f[0]=-a),f[1]>a&&(f[1]=a),f[1]<-a&&(f[1]=-a),f},l.prototype.inverse=function(u){return[u[0]*s/o,(Math.PI*.5-2*Math.atan(Math.exp(-u[1]/o)))*s]},l}();i.exports=e})(js);var Mc=js.exports,Nc=Ie(Mc);function qs(i,t){t||(t={x:0,z:0});const e=Rc(t,i);return Math.sqrt(e.x*e.x+e.z*e.z)}function Zs(i){const t=qs(i);return{x:i.x/t,z:i.z/t}}function Fc(i,t){return i||(i={x:0,z:0}),Dc(Math.atan2(-t.z+i.z,t.x-i.x)*180/Math.PI,2)}function Rc(i,t){return{x:i.x-t.x,z:i.z-t.z}}function Dc(i,t=0){const e=Math.pow(10,t);return Math.round(i*e)/e}function ki(i){const t=It(i),e=k.Clipper.GetBounds(t);return{x:e.left,x2:e.right,z:e.top,z2:e.bottom,length:e.right-e.left,width:e.bottom-e.top}}function Js(i){if(Array.isArray(i)){if(!i.length||!i[0])throw new Error("Union failed, empty Array")}else throw new Error("Union failed, input not Array");const t=It(i),e=[t[0]],r=t.slice(1),n=new k.Clipper;n.AddPaths(e,k.PolyType.ptSubject,!0),n.AddPaths(r,k.PolyType.ptClip,!0);var s=new k.Paths;return n.Execute(k.ClipType.ctUnion,s,k.PolyFillType.pftNonZero,k.PolyFillType.pftNonZero),ei(s)}function Ui(i,t=.1,e,r){if(e===void 0&&(e=k.EndType.etClosedPolygon),i=r?i:Qs(i),!i.length||!i[0].length)return[];t=t&&typeof t=="number"?t:.1;const n=It(i),s=new k.ClipperOffset(2),o=new k.Paths;return s.AddPaths(n,k.JoinType.jtMiter,e),s.Execute(o,t),ei(o)}function Bc(i,t,e,r){if(Array.isArray(i)){if(!i.length||!i[0])throw new Error("Difference failed, empty Array")}else throw new Error("Difference failed, input not Array");const n=It(i),s=It(e?Ui(t,e):t),o=new k.Clipper;o.AddPaths(n,k.PolyType.ptSubject,!r),o.AddPaths(s,k.PolyType.ptClip,!0);var a=r?new k.PolyTree:new k.Paths;o.Execute(k.ClipType.ctDifference,a,k.PolyFillType.pftNonZero,k.PolyFillType.pftNonZero);var h=r?k.Clipper.PolyTreeToPaths(a):a;return ei(h)}function kc(i=[],t=[],e=!1){if(Array.isArray(i)){if(!i.length||!i[0])throw new Error("Intersection failed, empty Array")}else throw new Error("Intersection failed, input not Array");const r=It(i),n=t.length&&It(t),s=n?r:[r[0]],o=n||r.slice(1),a=new k.Clipper;a.AddPaths(s,k.PolyType.ptSubject,!e),a.AddPaths(o,k.PolyType.ptClip,!0);var h=k.PolyFillType.pftNonZero,l=k.PolyFillType.pftNonZero,u=k.ClipType.ctIntersection,f=e?new k.PolyTree:new k.Paths;a.Execute(u,f,h,l);var p=e?k.Clipper.PolyTreeToPaths(f):f;return ei(p)}function Fe(i,t,e=[]){const r=new k.FPoint(i[0],i[1]),n=It([t])[0];let s=k.Clipper.PointInPolygon(r,n);return e.forEach(o=>{let a=Fe(i,o);a===1?s=0:a===-1&&(s=-1)}),s}function le(i){let t=It([i]);return k.JS.AreaOfPolygon(t[0])}function ti(i){return Math.abs(le(i))}function Qs(i,t=.01){let e=It(i);const r=k.Clipper.CleanPolygons(e,t);return ei(r)}function Ks(i,t=.01){return Qs([i],t)[0]}function It(i=[]){let t=[];for(var e=0;e<i.length;e++){var r=i[e]||[];t[e]=[];for(var n=0;n<r.length;n++){var s=r[n];Number.isFinite(s[0])&&Number.isFinite(s[1])?t[e][n]={X:s[0],Y:s[1]}:console.warn("invalid number",s[0],s[1])}}const o=[];for(const a of t)a.length?o.push(a):console.warn("empty polygon");if(!o.length)throw new Error("empty polygon invalid input");return o}function ei(i){let t=[];for(var e=0;e<i.length;e++){var r=i[e]||[];t[e]=[];for(var n=0;n<r.length;n++){var s=r[n];t[e][n]=[s.X,s.Y]}}return t}function Uc(i){let t=[1/0,1/0],e=[-1/0,-1/0];return i.forEach(r=>{r[0]<t[0]&&(t[0]=r[0]),r[1]<t[1]&&(t[1]=r[1]),r[0]>e[0]&&(e[0]=r[0]),r[1]>e[1]&&(e[1]=r[1])}),{min:t,max:e}}function Xc(i,t=!0){let e=0;const r=t?i.length:i.length-1;for(var n=0;n<r;n++){let s={x:i[n][0],z:i[n][1]},o={x:i[n<i.length-1?n+1:0][0],z:i[n<i.length-1?n+1:0][1]};e+=qs(s,o)}return e}function Gc(i){const{min:t,max:e}=Uc(i);return[t[0]+(e[0]-t[0])/2,t[1]+(e[1]-t[1])/2]}function to(i,t=[]){return ti(i)<.1?Gc(i):Ic([i,...t],.1)}function Hr(i,t,e=!1){let r=0,n=t.x,s=t.z;if(t.controlLine&&t.w&&(r=t.controlLine==="front"?t.w:t.controlLine==="center"?t.w/2:0),r){let v=t.ry/180*Math.PI;n-=r*Math.sin(v),s-=r*Math.cos(v)}const o=i.ry||0,a=t.ry||0,h=Bi(i.x,i.z),l=Bi(n,s),u=-a*Math.PI/180;let f=zs(),p=Di();Oc(f,l),Ec(f,f,u),$s(p,h,f);const d={x:p[0],z:p[1],y:i.y+t.y||0,ry:o+a};return e?Object.assign(i,d):Object.assign({},i,d)}function Yc(i,t,e=!1){let r=0,n=t.x,s=t.z;if(t.controlLine&&t.w&&(r=t.controlLine==="front"?t.w:t.controlLine==="center"?t.w/2:0),r){let m=t.ry/180*Math.PI;n-=r*Math.sin(m),s-=r*Math.cos(m)}const o=i.ry||0,a=t.ry||0,h=Bi(i.x,i.z),l=Bi(n,s),u=a*Math.PI/180;let f=zs(),p=Di(),d=Di();Lc(d,l),Ac(f,u),Sc(f,f,d),$s(p,h,f);const v={x:p[0],z:p[1],y:i.y-t.y||0,ry:o-a};return e?Object.assign(i,v):Object.assign({},i,v)}function Hc(i){if(typeof i!="object")throw new Error("Get el data, invalid type");let{x:t,z:e,l:r,ry:n}={...i},s=i.type==="a:helper:spaceDivider";if(!s&&!Number.isFinite(i.w)||!Number.isFinite(r)||!Number.isFinite(t)||!Number.isFinite(e)){let x={type:i.type,id:i.id,x:t,z:e,l:r,ry:n,w:i.w};throw new Error(`Get el vectors, params missing ${JSON.stringify(x)}`)}let o,a,h,l,u,f,p,d,v,m,y,g,w,_,b;return o=n/180*Math.PI,a=i.barCounter?i.w+.25:i.w,s&&(a=0),u={x:a*Math.sin(o),z:a*Math.cos(o)},f=s?u:Zs(u),p={x:r*Math.cos(o),z:-r*Math.sin(o)},d=Zs(p),h=i.barCounter?t+f.x*-.25:t,l=i.barCounter?e+f.z*-.25:e,b=0,i.controlLine==="front"?b=-i.w:i.controlLine==="center"&&(b=-i.w/2),w={x:h,z:l},_={x:h+p.x,z:l+p.z},v={x:w.x+f.x*b,z:w.z+f.z*b},m={x:v.x+p.x,z:v.z+p.z},y={x:v.x+u.x,z:v.z+u.z},g={x:m.x+u.x,z:m.z+u.z},{l1:w,l2:_,p1:v,p2:m,p3:y,p4:g,w:u,l:p,nW:f,nL:d}}function Wc(i){if(i.type!=="column")return;let t=[];if(i.shape==="square"){let e=i.l/2;t=[[-e,-e],[e,-e],[e,e],[-e,e]],t=Et(i,t)}else if(i.shape==="circle"){const e=Math.PI*2/25;let r=0,n=i.l/2;for(let s=0;s<25;s++)t.push([i.x-n*Math.cos(r),i.z+n*Math.sin(r)]),r+=e}else i.shape==="polygon"&&(t=Et(i,i.polygon));return t}function Wr(i){let t,e,r;return i.type==="column"?e=Wc(i):(t=Hc(i),i.type==="a:helper:spaceDivider"?r=[t.l1,t.l2]:r=[t.p1,t.p2,t.p4,t.p3],e=r.map(n=>[n.x,n.z])),e}function Et(i,t){return t.map(e=>{let r=Hr({x:e[0],z:e[1]},i);return[r.x,r.z]})}const zr=(i,t={})=>{let e={};const r=t.keepTransient;return Object.keys(i).forEach(n=>{let s=n.slice(0,1)==="_";if(n==="_ryOrg"){e.ry=i[n];return}else{if(s&&!r||i[n]===null||i[n]===void 0)return;n!=="children"&&(e[n]=i[n])}}),i.children?e.children=i.children.map(n=>zr(n,t)):e.children=[],e};function zc(i,t){const e=[],r=i.map(ti),n=t.map(ti);for(let o=0;o<i.length;o++){let a=i[o];for(let h=0;h<t.length;h++)if(r[o]>n[h]+.1&&Fe(t[h][0],a))if(e[h]){const l=r[e[h]],u=r[o];l>u&&(e[h]=o)}else e[h]=o}const s=[];return e.forEach((o,a)=>{s[o]||(s[o]=[]),s[o].push(t[a])}),s}function $c(i){let t=i.filter(r=>le(r)>0),e=i.filter(r=>le(r)<0);return{counterClockwise:t,clockwise:e}}function Vc(i){let t=[...i];return le(t)<0?t:t.reverse()}function jc(i){let t=[...i];return le(t)>0?t:t.reverse()}function eo({uuid:i,scene:t,node:e}){if(e=e||t.nodesById[i],!e)return[];let r=e.getWorldPosition();if(!r.polygon||!r.polygon.length)throw new Error("Invalid space"+JSON.stringify(r,null,2));let n=jc(r.polygon);if(n=Ks(n),!n||!n.length)return[];let s=r.polygonHoles||[];s=s.map(h=>{let l=Vc(h);return Ks(l)}).filter(h=>h.length),s=s.filter(h=>h.length);let o=Et(r,n),a=s.map(h=>Et(r,h));return[o,...a]}function qc(i){let t=zr(i);return Pe(t)}function io(i,t="",e=!1,r,n){const s={"a:helper:spaceDivider":["plan","level","group"],wall:["plan","level","group"],interior:["plan","level","interior","group","level"],window:["plan","level","wall"],door:["plan","level","wall"],polyfloor:["plan","level"],group:["plan","level","group"]};let o=e?qc(i):i;var a=[],h;if(e&&r&&(o=Hr(o,r)),!n&&o.type===t)a.push(o);else if(n&&o.id===n)return[o];let l=0;if(o.children&&(!s[t]||s[t].includes(o.type)))for(var u=0;u<o.children.length;u++){const f=o.children[u];f.type==="level"&&l++,!(l>1)&&(h=io(f,t,e,o,n),a=a.concat(h))}return a}function ro(i,t){return io(i,t,!0)}const Xi=["a:helper:spaceDivider","a:reference:externalId","a:reference:ifcElement","a:reference:ifcFile","a:relation:wall","a:settings:display","a:settings:generatedGroup","box","camera-bookmark","closet","column","curtain","door","floor","floorplan","floorplanDxf","group","interior","kitchen","level","object","pic","plan","polybox","polyfloor","railing","stairs","tag","wall","window"],no=()=>Xi.reduce((i,t)=>({...i,[t]:[]}),{}),so=(i,t)=>{if(!t||!t.properties){console.warn(`schema is missing for type ${i}`);return}const e={};return Object.keys(t.properties).forEach(r=>{const n=t.properties[r],s=n.const||n.default;s!==void 0&&(e[r]=s)}),i==="interior"&&!e.src&&(e.src="!7dddc882-1def-4497-80e3-d1de834a1a7b"),Pe(e)};function Zc(i,t={}){const e=oo(i,{});return ho(i,null,null,e),t.exportIdMap&&(i.idMap=e),i}function oo(i,t){return i.id!==void 0&&(t[i.id]=se()),i.children.forEach(e=>oo(e,t)),t}const ao=i=>Object.prototype.toString.call(i)==="[object Object]",Jc=i=>Object.prototype.toString.call(i)==="[object Array]";function ho(i,t,e,r){typeof i=="string"?(t!==void 0&&e!==void 0&&r[i]&&(t[e]=r[i]),typeof e=="string"&&t!==void 0&&e!==void 0&&r[e]&&(t[r[e]]=i,delete t[e])):(ao(i)||Jc(i))&&(ao(i)&&i.type&&i.id===void 0&&(i.id=se()),Object.entries(i).forEach(([n,s])=>ho(s,i,n,r)))}const Qc={properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"},ry:{type:"number"},id:{type:"string"}}},Kc=(i,t,e,r)=>{let n=e;if(typeof e=="string"&&(n=Number(n),console.log(i.type+"."+t,"converted from string to number")),!Number.isFinite(n))throw new Error(`${i.type}.${t} = ${e} is invalid`);const{minimum:s,maximum:o}=r,a=Number.isFinite(s)&&n<s,h=Number.isFinite(o)&&n>o;if(a||h){let l=a?"min:"+s:"max:"+o;throw new Error(`${i.type}.${t} = ${n} is out of range ${l}`)}return n},tp=(i,t,e,r)=>{if(typeof e!="string")throw new Error(`${i.type}.${t} = '${e}' is invalid`);if(r.enum&&!r.enum.includes(e))throw new Error(`${i.type}.${t} = '${e}' is invalid`);return e},ep=(i,t,e,r)=>r.type==="number"?Kc(i,t,e,r):r.type==="string"?tp(i,t,e,r):e,lo=(i,t,e)=>{const{properties:r}=e||Qc;for(const n in t){const s=r?.[n],o=e&&!s,a=n.startsWith("_");if(o&&!a){delete t[n];continue}i[n]=ep(i,n,t[n],s||{type:void 0}),a&&!i[n]&&delete i[n]}return i};function ip({uuid:i,polygons:t,scene:e,interiors:r}){let n;t&&t.length?n=t:n=eo({uuid:i,scene:e});let s=n[0],o=n.slice(1);return s=Ui([s],.05)[0],r||(r=e.nodesByType.interior.map(a=>a.getWorldPosition())),{interiors:r.filter(a=>{if(!(!a.src||!a.x||!a.z))return Fe([a.x,a.z],s,o)})}}const rp=i=>{var t;return((t=i.src)==null?void 0:t.substring(1))||""},uo={colorDiffuse:{type:"array"},colorSpecular:{type:"array"},wireframeColor:{type:"array"},size:{type:"array"},specularCoef:{type:"number"},opacity:{type:"number"},wireframeOpacity:{type:"number"},wireframeThickness:{type:"number"},wireframeThresholdAngle:{type:"number"},lightEmissionCoef:{type:"number"},bsdfType:{type:"string"},wrap:{type:"string"},receiveRealTimeShadows:{type:"boolean"},hideAfterBaking:{type:"boolean"},castRealTimeShadows:{type:"boolean"},no2dOutline:{type:"boolean"},mapDiffuse:{type:"string"},mapDiffusePreview:{type:"string"},mapDiffuseSource:{type:"string"},mapDiffuseKey:{type:"string"},mapSpecular:{type:"string"},mapSpecularPreview:{type:"string"},mapSpecularSource:{type:"string"},mapSpecularKey:{type:"string"},mapNormal:{type:"string"},mapNormalPreview:{type:"string"},mapNormalSource:{type:"string"},mapNormalKey:{type:"string"},mapAlpha:{type:"string"},mapAlphaPreview:{type:"string"},mapAlphaSource:{type:"string"},mapAlphaKey:{type:"string"}},fo=i=>{let t=typeof i;return i===null?"null":t==="object"&&Array.isArray(i)?"array":t==="number"&&!Number.isFinite(i)?"undefined":t},np=Object.keys(uo),sp=i=>{const t=fo(i),e=t==="string",r=t==="object"&&Object.keys(i).every(n=>{var s;const o=np.includes(n),a=o&&fo(i[n])===((s=uo[n])==null?void 0:s.type);return o&&a});return e||r};function co(i,t){let e=op(i.materials,t?.colours);return e&&po(i.materials[e])}function po(i){return!i||typeof i!="string"?"":i.toLowerCase().replace(/[()+&!?;,:_)]/g,"").replace(/\s+/g,"-")}function op(i={},t=[]){let e=t?.length&&t[0].split(":")[0],r=Object.keys(i);return e&&e!=="default"&&(r=r.filter(n=>n===e)),r.length===1?r[0]:r.filter(n=>!n.toLowerCase().includes("base"))[0]}function ap(i,t){let e=rp(i),r=co(i,t);return r?r="_"+r:r="",e+r}const hp={group:"a:settings:generatedGroup"};class lp{}class ii extends lp{constructor({node:t,parent:e,scene:r,emitter:n,options:s={}}){var o;if(super(),typeof t!="object")throw new Error("node has to be type object: "+t);if(!t.type)throw new Error("node invalid, type is missing: "+JSON.stringify(t));s.setDefaults===void 0&&(s.setDefaults=!1),s.regenerateIds===void 0&&(s.regenerateIds=!1),this._scene=r,this._emitter=n;const a=t.children||[];t.children=[],!t.id||s.setDefaults||s.regenerateIds?this._update(up(t,this.schema,s)):this._update(t),this._parent=e,e&&e.children.push(this),(o=this._scene)!=null&&o.registerNode&&this._scene.registerNode(this);const h="add-child";this._emitter&&this._emitter.emit(h,{node:e,args:this,options:s,event:h}),a.filter(l=>(l.type||console.warn("Prevent import from scene structure: Invalid type",l.type+""),l.type)).forEach(l=>this.addChild(l,s))}get parent(){return this._parent}get scene(){return this._scene}get schema(){var t;return(t=this._scene)==null?void 0:t.schema}_update(t={}){var e,r;lo(this,t,(r=(e=this._scene)==null?void 0:e.schema)==null?void 0:r[this.type])}set(t={},e={}){if(this.locked&&!e.force){let n=[];for(let s in t)switch(s){case"locked":case"_highlight":case"_isSelected":n.push(s)}if(n.length>0){let s={};for(const o of n)s[o]=t[o];t=s}else{console.log(`Node ID ${this.id} is locked and cannot be altered.`);return}}t.id&&delete t.id,t.src&&delete t.src,t.children&&delete t.children;let r={};for(let n in t)r[n]=this[n];try{this._update(t)}catch(n){console.warn(n.message);return}if(this._emitter){let n=0,s=0;for(let a in t)switch(t[a]===r[a]&&(delete t[a],delete r[a]),n++,a){case"x":case"y":case"z":case"ry":s++;break}const o=s===n?"set-transform":"set";Object.keys(t).length&&this._emitter.emit(o,{node:this,args:t,prevState:r,options:e,event:o})}}setTransform({x:t,y:e,z:r,ry:n}={},s={}){if(this.locked&&!s.force){console.log(`Node ID ${this.id} is locked and cannot be altered.`);return}let o={},a={};if(t!==void 0){let l=Number(t);this.x!==l&&Number.isFinite(l)&&(a.x=this.x,o.x=this.x=l)}if(e!==void 0){let l=Number(e);this.y!==l&&Number.isFinite(l)&&(a.y=this.y,o.y=this.y=l)}if(r!==void 0){let l=Number(r);this.z!==l&&Number.isFinite(l)&&(a.z=this.z,o.z=this.z=l)}if(n!==void 0){let l=Number(n);this.ry!==l&&Number.isFinite(l)&&(a.ry=this.ry,o.ry=this.ry=l)}const h="set-transform";this._emitter&&Object.keys(o).length&&this._emitter.emit(h,{node:this,args:o,prevState:a,options:s,event:h})}setMaterials(t={},e={}){if(this.locked&&!e.force){console.log(`Node ID ${this.id} is locked and cannot set materials.`);return}let r=0,n={};for(let a in t){const h=t[a];sp(h)&&(n[a]=(this.materials||{})[a],t[a],r++)}if(r<1){console.log("no valid material definitions in",t);return}const s={...this.materials||{},...t};try{this._update({materials:s})}catch(a){console.warn(a.message);return}const o="set-materials";this._emitter&&this._emitter.emit(o,{node:this,args:t,prevState:n,options:e,event:o})}setTransient(t={},e={}){let r={},n=0,s={};for(let a in t)a[0]==="_"&&(s[a]=this[a],r[a]=t[a],n++);if(n<1){console.log("no transient values in",t,"use underscore");return}try{this._update({...r})}catch(a){console.warn(a.message);return}const o="set-transient";this._emitter&&this._emitter.emit(o,{node:this,args:t,prevState:s,options:e,event:o})}setHighlight(t={},e={}){let r={_highlight:this._highlight};const{fill:n,fillOpacity:s,outline:o,outlineWidth:a}=t;let h;n&&Array.isArray(n)&&(h={fill:n,fillOpacity:s}),o&&Array.isArray(o)&&(h={...h||{},outline:o,outlineWidth:a});const l={_highlight:h};try{this._update(l)}catch(f){console.warn(f.message);return}const u="set-transient";this._emitter&&this._emitter.emit(u,{node:this,args:l,prevState:r,options:e,event:u})}find(t={}){if(!t.id&&(!t.type||typeof t.type!="string"||!Xi.includes(t.type)))return console.warn("type missing or invalid"),null;let e;return this.traverse(r=>{e||(t.id&&r.id===t.id||t.type&&r.type===t.type)&&(e=r)}),e}findAll(t={}){if(!t.type||typeof t.type!="string"||!Xi.includes(t.type))return console.warn("type missing or invalid"),[];let e=[];return this.traverse(r=>r.type===t.type&&e.push(r)),e}addChild(t,e={}){var r,n,s;if(!t.type||typeof t.type!="string"||!Xi.includes(t.type)){console.warn("type missing or invalid");return}else if(this.locked&&!["level","plan"].includes(this.type)&&!e.force){console.log(`Node ID ${this.id} is locked and cannot add children.`);return}if(t.id&&(n=(r=this.scene)==null?void 0:r.nodesById)!=null&&n[t.id]&&!e.regenerateIds){console.warn(`Node with id ${t.id} already exists and can not be added - use options.regenerateIds = true`);return}const o=e.setDefaults!==!1;let a;if(o){const h=(s=this.schema)==null?void 0:s[t.type],l=so(t.type,h)||{};a=lo(l,t,h)}else a=t;return new ii({node:a,parent:this,scene:this._scene,emitter:this._emitter,options:{...e,setDefaults:o}})}removeChild(t,e={}){var r;if(t.id){if(this.locked&&!["level","plan"].includes(this.type)&&!e.force){console.log(`Node ID ${this.id} is locked and cannot remove children.`);return}}else{console.error("not valid");return}let n;for(let a=0;a<this.children.length;a++)if(this.children[a].id===t.id){n=a;break}if(!Number.isFinite(n)){console.warn("Node does not exist or is already removed",t);return}let s=t.children||[];for(let a=s.length-1;a>=0;a--)t instanceof ii&&s[a]&&t.removeChild(s[a],e);(r=this._scene)!=null&&r.unregisterNode&&this._scene.unregisterNode(t),this.children.splice(n,1);const o="remove-child";this._emitter&&this._emitter.emit(o,{node:this,args:t,options:e,event:o}),(t!=null&&t.getReferringNodes?t.getReferringNodes():[]).forEach(a=>a.remove(e))}remove(t){if(this.locked&&!t.force){console.warn(`Node ID ${this.id} is locked and cannot be removed.`);return}else this.parent.removeChild(this,t)}getReferringNodes(){var t,e;let r=[],n=(t=this._scene)==null?void 0:t.nodesByType["a:relation:"+this.type];n&&n.forEach(a=>{var h;(h=a?.nodeIds)!=null&&h.hasOwnProperty(this.id)&&r.push(a)});let s=hp[this.type]||"a:settings:"+this.type,o=(e=this._scene)==null?void 0:e.nodesByType[s];return o&&o.forEach(a=>{a?.nodeId==this.id&&r.push(a)}),r}getWorldPosition(){return vo(this)}getLocalPositionFromWorld(t){const e=this.getParents();return e!=null&&e.length&&e.reverse().forEach(r=>{t=Yc(t,r)}),t}getParents(){return yo(this)}toJson(t={}){let e=zr(this,t),r=Pe(e);return t.regenerateIds&&Zc(r,t),r}traverse(t){typeof t=="function"&&(t(this),this.children.forEach(e=>{e.traverse(t)}))}}const vo=(i,t)=>{const e=t?t.parent:i.parent;if(!e)return console.warn("no parent found"),i;let r=Hr(i,e);return e.parent&&(r=vo(r,e)),r},yo=i=>{let t=[];const e=i.parent;return e&&t.push(e),e!=null&&e.parent&&(t=t.concat(yo(e))),t},up=(i,t,{setDefaults:e,regenerateIds:r})=>{if(!t&&e)throw new Error("schema is missing");if(!i)throw new Error("node missing");const n=t&&t[i.type];let s;if(n&&e){if(s=so(i.type,n),!s)throw new Error("no defaults found")}else s={};let o=Object.assign({},s,i);if(!o)throw new Error("applying defaults failed");return(!i.id||r)&&(o.id=se()),o};var yt=(i=>(i.residential="residential",i.office="office",i.parking="parking",i.lightIndustrial="lightIndustrial",i))(yt||{});const Gi={work:{name:"Work",isHidden:!0,description:"space for individual head-down work",spaceUsage:{privateOffice:{name:"Private office",category:["office"]},focusRoom:{name:"Focus room",category:["office"]},openWorkspace:{name:"Open workspace",category:["office"]},enclosedWorkspace:{name:"Enclosed workspace",category:["office"]},closedWorkspace:{name:"Closed workspace",isDeprecated:!0,category:["office"]},executiveOffice:{name:"Executive office",isDeprecated:!0,category:["office"]}}},meet:{name:"Meet",isHidden:!0,spaceUsage:{meetingRoom:{name:"Meeting room",category:["office"]},hub:{name:"Hub",category:["office"]},assembly:{name:"Assembly",category:["office"]},boardRoom:{name:"Board room",category:["office"]},trainingRoom:{name:"Training room",category:["office"]},collaboration:{name:"Collaboration",isDeprecated:!0,category:["office"]}}},live:{name:"live",isHidden:!0,spaceUsage:{living:{name:"Living",category:["residential"]},dining:{name:"Dining",category:["residential"]},dining_living:{name:"Living & Dining",category:["residential"]},homeOffice:{name:"Home office",category:["residential"]},bedroom:{name:"Bedroom",category:["residential"]}}},socialize:{name:"Socialize",isHidden:!0,spaceUsage:{lobby:{name:"Lobby",category:["office","residential"]},reception:{name:"Reception",category:["office"]},lounge:{name:"Lounge",category:["office"]},cafe:{name:"Cafe",category:["office"]},canteen:{name:"Canteen",category:["office"]},pantry:{name:"Pantry",category:["office"]},terrace:{name:"Terrace",isOutdoor:!0,category:["office","residential"]},balcony:{name:"Balcony",isOutdoor:!0,category:["office","residential"]},rooftop:{name:"Rooftop",isOutdoor:!0,category:["office","residential"]},courtyard:{name:"Courtyard",isOutdoor:!0,category:["office","residential"]},garden:{name:"Garden",isOutdoor:!0,category:["residential"]},common:{name:"Common",isDeprecated:!0,category:["office"]}}},support:{name:"Support",isHidden:!0,spaceUsage:{serviceKitchen:{name:"Service kitchen",category:["office"]},printStation:{name:"Print station",category:["office"]},storage:{name:"Storage",category:["lightIndustrial","residential","office","parking"]},mailRoom:{name:"Mail room",category:["office"]},operationalRoom:{name:"Operational room",category:["lightIndustrial","office","parking"]},serviceRoom:{name:"Service room",category:["office"]},laundryRoom:{name:"Laundry room",category:["residential"]},loadingDock:{name:"Loading dock",category:["lightIndustrial"]},operate:{name:"Operate",isDeprecated:!0,category:["office"]},services:{name:"Services",isDeprecated:!0,category:["office","residential"]}}},care:{name:"Care",isHidden:!0,spaceUsage:{kitchen:{name:"Kitchen",category:["residential"]},wellnessRoom:{name:"Wellness room",category:["lightIndustrial","office"]},restroom:{name:"Restroom",category:["lightIndustrial","office","parking"]},bathroom:{name:"Bathroom",category:["residential"]},shower:{name:"Shower",category:["lightIndustrial","office","residential"]},toilet:{name:"Toilet",category:["residential"]}}},circulate:{name:"Circulate",isHidden:!0,spaceUsage:{corridor:{name:"Corridor",category:["lightIndustrial","residential","office","parking"]},foyer:{name:"Foyer",category:["lightIndustrial","residential","office","parking"]},staircase:{name:"Staircase",isVertical:!0,category:["lightIndustrial","residential","office","parking"]},elevator:{name:"Elevator",isVertical:!0,category:["lightIndustrial","residential","office","parking"]}}},drive:{name:"Drive",isHidden:!0,spaceUsage:{parkingSpot:{name:"Parking spot",category:["parking"]},driveway:{name:"Driveway",category:["parking"]},garage:{name:"Garage",category:["residential"]}}},produce:{name:"Produce",isHidden:!0,spaceUsage:{productionArea:{name:"Production area",category:["lightIndustrial"]}}},void:{isHidden:!0,name:"Void",spaceUsage:{shaft:{name:"Shaft",isVertical:!0,category:["lightIndustrial","residential","office","parking"]},buildingOpening:{name:"Building opening",isVertical:!0,category:["lightIndustrial","residential","office","parking"]},floorOpening:{name:"Floor opening",isVertical:!0,category:["lightIndustrial","residential","office","parking"]}}},undefined:{isHidden:!0,spaceUsage:{undefined:{name:"Undefined",category:["residential","office"],isHidden:!0}}}},ue={};Object.keys(Gi).forEach(i=>{const t=Gi[i];ue[i]={name:t.name,type:"program",category:[]},t.isHidden&&(ue[i].isHidden=t.isHidden);const e={};Object.keys(Gi[i].spaceUsage).forEach(r=>{const n=Gi[i].spaceUsage[r];ue[r]={...n,type:"space",program:i},n.category.forEach(s=>{e[s]=!0})}),ue[i].category=Object.keys(e)});const mo=(i="")=>{i==="officeWorking"?i="work":i==="officeMeeting"&&(i="meet");let t=ue[i];return t?t.name:""},Yi=(i="")=>{const t=ue[i];let e;return t&&(e=t.type==="program"?i:t.program),e};function go({scene:i,uuid:t}){let e=i.nodesByType.polyfloor;t&&(e=e.filter(n=>n.id===t));const r=i.nodesByType.interior.map(n=>n.getWorldPosition());return e.map(n=>{let s=eo({node:n});if(!s.length)return;const o=Math.abs(s.reduce((u,f)=>u+le(f),0)),a=to(s[0],s.slice(1)),h=ki(s),{interiors:l}=ip({polygons:s,scene:i,interiors:r});return{node:n,boundingBox:h,id:n.id,usage:n.usage,usageName:mo(n.usage),program:Yi(n.usage),polygons:s,interiors:l,area:o,center:a,customId:n.customId,name:n.name}}).flatMap(n=>n?[n]:[])}const $r=(i,t=!0,e=!1)=>{const r=i.nodesByType.column.map(f=>f.getWorldPosition()),n=i.nodesByType.wall.map(f=>f.getWorldPosition()),s=.001,o=[...n,...r].map(f=>{let p=Wr(f);if(t&&(p=Ui([p],s)[0]),e)return[p];let d=ro(f,"window"),v=ro(f,"door"),m=d.concat(v);if(m=m.map(y=>(y.w=f.w,y)),m!=null&&m.length){let y=m.map(Wr);return Bc([p],y,s*2)}else return[p]}).reduce((f,p)=>f.concat(p),[]),a=o.length?Js(o):[],{counterClockwise:h,clockwise:l}=$c(a),u=zc(h,l);return h.map((f,p)=>[f,...u[p]||[]])},fp={spaceContourAreaThreshold:.1};class cp{constructor({schema:t,options:e={}}={}){this.sceneId=null,this.node=null,this._apiVersion="3.7.0",this.nodesById={},this.nodesByType=no(),this.nodesByName={},this.options={...fp,...e},this._schema=t||{},this._emitter=new Yr}get emitter(){return this._emitter}get schema(){return this._schema}set schema(t){typeof t=="object"&&(this._schema=t)}loadSceneStructure(t,e={}){if(this._emitter.emit("scene-structure-loading",this),!t||t.type!=="plan")throw new Error("invalid sceneStructure");this.nodesById={},this.nodesByType=no(),this.node=null;let r=Pe(t);return Number.isFinite(e.planRotation)&&(r._ryOrg=t.ry,r.ry=e.planRotation),this.node=new ii({node:r,scene:this,emitter:this.emitter,options:e}),this.setSpaceCategories(),this._emitter.emit("scene-structure-loaded",this),this.node}setSceneType(){this.setSpaceCategories()}_setSceneType(){const t=this.node.class;if(t!=null&&t.length)t.includes(yt.residential)?this.type=yt.residential:t.includes("commercial")||t.includes(yt.office)?this.type=yt.office:t.includes(yt.parking)&&(this.type=yt.parking);else{const e=this.nodesByType.polyfloor.map(r=>r.usage);e.includes("bedroom")?this.type=yt.residential:(e.includes("work")||e.includes("meetingRoom")||e.includes("openWorkspace"))&&(this.type=yt.office)}}setSpaceCategories(){let t=[];const e=this.node.class;if(e!=null&&e.length)t=Array.from(e.reduce((r,n)=>(n==="commercial"?r.add(yt.office):yt[n]&&r.add(yt[n]),r),new Set));else{const r=this.nodesByType.polyfloor.map(n=>n.usage);r.includes("bedroom")&&t.push(yt.residential),(r.includes("work")||r.includes("meetingRoom")||r.includes("openWorkspace"))&&t.push(yt.office)}this.spaceCategories=t,this._setSceneType()}getFloorArea(){const t=go({scene:this}).reduce((e,r)=>r.program==="void"?e:e+r.area,0);return Math.round(t*10)/10}registerNode(t){this.nodesById[t.id]&&console.error("Duplicate id",t.id),this.nodesById[t.id]=t,this.nodesByType[t.type]=this.nodesByType[t.type]||[],this.nodesByType[t.type].push(t),t.name&&(this.nodesByName[t.name]=this.nodesByName[t.name]||[],this.nodesByName[t.name].push(t))}unregisterNode(t){t.id&&delete this.nodesById[t.id];const e=(r,n)=>{if(r[t[n]]){let s=r[t[n]].findIndex(o=>o.id===t.id);Number.isFinite(s)&&r[t[n]].splice(s,1)}};e(this.nodesByType,"type"),e(this.nodesByName,"name")}on(t,e,r){t&&e?this._emitter.on(t,e,r):console.log("invalid event listener")}once(t,e,r){t&&e?this._emitter.once(t,e,r):console.log("invalid event listener")}off(t,e){t?this._emitter.off(t,e):console.log("invalid request")}emit(t,e,r,n,s){this._emitter.emit(t,e,r,n,s)}get apiVersion(){return this._apiVersion}}function pp(i){let t=[];return i.shape==="square"?t.push({type:"rectangle",position:[-i.l/2,-i.l/2],dimensions:[i.l,i.l]}):i.shape==="circle"?t.push({type:"circle",position:[0,0],radius:i.l/2}):i.shape==="polygon"&&t.push({type:"polygon",points:i.polygon}),t}function dp(i,t){const e=i.doorType||"singleSwing",r=i.l,n=t.w;let s=[],o=i.doorAngle;const a=i.hinge==="right",h=i.side==="back",l=t.controlLine==="front"?-n:t.controlLine==="center"?-n/2:0;if(o<20&&(o=20),e==="singleSwing"){let u=o*Math.PI/180,f,p,d,v;h?(f=a?0:180-o,p=a?o:180,d=a?[0,l]:[r,l],v=[d[0]+r*Math.cos(u)*(a?1:-1),d[1]+-r*Math.sin(u)]):(f=a?-180:360-o,p=a?-180+o:360,d=a?[r,n+l]:[0,n+l],v=[d[0]+r*Math.cos(u)*(a?-1:1),d[1]+r*Math.sin(u)]),s.push({type:"arc",radius:r,position:d,startAngle:f,endAngle:p},{type:"line",start:d,end:v})}else if(e==="doubleSwing"){const u=o*Math.PI/180;let f,p,d,v,m,y,g,w;h?(f=0,p=o,d=[0,l],v=[d[0]+r/2*Math.cos(u),d[1]+-r/2*Math.sin(u)],g=[r,l],w=[g[0]+-r/2*Math.cos(u),g[1]+-r/2*Math.sin(u)],m=180-o,y=180):(f=360-o,p=360,d=[0,n+l],v=[d[0]+r/2*Math.cos(u),d[1]+r/2*Math.sin(u)],g=[r,n+l],w=[g[0]+-r/2*Math.cos(u),g[1]+r/2*Math.sin(u)],m=180,y=180+o),s.push({type:"arc",radius:r/2,position:d,startAngle:f,endAngle:p},{type:"line",start:d,end:v}),s.push({type:"arc",radius:r/2,position:g,startAngle:m,endAngle:y},{type:"line",start:g,end:w})}return s.push({type:"rectangle",position:[0,l],dimensions:[i.l,n]}),s}function vp(i){let t=[];const e=/90$/g.test(i.cooktopType),r=yp(i),n=mp(i,r,e),s=gp(i,n),o=_p(i,n),a=xp(i,n),h=.25,l=.6;t.push(Re([0,i.barCounter?-h:0],i.l,i.barCounter?i.w+h:i.w)),n.forEach(f=>{t.push(Pt([f,i.w],[f,i.w-.075]))}),r&&i.barCounter&&t.push(Pt([i.highCabinetLeft*i.elementLength,0],[i.l-i.highCabinetRight*i.elementLength,0]));for(let f of s){const p=n[f],d=p-l;t.push(Pt([d||0,i.w],[d||0,0]),Pt([d||0,0],[p,i.w]),Pt([d||0,i.w],[p,0]),Pt([p,i.w],[p,0]))}const u={fill:!1};if(o&&n[o-2]){let f={type:"group",position:[n[o-2],0],children:[Re([.05,i.w-.5],i.sinkType!=="double"?.5:1.1,.45,u),Re([.1,i.w-.4],i.sinkType!=="double"?.4:.35,.3,u),Re([i.sinkType!=="double"?i.elementLength/2-.02:.48,i.w-.45],.04,.18,u)]};i.sinkType==="double"&&f.children.push(Re([.55,i.w-.4],.35,.3,u),Pt([.95,i.w-.4],[.95,i.w-.1]),Pt([1,i.w-.4],[1,i.w-.1]),Pt([1.05,i.w-.4],[1.05,i.w-.1]),Pt([1.1,i.w-.4],[1.1,i.w-.1])),t.push(f)}if(a&&n[a-2]){let f={type:"group",position:[n[a-2],0],children:[Re([.05,i.w-.55],e?.8:.5,.5,u)]};e?f.children.push(Xt([.225,i.w-.4],.08,u),Xt([.675,i.w-.4],.08,u),Xt([.45,i.w-.3],.08,u),Xt([.225,i.w-.2],.08,u),Xt([.675,i.w-.2],.08,u)):f.children.push(Xt([.2,i.w-.4],.08,u),Xt([.4,i.w-.4],.08,u),Xt([.2,i.w-.2],.08,u),Xt([.4,i.w-.2],.08,u)),t.push(f)}return r&&i.wallCabinet&&t.push(Pt([i.highCabinetLeft*i.elementLength,i.wallCabinetWidth],[i.l-i.highCabinetRight*i.elementLength,i.wallCabinetWidth])),t}function yp(i){const t=i.elementLength,e=i.highCabinetLeft*t,r=i.highCabinetRight*t;return Math.max(0,i.l-e-r)}function mp(i,t,e){const r=i.elementLength,n=.9,s=i.highCabinetLeft*r;let o,a=[],h=0,l=0;for(o=0;o<i.highCabinetLeft;o++){let u=i.l-h;h+=u>r?r:u,a[o]=h,l++}for(;h+r<s+t;){let u=l===i.cooktopPos-1&&i.cooktopType!=="none"&&e;h+=u?n:r,l++,a.push(h)}for(o=i.highCabinetRight;o>0;o--)h=i.l-r*o+r,a.push(h);return a=a.map(u=>Math.round(u*10)/10),a}function gp(i,t){let e,r=[];for(e=0;e<i.highCabinetLeft;e++)r.push(e);for(e=0;e<i.highCabinetRight;e++)r.push(t.length-1-e);return r}function _p(i,t){return typeof i.sinkPos=="number"&&i.sinkPos>i.highCabinetLeft&&i.sinkPos<=t.length-i.highCabinetRight&&i.sinkType!=="none"?i.sinkPos:null}function xp(i,t){return typeof i.cooktopPos=="number"&&i.cooktopPos>i.highCabinetLeft&&i.cooktopPos<=t.length-i.highCabinetRight&&i.cooktopType!=="none"?i.cooktopPos:null}function Pt(i,t){return{type:"line",start:i,end:t}}function Re(i,t,e,r){return{type:"rectangle",position:i,dimensions:[t,e],style:r}}function Xt(i,t,e){return{type:"circle",position:i,radius:t,style:e}}function wp(i){let t;return i.controlLine==="center"?t=-i.w/2:i.controlLine==="front"?t=-i.w:t=0,[{type:"rectangle",position:[0,t],dimensions:[i.l,i.w]}]}function ri(i,t,e=.5){let r=[t[0]-i[0],t[1]-i[1]];return[i[0]+r[0]*e,i[1]+r[1]*e]}function Pp(i,t,e,r=5){const n=[];let s,o,a,h=0;for(let l=0;l<=r;++l)h=l/r,s=ri(i,t,h),o=ri(t,e,h),a=ri(s,o,h),n.push(a);return n}const bp=48,Tp=12,Cp=100,_o=(i,t)=>{const e=Math.ceil(bp/(Math.PI*2)*i*t),r=Math.ceil(Tp/(Math.PI*2)*i);return Math.min(Cp,Math.max(r,e))},xo=i=>{const t={type:"polygon",points:[]};switch(i.type){case"circle":const e=i.radius,r=_o(Math.PI*2,e),n=i.position,s=Math.PI*2/r;let o=0;for(let h=0;h<r;h++)t.points.push([e*Math.cos(o)+n[0],-e*Math.sin(o)+n[1]]),o+=s;break;case"polygon":t.points=i.points;break;case"rectangle":const a=i.dimensions;t.points=[[0,0],[0,a[1]],[a[0],a[1]],[a[0],0]];break;case"composite":for(const h of i.segments){let l=Vr(h);t.points.push(...l.points)}break}return t},Vr=i=>{const t={type:"polyline",points:[]};switch(i.type){case"line":t.points=[i.start,i.end];break;case"arc":const e=i.startAngle/180*Math.PI,r=i.endAngle/180*Math.PI-e,n=i.radius,s=_o(Math.abs(r),n),o=i.position,a=r/s;let h=e;for(let l=0;l<s+1;l++)t.points.push([n*Math.cos(h)+o[0],-n*Math.sin(h)+o[1]]),h+=a;break;case"polyline":t.points=i.points;break;case"quadraticBezier":t.points.push(i.points[0]);for(let l=0;l<=i.points.length-3;l++){let u=i.points[l],f=i.points[l+1],p=i.points[l+2],d=l===0?u:ri(u,f),v=l===i.points.length-3?p:ri(f,p),m=Pp(d,f,v);t.points.push(...m.slice(1))}break}return t};function Ip(i,t={}){const e="straight",r=t.style!=="labelled",n=i.circulation==="left",s=.3;let o=i.stairType||e,a=i.l;const h=i.stepWidth;i.stairType==="straightLanding"?a=i.l-1:i.stairType==="lShaped"?a=i.l+i.w-2*h:i.stairType==="winder"?a=i.l+i.w-h:i.stairType==="halfLanding"?a=(i.l-h)*2:i.stairType==="2QuarterLanding"?a=(i.l-h)*2+i.w-h*2:i.stairType==="doubleWinder"&&(a=i.l*2+i.w-h*2);const l=(a/i.h+1.2321)/.10357/100,u=Math.round(a/l),f=!n&&i.railing==="left"||n&&i.railing==="right"||i.railing==="both",p=!n&&i.railing==="right"||n&&i.railing==="left"||i.railing==="both",d=.05;let v=a/u,m={shape:[],runs:[],railings:[]},y,g,w;switch(o){case"straight":case"straightLanding":m.shape=[[0,0],[i.l,0],[i.l,i.w],[0,i.w]];break;case"lShaped":case"winder":m.shape=[[0,0],[i.l,0],[i.l,i.w],[i.l-h,i.w],[i.l-h,h],[0,h]];break;case"halfLanding":case"2QuarterLanding":case"doubleWinder":m.shape=[[0,0],[i.l,0],[i.l,i.w],[0,i.w],[0,i.w-h],[i.l-h,i.w-h],[i.l-h,h],[0,h]];break}if(m.railings=Ap(m.shape,d,f,p),r)switch(o){case"straight":m.runs=[{type:"straight",data:[0,0,u,v,0]}];break;case"straightLanding":y=Math.ceil(u/2),g=u-y,m.runs=[{type:"straight",data:[0,0,y,v,0]},{type:"straight",data:[y*v+1,0,g,v,0]}];break;case"lShaped":y=Math.floor((i.l-h)/v),g=u-y,m.runs=[{type:"straight",data:[0,0,y,(i.l-h)/y,0]},{type:"straight",data:[i.l,h,g,(i.w-h)/g,-90]}];break;case"winder":g=2*Math.round((h/2+s)/v),y=Math.round((i.l-h-s)/v),w=u-y-g,m.runs=[{type:"straight",data:[0,0,y,(i.l-h-s)/y,0]},{type:"winder",data:[i.l-h-s,0,g,0]}],w>0&&m.runs.push({type:"straight",data:[i.l,h+s,w,(i.w-h-s)/w,-90]});break;case"halfLanding":y=u/2,g=u/2,m.runs=[{type:"straight",data:[0,0,y,v,0]},{type:"straight",data:[y*v,i.w,g,v,180]}];break;case"2QuarterLanding":y=Math.round((i.l-h)/v),w=y,g=u-y*2,v=(i.l-h)/y,m.runs=[{type:"straight",data:[0,0,y,(i.l-h)/y,0]},{type:"straight",data:[i.l,h,g,(i.w-h*2)/g,-90]},{type:"straight",data:[y*v,i.w,w,(i.l-h)/y,180]}];break;case"doubleWinder":g=4*Math.round((h/2+s)/v),w=Math.round((i.w-(h+s)*2)/v),y=Math.round((u-g-w)/2),m.runs=[],y>0&&m.runs.push({type:"straight",data:[0,0,y,(i.l-h-s)/y,0]}),m.runs.push({type:"winder",data:[i.l-h-s,0,g/2,0]}),w>0&&m.runs.push({type:"straight",data:[i.l,h+s,w,(i.w-(h+s)*2)/w,-90]}),m.runs.push({type:"winder",data:[i.l,i.w-h-s,g/2,-90]}),y>0&&m.runs.push({type:"straight",data:[i.l-h-s,i.w,y,(i.l-h-s)/y,180]});break}let _,b=[];if(t.style!=="labelled"){let I=[[v/2-.06,h/2+.12],[v/2+.06,h/2],[v/2-.06,h/2-.12]];b.push({type:"polyline",points:I})}if(o!=="spiral")_={type:"polygon",points:m.shape},m.runs.forEach(I=>{I.type==="straight"?b=b.concat(Ep(...I.data,h)):I.type==="winder"&&(b=b.concat(Sp(...I.data,h,s)))});else if(o==="spiral"){const I=i.w,N=I-h,C=N+h/2;let E=i.l/C;const F=E/u;E>2*Math.PI&&(E=2*Math.PI-.01);let O=[0,i.w],R=E/Math.PI*180-90;_={type:"composite",segments:[{type:"arc",radius:I,position:O,startAngle:-R,endAngle:90},{type:"arc",radius:N,position:O,startAngle:90,endAngle:-R}]},m.railings=[];const W=I-d,S=N+d;if(f&&m.railings.push({type:"arc",radius:W,position:O,startAngle:-R,endAngle:90}),p&&m.railings.push({type:"arc",radius:S,position:O,startAngle:-R,endAngle:90}),r){let A=0;for(var x=0;x<u&&!(A>=E);x++){const D=[Math.sin(A)*I,Math.cos(A)*I-I],rt=[Math.sin(A)*N,Math.cos(A)*N-I];b.push({type:"polyline",points:[[D[0],-D[1]],[rt[0],-rt[1]]]}),A+=F}}}let P=[_,...b,...m.railings];return n&&(P=P.map(I=>(I.type==="composite"&&(I=xo(I)),I.type==="arc"&&(I=Vr(I)),(I.type==="polygon"||I.type==="polyline")&&I.points.forEach(N=>{N[1]=-N[1]+i.w}),I))),P}function Ep(i,t,e,r,n=0,s){n=n||0;const o=[];for(var a=0;a<e;a++){let h=[[a*r,0],[a*r,s]];h=Et({x:i,z:t,ry:n},h),o.push({type:"polyline",points:h})}return o}function Sp(i,t,e,r,n,s){let o=0,a=0;r=r||0;const h=[];let l=s,u=e/2,f=(n+l)/u,p=l/u,d=0,v=0;for(var m=0;m<u;m++){let y=[[o+d,a+n],[o+v,a]];y=Et({x:i,z:t,ry:r},y),h.push({type:"polyline",points:y}),d+=p,v+=f}for(o+=d,d=0,v=0,m=0;m<u;m++){let y=[[o,a+n+d],[o+n,a+v]];y=Et({x:i,z:t,ry:r},y),h.push({type:"polyline",points:y}),d+=p,v+=f}return h}function Ap(i,t,e,r){const n=[];if(!e&&!r)return[];let s=[];i.length===4?s=i.map((h,l)=>[h[0],h[1]+(l<2?t:-t)]):i.length===6?s=i.map((h,l)=>{let u=[...h];return l<2?u[1]+=t:l>3&&(u[1]-=t),l===1||l===2?u[0]-=t:(l===3||l===4)&&(u[0]+=t),u}):i.length===8&&(s=i.map((h,l)=>{let u=[...h];return l<2||l>3&&l<6?u[1]+=t:(l<4||l>5)&&(u[1]-=t),(l===1||l===2)&&(u[0]-=t),(l===5||l===6)&&(u[0]+=t),u}));const o=s.slice(0,s.length/2),a=s.slice(s.length/2,s.length);return e&&n.push({type:"polyline",points:o}),r&&n.push({type:"polyline",points:a}),n}new Nc({size:256});function jr(i){return new Promise((t,e)=>{i.oncomplete=i.onsuccess=()=>t(i.result),i.onabort=i.onerror=()=>e(i.error)})}function wo(i,t){const e=indexedDB.open(i);e.onupgradeneeded=()=>e.result.createObjectStore(t);const r=jr(e);return(n,s)=>r.then(o=>s(o.transaction(t,n).objectStore(t)))}let qr;function Po(){return qr||(qr=wo("keyval-store","keyval")),qr}function Op(i,t=Po()){return t("readonly",e=>jr(e.get(i)))}function Lp(i,t,e=Po()){return e("readwrite",r=>(r.put(t,i),jr(r.transaction)))}const G={new_york:"#0c1829",stone:"#4d586b",warsaw:"#929baa",oslo:"#72849e",athens:"#e8ebef",gray:"#cfd5de",stone_08:"#f1f2f3",whisper:"#f7f8fa",white:"#ffffff",zurich:"#bdd8ff",zurich_48:"#dfecff",blue_ribbon:"#3355ff",flamingo:"#ef5533"},Gt={api:{productDataCacheAge:24*3600*1e3,productContourCacheAge:10*24*3600*1e3},hideElements:[],panZoom:!0,planRotation:0,preserveViewbox:"center-center",roomStampSize:null,showCeilingLamps:!1,xrayMode:!1,destroyOnDomRemove:!1,ui:{scale:!0,coordinates:!1},spaceLabelMapping:{},theme:{fontFamily:"Avenir, Verdana, sans-serif",background:{color:G.whisper,showGrid:!1},wallContours:!1,showAssetTextures:!1,elements:{floorPlan:{grayscale:!1},roomStamp:{showArea:!0,showUsage:!0}}},units:{system:"metric",areaDecimals:0,lengthDecimals:3,roomDimensions:"area"},zoomRange:[3,300]},Mp=i=>"publishableToken"in i?(console.warn("token.publishableToken is deprecated, please use the token.publishableAccessToken option"),Ys({publishableAccessToken:i.publishableToken,...i})):Ys(i);let Zr="archilogic/product",Hi="https://storage.3d.io";const Np=i=>{i&&typeof i=="object"&&(Gt.api={...Gt.api,...i})};async function Fp(i,t){return vc("GET",`/v2/floor/${i}/scene-structure?includeMetadata=true`,{},t)}function Rp(i){return To(`${Hi}/${Zr}/outline/${i}.json`)}function bo(i){return`${Hi}/${Zr}/thumb/${i}.png`}function Dp(i){return To(`${Hi}/${Zr}/json/${i}.json`)}function To(i){return fetch(i).then(t=>{if(t.ok)return t.json();throw Error(t.statusText)})}function Bp(i){const t=document.createElement("div"),e=document.createElement("div"),r=document.createElement("div"),n=document.createElement("div");return t.classList.add("fpe-err"),e.classList.add("fpe-err__box"),r.classList.add("fpe-err__title"),n.classList.add("fpe-err__msg"),i.append(t),t.append(e),e.append(r),e.append(n),r.textContent="Something went wrong",i.append(t),i}function kp(i,t="Floor plan engine couldn't load properly on this page. For technical details check the browser console."){const e=document.getElementById(i),r=e.querySelector(".fpe-err")??Bp(e);r.querySelector(".fpe-err__msg").textContent=t}function Up(i){var t;(t=document.querySelector(`#${i} .fpe-err`))==null||t.remove()}const Xp="al-kvs",Gp="al-keyval",Jr=typeof window>"u"||typeof process<"u",Co=!Jr&&wo(Xp,Gp);let Io=!0;async function Eo(i,t,e){if(Jr)return Promise.resolve();e=e||30*24*3600*1e3;try{const r={timeStamp:new Date().getTime(),content:t,maxAge:e};return Io&&await Lp(i,r,Co),i}catch{return}}async function So(i,t){if(Jr)return Promise.resolve();const e=t||30*24*3600*1e3,r=new Date().getTime();let n;try{Io&&(n=await Op(i,Co));const s=r-n.timeStamp,o=Math.min(n.maxAge,e);if(s>o)return;if(n.content)return n.content}catch{return}}function Yp(i){const t={10:["ceilingLight","wallLight"],9:["modularMeetingRoom","phoneBooth"],8:["floorLamp","tableLamp","deskDivider","cushion","plant","officeSupply","tableware","decoration","laundry","electronics","kitchen","car"],7:["shelf","cabinet","wardrobe","storageCombination","outdoor","bicycle","people","sink"],6:["highTable","diningTable","conferenceTable","desk"],5:["sofa","armchair","loungeChair","ottoman","sideboard","pedestal"],4:["taskChair","diningChair","conferenceChair","stool","barStool","bench"],3:["shower"],2:["singleBed","doubleBed","daybed","toilet","bathtub"],1:["sideTable","coffeeTable","radiator","nightstand"],0:["rug"]};let e=0;return i.subCategories.forEach(r=>{Object.keys(t).forEach(n=>{let s=parseInt(n);t[n].includes(r)&&s>e&&(e=s)})}),e===1&&i.categories.includes("tables")&&i.boundingBox.height>.6&&(e=6),e}const Ao={kitchen:vp,column:pp,stairs:Ip,wall:wp,door:dp};function Hp(i,t,e){if(Ao[i.type])return Ao[i.type](i,t);if(Qr[i.type])return Qr[i.type](i,t,e)}const Qr={box:i=>ni(i),curtain:i=>{const t=Math.min(Math.max(i.folds||10,Math.round(i.l*5)),Math.max(1,Math.round(i.l*15))),e=.05,r=i.w,n=i.l/t;let s=[],o=[];var a,h,l,u=0,f=r/2,p=e/2;let d=i.id.replace(/-/gi,""),v=d.length;for(var m=0;m<t;m++){h=p,l=f;let y=parseInt(d[m%v],16)/20;p=e/2+y*e/2*(m%2===0?-1:1),f=r/2+y*r/2*(m%2===0?-1:1),a=u,u=n*(m+1),o.push([a,l]),s.push([a,h]),m===t-1&&(o.push([u,f]),s.push([u,p]))}return[{type:"composite",segments:[{type:"quadraticBezier",points:s},{type:"quadraticBezier",points:o.reverse()}]}]},railing:i=>ni(i),floor:i=>ni(i),window:(i,t)=>ni(i,t),closet:i=>ni(i),interior:(i,t,e)=>{if(!e)return[{type:"circle",position:[0,0],radius:.01}];if(e=e.sort((r,n)=>ti(r)>ti(n)?-1:1),!(!e||!e.length))return[{type:"polygon",points:e[0],holes:e.slice(1)}]},polyfloor:i=>[{type:"polygon",points:i.polygon,holes:i.polygonHoles||[]}],polybox:i=>[{type:"polygon",points:i.polygon}],"a:helper:spaceDivider":i=>[{type:"rectangle",position:[0,-.02],dimensions:[i.l,.04]}],floorplan:i=>[{type:"rectangle",position:[-i.l/2,-i.w/2],dimensions:[i.l,i.w],style:{fill:!1}}]};function ni(i,t){let e=0,r=i.w;return i.type==="wall"&&(e=i.controlLine==="front"?i.w:i.controlLine==="center"?i.w/2:0),i.type==="window"&&(r=t.w,e=t.controlLine==="front"?t.w:t.controlLine==="center"?t.w/2:0),[{type:"polygon",points:[[0,0-e],[i.l,0-e],[i.l,r-e],[0,r-e]]}]}const fe=i=>{var t;return((t=i.src)==null?void 0:t.substring(1))||""},Wp="fpe-pr1-",Oo="fpe-dc2-";var De=(i=>(i[i.None=0]="None",i[i.Default=1]="Default",i[i.Grayscale=2]="Grayscale",i))(De||{});let zp=class extends Yr{constructor(t,e){var r,n,s;super(),this.productQueue={},this.textureQueue={},this.promiseCache=new Map,this.loadStages={product:!0,productContour:!0,productTexture:!1},this.isSceneStructureLoaded=!1,this.initialLoading=!0,this._loadCounter=0,this.resources=t,this.productContourCacheAge=(r=e.api)==null?void 0:r.productContourCacheAge,this.productDataCacheAge=(n=e.api)==null?void 0:n.productDataCacheAge,this.loadStages.productTexture=!!((s=e.theme)!=null&&s.showAssetTextures)&&e.loadTextures!==!1,this.on("product-load-stage",this.loadStatus,this)}loadStatus({args:t}){const e=Object.values(this.textureQueue).reduce((s,o)=>s+o.nodes.size,0),r=Object.values(this.productQueue).reduce((s,o)=>s+o.nodes.size,0),n=e+r;this._loadCounter++,this.emit("loading-status",{totalCount:n,doneCount:this._loadCounter}),n===this._loadCounter&&this.emit("loading-done",{totalCount:n})}reset(){this.resources.spaces=[],this.resources.assets=[],this.resources.products={},this.resources.productContours={},this.resources.productBoundingBoxes={},this.textureQueue={},this.productQueue={},this._loadCounter=0,this.promiseCache=new Map,this.initialLoading=!0}};async function $p(i,t){if(t.promiseCache||(t.promiseCache=new Map),!i||!i.src)return;const e=fe(i);t.productQueue[e]||(t.productQueue[e]={loadStage:0,nodes:new Set}),t.productQueue[e].nodes.add(i),t.productQueue[e].loadStage<1&&await Qp(e,t),t.loadStages.productContour&&Vp(i,t)}async function Vp(i,t){const e=fe(i),r=t.resources.products[e];if(!r||!t.productQueue[e])return;const n=ap(i,r);if(Jp(t.resources,i),!t.textureQueue[n]){const s=bo(n);t.textureQueue[n]={productId:e,loadStage:0,nodes:new Set,textureUrl:s,applyFilter:1},t.loadStages.productTexture&&t.emit("product-load-texture",{textureId:n,productData:r})}if(t.textureQueue[n].nodes.add(i),t.textureQueue[n].loadStage===2){t.emit("product-load-stage",{node:i,args:{_loadStage:3,_textureId:n}});return}t.resources.productBoundingBoxes[e]||(t.resources.productBoundingBoxes[e]=jp(r),t.productQueue[e].loadStage=2),t.productQueue[e].loadStage===2&&t.emit("product-load-stage",{node:i,args:{_loadStage:2}}),t.resources.productContours[e]||qp(r,t).then(()=>{var s,o;((s=t.textureQueue[n])==null?void 0:s.loadStage)===1||(o=t.textureQueue[n])!=null&&o.error?t.emit("product-contour",n):t.loadStages.productTexture||t.emit("product-load-stage",{node:i,args:{_loadStage:3}})})}const jp=i=>{const t=i.boundingPoints;let e;if(t)return e=[[t.min[0],t.min[2]],[t.min[0],t.max[2]],[t.max[0],t.max[2]],[t.max[0],t.min[2]]],i._loadStage=1,[e]},qp=async(i,t)=>{const{productId:e}=i,r=Oo+e,n=t.promiseCache.get(r);if(n)return n;const s=Kp(e,t).then(o=>{const a=o;t.resources.productContours[e]=a,t.resources.products[e]._shapes=Qr.interior({type:"interior"},null,a),t.productQueue[e].loadStage=3}).catch(()=>{});return t.promiseCache.set(r,s),s};function Zp(i){if(!i)return;const t=i.subCategories.includes("ceilingLight"),e=i.subCategories.includes("rug"),r=i.productResourceId,n=bo(r);return{preview:i.preview,manufacturer:i.manufacturer,productId:r,name:i.productDisplayName,fileKey:i.fileKey,tags:i.tags,categories:i.categories,subCategories:i.subCategories,boundingPoints:i.boundingPoints,boundingBox:i.boundingBox,seatCapacity:i.seatCapacity,texture:n,materials:[],matColors:i.matColors,colours:i.colours,order:Yp(i),isCeilingLamp:t,isCarpet:e,createdAt:i.createdAt,updatedAt:i.updatedAt,link:i.link}}function Jp(i,t){if(!t||t.type!=="interior")return;let e=fe(t);if(!e)return;let r=co(t,i.products[e]);r&&!i.products[e].materials.includes(r)&&i.products[e].materials.splice(0,0,r)}function Qp(i,t){const e=t.productDataCacheAge,r=e||24*3600*1e3;if(!i)return Promise.reject("product id missing");const n=Wp+i,s=t.promiseCache.get(n);if(s)return s;const o=So(n,e).then(a=>!a||!a.matColors?Dp(i).then(h=>(h.matColors={},h.colours&&h.colours.length&&h.colours.forEach(l=>{if(!l.includes(":"))return;let u=l.split(":"),f=po(u[1]);h.matColors[f]=u[2]}),Eo(n,h,r),h)):a).then(a=>{const h=Zp(a);t.resources.products[i]=h,t.productQueue[i].loadStage=1,t.emit("product-data",{productId:i,data:h})}).catch(a=>{console.warn(a.message)});return t.promiseCache.set(n,o),o}function Kp(i,t){const e=t.productContourCacheAge,r=e||10*24*3600*1e3;if(!i)return Promise.reject("product id missing");const n=Oo+i,s=t.promiseCache.get(n);if(s)return s;const o=So(n,e).then(a=>a||Rp(i).then(h=>(Eo(n,h,r),h))).catch(a=>{console.warn(a)});return t.promiseCache.set(n,o),o}function Lo(i,t){const{node:e,...r}=t;return{...r,resourceType:i,setHighlight:n=>{e.setHighlight(n)},node:e}}function td(i){return Lo("space",i)}function ed(i){return Lo("asset",i)}const Mo=i=>{const t=i.scene.nodesByType.interior;return Promise.all(t.map(e=>$p(e,i.loader).catch(r=>console.error(r)))).then(()=>{i.resources.assets=t.map(e=>{const r=nd(e,i.resources);return r&&ed(r)}).filter(e=>e)})};function id(i,t){!i||t.type!=="polyfloor"||(i.usage=t.usage,i.usageName=mo(t.usage),i.program=Yi(t.usage),i.name=t.name,i.customId=t.customId)}function rd(i,t){if(!i)return null;const e=fe(i),r=t.products[e];if(!r)return null;const{boundingPoints:n}=r;if(n){const{min:s,max:o}=n,a=[[s[0],s[2]],[s[0],o[2]],[o[0],o[2]],[o[0],s[2]]];return Et(i.getWorldPosition(),a)}return null}function nd(i,t){if(!i)return;const e=fe(i),r=t.products[e];if(!r){console.error("no productData",e,i);return}const n=i.getWorldPosition(),s=rd(i,t),o=s&&ki([s]);return{id:i.id,node:i,polygon:s,boundingBox:o,name:r.name,manufacturer:r.manufacturer,productId:e,tags:r.tags,categories:r.categories,subCategories:r.subCategories,dimensions:r.boundingBox,seatCapacity:r.seatCapacity,position:{x:n.x,y:n.y,z:n.z},rotation:n.ry}}const No=class{constructor({options:t={},scene:e}={}){this.settings=Pe(Gt),this.fpeId="fpe-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,3),this.resources={spaces:[],assets:[],products:{},productContours:{},productBoundingBoxes:{}},this.computed={wallContours:[],relations:{spaces:[]},snapPoints:[],snapMargin:0},this.isBrowser=typeof process!="object"&&typeof window<"u",this.location={latitude:0,longitude:0},this._emitter=new Yr,this.set(t),this.loader=new zp(this.resources,this.settings),this.scene=e||new cp,e&&this.initScene(e),this.utils={polygonOffset:Ui,polygonIntersection:kc,pointInPolygon:Fe,polygonUnion:Js},this.scene.on("scene-structure-loading",()=>{this.loader.isSceneStructureLoaded=!1}),this.scene.on("scene-structure-loaded",this.initScene,this)}on(t,e,r){return this._emitter.on(t,e,r),this}once(t,e,r){return this._emitter.once(t,e,r),this}off(t,e){return this._emitter.off(t,e),this}emit(t,...e){return this._emitter.emit(t,...e),this}initScene(t){this.loader.initialLoading||this.loader.reset(),this.scene||(this.scene=t),this.loader.isSceneStructureLoaded=!0,this.settings.theme.wallContours&&(this.computed.wallContours=$r(this.scene)),this.getSpaces(),this.loader.emit("spaces-loaded",!0),Mo(this).then(()=>{const e=this.settings.hideElements.includes("interior"),r=this.scene.nodesByType.interior.length===0;this.loader.emit("assets-loaded",!0),(e||r)&&this.loader.emit("loading-done",{totalCount:0})}),this.loader.initialLoading=!1}loadScene(t,e=this.settings.api){return new Promise((r,n)=>{(!t||typeof t!="string")&&n(`Expected non-empty string sceneId parameter instead got: "${t}"`);let s;try{s=Mp({...e,sdkVersion:No.version})}catch(o){n(o)}return this.loader.once("assets-loaded",r),Fp(t,s).then(o=>{var a;Up(this.fpeId);let h=(a=o.metadata)==null?void 0:a.postalAddress;return h!=null&&h.latitude&&(this.location.latitude=h.latitude,this.location.longitude=h.longitude),this.scene.loadSceneStructure(o.structure,{planRotation:this.settings.planRotation})}).catch(o=>{const a=typeof o=="string"?o:o&&o.message;n(a)})}).catch(r=>{throw kp(this.fpeId,r),r})}getSpaces(){let t=go({scene:this.scene});this.resources.spaces=t.map(e=>{let r=e.interiors;return delete e.interiors,td({...e,assets:r.map(n=>n.id)})})}set(t={}){var e,r,n,s,o,a,h;const l=(e=this.settings.hideElements)==null?void 0:e.includes("interior");let u=Pe(t);u.theme&&(u.theme=Kn(Gt.theme,u.theme)),u.ui&&(u.ui={...Gt.ui,...u.ui}),u.api&&(u.api={...Gt.api,...u.api}),u.units&&(u.units={...Gt.units,...u.units});const f=!((r=u.hideElements)!=null&&r.includes("interior"));for(let p in u)this.settings[p]=u[p];if((o=(s=(n=this.settings.theme)==null?void 0:n.elements)==null?void 0:s.space)!=null&&o.program){const p=this.settings.theme.elements.space.program,d={wash:"care",operate:"support",common:"socialize"};Object.keys(p).forEach(v=>{Object.keys(d).includes(v)&&(p[d[v]]=p[v],delete p[v])})}this.scene&&this.scene.node&&(l&&f&&Mo(this),(a=u.theme)!=null&&a.wallContours&&!((h=this.computed.wallContours)!=null&&h.length)&&(this.computed.wallContours=$r(this.scene)),this.scene.node.ry!==u.planRotation&&Number.isFinite(u.planRotation)&&(this.scene.node.set({ry:u.planRotation}),this.computed.wallContours&&(this.computed.wallContours=$r(this.scene))),this.getSpaces()),this.emit("update-settings",this.settings)}getResourcesFromPosition(t){const e=this.resources.spaces.filter(n=>Fe(t,n.polygons[0],n.polygons.slice(1))),r=[];return e.forEach(n=>{let s=this.resources.assets.filter(o=>n.assets.includes(o.id)).filter(o=>{var a;if(!((a=this.resources.products[o.productId])!=null&&a.isCeilingLamp&&!this.settings.showCeilingLamps)&&!(!o.polygon||!o.polygon.length))return Fe(t,o.polygon)});r.push(...s)}),{spaces:e,assets:r}}getElementBoundingBox(t,e=0){if(!t)return;let r,n;if(t instanceof ii?n=t.getWorldPosition():typeof t=="string"&&(r=this.scene.nodesById[t].find({id:t}),n=r&&r.getWorldPosition()),!n)return;let s;if(n.type==="interior"&&n.src){let a=fe(n),h=this.resources.productBoundingBoxes[a]||this.resources.productContours[a];s=h&&Et(n,h[0])}else n.type==="polyfloor"?s=Et(n,n.polygon):n.type!=="group"?s=Wr(n):s=[[n.x-2,n.z-2],[n.x+2,n.z-2],[n.x+2,n.z+2],[n.x-2,n.z+2]];const o=ki([s]);return{x:o.x-e,z:o.z-e,x2:o.x2+e,z2:o.z2+e,length:o.length+e*2,width:o.width+e*2}}destroy(){delete this.scene,delete this.resources,delete this.settings,delete this.utils}};let Fo=No;Fo.version="4.4.0";const Ro=(i,t,e=.15)=>{let r,n,s;for(const o of t)if(r=Math.abs(i[0]-o[0]),!(r>e)&&(n=Math.abs(i[1]-o[1]),r<e&&n<e)){s=o;break}return s};function sd(i,t,e){const r=new MutationObserver(()=>{function n(s){return s.parentNode===t?!1:s.parentNode===null?!0:n(s.parentNode)}n(i)&&(r.disconnect(),e())});r.observe(t,{childList:!0,subtree:!0})}function od(i,t,e){let{x:r,z:n,x2:s,z2:o,length:a,width:h}=i;const l=t/e;if(a/h>l){const u=h;h=a/l;const f=(u-h)/2;n+=f,o-=f}else{const u=a;a=h*l;const f=(u-a)/2;r+=f,s-=f}return{x:r,x2:s,z:n,z2:o,length:a,width:h}}function ad(i,t){var e,r;if(Yi(i.usage)==="void")return[];let{showUsage:n,showArea:s,roomStampDisplay:o}=((e=t.theme.elements)==null?void 0:e.roomStamp)||{};const a=t.spaceLabelMapping||{};let h;a[i.usage]!==void 0&&(h=a[i.usage]),a[i.id]!==void 0&&(h=a[i.id]);let l;switch(t.units.roomDimensions){case"area":l=Jn(i.area,t.units.system,t.units.areaDecimals);break;case"boundingBox":const{length:p,width:d}=i.boundingBox;l=`${ze(p,t.units.system,t.units.lengthDecimals)} x ${ze(d,t.units.system,t.units.lengthDecimals)}`;break;default:l="";break}let u=i.usageName;if(!u&&i.usage!=="undefined"&&(u=sh(i.usage||"")),h!==void 0&&(typeof h!="string"?console.warn("space label mapping has to be a string"):h.length>50?console.warn("space label mapping has to be less than 50 characters"):u=h),!o){const p=((r=t.theme.elements)==null?void 0:r.roomStamp)!==!1,d=n!==void 0||s!==void 0;o=[],p&&d?(n&&o.push("usage"),s&&o.push("area")):p&&o.push("usage","area")}const f=[];return o.forEach(p=>{var d,v;switch(p){case"name":(d=i.node)!=null&&d.name&&f.push(i.node.name);break;case"customId":(v=i.node)!=null&&v.customId&&f.push(i.node.customId);break;case"usage":f.push(u);break;case"area":f.push(l);break}}),f}function Do(i,t=0){return({door:31,window:31,column:30,wall:30,closet:20,railing:20,curtain:20,kitchen:20,group:12,box:11,polybox:11,interior:10,"a:helper:spaceDivider":5,stairs:5,floor:1,polyfloor:1,floorplan:0,floorplanDxf:0}[i]||0)+t}/*!
|
|
35
|
+
* @pixi/extensions - v6.5.9
|
|
36
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
37
|
+
*
|
|
38
|
+
* @pixi/extensions is licensed under the MIT License.
|
|
39
|
+
* http://www.opensource.org/licenses/mit-license
|
|
40
|
+
*//*! *****************************************************************************
|
|
41
|
+
Copyright (c) Microsoft Corporation.
|
|
42
|
+
|
|
43
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
44
|
+
purpose with or without fee is hereby granted.
|
|
45
|
+
|
|
46
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
47
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
48
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
49
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
50
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
51
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
52
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
53
|
+
***************************************************************************** */var si=function(){return si=Object.assign||function(t){for(var e=arguments,r,n=1,s=arguments.length;n<s;n++){r=e[n];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},si.apply(this,arguments)},ut;(function(i){i.Application="application",i.RendererPlugin="renderer-webgl-plugin",i.CanvasRendererPlugin="renderer-canvas-plugin",i.Loader="loader",i.LoadParser="load-parser",i.ResolveParser="resolve-parser",i.CacheParser="cache-parser",i.DetectionParser="detection-parser"})(ut||(ut={}));var Bo=function(i){if(typeof i=="function"||typeof i=="object"&&i.extension){if(!i.extension)throw new Error("Extension class must have an extension object");var t=typeof i.extension!="object"?{type:i.extension}:i.extension;i=si(si({},t),{ref:i})}if(typeof i=="object")i=si({},i);else throw new Error("Invalid extension type");return typeof i.type=="string"&&(i.type=[i.type]),i},St={_addHandlers:null,_removeHandlers:null,_queue:{},remove:function(){for(var i=arguments,t=this,e=[],r=0;r<arguments.length;r++)e[r]=i[r];return e.map(Bo).forEach(function(n){n.type.forEach(function(s){var o,a;return(a=(o=t._removeHandlers)[s])===null||a===void 0?void 0:a.call(o,n)})}),this},add:function(){for(var i=arguments,t=this,e=[],r=0;r<arguments.length;r++)e[r]=i[r];return e.map(Bo).forEach(function(n){n.type.forEach(function(s){var o=t._addHandlers,a=t._queue;o[s]?o[s](n):(a[s]=a[s]||[],a[s].push(n))})}),this},handle:function(i,t,e){var r=this._addHandlers=this._addHandlers||{},n=this._removeHandlers=this._removeHandlers||{};if(r[i]||n[i])throw new Error("Extension type "+i+" already has a handler");r[i]=t,n[i]=e;var s=this._queue;return s[i]&&(s[i].forEach(function(o){return t(o)}),delete s[i]),this},handleByMap:function(i,t){return this.handle(i,function(e){t[e.name]=e.ref},function(e){delete t[e.name]})},handleByList:function(i,t){return this.handle(i,function(e){var r,n;t.includes(e.ref)||(t.push(e.ref),i===ut.Loader&&((n=(r=e.ref).add)===null||n===void 0||n.call(r)))},function(e){var r=t.indexOf(e.ref);r!==-1&&t.splice(r,1)})}};/*!
|
|
54
|
+
* @pixi/runner - v6.5.9
|
|
55
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
56
|
+
*
|
|
57
|
+
* @pixi/runner is licensed under the MIT License.
|
|
58
|
+
* http://www.opensource.org/licenses/mit-license
|
|
59
|
+
*/var st=function(){function i(t){this.items=[],this._name=t,this._aliasCount=0}return i.prototype.emit=function(t,e,r,n,s,o,a,h){if(arguments.length>8)throw new Error("max arguments reached");var l=this,u=l.name,f=l.items;this._aliasCount++;for(var p=0,d=f.length;p<d;p++)f[p][u](t,e,r,n,s,o,a,h);return f===this.items&&this._aliasCount--,this},i.prototype.ensureNonAliasedItems=function(){this._aliasCount>0&&this.items.length>1&&(this._aliasCount=0,this.items=this.items.slice(0))},i.prototype.add=function(t){return t[this._name]&&(this.ensureNonAliasedItems(),this.remove(t),this.items.push(t)),this},i.prototype.remove=function(t){var e=this.items.indexOf(t);return e!==-1&&(this.ensureNonAliasedItems(),this.items.splice(e,1)),this},i.prototype.contains=function(t){return this.items.indexOf(t)!==-1},i.prototype.removeAll=function(){return this.ensureNonAliasedItems(),this.items.length=0,this},i.prototype.destroy=function(){this.removeAll(),this.items=null,this._name=null},Object.defineProperty(i.prototype,"empty",{get:function(){return this.items.length===0},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"name",{get:function(){return this._name},enumerable:!1,configurable:!0}),i}();Object.defineProperties(st.prototype,{dispatch:{value:st.prototype.emit},run:{value:st.prototype.emit}});/*!
|
|
60
|
+
* @pixi/ticker - v6.5.9
|
|
61
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
62
|
+
*
|
|
63
|
+
* @pixi/ticker is licensed under the MIT License.
|
|
64
|
+
* http://www.opensource.org/licenses/mit-license
|
|
65
|
+
*/M.TARGET_FPMS=.06;var Qt;(function(i){i[i.INTERACTION=50]="INTERACTION",i[i.HIGH=25]="HIGH",i[i.NORMAL=0]="NORMAL",i[i.LOW=-25]="LOW",i[i.UTILITY=-50]="UTILITY"})(Qt||(Qt={}));var Kr=function(){function i(t,e,r,n){e===void 0&&(e=null),r===void 0&&(r=0),n===void 0&&(n=!1),this.next=null,this.previous=null,this._destroyed=!1,this.fn=t,this.context=e,this.priority=r,this.once=n}return i.prototype.match=function(t,e){return e===void 0&&(e=null),this.fn===t&&this.context===e},i.prototype.emit=function(t){this.fn&&(this.context?this.fn.call(this.context,t):this.fn(t));var e=this.next;return this.once&&this.destroy(!0),this._destroyed&&(this.next=null),e},i.prototype.connect=function(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this},i.prototype.destroy=function(t){t===void 0&&(t=!1),this._destroyed=!0,this.fn=null,this.context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);var e=this.next;return this.next=t?null:e,this.previous=null,e},i}(),ft=function(){function i(){var t=this;this.autoStart=!1,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=!1,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=!1,this._lastFrame=-1,this._head=new Kr(null,null,1/0),this.deltaMS=1/M.TARGET_FPMS,this.elapsedMS=1/M.TARGET_FPMS,this._tick=function(e){t._requestId=null,t.started&&(t.update(e),t.started&&t._requestId===null&&t._head.next&&(t._requestId=requestAnimationFrame(t._tick)))}}return i.prototype._requestIfNeeded=function(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))},i.prototype._cancelIfNeeded=function(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null)},i.prototype._startIfPossible=function(){this.started?this._requestIfNeeded():this.autoStart&&this.start()},i.prototype.add=function(t,e,r){return r===void 0&&(r=Qt.NORMAL),this._addListener(new Kr(t,e,r))},i.prototype.addOnce=function(t,e,r){return r===void 0&&(r=Qt.NORMAL),this._addListener(new Kr(t,e,r,!0))},i.prototype._addListener=function(t){var e=this._head.next,r=this._head;if(!e)t.connect(r);else{for(;e;){if(t.priority>e.priority){t.connect(r);break}r=e,e=e.next}t.previous||t.connect(r)}return this._startIfPossible(),this},i.prototype.remove=function(t,e){for(var r=this._head.next;r;)r.match(t,e)?r=r.destroy():r=r.next;return this._head.next||this._cancelIfNeeded(),this},Object.defineProperty(i.prototype,"count",{get:function(){if(!this._head)return 0;for(var t=0,e=this._head;e=e.next;)t++;return t},enumerable:!1,configurable:!0}),i.prototype.start=function(){this.started||(this.started=!0,this._requestIfNeeded())},i.prototype.stop=function(){this.started&&(this.started=!1,this._cancelIfNeeded())},i.prototype.destroy=function(){if(!this._protected){this.stop();for(var t=this._head.next;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}},i.prototype.update=function(t){t===void 0&&(t=performance.now());var e;if(t>this.lastTime){if(e=this.elapsedMS=t-this.lastTime,e>this._maxElapsedMS&&(e=this._maxElapsedMS),e*=this.speed,this._minElapsedMS){var r=t-this._lastFrame|0;if(r<this._minElapsedMS)return;this._lastFrame=t-r%this._minElapsedMS}this.deltaMS=e,this.deltaTime=this.deltaMS*M.TARGET_FPMS;for(var n=this._head,s=n.next;s;)s=s.emit(this.deltaTime);n.next||this._cancelIfNeeded()}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=t},Object.defineProperty(i.prototype,"FPS",{get:function(){return 1e3/this.elapsedMS},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"minFPS",{get:function(){return 1e3/this._maxElapsedMS},set:function(t){var e=Math.min(this.maxFPS,t),r=Math.min(Math.max(0,e)/1e3,M.TARGET_FPMS);this._maxElapsedMS=1/r},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"maxFPS",{get:function(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0},set:function(t){if(t===0)this._minElapsedMS=0;else{var e=Math.max(this.minFPS,t);this._minElapsedMS=1/(e/1e3)}},enumerable:!1,configurable:!0}),Object.defineProperty(i,"shared",{get:function(){if(!i._shared){var t=i._shared=new i;t.autoStart=!0,t._protected=!0}return i._shared},enumerable:!1,configurable:!0}),Object.defineProperty(i,"system",{get:function(){if(!i._system){var t=i._system=new i;t.autoStart=!0,t._protected=!0}return i._system},enumerable:!1,configurable:!0}),i}();(function(){function i(){}return i.init=function(t){var e=this;t=Object.assign({autoStart:!0,sharedTicker:!1},t),Object.defineProperty(this,"ticker",{set:function(r){this._ticker&&this._ticker.remove(this.render,this),this._ticker=r,r&&r.add(this.render,this,Qt.LOW)},get:function(){return this._ticker}}),this.stop=function(){e._ticker.stop()},this.start=function(){e._ticker.start()},this._ticker=null,this.ticker=t.sharedTicker?ft.shared:new ft,t.autoStart&&this.start()},i.destroy=function(){if(this._ticker){var t=this._ticker;this.ticker=null,t.destroy()}},i.extension=ut.Application,i})();/*!
|
|
66
|
+
* @pixi/math - v6.5.9
|
|
67
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
68
|
+
*
|
|
69
|
+
* @pixi/math is licensed under the MIT License.
|
|
70
|
+
* http://www.opensource.org/licenses/mit-license
|
|
71
|
+
*/var Wi=Math.PI*2,hd=180/Math.PI,ld=Math.PI/180,H;(function(i){i[i.POLY=0]="POLY",i[i.RECT=1]="RECT",i[i.CIRC=2]="CIRC",i[i.ELIP=3]="ELIP",i[i.RREC=4]="RREC"})(H||(H={}));var B=function(){function i(t,e){t===void 0&&(t=0),e===void 0&&(e=0),this.x=0,this.y=0,this.x=t,this.y=e}return i.prototype.clone=function(){return new i(this.x,this.y)},i.prototype.copyFrom=function(t){return this.set(t.x,t.y),this},i.prototype.copyTo=function(t){return t.set(this.x,this.y),t},i.prototype.equals=function(t){return t.x===this.x&&t.y===this.y},i.prototype.set=function(t,e){return t===void 0&&(t=0),e===void 0&&(e=t),this.x=t,this.y=e,this},i.prototype.toString=function(){return"[@pixi/math:Point x="+this.x+" y="+this.y+"]"},i}(),zi=[new B,new B,new B,new B],U=function(){function i(t,e,r,n){t===void 0&&(t=0),e===void 0&&(e=0),r===void 0&&(r=0),n===void 0&&(n=0),this.x=Number(t),this.y=Number(e),this.width=Number(r),this.height=Number(n),this.type=H.RECT}return Object.defineProperty(i.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(i,"EMPTY",{get:function(){return new i(0,0,0,0)},enumerable:!1,configurable:!0}),i.prototype.clone=function(){return new i(this.x,this.y,this.width,this.height)},i.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this},i.prototype.copyTo=function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},i.prototype.contains=function(t,e){return this.width<=0||this.height<=0?!1:t>=this.x&&t<this.x+this.width&&e>=this.y&&e<this.y+this.height},i.prototype.intersects=function(t,e){if(!e){var r=this.x<t.x?t.x:this.x,n=this.right>t.right?t.right:this.right;if(n<=r)return!1;var s=this.y<t.y?t.y:this.y,o=this.bottom>t.bottom?t.bottom:this.bottom;return o>s}var a=this.left,h=this.right,l=this.top,u=this.bottom;if(h<=a||u<=l)return!1;var f=zi[0].set(t.left,t.top),p=zi[1].set(t.left,t.bottom),d=zi[2].set(t.right,t.top),v=zi[3].set(t.right,t.bottom);if(d.x<=f.x||p.y<=f.y)return!1;var m=Math.sign(e.a*e.d-e.b*e.c);if(m===0||(e.apply(f,f),e.apply(p,p),e.apply(d,d),e.apply(v,v),Math.max(f.x,p.x,d.x,v.x)<=a||Math.min(f.x,p.x,d.x,v.x)>=h||Math.max(f.y,p.y,d.y,v.y)<=l||Math.min(f.y,p.y,d.y,v.y)>=u))return!1;var y=m*(p.y-f.y),g=m*(f.x-p.x),w=y*a+g*l,_=y*h+g*l,b=y*a+g*u,x=y*h+g*u;if(Math.max(w,_,b,x)<=y*f.x+g*f.y||Math.min(w,_,b,x)>=y*v.x+g*v.y)return!1;var P=m*(f.y-d.y),I=m*(d.x-f.x),N=P*a+I*l,C=P*h+I*l,E=P*a+I*u,F=P*h+I*u;return!(Math.max(N,C,E,F)<=P*f.x+I*f.y||Math.min(N,C,E,F)>=P*v.x+I*v.y)},i.prototype.pad=function(t,e){return t===void 0&&(t=0),e===void 0&&(e=t),this.x-=t,this.y-=e,this.width+=t*2,this.height+=e*2,this},i.prototype.fit=function(t){var e=Math.max(this.x,t.x),r=Math.min(this.x+this.width,t.x+t.width),n=Math.max(this.y,t.y),s=Math.min(this.y+this.height,t.y+t.height);return this.x=e,this.width=Math.max(r-e,0),this.y=n,this.height=Math.max(s-n,0),this},i.prototype.ceil=function(t,e){t===void 0&&(t=1),e===void 0&&(e=.001);var r=Math.ceil((this.x+this.width-e)*t)/t,n=Math.ceil((this.y+this.height-e)*t)/t;return this.x=Math.floor((this.x+e)*t)/t,this.y=Math.floor((this.y+e)*t)/t,this.width=r-this.x,this.height=n-this.y,this},i.prototype.enlarge=function(t){var e=Math.min(this.x,t.x),r=Math.max(this.x+this.width,t.x+t.width),n=Math.min(this.y,t.y),s=Math.max(this.y+this.height,t.y+t.height);return this.x=e,this.width=r-e,this.y=n,this.height=s-n,this},i.prototype.toString=function(){return"[@pixi/math:Rectangle x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+"]"},i}(),ud=function(){function i(t,e,r){t===void 0&&(t=0),e===void 0&&(e=0),r===void 0&&(r=0),this.x=t,this.y=e,this.radius=r,this.type=H.CIRC}return i.prototype.clone=function(){return new i(this.x,this.y,this.radius)},i.prototype.contains=function(t,e){if(this.radius<=0)return!1;var r=this.radius*this.radius,n=this.x-t,s=this.y-e;return n*=n,s*=s,n+s<=r},i.prototype.getBounds=function(){return new U(this.x-this.radius,this.y-this.radius,this.radius*2,this.radius*2)},i.prototype.toString=function(){return"[@pixi/math:Circle x="+this.x+" y="+this.y+" radius="+this.radius+"]"},i}(),fd=function(){function i(t,e,r,n){t===void 0&&(t=0),e===void 0&&(e=0),r===void 0&&(r=0),n===void 0&&(n=0),this.x=t,this.y=e,this.width=r,this.height=n,this.type=H.ELIP}return i.prototype.clone=function(){return new i(this.x,this.y,this.width,this.height)},i.prototype.contains=function(t,e){if(this.width<=0||this.height<=0)return!1;var r=(t-this.x)/this.width,n=(e-this.y)/this.height;return r*=r,n*=n,r+n<=1},i.prototype.getBounds=function(){return new U(this.x-this.width,this.y-this.height,this.width,this.height)},i.prototype.toString=function(){return"[@pixi/math:Ellipse x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+"]"},i}(),tn=function(){function i(){for(var t=arguments,e=[],r=0;r<arguments.length;r++)e[r]=t[r];var n=Array.isArray(e[0])?e[0]:e;if(typeof n[0]!="number"){for(var s=[],o=0,a=n.length;o<a;o++)s.push(n[o].x,n[o].y);n=s}this.points=n,this.type=H.POLY,this.closeStroke=!0}return i.prototype.clone=function(){var t=this.points.slice(),e=new i(t);return e.closeStroke=this.closeStroke,e},i.prototype.contains=function(t,e){for(var r=!1,n=this.points.length/2,s=0,o=n-1;s<n;o=s++){var a=this.points[s*2],h=this.points[s*2+1],l=this.points[o*2],u=this.points[o*2+1],f=h>e!=u>e&&t<(l-a)*((e-h)/(u-h))+a;f&&(r=!r)}return r},i.prototype.toString=function(){return"[@pixi/math:Polygon"+("closeStroke="+this.closeStroke)+("points="+this.points.reduce(function(t,e){return t+", "+e},"")+"]")},i}(),cd=function(){function i(t,e,r,n,s){t===void 0&&(t=0),e===void 0&&(e=0),r===void 0&&(r=0),n===void 0&&(n=0),s===void 0&&(s=20),this.x=t,this.y=e,this.width=r,this.height=n,this.radius=s,this.type=H.RREC}return i.prototype.clone=function(){return new i(this.x,this.y,this.width,this.height,this.radius)},i.prototype.contains=function(t,e){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){var r=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(e>=this.y+r&&e<=this.y+this.height-r||t>=this.x+r&&t<=this.x+this.width-r)return!0;var n=t-(this.x+r),s=e-(this.y+r),o=r*r;if(n*n+s*s<=o||(n=t-(this.x+this.width-r),n*n+s*s<=o)||(s=e-(this.y+this.height-r),n*n+s*s<=o)||(n=t-(this.x+r),n*n+s*s<=o))return!0}return!1},i.prototype.toString=function(){return"[@pixi/math:RoundedRectangle x="+this.x+" y="+this.y+("width="+this.width+" height="+this.height+" radius="+this.radius+"]")},i}(),oi=function(){function i(t,e,r,n){r===void 0&&(r=0),n===void 0&&(n=0),this._x=r,this._y=n,this.cb=t,this.scope=e}return i.prototype.clone=function(t,e){return t===void 0&&(t=this.cb),e===void 0&&(e=this.scope),new i(t,e,this._x,this._y)},i.prototype.set=function(t,e){return t===void 0&&(t=0),e===void 0&&(e=t),(this._x!==t||this._y!==e)&&(this._x=t,this._y=e,this.cb.call(this.scope)),this},i.prototype.copyFrom=function(t){return(this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this.cb.call(this.scope)),this},i.prototype.copyTo=function(t){return t.set(this._x,this._y),t},i.prototype.equals=function(t){return t.x===this._x&&t.y===this._y},i.prototype.toString=function(){return"[@pixi/math:ObservablePoint x=0 y=0 scope="+this.scope+"]"},Object.defineProperty(i.prototype,"x",{get:function(){return this._x},set:function(t){this._x!==t&&(this._x=t,this.cb.call(this.scope))},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"y",{get:function(){return this._y},set:function(t){this._y!==t&&(this._y=t,this.cb.call(this.scope))},enumerable:!1,configurable:!0}),i}(),tt=function(){function i(t,e,r,n,s,o){t===void 0&&(t=1),e===void 0&&(e=0),r===void 0&&(r=0),n===void 0&&(n=1),s===void 0&&(s=0),o===void 0&&(o=0),this.array=null,this.a=t,this.b=e,this.c=r,this.d=n,this.tx=s,this.ty=o}return i.prototype.fromArray=function(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]},i.prototype.set=function(t,e,r,n,s,o){return this.a=t,this.b=e,this.c=r,this.d=n,this.tx=s,this.ty=o,this},i.prototype.toArray=function(t,e){this.array||(this.array=new Float32Array(9));var r=e||this.array;return t?(r[0]=this.a,r[1]=this.b,r[2]=0,r[3]=this.c,r[4]=this.d,r[5]=0,r[6]=this.tx,r[7]=this.ty,r[8]=1):(r[0]=this.a,r[1]=this.c,r[2]=this.tx,r[3]=this.b,r[4]=this.d,r[5]=this.ty,r[6]=0,r[7]=0,r[8]=1),r},i.prototype.apply=function(t,e){e=e||new B;var r=t.x,n=t.y;return e.x=this.a*r+this.c*n+this.tx,e.y=this.b*r+this.d*n+this.ty,e},i.prototype.applyInverse=function(t,e){e=e||new B;var r=1/(this.a*this.d+this.c*-this.b),n=t.x,s=t.y;return e.x=this.d*r*n+-this.c*r*s+(this.ty*this.c-this.tx*this.d)*r,e.y=this.a*r*s+-this.b*r*n+(-this.ty*this.a+this.tx*this.b)*r,e},i.prototype.translate=function(t,e){return this.tx+=t,this.ty+=e,this},i.prototype.scale=function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},i.prototype.rotate=function(t){var e=Math.cos(t),r=Math.sin(t),n=this.a,s=this.c,o=this.tx;return this.a=n*e-this.b*r,this.b=n*r+this.b*e,this.c=s*e-this.d*r,this.d=s*r+this.d*e,this.tx=o*e-this.ty*r,this.ty=o*r+this.ty*e,this},i.prototype.append=function(t){var e=this.a,r=this.b,n=this.c,s=this.d;return this.a=t.a*e+t.b*n,this.b=t.a*r+t.b*s,this.c=t.c*e+t.d*n,this.d=t.c*r+t.d*s,this.tx=t.tx*e+t.ty*n+this.tx,this.ty=t.tx*r+t.ty*s+this.ty,this},i.prototype.setTransform=function(t,e,r,n,s,o,a,h,l){return this.a=Math.cos(a+l)*s,this.b=Math.sin(a+l)*s,this.c=-Math.sin(a-h)*o,this.d=Math.cos(a-h)*o,this.tx=t-(r*this.a+n*this.c),this.ty=e-(r*this.b+n*this.d),this},i.prototype.prepend=function(t){var e=this.tx;if(t.a!==1||t.b!==0||t.c!==0||t.d!==1){var r=this.a,n=this.c;this.a=r*t.a+this.b*t.c,this.b=r*t.b+this.b*t.d,this.c=n*t.a+this.d*t.c,this.d=n*t.b+this.d*t.d}return this.tx=e*t.a+this.ty*t.c+t.tx,this.ty=e*t.b+this.ty*t.d+t.ty,this},i.prototype.decompose=function(t){var e=this.a,r=this.b,n=this.c,s=this.d,o=t.pivot,a=-Math.atan2(-n,s),h=Math.atan2(r,e),l=Math.abs(a+h);return l<1e-5||Math.abs(Wi-l)<1e-5?(t.rotation=h,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=a,t.skew.y=h),t.scale.x=Math.sqrt(e*e+r*r),t.scale.y=Math.sqrt(n*n+s*s),t.position.x=this.tx+(o.x*e+o.y*n),t.position.y=this.ty+(o.x*r+o.y*s),t},i.prototype.invert=function(){var t=this.a,e=this.b,r=this.c,n=this.d,s=this.tx,o=t*n-e*r;return this.a=n/o,this.b=-e/o,this.c=-r/o,this.d=t/o,this.tx=(r*this.ty-n*s)/o,this.ty=-(t*this.ty-e*s)/o,this},i.prototype.identity=function(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this},i.prototype.clone=function(){var t=new i;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t},i.prototype.copyTo=function(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t},i.prototype.copyFrom=function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},i.prototype.toString=function(){return"[@pixi/math:Matrix a="+this.a+" b="+this.b+" c="+this.c+" d="+this.d+" tx="+this.tx+" ty="+this.ty+"]"},Object.defineProperty(i,"IDENTITY",{get:function(){return new i},enumerable:!1,configurable:!0}),Object.defineProperty(i,"TEMP_MATRIX",{get:function(){return new i},enumerable:!1,configurable:!0}),i}(),ce=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],pe=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],de=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],ve=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],en=[],ko=[],$i=Math.sign;function pd(){for(var i=0;i<16;i++){var t=[];en.push(t);for(var e=0;e<16;e++)for(var r=$i(ce[i]*ce[e]+de[i]*pe[e]),n=$i(pe[i]*ce[e]+ve[i]*pe[e]),s=$i(ce[i]*de[e]+de[i]*ve[e]),o=$i(pe[i]*de[e]+ve[i]*ve[e]),a=0;a<16;a++)if(ce[a]===r&&pe[a]===n&&de[a]===s&&ve[a]===o){t.push(a);break}}for(var i=0;i<16;i++){var h=new tt;h.set(ce[i],pe[i],de[i],ve[i],0,0),ko.push(h)}}pd();var j={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:function(i){return ce[i]},uY:function(i){return pe[i]},vX:function(i){return de[i]},vY:function(i){return ve[i]},inv:function(i){return i&8?i&15:-i&7},add:function(i,t){return en[i][t]},sub:function(i,t){return en[i][j.inv(t)]},rotate180:function(i){return i^4},isVertical:function(i){return(i&3)===2},byDirection:function(i,t){return Math.abs(i)*2<=Math.abs(t)?t>=0?j.S:j.N:Math.abs(t)*2<=Math.abs(i)?i>0?j.E:j.W:t>0?i>0?j.SE:j.SW:i>0?j.NE:j.NW},matrixAppendRotationInv:function(i,t,e,r){e===void 0&&(e=0),r===void 0&&(r=0);var n=ko[j.inv(t)];n.tx=e,n.ty=r,i.append(n)}},dd=function(){function i(){this.worldTransform=new tt,this.localTransform=new tt,this.position=new oi(this.onChange,this,0,0),this.scale=new oi(this.onChange,this,1,1),this.pivot=new oi(this.onChange,this,0,0),this.skew=new oi(this.updateSkew,this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._localID=0,this._currentLocalID=0,this._worldID=0,this._parentID=0}return i.prototype.onChange=function(){this._localID++},i.prototype.updateSkew=function(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this._localID++},i.prototype.toString=function(){return"[@pixi/math:Transform "+("position=("+this.position.x+", "+this.position.y+") ")+("rotation="+this.rotation+" ")+("scale=("+this.scale.x+", "+this.scale.y+") ")+("skew=("+this.skew.x+", "+this.skew.y+") ")+"]"},i.prototype.updateLocalTransform=function(){var t=this.localTransform;this._localID!==this._currentLocalID&&(t.a=this._cx*this.scale.x,t.b=this._sx*this.scale.x,t.c=this._cy*this.scale.y,t.d=this._sy*this.scale.y,t.tx=this.position.x-(this.pivot.x*t.a+this.pivot.y*t.c),t.ty=this.position.y-(this.pivot.x*t.b+this.pivot.y*t.d),this._currentLocalID=this._localID,this._parentID=-1)},i.prototype.updateTransform=function(t){var e=this.localTransform;if(this._localID!==this._currentLocalID&&(e.a=this._cx*this.scale.x,e.b=this._sx*this.scale.x,e.c=this._cy*this.scale.y,e.d=this._sy*this.scale.y,e.tx=this.position.x-(this.pivot.x*e.a+this.pivot.y*e.c),e.ty=this.position.y-(this.pivot.x*e.b+this.pivot.y*e.d),this._currentLocalID=this._localID,this._parentID=-1),this._parentID!==t._worldID){var r=t.worldTransform,n=this.worldTransform;n.a=e.a*r.a+e.b*r.c,n.b=e.a*r.b+e.b*r.d,n.c=e.c*r.a+e.d*r.c,n.d=e.c*r.b+e.d*r.d,n.tx=e.tx*r.a+e.ty*r.c+r.tx,n.ty=e.tx*r.b+e.ty*r.d+r.ty,this._parentID=t._worldID,this._worldID++}},i.prototype.setFromMatrix=function(t){t.decompose(this),this._localID++},Object.defineProperty(i.prototype,"rotation",{get:function(){return this._rotation},set:function(t){this._rotation!==t&&(this._rotation=t,this.updateSkew())},enumerable:!1,configurable:!0}),i.IDENTITY=new i,i}();/*!
|
|
72
|
+
* @pixi/core - v6.5.9
|
|
73
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
74
|
+
*
|
|
75
|
+
* @pixi/core is licensed under the MIT License.
|
|
76
|
+
* http://www.opensource.org/licenses/mit-license
|
|
77
|
+
*/M.PREFER_ENV=ae.any?Ft.WEBGL:Ft.WEBGL2,M.STRICT_TEXTURE_CACHE=!1;var rn=[];function Uo(i,t){if(!i)return null;var e="";if(typeof i=="string"){var r=/\.(\w{3,4})(?:$|\?|#)/i.exec(i);r&&(e=r[1].toLowerCase())}for(var n=rn.length-1;n>=0;--n){var s=rn[n];if(s.test&&s.test(i,e))return new s(i,t)}throw new Error("Unrecognized source type to auto-detect Resource")}/*! *****************************************************************************
|
|
78
|
+
Copyright (c) Microsoft Corporation.
|
|
79
|
+
|
|
80
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
81
|
+
purpose with or without fee is hereby granted.
|
|
82
|
+
|
|
83
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
84
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
85
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
86
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
87
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
88
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
89
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
90
|
+
***************************************************************************** */var nn=function(i,t){return nn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])},nn(i,t)};function z(i,t){nn(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var sn=function(){return sn=Object.assign||function(t){for(var e=arguments,r,n=1,s=arguments.length;n<s;n++){r=e[n];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},sn.apply(this,arguments)};function vd(i,t){var e={};for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&t.indexOf(r)<0&&(e[r]=i[r]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,r=Object.getOwnPropertySymbols(i);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(i,r[n])&&(e[r[n]]=i[r[n]]);return e}var ai=function(){function i(t,e){t===void 0&&(t=0),e===void 0&&(e=0),this._width=t,this._height=e,this.destroyed=!1,this.internal=!1,this.onResize=new st("setRealSize"),this.onUpdate=new st("update"),this.onError=new st("onError")}return i.prototype.bind=function(t){this.onResize.add(t),this.onUpdate.add(t),this.onError.add(t),(this._width||this._height)&&this.onResize.emit(this._width,this._height)},i.prototype.unbind=function(t){this.onResize.remove(t),this.onUpdate.remove(t),this.onError.remove(t)},i.prototype.resize=function(t,e){(t!==this._width||e!==this._height)&&(this._width=t,this._height=e,this.onResize.emit(t,e))},Object.defineProperty(i.prototype,"valid",{get:function(){return!!this._width&&!!this._height},enumerable:!1,configurable:!0}),i.prototype.update=function(){this.destroyed||this.onUpdate.emit()},i.prototype.load=function(){return Promise.resolve(this)},Object.defineProperty(i.prototype,"width",{get:function(){return this._width},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"height",{get:function(){return this._height},enumerable:!1,configurable:!0}),i.prototype.style=function(t,e,r){return!1},i.prototype.dispose=function(){},i.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.dispose(),this.onError.removeAll(),this.onError=null,this.onResize.removeAll(),this.onResize=null,this.onUpdate.removeAll(),this.onUpdate=null)},i.test=function(t,e){return!1},i}(),on=function(i){z(t,i);function t(e,r){var n=this,s=r||{},o=s.width,a=s.height;if(!o||!a)throw new Error("BufferResource width or height invalid");return n=i.call(this,o,a)||this,n.data=e,n}return t.prototype.upload=function(e,r,n){var s=e.gl;s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===qt.UNPACK);var o=r.realWidth,a=r.realHeight;return n.width===o&&n.height===a?s.texSubImage2D(r.target,0,0,0,o,a,r.format,n.type,this.data):(n.width=o,n.height=a,s.texImage2D(r.target,0,n.internalFormat,o,a,0,r.format,n.type,this.data)),!0},t.prototype.dispose=function(){this.data=null},t.test=function(e){return e instanceof Float32Array||e instanceof Uint8Array||e instanceof Uint32Array},t}(ai),yd={scaleMode:lt.NEAREST,format:L.RGBA,alphaMode:qt.NPM},$=function(i){z(t,i);function t(e,r){e===void 0&&(e=null),r===void 0&&(r=null);var n=i.call(this)||this;r=r||{};var s=r.alphaMode,o=r.mipmap,a=r.anisotropicLevel,h=r.scaleMode,l=r.width,u=r.height,f=r.wrapMode,p=r.format,d=r.type,v=r.target,m=r.resolution,y=r.resourceOptions;return e&&!(e instanceof ai)&&(e=Uo(e,y),e.internal=!0),n.resolution=m||M.RESOLUTION,n.width=Math.round((l||0)*n.resolution)/n.resolution,n.height=Math.round((u||0)*n.resolution)/n.resolution,n._mipmap=o!==void 0?o:M.MIPMAP_TEXTURES,n.anisotropicLevel=a!==void 0?a:M.ANISOTROPIC_LEVEL,n._wrapMode=f||M.WRAP_MODE,n._scaleMode=h!==void 0?h:M.SCALE_MODE,n.format=p||L.RGBA,n.type=d||X.UNSIGNED_BYTE,n.target=v||oe.TEXTURE_2D,n.alphaMode=s!==void 0?s:qt.UNPACK,n.uid=Je(),n.touched=0,n.isPowerOfTwo=!1,n._refreshPOT(),n._glTextures={},n.dirtyId=0,n.dirtyStyleId=0,n.cacheId=null,n.valid=l>0&&u>0,n.textureCacheIds=[],n.destroyed=!1,n.resource=null,n._batchEnabled=0,n._batchLocation=0,n.parentTextureArray=null,n.setResource(e),n}return Object.defineProperty(t.prototype,"realWidth",{get:function(){return Math.round(this.width*this.resolution)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"realHeight",{get:function(){return Math.round(this.height*this.resolution)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mipmap",{get:function(){return this._mipmap},set:function(e){this._mipmap!==e&&(this._mipmap=e,this.dirtyStyleId++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(e){this._scaleMode!==e&&(this._scaleMode=e,this.dirtyStyleId++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"wrapMode",{get:function(){return this._wrapMode},set:function(e){this._wrapMode!==e&&(this._wrapMode=e,this.dirtyStyleId++)},enumerable:!1,configurable:!0}),t.prototype.setStyle=function(e,r){var n;return e!==void 0&&e!==this.scaleMode&&(this.scaleMode=e,n=!0),r!==void 0&&r!==this.mipmap&&(this.mipmap=r,n=!0),n&&this.dirtyStyleId++,this},t.prototype.setSize=function(e,r,n){return n=n||this.resolution,this.setRealSize(e*n,r*n,n)},t.prototype.setRealSize=function(e,r,n){return this.resolution=n||this.resolution,this.width=Math.round(e)/this.resolution,this.height=Math.round(r)/this.resolution,this._refreshPOT(),this.update(),this},t.prototype._refreshPOT=function(){this.isPowerOfTwo=Rs(this.realWidth)&&Rs(this.realHeight)},t.prototype.setResolution=function(e){var r=this.resolution;return r===e?this:(this.resolution=e,this.valid&&(this.width=Math.round(this.width*r)/e,this.height=Math.round(this.height*r)/e,this.emit("update",this)),this._refreshPOT(),this)},t.prototype.setResource=function(e){if(this.resource===e)return this;if(this.resource)throw new Error("Resource can be set only once");return e.bind(this),this.resource=e,this},t.prototype.update=function(){this.valid?(this.dirtyId++,this.dirtyStyleId++,this.emit("update",this)):this.width>0&&this.height>0&&(this.valid=!0,this.emit("loaded",this),this.emit("update",this))},t.prototype.onError=function(e){this.emit("error",this,e)},t.prototype.destroy=function(){this.resource&&(this.resource.unbind(this),this.resource.internal&&this.resource.destroy(),this.resource=null),this.cacheId&&(delete Ut[this.cacheId],delete wt[this.cacheId],this.cacheId=null),this.dispose(),t.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0},t.prototype.dispose=function(){this.emit("dispose",this)},t.prototype.castToBaseTexture=function(){return this},t.from=function(e,r,n){n===void 0&&(n=M.STRICT_TEXTURE_CACHE);var s=typeof e=="string",o=null;if(s)o=e;else{if(!e._pixiId){var a=r&&r.pixiIdPrefix||"pixiid";e._pixiId=a+"_"+Je()}o=e._pixiId}var h=Ut[o];if(s&&n&&!h)throw new Error('The cacheId "'+o+'" does not exist in BaseTextureCache.');return h||(h=new t(e,r),h.cacheId=o,t.addToCache(h,o)),h},t.fromBuffer=function(e,r,n,s){e=e||new Float32Array(r*n*4);var o=new on(e,{width:r,height:n}),a=e instanceof Float32Array?X.FLOAT:X.UNSIGNED_BYTE;return new t(o,Object.assign({},yd,s||{width:r,height:n,type:a}))},t.addToCache=function(e,r){r&&(e.textureCacheIds.indexOf(r)===-1&&e.textureCacheIds.push(r),Ut[r]&&console.warn("BaseTexture added to the cache with an id ["+r+"] that already had an entry"),Ut[r]=e)},t.removeFromCache=function(e){if(typeof e=="string"){var r=Ut[e];if(r){var n=r.textureCacheIds.indexOf(e);return n>-1&&r.textureCacheIds.splice(n,1),delete Ut[e],r}}else if(e&&e.textureCacheIds){for(var s=0;s<e.textureCacheIds.length;++s)delete Ut[e.textureCacheIds[s]];return e.textureCacheIds.length=0,e}return null},t._globalBatch=0,t}(Ee),Xo=function(i){z(t,i);function t(e,r){var n=this,s=r||{},o=s.width,a=s.height;n=i.call(this,o,a)||this,n.items=[],n.itemDirtyIds=[];for(var h=0;h<e;h++){var l=new $;n.items.push(l),n.itemDirtyIds.push(-2)}return n.length=e,n._load=null,n.baseTexture=null,n}return t.prototype.initFromArray=function(e,r){for(var n=0;n<this.length;n++)e[n]&&(e[n].castToBaseTexture?this.addBaseTextureAt(e[n].castToBaseTexture(),n):e[n]instanceof ai?this.addResourceAt(e[n],n):this.addResourceAt(Uo(e[n],r),n))},t.prototype.dispose=function(){for(var e=0,r=this.length;e<r;e++)this.items[e].destroy();this.items=null,this.itemDirtyIds=null,this._load=null},t.prototype.addResourceAt=function(e,r){if(!this.items[r])throw new Error("Index "+r+" is out of bounds");return e.valid&&!this.valid&&this.resize(e.width,e.height),this.items[r].setResource(e),this},t.prototype.bind=function(e){if(this.baseTexture!==null)throw new Error("Only one base texture per TextureArray is allowed");i.prototype.bind.call(this,e);for(var r=0;r<this.length;r++)this.items[r].parentTextureArray=e,this.items[r].on("update",e.update,e)},t.prototype.unbind=function(e){i.prototype.unbind.call(this,e);for(var r=0;r<this.length;r++)this.items[r].parentTextureArray=null,this.items[r].off("update",e.update,e)},t.prototype.load=function(){var e=this;if(this._load)return this._load;var r=this.items.map(function(s){return s.resource}).filter(function(s){return s}),n=r.map(function(s){return s.load()});return this._load=Promise.all(n).then(function(){var s=e.items[0],o=s.realWidth,a=s.realHeight;return e.resize(o,a),Promise.resolve(e)}),this._load},t}(ai),md=function(i){z(t,i);function t(e,r){var n=this,s=r||{},o=s.width,a=s.height,h,l;return Array.isArray(e)?(h=e,l=e.length):l=e,n=i.call(this,l,{width:o,height:a})||this,h&&n.initFromArray(h,r),n}return t.prototype.addBaseTextureAt=function(e,r){if(e.resource)this.addResourceAt(e.resource,r);else throw new Error("ArrayResource does not support RenderTexture");return this},t.prototype.bind=function(e){i.prototype.bind.call(this,e),e.target=oe.TEXTURE_2D_ARRAY},t.prototype.upload=function(e,r,n){var s=this,o=s.length,a=s.itemDirtyIds,h=s.items,l=e.gl;n.dirtyId<0&&l.texImage3D(l.TEXTURE_2D_ARRAY,0,n.internalFormat,this._width,this._height,o,0,r.format,n.type,null);for(var u=0;u<o;u++){var f=h[u];a[u]<f.dirtyId&&(a[u]=f.dirtyId,f.valid&&l.texSubImage3D(l.TEXTURE_2D_ARRAY,0,0,0,u,f.resource.width,f.resource.height,1,r.format,n.type,f.resource.source))}return!0},t}(Xo),Kt=function(i){z(t,i);function t(e){var r=this,n=e,s=n.naturalWidth||n.videoWidth||n.width,o=n.naturalHeight||n.videoHeight||n.height;return r=i.call(this,s,o)||this,r.source=e,r.noSubImage=!1,r}return t.crossOrigin=function(e,r,n){n===void 0&&r.indexOf("data:")!==0?e.crossOrigin=uc(r):n!==!1&&(e.crossOrigin=typeof n=="string"?n:"anonymous")},t.prototype.upload=function(e,r,n,s){var o=e.gl,a=r.realWidth,h=r.realHeight;if(s=s||this.source,s instanceof HTMLImageElement){if(!s.complete||s.naturalWidth===0)return!1}else if(s instanceof HTMLVideoElement&&s.readyState<=1)return!1;return o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===qt.UNPACK),!this.noSubImage&&r.target===o.TEXTURE_2D&&n.width===a&&n.height===h?o.texSubImage2D(o.TEXTURE_2D,0,0,0,r.format,n.type,s):(n.width=a,n.height=h,o.texImage2D(r.target,0,n.internalFormat,r.format,n.type,s)),!0},t.prototype.update=function(){if(!this.destroyed){var e=this.source,r=e.naturalWidth||e.videoWidth||e.width,n=e.naturalHeight||e.videoHeight||e.height;this.resize(r,n),i.prototype.update.call(this)}},t.prototype.dispose=function(){this.source=null},t}(ai),Go=function(i){z(t,i);function t(e){return i.call(this,e)||this}return t.test=function(e){var r=globalThis.OffscreenCanvas;return r&&e instanceof r?!0:globalThis.HTMLCanvasElement&&e instanceof HTMLCanvasElement},t}(Kt),gd=function(i){z(t,i);function t(e,r){var n=this,s=r||{},o=s.width,a=s.height,h=s.autoLoad,l=s.linkBaseTexture;if(e&&e.length!==t.SIDES)throw new Error("Invalid length. Got "+e.length+", expected 6");n=i.call(this,6,{width:o,height:a})||this;for(var u=0;u<t.SIDES;u++)n.items[u].target=oe.TEXTURE_CUBE_MAP_POSITIVE_X+u;return n.linkBaseTexture=l!==!1,e&&n.initFromArray(e,r),h!==!1&&n.load(),n}return t.prototype.bind=function(e){i.prototype.bind.call(this,e),e.target=oe.TEXTURE_CUBE_MAP},t.prototype.addBaseTextureAt=function(e,r,n){if(!this.items[r])throw new Error("Index "+r+" is out of bounds");if(!this.linkBaseTexture||e.parentTextureArray||Object.keys(e._glTextures).length>0)if(e.resource)this.addResourceAt(e.resource,r);else throw new Error("CubeResource does not support copying of renderTexture.");else e.target=oe.TEXTURE_CUBE_MAP_POSITIVE_X+r,e.parentTextureArray=this.baseTexture,this.items[r]=e;return e.valid&&!this.valid&&this.resize(e.realWidth,e.realHeight),this.items[r]=e,this},t.prototype.upload=function(e,r,n){for(var s=this.itemDirtyIds,o=0;o<t.SIDES;o++){var a=this.items[o];(s[o]<a.dirtyId||n.dirtyId<r.dirtyId)&&(a.valid&&a.resource?(a.resource.upload(e,a,n),s[o]=a.dirtyId):s[o]<-1&&(e.gl.texImage2D(a.target,0,n.internalFormat,r.realWidth,r.realHeight,0,r.format,n.type,null),s[o]=-1))}return!0},t.test=function(e){return Array.isArray(e)&&e.length===t.SIDES},t.SIDES=6,t}(Xo),Yo=function(i){z(t,i);function t(e,r){var n=this;if(r=r||{},!(e instanceof HTMLImageElement)){var s=new Image;Kt.crossOrigin(s,e,r.crossorigin),s.src=e,e=s}return n=i.call(this,e)||this,!e.complete&&n._width&&n._height&&(n._width=0,n._height=0),n.url=e.src,n._process=null,n.preserveBitmap=!1,n.createBitmap=(r.createBitmap!==void 0?r.createBitmap:M.CREATE_IMAGE_BITMAP)&&!!globalThis.createImageBitmap,n.alphaMode=typeof r.alphaMode=="number"?r.alphaMode:null,n.bitmap=null,n._load=null,r.autoLoad!==!1&&n.load(),n}return t.prototype.load=function(e){var r=this;return this._load?this._load:(e!==void 0&&(this.createBitmap=e),this._load=new Promise(function(n,s){var o=r.source;r.url=o.src;var a=function(){r.destroyed||(o.onload=null,o.onerror=null,r.resize(o.width,o.height),r._load=null,r.createBitmap?n(r.process()):n(r))};o.complete&&o.src?a():(o.onload=a,o.onerror=function(h){s(h),r.onError.emit(h)})}),this._load)},t.prototype.process=function(){var e=this,r=this.source;if(this._process!==null)return this._process;if(this.bitmap!==null||!globalThis.createImageBitmap)return Promise.resolve(this);var n=globalThis.createImageBitmap,s=!r.crossOrigin||r.crossOrigin==="anonymous";return this._process=fetch(r.src,{mode:s?"cors":"no-cors"}).then(function(o){return o.blob()}).then(function(o){return n(o,0,0,r.width,r.height,{premultiplyAlpha:e.alphaMode===null||e.alphaMode===qt.UNPACK?"premultiply":"none"})}).then(function(o){return e.destroyed?Promise.reject():(e.bitmap=o,e.update(),e._process=null,Promise.resolve(e))}),this._process},t.prototype.upload=function(e,r,n){if(typeof this.alphaMode=="number"&&(r.alphaMode=this.alphaMode),!this.createBitmap)return i.prototype.upload.call(this,e,r,n);if(!this.bitmap&&(this.process(),!this.bitmap))return!1;if(i.prototype.upload.call(this,e,r,n,this.bitmap),!this.preserveBitmap){var s=!0,o=r._glTextures;for(var a in o){var h=o[a];if(h!==n&&h.dirtyId!==r.dirtyId){s=!1;break}}s&&(this.bitmap.close&&this.bitmap.close(),this.bitmap=null)}return!0},t.prototype.dispose=function(){this.source.onload=null,this.source.onerror=null,i.prototype.dispose.call(this),this.bitmap&&(this.bitmap.close(),this.bitmap=null),this._process=null,this._load=null},t.test=function(e){return typeof e=="string"||e instanceof HTMLImageElement},t}(Kt),_d=function(i){z(t,i);function t(e,r){var n=this;return r=r||{},n=i.call(this,M.ADAPTER.createCanvas())||this,n._width=0,n._height=0,n.svg=e,n.scale=r.scale||1,n._overrideWidth=r.width,n._overrideHeight=r.height,n._resolve=null,n._crossorigin=r.crossorigin,n._load=null,r.autoLoad!==!1&&n.load(),n}return t.prototype.load=function(){var e=this;return this._load?this._load:(this._load=new Promise(function(r){if(e._resolve=function(){e.resize(e.source.width,e.source.height),r(e)},t.SVG_XML.test(e.svg.trim())){if(!btoa)throw new Error("Your browser doesn't support base64 conversions.");e.svg="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(e.svg)))}e._loadSvg()}),this._load)},t.prototype._loadSvg=function(){var e=this,r=new Image;Kt.crossOrigin(r,this.svg,this._crossorigin),r.src=this.svg,r.onerror=function(n){e._resolve&&(r.onerror=null,e.onError.emit(n))},r.onload=function(){if(e._resolve){var n=r.width,s=r.height;if(!n||!s)throw new Error("The SVG image must have width and height defined (in pixels), canvas API needs them.");var o=n*e.scale,a=s*e.scale;(e._overrideWidth||e._overrideHeight)&&(o=e._overrideWidth||e._overrideHeight/s*n,a=e._overrideHeight||e._overrideWidth/n*s),o=Math.round(o),a=Math.round(a);var h=e.source;h.width=o,h.height=a,h._pixiId="canvas_"+Je(),h.getContext("2d").drawImage(r,0,0,n,s,0,0,o,a),e._resolve(),e._resolve=null}}},t.getSize=function(e){var r=t.SVG_SIZE.exec(e),n={};return r&&(n[r[1]]=Math.round(parseFloat(r[3])),n[r[5]]=Math.round(parseFloat(r[7]))),n},t.prototype.dispose=function(){i.prototype.dispose.call(this),this._resolve=null,this._crossorigin=null},t.test=function(e,r){return r==="svg"||typeof e=="string"&&e.startsWith("data:image/svg+xml")||typeof e=="string"&&t.SVG_XML.test(e)},t.SVG_XML=/^(<\?xml[^?]+\?>)?\s*(<!--[^(-->)]*-->)?\s*\<svg/m,t.SVG_SIZE=/<svg[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i,t}(Kt),xd=function(i){z(t,i);function t(e,r){var n=this;if(r=r||{},!(e instanceof HTMLVideoElement)){var s=document.createElement("video");s.setAttribute("preload","auto"),s.setAttribute("webkit-playsinline",""),s.setAttribute("playsinline",""),typeof e=="string"&&(e=[e]);var o=e[0].src||e[0];Kt.crossOrigin(s,o,r.crossorigin);for(var a=0;a<e.length;++a){var h=document.createElement("source"),l=e[a],u=l.src,f=l.mime;u=u||e[a];var p=u.split("?").shift().toLowerCase(),d=p.slice(p.lastIndexOf(".")+1);f=f||t.MIME_TYPES[d]||"video/"+d,h.src=u,h.type=f,s.appendChild(h)}e=s}return n=i.call(this,e)||this,n.noSubImage=!0,n._autoUpdate=!0,n._isConnectedToTicker=!1,n._updateFPS=r.updateFPS||0,n._msToNextUpdate=0,n.autoPlay=r.autoPlay!==!1,n._load=null,n._resolve=null,n._onCanPlay=n._onCanPlay.bind(n),n._onError=n._onError.bind(n),r.autoLoad!==!1&&n.load(),n}return t.prototype.update=function(e){if(!this.destroyed){var r=ft.shared.elapsedMS*this.source.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-r),(!this._updateFPS||this._msToNextUpdate<=0)&&(i.prototype.update.call(this),this._msToNextUpdate=this._updateFPS?Math.floor(1e3/this._updateFPS):0)}},t.prototype.load=function(){var e=this;if(this._load)return this._load;var r=this.source;return(r.readyState===r.HAVE_ENOUGH_DATA||r.readyState===r.HAVE_FUTURE_DATA)&&r.width&&r.height&&(r.complete=!0),r.addEventListener("play",this._onPlayStart.bind(this)),r.addEventListener("pause",this._onPlayStop.bind(this)),this._isSourceReady()?this._onCanPlay():(r.addEventListener("canplay",this._onCanPlay),r.addEventListener("canplaythrough",this._onCanPlay),r.addEventListener("error",this._onError,!0)),this._load=new Promise(function(n){e.valid?n(e):(e._resolve=n,r.load())}),this._load},t.prototype._onError=function(e){this.source.removeEventListener("error",this._onError,!0),this.onError.emit(e)},t.prototype._isSourcePlaying=function(){var e=this.source;return!e.paused&&!e.ended&&this._isSourceReady()},t.prototype._isSourceReady=function(){var e=this.source;return e.readyState>2},t.prototype._onPlayStart=function(){this.valid||this._onCanPlay(),this.autoUpdate&&!this._isConnectedToTicker&&(ft.shared.add(this.update,this),this._isConnectedToTicker=!0)},t.prototype._onPlayStop=function(){this._isConnectedToTicker&&(ft.shared.remove(this.update,this),this._isConnectedToTicker=!1)},t.prototype._onCanPlay=function(){var e=this.source;e.removeEventListener("canplay",this._onCanPlay),e.removeEventListener("canplaythrough",this._onCanPlay);var r=this.valid;this.resize(e.videoWidth,e.videoHeight),!r&&this._resolve&&(this._resolve(this),this._resolve=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&e.play()},t.prototype.dispose=function(){this._isConnectedToTicker&&(ft.shared.remove(this.update,this),this._isConnectedToTicker=!1);var e=this.source;e&&(e.removeEventListener("error",this._onError,!0),e.pause(),e.src="",e.load()),i.prototype.dispose.call(this)},Object.defineProperty(t.prototype,"autoUpdate",{get:function(){return this._autoUpdate},set:function(e){e!==this._autoUpdate&&(this._autoUpdate=e,!this._autoUpdate&&this._isConnectedToTicker?(ft.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._isSourcePlaying()&&(ft.shared.add(this.update,this),this._isConnectedToTicker=!0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"updateFPS",{get:function(){return this._updateFPS},set:function(e){e!==this._updateFPS&&(this._updateFPS=e)},enumerable:!1,configurable:!0}),t.test=function(e,r){return globalThis.HTMLVideoElement&&e instanceof HTMLVideoElement||t.TYPES.indexOf(r)>-1},t.TYPES=["mp4","m4v","webm","ogg","ogv","h264","avi","mov"],t.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"},t}(Kt),wd=function(i){z(t,i);function t(e){return i.call(this,e)||this}return t.test=function(e){return!!globalThis.createImageBitmap&&typeof ImageBitmap<"u"&&e instanceof ImageBitmap},t}(Kt);rn.push(Yo,wd,Go,xd,_d,on,gd,md);var Pd=function(i){z(t,i);function t(){return i!==null&&i.apply(this,arguments)||this}return t.prototype.upload=function(e,r,n){var s=e.gl;s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===qt.UNPACK);var o=r.realWidth,a=r.realHeight;return n.width===o&&n.height===a?s.texSubImage2D(r.target,0,0,0,o,a,r.format,n.type,this.data):(n.width=o,n.height=a,s.texImage2D(r.target,0,n.internalFormat,o,a,0,r.format,n.type,this.data)),!0},t}(on),an=function(){function i(t,e){this.width=Math.round(t||100),this.height=Math.round(e||100),this.stencil=!1,this.depth=!1,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.depthTexture=null,this.colorTextures=[],this.glFramebuffers={},this.disposeRunner=new st("disposeFramebuffer"),this.multisample=Z.NONE}return Object.defineProperty(i.prototype,"colorTexture",{get:function(){return this.colorTextures[0]},enumerable:!1,configurable:!0}),i.prototype.addColorTexture=function(t,e){return t===void 0&&(t=0),this.colorTextures[t]=e||new $(null,{scaleMode:lt.NEAREST,resolution:1,mipmap:jt.OFF,width:this.width,height:this.height}),this.dirtyId++,this.dirtyFormat++,this},i.prototype.addDepthTexture=function(t){return this.depthTexture=t||new $(new Pd(null,{width:this.width,height:this.height}),{scaleMode:lt.NEAREST,resolution:1,width:this.width,height:this.height,mipmap:jt.OFF,format:L.DEPTH_COMPONENT,type:X.UNSIGNED_SHORT}),this.dirtyId++,this.dirtyFormat++,this},i.prototype.enableDepth=function(){return this.depth=!0,this.dirtyId++,this.dirtyFormat++,this},i.prototype.enableStencil=function(){return this.stencil=!0,this.dirtyId++,this.dirtyFormat++,this},i.prototype.resize=function(t,e){if(t=Math.round(t),e=Math.round(e),!(t===this.width&&e===this.height)){this.width=t,this.height=e,this.dirtyId++,this.dirtySize++;for(var r=0;r<this.colorTextures.length;r++){var n=this.colorTextures[r],s=n.resolution;n.setSize(t/s,e/s)}if(this.depthTexture){var s=this.depthTexture.resolution;this.depthTexture.setSize(t/s,e/s)}}},i.prototype.dispose=function(){this.disposeRunner.emit(this,!1)},i.prototype.destroyDepthTexture=function(){this.depthTexture&&(this.depthTexture.destroy(),this.depthTexture=null,++this.dirtyId,++this.dirtyFormat)},i}(),Vi=function(i){z(t,i);function t(e){e===void 0&&(e={});var r=this;if(typeof e=="number"){var n=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];e={width:n,height:s,scaleMode:o,resolution:a}}return e.width=e.width||100,e.height=e.height||100,e.multisample=e.multisample!==void 0?e.multisample:Z.NONE,r=i.call(this,null,e)||this,r.mipmap=jt.OFF,r.valid=!0,r.clearColor=[0,0,0,0],r.framebuffer=new an(r.realWidth,r.realHeight).addColorTexture(0,r),r.framebuffer.multisample=e.multisample,r.maskStack=[],r.filterStack=[{}],r}return t.prototype.resize=function(e,r){this.framebuffer.resize(e*this.resolution,r*this.resolution),this.setRealSize(this.framebuffer.width,this.framebuffer.height)},t.prototype.dispose=function(){this.framebuffer.dispose(),i.prototype.dispose.call(this)},t.prototype.destroy=function(){i.prototype.destroy.call(this),this.framebuffer.destroyDepthTexture(),this.framebuffer=null},t}($),Ho=function(){function i(){this.x0=0,this.y0=0,this.x1=1,this.y1=0,this.x2=1,this.y2=1,this.x3=0,this.y3=1,this.uvsFloat32=new Float32Array(8)}return i.prototype.set=function(t,e,r){var n=e.width,s=e.height;if(r){var o=t.width/2/n,a=t.height/2/s,h=t.x/n+o,l=t.y/s+a;r=j.add(r,j.NW),this.x0=h+o*j.uX(r),this.y0=l+a*j.uY(r),r=j.add(r,2),this.x1=h+o*j.uX(r),this.y1=l+a*j.uY(r),r=j.add(r,2),this.x2=h+o*j.uX(r),this.y2=l+a*j.uY(r),r=j.add(r,2),this.x3=h+o*j.uX(r),this.y3=l+a*j.uY(r)}else this.x0=t.x/n,this.y0=t.y/s,this.x1=(t.x+t.width)/n,this.y1=t.y/s,this.x2=(t.x+t.width)/n,this.y2=(t.y+t.height)/s,this.x3=t.x/n,this.y3=(t.y+t.height)/s;this.uvsFloat32[0]=this.x0,this.uvsFloat32[1]=this.y0,this.uvsFloat32[2]=this.x1,this.uvsFloat32[3]=this.y1,this.uvsFloat32[4]=this.x2,this.uvsFloat32[5]=this.y2,this.uvsFloat32[6]=this.x3,this.uvsFloat32[7]=this.y3},i.prototype.toString=function(){return"[@pixi/core:TextureUvs "+("x0="+this.x0+" y0="+this.y0+" ")+("x1="+this.x1+" y1="+this.y1+" x2="+this.x2+" ")+("y2="+this.y2+" x3="+this.x3+" y3="+this.y3)+"]"},i}(),Wo=new Ho;function ji(i){i.destroy=function(){},i.on=function(){},i.once=function(){},i.emit=function(){}}var it=function(i){z(t,i);function t(e,r,n,s,o,a){var h=i.call(this)||this;if(h.noFrame=!1,r||(h.noFrame=!0,r=new U(0,0,1,1)),e instanceof t&&(e=e.baseTexture),h.baseTexture=e,h._frame=r,h.trim=s,h.valid=!1,h._uvs=Wo,h.uvMatrix=null,h.orig=n||r,h._rotate=Number(o||0),o===!0)h._rotate=2;else if(h._rotate%2!==0)throw new Error("attempt to use diamond-shaped UVs. If you are sure, set rotation manually");return h.defaultAnchor=a?new B(a.x,a.y):new B(0,0),h._updateID=0,h.textureCacheIds=[],e.valid?h.noFrame?e.valid&&h.onBaseTextureUpdated(e):h.frame=r:e.once("loaded",h.onBaseTextureUpdated,h),h.noFrame&&e.on("update",h.onBaseTextureUpdated,h),h}return t.prototype.update=function(){this.baseTexture.resource&&this.baseTexture.resource.update()},t.prototype.onBaseTextureUpdated=function(e){if(this.noFrame){if(!this.baseTexture.valid)return;this._frame.width=e.width,this._frame.height=e.height,this.valid=!0,this.updateUvs()}else this.frame=this._frame;this.emit("update",this)},t.prototype.destroy=function(e){if(this.baseTexture){if(e){var r=this.baseTexture.resource;r&&r.url&&wt[r.url]&&t.removeFromCache(r.url),this.baseTexture.destroy()}this.baseTexture.off("loaded",this.onBaseTextureUpdated,this),this.baseTexture.off("update",this.onBaseTextureUpdated,this),this.baseTexture=null}this._frame=null,this._uvs=null,this.trim=null,this.orig=null,this.valid=!1,t.removeFromCache(this),this.textureCacheIds=null},t.prototype.clone=function(){var e=this._frame.clone(),r=this._frame===this.orig?e:this.orig.clone(),n=new t(this.baseTexture,!this.noFrame&&e,r,this.trim&&this.trim.clone(),this.rotate,this.defaultAnchor);return this.noFrame&&(n._frame=e),n},t.prototype.updateUvs=function(){this._uvs===Wo&&(this._uvs=new Ho),this._uvs.set(this._frame,this.baseTexture,this.rotate),this._updateID++},t.from=function(e,r,n){r===void 0&&(r={}),n===void 0&&(n=M.STRICT_TEXTURE_CACHE);var s=typeof e=="string",o=null;if(s)o=e;else if(e instanceof $){if(!e.cacheId){var a=r&&r.pixiIdPrefix||"pixiid";e.cacheId=a+"-"+Je(),$.addToCache(e,e.cacheId)}o=e.cacheId}else{if(!e._pixiId){var a=r&&r.pixiIdPrefix||"pixiid";e._pixiId=a+"_"+Je()}o=e._pixiId}var h=wt[o];if(s&&n&&!h)throw new Error('The cacheId "'+o+'" does not exist in TextureCache.');return!h&&!(e instanceof $)?(r.resolution||(r.resolution=Gs(e)),h=new t(new $(e,r)),h.baseTexture.cacheId=o,$.addToCache(h.baseTexture,o),t.addToCache(h,o)):!h&&e instanceof $&&(h=new t(e),t.addToCache(h,o)),h},t.fromURL=function(e,r){var n=Object.assign({autoLoad:!1},r?.resourceOptions),s=t.from(e,Object.assign({resourceOptions:n},r),!1),o=s.baseTexture.resource;return s.baseTexture.valid?Promise.resolve(s):o.load().then(function(){return Promise.resolve(s)})},t.fromBuffer=function(e,r,n,s){return new t($.fromBuffer(e,r,n,s))},t.fromLoader=function(e,r,n,s){var o=new $(e,Object.assign({scaleMode:M.SCALE_MODE,resolution:Gs(r)},s)),a=o.resource;a instanceof Yo&&(a.url=r);var h=new t(o);return n||(n=r),$.addToCache(h.baseTexture,n),t.addToCache(h,n),n!==r&&($.addToCache(h.baseTexture,r),t.addToCache(h,r)),h.baseTexture.valid?Promise.resolve(h):new Promise(function(l){h.baseTexture.once("loaded",function(){return l(h)})})},t.addToCache=function(e,r){r&&(e.textureCacheIds.indexOf(r)===-1&&e.textureCacheIds.push(r),wt[r]&&console.warn("Texture added to the cache with an id ["+r+"] that already had an entry"),wt[r]=e)},t.removeFromCache=function(e){if(typeof e=="string"){var r=wt[e];if(r){var n=r.textureCacheIds.indexOf(e);return n>-1&&r.textureCacheIds.splice(n,1),delete wt[e],r}}else if(e&&e.textureCacheIds){for(var s=0;s<e.textureCacheIds.length;++s)wt[e.textureCacheIds[s]]===e&&delete wt[e.textureCacheIds[s]];return e.textureCacheIds.length=0,e}return null},Object.defineProperty(t.prototype,"resolution",{get:function(){return this.baseTexture.resolution},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"frame",{get:function(){return this._frame},set:function(e){this._frame=e,this.noFrame=!1;var r=e.x,n=e.y,s=e.width,o=e.height,a=r+s>this.baseTexture.width,h=n+o>this.baseTexture.height;if(a||h){var l=a&&h?"and":"or",u="X: "+r+" + "+s+" = "+(r+s)+" > "+this.baseTexture.width,f="Y: "+n+" + "+o+" = "+(n+o)+" > "+this.baseTexture.height;throw new Error("Texture Error: frame does not fit inside the base Texture dimensions: "+(u+" "+l+" "+f))}this.valid=s&&o&&this.baseTexture.valid,!this.trim&&!this.rotate&&(this.orig=e),this.valid&&this.updateUvs()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rotate",{get:function(){return this._rotate},set:function(e){this._rotate=e,this.valid&&this.updateUvs()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this.orig.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this.orig.height},enumerable:!1,configurable:!0}),t.prototype.castToBaseTexture=function(){return this.baseTexture},Object.defineProperty(t,"EMPTY",{get:function(){return t._EMPTY||(t._EMPTY=new t(new $),ji(t._EMPTY),ji(t._EMPTY.baseTexture)),t._EMPTY},enumerable:!1,configurable:!0}),Object.defineProperty(t,"WHITE",{get:function(){if(!t._WHITE){var e=M.ADAPTER.createCanvas(16,16),r=e.getContext("2d");e.width=16,e.height=16,r.fillStyle="white",r.fillRect(0,0,16,16),t._WHITE=new t($.from(e)),ji(t._WHITE),ji(t._WHITE.baseTexture)}return t._WHITE},enumerable:!1,configurable:!0}),t}(Ee),At=function(i){z(t,i);function t(e,r){var n=i.call(this,e,r)||this;return n.valid=!0,n.filterFrame=null,n.filterPoolKey=null,n.updateUvs(),n}return Object.defineProperty(t.prototype,"framebuffer",{get:function(){return this.baseTexture.framebuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"multisample",{get:function(){return this.framebuffer.multisample},set:function(e){this.framebuffer.multisample=e},enumerable:!1,configurable:!0}),t.prototype.resize=function(e,r,n){n===void 0&&(n=!0);var s=this.baseTexture.resolution,o=Math.round(e*s)/s,a=Math.round(r*s)/s;this.valid=o>0&&a>0,this._frame.width=this.orig.width=o,this._frame.height=this.orig.height=a,n&&this.baseTexture.resize(o,a),this.updateUvs()},t.prototype.setResolution=function(e){var r=this.baseTexture;r.resolution!==e&&(r.setResolution(e),this.resize(r.width,r.height,!1))},t.create=function(e){for(var r=arguments,n=[],s=1;s<arguments.length;s++)n[s-1]=r[s];return typeof e=="number"&&(kt("6.0.0","Arguments (width, height, scaleMode, resolution) have been deprecated."),e={width:e,height:n[0],scaleMode:n[1],resolution:n[2]}),new t(new Vi(e))},t}(it),bd=function(){function i(t){this.texturePool={},this.textureOptions=t||{},this.enableFullScreen=!1,this._pixelsWidth=0,this._pixelsHeight=0}return i.prototype.createTexture=function(t,e,r){r===void 0&&(r=Z.NONE);var n=new Vi(Object.assign({width:t,height:e,resolution:1,multisample:r},this.textureOptions));return new At(n)},i.prototype.getOptimalTexture=function(t,e,r,n){r===void 0&&(r=1),n===void 0&&(n=Z.NONE);var s;t=Math.ceil(t*r-1e-6),e=Math.ceil(e*r-1e-6),!this.enableFullScreen||t!==this._pixelsWidth||e!==this._pixelsHeight?(t=Mi(t),e=Mi(e),s=((t&65535)<<16|e&65535)>>>0,n>1&&(s+=n*4294967296)):s=n>1?-n:-1,this.texturePool[s]||(this.texturePool[s]=[]);var o=this.texturePool[s].pop();return o||(o=this.createTexture(t,e,n)),o.filterPoolKey=s,o.setResolution(r),o},i.prototype.getFilterTexture=function(t,e,r){var n=this.getOptimalTexture(t.width,t.height,e||t.resolution,r||Z.NONE);return n.filterFrame=t.filterFrame,n},i.prototype.returnTexture=function(t){var e=t.filterPoolKey;t.filterFrame=null,this.texturePool[e].push(t)},i.prototype.returnFilterTexture=function(t){this.returnTexture(t)},i.prototype.clear=function(t){if(t=t!==!1,t)for(var e in this.texturePool){var r=this.texturePool[e];if(r)for(var n=0;n<r.length;n++)r[n].destroy(!0)}this.texturePool={}},i.prototype.setScreenSize=function(t){if(!(t.width===this._pixelsWidth&&t.height===this._pixelsHeight)){this.enableFullScreen=t.width>0&&t.height>0;for(var e in this.texturePool)if(Number(e)<0){var r=this.texturePool[e];if(r)for(var n=0;n<r.length;n++)r[n].destroy(!0);this.texturePool[e]=[]}this._pixelsWidth=t.width,this._pixelsHeight=t.height}},i.SCREEN_KEY=-1,i}(),zo=function(){function i(t,e,r,n,s,o,a){e===void 0&&(e=0),r===void 0&&(r=!1),n===void 0&&(n=X.FLOAT),this.buffer=t,this.size=e,this.normalized=r,this.type=n,this.stride=s,this.start=o,this.instance=a}return i.prototype.destroy=function(){this.buffer=null},i.from=function(t,e,r,n,s){return new i(t,e,r,n,s)},i}(),Td=0,gt=function(){function i(t,e,r){e===void 0&&(e=!0),r===void 0&&(r=!1),this.data=t||new Float32Array(1),this._glBuffers={},this._updateID=0,this.index=r,this.static=e,this.id=Td++,this.disposeRunner=new st("disposeBuffer")}return i.prototype.update=function(t){t instanceof Array&&(t=new Float32Array(t)),this.data=t||this.data,this._updateID++},i.prototype.dispose=function(){this.disposeRunner.emit(this,!1)},i.prototype.destroy=function(){this.dispose(),this.data=null},Object.defineProperty(i.prototype,"index",{get:function(){return this.type===Ct.ELEMENT_ARRAY_BUFFER},set:function(t){this.type=t?Ct.ELEMENT_ARRAY_BUFFER:Ct.ARRAY_BUFFER},enumerable:!1,configurable:!0}),i.from=function(t){return t instanceof Array&&(t=new Float32Array(t)),new i(t)},i}(),Cd={Float32Array,Uint32Array,Int32Array,Uint8Array};function Id(i,t){for(var e=0,r=0,n={},s=0;s<i.length;s++)r+=t[s],e+=i[s].length;for(var o=new ArrayBuffer(e*4),a=null,h=0,s=0;s<i.length;s++){var l=t[s],u=i[s],f=Fs(u);n[f]||(n[f]=new Cd[f](o)),a=n[f];for(var p=0;p<u.length;p++){var d=(p/l|0)*r+h,v=p%l;a[d+v]=u[p]}h+=l}return new Float32Array(o)}var $o={5126:4,5123:2,5121:1},Ed=0,Sd={Float32Array,Uint32Array,Int32Array,Uint8Array,Uint16Array},hn=function(){function i(t,e){t===void 0&&(t=[]),e===void 0&&(e={}),this.buffers=t,this.indexBuffer=null,this.attributes=e,this.glVertexArrayObjects={},this.id=Ed++,this.instanced=!1,this.instanceCount=1,this.disposeRunner=new st("disposeGeometry"),this.refCount=0}return i.prototype.addAttribute=function(t,e,r,n,s,o,a,h){if(r===void 0&&(r=0),n===void 0&&(n=!1),h===void 0&&(h=!1),!e)throw new Error("You must pass a buffer when creating an attribute");e instanceof gt||(e instanceof Array&&(e=new Float32Array(e)),e=new gt(e));var l=t.split("|");if(l.length>1){for(var u=0;u<l.length;u++)this.addAttribute(l[u],e,r,n,s);return this}var f=this.buffers.indexOf(e);return f===-1&&(this.buffers.push(e),f=this.buffers.length-1),this.attributes[t]=new zo(f,r,n,s,o,a,h),this.instanced=this.instanced||h,this},i.prototype.getAttribute=function(t){return this.attributes[t]},i.prototype.getBuffer=function(t){return this.buffers[this.getAttribute(t).buffer]},i.prototype.addIndex=function(t){return t instanceof gt||(t instanceof Array&&(t=new Uint16Array(t)),t=new gt(t)),t.type=Ct.ELEMENT_ARRAY_BUFFER,this.indexBuffer=t,this.buffers.indexOf(t)===-1&&this.buffers.push(t),this},i.prototype.getIndex=function(){return this.indexBuffer},i.prototype.interleave=function(){if(this.buffers.length===1||this.buffers.length===2&&this.indexBuffer)return this;var t=[],e=[],r=new gt,n;for(n in this.attributes){var s=this.attributes[n],o=this.buffers[s.buffer];t.push(o.data),e.push(s.size*$o[s.type]/4),s.buffer=0}for(r.data=Id(t,e),n=0;n<this.buffers.length;n++)this.buffers[n]!==this.indexBuffer&&this.buffers[n].destroy();return this.buffers=[r],this.indexBuffer&&this.buffers.push(this.indexBuffer),this},i.prototype.getSize=function(){for(var t in this.attributes){var e=this.attributes[t],r=this.buffers[e.buffer];return r.data.length/(e.stride/4||e.size)}return 0},i.prototype.dispose=function(){this.disposeRunner.emit(this,!1)},i.prototype.destroy=function(){this.dispose(),this.buffers=null,this.indexBuffer=null,this.attributes=null},i.prototype.clone=function(){for(var t=new i,e=0;e<this.buffers.length;e++)t.buffers[e]=new gt(this.buffers[e].data.slice(0));for(var e in this.attributes){var r=this.attributes[e];t.attributes[e]=new zo(r.buffer,r.size,r.normalized,r.type,r.stride,r.start,r.instance)}return this.indexBuffer&&(t.indexBuffer=t.buffers[this.buffers.indexOf(this.indexBuffer)],t.indexBuffer.type=Ct.ELEMENT_ARRAY_BUFFER),t},i.merge=function(t){for(var e=new i,r=[],n=[],s=[],o,a=0;a<t.length;a++){o=t[a];for(var h=0;h<o.buffers.length;h++)n[h]=n[h]||0,n[h]+=o.buffers[h].data.length,s[h]=0}for(var a=0;a<o.buffers.length;a++)r[a]=new Sd[Fs(o.buffers[a].data)](n[a]),e.buffers[a]=new gt(r[a]);for(var a=0;a<t.length;a++){o=t[a];for(var h=0;h<o.buffers.length;h++)r[h].set(o.buffers[h].data,s[h]),s[h]+=o.buffers[h].data.length}if(e.attributes=o.attributes,o.indexBuffer){e.indexBuffer=e.buffers[o.buffers.indexOf(o.indexBuffer)],e.indexBuffer.type=Ct.ELEMENT_ARRAY_BUFFER;for(var l=0,u=0,f=0,p=0,a=0;a<o.buffers.length;a++)if(o.buffers[a]!==o.indexBuffer){p=a;break}for(var a in o.attributes){var d=o.attributes[a];(d.buffer|0)===p&&(u+=d.size*$o[d.type]/4)}for(var a=0;a<t.length;a++){for(var v=t[a].indexBuffer.data,h=0;h<v.length;h++)e.indexBuffer.data[h+f]+=l;l+=t[a].buffers[p].data.length/u,f+=v.length}}return e},i}(),Ad=function(i){z(t,i);function t(){var e=i.call(this)||this;return e.addAttribute("aVertexPosition",new Float32Array([0,0,1,0,1,1,0,1])).addIndex([0,1,3,2]),e}return t}(hn),Od=function(i){z(t,i);function t(){var e=i.call(this)||this;return e.vertices=new Float32Array([-1,-1,1,-1,1,1,-1,1]),e.uvs=new Float32Array([0,0,1,0,1,1,0,1]),e.vertexBuffer=new gt(e.vertices),e.uvBuffer=new gt(e.uvs),e.addAttribute("aVertexPosition",e.vertexBuffer).addAttribute("aTextureCoord",e.uvBuffer).addIndex([0,1,2,0,2,3]),e}return t.prototype.map=function(e,r){var n=0,s=0;return this.uvs[0]=n,this.uvs[1]=s,this.uvs[2]=n+r.width/e.width,this.uvs[3]=s,this.uvs[4]=n+r.width/e.width,this.uvs[5]=s+r.height/e.height,this.uvs[6]=n,this.uvs[7]=s+r.height/e.height,n=r.x,s=r.y,this.vertices[0]=n,this.vertices[1]=s,this.vertices[2]=n+r.width,this.vertices[3]=s,this.vertices[4]=n+r.width,this.vertices[5]=s+r.height,this.vertices[6]=n,this.vertices[7]=s+r.height,this.invalidate(),this},t.prototype.invalidate=function(){return this.vertexBuffer._updateID++,this.uvBuffer._updateID++,this},t}(hn),Ld=0,ye=function(){function i(t,e,r){this.group=!0,this.syncUniforms={},this.dirtyId=0,this.id=Ld++,this.static=!!e,this.ubo=!!r,t instanceof gt?(this.buffer=t,this.buffer.type=Ct.UNIFORM_BUFFER,this.autoManage=!1,this.ubo=!0):(this.uniforms=t,this.ubo&&(this.buffer=new gt(new Float32Array(1)),this.buffer.type=Ct.UNIFORM_BUFFER,this.autoManage=!0))}return i.prototype.update=function(){this.dirtyId++,!this.autoManage&&this.buffer&&this.buffer.update()},i.prototype.add=function(t,e,r){if(!this.ubo)this.uniforms[t]=new i(e,r);else throw new Error("[UniformGroup] uniform groups in ubo mode cannot be modified, or have uniform groups nested in them")},i.from=function(t,e,r){return new i(t,e,r)},i.uboFrom=function(t,e){return new i(t,e??!0,!0)},i}(),Md=function(){function i(){this.renderTexture=null,this.target=null,this.legacy=!1,this.resolution=1,this.multisample=Z.NONE,this.sourceFrame=new U,this.destinationFrame=new U,this.bindingSourceFrame=new U,this.bindingDestinationFrame=new U,this.filters=[],this.transform=null}return i.prototype.clear=function(){this.target=null,this.filters=null,this.renderTexture=null},i}(),qi=[new B,new B,new B,new B],ln=new tt,Nd=function(){function i(t){this.renderer=t,this.defaultFilterStack=[{}],this.texturePool=new bd,this.texturePool.setScreenSize(t.view),this.statePool=[],this.quad=new Ad,this.quadUv=new Od,this.tempRect=new U,this.activeState={},this.globalUniforms=new ye({outputFrame:new U,inputSize:new Float32Array(4),inputPixel:new Float32Array(4),inputClamp:new Float32Array(4),resolution:1,filterArea:new Float32Array(4),filterClamp:new Float32Array(4)},!0),this.forceClear=!1,this.useMaxPadding=!1}return i.prototype.push=function(t,e){for(var r,n,s=this.renderer,o=this.defaultFilterStack,a=this.statePool.pop()||new Md,h=this.renderer.renderTexture,l=e[0].resolution,u=e[0].multisample,f=e[0].padding,p=e[0].autoFit,d=(r=e[0].legacy)!==null&&r!==void 0?r:!0,v=1;v<e.length;v++){var m=e[v];l=Math.min(l,m.resolution),u=Math.min(u,m.multisample),f=this.useMaxPadding?Math.max(f,m.padding):f+m.padding,p=p&&m.autoFit,d=d||((n=m.legacy)!==null&&n!==void 0?n:!0)}o.length===1&&(this.defaultFilterStack[0].renderTexture=h.current),o.push(a),a.resolution=l,a.multisample=u,a.legacy=d,a.target=t,a.sourceFrame.copyFrom(t.filterArea||t.getBounds(!0)),a.sourceFrame.pad(f);var y=this.tempRect.copyFrom(h.sourceFrame);s.projection.transform&&this.transformAABB(ln.copyFrom(s.projection.transform).invert(),y),p?(a.sourceFrame.fit(y),(a.sourceFrame.width<=0||a.sourceFrame.height<=0)&&(a.sourceFrame.width=0,a.sourceFrame.height=0)):a.sourceFrame.intersects(y)||(a.sourceFrame.width=0,a.sourceFrame.height=0),this.roundFrame(a.sourceFrame,h.current?h.current.resolution:s.resolution,h.sourceFrame,h.destinationFrame,s.projection.transform),a.renderTexture=this.getOptimalFilterTexture(a.sourceFrame.width,a.sourceFrame.height,l,u),a.filters=e,a.destinationFrame.width=a.renderTexture.width,a.destinationFrame.height=a.renderTexture.height;var g=this.tempRect;g.x=0,g.y=0,g.width=a.sourceFrame.width,g.height=a.sourceFrame.height,a.renderTexture.filterFrame=a.sourceFrame,a.bindingSourceFrame.copyFrom(h.sourceFrame),a.bindingDestinationFrame.copyFrom(h.destinationFrame),a.transform=s.projection.transform,s.projection.transform=null,h.bind(a.renderTexture,a.sourceFrame,g),s.framebuffer.clear(0,0,0,0)},i.prototype.pop=function(){var t=this.defaultFilterStack,e=t.pop(),r=e.filters;this.activeState=e;var n=this.globalUniforms.uniforms;n.outputFrame=e.sourceFrame,n.resolution=e.resolution;var s=n.inputSize,o=n.inputPixel,a=n.inputClamp;if(s[0]=e.destinationFrame.width,s[1]=e.destinationFrame.height,s[2]=1/s[0],s[3]=1/s[1],o[0]=Math.round(s[0]*e.resolution),o[1]=Math.round(s[1]*e.resolution),o[2]=1/o[0],o[3]=1/o[1],a[0]=.5*o[2],a[1]=.5*o[3],a[2]=e.sourceFrame.width*s[2]-.5*o[2],a[3]=e.sourceFrame.height*s[3]-.5*o[3],e.legacy){var h=n.filterArea;h[0]=e.destinationFrame.width,h[1]=e.destinationFrame.height,h[2]=e.sourceFrame.x,h[3]=e.sourceFrame.y,n.filterClamp=n.inputClamp}this.globalUniforms.update();var l=t[t.length-1];if(this.renderer.framebuffer.blit(),r.length===1)r[0].apply(this,e.renderTexture,l.renderTexture,Zt.BLEND,e),this.returnFilterTexture(e.renderTexture);else{var u=e.renderTexture,f=this.getOptimalFilterTexture(u.width,u.height,e.resolution);f.filterFrame=u.filterFrame;var p=0;for(p=0;p<r.length-1;++p){p===1&&e.multisample>1&&(f=this.getOptimalFilterTexture(u.width,u.height,e.resolution),f.filterFrame=u.filterFrame),r[p].apply(this,u,f,Zt.CLEAR,e);var d=u;u=f,f=d}r[p].apply(this,u,l.renderTexture,Zt.BLEND,e),p>1&&e.multisample>1&&this.returnFilterTexture(e.renderTexture),this.returnFilterTexture(u),this.returnFilterTexture(f)}e.clear(),this.statePool.push(e)},i.prototype.bindAndClear=function(t,e){e===void 0&&(e=Zt.CLEAR);var r=this.renderer,n=r.renderTexture,s=r.state;if(t===this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?this.renderer.projection.transform=this.activeState.transform:this.renderer.projection.transform=null,t&&t.filterFrame){var o=this.tempRect;o.x=0,o.y=0,o.width=t.filterFrame.width,o.height=t.filterFrame.height,n.bind(t,t.filterFrame,o)}else t!==this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?n.bind(t):this.renderer.renderTexture.bind(t,this.activeState.bindingSourceFrame,this.activeState.bindingDestinationFrame);var a=s.stateId&1||this.forceClear;(e===Zt.CLEAR||e===Zt.BLIT&&a)&&this.renderer.framebuffer.clear(0,0,0,0)},i.prototype.applyFilter=function(t,e,r,n){var s=this.renderer;s.state.set(t.state),this.bindAndClear(r,n),t.uniforms.uSampler=e,t.uniforms.filterGlobals=this.globalUniforms,s.shader.bind(t),t.legacy=!!t.program.attributeData.aTextureCoord,t.legacy?(this.quadUv.map(e._frame,e.filterFrame),s.geometry.bind(this.quadUv),s.geometry.draw(Rt.TRIANGLES)):(s.geometry.bind(this.quad),s.geometry.draw(Rt.TRIANGLE_STRIP))},i.prototype.calculateSpriteMatrix=function(t,e){var r=this.activeState,n=r.sourceFrame,s=r.destinationFrame,o=e._texture.orig,a=t.set(s.width,0,0,s.height,n.x,n.y),h=e.worldTransform.copyTo(tt.TEMP_MATRIX);return h.invert(),a.prepend(h),a.scale(1/o.width,1/o.height),a.translate(e.anchor.x,e.anchor.y),a},i.prototype.destroy=function(){this.renderer=null,this.texturePool.clear(!1)},i.prototype.getOptimalFilterTexture=function(t,e,r,n){return r===void 0&&(r=1),n===void 0&&(n=Z.NONE),this.texturePool.getOptimalTexture(t,e,r,n)},i.prototype.getFilterTexture=function(t,e,r){if(typeof t=="number"){var n=t;t=e,e=n}t=t||this.activeState.renderTexture;var s=this.texturePool.getOptimalTexture(t.width,t.height,e||t.resolution,r||Z.NONE);return s.filterFrame=t.filterFrame,s},i.prototype.returnFilterTexture=function(t){this.texturePool.returnTexture(t)},i.prototype.emptyPool=function(){this.texturePool.clear(!0)},i.prototype.resize=function(){this.texturePool.setScreenSize(this.renderer.view)},i.prototype.transformAABB=function(t,e){var r=qi[0],n=qi[1],s=qi[2],o=qi[3];r.set(e.left,e.top),n.set(e.left,e.bottom),s.set(e.right,e.top),o.set(e.right,e.bottom),t.apply(r,r),t.apply(n,n),t.apply(s,s),t.apply(o,o);var a=Math.min(r.x,n.x,s.x,o.x),h=Math.min(r.y,n.y,s.y,o.y),l=Math.max(r.x,n.x,s.x,o.x),u=Math.max(r.y,n.y,s.y,o.y);e.x=a,e.y=h,e.width=l-a,e.height=u-h},i.prototype.roundFrame=function(t,e,r,n,s){if(!(t.width<=0||t.height<=0||r.width<=0||r.height<=0)){if(s){var o=s.a,a=s.b,h=s.c,l=s.d;if((Math.abs(a)>1e-4||Math.abs(h)>1e-4)&&(Math.abs(o)>1e-4||Math.abs(l)>1e-4))return}s=s?ln.copyFrom(s):ln.identity(),s.translate(-r.x,-r.y).scale(n.width/r.width,n.height/r.height).translate(n.x,n.y),this.transformAABB(s,t),t.ceil(e),this.transformAABB(s.invert(),t)}},i}(),Vo=function(){function i(t){this.renderer=t}return i.prototype.flush=function(){},i.prototype.destroy=function(){this.renderer=null},i.prototype.start=function(){},i.prototype.stop=function(){this.flush()},i.prototype.render=function(t){},i}(),Fd=function(){function i(t){this.renderer=t,this.emptyRenderer=new Vo(t),this.currentRenderer=this.emptyRenderer}return i.prototype.setObjectRenderer=function(t){this.currentRenderer!==t&&(this.currentRenderer.stop(),this.currentRenderer=t,this.currentRenderer.start())},i.prototype.flush=function(){this.setObjectRenderer(this.emptyRenderer)},i.prototype.reset=function(){this.setObjectRenderer(this.emptyRenderer)},i.prototype.copyBoundTextures=function(t,e){for(var r=this.renderer.texture.boundTextures,n=e-1;n>=0;--n)t[n]=r[n]||null,t[n]&&(t[n]._batchLocation=n)},i.prototype.boundArray=function(t,e,r,n){for(var s=t.elements,o=t.ids,a=t.count,h=0,l=0;l<a;l++){var u=s[l],f=u._batchLocation;if(f>=0&&f<n&&e[f]===u){o[l]=f;continue}for(;h<n;){var p=e[h];if(p&&p._batchEnabled===r&&p._batchLocation===h){h++;continue}o[l]=h,u._batchLocation=h,e[h]=u;break}}},i.prototype.destroy=function(){this.renderer=null},i}(),jo=0,Rd=function(){function i(t){this.renderer=t,this.webGLVersion=1,this.extensions={},this.supports={uint32Indices:!1},this.handleContextLost=this.handleContextLost.bind(this),this.handleContextRestored=this.handleContextRestored.bind(this),t.view.addEventListener("webglcontextlost",this.handleContextLost,!1),t.view.addEventListener("webglcontextrestored",this.handleContextRestored,!1)}return Object.defineProperty(i.prototype,"isLost",{get:function(){return!this.gl||this.gl.isContextLost()},enumerable:!1,configurable:!0}),i.prototype.contextChange=function(t){this.gl=t,this.renderer.gl=t,this.renderer.CONTEXT_UID=jo++},i.prototype.initFromContext=function(t){this.gl=t,this.validateContext(t),this.renderer.gl=t,this.renderer.CONTEXT_UID=jo++,this.renderer.runners.contextChange.emit(t)},i.prototype.initFromOptions=function(t){var e=this.createContext(this.renderer.view,t);this.initFromContext(e)},i.prototype.createContext=function(t,e){var r;if(M.PREFER_ENV>=Ft.WEBGL2&&(r=t.getContext("webgl2",e)),r)this.webGLVersion=2;else if(this.webGLVersion=1,r=t.getContext("webgl",e)||t.getContext("experimental-webgl",e),!r)throw new Error("This browser does not support WebGL. Try using the canvas renderer");return this.gl=r,this.getExtensions(),this.gl},i.prototype.getExtensions=function(){var t=this.gl,e={loseContext:t.getExtension("WEBGL_lose_context"),anisotropicFiltering:t.getExtension("EXT_texture_filter_anisotropic"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),s3tc:t.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:t.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:t.getExtension("WEBGL_compressed_texture_etc"),etc1:t.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:t.getExtension("WEBGL_compressed_texture_atc"),astc:t.getExtension("WEBGL_compressed_texture_astc")};this.webGLVersion===1?Object.assign(this.extensions,e,{drawBuffers:t.getExtension("WEBGL_draw_buffers"),depthTexture:t.getExtension("WEBGL_depth_texture"),vertexArrayObject:t.getExtension("OES_vertex_array_object")||t.getExtension("MOZ_OES_vertex_array_object")||t.getExtension("WEBKIT_OES_vertex_array_object"),uint32ElementIndex:t.getExtension("OES_element_index_uint"),floatTexture:t.getExtension("OES_texture_float"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),textureHalfFloat:t.getExtension("OES_texture_half_float"),textureHalfFloatLinear:t.getExtension("OES_texture_half_float_linear")}):this.webGLVersion===2&&Object.assign(this.extensions,e,{colorBufferFloat:t.getExtension("EXT_color_buffer_float")})},i.prototype.handleContextLost=function(t){var e=this;t.preventDefault(),setTimeout(function(){e.gl.isContextLost()&&e.extensions.loseContext&&e.extensions.loseContext.restoreContext()},0)},i.prototype.handleContextRestored=function(){this.renderer.runners.contextChange.emit(this.gl)},i.prototype.destroy=function(){var t=this.renderer.view;this.renderer=null,t.removeEventListener("webglcontextlost",this.handleContextLost),t.removeEventListener("webglcontextrestored",this.handleContextRestored),this.gl.useProgram(null),this.extensions.loseContext&&this.extensions.loseContext.loseContext()},i.prototype.postrender=function(){this.renderer.renderingToScreen&&this.gl.flush()},i.prototype.validateContext=function(t){var e=t.getContextAttributes(),r="WebGL2RenderingContext"in globalThis&&t instanceof globalThis.WebGL2RenderingContext;r&&(this.webGLVersion=2),e&&!e.stencil&&console.warn("Provided WebGL context does not have a stencil buffer, masks may not render correctly");var n=r||!!t.getExtension("OES_element_index_uint");this.supports.uint32Indices=n,n||console.warn("Provided WebGL context does not support 32 index buffer, complex graphics may not render correctly")},i}(),Dd=function(){function i(t){this.framebuffer=t,this.stencil=null,this.dirtyId=-1,this.dirtyFormat=-1,this.dirtySize=-1,this.multisample=Z.NONE,this.msaaBuffer=null,this.blitFramebuffer=null,this.mipLevel=0}return i}(),Bd=new U,kd=function(){function i(t){this.renderer=t,this.managedFramebuffers=[],this.unknownFramebuffer=new an(10,10),this.msaaSamples=null}return i.prototype.contextChange=function(){this.disposeAll(!0);var t=this.gl=this.renderer.gl;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.current=this.unknownFramebuffer,this.viewport=new U,this.hasMRT=!0,this.writeDepthTexture=!0,this.renderer.context.webGLVersion===1){var e=this.renderer.context.extensions.drawBuffers,r=this.renderer.context.extensions.depthTexture;M.PREFER_ENV===Ft.WEBGL_LEGACY&&(e=null,r=null),e?t.drawBuffers=function(n){return e.drawBuffersWEBGL(n)}:(this.hasMRT=!1,t.drawBuffers=function(){}),r||(this.writeDepthTexture=!1)}else this.msaaSamples=t.getInternalformatParameter(t.RENDERBUFFER,t.RGBA8,t.SAMPLES)},i.prototype.bind=function(t,e,r){r===void 0&&(r=0);var n=this.gl;if(t){var s=t.glFramebuffers[this.CONTEXT_UID]||this.initFramebuffer(t);this.current!==t&&(this.current=t,n.bindFramebuffer(n.FRAMEBUFFER,s.framebuffer)),s.mipLevel!==r&&(t.dirtyId++,t.dirtyFormat++,s.mipLevel=r),s.dirtyId!==t.dirtyId&&(s.dirtyId=t.dirtyId,s.dirtyFormat!==t.dirtyFormat?(s.dirtyFormat=t.dirtyFormat,s.dirtySize=t.dirtySize,this.updateFramebuffer(t,r)):s.dirtySize!==t.dirtySize&&(s.dirtySize=t.dirtySize,this.resizeFramebuffer(t)));for(var o=0;o<t.colorTextures.length;o++){var a=t.colorTextures[o];this.renderer.texture.unbind(a.parentTextureArray||a)}if(t.depthTexture&&this.renderer.texture.unbind(t.depthTexture),e){var h=e.width>>r,l=e.height>>r,u=h/e.width;this.setViewport(e.x*u,e.y*u,h,l)}else{var h=t.width>>r,l=t.height>>r;this.setViewport(0,0,h,l)}}else this.current&&(this.current=null,n.bindFramebuffer(n.FRAMEBUFFER,null)),e?this.setViewport(e.x,e.y,e.width,e.height):this.setViewport(0,0,this.renderer.width,this.renderer.height)},i.prototype.setViewport=function(t,e,r,n){var s=this.viewport;t=Math.round(t),e=Math.round(e),r=Math.round(r),n=Math.round(n),(s.width!==r||s.height!==n||s.x!==t||s.y!==e)&&(s.x=t,s.y=e,s.width=r,s.height=n,this.gl.viewport(t,e,r,n))},Object.defineProperty(i.prototype,"size",{get:function(){return this.current?{x:0,y:0,width:this.current.width,height:this.current.height}:{x:0,y:0,width:this.renderer.width,height:this.renderer.height}},enumerable:!1,configurable:!0}),i.prototype.clear=function(t,e,r,n,s){s===void 0&&(s=wi.COLOR|wi.DEPTH);var o=this.gl;o.clearColor(t,e,r,n),o.clear(s)},i.prototype.initFramebuffer=function(t){var e=this.gl,r=new Dd(e.createFramebuffer());return r.multisample=this.detectSamples(t.multisample),t.glFramebuffers[this.CONTEXT_UID]=r,this.managedFramebuffers.push(t),t.disposeRunner.add(this),r},i.prototype.resizeFramebuffer=function(t){var e=this.gl,r=t.glFramebuffers[this.CONTEXT_UID];r.msaaBuffer&&(e.bindRenderbuffer(e.RENDERBUFFER,r.msaaBuffer),e.renderbufferStorageMultisample(e.RENDERBUFFER,r.multisample,e.RGBA8,t.width,t.height)),r.stencil&&(e.bindRenderbuffer(e.RENDERBUFFER,r.stencil),r.msaaBuffer?e.renderbufferStorageMultisample(e.RENDERBUFFER,r.multisample,e.DEPTH24_STENCIL8,t.width,t.height):e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,t.width,t.height));var n=t.colorTextures,s=n.length;e.drawBuffers||(s=Math.min(s,1));for(var o=0;o<s;o++){var a=n[o],h=a.parentTextureArray||a;this.renderer.texture.bind(h,0)}t.depthTexture&&this.writeDepthTexture&&this.renderer.texture.bind(t.depthTexture,0)},i.prototype.updateFramebuffer=function(t,e){var r=this.gl,n=t.glFramebuffers[this.CONTEXT_UID],s=t.colorTextures,o=s.length;r.drawBuffers||(o=Math.min(o,1)),n.multisample>1&&this.canMultisampleFramebuffer(t)?(n.msaaBuffer=n.msaaBuffer||r.createRenderbuffer(),r.bindRenderbuffer(r.RENDERBUFFER,n.msaaBuffer),r.renderbufferStorageMultisample(r.RENDERBUFFER,n.multisample,r.RGBA8,t.width,t.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.RENDERBUFFER,n.msaaBuffer)):n.msaaBuffer&&(r.deleteRenderbuffer(n.msaaBuffer),n.msaaBuffer=null,n.blitFramebuffer&&(n.blitFramebuffer.dispose(),n.blitFramebuffer=null));for(var a=[],h=0;h<o;h++){var l=s[h],u=l.parentTextureArray||l;this.renderer.texture.bind(u,0),!(h===0&&n.msaaBuffer)&&(r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0+h,l.target,u._glTextures[this.CONTEXT_UID].texture,e),a.push(r.COLOR_ATTACHMENT0+h))}if(a.length>1&&r.drawBuffers(a),t.depthTexture){var f=this.writeDepthTexture;if(f){var p=t.depthTexture;this.renderer.texture.bind(p,0),r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,p._glTextures[this.CONTEXT_UID].texture,e)}}(t.stencil||t.depth)&&!(t.depthTexture&&this.writeDepthTexture)?(n.stencil=n.stencil||r.createRenderbuffer(),r.bindRenderbuffer(r.RENDERBUFFER,n.stencil),n.msaaBuffer?r.renderbufferStorageMultisample(r.RENDERBUFFER,n.multisample,r.DEPTH24_STENCIL8,t.width,t.height):r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_STENCIL,t.width,t.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.RENDERBUFFER,n.stencil)):n.stencil&&(r.deleteRenderbuffer(n.stencil),n.stencil=null)},i.prototype.canMultisampleFramebuffer=function(t){return this.renderer.context.webGLVersion!==1&&t.colorTextures.length<=1&&!t.depthTexture},i.prototype.detectSamples=function(t){var e=this.msaaSamples,r=Z.NONE;if(t<=1||e===null)return r;for(var n=0;n<e.length;n++)if(e[n]<=t){r=e[n];break}return r===1&&(r=Z.NONE),r},i.prototype.blit=function(t,e,r){var n=this,s=n.current,o=n.renderer,a=n.gl,h=n.CONTEXT_UID;if(o.context.webGLVersion===2&&s){var l=s.glFramebuffers[h];if(l){if(!t){if(!l.msaaBuffer)return;var u=s.colorTextures[0];if(!u)return;l.blitFramebuffer||(l.blitFramebuffer=new an(s.width,s.height),l.blitFramebuffer.addColorTexture(0,u)),t=l.blitFramebuffer,t.colorTextures[0]!==u&&(t.colorTextures[0]=u,t.dirtyId++,t.dirtyFormat++),(t.width!==s.width||t.height!==s.height)&&(t.width=s.width,t.height=s.height,t.dirtyId++,t.dirtySize++)}e||(e=Bd,e.width=s.width,e.height=s.height),r||(r=e);var f=e.width===r.width&&e.height===r.height;this.bind(t),a.bindFramebuffer(a.READ_FRAMEBUFFER,l.framebuffer),a.blitFramebuffer(e.left,e.top,e.right,e.bottom,r.left,r.top,r.right,r.bottom,a.COLOR_BUFFER_BIT,f?a.NEAREST:a.LINEAR)}}},i.prototype.disposeFramebuffer=function(t,e){var r=t.glFramebuffers[this.CONTEXT_UID],n=this.gl;if(r){delete t.glFramebuffers[this.CONTEXT_UID];var s=this.managedFramebuffers.indexOf(t);s>=0&&this.managedFramebuffers.splice(s,1),t.disposeRunner.remove(this),e||(n.deleteFramebuffer(r.framebuffer),r.msaaBuffer&&n.deleteRenderbuffer(r.msaaBuffer),r.stencil&&n.deleteRenderbuffer(r.stencil)),r.blitFramebuffer&&r.blitFramebuffer.dispose()}},i.prototype.disposeAll=function(t){var e=this.managedFramebuffers;this.managedFramebuffers=[];for(var r=0;r<e.length;r++)this.disposeFramebuffer(e[r],t)},i.prototype.forceStencil=function(){var t=this.current;if(t){var e=t.glFramebuffers[this.CONTEXT_UID];if(!(!e||e.stencil)){t.stencil=!0;var r=t.width,n=t.height,s=this.gl,o=s.createRenderbuffer();s.bindRenderbuffer(s.RENDERBUFFER,o),e.msaaBuffer?s.renderbufferStorageMultisample(s.RENDERBUFFER,e.multisample,s.DEPTH24_STENCIL8,r,n):s.renderbufferStorage(s.RENDERBUFFER,s.DEPTH_STENCIL,r,n),e.stencil=o,s.framebufferRenderbuffer(s.FRAMEBUFFER,s.DEPTH_STENCIL_ATTACHMENT,s.RENDERBUFFER,o)}}},i.prototype.reset=function(){this.current=this.unknownFramebuffer,this.viewport=new U},i.prototype.destroy=function(){this.renderer=null},i}(),un={5126:4,5123:2,5121:1},Ud=function(){function i(t){this.renderer=t,this._activeGeometry=null,this._activeVao=null,this.hasVao=!0,this.hasInstance=!0,this.canUseUInt32ElementIndex=!1,this.managedGeometries={}}return i.prototype.contextChange=function(){this.disposeAll(!0);var t=this.gl=this.renderer.gl,e=this.renderer.context;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,e.webGLVersion!==2){var r=this.renderer.context.extensions.vertexArrayObject;M.PREFER_ENV===Ft.WEBGL_LEGACY&&(r=null),r?(t.createVertexArray=function(){return r.createVertexArrayOES()},t.bindVertexArray=function(s){return r.bindVertexArrayOES(s)},t.deleteVertexArray=function(s){return r.deleteVertexArrayOES(s)}):(this.hasVao=!1,t.createVertexArray=function(){return null},t.bindVertexArray=function(){return null},t.deleteVertexArray=function(){return null})}if(e.webGLVersion!==2){var n=t.getExtension("ANGLE_instanced_arrays");n?(t.vertexAttribDivisor=function(s,o){return n.vertexAttribDivisorANGLE(s,o)},t.drawElementsInstanced=function(s,o,a,h,l){return n.drawElementsInstancedANGLE(s,o,a,h,l)},t.drawArraysInstanced=function(s,o,a,h){return n.drawArraysInstancedANGLE(s,o,a,h)}):this.hasInstance=!1}this.canUseUInt32ElementIndex=e.webGLVersion===2||!!e.extensions.uint32ElementIndex},i.prototype.bind=function(t,e){e=e||this.renderer.shader.shader;var r=this.gl,n=t.glVertexArrayObjects[this.CONTEXT_UID],s=!1;n||(this.managedGeometries[t.id]=t,t.disposeRunner.add(this),t.glVertexArrayObjects[this.CONTEXT_UID]=n={},s=!0);var o=n[e.program.id]||this.initGeometryVao(t,e,s);this._activeGeometry=t,this._activeVao!==o&&(this._activeVao=o,this.hasVao?r.bindVertexArray(o):this.activateVao(t,e.program)),this.updateBuffers()},i.prototype.reset=function(){this.unbind()},i.prototype.updateBuffers=function(){for(var t=this._activeGeometry,e=this.renderer.buffer,r=0;r<t.buffers.length;r++){var n=t.buffers[r];e.update(n)}},i.prototype.checkCompatibility=function(t,e){var r=t.attributes,n=e.attributeData;for(var s in n)if(!r[s])throw new Error('shader and geometry incompatible, geometry missing the "'+s+'" attribute')},i.prototype.getSignature=function(t,e){var r=t.attributes,n=e.attributeData,s=["g",t.id];for(var o in r)n[o]&&s.push(o,n[o].location);return s.join("-")},i.prototype.initGeometryVao=function(t,e,r){r===void 0&&(r=!0);var n=this.gl,s=this.CONTEXT_UID,o=this.renderer.buffer,a=e.program;a.glPrograms[s]||this.renderer.shader.generateProgram(e),this.checkCompatibility(t,a);var h=this.getSignature(t,a),l=t.glVertexArrayObjects[this.CONTEXT_UID],u=l[h];if(u)return l[a.id]=u,u;var f=t.buffers,p=t.attributes,d={},v={};for(var m in f)d[m]=0,v[m]=0;for(var m in p)!p[m].size&&a.attributeData[m]?p[m].size=a.attributeData[m].size:p[m].size||console.warn("PIXI Geometry attribute '"+m+"' size cannot be determined (likely the bound shader does not have the attribute)"),d[p[m].buffer]+=p[m].size*un[p[m].type];for(var m in p){var y=p[m],g=y.size;y.stride===void 0&&(d[y.buffer]===g*un[y.type]?y.stride=0:y.stride=d[y.buffer]),y.start===void 0&&(y.start=v[y.buffer],v[y.buffer]+=g*un[y.type])}u=n.createVertexArray(),n.bindVertexArray(u);for(var w=0;w<f.length;w++){var _=f[w];o.bind(_),r&&_._glBuffers[s].refCount++}return this.activateVao(t,a),this._activeVao=u,l[a.id]=u,l[h]=u,u},i.prototype.disposeGeometry=function(t,e){var r;if(this.managedGeometries[t.id]){delete this.managedGeometries[t.id];var n=t.glVertexArrayObjects[this.CONTEXT_UID],s=this.gl,o=t.buffers,a=(r=this.renderer)===null||r===void 0?void 0:r.buffer;if(t.disposeRunner.remove(this),!!n){if(a)for(var h=0;h<o.length;h++){var l=o[h]._glBuffers[this.CONTEXT_UID];l&&(l.refCount--,l.refCount===0&&!e&&a.dispose(o[h],e))}if(!e){for(var u in n)if(u[0]==="g"){var f=n[u];this._activeVao===f&&this.unbind(),s.deleteVertexArray(f)}}delete t.glVertexArrayObjects[this.CONTEXT_UID]}}},i.prototype.disposeAll=function(t){for(var e=Object.keys(this.managedGeometries),r=0;r<e.length;r++)this.disposeGeometry(this.managedGeometries[e[r]],t)},i.prototype.activateVao=function(t,e){var r=this.gl,n=this.CONTEXT_UID,s=this.renderer.buffer,o=t.buffers,a=t.attributes;t.indexBuffer&&s.bind(t.indexBuffer);var h=null;for(var l in a){var u=a[l],f=o[u.buffer],p=f._glBuffers[n];if(e.attributeData[l]){h!==p&&(s.bind(f),h=p);var d=e.attributeData[l].location;if(r.enableVertexAttribArray(d),r.vertexAttribPointer(d,u.size,u.type||r.FLOAT,u.normalized,u.stride,u.start),u.instance)if(this.hasInstance)r.vertexAttribDivisor(d,1);else throw new Error("geometry error, GPU Instancing is not supported on this device")}}},i.prototype.draw=function(t,e,r,n){var s=this.gl,o=this._activeGeometry;if(o.indexBuffer){var a=o.indexBuffer.data.BYTES_PER_ELEMENT,h=a===2?s.UNSIGNED_SHORT:s.UNSIGNED_INT;a===2||a===4&&this.canUseUInt32ElementIndex?o.instanced?s.drawElementsInstanced(t,e||o.indexBuffer.data.length,h,(r||0)*a,n||1):s.drawElements(t,e||o.indexBuffer.data.length,h,(r||0)*a):console.warn("unsupported index buffer type: uint32")}else o.instanced?s.drawArraysInstanced(t,r,e||o.getSize(),n||1):s.drawArrays(t,r,e||o.getSize());return this},i.prototype.unbind=function(){this.gl.bindVertexArray(null),this._activeVao=null,this._activeGeometry=null},i.prototype.destroy=function(){this.renderer=null},i}(),Xd=function(){function i(t){t===void 0&&(t=null),this.type=K.NONE,this.autoDetect=!0,this.maskObject=t||null,this.pooled=!1,this.isMaskData=!0,this.resolution=null,this.multisample=M.FILTER_MULTISAMPLE,this.enabled=!0,this.colorMask=15,this._filters=null,this._stencilCounter=0,this._scissorCounter=0,this._scissorRect=null,this._scissorRectLocal=null,this._colorMask=15,this._target=null}return Object.defineProperty(i.prototype,"filter",{get:function(){return this._filters?this._filters[0]:null},set:function(t){t?this._filters?this._filters[0]=t:this._filters=[t]:this._filters=null},enumerable:!1,configurable:!0}),i.prototype.reset=function(){this.pooled&&(this.maskObject=null,this.type=K.NONE,this.autoDetect=!0),this._target=null,this._scissorRectLocal=null},i.prototype.copyCountersOrReset=function(t){t?(this._stencilCounter=t._stencilCounter,this._scissorCounter=t._scissorCounter,this._scissorRect=t._scissorRect):(this._stencilCounter=0,this._scissorCounter=0,this._scissorRect=null)},i}();function qo(i,t,e){var r=i.createShader(t);return i.shaderSource(r,e),i.compileShader(r),r}function Zo(i,t){var e=i.getShaderSource(t).split(`
|
|
91
|
+
`).map(function(l,u){return u+": "+l}),r=i.getShaderInfoLog(t),n=r.split(`
|
|
92
|
+
`),s={},o=n.map(function(l){return parseFloat(l.replace(/^ERROR\: 0\:([\d]+)\:.*$/,"$1"))}).filter(function(l){return l&&!s[l]?(s[l]=!0,!0):!1}),a=[""];o.forEach(function(l){e[l-1]="%c"+e[l-1]+"%c",a.push("background: #FF0000; color:#FFFFFF; font-size: 10px","font-size: 10px")});var h=e.join(`
|
|
93
|
+
`);a[0]=h,console.error(r),console.groupCollapsed("click to view full shader code"),console.warn.apply(console,a),console.groupEnd()}function Gd(i,t,e,r){i.getProgramParameter(t,i.LINK_STATUS)||(i.getShaderParameter(e,i.COMPILE_STATUS)||Zo(i,e),i.getShaderParameter(r,i.COMPILE_STATUS)||Zo(i,r),console.error("PixiJS Error: Could not initialize shader."),i.getProgramInfoLog(t)!==""&&console.warn("PixiJS Warning: gl.getProgramInfoLog()",i.getProgramInfoLog(t)))}function fn(i){for(var t=new Array(i),e=0;e<t.length;e++)t[e]=!1;return t}function Jo(i,t){switch(i){case"float":return 0;case"vec2":return new Float32Array(2*t);case"vec3":return new Float32Array(3*t);case"vec4":return new Float32Array(4*t);case"int":case"uint":case"sampler2D":case"sampler2DArray":return 0;case"ivec2":return new Int32Array(2*t);case"ivec3":return new Int32Array(3*t);case"ivec4":return new Int32Array(4*t);case"uvec2":return new Uint32Array(2*t);case"uvec3":return new Uint32Array(3*t);case"uvec4":return new Uint32Array(4*t);case"bool":return!1;case"bvec2":return fn(2*t);case"bvec3":return fn(3*t);case"bvec4":return fn(4*t);case"mat2":return new Float32Array([1,0,0,1]);case"mat3":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}var Qo={},hi=Qo;function Yd(){if(hi===Qo||hi&&hi.isContextLost()){var i=M.ADAPTER.createCanvas(),t=void 0;M.PREFER_ENV>=Ft.WEBGL2&&(t=i.getContext("webgl2",{})),t||(t=i.getContext("webgl",{})||i.getContext("experimental-webgl",{}),t?t.getExtension("WEBGL_draw_buffers"):t=null),hi=t}return hi}var Zi;function Hd(){if(!Zi){Zi=mt.MEDIUM;var i=Yd();if(i&&i.getShaderPrecisionFormat){var t=i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT);Zi=t.precision?mt.HIGH:mt.MEDIUM}}return Zi}function Ko(i,t,e){if(i.substring(0,9)!=="precision"){var r=t;return t===mt.HIGH&&e!==mt.HIGH&&(r=mt.MEDIUM),"precision "+r+` float;
|
|
94
|
+
`+i}else if(e!==mt.HIGH&&i.substring(0,15)==="precision highp")return i.replace("precision highp","precision mediump");return i}var Wd={float:1,vec2:2,vec3:3,vec4:4,int:1,ivec2:2,ivec3:3,ivec4:4,uint:1,uvec2:2,uvec3:3,uvec4:4,bool:1,bvec2:2,bvec3:3,bvec4:4,mat2:4,mat3:9,mat4:16,sampler2D:1};function ta(i){return Wd[i]}var Ji=null,ea={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",UNSIGNED_INT:"uint",UNSIGNED_INT_VEC2:"uvec2",UNSIGNED_INT_VEC3:"uvec3",UNSIGNED_INT_VEC4:"uvec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",INT_SAMPLER_2D:"sampler2D",UNSIGNED_INT_SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube",INT_SAMPLER_CUBE:"samplerCube",UNSIGNED_INT_SAMPLER_CUBE:"samplerCube",SAMPLER_2D_ARRAY:"sampler2DArray",INT_SAMPLER_2D_ARRAY:"sampler2DArray",UNSIGNED_INT_SAMPLER_2D_ARRAY:"sampler2DArray"};function ia(i,t){if(!Ji){var e=Object.keys(ea);Ji={};for(var r=0;r<e.length;++r){var n=e[r];Ji[i[n]]=ea[n]}}return Ji[t]}var Be=[{test:function(i){return i.type==="float"&&i.size===1&&!i.isArray},code:function(i){return`
|
|
95
|
+
if(uv["`+i+'"] !== ud["'+i+`"].value)
|
|
96
|
+
{
|
|
97
|
+
ud["`+i+'"].value = uv["'+i+`"]
|
|
98
|
+
gl.uniform1f(ud["`+i+'"].location, uv["'+i+`"])
|
|
99
|
+
}
|
|
100
|
+
`}},{test:function(i,t){return(i.type==="sampler2D"||i.type==="samplerCube"||i.type==="sampler2DArray")&&i.size===1&&!i.isArray&&(t==null||t.castToBaseTexture!==void 0)},code:function(i){return`t = syncData.textureCount++;
|
|
101
|
+
|
|
102
|
+
renderer.texture.bind(uv["`+i+`"], t);
|
|
103
|
+
|
|
104
|
+
if(ud["`+i+`"].value !== t)
|
|
105
|
+
{
|
|
106
|
+
ud["`+i+`"].value = t;
|
|
107
|
+
gl.uniform1i(ud["`+i+`"].location, t);
|
|
108
|
+
; // eslint-disable-line max-len
|
|
109
|
+
}`}},{test:function(i,t){return i.type==="mat3"&&i.size===1&&!i.isArray&&t.a!==void 0},code:function(i){return`
|
|
110
|
+
gl.uniformMatrix3fv(ud["`+i+'"].location, false, uv["'+i+`"].toArray(true));
|
|
111
|
+
`},codeUbo:function(i){return`
|
|
112
|
+
var `+i+"_matrix = uv."+i+`.toArray(true);
|
|
113
|
+
|
|
114
|
+
data[offset] = `+i+`_matrix[0];
|
|
115
|
+
data[offset+1] = `+i+`_matrix[1];
|
|
116
|
+
data[offset+2] = `+i+`_matrix[2];
|
|
117
|
+
|
|
118
|
+
data[offset + 4] = `+i+`_matrix[3];
|
|
119
|
+
data[offset + 5] = `+i+`_matrix[4];
|
|
120
|
+
data[offset + 6] = `+i+`_matrix[5];
|
|
121
|
+
|
|
122
|
+
data[offset + 8] = `+i+`_matrix[6];
|
|
123
|
+
data[offset + 9] = `+i+`_matrix[7];
|
|
124
|
+
data[offset + 10] = `+i+`_matrix[8];
|
|
125
|
+
`}},{test:function(i,t){return i.type==="vec2"&&i.size===1&&!i.isArray&&t.x!==void 0},code:function(i){return`
|
|
126
|
+
cv = ud["`+i+`"].value;
|
|
127
|
+
v = uv["`+i+`"];
|
|
128
|
+
|
|
129
|
+
if(cv[0] !== v.x || cv[1] !== v.y)
|
|
130
|
+
{
|
|
131
|
+
cv[0] = v.x;
|
|
132
|
+
cv[1] = v.y;
|
|
133
|
+
gl.uniform2f(ud["`+i+`"].location, v.x, v.y);
|
|
134
|
+
}`},codeUbo:function(i){return`
|
|
135
|
+
v = uv.`+i+`;
|
|
136
|
+
|
|
137
|
+
data[offset] = v.x;
|
|
138
|
+
data[offset+1] = v.y;
|
|
139
|
+
`}},{test:function(i){return i.type==="vec2"&&i.size===1&&!i.isArray},code:function(i){return`
|
|
140
|
+
cv = ud["`+i+`"].value;
|
|
141
|
+
v = uv["`+i+`"];
|
|
142
|
+
|
|
143
|
+
if(cv[0] !== v[0] || cv[1] !== v[1])
|
|
144
|
+
{
|
|
145
|
+
cv[0] = v[0];
|
|
146
|
+
cv[1] = v[1];
|
|
147
|
+
gl.uniform2f(ud["`+i+`"].location, v[0], v[1]);
|
|
148
|
+
}
|
|
149
|
+
`}},{test:function(i,t){return i.type==="vec4"&&i.size===1&&!i.isArray&&t.width!==void 0},code:function(i){return`
|
|
150
|
+
cv = ud["`+i+`"].value;
|
|
151
|
+
v = uv["`+i+`"];
|
|
152
|
+
|
|
153
|
+
if(cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height)
|
|
154
|
+
{
|
|
155
|
+
cv[0] = v.x;
|
|
156
|
+
cv[1] = v.y;
|
|
157
|
+
cv[2] = v.width;
|
|
158
|
+
cv[3] = v.height;
|
|
159
|
+
gl.uniform4f(ud["`+i+`"].location, v.x, v.y, v.width, v.height)
|
|
160
|
+
}`},codeUbo:function(i){return`
|
|
161
|
+
v = uv.`+i+`;
|
|
162
|
+
|
|
163
|
+
data[offset] = v.x;
|
|
164
|
+
data[offset+1] = v.y;
|
|
165
|
+
data[offset+2] = v.width;
|
|
166
|
+
data[offset+3] = v.height;
|
|
167
|
+
`}},{test:function(i){return i.type==="vec4"&&i.size===1&&!i.isArray},code:function(i){return`
|
|
168
|
+
cv = ud["`+i+`"].value;
|
|
169
|
+
v = uv["`+i+`"];
|
|
170
|
+
|
|
171
|
+
if(cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
|
|
172
|
+
{
|
|
173
|
+
cv[0] = v[0];
|
|
174
|
+
cv[1] = v[1];
|
|
175
|
+
cv[2] = v[2];
|
|
176
|
+
cv[3] = v[3];
|
|
177
|
+
|
|
178
|
+
gl.uniform4f(ud["`+i+`"].location, v[0], v[1], v[2], v[3])
|
|
179
|
+
}`}}],zd={float:`
|
|
180
|
+
if (cv !== v)
|
|
181
|
+
{
|
|
182
|
+
cu.value = v;
|
|
183
|
+
gl.uniform1f(location, v);
|
|
184
|
+
}`,vec2:`
|
|
185
|
+
if (cv[0] !== v[0] || cv[1] !== v[1])
|
|
186
|
+
{
|
|
187
|
+
cv[0] = v[0];
|
|
188
|
+
cv[1] = v[1];
|
|
189
|
+
|
|
190
|
+
gl.uniform2f(location, v[0], v[1])
|
|
191
|
+
}`,vec3:`
|
|
192
|
+
if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
|
|
193
|
+
{
|
|
194
|
+
cv[0] = v[0];
|
|
195
|
+
cv[1] = v[1];
|
|
196
|
+
cv[2] = v[2];
|
|
197
|
+
|
|
198
|
+
gl.uniform3f(location, v[0], v[1], v[2])
|
|
199
|
+
}`,vec4:`
|
|
200
|
+
if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
|
|
201
|
+
{
|
|
202
|
+
cv[0] = v[0];
|
|
203
|
+
cv[1] = v[1];
|
|
204
|
+
cv[2] = v[2];
|
|
205
|
+
cv[3] = v[3];
|
|
206
|
+
|
|
207
|
+
gl.uniform4f(location, v[0], v[1], v[2], v[3]);
|
|
208
|
+
}`,int:`
|
|
209
|
+
if (cv !== v)
|
|
210
|
+
{
|
|
211
|
+
cu.value = v;
|
|
212
|
+
|
|
213
|
+
gl.uniform1i(location, v);
|
|
214
|
+
}`,ivec2:`
|
|
215
|
+
if (cv[0] !== v[0] || cv[1] !== v[1])
|
|
216
|
+
{
|
|
217
|
+
cv[0] = v[0];
|
|
218
|
+
cv[1] = v[1];
|
|
219
|
+
|
|
220
|
+
gl.uniform2i(location, v[0], v[1]);
|
|
221
|
+
}`,ivec3:`
|
|
222
|
+
if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
|
|
223
|
+
{
|
|
224
|
+
cv[0] = v[0];
|
|
225
|
+
cv[1] = v[1];
|
|
226
|
+
cv[2] = v[2];
|
|
227
|
+
|
|
228
|
+
gl.uniform3i(location, v[0], v[1], v[2]);
|
|
229
|
+
}`,ivec4:`
|
|
230
|
+
if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
|
|
231
|
+
{
|
|
232
|
+
cv[0] = v[0];
|
|
233
|
+
cv[1] = v[1];
|
|
234
|
+
cv[2] = v[2];
|
|
235
|
+
cv[3] = v[3];
|
|
236
|
+
|
|
237
|
+
gl.uniform4i(location, v[0], v[1], v[2], v[3]);
|
|
238
|
+
}`,uint:`
|
|
239
|
+
if (cv !== v)
|
|
240
|
+
{
|
|
241
|
+
cu.value = v;
|
|
242
|
+
|
|
243
|
+
gl.uniform1ui(location, v);
|
|
244
|
+
}`,uvec2:`
|
|
245
|
+
if (cv[0] !== v[0] || cv[1] !== v[1])
|
|
246
|
+
{
|
|
247
|
+
cv[0] = v[0];
|
|
248
|
+
cv[1] = v[1];
|
|
249
|
+
|
|
250
|
+
gl.uniform2ui(location, v[0], v[1]);
|
|
251
|
+
}`,uvec3:`
|
|
252
|
+
if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
|
|
253
|
+
{
|
|
254
|
+
cv[0] = v[0];
|
|
255
|
+
cv[1] = v[1];
|
|
256
|
+
cv[2] = v[2];
|
|
257
|
+
|
|
258
|
+
gl.uniform3ui(location, v[0], v[1], v[2]);
|
|
259
|
+
}`,uvec4:`
|
|
260
|
+
if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
|
|
261
|
+
{
|
|
262
|
+
cv[0] = v[0];
|
|
263
|
+
cv[1] = v[1];
|
|
264
|
+
cv[2] = v[2];
|
|
265
|
+
cv[3] = v[3];
|
|
266
|
+
|
|
267
|
+
gl.uniform4ui(location, v[0], v[1], v[2], v[3]);
|
|
268
|
+
}`,bool:`
|
|
269
|
+
if (cv !== v)
|
|
270
|
+
{
|
|
271
|
+
cu.value = v;
|
|
272
|
+
gl.uniform1i(location, v);
|
|
273
|
+
}`,bvec2:`
|
|
274
|
+
if (cv[0] != v[0] || cv[1] != v[1])
|
|
275
|
+
{
|
|
276
|
+
cv[0] = v[0];
|
|
277
|
+
cv[1] = v[1];
|
|
278
|
+
|
|
279
|
+
gl.uniform2i(location, v[0], v[1]);
|
|
280
|
+
}`,bvec3:`
|
|
281
|
+
if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
|
|
282
|
+
{
|
|
283
|
+
cv[0] = v[0];
|
|
284
|
+
cv[1] = v[1];
|
|
285
|
+
cv[2] = v[2];
|
|
286
|
+
|
|
287
|
+
gl.uniform3i(location, v[0], v[1], v[2]);
|
|
288
|
+
}`,bvec4:`
|
|
289
|
+
if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
|
|
290
|
+
{
|
|
291
|
+
cv[0] = v[0];
|
|
292
|
+
cv[1] = v[1];
|
|
293
|
+
cv[2] = v[2];
|
|
294
|
+
cv[3] = v[3];
|
|
295
|
+
|
|
296
|
+
gl.uniform4i(location, v[0], v[1], v[2], v[3]);
|
|
297
|
+
}`,mat2:"gl.uniformMatrix2fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",sampler2D:`
|
|
298
|
+
if (cv !== v)
|
|
299
|
+
{
|
|
300
|
+
cu.value = v;
|
|
301
|
+
|
|
302
|
+
gl.uniform1i(location, v);
|
|
303
|
+
}`,samplerCube:`
|
|
304
|
+
if (cv !== v)
|
|
305
|
+
{
|
|
306
|
+
cu.value = v;
|
|
307
|
+
|
|
308
|
+
gl.uniform1i(location, v);
|
|
309
|
+
}`,sampler2DArray:`
|
|
310
|
+
if (cv !== v)
|
|
311
|
+
{
|
|
312
|
+
cu.value = v;
|
|
313
|
+
|
|
314
|
+
gl.uniform1i(location, v);
|
|
315
|
+
}`},$d={float:"gl.uniform1fv(location, v)",vec2:"gl.uniform2fv(location, v)",vec3:"gl.uniform3fv(location, v)",vec4:"gl.uniform4fv(location, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat2:"gl.uniformMatrix2fv(location, false, v)",int:"gl.uniform1iv(location, v)",ivec2:"gl.uniform2iv(location, v)",ivec3:"gl.uniform3iv(location, v)",ivec4:"gl.uniform4iv(location, v)",uint:"gl.uniform1uiv(location, v)",uvec2:"gl.uniform2uiv(location, v)",uvec3:"gl.uniform3uiv(location, v)",uvec4:"gl.uniform4uiv(location, v)",bool:"gl.uniform1iv(location, v)",bvec2:"gl.uniform2iv(location, v)",bvec3:"gl.uniform3iv(location, v)",bvec4:"gl.uniform4iv(location, v)",sampler2D:"gl.uniform1iv(location, v)",samplerCube:"gl.uniform1iv(location, v)",sampler2DArray:"gl.uniform1iv(location, v)"};function Vd(i,t){var e,r=[`
|
|
316
|
+
var v = null;
|
|
317
|
+
var cv = null;
|
|
318
|
+
var cu = null;
|
|
319
|
+
var t = 0;
|
|
320
|
+
var gl = renderer.gl;
|
|
321
|
+
`];for(var n in i.uniforms){var s=t[n];if(!s){!((e=i.uniforms[n])===null||e===void 0)&&e.group&&(i.uniforms[n].ubo?r.push(`
|
|
322
|
+
renderer.shader.syncUniformBufferGroup(uv.`+n+", '"+n+`');
|
|
323
|
+
`):r.push(`
|
|
324
|
+
renderer.shader.syncUniformGroup(uv.`+n+`, syncData);
|
|
325
|
+
`));continue}for(var o=i.uniforms[n],a=!1,h=0;h<Be.length;h++)if(Be[h].test(s,o)){r.push(Be[h].code(n,o)),a=!0;break}if(!a){var l=s.size===1&&!s.isArray?zd:$d,u=l[s.type].replace("location",'ud["'+n+'"].location');r.push(`
|
|
326
|
+
cu = ud["`+n+`"];
|
|
327
|
+
cv = cu.value;
|
|
328
|
+
v = uv["`+n+`"];
|
|
329
|
+
`+u+";")}}return new Function("ud","uv","renderer","syncData",r.join(`
|
|
330
|
+
`))}var jd=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
|
|
331
|
+
`);function qd(i){for(var t="",e=0;e<i;++e)e>0&&(t+=`
|
|
332
|
+
else `),e<i-1&&(t+="if(test == "+e+".0){}");return t}function Zd(i,t){if(i===0)throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");for(var e=t.createShader(t.FRAGMENT_SHADER);;){var r=jd.replace(/%forloop%/gi,qd(i));if(t.shaderSource(e,r),t.compileShader(e),!t.getShaderParameter(e,t.COMPILE_STATUS))i=i/2|0;else break}return i}var li;function Jd(){if(typeof li=="boolean")return li;try{var i=new Function("param1","param2","param3","return param1[param2] === param3;");li=i({a:"b"},"a","b")===!0}catch{li=!1}return li}var Qd=`varying vec2 vTextureCoord;
|
|
333
|
+
|
|
334
|
+
uniform sampler2D uSampler;
|
|
335
|
+
|
|
336
|
+
void main(void){
|
|
337
|
+
gl_FragColor *= texture2D(uSampler, vTextureCoord);
|
|
338
|
+
}`,Kd=`attribute vec2 aVertexPosition;
|
|
339
|
+
attribute vec2 aTextureCoord;
|
|
340
|
+
|
|
341
|
+
uniform mat3 projectionMatrix;
|
|
342
|
+
|
|
343
|
+
varying vec2 vTextureCoord;
|
|
344
|
+
|
|
345
|
+
void main(void){
|
|
346
|
+
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
347
|
+
vTextureCoord = aTextureCoord;
|
|
348
|
+
}
|
|
349
|
+
`,tv=0,Qi={},cn=function(){function i(t,e,r){r===void 0&&(r="pixi-shader"),this.id=tv++,this.vertexSrc=t||i.defaultVertexSrc,this.fragmentSrc=e||i.defaultFragmentSrc,this.vertexSrc=this.vertexSrc.trim(),this.fragmentSrc=this.fragmentSrc.trim(),this.vertexSrc.substring(0,8)!=="#version"&&(r=r.replace(/\s+/g,"-"),Qi[r]?(Qi[r]++,r+="-"+Qi[r]):Qi[r]=1,this.vertexSrc="#define SHADER_NAME "+r+`
|
|
350
|
+
`+this.vertexSrc,this.fragmentSrc="#define SHADER_NAME "+r+`
|
|
351
|
+
`+this.fragmentSrc,this.vertexSrc=Ko(this.vertexSrc,M.PRECISION_VERTEX,mt.HIGH),this.fragmentSrc=Ko(this.fragmentSrc,M.PRECISION_FRAGMENT,Hd())),this.glPrograms={},this.syncUniforms=null}return Object.defineProperty(i,"defaultVertexSrc",{get:function(){return Kd},enumerable:!1,configurable:!0}),Object.defineProperty(i,"defaultFragmentSrc",{get:function(){return Qd},enumerable:!1,configurable:!0}),i.from=function(t,e,r){var n=t+e,s=ks[n];return s||(ks[n]=s=new i(t,e,r)),s},i}(),pn=function(){function i(t,e){this.uniformBindCount=0,this.program=t,e?e instanceof ye?this.uniformGroup=e:this.uniformGroup=new ye(e):this.uniformGroup=new ye({}),this.disposeRunner=new st("disposeShader")}return i.prototype.checkUniformExists=function(t,e){if(e.uniforms[t])return!0;for(var r in e.uniforms){var n=e.uniforms[r];if(n.group&&this.checkUniformExists(t,n))return!0}return!1},i.prototype.destroy=function(){this.uniformGroup=null,this.disposeRunner.emit(this),this.disposeRunner.destroy()},Object.defineProperty(i.prototype,"uniforms",{get:function(){return this.uniformGroup.uniforms},enumerable:!1,configurable:!0}),i.from=function(t,e,r){var n=cn.from(t,e);return new i(n,r)},i}(),dn=0,vn=1,yn=2,mn=3,gn=4,_n=5,Ki=function(){function i(){this.data=0,this.blendMode=T.NORMAL,this.polygonOffset=0,this.blend=!0,this.depthMask=!0}return Object.defineProperty(i.prototype,"blend",{get:function(){return!!(this.data&1<<dn)},set:function(t){!!(this.data&1<<dn)!==t&&(this.data^=1<<dn)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"offsets",{get:function(){return!!(this.data&1<<vn)},set:function(t){!!(this.data&1<<vn)!==t&&(this.data^=1<<vn)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"culling",{get:function(){return!!(this.data&1<<yn)},set:function(t){!!(this.data&1<<yn)!==t&&(this.data^=1<<yn)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"depthTest",{get:function(){return!!(this.data&1<<mn)},set:function(t){!!(this.data&1<<mn)!==t&&(this.data^=1<<mn)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"depthMask",{get:function(){return!!(this.data&1<<_n)},set:function(t){!!(this.data&1<<_n)!==t&&(this.data^=1<<_n)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"clockwiseFrontFace",{get:function(){return!!(this.data&1<<gn)},set:function(t){!!(this.data&1<<gn)!==t&&(this.data^=1<<gn)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"blendMode",{get:function(){return this._blendMode},set:function(t){this.blend=t!==T.NONE,this._blendMode=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"polygonOffset",{get:function(){return this._polygonOffset},set:function(t){this.offsets=!!t,this._polygonOffset=t},enumerable:!1,configurable:!0}),i.prototype.toString=function(){return"[@pixi/core:State "+("blendMode="+this.blendMode+" ")+("clockwiseFrontFace="+this.clockwiseFrontFace+" ")+("culling="+this.culling+" ")+("depthMask="+this.depthMask+" ")+("polygonOffset="+this.polygonOffset)+"]"},i.for2d=function(){var t=new i;return t.depthTest=!1,t.blend=!0,t},i}(),ev=`varying vec2 vTextureCoord;
|
|
352
|
+
|
|
353
|
+
uniform sampler2D uSampler;
|
|
354
|
+
|
|
355
|
+
void main(void){
|
|
356
|
+
gl_FragColor = texture2D(uSampler, vTextureCoord);
|
|
357
|
+
}
|
|
358
|
+
`,iv=`attribute vec2 aVertexPosition;
|
|
359
|
+
|
|
360
|
+
uniform mat3 projectionMatrix;
|
|
361
|
+
|
|
362
|
+
varying vec2 vTextureCoord;
|
|
363
|
+
|
|
364
|
+
uniform vec4 inputSize;
|
|
365
|
+
uniform vec4 outputFrame;
|
|
366
|
+
|
|
367
|
+
vec4 filterVertexPosition( void )
|
|
368
|
+
{
|
|
369
|
+
vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;
|
|
370
|
+
|
|
371
|
+
return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
vec2 filterTextureCoord( void )
|
|
375
|
+
{
|
|
376
|
+
return aVertexPosition * (outputFrame.zw * inputSize.zw);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
void main(void)
|
|
380
|
+
{
|
|
381
|
+
gl_Position = filterVertexPosition();
|
|
382
|
+
vTextureCoord = filterTextureCoord();
|
|
383
|
+
}
|
|
384
|
+
`,ra=function(i){z(t,i);function t(e,r,n){var s=this,o=cn.from(e||t.defaultVertexSrc,r||t.defaultFragmentSrc);return s=i.call(this,o,n)||this,s.padding=0,s.resolution=M.FILTER_RESOLUTION,s.multisample=M.FILTER_MULTISAMPLE,s.enabled=!0,s.autoFit=!0,s.state=new Ki,s}return t.prototype.apply=function(e,r,n,s,o){e.applyFilter(this,r,n,s)},Object.defineProperty(t.prototype,"blendMode",{get:function(){return this.state.blendMode},set:function(e){this.state.blendMode=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"resolution",{get:function(){return this._resolution},set:function(e){this._resolution=e},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultVertexSrc",{get:function(){return iv},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultFragmentSrc",{get:function(){return ev},enumerable:!1,configurable:!0}),t}(pn),rv=`attribute vec2 aVertexPosition;
|
|
385
|
+
attribute vec2 aTextureCoord;
|
|
386
|
+
|
|
387
|
+
uniform mat3 projectionMatrix;
|
|
388
|
+
uniform mat3 otherMatrix;
|
|
389
|
+
|
|
390
|
+
varying vec2 vMaskCoord;
|
|
391
|
+
varying vec2 vTextureCoord;
|
|
392
|
+
|
|
393
|
+
void main(void)
|
|
394
|
+
{
|
|
395
|
+
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
396
|
+
|
|
397
|
+
vTextureCoord = aTextureCoord;
|
|
398
|
+
vMaskCoord = ( otherMatrix * vec3( aTextureCoord, 1.0) ).xy;
|
|
399
|
+
}
|
|
400
|
+
`,nv=`varying vec2 vMaskCoord;
|
|
401
|
+
varying vec2 vTextureCoord;
|
|
402
|
+
|
|
403
|
+
uniform sampler2D uSampler;
|
|
404
|
+
uniform sampler2D mask;
|
|
405
|
+
uniform float alpha;
|
|
406
|
+
uniform float npmAlpha;
|
|
407
|
+
uniform vec4 maskClamp;
|
|
408
|
+
|
|
409
|
+
void main(void)
|
|
410
|
+
{
|
|
411
|
+
float clip = step(3.5,
|
|
412
|
+
step(maskClamp.x, vMaskCoord.x) +
|
|
413
|
+
step(maskClamp.y, vMaskCoord.y) +
|
|
414
|
+
step(vMaskCoord.x, maskClamp.z) +
|
|
415
|
+
step(vMaskCoord.y, maskClamp.w));
|
|
416
|
+
|
|
417
|
+
vec4 original = texture2D(uSampler, vTextureCoord);
|
|
418
|
+
vec4 masky = texture2D(mask, vMaskCoord);
|
|
419
|
+
float alphaMul = 1.0 - npmAlpha * (1.0 - masky.a);
|
|
420
|
+
|
|
421
|
+
original *= (alphaMul * masky.r * alpha * clip);
|
|
422
|
+
|
|
423
|
+
gl_FragColor = original;
|
|
424
|
+
}
|
|
425
|
+
`,na=new tt,sv=function(){function i(t,e){this._texture=t,this.mapCoord=new tt,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,this.clampMargin=typeof e>"u"?.5:e,this.isSimple=!1}return Object.defineProperty(i.prototype,"texture",{get:function(){return this._texture},set:function(t){this._texture=t,this._textureID=-1},enumerable:!1,configurable:!0}),i.prototype.multiplyUvs=function(t,e){e===void 0&&(e=t);for(var r=this.mapCoord,n=0;n<t.length;n+=2){var s=t[n],o=t[n+1];e[n]=s*r.a+o*r.c+r.tx,e[n+1]=s*r.b+o*r.d+r.ty}return e},i.prototype.update=function(t){var e=this._texture;if(!e||!e.valid||!t&&this._textureID===e._updateID)return!1;this._textureID=e._updateID,this._updateID++;var r=e._uvs;this.mapCoord.set(r.x1-r.x0,r.y1-r.y0,r.x3-r.x0,r.y3-r.y0,r.x0,r.y0);var n=e.orig,s=e.trim;s&&(na.set(n.width/s.width,0,0,n.height/s.height,-s.x/s.width,-s.y/s.height),this.mapCoord.append(na));var o=e.baseTexture,a=this.uClampFrame,h=this.clampMargin/o.resolution,l=this.clampOffset;return a[0]=(e._frame.x+h+l)/o.width,a[1]=(e._frame.y+h+l)/o.height,a[2]=(e._frame.x+e._frame.width-h+l)/o.width,a[3]=(e._frame.y+e._frame.height-h+l)/o.height,this.uClampOffset[0]=l/o.realWidth,this.uClampOffset[1]=l/o.realHeight,this.isSimple=e._frame.width===o.width&&e._frame.height===o.height&&e.rotate===0,!0},i}(),ov=function(i){z(t,i);function t(e,r,n){var s=this,o=null;return typeof e!="string"&&r===void 0&&n===void 0&&(o=e,e=void 0,r=void 0,n=void 0),s=i.call(this,e||rv,r||nv,n)||this,s.maskSprite=o,s.maskMatrix=new tt,s}return Object.defineProperty(t.prototype,"maskSprite",{get:function(){return this._maskSprite},set:function(e){this._maskSprite=e,this._maskSprite&&(this._maskSprite.renderable=!1)},enumerable:!1,configurable:!0}),t.prototype.apply=function(e,r,n,s){var o=this._maskSprite,a=o._texture;a.valid&&(a.uvMatrix||(a.uvMatrix=new sv(a,0)),a.uvMatrix.update(),this.uniforms.npmAlpha=a.baseTexture.alphaMode?0:1,this.uniforms.mask=a,this.uniforms.otherMatrix=e.calculateSpriteMatrix(this.maskMatrix,o).prepend(a.uvMatrix.mapCoord),this.uniforms.alpha=o.worldAlpha,this.uniforms.maskClamp=a.uvMatrix.uClampFrame,e.applyFilter(this,r,n,s))},t}(ra),av=function(){function i(t){this.renderer=t,this.enableScissor=!0,this.alphaMaskPool=[],this.maskDataPool=[],this.maskStack=[],this.alphaMaskIndex=0}return i.prototype.setMaskStack=function(t){this.maskStack=t,this.renderer.scissor.setMaskStack(t),this.renderer.stencil.setMaskStack(t)},i.prototype.push=function(t,e){var r=e;if(!r.isMaskData){var n=this.maskDataPool.pop()||new Xd;n.pooled=!0,n.maskObject=e,r=n}var s=this.maskStack.length!==0?this.maskStack[this.maskStack.length-1]:null;if(r.copyCountersOrReset(s),r._colorMask=s?s._colorMask:15,r.autoDetect&&this.detect(r),r._target=t,r.type!==K.SPRITE&&this.maskStack.push(r),r.enabled)switch(r.type){case K.SCISSOR:this.renderer.scissor.push(r);break;case K.STENCIL:this.renderer.stencil.push(r);break;case K.SPRITE:r.copyCountersOrReset(null),this.pushSpriteMask(r);break;case K.COLOR:this.pushColorMask(r);break}r.type===K.SPRITE&&this.maskStack.push(r)},i.prototype.pop=function(t){var e=this.maskStack.pop();if(!(!e||e._target!==t)){if(e.enabled)switch(e.type){case K.SCISSOR:this.renderer.scissor.pop(e);break;case K.STENCIL:this.renderer.stencil.pop(e.maskObject);break;case K.SPRITE:this.popSpriteMask(e);break;case K.COLOR:this.popColorMask(e);break}if(e.reset(),e.pooled&&this.maskDataPool.push(e),this.maskStack.length!==0){var r=this.maskStack[this.maskStack.length-1];r.type===K.SPRITE&&r._filters&&(r._filters[0].maskSprite=r.maskObject)}}},i.prototype.detect=function(t){var e=t.maskObject;e?e.isSprite?t.type=K.SPRITE:this.enableScissor&&this.renderer.scissor.testScissor(t)?t.type=K.SCISSOR:t.type=K.STENCIL:t.type=K.COLOR},i.prototype.pushSpriteMask=function(t){var e,r,n=t.maskObject,s=t._target,o=t._filters;o||(o=this.alphaMaskPool[this.alphaMaskIndex],o||(o=this.alphaMaskPool[this.alphaMaskIndex]=[new ov]));var a=this.renderer,h=a.renderTexture,l,u;if(h.current){var f=h.current;l=t.resolution||f.resolution,u=(e=t.multisample)!==null&&e!==void 0?e:f.multisample}else l=t.resolution||a.resolution,u=(r=t.multisample)!==null&&r!==void 0?r:a.multisample;o[0].resolution=l,o[0].multisample=u,o[0].maskSprite=n;var p=s.filterArea;s.filterArea=n.getBounds(!0),a.filter.push(s,o),s.filterArea=p,t._filters||this.alphaMaskIndex++},i.prototype.popSpriteMask=function(t){this.renderer.filter.pop(),t._filters?t._filters[0].maskSprite=null:(this.alphaMaskIndex--,this.alphaMaskPool[this.alphaMaskIndex][0].maskSprite=null)},i.prototype.pushColorMask=function(t){var e=t._colorMask,r=t._colorMask=e&t.colorMask;r!==e&&this.renderer.gl.colorMask((r&1)!==0,(r&2)!==0,(r&4)!==0,(r&8)!==0)},i.prototype.popColorMask=function(t){var e=t._colorMask,r=this.maskStack.length>0?this.maskStack[this.maskStack.length-1]._colorMask:15;r!==e&&this.renderer.gl.colorMask((r&1)!==0,(r&2)!==0,(r&4)!==0,(r&8)!==0)},i.prototype.destroy=function(){this.renderer=null},i}(),sa=function(){function i(t){this.renderer=t,this.maskStack=[],this.glConst=0}return i.prototype.getStackLength=function(){return this.maskStack.length},i.prototype.setMaskStack=function(t){var e=this.renderer.gl,r=this.getStackLength();this.maskStack=t;var n=this.getStackLength();n!==r&&(n===0?e.disable(this.glConst):(e.enable(this.glConst),this._useCurrent()))},i.prototype._useCurrent=function(){},i.prototype.destroy=function(){this.renderer=null,this.maskStack=null},i}(),oa=new tt,aa=[],hv=function(i){z(t,i);function t(e){var r=i.call(this,e)||this;return r.glConst=M.ADAPTER.getWebGLRenderingContext().SCISSOR_TEST,r}return t.prototype.getStackLength=function(){var e=this.maskStack[this.maskStack.length-1];return e?e._scissorCounter:0},t.prototype.calcScissorRect=function(e){var r;if(!e._scissorRectLocal){var n=e._scissorRect,s=e.maskObject,o=this.renderer,a=o.renderTexture,h=s.getBounds(!0,(r=aa.pop())!==null&&r!==void 0?r:new U);this.roundFrameToPixels(h,a.current?a.current.resolution:o.resolution,a.sourceFrame,a.destinationFrame,o.projection.transform),n&&h.fit(n),e._scissorRectLocal=h}},t.isMatrixRotated=function(e){if(!e)return!1;var r=e.a,n=e.b,s=e.c,o=e.d;return(Math.abs(n)>1e-4||Math.abs(s)>1e-4)&&(Math.abs(r)>1e-4||Math.abs(o)>1e-4)},t.prototype.testScissor=function(e){var r=e.maskObject;if(!r.isFastRect||!r.isFastRect()||t.isMatrixRotated(r.worldTransform)||t.isMatrixRotated(this.renderer.projection.transform))return!1;this.calcScissorRect(e);var n=e._scissorRectLocal;return n.width>0&&n.height>0},t.prototype.roundFrameToPixels=function(e,r,n,s,o){t.isMatrixRotated(o)||(o=o?oa.copyFrom(o):oa.identity(),o.translate(-n.x,-n.y).scale(s.width/n.width,s.height/n.height).translate(s.x,s.y),this.renderer.filter.transformAABB(o,e),e.fit(s),e.x=Math.round(e.x*r),e.y=Math.round(e.y*r),e.width=Math.round(e.width*r),e.height=Math.round(e.height*r))},t.prototype.push=function(e){e._scissorRectLocal||this.calcScissorRect(e);var r=this.renderer.gl;e._scissorRect||r.enable(r.SCISSOR_TEST),e._scissorCounter++,e._scissorRect=e._scissorRectLocal,this._useCurrent()},t.prototype.pop=function(e){var r=this.renderer.gl;e&&aa.push(e._scissorRectLocal),this.getStackLength()>0?this._useCurrent():r.disable(r.SCISSOR_TEST)},t.prototype._useCurrent=function(){var e=this.maskStack[this.maskStack.length-1]._scissorRect,r;this.renderer.renderTexture.current?r=e.y:r=this.renderer.height-e.height-e.y,this.renderer.gl.scissor(e.x,r,e.width,e.height)},t}(sa),lv=function(i){z(t,i);function t(e){var r=i.call(this,e)||this;return r.glConst=M.ADAPTER.getWebGLRenderingContext().STENCIL_TEST,r}return t.prototype.getStackLength=function(){var e=this.maskStack[this.maskStack.length-1];return e?e._stencilCounter:0},t.prototype.push=function(e){var r=e.maskObject,n=this.renderer.gl,s=e._stencilCounter;s===0&&(this.renderer.framebuffer.forceStencil(),n.clearStencil(0),n.clear(n.STENCIL_BUFFER_BIT),n.enable(n.STENCIL_TEST)),e._stencilCounter++;var o=e._colorMask;o!==0&&(e._colorMask=0,n.colorMask(!1,!1,!1,!1)),n.stencilFunc(n.EQUAL,s,4294967295),n.stencilOp(n.KEEP,n.KEEP,n.INCR),r.renderable=!0,r.render(this.renderer),this.renderer.batch.flush(),r.renderable=!1,o!==0&&(e._colorMask=o,n.colorMask((o&1)!==0,(o&2)!==0,(o&4)!==0,(o&8)!==0)),this._useCurrent()},t.prototype.pop=function(e){var r=this.renderer.gl;if(this.getStackLength()===0)r.disable(r.STENCIL_TEST);else{var n=this.maskStack.length!==0?this.maskStack[this.maskStack.length-1]:null,s=n?n._colorMask:15;s!==0&&(n._colorMask=0,r.colorMask(!1,!1,!1,!1)),r.stencilOp(r.KEEP,r.KEEP,r.DECR),e.renderable=!0,e.render(this.renderer),this.renderer.batch.flush(),e.renderable=!1,s!==0&&(n._colorMask=s,r.colorMask((s&1)!==0,(s&2)!==0,(s&4)!==0,(s&8)!==0)),this._useCurrent()}},t.prototype._useCurrent=function(){var e=this.renderer.gl;e.stencilFunc(e.EQUAL,this.getStackLength(),4294967295),e.stencilOp(e.KEEP,e.KEEP,e.KEEP)},t}(sa),uv=function(){function i(t){this.renderer=t,this.destinationFrame=null,this.sourceFrame=null,this.defaultFrame=null,this.projectionMatrix=new tt,this.transform=null}return i.prototype.update=function(t,e,r,n){this.destinationFrame=t||this.destinationFrame||this.defaultFrame,this.sourceFrame=e||this.sourceFrame||t,this.calculateProjection(this.destinationFrame,this.sourceFrame,r,n),this.transform&&this.projectionMatrix.append(this.transform);var s=this.renderer;s.globalUniforms.uniforms.projectionMatrix=this.projectionMatrix,s.globalUniforms.update(),s.shader.shader&&s.shader.syncUniformGroup(s.shader.shader.uniforms.globals)},i.prototype.calculateProjection=function(t,e,r,n){var s=this.projectionMatrix,o=n?-1:1;s.identity(),s.a=1/e.width*2,s.d=o*(1/e.height*2),s.tx=-1-e.x*s.a,s.ty=-o-e.y*s.d},i.prototype.setTransform=function(t){},i.prototype.destroy=function(){this.renderer=null},i}(),me=new U,ui=new U,fv=function(){function i(t){this.renderer=t,this.clearColor=t._backgroundColorRgba,this.defaultMaskStack=[],this.current=null,this.sourceFrame=new U,this.destinationFrame=new U,this.viewportFrame=new U}return i.prototype.bind=function(t,e,r){t===void 0&&(t=null);var n=this.renderer;this.current=t;var s,o,a;t?(s=t.baseTexture,a=s.resolution,e||(me.width=t.frame.width,me.height=t.frame.height,e=me),r||(ui.x=t.frame.x,ui.y=t.frame.y,ui.width=e.width,ui.height=e.height,r=ui),o=s.framebuffer):(a=n.resolution,e||(me.width=n.screen.width,me.height=n.screen.height,e=me),r||(r=me,r.width=e.width,r.height=e.height));var h=this.viewportFrame;h.x=r.x*a,h.y=r.y*a,h.width=r.width*a,h.height=r.height*a,t||(h.y=n.view.height-(h.y+h.height)),h.ceil(),this.renderer.framebuffer.bind(o,h),this.renderer.projection.update(r,e,a,!o),t?this.renderer.mask.setMaskStack(s.maskStack):this.renderer.mask.setMaskStack(this.defaultMaskStack),this.sourceFrame.copyFrom(e),this.destinationFrame.copyFrom(r)},i.prototype.clear=function(t,e){this.current?t=t||this.current.baseTexture.clearColor:t=t||this.clearColor;var r=this.destinationFrame,n=this.current?this.current.baseTexture:this.renderer.screen,s=r.width!==n.width||r.height!==n.height;if(s){var o=this.viewportFrame,a=o.x,h=o.y,l=o.width,u=o.height;a=Math.round(a),h=Math.round(h),l=Math.round(l),u=Math.round(u),this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST),this.renderer.gl.scissor(a,h,l,u)}this.renderer.framebuffer.clear(t[0],t[1],t[2],t[3],e),s&&this.renderer.scissor.pop()},i.prototype.resize=function(){this.bind(null)},i.prototype.reset=function(){this.bind(null)},i.prototype.destroy=function(){this.renderer=null},i}();function cv(i,t,e,r,n){e.buffer.update(n)}var pv={float:`
|
|
426
|
+
data[offset] = v;
|
|
427
|
+
`,vec2:`
|
|
428
|
+
data[offset] = v[0];
|
|
429
|
+
data[offset+1] = v[1];
|
|
430
|
+
`,vec3:`
|
|
431
|
+
data[offset] = v[0];
|
|
432
|
+
data[offset+1] = v[1];
|
|
433
|
+
data[offset+2] = v[2];
|
|
434
|
+
|
|
435
|
+
`,vec4:`
|
|
436
|
+
data[offset] = v[0];
|
|
437
|
+
data[offset+1] = v[1];
|
|
438
|
+
data[offset+2] = v[2];
|
|
439
|
+
data[offset+3] = v[3];
|
|
440
|
+
`,mat2:`
|
|
441
|
+
data[offset] = v[0];
|
|
442
|
+
data[offset+1] = v[1];
|
|
443
|
+
|
|
444
|
+
data[offset+4] = v[2];
|
|
445
|
+
data[offset+5] = v[3];
|
|
446
|
+
`,mat3:`
|
|
447
|
+
data[offset] = v[0];
|
|
448
|
+
data[offset+1] = v[1];
|
|
449
|
+
data[offset+2] = v[2];
|
|
450
|
+
|
|
451
|
+
data[offset + 4] = v[3];
|
|
452
|
+
data[offset + 5] = v[4];
|
|
453
|
+
data[offset + 6] = v[5];
|
|
454
|
+
|
|
455
|
+
data[offset + 8] = v[6];
|
|
456
|
+
data[offset + 9] = v[7];
|
|
457
|
+
data[offset + 10] = v[8];
|
|
458
|
+
`,mat4:`
|
|
459
|
+
for(var i = 0; i < 16; i++)
|
|
460
|
+
{
|
|
461
|
+
data[offset + i] = v[i];
|
|
462
|
+
}
|
|
463
|
+
`},ha={float:4,vec2:8,vec3:12,vec4:16,int:4,ivec2:8,ivec3:12,ivec4:16,uint:4,uvec2:8,uvec3:12,uvec4:16,bool:4,bvec2:8,bvec3:12,bvec4:16,mat2:16*2,mat3:16*3,mat4:16*4};function dv(i){for(var t=i.map(function(h){return{data:h,offset:0,dataLen:0,dirty:0}}),e=0,r=0,n=0,s=0;s<t.length;s++){var o=t[s];if(e=ha[o.data.type],o.data.size>1&&(e=Math.max(e,16)*o.data.size),o.dataLen=e,r%e!==0&&r<16){var a=r%e%16;r+=a,n+=a}r+e>16?(n=Math.ceil(n/16)*16,o.offset=n,n+=e,r=e):(o.offset=n,r+=e,n+=e)}return n=Math.ceil(n/16)*16,{uboElements:t,size:n}}function vv(i,t){var e=[];for(var r in i)t[r]&&e.push(t[r]);return e.sort(function(n,s){return n.index-s.index}),e}function yv(i,t){if(!i.autoManage)return{size:0,syncFunc:cv};for(var e=vv(i.uniforms,t),r=dv(e),n=r.uboElements,s=r.size,o=[`
|
|
464
|
+
var v = null;
|
|
465
|
+
var v2 = null;
|
|
466
|
+
var cv = null;
|
|
467
|
+
var t = 0;
|
|
468
|
+
var gl = renderer.gl
|
|
469
|
+
var index = 0;
|
|
470
|
+
var data = buffer.data;
|
|
471
|
+
`],a=0;a<n.length;a++){for(var h=n[a],l=i.uniforms[h.data.name],u=h.data.name,f=!1,p=0;p<Be.length;p++){var d=Be[p];if(d.codeUbo&&d.test(h.data,l)){o.push("offset = "+h.offset/4+";",Be[p].codeUbo(h.data.name,l)),f=!0;break}}if(!f)if(h.data.size>1){var v=ta(h.data.type),m=Math.max(ha[h.data.type]/16,1),y=v/m,g=(4-y%4)%4;o.push(`
|
|
472
|
+
cv = ud.`+u+`.value;
|
|
473
|
+
v = uv.`+u+`;
|
|
474
|
+
offset = `+h.offset/4+`;
|
|
475
|
+
|
|
476
|
+
t = 0;
|
|
477
|
+
|
|
478
|
+
for(var i=0; i < `+h.data.size*m+`; i++)
|
|
479
|
+
{
|
|
480
|
+
for(var j = 0; j < `+y+`; j++)
|
|
481
|
+
{
|
|
482
|
+
data[offset++] = v[t++];
|
|
483
|
+
}
|
|
484
|
+
offset += `+g+`;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
`)}else{var w=pv[h.data.type];o.push(`
|
|
488
|
+
cv = ud.`+u+`.value;
|
|
489
|
+
v = uv.`+u+`;
|
|
490
|
+
offset = `+h.offset/4+`;
|
|
491
|
+
`+w+`;
|
|
492
|
+
`)}}return o.push(`
|
|
493
|
+
renderer.buffer.update(buffer);
|
|
494
|
+
`),{size:s,syncFunc:new Function("ud","uv","renderer","syncData","buffer",o.join(`
|
|
495
|
+
`))}}var mv=function(){function i(t,e){this.program=t,this.uniformData=e,this.uniformGroups={},this.uniformDirtyGroups={},this.uniformBufferBindings={}}return i.prototype.destroy=function(){this.uniformData=null,this.uniformGroups=null,this.uniformDirtyGroups=null,this.uniformBufferBindings=null,this.program=null},i}();function gv(i,t){for(var e={},r=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),n=0;n<r;n++){var s=t.getActiveAttrib(i,n);if(s.name.indexOf("gl_")!==0){var o=ia(t,s.type),a={type:o,name:s.name,size:ta(o),location:t.getAttribLocation(i,s.name)};e[s.name]=a}}return e}function _v(i,t){for(var e={},r=t.getProgramParameter(i,t.ACTIVE_UNIFORMS),n=0;n<r;n++){var s=t.getActiveUniform(i,n),o=s.name.replace(/\[.*?\]$/,""),a=!!s.name.match(/\[.*?\]$/),h=ia(t,s.type);e[o]={name:o,index:n,type:h,size:s.size,isArray:a,value:Jo(h,s.size)}}return e}function xv(i,t){var e=qo(i,i.VERTEX_SHADER,t.vertexSrc),r=qo(i,i.FRAGMENT_SHADER,t.fragmentSrc),n=i.createProgram();if(i.attachShader(n,e),i.attachShader(n,r),i.linkProgram(n),i.getProgramParameter(n,i.LINK_STATUS)||Gd(i,n,e,r),t.attributeData=gv(n,i),t.uniformData=_v(n,i),!/^[ \t]*#[ \t]*version[ \t]+300[ \t]+es[ \t]*$/m.test(t.vertexSrc)){var s=Object.keys(t.attributeData);s.sort(function(u,f){return u>f?1:-1});for(var o=0;o<s.length;o++)t.attributeData[s[o]].location=o,i.bindAttribLocation(n,o,s[o]);i.linkProgram(n)}i.deleteShader(e),i.deleteShader(r);var a={};for(var o in t.uniformData){var h=t.uniformData[o];a[o]={location:i.getUniformLocation(n,o),value:Jo(h.type,h.size)}}var l=new mv(n,a);return l}var wv=0,tr={textureCount:0,uboCount:0},la=function(){function i(t){this.destroyed=!1,this.renderer=t,this.systemCheck(),this.gl=null,this.shader=null,this.program=null,this.cache={},this._uboCache={},this.id=wv++}return i.prototype.systemCheck=function(){if(!Jd())throw new Error("Current environment does not allow unsafe-eval, please use @pixi/unsafe-eval module to enable support.")},i.prototype.contextChange=function(t){this.gl=t,this.reset()},i.prototype.bind=function(t,e){t.disposeRunner.add(this),t.uniforms.globals=this.renderer.globalUniforms;var r=t.program,n=r.glPrograms[this.renderer.CONTEXT_UID]||this.generateProgram(t);return this.shader=t,this.program!==r&&(this.program=r,this.gl.useProgram(n.program)),e||(tr.textureCount=0,tr.uboCount=0,this.syncUniformGroup(t.uniformGroup,tr)),n},i.prototype.setUniforms=function(t){var e=this.shader.program,r=e.glPrograms[this.renderer.CONTEXT_UID];e.syncUniforms(r.uniformData,t,this.renderer)},i.prototype.syncUniformGroup=function(t,e){var r=this.getGlProgram();(!t.static||t.dirtyId!==r.uniformDirtyGroups[t.id])&&(r.uniformDirtyGroups[t.id]=t.dirtyId,this.syncUniforms(t,r,e))},i.prototype.syncUniforms=function(t,e,r){var n=t.syncUniforms[this.shader.program.id]||this.createSyncGroups(t);n(e.uniformData,t.uniforms,this.renderer,r)},i.prototype.createSyncGroups=function(t){var e=this.getSignature(t,this.shader.program.uniformData,"u");return this.cache[e]||(this.cache[e]=Vd(t,this.shader.program.uniformData)),t.syncUniforms[this.shader.program.id]=this.cache[e],t.syncUniforms[this.shader.program.id]},i.prototype.syncUniformBufferGroup=function(t,e){var r=this.getGlProgram();if(!t.static||t.dirtyId!==0||!r.uniformGroups[t.id]){t.dirtyId=0;var n=r.uniformGroups[t.id]||this.createSyncBufferGroup(t,r,e);t.buffer.update(),n(r.uniformData,t.uniforms,this.renderer,tr,t.buffer)}this.renderer.buffer.bindBufferBase(t.buffer,r.uniformBufferBindings[e])},i.prototype.createSyncBufferGroup=function(t,e,r){var n=this.renderer.gl;this.renderer.buffer.bind(t.buffer);var s=this.gl.getUniformBlockIndex(e.program,r);e.uniformBufferBindings[r]=this.shader.uniformBindCount,n.uniformBlockBinding(e.program,s,this.shader.uniformBindCount),this.shader.uniformBindCount++;var o=this.getSignature(t,this.shader.program.uniformData,"ubo"),a=this._uboCache[o];if(a||(a=this._uboCache[o]=yv(t,this.shader.program.uniformData)),t.autoManage){var h=new Float32Array(a.size/4);t.buffer.update(h)}return e.uniformGroups[t.id]=a.syncFunc,e.uniformGroups[t.id]},i.prototype.getSignature=function(t,e,r){var n=t.uniforms,s=[r+"-"];for(var o in n)s.push(o),e[o]&&s.push(e[o].type);return s.join("-")},i.prototype.getGlProgram=function(){return this.shader?this.shader.program.glPrograms[this.renderer.CONTEXT_UID]:null},i.prototype.generateProgram=function(t){var e=this.gl,r=t.program,n=xv(e,r);return r.glPrograms[this.renderer.CONTEXT_UID]=n,n},i.prototype.reset=function(){this.program=null,this.shader=null},i.prototype.disposeShader=function(t){this.shader===t&&(this.shader=null)},i.prototype.destroy=function(){this.renderer=null,this.destroyed=!0},i}();function Pv(i,t){return t===void 0&&(t=[]),t[T.NORMAL]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.ADD]=[i.ONE,i.ONE],t[T.MULTIPLY]=[i.DST_COLOR,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.SCREEN]=[i.ONE,i.ONE_MINUS_SRC_COLOR,i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.OVERLAY]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.DARKEN]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.LIGHTEN]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.COLOR_DODGE]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.COLOR_BURN]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.HARD_LIGHT]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.SOFT_LIGHT]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.DIFFERENCE]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.EXCLUSION]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.HUE]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.SATURATION]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.COLOR]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.LUMINOSITY]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.NONE]=[0,0],t[T.NORMAL_NPM]=[i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.ADD_NPM]=[i.SRC_ALPHA,i.ONE,i.ONE,i.ONE],t[T.SCREEN_NPM]=[i.SRC_ALPHA,i.ONE_MINUS_SRC_COLOR,i.ONE,i.ONE_MINUS_SRC_ALPHA],t[T.SRC_IN]=[i.DST_ALPHA,i.ZERO],t[T.SRC_OUT]=[i.ONE_MINUS_DST_ALPHA,i.ZERO],t[T.SRC_ATOP]=[i.DST_ALPHA,i.ONE_MINUS_SRC_ALPHA],t[T.DST_OVER]=[i.ONE_MINUS_DST_ALPHA,i.ONE],t[T.DST_IN]=[i.ZERO,i.SRC_ALPHA],t[T.DST_OUT]=[i.ZERO,i.ONE_MINUS_SRC_ALPHA],t[T.DST_ATOP]=[i.ONE_MINUS_DST_ALPHA,i.SRC_ALPHA],t[T.XOR]=[i.ONE_MINUS_DST_ALPHA,i.ONE_MINUS_SRC_ALPHA],t[T.SUBTRACT]=[i.ONE,i.ONE,i.ONE,i.ONE,i.FUNC_REVERSE_SUBTRACT,i.FUNC_ADD],t}var bv=0,Tv=1,Cv=2,Iv=3,Ev=4,Sv=5,Av=function(){function i(){this.gl=null,this.stateId=0,this.polygonOffset=0,this.blendMode=T.NONE,this._blendEq=!1,this.map=[],this.map[bv]=this.setBlend,this.map[Tv]=this.setOffset,this.map[Cv]=this.setCullFace,this.map[Iv]=this.setDepthTest,this.map[Ev]=this.setFrontFace,this.map[Sv]=this.setDepthMask,this.checks=[],this.defaultState=new Ki,this.defaultState.blend=!0}return i.prototype.contextChange=function(t){this.gl=t,this.blendModes=Pv(t),this.set(this.defaultState),this.reset()},i.prototype.set=function(t){if(t=t||this.defaultState,this.stateId!==t.data){for(var e=this.stateId^t.data,r=0;e;)e&1&&this.map[r].call(this,!!(t.data&1<<r)),e=e>>1,r++;this.stateId=t.data}for(var r=0;r<this.checks.length;r++)this.checks[r](this,t)},i.prototype.forceState=function(t){t=t||this.defaultState;for(var e=0;e<this.map.length;e++)this.map[e].call(this,!!(t.data&1<<e));for(var e=0;e<this.checks.length;e++)this.checks[e](this,t);this.stateId=t.data},i.prototype.setBlend=function(t){this.updateCheck(i.checkBlendMode,t),this.gl[t?"enable":"disable"](this.gl.BLEND)},i.prototype.setOffset=function(t){this.updateCheck(i.checkPolygonOffset,t),this.gl[t?"enable":"disable"](this.gl.POLYGON_OFFSET_FILL)},i.prototype.setDepthTest=function(t){this.gl[t?"enable":"disable"](this.gl.DEPTH_TEST)},i.prototype.setDepthMask=function(t){this.gl.depthMask(t)},i.prototype.setCullFace=function(t){this.gl[t?"enable":"disable"](this.gl.CULL_FACE)},i.prototype.setFrontFace=function(t){this.gl.frontFace(this.gl[t?"CW":"CCW"])},i.prototype.setBlendMode=function(t){if(t!==this.blendMode){this.blendMode=t;var e=this.blendModes[t],r=this.gl;e.length===2?r.blendFunc(e[0],e[1]):r.blendFuncSeparate(e[0],e[1],e[2],e[3]),e.length===6?(this._blendEq=!0,r.blendEquationSeparate(e[4],e[5])):this._blendEq&&(this._blendEq=!1,r.blendEquationSeparate(r.FUNC_ADD,r.FUNC_ADD))}},i.prototype.setPolygonOffset=function(t,e){this.gl.polygonOffset(t,e)},i.prototype.reset=function(){this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,!1),this.forceState(this.defaultState),this._blendEq=!0,this.blendMode=-1,this.setBlendMode(0)},i.prototype.updateCheck=function(t,e){var r=this.checks.indexOf(t);e&&r===-1?this.checks.push(t):!e&&r!==-1&&this.checks.splice(r,1)},i.checkBlendMode=function(t,e){t.setBlendMode(e.blendMode)},i.checkPolygonOffset=function(t,e){t.setPolygonOffset(1,e.polygonOffset)},i.prototype.destroy=function(){this.gl=null},i}(),Ov=function(){function i(t){this.renderer=t,this.count=0,this.checkCount=0,this.maxIdle=M.GC_MAX_IDLE,this.checkCountMax=M.GC_MAX_CHECK_COUNT,this.mode=M.GC_MODE}return i.prototype.postrender=function(){this.renderer.renderingToScreen&&(this.count++,this.mode!==bi.MANUAL&&(this.checkCount++,this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())))},i.prototype.run=function(){for(var t=this.renderer.texture,e=t.managedTextures,r=!1,n=0;n<e.length;n++){var s=e[n];!s.framebuffer&&this.count-s.touched>this.maxIdle&&(t.destroyTexture(s,!0),e[n]=null,r=!0)}if(r){for(var o=0,n=0;n<e.length;n++)e[n]!==null&&(e[o++]=e[n]);e.length=o}},i.prototype.unload=function(t){var e=this.renderer.texture,r=t._texture;r&&!r.framebuffer&&e.destroyTexture(r);for(var n=t.children.length-1;n>=0;n--)this.unload(t.children[n])},i.prototype.destroy=function(){this.renderer=null},i}();function Lv(i){var t,e,r,n,s,o,a,h,l,u,f,p,d,v,m,y,g,w,_,b,x,P,I;return"WebGL2RenderingContext"in globalThis&&i instanceof globalThis.WebGL2RenderingContext?I=(t={},t[X.UNSIGNED_BYTE]=(e={},e[L.RGBA]=i.RGBA8,e[L.RGB]=i.RGB8,e[L.RG]=i.RG8,e[L.RED]=i.R8,e[L.RGBA_INTEGER]=i.RGBA8UI,e[L.RGB_INTEGER]=i.RGB8UI,e[L.RG_INTEGER]=i.RG8UI,e[L.RED_INTEGER]=i.R8UI,e[L.ALPHA]=i.ALPHA,e[L.LUMINANCE]=i.LUMINANCE,e[L.LUMINANCE_ALPHA]=i.LUMINANCE_ALPHA,e),t[X.BYTE]=(r={},r[L.RGBA]=i.RGBA8_SNORM,r[L.RGB]=i.RGB8_SNORM,r[L.RG]=i.RG8_SNORM,r[L.RED]=i.R8_SNORM,r[L.RGBA_INTEGER]=i.RGBA8I,r[L.RGB_INTEGER]=i.RGB8I,r[L.RG_INTEGER]=i.RG8I,r[L.RED_INTEGER]=i.R8I,r),t[X.UNSIGNED_SHORT]=(n={},n[L.RGBA_INTEGER]=i.RGBA16UI,n[L.RGB_INTEGER]=i.RGB16UI,n[L.RG_INTEGER]=i.RG16UI,n[L.RED_INTEGER]=i.R16UI,n[L.DEPTH_COMPONENT]=i.DEPTH_COMPONENT16,n),t[X.SHORT]=(s={},s[L.RGBA_INTEGER]=i.RGBA16I,s[L.RGB_INTEGER]=i.RGB16I,s[L.RG_INTEGER]=i.RG16I,s[L.RED_INTEGER]=i.R16I,s),t[X.UNSIGNED_INT]=(o={},o[L.RGBA_INTEGER]=i.RGBA32UI,o[L.RGB_INTEGER]=i.RGB32UI,o[L.RG_INTEGER]=i.RG32UI,o[L.RED_INTEGER]=i.R32UI,o[L.DEPTH_COMPONENT]=i.DEPTH_COMPONENT24,o),t[X.INT]=(a={},a[L.RGBA_INTEGER]=i.RGBA32I,a[L.RGB_INTEGER]=i.RGB32I,a[L.RG_INTEGER]=i.RG32I,a[L.RED_INTEGER]=i.R32I,a),t[X.FLOAT]=(h={},h[L.RGBA]=i.RGBA32F,h[L.RGB]=i.RGB32F,h[L.RG]=i.RG32F,h[L.RED]=i.R32F,h[L.DEPTH_COMPONENT]=i.DEPTH_COMPONENT32F,h),t[X.HALF_FLOAT]=(l={},l[L.RGBA]=i.RGBA16F,l[L.RGB]=i.RGB16F,l[L.RG]=i.RG16F,l[L.RED]=i.R16F,l),t[X.UNSIGNED_SHORT_5_6_5]=(u={},u[L.RGB]=i.RGB565,u),t[X.UNSIGNED_SHORT_4_4_4_4]=(f={},f[L.RGBA]=i.RGBA4,f),t[X.UNSIGNED_SHORT_5_5_5_1]=(p={},p[L.RGBA]=i.RGB5_A1,p),t[X.UNSIGNED_INT_2_10_10_10_REV]=(d={},d[L.RGBA]=i.RGB10_A2,d[L.RGBA_INTEGER]=i.RGB10_A2UI,d),t[X.UNSIGNED_INT_10F_11F_11F_REV]=(v={},v[L.RGB]=i.R11F_G11F_B10F,v),t[X.UNSIGNED_INT_5_9_9_9_REV]=(m={},m[L.RGB]=i.RGB9_E5,m),t[X.UNSIGNED_INT_24_8]=(y={},y[L.DEPTH_STENCIL]=i.DEPTH24_STENCIL8,y),t[X.FLOAT_32_UNSIGNED_INT_24_8_REV]=(g={},g[L.DEPTH_STENCIL]=i.DEPTH32F_STENCIL8,g),t):I=(w={},w[X.UNSIGNED_BYTE]=(_={},_[L.RGBA]=i.RGBA,_[L.RGB]=i.RGB,_[L.ALPHA]=i.ALPHA,_[L.LUMINANCE]=i.LUMINANCE,_[L.LUMINANCE_ALPHA]=i.LUMINANCE_ALPHA,_),w[X.UNSIGNED_SHORT_5_6_5]=(b={},b[L.RGB]=i.RGB,b),w[X.UNSIGNED_SHORT_4_4_4_4]=(x={},x[L.RGBA]=i.RGBA,x),w[X.UNSIGNED_SHORT_5_5_5_1]=(P={},P[L.RGBA]=i.RGBA,P),w),I}var xn=function(){function i(t){this.texture=t,this.width=-1,this.height=-1,this.dirtyId=-1,this.dirtyStyleId=-1,this.mipmap=!1,this.wrapMode=33071,this.type=X.UNSIGNED_BYTE,this.internalFormat=L.RGBA,this.samplerType=0}return i}(),Mv=function(){function i(t){this.renderer=t,this.boundTextures=[],this.currentLocation=-1,this.managedTextures=[],this._unknownBoundTextures=!1,this.unknownTexture=new $,this.hasIntegerTextures=!1}return i.prototype.contextChange=function(){var t=this.gl=this.renderer.gl;this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.webGLVersion=this.renderer.context.webGLVersion,this.internalFormats=Lv(t);var e=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);this.boundTextures.length=e;for(var r=0;r<e;r++)this.boundTextures[r]=null;this.emptyTextures={};var n=new xn(t.createTexture());t.bindTexture(t.TEXTURE_2D,n.texture),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(4)),this.emptyTextures[t.TEXTURE_2D]=n,this.emptyTextures[t.TEXTURE_CUBE_MAP]=new xn(t.createTexture()),t.bindTexture(t.TEXTURE_CUBE_MAP,this.emptyTextures[t.TEXTURE_CUBE_MAP].texture);for(var r=0;r<6;r++)t.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+r,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null);t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,t.LINEAR);for(var r=0;r<this.boundTextures.length;r++)this.bind(null,r)},i.prototype.bind=function(t,e){e===void 0&&(e=0);var r=this.gl;if(t=t?.castToBaseTexture(),t&&t.valid&&!t.parentTextureArray){t.touched=this.renderer.textureGC.count;var n=t._glTextures[this.CONTEXT_UID]||this.initTexture(t);this.boundTextures[e]!==t&&(this.currentLocation!==e&&(this.currentLocation=e,r.activeTexture(r.TEXTURE0+e)),r.bindTexture(t.target,n.texture)),n.dirtyId!==t.dirtyId?(this.currentLocation!==e&&(this.currentLocation=e,r.activeTexture(r.TEXTURE0+e)),this.updateTexture(t)):n.dirtyStyleId!==t.dirtyStyleId&&this.updateTextureStyle(t),this.boundTextures[e]=t}else this.currentLocation!==e&&(this.currentLocation=e,r.activeTexture(r.TEXTURE0+e)),r.bindTexture(r.TEXTURE_2D,this.emptyTextures[r.TEXTURE_2D].texture),this.boundTextures[e]=null},i.prototype.reset=function(){this._unknownBoundTextures=!0,this.hasIntegerTextures=!1,this.currentLocation=-1;for(var t=0;t<this.boundTextures.length;t++)this.boundTextures[t]=this.unknownTexture},i.prototype.unbind=function(t){var e=this,r=e.gl,n=e.boundTextures;if(this._unknownBoundTextures){this._unknownBoundTextures=!1;for(var s=0;s<n.length;s++)n[s]===this.unknownTexture&&this.bind(null,s)}for(var s=0;s<n.length;s++)n[s]===t&&(this.currentLocation!==s&&(r.activeTexture(r.TEXTURE0+s),this.currentLocation=s),r.bindTexture(t.target,this.emptyTextures[t.target].texture),n[s]=null)},i.prototype.ensureSamplerType=function(t){var e=this,r=e.boundTextures,n=e.hasIntegerTextures,s=e.CONTEXT_UID;if(n)for(var o=t-1;o>=0;--o){var a=r[o];if(a){var h=a._glTextures[s];h.samplerType!==Pi.FLOAT&&this.renderer.texture.unbind(a)}}},i.prototype.initTexture=function(t){var e=new xn(this.gl.createTexture());return e.dirtyId=-1,t._glTextures[this.CONTEXT_UID]=e,this.managedTextures.push(t),t.on("dispose",this.destroyTexture,this),e},i.prototype.initTextureType=function(t,e){var r,n;e.internalFormat=(n=(r=this.internalFormats[t.type])===null||r===void 0?void 0:r[t.format])!==null&&n!==void 0?n:t.format,this.webGLVersion===2&&t.type===X.HALF_FLOAT?e.type=this.gl.HALF_FLOAT:e.type=t.type},i.prototype.updateTexture=function(t){var e=t._glTextures[this.CONTEXT_UID];if(e){var r=this.renderer;if(this.initTextureType(t,e),t.resource&&t.resource.upload(r,t,e))e.samplerType!==Pi.FLOAT&&(this.hasIntegerTextures=!0);else{var n=t.realWidth,s=t.realHeight,o=r.gl;(e.width!==n||e.height!==s||e.dirtyId<0)&&(e.width=n,e.height=s,o.texImage2D(t.target,0,e.internalFormat,n,s,0,t.format,e.type,null))}t.dirtyStyleId!==e.dirtyStyleId&&this.updateTextureStyle(t),e.dirtyId=t.dirtyId}},i.prototype.destroyTexture=function(t,e){var r=this.gl;if(t=t.castToBaseTexture(),t._glTextures[this.CONTEXT_UID]&&(this.unbind(t),r.deleteTexture(t._glTextures[this.CONTEXT_UID].texture),t.off("dispose",this.destroyTexture,this),delete t._glTextures[this.CONTEXT_UID],!e)){var n=this.managedTextures.indexOf(t);n!==-1&&Ni(this.managedTextures,n,1)}},i.prototype.updateTextureStyle=function(t){var e=t._glTextures[this.CONTEXT_UID];e&&((t.mipmap===jt.POW2||this.webGLVersion!==2)&&!t.isPowerOfTwo?e.mipmap=!1:e.mipmap=t.mipmap>=1,this.webGLVersion!==2&&!t.isPowerOfTwo?e.wrapMode=Te.CLAMP:e.wrapMode=t.wrapMode,t.resource&&t.resource.style(this.renderer,t,e)||this.setStyle(t,e),e.dirtyStyleId=t.dirtyStyleId)},i.prototype.setStyle=function(t,e){var r=this.gl;if(e.mipmap&&t.mipmap!==jt.ON_MANUAL&&r.generateMipmap(t.target),r.texParameteri(t.target,r.TEXTURE_WRAP_S,e.wrapMode),r.texParameteri(t.target,r.TEXTURE_WRAP_T,e.wrapMode),e.mipmap){r.texParameteri(t.target,r.TEXTURE_MIN_FILTER,t.scaleMode===lt.LINEAR?r.LINEAR_MIPMAP_LINEAR:r.NEAREST_MIPMAP_NEAREST);var n=this.renderer.context.extensions.anisotropicFiltering;if(n&&t.anisotropicLevel>0&&t.scaleMode===lt.LINEAR){var s=Math.min(t.anisotropicLevel,r.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT));r.texParameterf(t.target,n.TEXTURE_MAX_ANISOTROPY_EXT,s)}}else r.texParameteri(t.target,r.TEXTURE_MIN_FILTER,t.scaleMode===lt.LINEAR?r.LINEAR:r.NEAREST);r.texParameteri(t.target,r.TEXTURE_MAG_FILTER,t.scaleMode===lt.LINEAR?r.LINEAR:r.NEAREST)},i.prototype.destroy=function(){this.renderer=null},i}(),wn=new tt,ua=function(i){z(t,i);function t(e,r){e===void 0&&(e=be.UNKNOWN);var n=i.call(this)||this;return r=Object.assign({},M.RENDER_OPTIONS,r),n.options=r,n.type=e,n.screen=new U(0,0,r.width,r.height),n.view=r.view||M.ADAPTER.createCanvas(),n.resolution=r.resolution||M.RESOLUTION,n.useContextAlpha=r.useContextAlpha,n.autoDensity=!!r.autoDensity,n.preserveDrawingBuffer=r.preserveDrawingBuffer,n.clearBeforeRender=r.clearBeforeRender,n._backgroundColor=0,n._backgroundColorRgba=[0,0,0,1],n._backgroundColorString="#000000",n.backgroundColor=r.backgroundColor||n._backgroundColor,n.backgroundAlpha=r.backgroundAlpha,r.transparent!==void 0&&(kt("6.0.0","Option transparent is deprecated, please use backgroundAlpha instead."),n.useContextAlpha=r.transparent,n.backgroundAlpha=r.transparent?0:1),n._lastObjectRendered=null,n.plugins={},n}return t.prototype.initPlugins=function(e){for(var r in e)this.plugins[r]=new e[r](this)},Object.defineProperty(t.prototype,"width",{get:function(){return this.view.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this.view.height},enumerable:!1,configurable:!0}),t.prototype.resize=function(e,r){this.view.width=Math.round(e*this.resolution),this.view.height=Math.round(r*this.resolution);var n=this.view.width/this.resolution,s=this.view.height/this.resolution;this.screen.width=n,this.screen.height=s,this.autoDensity&&(this.view.style.width=n+"px",this.view.style.height=s+"px"),this.emit("resize",n,s)},t.prototype.generateTexture=function(e,r,n,s){r===void 0&&(r={}),typeof r=="number"&&(kt("6.1.0","generateTexture options (scaleMode, resolution, region) are now object options."),r={scaleMode:r,resolution:n,region:s});var o=r.region,a=vd(r,["region"]);s=o||e.getLocalBounds(null,!0),s.width===0&&(s.width=1),s.height===0&&(s.height=1);var h=At.create(sn({width:s.width,height:s.height},a));return wn.tx=-s.x,wn.ty=-s.y,this.render(e,{renderTexture:h,clear:!1,transform:wn,skipUpdateTransform:!!e.parent}),h},t.prototype.destroy=function(e){for(var r in this.plugins)this.plugins[r].destroy(),this.plugins[r]=null;e&&this.view.parentNode&&this.view.parentNode.removeChild(this.view);var n=this;n.plugins=null,n.type=be.UNKNOWN,n.view=null,n.screen=null,n._tempDisplayObjectParent=null,n.options=null,this._backgroundColorRgba=null,this._backgroundColorString=null,this._lastObjectRendered=null},Object.defineProperty(t.prototype,"backgroundColor",{get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=e,this._backgroundColorString=Oi(e),Le(e,this._backgroundColorRgba)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"backgroundAlpha",{get:function(){return this._backgroundColorRgba[3]},set:function(e){this._backgroundColorRgba[3]=e},enumerable:!1,configurable:!0}),t}(Ee),Nv=function(){function i(t){this.buffer=t||null,this.updateID=-1,this.byteLength=-1,this.refCount=0}return i}(),Fv=function(){function i(t){this.renderer=t,this.managedBuffers={},this.boundBufferBases={}}return i.prototype.destroy=function(){this.renderer=null},i.prototype.contextChange=function(){this.disposeAll(!0),this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID},i.prototype.bind=function(t){var e=this,r=e.gl,n=e.CONTEXT_UID,s=t._glBuffers[n]||this.createGLBuffer(t);r.bindBuffer(t.type,s.buffer)},i.prototype.bindBufferBase=function(t,e){var r=this,n=r.gl,s=r.CONTEXT_UID;if(this.boundBufferBases[e]!==t){var o=t._glBuffers[s]||this.createGLBuffer(t);this.boundBufferBases[e]=t,n.bindBufferBase(n.UNIFORM_BUFFER,e,o.buffer)}},i.prototype.bindBufferRange=function(t,e,r){var n=this,s=n.gl,o=n.CONTEXT_UID;r=r||0;var a=t._glBuffers[o]||this.createGLBuffer(t);s.bindBufferRange(s.UNIFORM_BUFFER,e||0,a.buffer,r*256,256)},i.prototype.update=function(t){var e=this,r=e.gl,n=e.CONTEXT_UID,s=t._glBuffers[n];if(t._updateID!==s.updateID)if(s.updateID=t._updateID,r.bindBuffer(t.type,s.buffer),s.byteLength>=t.data.byteLength)r.bufferSubData(t.type,0,t.data);else{var o=t.static?r.STATIC_DRAW:r.DYNAMIC_DRAW;s.byteLength=t.data.byteLength,r.bufferData(t.type,t.data,o)}},i.prototype.dispose=function(t,e){if(this.managedBuffers[t.id]){delete this.managedBuffers[t.id];var r=t._glBuffers[this.CONTEXT_UID],n=this.gl;t.disposeRunner.remove(this),r&&(e||n.deleteBuffer(r.buffer),delete t._glBuffers[this.CONTEXT_UID])}},i.prototype.disposeAll=function(t){for(var e=Object.keys(this.managedBuffers),r=0;r<e.length;r++)this.dispose(this.managedBuffers[e[r]],t)},i.prototype.createGLBuffer=function(t){var e=this,r=e.CONTEXT_UID,n=e.gl;return t._glBuffers[r]=new Nv(n.createBuffer()),this.managedBuffers[t.id]=t,t.disposeRunner.add(this),t._glBuffers[r]},i}(),ke=function(i){z(t,i);function t(e){var r=i.call(this,be.WEBGL,e)||this;return e=r.options,r.gl=null,r.CONTEXT_UID=0,r.runners={destroy:new st("destroy"),contextChange:new st("contextChange"),reset:new st("reset"),update:new st("update"),postrender:new st("postrender"),prerender:new st("prerender"),resize:new st("resize")},r.runners.contextChange.add(r),r.globalUniforms=new ye({projectionMatrix:new tt},!0),r.addSystem(av,"mask").addSystem(Rd,"context").addSystem(Av,"state").addSystem(la,"shader").addSystem(Mv,"texture").addSystem(Fv,"buffer").addSystem(Ud,"geometry").addSystem(kd,"framebuffer").addSystem(hv,"scissor").addSystem(lv,"stencil").addSystem(uv,"projection").addSystem(Ov,"textureGC").addSystem(Nd,"filter").addSystem(fv,"renderTexture").addSystem(Fd,"batch"),r.initPlugins(t.__plugins),r.multisample=void 0,e.context?r.context.initFromContext(e.context):r.context.initFromOptions({alpha:!!r.useContextAlpha,antialias:e.antialias,premultipliedAlpha:r.useContextAlpha&&r.useContextAlpha!=="notMultiplied",stencil:!0,preserveDrawingBuffer:e.preserveDrawingBuffer,powerPreference:r.options.powerPreference}),r.renderingToScreen=!0,Ms(r.context.webGLVersion===2?"WebGL 2":"WebGL 1"),r.resize(r.options.width,r.options.height),r}return t.create=function(e){if(ml())return new t(e);throw new Error('WebGL unsupported in this browser, use "pixi.js-legacy" for fallback canvas2d support.')},t.prototype.contextChange=function(){var e=this.gl,r;if(this.context.webGLVersion===1){var n=e.getParameter(e.FRAMEBUFFER_BINDING);e.bindFramebuffer(e.FRAMEBUFFER,null),r=e.getParameter(e.SAMPLES),e.bindFramebuffer(e.FRAMEBUFFER,n)}else{var n=e.getParameter(e.DRAW_FRAMEBUFFER_BINDING);e.bindFramebuffer(e.DRAW_FRAMEBUFFER,null),r=e.getParameter(e.SAMPLES),e.bindFramebuffer(e.DRAW_FRAMEBUFFER,n)}r>=Z.HIGH?this.multisample=Z.HIGH:r>=Z.MEDIUM?this.multisample=Z.MEDIUM:r>=Z.LOW?this.multisample=Z.LOW:this.multisample=Z.NONE},t.prototype.addSystem=function(e,r){var n=new e(this);if(this[r])throw new Error('Whoops! The name "'+r+'" is already in use');this[r]=n;for(var s in this.runners)this.runners[s].add(n);return this},t.prototype.render=function(e,r){var n,s,o,a;if(r&&(r instanceof At?(kt("6.0.0","Renderer#render arguments changed, use options instead."),n=r,s=arguments[2],o=arguments[3],a=arguments[4]):(n=r.renderTexture,s=r.clear,o=r.transform,a=r.skipUpdateTransform)),this.renderingToScreen=!n,this.runners.prerender.emit(),this.emit("prerender"),this.projection.transform=o,!this.context.isLost){if(n||(this._lastObjectRendered=e),!a){var h=e.enableTempParent();e.updateTransform(),e.disableTempParent(h)}this.renderTexture.bind(n),this.batch.currentRenderer.start(),(s!==void 0?s:this.clearBeforeRender)&&this.renderTexture.clear(),e.render(this),this.batch.currentRenderer.flush(),n&&n.baseTexture.update(),this.runners.postrender.emit(),this.projection.transform=null,this.emit("postrender")}},t.prototype.generateTexture=function(e,r,n,s){r===void 0&&(r={});var o=i.prototype.generateTexture.call(this,e,r,n,s);return this.framebuffer.blit(),o},t.prototype.resize=function(e,r){i.prototype.resize.call(this,e,r),this.runners.resize.emit(this.screen.height,this.screen.width)},t.prototype.reset=function(){return this.runners.reset.emit(),this},t.prototype.clear=function(){this.renderTexture.bind(),this.renderTexture.clear()},t.prototype.destroy=function(e){this.runners.destroy.emit();for(var r in this.runners)this.runners[r].destroy();i.prototype.destroy.call(this,e),this.gl=null},Object.defineProperty(t.prototype,"extract",{get:function(){return kt("6.0.0","Renderer#extract has been deprecated, please use Renderer#plugins.extract instead."),this.plugins.extract},enumerable:!1,configurable:!0}),t.registerPlugin=function(e,r){kt("6.5.0","Renderer.registerPlugin() has been deprecated, please use extensions.add() instead."),St.add({name:e,type:ut.RendererPlugin,ref:r})},t.__plugins={},t}(ua);St.handleByMap(ut.RendererPlugin,ke.__plugins);function Rv(i){return ke.create(i)}var Dv=`attribute vec2 aVertexPosition;
|
|
496
|
+
|
|
497
|
+
uniform mat3 projectionMatrix;
|
|
498
|
+
|
|
499
|
+
varying vec2 vTextureCoord;
|
|
500
|
+
|
|
501
|
+
uniform vec4 inputSize;
|
|
502
|
+
uniform vec4 outputFrame;
|
|
503
|
+
|
|
504
|
+
vec4 filterVertexPosition( void )
|
|
505
|
+
{
|
|
506
|
+
vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;
|
|
507
|
+
|
|
508
|
+
return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
vec2 filterTextureCoord( void )
|
|
512
|
+
{
|
|
513
|
+
return aVertexPosition * (outputFrame.zw * inputSize.zw);
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
void main(void)
|
|
517
|
+
{
|
|
518
|
+
gl_Position = filterVertexPosition();
|
|
519
|
+
vTextureCoord = filterTextureCoord();
|
|
520
|
+
}
|
|
521
|
+
`,Bv=Dv,Pn=function(){function i(){this.texArray=null,this.blend=0,this.type=Rt.TRIANGLES,this.start=0,this.size=0,this.data=null}return i}(),bn=function(){function i(){this.elements=[],this.ids=[],this.count=0}return i.prototype.clear=function(){for(var t=0;t<this.count;t++)this.elements[t]=null;this.count=0},i}(),kv=function(){function i(t){typeof t=="number"?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData)}return Object.defineProperty(i.prototype,"int8View",{get:function(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"uint8View",{get:function(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"int16View",{get:function(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"uint16View",{get:function(){return this._uint16View||(this._uint16View=new Uint16Array(this.rawBinaryData)),this._uint16View},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"int32View",{get:function(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View},enumerable:!1,configurable:!0}),i.prototype.view=function(t){return this[t+"View"]},i.prototype.destroy=function(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this._uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null},i.sizeOf=function(t){switch(t){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw new Error(t+" isn't a valid view type")}},i}(),Uv=function(i){z(t,i);function t(e){var r=i.call(this,e)||this;return r.shaderGenerator=null,r.geometryClass=null,r.vertexSize=null,r.state=Ki.for2d(),r.size=M.SPRITE_BATCH_SIZE*4,r._vertexCount=0,r._indexCount=0,r._bufferedElements=[],r._bufferedTextures=[],r._bufferSize=0,r._shader=null,r._packedGeometries=[],r._packedGeometryPoolSize=2,r._flushId=0,r._aBuffers={},r._iBuffers={},r.MAX_TEXTURES=1,r.renderer.on("prerender",r.onPrerender,r),e.runners.contextChange.add(r),r._dcIndex=0,r._aIndex=0,r._iIndex=0,r._attributeBuffer=null,r._indexBuffer=null,r._tempBoundTextures=[],r}return t.prototype.contextChange=function(){var e=this.renderer.gl;M.PREFER_ENV===Ft.WEBGL_LEGACY?this.MAX_TEXTURES=1:(this.MAX_TEXTURES=Math.min(e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),M.SPRITE_MAX_TEXTURES),this.MAX_TEXTURES=Zd(this.MAX_TEXTURES,e)),this._shader=this.shaderGenerator.generateShader(this.MAX_TEXTURES);for(var r=0;r<this._packedGeometryPoolSize;r++)this._packedGeometries[r]=new this.geometryClass;this.initFlushBuffers()},t.prototype.initFlushBuffers=function(){for(var e=t._drawCallPool,r=t._textureArrayPool,n=this.size/4,s=Math.floor(n/this.MAX_TEXTURES)+1;e.length<n;)e.push(new Pn);for(;r.length<s;)r.push(new bn);for(var o=0;o<this.MAX_TEXTURES;o++)this._tempBoundTextures[o]=null},t.prototype.onPrerender=function(){this._flushId=0},t.prototype.render=function(e){e._texture.valid&&(this._vertexCount+e.vertexData.length/2>this.size&&this.flush(),this._vertexCount+=e.vertexData.length/2,this._indexCount+=e.indices.length,this._bufferedTextures[this._bufferSize]=e._texture.baseTexture,this._bufferedElements[this._bufferSize++]=e)},t.prototype.buildTexturesAndDrawCalls=function(){var e=this,r=e._bufferedTextures,n=e.MAX_TEXTURES,s=t._textureArrayPool,o=this.renderer.batch,a=this._tempBoundTextures,h=this.renderer.textureGC.count,l=++$._globalBatch,u=0,f=s[0],p=0;o.copyBoundTextures(a,n);for(var d=0;d<this._bufferSize;++d){var v=r[d];r[d]=null,v._batchEnabled!==l&&(f.count>=n&&(o.boundArray(f,a,l,n),this.buildDrawCalls(f,p,d),p=d,f=s[++u],++l),v._batchEnabled=l,v.touched=h,f.elements[f.count++]=v)}f.count>0&&(o.boundArray(f,a,l,n),this.buildDrawCalls(f,p,this._bufferSize),++u,++l);for(var d=0;d<a.length;d++)a[d]=null;$._globalBatch=l},t.prototype.buildDrawCalls=function(e,r,n){var s=this,o=s._bufferedElements,a=s._attributeBuffer,h=s._indexBuffer,l=s.vertexSize,u=t._drawCallPool,f=this._dcIndex,p=this._aIndex,d=this._iIndex,v=u[f];v.start=this._iIndex,v.texArray=e;for(var m=r;m<n;++m){var y=o[m],g=y._texture.baseTexture,w=ac[g.alphaMode?1:0][y.blendMode];o[m]=null,r<m&&v.blend!==w&&(v.size=d-v.start,r=m,v=u[++f],v.texArray=e,v.start=d),this.packInterleavedGeometry(y,a,h,p,d),p+=y.vertexData.length/2*l,d+=y.indices.length,v.blend=w}r<n&&(v.size=d-v.start,++f),this._dcIndex=f,this._aIndex=p,this._iIndex=d},t.prototype.bindAndClearTexArray=function(e){for(var r=this.renderer.texture,n=0;n<e.count;n++)r.bind(e.elements[n],e.ids[n]),e.elements[n]=null;e.count=0},t.prototype.updateGeometry=function(){var e=this,r=e._packedGeometries,n=e._attributeBuffer,s=e._indexBuffer;M.CAN_UPLOAD_SAME_BUFFER?(r[this._flushId]._buffer.update(n.rawBinaryData),r[this._flushId]._indexBuffer.update(s),this.renderer.geometry.updateBuffers()):(this._packedGeometryPoolSize<=this._flushId&&(this._packedGeometryPoolSize++,r[this._flushId]=new this.geometryClass),r[this._flushId]._buffer.update(n.rawBinaryData),r[this._flushId]._indexBuffer.update(s),this.renderer.geometry.bind(r[this._flushId]),this.renderer.geometry.updateBuffers(),this._flushId++)},t.prototype.drawBatches=function(){for(var e=this._dcIndex,r=this.renderer,n=r.gl,s=r.state,o=t._drawCallPool,a=null,h=0;h<e;h++){var l=o[h],u=l.texArray,f=l.type,p=l.size,d=l.start,v=l.blend;a!==u&&(a=u,this.bindAndClearTexArray(u)),this.state.blendMode=v,s.set(this.state),n.drawElements(f,p,n.UNSIGNED_SHORT,d*2)}},t.prototype.flush=function(){this._vertexCount!==0&&(this._attributeBuffer=this.getAttributeBuffer(this._vertexCount),this._indexBuffer=this.getIndexBuffer(this._indexCount),this._aIndex=0,this._iIndex=0,this._dcIndex=0,this.buildTexturesAndDrawCalls(),this.updateGeometry(),this.drawBatches(),this._bufferSize=0,this._vertexCount=0,this._indexCount=0)},t.prototype.start=function(){this.renderer.state.set(this.state),this.renderer.texture.ensureSamplerType(this.MAX_TEXTURES),this.renderer.shader.bind(this._shader),M.CAN_UPLOAD_SAME_BUFFER&&this.renderer.geometry.bind(this._packedGeometries[this._flushId])},t.prototype.stop=function(){this.flush()},t.prototype.destroy=function(){for(var e=0;e<this._packedGeometryPoolSize;e++)this._packedGeometries[e]&&this._packedGeometries[e].destroy();this.renderer.off("prerender",this.onPrerender,this),this._aBuffers=null,this._iBuffers=null,this._packedGeometries=null,this._attributeBuffer=null,this._indexBuffer=null,this._shader&&(this._shader.destroy(),this._shader=null),i.prototype.destroy.call(this)},t.prototype.getAttributeBuffer=function(e){var r=Mi(Math.ceil(e/8)),n=Ds(r),s=r*8;this._aBuffers.length<=n&&(this._iBuffers.length=n+1);var o=this._aBuffers[s];return o||(this._aBuffers[s]=o=new kv(s*this.vertexSize*4)),o},t.prototype.getIndexBuffer=function(e){var r=Mi(Math.ceil(e/12)),n=Ds(r),s=r*12;this._iBuffers.length<=n&&(this._iBuffers.length=n+1);var o=this._iBuffers[n];return o||(this._iBuffers[n]=o=new Uint16Array(s)),o},t.prototype.packInterleavedGeometry=function(e,r,n,s,o){for(var a=r.uint32View,h=r.float32View,l=s/this.vertexSize,u=e.uvs,f=e.indices,p=e.vertexData,d=e._texture.baseTexture._batchLocation,v=Math.min(e.worldAlpha,1),m=v<1&&e._texture.baseTexture.alphaMode?Ns(e._tintRGB,v):e._tintRGB+(v*255<<24),y=0;y<p.length;y+=2)h[s++]=p[y],h[s++]=p[y+1],h[s++]=u[y],h[s++]=u[y+1],a[s++]=m,h[s++]=d;for(var y=0;y<f.length;y++)n[o++]=l+f[y]},t._drawCallPool=[],t._textureArrayPool=[],t}(Vo),Xv=function(){function i(t,e){if(this.vertexSrc=t,this.fragTemplate=e,this.programCache={},this.defaultGroupCache={},e.indexOf("%count%")<0)throw new Error('Fragment template must contain "%count%".');if(e.indexOf("%forloop%")<0)throw new Error('Fragment template must contain "%forloop%".')}return i.prototype.generateShader=function(t){if(!this.programCache[t]){for(var e=new Int32Array(t),r=0;r<t;r++)e[r]=r;this.defaultGroupCache[t]=ye.from({uSamplers:e},!0);var n=this.fragTemplate;n=n.replace(/%count%/gi,""+t),n=n.replace(/%forloop%/gi,this.generateSampleSrc(t)),this.programCache[t]=new cn(this.vertexSrc,n)}var s={tint:new Float32Array([1,1,1,1]),translationMatrix:new tt,default:this.defaultGroupCache[t]};return new pn(this.programCache[t],s)},i.prototype.generateSampleSrc=function(t){var e="";e+=`
|
|
522
|
+
`,e+=`
|
|
523
|
+
`;for(var r=0;r<t;r++)r>0&&(e+=`
|
|
524
|
+
else `),r<t-1&&(e+="if(vTextureId < "+r+".5)"),e+=`
|
|
525
|
+
{`,e+=`
|
|
526
|
+
color = texture2D(uSamplers[`+r+"], vTextureCoord);",e+=`
|
|
527
|
+
}`;return e+=`
|
|
528
|
+
`,e+=`
|
|
529
|
+
`,e},i}(),fa=function(i){z(t,i);function t(e){e===void 0&&(e=!1);var r=i.call(this)||this;return r._buffer=new gt(null,e,!1),r._indexBuffer=new gt(null,e,!0),r.addAttribute("aVertexPosition",r._buffer,2,!1,X.FLOAT).addAttribute("aTextureCoord",r._buffer,2,!1,X.FLOAT).addAttribute("aColor",r._buffer,4,!0,X.UNSIGNED_BYTE).addAttribute("aTextureId",r._buffer,1,!0,X.FLOAT).addIndex(r._indexBuffer),r}return t}(hn),ca=`precision highp float;
|
|
530
|
+
attribute vec2 aVertexPosition;
|
|
531
|
+
attribute vec2 aTextureCoord;
|
|
532
|
+
attribute vec4 aColor;
|
|
533
|
+
attribute float aTextureId;
|
|
534
|
+
|
|
535
|
+
uniform mat3 projectionMatrix;
|
|
536
|
+
uniform mat3 translationMatrix;
|
|
537
|
+
uniform vec4 tint;
|
|
538
|
+
|
|
539
|
+
varying vec2 vTextureCoord;
|
|
540
|
+
varying vec4 vColor;
|
|
541
|
+
varying float vTextureId;
|
|
542
|
+
|
|
543
|
+
void main(void){
|
|
544
|
+
gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
545
|
+
|
|
546
|
+
vTextureCoord = aTextureCoord;
|
|
547
|
+
vTextureId = aTextureId;
|
|
548
|
+
vColor = aColor * tint;
|
|
549
|
+
}
|
|
550
|
+
`,pa=`varying vec2 vTextureCoord;
|
|
551
|
+
varying vec4 vColor;
|
|
552
|
+
varying float vTextureId;
|
|
553
|
+
uniform sampler2D uSamplers[%count%];
|
|
554
|
+
|
|
555
|
+
void main(void){
|
|
556
|
+
vec4 color;
|
|
557
|
+
%forloop%
|
|
558
|
+
gl_FragColor = color * vColor;
|
|
559
|
+
}
|
|
560
|
+
`,Gv=function(){function i(){}return i.create=function(t){var e=Object.assign({vertex:ca,fragment:pa,geometryClass:fa,vertexSize:6},t),r=e.vertex,n=e.fragment,s=e.vertexSize,o=e.geometryClass;return function(a){z(h,a);function h(l){var u=a.call(this,l)||this;return u.shaderGenerator=new Xv(r,n),u.geometryClass=o,u.vertexSize=s,u}return h}(Uv)},Object.defineProperty(i,"defaultVertexSrc",{get:function(){return ca},enumerable:!1,configurable:!0}),Object.defineProperty(i,"defaultFragmentTemplate",{get:function(){return pa},enumerable:!1,configurable:!0}),i}(),da=Gv.create();Object.assign(da,{extension:{name:"batch",type:ut.RendererPlugin}});/*!
|
|
561
|
+
* @pixi/display - v6.5.9
|
|
562
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
563
|
+
*
|
|
564
|
+
* @pixi/display is licensed under the MIT License.
|
|
565
|
+
* http://www.opensource.org/licenses/mit-license
|
|
566
|
+
*/M.SORTABLE_CHILDREN=!1;var er=function(){function i(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.rect=null,this.updateID=-1}return i.prototype.isEmpty=function(){return this.minX>this.maxX||this.minY>this.maxY},i.prototype.clear=function(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0},i.prototype.getRectangle=function(t){return this.minX>this.maxX||this.minY>this.maxY?U.EMPTY:(t=t||new U(0,0,1,1),t.x=this.minX,t.y=this.minY,t.width=this.maxX-this.minX,t.height=this.maxY-this.minY,t)},i.prototype.addPoint=function(t){this.minX=Math.min(this.minX,t.x),this.maxX=Math.max(this.maxX,t.x),this.minY=Math.min(this.minY,t.y),this.maxY=Math.max(this.maxY,t.y)},i.prototype.addPointMatrix=function(t,e){var r=t.a,n=t.b,s=t.c,o=t.d,a=t.tx,h=t.ty,l=r*e.x+s*e.y+a,u=n*e.x+o*e.y+h;this.minX=Math.min(this.minX,l),this.maxX=Math.max(this.maxX,l),this.minY=Math.min(this.minY,u),this.maxY=Math.max(this.maxY,u)},i.prototype.addQuad=function(t){var e=this.minX,r=this.minY,n=this.maxX,s=this.maxY,o=t[0],a=t[1];e=o<e?o:e,r=a<r?a:r,n=o>n?o:n,s=a>s?a:s,o=t[2],a=t[3],e=o<e?o:e,r=a<r?a:r,n=o>n?o:n,s=a>s?a:s,o=t[4],a=t[5],e=o<e?o:e,r=a<r?a:r,n=o>n?o:n,s=a>s?a:s,o=t[6],a=t[7],e=o<e?o:e,r=a<r?a:r,n=o>n?o:n,s=a>s?a:s,this.minX=e,this.minY=r,this.maxX=n,this.maxY=s},i.prototype.addFrame=function(t,e,r,n,s){this.addFrameMatrix(t.worldTransform,e,r,n,s)},i.prototype.addFrameMatrix=function(t,e,r,n,s){var o=t.a,a=t.b,h=t.c,l=t.d,u=t.tx,f=t.ty,p=this.minX,d=this.minY,v=this.maxX,m=this.maxY,y=o*e+h*r+u,g=a*e+l*r+f;p=y<p?y:p,d=g<d?g:d,v=y>v?y:v,m=g>m?g:m,y=o*n+h*r+u,g=a*n+l*r+f,p=y<p?y:p,d=g<d?g:d,v=y>v?y:v,m=g>m?g:m,y=o*e+h*s+u,g=a*e+l*s+f,p=y<p?y:p,d=g<d?g:d,v=y>v?y:v,m=g>m?g:m,y=o*n+h*s+u,g=a*n+l*s+f,p=y<p?y:p,d=g<d?g:d,v=y>v?y:v,m=g>m?g:m,this.minX=p,this.minY=d,this.maxX=v,this.maxY=m},i.prototype.addVertexData=function(t,e,r){for(var n=this.minX,s=this.minY,o=this.maxX,a=this.maxY,h=e;h<r;h+=2){var l=t[h],u=t[h+1];n=l<n?l:n,s=u<s?u:s,o=l>o?l:o,a=u>a?u:a}this.minX=n,this.minY=s,this.maxX=o,this.maxY=a},i.prototype.addVertices=function(t,e,r,n){this.addVerticesMatrix(t.worldTransform,e,r,n)},i.prototype.addVerticesMatrix=function(t,e,r,n,s,o){s===void 0&&(s=0),o===void 0&&(o=s);for(var a=t.a,h=t.b,l=t.c,u=t.d,f=t.tx,p=t.ty,d=this.minX,v=this.minY,m=this.maxX,y=this.maxY,g=r;g<n;g+=2){var w=e[g],_=e[g+1],b=a*w+l*_+f,x=u*_+h*w+p;d=Math.min(d,b-s),m=Math.max(m,b+s),v=Math.min(v,x-o),y=Math.max(y,x+o)}this.minX=d,this.minY=v,this.maxX=m,this.maxY=y},i.prototype.addBounds=function(t){var e=this.minX,r=this.minY,n=this.maxX,s=this.maxY;this.minX=t.minX<e?t.minX:e,this.minY=t.minY<r?t.minY:r,this.maxX=t.maxX>n?t.maxX:n,this.maxY=t.maxY>s?t.maxY:s},i.prototype.addBoundsMask=function(t,e){var r=t.minX>e.minX?t.minX:e.minX,n=t.minY>e.minY?t.minY:e.minY,s=t.maxX<e.maxX?t.maxX:e.maxX,o=t.maxY<e.maxY?t.maxY:e.maxY;if(r<=s&&n<=o){var a=this.minX,h=this.minY,l=this.maxX,u=this.maxY;this.minX=r<a?r:a,this.minY=n<h?n:h,this.maxX=s>l?s:l,this.maxY=o>u?o:u}},i.prototype.addBoundsMatrix=function(t,e){this.addFrameMatrix(e,t.minX,t.minY,t.maxX,t.maxY)},i.prototype.addBoundsArea=function(t,e){var r=t.minX>e.x?t.minX:e.x,n=t.minY>e.y?t.minY:e.y,s=t.maxX<e.x+e.width?t.maxX:e.x+e.width,o=t.maxY<e.y+e.height?t.maxY:e.y+e.height;if(r<=s&&n<=o){var a=this.minX,h=this.minY,l=this.maxX,u=this.maxY;this.minX=r<a?r:a,this.minY=n<h?n:h,this.maxX=s>l?s:l,this.maxY=o>u?o:u}},i.prototype.pad=function(t,e){t===void 0&&(t=0),e===void 0&&(e=t),this.isEmpty()||(this.minX-=t,this.maxX+=t,this.minY-=e,this.maxY+=e)},i.prototype.addFramePad=function(t,e,r,n,s,o){t-=s,e-=o,r+=s,n+=o,this.minX=this.minX<t?this.minX:t,this.maxX=this.maxX>r?this.maxX:r,this.minY=this.minY<e?this.minY:e,this.maxY=this.maxY>n?this.maxY:n},i}();/*! *****************************************************************************
|
|
567
|
+
Copyright (c) Microsoft Corporation.
|
|
568
|
+
|
|
569
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
570
|
+
purpose with or without fee is hereby granted.
|
|
571
|
+
|
|
572
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
573
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
574
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
575
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
576
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
577
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
578
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
579
|
+
***************************************************************************** */var Tn=function(i,t){return Tn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])},Tn(i,t)};function Cn(i,t){Tn(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var Yt=function(i){Cn(t,i);function t(){var e=i.call(this)||this;return e.tempDisplayObjectParent=null,e.transform=new dd,e.alpha=1,e.visible=!0,e.renderable=!0,e.cullable=!1,e.cullArea=null,e.parent=null,e.worldAlpha=1,e._lastSortedIndex=0,e._zIndex=0,e.filterArea=null,e.filters=null,e._enabledFilters=null,e._bounds=new er,e._localBounds=null,e._boundsID=0,e._boundsRect=null,e._localBoundsRect=null,e._mask=null,e._maskRefCount=0,e._destroyed=!1,e.isSprite=!1,e.isMask=!1,e}return t.mixin=function(e){for(var r=Object.keys(e),n=0;n<r.length;++n){var s=r[n];Object.defineProperty(t.prototype,s,Object.getOwnPropertyDescriptor(e,s))}},Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!1,configurable:!0}),t.prototype._recursivePostUpdateTransform=function(){this.parent?(this.parent._recursivePostUpdateTransform(),this.transform.updateTransform(this.parent.transform)):this.transform.updateTransform(this._tempDisplayObjectParent.transform)},t.prototype.updateTransform=function(){this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha},t.prototype.getBounds=function(e,r){return e||(this.parent?(this._recursivePostUpdateTransform(),this.updateTransform()):(this.parent=this._tempDisplayObjectParent,this.updateTransform(),this.parent=null)),this._bounds.updateID!==this._boundsID&&(this.calculateBounds(),this._bounds.updateID=this._boundsID),r||(this._boundsRect||(this._boundsRect=new U),r=this._boundsRect),this._bounds.getRectangle(r)},t.prototype.getLocalBounds=function(e){e||(this._localBoundsRect||(this._localBoundsRect=new U),e=this._localBoundsRect),this._localBounds||(this._localBounds=new er);var r=this.transform,n=this.parent;this.parent=null,this.transform=this._tempDisplayObjectParent.transform;var s=this._bounds,o=this._boundsID;this._bounds=this._localBounds;var a=this.getBounds(!1,e);return this.parent=n,this.transform=r,this._bounds=s,this._bounds.updateID+=this._boundsID-o,a},t.prototype.toGlobal=function(e,r,n){return n===void 0&&(n=!1),n||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.worldTransform.apply(e,r)},t.prototype.toLocal=function(e,r,n,s){return r&&(e=r.toGlobal(e,n,s)),s||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.worldTransform.applyInverse(e,n)},t.prototype.setParent=function(e){if(!e||!e.addChild)throw new Error("setParent: Argument must be a Container");return e.addChild(this),e},t.prototype.setTransform=function(e,r,n,s,o,a,h,l,u){return e===void 0&&(e=0),r===void 0&&(r=0),n===void 0&&(n=1),s===void 0&&(s=1),o===void 0&&(o=0),a===void 0&&(a=0),h===void 0&&(h=0),l===void 0&&(l=0),u===void 0&&(u=0),this.position.x=e,this.position.y=r,this.scale.x=n||1,this.scale.y=s||1,this.rotation=o,this.skew.x=a,this.skew.y=h,this.pivot.x=l,this.pivot.y=u,this},t.prototype.destroy=function(e){this.parent&&this.parent.removeChild(this),this._destroyed=!0,this.transform=null,this.parent=null,this._bounds=null,this.mask=null,this.cullArea=null,this.filters=null,this.filterArea=null,this.hitArea=null,this.interactive=!1,this.interactiveChildren=!1,this.emit("destroyed"),this.removeAllListeners()},Object.defineProperty(t.prototype,"_tempDisplayObjectParent",{get:function(){return this.tempDisplayObjectParent===null&&(this.tempDisplayObjectParent=new va),this.tempDisplayObjectParent},enumerable:!1,configurable:!0}),t.prototype.enableTempParent=function(){var e=this.parent;return this.parent=this._tempDisplayObjectParent,e},t.prototype.disableTempParent=function(e){this.parent=e},Object.defineProperty(t.prototype,"x",{get:function(){return this.position.x},set:function(e){this.transform.position.x=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"y",{get:function(){return this.position.y},set:function(e){this.transform.position.y=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"worldTransform",{get:function(){return this.transform.worldTransform},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"localTransform",{get:function(){return this.transform.localTransform},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"position",{get:function(){return this.transform.position},set:function(e){this.transform.position.copyFrom(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scale",{get:function(){return this.transform.scale},set:function(e){this.transform.scale.copyFrom(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pivot",{get:function(){return this.transform.pivot},set:function(e){this.transform.pivot.copyFrom(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"skew",{get:function(){return this.transform.skew},set:function(e){this.transform.skew.copyFrom(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rotation",{get:function(){return this.transform.rotation},set:function(e){this.transform.rotation=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"angle",{get:function(){return this.transform.rotation*hd},set:function(e){this.transform.rotation=e*ld},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"zIndex",{get:function(){return this._zIndex},set:function(e){this._zIndex=e,this.parent&&(this.parent.sortDirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"worldVisible",{get:function(){var e=this;do{if(!e.visible)return!1;e=e.parent}while(e);return!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mask",{get:function(){return this._mask},set:function(e){if(this._mask!==e){if(this._mask){var r=this._mask.isMaskData?this._mask.maskObject:this._mask;r&&(r._maskRefCount--,r._maskRefCount===0&&(r.renderable=!0,r.isMask=!1))}if(this._mask=e,this._mask){var r=this._mask.isMaskData?this._mask.maskObject:this._mask;r&&(r._maskRefCount===0&&(r.renderable=!1,r.isMask=!0),r._maskRefCount++)}}},enumerable:!1,configurable:!0}),t}(Ee),va=function(i){Cn(t,i);function t(){var e=i!==null&&i.apply(this,arguments)||this;return e.sortDirty=null,e}return t}(Yt);Yt.prototype.displayObjectUpdateTransform=Yt.prototype.updateTransform;function Yv(i,t){return i.zIndex===t.zIndex?i._lastSortedIndex-t._lastSortedIndex:i.zIndex-t.zIndex}var ct=function(i){Cn(t,i);function t(){var e=i.call(this)||this;return e.children=[],e.sortableChildren=M.SORTABLE_CHILDREN,e.sortDirty=!1,e}return t.prototype.onChildrenChange=function(e){},t.prototype.addChild=function(){for(var e=arguments,r=[],n=0;n<arguments.length;n++)r[n]=e[n];if(r.length>1)for(var s=0;s<r.length;s++)this.addChild(r[s]);else{var o=r[0];o.parent&&o.parent.removeChild(o),o.parent=this,this.sortDirty=!0,o.transform._parentID=-1,this.children.push(o),this._boundsID++,this.onChildrenChange(this.children.length-1),this.emit("childAdded",o,this,this.children.length-1),o.emit("added",this)}return r[0]},t.prototype.addChildAt=function(e,r){if(r<0||r>this.children.length)throw new Error(e+"addChildAt: The index "+r+" supplied is out of bounds "+this.children.length);return e.parent&&e.parent.removeChild(e),e.parent=this,this.sortDirty=!0,e.transform._parentID=-1,this.children.splice(r,0,e),this._boundsID++,this.onChildrenChange(r),e.emit("added",this),this.emit("childAdded",e,this,r),e},t.prototype.swapChildren=function(e,r){if(e!==r){var n=this.getChildIndex(e),s=this.getChildIndex(r);this.children[n]=r,this.children[s]=e,this.onChildrenChange(n<s?n:s)}},t.prototype.getChildIndex=function(e){var r=this.children.indexOf(e);if(r===-1)throw new Error("The supplied DisplayObject must be a child of the caller");return r},t.prototype.setChildIndex=function(e,r){if(r<0||r>=this.children.length)throw new Error("The index "+r+" supplied is out of bounds "+this.children.length);var n=this.getChildIndex(e);Ni(this.children,n,1),this.children.splice(r,0,e),this.onChildrenChange(r)},t.prototype.getChildAt=function(e){if(e<0||e>=this.children.length)throw new Error("getChildAt: Index ("+e+") does not exist.");return this.children[e]},t.prototype.removeChild=function(){for(var e=arguments,r=[],n=0;n<arguments.length;n++)r[n]=e[n];if(r.length>1)for(var s=0;s<r.length;s++)this.removeChild(r[s]);else{var o=r[0],a=this.children.indexOf(o);if(a===-1)return null;o.parent=null,o.transform._parentID=-1,Ni(this.children,a,1),this._boundsID++,this.onChildrenChange(a),o.emit("removed",this),this.emit("childRemoved",o,this,a)}return r[0]},t.prototype.removeChildAt=function(e){var r=this.getChildAt(e);return r.parent=null,r.transform._parentID=-1,Ni(this.children,e,1),this._boundsID++,this.onChildrenChange(e),r.emit("removed",this),this.emit("childRemoved",r,this,e),r},t.prototype.removeChildren=function(e,r){e===void 0&&(e=0),r===void 0&&(r=this.children.length);var n=e,s=r,o=s-n,a;if(o>0&&o<=s){a=this.children.splice(n,o);for(var h=0;h<a.length;++h)a[h].parent=null,a[h].transform&&(a[h].transform._parentID=-1);this._boundsID++,this.onChildrenChange(e);for(var h=0;h<a.length;++h)a[h].emit("removed",this),this.emit("childRemoved",a[h],this,h);return a}else if(o===0&&this.children.length===0)return[];throw new RangeError("removeChildren: numeric values are outside the acceptable range.")},t.prototype.sortChildren=function(){for(var e=!1,r=0,n=this.children.length;r<n;++r){var s=this.children[r];s._lastSortedIndex=r,!e&&s.zIndex!==0&&(e=!0)}e&&this.children.length>1&&this.children.sort(Yv),this.sortDirty=!1},t.prototype.updateTransform=function(){this.sortableChildren&&this.sortDirty&&this.sortChildren(),this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha;for(var e=0,r=this.children.length;e<r;++e){var n=this.children[e];n.visible&&n.updateTransform()}},t.prototype.calculateBounds=function(){this._bounds.clear(),this._calculateBounds();for(var e=0;e<this.children.length;e++){var r=this.children[e];if(!(!r.visible||!r.renderable))if(r.calculateBounds(),r._mask){var n=r._mask.isMaskData?r._mask.maskObject:r._mask;n?(n.calculateBounds(),this._bounds.addBoundsMask(r._bounds,n._bounds)):this._bounds.addBounds(r._bounds)}else r.filterArea?this._bounds.addBoundsArea(r._bounds,r.filterArea):this._bounds.addBounds(r._bounds)}this._bounds.updateID=this._boundsID},t.prototype.getLocalBounds=function(e,r){r===void 0&&(r=!1);var n=i.prototype.getLocalBounds.call(this,e);if(!r)for(var s=0,o=this.children.length;s<o;++s){var a=this.children[s];a.visible&&a.updateTransform()}return n},t.prototype._calculateBounds=function(){},t.prototype._renderWithCulling=function(e){var r=e.renderTexture.sourceFrame;if(r.width>0&&r.height>0){var n,s;if(this.cullArea?(n=this.cullArea,s=this.worldTransform):this._render!==t.prototype._render&&(n=this.getBounds(!0)),n&&r.intersects(n,s))this._render(e);else if(this.cullArea)return;for(var o=0,a=this.children.length;o<a;++o){var h=this.children[o],l=h.cullable;h.cullable=l||!this.cullArea,h.render(e),h.cullable=l}}},t.prototype.render=function(e){if(!(!this.visible||this.worldAlpha<=0||!this.renderable))if(this._mask||this.filters&&this.filters.length)this.renderAdvanced(e);else if(this.cullable)this._renderWithCulling(e);else{this._render(e);for(var r=0,n=this.children.length;r<n;++r)this.children[r].render(e)}},t.prototype.renderAdvanced=function(e){var r=this.filters,n=this._mask;if(r){this._enabledFilters||(this._enabledFilters=[]),this._enabledFilters.length=0;for(var s=0;s<r.length;s++)r[s].enabled&&this._enabledFilters.push(r[s])}var o=r&&this._enabledFilters&&this._enabledFilters.length||n&&(!n.isMaskData||n.enabled&&(n.autoDetect||n.type!==K.NONE));if(o&&e.batch.flush(),r&&this._enabledFilters&&this._enabledFilters.length&&e.filter.push(this,this._enabledFilters),n&&e.mask.push(this,this._mask),this.cullable)this._renderWithCulling(e);else{this._render(e);for(var s=0,a=this.children.length;s<a;++s)this.children[s].render(e)}o&&e.batch.flush(),n&&e.mask.pop(this),r&&this._enabledFilters&&this._enabledFilters.length&&e.filter.pop()},t.prototype._render=function(e){},t.prototype.destroy=function(e){i.prototype.destroy.call(this),this.sortDirty=!1;var r=typeof e=="boolean"?e:e&&e.children,n=this.removeChildren(0,this.children.length);if(r)for(var s=0;s<n.length;++s)n[s].destroy(e)},Object.defineProperty(t.prototype,"width",{get:function(){return this.scale.x*this.getLocalBounds().width},set:function(e){var r=this.getLocalBounds().width;r!==0?this.scale.x=e/r:this.scale.x=1,this._width=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this.scale.y*this.getLocalBounds().height},set:function(e){var r=this.getLocalBounds().height;r!==0?this.scale.y=e/r:this.scale.y=1,this._height=e},enumerable:!1,configurable:!0}),t}(Yt);ct.prototype.containerUpdateTransform=ct.prototype.updateTransform;/*!
|
|
580
|
+
* @pixi/graphics - v6.5.9
|
|
581
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
582
|
+
*
|
|
583
|
+
* @pixi/graphics is licensed under the MIT License.
|
|
584
|
+
* http://www.opensource.org/licenses/mit-license
|
|
585
|
+
*/var Ht;(function(i){i.MITER="miter",i.BEVEL="bevel",i.ROUND="round"})(Ht||(Ht={}));var te;(function(i){i.BUTT="butt",i.ROUND="round",i.SQUARE="square"})(te||(te={}));var fi={adaptive:!0,maxLength:10,minSegments:8,maxSegments:2048,epsilon:1e-4,_segmentsCount:function(i,t){if(t===void 0&&(t=20),!this.adaptive||!i||isNaN(i))return t;var e=Math.ceil(i/this.maxLength);return e<this.minSegments?e=this.minSegments:e>this.maxSegments&&(e=this.maxSegments),e}},ya=function(){function i(){this.color=16777215,this.alpha=1,this.texture=it.WHITE,this.matrix=null,this.visible=!1,this.reset()}return i.prototype.clone=function(){var t=new i;return t.color=this.color,t.alpha=this.alpha,t.texture=this.texture,t.matrix=this.matrix,t.visible=this.visible,t},i.prototype.reset=function(){this.color=16777215,this.alpha=1,this.texture=it.WHITE,this.matrix=null,this.visible=!1},i.prototype.destroy=function(){this.texture=null,this.matrix=null},i}();/*! *****************************************************************************
|
|
586
|
+
Copyright (c) Microsoft Corporation.
|
|
587
|
+
|
|
588
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
589
|
+
purpose with or without fee is hereby granted.
|
|
590
|
+
|
|
591
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
592
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
593
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
594
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
595
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
596
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
597
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
598
|
+
***************************************************************************** */var In=function(i,t){return In=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])},In(i,t)};function En(i,t){In(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}function ma(i,t){var e,r;t===void 0&&(t=!1);var n=i.length;if(!(n<6)){for(var s=0,o=0,a=i[n-2],h=i[n-1];o<n;o+=2){var l=i[o],u=i[o+1];s+=(l-a)*(u+h),a=l,h=u}if(!t&&s>0||t&&s<=0)for(var f=n/2,o=f+f%2;o<n;o+=2){var p=n-o-2,d=n-o-1,v=o,m=o+1;e=[i[v],i[p]],i[p]=e[0],i[v]=e[1],r=[i[m],i[d]],i[d]=r[0],i[m]=r[1]}}}var ga={build:function(i){i.points=i.shape.points.slice()},triangulate:function(i,t){var e=i.points,r=i.holes,n=t.points,s=t.indices;if(e.length>=6){ma(e,!1);for(var o=[],a=0;a<r.length;a++){var h=r[a];ma(h.points,!0),o.push(e.length/2),e=e.concat(h.points)}var l=gs(e,o,2);if(!l)return;for(var u=n.length/2,a=0;a<l.length;a+=3)s.push(l[a]+u),s.push(l[a+1]+u),s.push(l[a+2]+u);for(var a=0;a<e.length;a++)n.push(e[a])}}},ir={build:function(i){var t=i.points,e,r,n,s,o,a;if(i.type===H.CIRC){var h=i.shape;e=h.x,r=h.y,o=a=h.radius,n=s=0}else if(i.type===H.ELIP){var l=i.shape;e=l.x,r=l.y,o=l.width,a=l.height,n=s=0}else{var u=i.shape,f=u.width/2,p=u.height/2;e=u.x+f,r=u.y+p,o=a=Math.max(0,Math.min(u.radius,Math.min(f,p))),n=f-o,s=p-a}if(!(o>=0&&a>=0&&n>=0&&s>=0)){t.length=0;return}var d=Math.ceil(2.3*Math.sqrt(o+a)),v=d*8+(n?4:0)+(s?4:0);if(t.length=v,v!==0){if(d===0){t.length=8,t[0]=t[6]=e+n,t[1]=t[3]=r+s,t[2]=t[4]=e-n,t[5]=t[7]=r-s;return}var m=0,y=d*4+(n?2:0)+2,g=y,w=v;{var _=n+o,b=s,x=e+_,P=e-_,I=r+b;if(t[m++]=x,t[m++]=I,t[--y]=I,t[--y]=P,s){var N=r-b;t[g++]=P,t[g++]=N,t[--w]=N,t[--w]=x}}for(var C=1;C<d;C++){var E=Math.PI/2*(C/d),_=n+Math.cos(E)*o,b=s+Math.sin(E)*a,x=e+_,P=e-_,I=r+b,N=r-b;t[m++]=x,t[m++]=I,t[--y]=I,t[--y]=P,t[g++]=P,t[g++]=N,t[--w]=N,t[--w]=x}{var _=n,b=s+a,x=e+_,P=e-_,I=r+b,N=r-b;t[m++]=x,t[m++]=I,t[--w]=N,t[--w]=x,n&&(t[m++]=P,t[m++]=I,t[--w]=N,t[--w]=P)}}},triangulate:function(i,t){var e=i.points,r=t.points,n=t.indices;if(e.length!==0){var s=r.length/2,o=s,a,h;if(i.type!==H.RREC){var l=i.shape;a=l.x,h=l.y}else{var u=i.shape;a=u.x+u.width/2,h=u.y+u.height/2}var f=i.matrix;r.push(i.matrix?f.a*a+f.c*h+f.tx:a,i.matrix?f.b*a+f.d*h+f.ty:h),s++,r.push(e[0],e[1]);for(var p=2;p<e.length;p+=2)r.push(e[p],e[p+1]),n.push(s++,o,s);n.push(o+1,o,s)}}},Hv={build:function(i){var t=i.shape,e=t.x,r=t.y,n=t.width,s=t.height,o=i.points;o.length=0,o.push(e,r,e+n,r,e+n,r+s,e,r+s)},triangulate:function(i,t){var e=i.points,r=t.points,n=r.length/2;r.push(e[0],e[1],e[2],e[3],e[6],e[7],e[4],e[5]),t.indices.push(n,n+1,n+2,n+1,n+2,n+3)}};function Ue(i,t,e){var r=t-i;return i+r*e}function rr(i,t,e,r,n,s,o){o===void 0&&(o=[]);for(var a=20,h=o,l=0,u=0,f=0,p=0,d=0,v=0,m=0,y=0;m<=a;++m)y=m/a,l=Ue(i,e,y),u=Ue(t,r,y),f=Ue(e,n,y),p=Ue(r,s,y),d=Ue(l,f,y),v=Ue(u,p,y),!(m===0&&h[h.length-2]===d&&h[h.length-1]===v)&&h.push(d,v);return h}var Wv={build:function(i){if(et.nextRoundedRectBehavior){ir.build(i);return}var t=i.shape,e=i.points,r=t.x,n=t.y,s=t.width,o=t.height,a=Math.max(0,Math.min(t.radius,Math.min(s,o)/2));e.length=0,a?(rr(r,n+a,r,n,r+a,n,e),rr(r+s-a,n,r+s,n,r+s,n+a,e),rr(r+s,n+o-a,r+s,n+o,r+s-a,n+o,e),rr(r+a,n+o,r,n+o,r,n+o-a,e)):e.push(r,n,r+s,n,r+s,n+o,r,n+o)},triangulate:function(i,t){if(et.nextRoundedRectBehavior){ir.triangulate(i,t);return}for(var e=i.points,r=t.points,n=t.indices,s=r.length/2,o=gs(e,null,2),a=0,h=o.length;a<h;a+=3)n.push(o[a]+s),n.push(o[a+1]+s),n.push(o[a+2]+s);for(var a=0,h=e.length;a<h;a++)r.push(e[a],e[++a])}};function _a(i,t,e,r,n,s,o,a){var h=i-e*n,l=t-r*n,u=i+e*s,f=t+r*s,p,d;o?(p=r,d=-e):(p=-r,d=e);var v=h+p,m=l+d,y=u+p,g=f+d;return a.push(v,m),a.push(y,g),2}function ge(i,t,e,r,n,s,o,a){var h=e-i,l=r-t,u=Math.atan2(h,l),f=Math.atan2(n-i,s-t);a&&u<f?u+=Math.PI*2:!a&&u>f&&(f+=Math.PI*2);var p=u,d=f-u,v=Math.abs(d),m=Math.sqrt(h*h+l*l),y=(15*v*Math.sqrt(m)/Math.PI>>0)+1,g=d/y;if(p+=g,a){o.push(i,t),o.push(e,r);for(var w=1,_=p;w<y;w++,_+=g)o.push(i,t),o.push(i+Math.sin(_)*m,t+Math.cos(_)*m);o.push(i,t),o.push(n,s)}else{o.push(e,r),o.push(i,t);for(var w=1,_=p;w<y;w++,_+=g)o.push(i+Math.sin(_)*m,t+Math.cos(_)*m),o.push(i,t);o.push(n,s),o.push(i,t)}return y*2}function zv(i,t){var e=i.shape,r=i.points||e.points.slice(),n=t.closePointEps;if(r.length!==0){var s=i.lineStyle,o=new B(r[0],r[1]),a=new B(r[r.length-2],r[r.length-1]),h=e.type!==H.POLY||e.closeStroke,l=Math.abs(o.x-a.x)<n&&Math.abs(o.y-a.y)<n;if(h){r=r.slice(),l&&(r.pop(),r.pop(),a.set(r[r.length-2],r[r.length-1]));var u=(o.x+a.x)*.5,f=(a.y+o.y)*.5;r.unshift(u,f),r.push(u,f)}var p=t.points,d=r.length/2,v=r.length,m=p.length/2,y=s.width/2,g=y*y,w=s.miterLimit*s.miterLimit,_=r[0],b=r[1],x=r[2],P=r[3],I=0,N=0,C=-(b-P),E=_-x,F=0,O=0,R=Math.sqrt(C*C+E*E);C/=R,E/=R,C*=y,E*=y;var W=s.alignment,S=(1-W)*2,A=W*2;h||(s.cap===te.ROUND?v+=ge(_-C*(S-A)*.5,b-E*(S-A)*.5,_-C*S,b-E*S,_+C*A,b+E*A,p,!0)+2:s.cap===te.SQUARE&&(v+=_a(_,b,C,E,S,A,!0,p))),p.push(_-C*S,b-E*S),p.push(_+C*A,b+E*A);for(var D=1;D<d-1;++D){_=r[(D-1)*2],b=r[(D-1)*2+1],x=r[D*2],P=r[D*2+1],I=r[(D+1)*2],N=r[(D+1)*2+1],C=-(b-P),E=_-x,R=Math.sqrt(C*C+E*E),C/=R,E/=R,C*=y,E*=y,F=-(P-N),O=x-I,R=Math.sqrt(F*F+O*O),F/=R,O/=R,F*=y,O*=y;var rt=x-_,Y=b-P,dt=x-I,ot=N-P,Vt=rt*dt+Y*ot,Mt=Y*dt-ot*rt,Nt=Mt<0;if(Math.abs(Mt)<.001*Math.abs(Vt)){p.push(x-C*S,P-E*S),p.push(x+C*A,P+E*A),Vt>=0&&(s.join===Ht.ROUND?v+=ge(x,P,x-C*S,P-E*S,x-F*S,P-O*S,p,!1)+4:v+=2,p.push(x-F*A,P-O*A),p.push(x+F*S,P+O*S));continue}var we=(-C+_)*(-E+P)-(-C+x)*(-E+b),Ye=(-F+I)*(-O+P)-(-F+x)*(-O+N),re=(rt*Ye-dt*we)/Mt,bt=(ot*we-Y*Ye)/Mt,Tt=(re-x)*(re-x)+(bt-P)*(bt-P),J=x+(re-x)*S,Q=P+(bt-P)*S,at=x-(re-x)*A,ht=P-(bt-P)*A,jn=Math.min(rt*rt+Y*Y,dt*dt+ot*ot),vt=Nt?S:A,xr=jn+vt*vt*g,m0=Tt<=xr;m0?s.join===Ht.BEVEL||Tt/g>w?(Nt?(p.push(J,Q),p.push(x+C*A,P+E*A),p.push(J,Q),p.push(x+F*A,P+O*A)):(p.push(x-C*S,P-E*S),p.push(at,ht),p.push(x-F*S,P-O*S),p.push(at,ht)),v+=2):s.join===Ht.ROUND?Nt?(p.push(J,Q),p.push(x+C*A,P+E*A),v+=ge(x,P,x+C*A,P+E*A,x+F*A,P+O*A,p,!0)+4,p.push(J,Q),p.push(x+F*A,P+O*A)):(p.push(x-C*S,P-E*S),p.push(at,ht),v+=ge(x,P,x-C*S,P-E*S,x-F*S,P-O*S,p,!1)+4,p.push(x-F*S,P-O*S),p.push(at,ht)):(p.push(J,Q),p.push(at,ht)):(p.push(x-C*S,P-E*S),p.push(x+C*A,P+E*A),s.join===Ht.ROUND?Nt?v+=ge(x,P,x+C*A,P+E*A,x+F*A,P+O*A,p,!0)+2:v+=ge(x,P,x-C*S,P-E*S,x-F*S,P-O*S,p,!1)+2:s.join===Ht.MITER&&Tt/g<=w&&(Nt?(p.push(at,ht),p.push(at,ht)):(p.push(J,Q),p.push(J,Q)),v+=2),p.push(x-F*S,P-O*S),p.push(x+F*A,P+O*A),v+=2)}_=r[(d-2)*2],b=r[(d-2)*2+1],x=r[(d-1)*2],P=r[(d-1)*2+1],C=-(b-P),E=_-x,R=Math.sqrt(C*C+E*E),C/=R,E/=R,C*=y,E*=y,p.push(x-C*S,P-E*S),p.push(x+C*A,P+E*A),h||(s.cap===te.ROUND?v+=ge(x-C*(S-A)*.5,P-E*(S-A)*.5,x-C*S,P-E*S,x+C*A,P+E*A,p,!1)+2:s.cap===te.SQUARE&&(v+=_a(x,P,C,E,S,A,!1,p)));for(var g0=t.indices,_0=fi.epsilon*fi.epsilon,D=m;D<v+m-2;++D)_=p[D*2],b=p[D*2+1],x=p[(D+1)*2],P=p[(D+1)*2+1],I=p[(D+2)*2],N=p[(D+2)*2+1],!(Math.abs(_*(P-N)+x*(N-b)+I*(b-P))<_0)&&g0.push(D,D+1,D+2)}}function $v(i,t){var e=0,r=i.shape,n=i.points||r.points,s=r.type!==H.POLY||r.closeStroke;if(n.length!==0){var o=t.points,a=t.indices,h=n.length/2,l=o.length/2,u=l;for(o.push(n[0],n[1]),e=1;e<h;e++)o.push(n[e*2],n[e*2+1]),a.push(u,u+1),u++;s&&a.push(u,l)}}function xa(i,t){i.lineStyle.native?$v(i,t):zv(i,t)}var wa=function(){function i(){}return i.curveTo=function(t,e,r,n,s,o){var a=o[o.length-2],h=o[o.length-1],l=h-e,u=a-t,f=n-e,p=r-t,d=Math.abs(l*p-u*f);if(d<1e-8||s===0)return(o[o.length-2]!==t||o[o.length-1]!==e)&&o.push(t,e),null;var v=l*l+u*u,m=f*f+p*p,y=l*f+u*p,g=s*Math.sqrt(v)/d,w=s*Math.sqrt(m)/d,_=g*y/v,b=w*y/m,x=g*p+w*u,P=g*f+w*l,I=u*(w+_),N=l*(w+_),C=p*(g+b),E=f*(g+b),F=Math.atan2(N-P,I-x),O=Math.atan2(E-P,C-x);return{cx:x+t,cy:P+e,radius:s,startAngle:F,endAngle:O,anticlockwise:u*f>p*l}},i.arc=function(t,e,r,n,s,o,a,h,l){for(var u=a-o,f=fi._segmentsCount(Math.abs(u)*s,Math.ceil(Math.abs(u)/Wi)*40),p=u/(f*2),d=p*2,v=Math.cos(p),m=Math.sin(p),y=f-1,g=y%1/y,w=0;w<=y;++w){var _=w+g*w,b=p+o+d*_,x=Math.cos(b),P=-Math.sin(b);l.push((v*x+m*P)*s+r,(v*-P+m*x)*s+n)}},i}(),Vv=function(){function i(){}return i.curveLength=function(t,e,r,n,s,o,a,h){for(var l=10,u=0,f=0,p=0,d=0,v=0,m=0,y=0,g=0,w=0,_=0,b=0,x=t,P=e,I=1;I<=l;++I)f=I/l,p=f*f,d=p*f,v=1-f,m=v*v,y=m*v,g=y*t+3*m*f*r+3*v*p*s+d*a,w=y*e+3*m*f*n+3*v*p*o+d*h,_=x-g,b=P-w,x=g,P=w,u+=Math.sqrt(_*_+b*b);return u},i.curveTo=function(t,e,r,n,s,o,a){var h=a[a.length-2],l=a[a.length-1];a.length-=2;var u=fi._segmentsCount(i.curveLength(h,l,t,e,r,n,s,o)),f=0,p=0,d=0,v=0,m=0;a.push(h,l);for(var y=1,g=0;y<=u;++y)g=y/u,f=1-g,p=f*f,d=p*f,v=g*g,m=v*g,a.push(d*h+3*p*g*t+3*f*v*r+m*s,d*l+3*p*g*e+3*f*v*n+m*o)},i}(),jv=function(){function i(){}return i.curveLength=function(t,e,r,n,s,o){var a=t-2*r+s,h=e-2*n+o,l=2*r-2*t,u=2*n-2*e,f=4*(a*a+h*h),p=4*(a*l+h*u),d=l*l+u*u,v=2*Math.sqrt(f+p+d),m=Math.sqrt(f),y=2*f*m,g=2*Math.sqrt(d),w=p/m;return(y*v+m*p*(v-g)+(4*d*f-p*p)*Math.log((2*m+w+v)/(w+g)))/(4*y)},i.curveTo=function(t,e,r,n,s){for(var o=s[s.length-2],a=s[s.length-1],h=fi._segmentsCount(i.curveLength(o,a,t,e,r,n)),l=0,u=0,f=1;f<=h;++f){var p=f/h;l=o+(t-o)*p,u=a+(e-a)*p,s.push(l+(t+(r-t)*p-l)*p,u+(e+(n-e)*p-u)*p)}},i}(),qv=function(){function i(){this.reset()}return i.prototype.begin=function(t,e,r){this.reset(),this.style=t,this.start=e,this.attribStart=r},i.prototype.end=function(t,e){this.attribSize=e-this.attribStart,this.size=t-this.start},i.prototype.reset=function(){this.style=null,this.size=0,this.start=0,this.attribStart=0,this.attribSize=0},i}(),_e,Sn=(_e={},_e[H.POLY]=ga,_e[H.CIRC]=ir,_e[H.ELIP]=ir,_e[H.RECT]=Hv,_e[H.RREC]=Wv,_e),Pa=[],nr=[],ba=function(){function i(t,e,r,n){e===void 0&&(e=null),r===void 0&&(r=null),n===void 0&&(n=null),this.points=[],this.holes=[],this.shape=t,this.lineStyle=r,this.fillStyle=e,this.matrix=n,this.type=t.type}return i.prototype.clone=function(){return new i(this.shape,this.fillStyle,this.lineStyle,this.matrix)},i.prototype.destroy=function(){this.shape=null,this.holes.length=0,this.holes=null,this.points.length=0,this.points=null,this.lineStyle=null,this.fillStyle=null},i}(),Xe=new B,Zv=function(i){En(t,i);function t(){var e=i.call(this)||this;return e.closePointEps=1e-4,e.boundsPadding=0,e.uvsFloat32=null,e.indicesUint16=null,e.batchable=!1,e.points=[],e.colors=[],e.uvs=[],e.indices=[],e.textureIds=[],e.graphicsData=[],e.drawCalls=[],e.batchDirty=-1,e.batches=[],e.dirty=0,e.cacheDirty=-1,e.clearDirty=0,e.shapeIndex=0,e._bounds=new er,e.boundsDirty=-1,e}return Object.defineProperty(t.prototype,"bounds",{get:function(){return this.updateBatches(),this.boundsDirty!==this.dirty&&(this.boundsDirty=this.dirty,this.calculateBounds()),this._bounds},enumerable:!1,configurable:!0}),t.prototype.invalidate=function(){this.boundsDirty=-1,this.dirty++,this.batchDirty++,this.shapeIndex=0,this.points.length=0,this.colors.length=0,this.uvs.length=0,this.indices.length=0,this.textureIds.length=0;for(var e=0;e<this.drawCalls.length;e++)this.drawCalls[e].texArray.clear(),nr.push(this.drawCalls[e]);this.drawCalls.length=0;for(var e=0;e<this.batches.length;e++){var r=this.batches[e];r.reset(),Pa.push(r)}this.batches.length=0},t.prototype.clear=function(){return this.graphicsData.length>0&&(this.invalidate(),this.clearDirty++,this.graphicsData.length=0),this},t.prototype.drawShape=function(e,r,n,s){r===void 0&&(r=null),n===void 0&&(n=null),s===void 0&&(s=null);var o=new ba(e,r,n,s);return this.graphicsData.push(o),this.dirty++,this},t.prototype.drawHole=function(e,r){if(r===void 0&&(r=null),!this.graphicsData.length)return null;var n=new ba(e,null,null,r),s=this.graphicsData[this.graphicsData.length-1];return n.lineStyle=s.lineStyle,s.holes.push(n),this.dirty++,this},t.prototype.destroy=function(){i.prototype.destroy.call(this);for(var e=0;e<this.graphicsData.length;++e)this.graphicsData[e].destroy();this.points.length=0,this.points=null,this.colors.length=0,this.colors=null,this.uvs.length=0,this.uvs=null,this.indices.length=0,this.indices=null,this.indexBuffer.destroy(),this.indexBuffer=null,this.graphicsData.length=0,this.graphicsData=null,this.drawCalls.length=0,this.drawCalls=null,this.batches.length=0,this.batches=null,this._bounds=null},t.prototype.containsPoint=function(e){for(var r=this.graphicsData,n=0;n<r.length;++n){var s=r[n];if(s.fillStyle.visible&&s.shape&&(s.matrix?s.matrix.applyInverse(e,Xe):Xe.copyFrom(e),s.shape.contains(Xe.x,Xe.y))){var o=!1;if(s.holes)for(var a=0;a<s.holes.length;a++){var h=s.holes[a];if(h.shape.contains(Xe.x,Xe.y)){o=!0;break}}if(!o)return!0}}return!1},t.prototype.updateBatches=function(){if(!this.graphicsData.length){this.batchable=!0;return}if(this.validateBatching()){this.cacheDirty=this.dirty;var e=this.uvs,r=this.graphicsData,n=null,s=null;this.batches.length>0&&(n=this.batches[this.batches.length-1],s=n.style);for(var o=this.shapeIndex;o<r.length;o++){this.shapeIndex++;var a=r[o],h=a.fillStyle,l=a.lineStyle,u=Sn[a.type];u.build(a),a.matrix&&this.transformPoints(a.points,a.matrix),(h.visible||l.visible)&&this.processHoles(a.holes);for(var f=0;f<2;f++){var p=f===0?h:l;if(p.visible){var d=p.texture.baseTexture,v=this.indices.length,m=this.points.length/2;d.wrapMode=Te.REPEAT,f===0?this.processFill(a):this.processLine(a);var y=this.points.length/2-m;y!==0&&(n&&!this._compareStyles(s,p)&&(n.end(v,m),n=null),n||(n=Pa.pop()||new qv,n.begin(p,v,m),this.batches.push(n),s=p),this.addUvs(this.points,e,p.texture,m,y,p.matrix))}}}var g=this.indices.length,w=this.points.length/2;if(n&&n.end(g,w),this.batches.length===0){this.batchable=!0;return}var _=w>65535;this.indicesUint16&&this.indices.length===this.indicesUint16.length&&_===this.indicesUint16.BYTES_PER_ELEMENT>2?this.indicesUint16.set(this.indices):this.indicesUint16=_?new Uint32Array(this.indices):new Uint16Array(this.indices),this.batchable=this.isBatchable(),this.batchable?this.packBatches():this.buildDrawCalls()}},t.prototype._compareStyles=function(e,r){return!(!e||!r||e.texture.baseTexture!==r.texture.baseTexture||e.color+e.alpha!==r.color+r.alpha||!!e.native!=!!r.native)},t.prototype.validateBatching=function(){if(this.dirty===this.cacheDirty||!this.graphicsData.length)return!1;for(var e=0,r=this.graphicsData.length;e<r;e++){var n=this.graphicsData[e],s=n.fillStyle,o=n.lineStyle;if(s&&!s.texture.baseTexture.valid||o&&!o.texture.baseTexture.valid)return!1}return!0},t.prototype.packBatches=function(){this.batchDirty++,this.uvsFloat32=new Float32Array(this.uvs);for(var e=this.batches,r=0,n=e.length;r<n;r++)for(var s=e[r],o=0;o<s.size;o++){var a=s.start+o;this.indicesUint16[a]=this.indicesUint16[a]-s.attribStart}},t.prototype.isBatchable=function(){if(this.points.length>65535*2)return!1;for(var e=this.batches,r=0;r<e.length;r++)if(e[r].style.native)return!1;return this.points.length<t.BATCHABLE_SIZE*2},t.prototype.buildDrawCalls=function(){for(var e=++$._globalBatch,r=0;r<this.drawCalls.length;r++)this.drawCalls[r].texArray.clear(),nr.push(this.drawCalls[r]);this.drawCalls.length=0;var n=this.colors,s=this.textureIds,o=nr.pop();o||(o=new Pn,o.texArray=new bn),o.texArray.count=0,o.start=0,o.size=0,o.type=Rt.TRIANGLES;var a=0,h=null,l=0,u=!1,f=Rt.TRIANGLES,p=0;this.drawCalls.push(o);for(var r=0;r<this.batches.length;r++){var d=this.batches[r],v=8,m=d.style,y=m.texture.baseTexture;u!==!!m.native&&(u=!!m.native,f=u?Rt.LINES:Rt.TRIANGLES,h=null,a=v,e++),h!==y&&(h=y,y._batchEnabled!==e&&(a===v&&(e++,a=0,o.size>0&&(o=nr.pop(),o||(o=new Pn,o.texArray=new bn),this.drawCalls.push(o)),o.start=p,o.size=0,o.texArray.count=0,o.type=f),y.touched=1,y._batchEnabled=e,y._batchLocation=a,y.wrapMode=Te.REPEAT,o.texArray.elements[o.texArray.count++]=y,a++)),o.size+=d.size,p+=d.size,l=y._batchLocation,this.addColors(n,m.color,m.alpha,d.attribSize,d.attribStart),this.addTextureIds(s,l,d.attribSize,d.attribStart)}$._globalBatch=e,this.packAttributes()},t.prototype.packAttributes=function(){for(var e=this.points,r=this.uvs,n=this.colors,s=this.textureIds,o=new ArrayBuffer(e.length*3*4),a=new Float32Array(o),h=new Uint32Array(o),l=0,u=0;u<e.length/2;u++)a[l++]=e[u*2],a[l++]=e[u*2+1],a[l++]=r[u*2],a[l++]=r[u*2+1],h[l++]=n[u],a[l++]=s[u];this._buffer.update(o),this._indexBuffer.update(this.indicesUint16)},t.prototype.processFill=function(e){if(e.holes.length)ga.triangulate(e,this);else{var r=Sn[e.type];r.triangulate(e,this)}},t.prototype.processLine=function(e){xa(e,this);for(var r=0;r<e.holes.length;r++)xa(e.holes[r],this)},t.prototype.processHoles=function(e){for(var r=0;r<e.length;r++){var n=e[r],s=Sn[n.type];s.build(n),n.matrix&&this.transformPoints(n.points,n.matrix)}},t.prototype.calculateBounds=function(){var e=this._bounds;e.clear(),e.addVertexData(this.points,0,this.points.length),e.pad(this.boundsPadding,this.boundsPadding)},t.prototype.transformPoints=function(e,r){for(var n=0;n<e.length/2;n++){var s=e[n*2],o=e[n*2+1];e[n*2]=r.a*s+r.c*o+r.tx,e[n*2+1]=r.b*s+r.d*o+r.ty}},t.prototype.addColors=function(e,r,n,s,o){o===void 0&&(o=0);var a=(r>>16)+(r&65280)+((r&255)<<16),h=Ns(a,n);e.length=Math.max(e.length,o+s);for(var l=0;l<s;l++)e[o+l]=h},t.prototype.addTextureIds=function(e,r,n,s){s===void 0&&(s=0),e.length=Math.max(e.length,s+n);for(var o=0;o<n;o++)e[s+o]=r},t.prototype.addUvs=function(e,r,n,s,o,a){a===void 0&&(a=null);for(var h=0,l=r.length,u=n.frame;h<o;){var f=e[(s+h)*2],p=e[(s+h)*2+1];if(a){var d=a.a*f+a.c*p+a.tx;p=a.b*f+a.d*p+a.ty,f=d}h++,r.push(f/u.width,p/u.height)}var v=n.baseTexture;(u.width<v.width||u.height<v.height)&&this.adjustUvs(r,n,l,o)},t.prototype.adjustUvs=function(e,r,n,s){for(var o=r.baseTexture,a=1e-6,h=n+s*2,l=r.frame,u=l.width/o.width,f=l.height/o.height,p=l.x/l.width,d=l.y/l.height,v=Math.floor(e[n]+a),m=Math.floor(e[n+1]+a),y=n+2;y<h;y+=2)v=Math.min(v,Math.floor(e[y]+a)),m=Math.min(m,Math.floor(e[y+1]+a));p-=v,d-=m;for(var y=n;y<h;y+=2)e[y]=(e[y]+p)*u,e[y+1]=(e[y+1]+d)*f},t.BATCHABLE_SIZE=100,t}(fa),Jv=function(i){En(t,i);function t(){var e=i!==null&&i.apply(this,arguments)||this;return e.width=0,e.alignment=.5,e.native=!1,e.cap=te.BUTT,e.join=Ht.MITER,e.miterLimit=10,e}return t.prototype.clone=function(){var e=new t;return e.color=this.color,e.alpha=this.alpha,e.texture=this.texture,e.matrix=this.matrix,e.visible=this.visible,e.width=this.width,e.alignment=this.alignment,e.native=this.native,e.cap=this.cap,e.join=this.join,e.miterLimit=this.miterLimit,e},t.prototype.reset=function(){i.prototype.reset.call(this),this.color=0,this.alignment=.5,this.width=0,this.native=!1},t}(ya),Qv=new Float32Array(3),An={},et=function(i){En(t,i);function t(e){e===void 0&&(e=null);var r=i.call(this)||this;return r.shader=null,r.pluginName="batch",r.currentPath=null,r.batches=[],r.batchTint=-1,r.batchDirty=-1,r.vertexData=null,r._fillStyle=new ya,r._lineStyle=new Jv,r._matrix=null,r._holeMode=!1,r.state=Ki.for2d(),r._geometry=e||new Zv,r._geometry.refCount++,r._transformID=-1,r.tint=16777215,r.blendMode=T.NORMAL,r}return Object.defineProperty(t.prototype,"geometry",{get:function(){return this._geometry},enumerable:!1,configurable:!0}),t.prototype.clone=function(){return this.finishPoly(),new t(this._geometry)},Object.defineProperty(t.prototype,"blendMode",{get:function(){return this.state.blendMode},set:function(e){this.state.blendMode=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tint",{get:function(){return this._tint},set:function(e){this._tint=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fill",{get:function(){return this._fillStyle},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"line",{get:function(){return this._lineStyle},enumerable:!1,configurable:!0}),t.prototype.lineStyle=function(e,r,n,s,o){return e===void 0&&(e=null),r===void 0&&(r=0),n===void 0&&(n=1),s===void 0&&(s=.5),o===void 0&&(o=!1),typeof e=="number"&&(e={width:e,color:r,alpha:n,alignment:s,native:o}),this.lineTextureStyle(e)},t.prototype.lineTextureStyle=function(e){e=Object.assign({width:0,texture:it.WHITE,color:e&&e.texture?16777215:0,alpha:1,matrix:null,alignment:.5,native:!1,cap:te.BUTT,join:Ht.MITER,miterLimit:10},e),this.currentPath&&this.startPoly();var r=e.width>0&&e.alpha>0;return r?(e.matrix&&(e.matrix=e.matrix.clone(),e.matrix.invert()),Object.assign(this._lineStyle,{visible:r},e)):this._lineStyle.reset(),this},t.prototype.startPoly=function(){if(this.currentPath){var e=this.currentPath.points,r=this.currentPath.points.length;r>2&&(this.drawShape(this.currentPath),this.currentPath=new tn,this.currentPath.closeStroke=!1,this.currentPath.points.push(e[r-2],e[r-1]))}else this.currentPath=new tn,this.currentPath.closeStroke=!1},t.prototype.finishPoly=function(){this.currentPath&&(this.currentPath.points.length>2?(this.drawShape(this.currentPath),this.currentPath=null):this.currentPath.points.length=0)},t.prototype.moveTo=function(e,r){return this.startPoly(),this.currentPath.points[0]=e,this.currentPath.points[1]=r,this},t.prototype.lineTo=function(e,r){this.currentPath||this.moveTo(0,0);var n=this.currentPath.points,s=n[n.length-2],o=n[n.length-1];return(s!==e||o!==r)&&n.push(e,r),this},t.prototype._initCurve=function(e,r){e===void 0&&(e=0),r===void 0&&(r=0),this.currentPath?this.currentPath.points.length===0&&(this.currentPath.points=[e,r]):this.moveTo(e,r)},t.prototype.quadraticCurveTo=function(e,r,n,s){this._initCurve();var o=this.currentPath.points;return o.length===0&&this.moveTo(0,0),jv.curveTo(e,r,n,s,o),this},t.prototype.bezierCurveTo=function(e,r,n,s,o,a){return this._initCurve(),Vv.curveTo(e,r,n,s,o,a,this.currentPath.points),this},t.prototype.arcTo=function(e,r,n,s,o){this._initCurve(e,r);var a=this.currentPath.points,h=wa.curveTo(e,r,n,s,o,a);if(h){var l=h.cx,u=h.cy,f=h.radius,p=h.startAngle,d=h.endAngle,v=h.anticlockwise;this.arc(l,u,f,p,d,v)}return this},t.prototype.arc=function(e,r,n,s,o,a){if(a===void 0&&(a=!1),s===o)return this;!a&&o<=s?o+=Wi:a&&s<=o&&(s+=Wi);var h=o-s;if(h===0)return this;var l=e+Math.cos(s)*n,u=r+Math.sin(s)*n,f=this._geometry.closePointEps,p=this.currentPath?this.currentPath.points:null;if(p){var d=Math.abs(p[p.length-2]-l),v=Math.abs(p[p.length-1]-u);d<f&&v<f||p.push(l,u)}else this.moveTo(l,u),p=this.currentPath.points;return wa.arc(l,u,e,r,n,s,o,a,p),this},t.prototype.beginFill=function(e,r){return e===void 0&&(e=0),r===void 0&&(r=1),this.beginTextureFill({texture:it.WHITE,color:e,alpha:r})},t.prototype.beginTextureFill=function(e){e=Object.assign({texture:it.WHITE,color:16777215,alpha:1,matrix:null},e),this.currentPath&&this.startPoly();var r=e.alpha>0;return r?(e.matrix&&(e.matrix=e.matrix.clone(),e.matrix.invert()),Object.assign(this._fillStyle,{visible:r},e)):this._fillStyle.reset(),this},t.prototype.endFill=function(){return this.finishPoly(),this._fillStyle.reset(),this},t.prototype.drawRect=function(e,r,n,s){return this.drawShape(new U(e,r,n,s))},t.prototype.drawRoundedRect=function(e,r,n,s,o){return this.drawShape(new cd(e,r,n,s,o))},t.prototype.drawCircle=function(e,r,n){return this.drawShape(new ud(e,r,n))},t.prototype.drawEllipse=function(e,r,n,s){return this.drawShape(new fd(e,r,n,s))},t.prototype.drawPolygon=function(){for(var e=arguments,r=[],n=0;n<arguments.length;n++)r[n]=e[n];var s,o=!0,a=r[0];a.points?(o=a.closeStroke,s=a.points):Array.isArray(r[0])?s=r[0]:s=r;var h=new tn(s);return h.closeStroke=o,this.drawShape(h),this},t.prototype.drawShape=function(e){return this._holeMode?this._geometry.drawHole(e,this._matrix):this._geometry.drawShape(e,this._fillStyle.clone(),this._lineStyle.clone(),this._matrix),this},t.prototype.clear=function(){return this._geometry.clear(),this._lineStyle.reset(),this._fillStyle.reset(),this._boundsID++,this._matrix=null,this._holeMode=!1,this.currentPath=null,this},t.prototype.isFastRect=function(){var e=this._geometry.graphicsData;return e.length===1&&e[0].shape.type===H.RECT&&!e[0].matrix&&!e[0].holes.length&&!(e[0].lineStyle.visible&&e[0].lineStyle.width)},t.prototype._render=function(e){this.finishPoly();var r=this._geometry;r.updateBatches(),r.batchable?(this.batchDirty!==r.batchDirty&&this._populateBatches(),this._renderBatched(e)):(e.batch.flush(),this._renderDirect(e))},t.prototype._populateBatches=function(){var e=this._geometry,r=this.blendMode,n=e.batches.length;this.batchTint=-1,this._transformID=-1,this.batchDirty=e.batchDirty,this.batches.length=n,this.vertexData=new Float32Array(e.points);for(var s=0;s<n;s++){var o=e.batches[s],a=o.style.color,h=new Float32Array(this.vertexData.buffer,o.attribStart*4*2,o.attribSize*2),l=new Float32Array(e.uvsFloat32.buffer,o.attribStart*4*2,o.attribSize*2),u=new Uint16Array(e.indicesUint16.buffer,o.start*2,o.size),f={vertexData:h,blendMode:r,indices:u,uvs:l,_batchRGB:Le(a),_tintRGB:a,_texture:o.style.texture,alpha:o.style.alpha,worldAlpha:1};this.batches[s]=f}},t.prototype._renderBatched=function(e){if(this.batches.length){e.batch.setObjectRenderer(e.plugins[this.pluginName]),this.calculateVertices(),this.calculateTints();for(var r=0,n=this.batches.length;r<n;r++){var s=this.batches[r];s.worldAlpha=this.worldAlpha*s.alpha,e.plugins[this.pluginName].render(s)}}},t.prototype._renderDirect=function(e){var r=this._resolveDirectShader(e),n=this._geometry,s=this.tint,o=this.worldAlpha,a=r.uniforms,h=n.drawCalls;a.translationMatrix=this.transform.worldTransform,a.tint[0]=(s>>16&255)/255*o,a.tint[1]=(s>>8&255)/255*o,a.tint[2]=(s&255)/255*o,a.tint[3]=o,e.shader.bind(r),e.geometry.bind(n,r),e.state.set(this.state);for(var l=0,u=h.length;l<u;l++)this._renderDrawCallDirect(e,n.drawCalls[l])},t.prototype._renderDrawCallDirect=function(e,r){for(var n=r.texArray,s=r.type,o=r.size,a=r.start,h=n.count,l=0;l<h;l++)e.texture.bind(n.elements[l],l);e.geometry.draw(s,o,a)},t.prototype._resolveDirectShader=function(e){var r=this.shader,n=this.pluginName;if(!r){if(!An[n]){for(var s=e.plugins[n].MAX_TEXTURES,o=new Int32Array(s),a=0;a<s;a++)o[a]=a;var h={tint:new Float32Array([1,1,1,1]),translationMatrix:new tt,default:ye.from({uSamplers:o},!0)},l=e.plugins[n]._shader.program;An[n]=new pn(l,h)}r=An[n]}return r},t.prototype._calculateBounds=function(){this.finishPoly();var e=this._geometry;if(e.graphicsData.length){var r=e.bounds,n=r.minX,s=r.minY,o=r.maxX,a=r.maxY;this._bounds.addFrame(this.transform,n,s,o,a)}},t.prototype.containsPoint=function(e){return this.worldTransform.applyInverse(e,t._TEMP_POINT),this._geometry.containsPoint(t._TEMP_POINT)},t.prototype.calculateTints=function(){if(this.batchTint!==this.tint){this.batchTint=this.tint;for(var e=Le(this.tint,Qv),r=0;r<this.batches.length;r++){var n=this.batches[r],s=n._batchRGB,o=e[0]*s[0]*255,a=e[1]*s[1]*255,h=e[2]*s[2]*255,l=(o<<16)+(a<<8)+(h|0);n._tintRGB=(l>>16)+(l&65280)+((l&255)<<16)}}},t.prototype.calculateVertices=function(){var e=this.transform._worldID;if(this._transformID!==e){this._transformID=e;for(var r=this.transform.worldTransform,n=r.a,s=r.b,o=r.c,a=r.d,h=r.tx,l=r.ty,u=this._geometry.points,f=this.vertexData,p=0,d=0;d<u.length;d+=2){var v=u[d],m=u[d+1];f[p++]=n*v+o*m+h,f[p++]=a*m+s*v+l}}},t.prototype.closePath=function(){var e=this.currentPath;return e&&(e.closeStroke=!0,this.finishPoly()),this},t.prototype.setMatrix=function(e){return this._matrix=e,this},t.prototype.beginHole=function(){return this.finishPoly(),this._holeMode=!0,this},t.prototype.endHole=function(){return this.finishPoly(),this._holeMode=!1,this},t.prototype.destroy=function(e){this._geometry.refCount--,this._geometry.refCount===0&&this._geometry.dispose(),this._matrix=null,this.currentPath=null,this._lineStyle.destroy(),this._lineStyle=null,this._fillStyle.destroy(),this._fillStyle=null,this._geometry=null,this.shader=null,this.vertexData=null,this.batches.length=0,this.batches=null,i.prototype.destroy.call(this,e)},t.nextRoundedRectBehavior=!1,t._TEMP_POINT=new B,t}(ct);/*!
|
|
599
|
+
* @pixi/sprite - v6.5.9
|
|
600
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
601
|
+
*
|
|
602
|
+
* @pixi/sprite is licensed under the MIT License.
|
|
603
|
+
* http://www.opensource.org/licenses/mit-license
|
|
604
|
+
*//*! *****************************************************************************
|
|
605
|
+
Copyright (c) Microsoft Corporation.
|
|
606
|
+
|
|
607
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
608
|
+
purpose with or without fee is hereby granted.
|
|
609
|
+
|
|
610
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
611
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
612
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
613
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
614
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
615
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
616
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
617
|
+
***************************************************************************** */var On=function(i,t){return On=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])},On(i,t)};function Kv(i,t){On(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var ci=new B,ty=new Uint16Array([0,1,2,0,2,3]),Ot=function(i){Kv(t,i);function t(e){var r=i.call(this)||this;return r._anchor=new oi(r._onAnchorUpdate,r,e?e.defaultAnchor.x:0,e?e.defaultAnchor.y:0),r._texture=null,r._width=0,r._height=0,r._tint=null,r._tintRGB=null,r.tint=16777215,r.blendMode=T.NORMAL,r._cachedTint=16777215,r.uvs=null,r.texture=e||it.EMPTY,r.vertexData=new Float32Array(8),r.vertexTrimmedData=null,r._transformID=-1,r._textureID=-1,r._transformTrimmedID=-1,r._textureTrimmedID=-1,r.indices=ty,r.pluginName="batch",r.isSprite=!0,r._roundPixels=M.ROUND_PIXELS,r}return t.prototype._onTextureUpdate=function(){this._textureID=-1,this._textureTrimmedID=-1,this._cachedTint=16777215,this._width&&(this.scale.x=Ne(this.scale.x)*this._width/this._texture.orig.width),this._height&&(this.scale.y=Ne(this.scale.y)*this._height/this._texture.orig.height)},t.prototype._onAnchorUpdate=function(){this._transformID=-1,this._transformTrimmedID=-1},t.prototype.calculateVertices=function(){var e=this._texture;if(!(this._transformID===this.transform._worldID&&this._textureID===e._updateID)){this._textureID!==e._updateID&&(this.uvs=this._texture._uvs.uvsFloat32),this._transformID=this.transform._worldID,this._textureID=e._updateID;var r=this.transform.worldTransform,n=r.a,s=r.b,o=r.c,a=r.d,h=r.tx,l=r.ty,u=this.vertexData,f=e.trim,p=e.orig,d=this._anchor,v=0,m=0,y=0,g=0;if(f?(m=f.x-d._x*p.width,v=m+f.width,g=f.y-d._y*p.height,y=g+f.height):(m=-d._x*p.width,v=m+p.width,g=-d._y*p.height,y=g+p.height),u[0]=n*m+o*g+h,u[1]=a*g+s*m+l,u[2]=n*v+o*g+h,u[3]=a*g+s*v+l,u[4]=n*v+o*y+h,u[5]=a*y+s*v+l,u[6]=n*m+o*y+h,u[7]=a*y+s*m+l,this._roundPixels)for(var w=M.RESOLUTION,_=0;_<u.length;++_)u[_]=Math.round((u[_]*w|0)/w)}},t.prototype.calculateTrimmedVertices=function(){if(!this.vertexTrimmedData)this.vertexTrimmedData=new Float32Array(8);else if(this._transformTrimmedID===this.transform._worldID&&this._textureTrimmedID===this._texture._updateID)return;this._transformTrimmedID=this.transform._worldID,this._textureTrimmedID=this._texture._updateID;var e=this._texture,r=this.vertexTrimmedData,n=e.orig,s=this._anchor,o=this.transform.worldTransform,a=o.a,h=o.b,l=o.c,u=o.d,f=o.tx,p=o.ty,d=-s._x*n.width,v=d+n.width,m=-s._y*n.height,y=m+n.height;r[0]=a*d+l*m+f,r[1]=u*m+h*d+p,r[2]=a*v+l*m+f,r[3]=u*m+h*v+p,r[4]=a*v+l*y+f,r[5]=u*y+h*v+p,r[6]=a*d+l*y+f,r[7]=u*y+h*d+p},t.prototype._render=function(e){this.calculateVertices(),e.batch.setObjectRenderer(e.plugins[this.pluginName]),e.plugins[this.pluginName].render(this)},t.prototype._calculateBounds=function(){var e=this._texture.trim,r=this._texture.orig;!e||e.width===r.width&&e.height===r.height?(this.calculateVertices(),this._bounds.addQuad(this.vertexData)):(this.calculateTrimmedVertices(),this._bounds.addQuad(this.vertexTrimmedData))},t.prototype.getLocalBounds=function(e){return this.children.length===0?(this._localBounds||(this._localBounds=new er),this._localBounds.minX=this._texture.orig.width*-this._anchor._x,this._localBounds.minY=this._texture.orig.height*-this._anchor._y,this._localBounds.maxX=this._texture.orig.width*(1-this._anchor._x),this._localBounds.maxY=this._texture.orig.height*(1-this._anchor._y),e||(this._localBoundsRect||(this._localBoundsRect=new U),e=this._localBoundsRect),this._localBounds.getRectangle(e)):i.prototype.getLocalBounds.call(this,e)},t.prototype.containsPoint=function(e){this.worldTransform.applyInverse(e,ci);var r=this._texture.orig.width,n=this._texture.orig.height,s=-r*this.anchor.x,o=0;return ci.x>=s&&ci.x<s+r&&(o=-n*this.anchor.y,ci.y>=o&&ci.y<o+n)},t.prototype.destroy=function(e){i.prototype.destroy.call(this,e),this._texture.off("update",this._onTextureUpdate,this),this._anchor=null;var r=typeof e=="boolean"?e:e&&e.texture;if(r){var n=typeof e=="boolean"?e:e&&e.baseTexture;this._texture.destroy(!!n)}this._texture=null},t.from=function(e,r){var n=e instanceof it?e:it.from(e,r);return new t(n)},Object.defineProperty(t.prototype,"roundPixels",{get:function(){return this._roundPixels},set:function(e){this._roundPixels!==e&&(this._transformID=-1),this._roundPixels=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return Math.abs(this.scale.x)*this._texture.orig.width},set:function(e){var r=Ne(this.scale.x)||1;this.scale.x=r*e/this._texture.orig.width,this._width=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return Math.abs(this.scale.y)*this._texture.orig.height},set:function(e){var r=Ne(this.scale.y)||1;this.scale.y=r*e/this._texture.orig.height,this._height=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"anchor",{get:function(){return this._anchor},set:function(e){this._anchor.copyFrom(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tint",{get:function(){return this._tint},set:function(e){this._tint=e,this._tintRGB=(e>>16)+(e&65280)+((e&255)<<16)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"texture",{get:function(){return this._texture},set:function(e){this._texture!==e&&(this._texture&&this._texture.off("update",this._onTextureUpdate,this),this._texture=e||it.EMPTY,this._cachedTint=16777215,this._textureID=-1,this._textureTrimmedID=-1,e&&(e.baseTexture.valid?this._onTextureUpdate():e.once("update",this._onTextureUpdate,this)))},enumerable:!1,configurable:!0}),t}(ct);/*!
|
|
618
|
+
* @pixi/text - v6.5.9
|
|
619
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
620
|
+
*
|
|
621
|
+
* @pixi/text is licensed under the MIT License.
|
|
622
|
+
* http://www.opensource.org/licenses/mit-license
|
|
623
|
+
*//*! *****************************************************************************
|
|
624
|
+
Copyright (c) Microsoft Corporation.
|
|
625
|
+
|
|
626
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
627
|
+
purpose with or without fee is hereby granted.
|
|
628
|
+
|
|
629
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
630
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
631
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
632
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
633
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
634
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
635
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
636
|
+
***************************************************************************** */var Ln=function(i,t){return Ln=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])},Ln(i,t)};function ey(i,t){Ln(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var sr;(function(i){i[i.LINEAR_VERTICAL=0]="LINEAR_VERTICAL",i[i.LINEAR_HORIZONTAL=1]="LINEAR_HORIZONTAL"})(sr||(sr={}));var Mn={align:"left",breakWords:!1,dropShadow:!1,dropShadowAlpha:1,dropShadowAngle:Math.PI/6,dropShadowBlur:0,dropShadowColor:"black",dropShadowDistance:5,fill:"black",fillGradientType:sr.LINEAR_VERTICAL,fillGradientStops:[],fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",letterSpacing:0,lineHeight:0,lineJoin:"miter",miterLimit:10,padding:0,stroke:"black",strokeThickness:0,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100,leading:0},iy=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],Ge=function(){function i(t){this.styleID=0,this.reset(),Fn(this,t,t)}return i.prototype.clone=function(){var t={};return Fn(t,this,Mn),new i(t)},i.prototype.reset=function(){Fn(this,Mn,Mn)},Object.defineProperty(i.prototype,"align",{get:function(){return this._align},set:function(t){this._align!==t&&(this._align=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"breakWords",{get:function(){return this._breakWords},set:function(t){this._breakWords!==t&&(this._breakWords=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"dropShadow",{get:function(){return this._dropShadow},set:function(t){this._dropShadow!==t&&(this._dropShadow=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"dropShadowAlpha",{get:function(){return this._dropShadowAlpha},set:function(t){this._dropShadowAlpha!==t&&(this._dropShadowAlpha=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"dropShadowAngle",{get:function(){return this._dropShadowAngle},set:function(t){this._dropShadowAngle!==t&&(this._dropShadowAngle=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"dropShadowBlur",{get:function(){return this._dropShadowBlur},set:function(t){this._dropShadowBlur!==t&&(this._dropShadowBlur=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"dropShadowColor",{get:function(){return this._dropShadowColor},set:function(t){var e=Nn(t);this._dropShadowColor!==e&&(this._dropShadowColor=e,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"dropShadowDistance",{get:function(){return this._dropShadowDistance},set:function(t){this._dropShadowDistance!==t&&(this._dropShadowDistance=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"fill",{get:function(){return this._fill},set:function(t){var e=Nn(t);this._fill!==e&&(this._fill=e,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"fillGradientType",{get:function(){return this._fillGradientType},set:function(t){this._fillGradientType!==t&&(this._fillGradientType=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"fillGradientStops",{get:function(){return this._fillGradientStops},set:function(t){ry(this._fillGradientStops,t)||(this._fillGradientStops=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"fontFamily",{get:function(){return this._fontFamily},set:function(t){this.fontFamily!==t&&(this._fontFamily=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"fontSize",{get:function(){return this._fontSize},set:function(t){this._fontSize!==t&&(this._fontSize=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"fontStyle",{get:function(){return this._fontStyle},set:function(t){this._fontStyle!==t&&(this._fontStyle=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"fontVariant",{get:function(){return this._fontVariant},set:function(t){this._fontVariant!==t&&(this._fontVariant=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"fontWeight",{get:function(){return this._fontWeight},set:function(t){this._fontWeight!==t&&(this._fontWeight=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"letterSpacing",{get:function(){return this._letterSpacing},set:function(t){this._letterSpacing!==t&&(this._letterSpacing=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"lineHeight",{get:function(){return this._lineHeight},set:function(t){this._lineHeight!==t&&(this._lineHeight=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"leading",{get:function(){return this._leading},set:function(t){this._leading!==t&&(this._leading=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"lineJoin",{get:function(){return this._lineJoin},set:function(t){this._lineJoin!==t&&(this._lineJoin=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"miterLimit",{get:function(){return this._miterLimit},set:function(t){this._miterLimit!==t&&(this._miterLimit=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"padding",{get:function(){return this._padding},set:function(t){this._padding!==t&&(this._padding=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"stroke",{get:function(){return this._stroke},set:function(t){var e=Nn(t);this._stroke!==e&&(this._stroke=e,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"strokeThickness",{get:function(){return this._strokeThickness},set:function(t){this._strokeThickness!==t&&(this._strokeThickness=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"textBaseline",{get:function(){return this._textBaseline},set:function(t){this._textBaseline!==t&&(this._textBaseline=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"trim",{get:function(){return this._trim},set:function(t){this._trim!==t&&(this._trim=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"whiteSpace",{get:function(){return this._whiteSpace},set:function(t){this._whiteSpace!==t&&(this._whiteSpace=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"wordWrap",{get:function(){return this._wordWrap},set:function(t){this._wordWrap!==t&&(this._wordWrap=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"wordWrapWidth",{get:function(){return this._wordWrapWidth},set:function(t){this._wordWrapWidth!==t&&(this._wordWrapWidth=t,this.styleID++)},enumerable:!1,configurable:!0}),i.prototype.toFontString=function(){var t=typeof this.fontSize=="number"?this.fontSize+"px":this.fontSize,e=this.fontFamily;Array.isArray(this.fontFamily)||(e=this.fontFamily.split(","));for(var r=e.length-1;r>=0;r--){var n=e[r].trim();!/([\"\'])[^\'\"]+\1/.test(n)&&iy.indexOf(n)<0&&(n='"'+n+'"'),e[r]=n}return this.fontStyle+" "+this.fontVariant+" "+this.fontWeight+" "+t+" "+e.join(",")},i}();function Ta(i){return typeof i=="number"?Oi(i):(typeof i=="string"&&i.indexOf("0x")===0&&(i=i.replace("0x","#")),i)}function Nn(i){if(Array.isArray(i)){for(var t=0;t<i.length;++t)i[t]=Ta(i[t]);return i}else return Ta(i)}function ry(i,t){if(!Array.isArray(i)||!Array.isArray(t)||i.length!==t.length)return!1;for(var e=0;e<i.length;++e)if(i[e]!==t[e])return!1;return!0}function Fn(i,t,e){for(var r in e)Array.isArray(t[r])?i[r]=t[r].slice():i[r]=t[r]}var or={willReadFrequently:!0},Wt=function(){function i(t,e,r,n,s,o,a,h,l){this.text=t,this.style=e,this.width=r,this.height=n,this.lines=s,this.lineWidths=o,this.lineHeight=a,this.maxLineWidth=h,this.fontProperties=l}return i.measureText=function(t,e,r,n){n===void 0&&(n=i._canvas),r=r??e.wordWrap;var s=e.toFontString(),o=i.measureFont(s);o.fontSize===0&&(o.fontSize=e.fontSize,o.ascent=e.fontSize);var a=n.getContext("2d",or);a.font=s;for(var h=r?i.wordWrap(t,e,n):t,l=h.split(/(?:\r\n|\r|\n)/),u=new Array(l.length),f=0,p=0;p<l.length;p++){var d=a.measureText(l[p]).width+(l[p].length-1)*e.letterSpacing;u[p]=d,f=Math.max(f,d)}var v=f+e.strokeThickness;e.dropShadow&&(v+=e.dropShadowDistance);var m=e.lineHeight||o.fontSize+e.strokeThickness,y=Math.max(m,o.fontSize+e.strokeThickness)+(l.length-1)*(m+e.leading);return e.dropShadow&&(y+=e.dropShadowDistance),new i(t,e,v,y,l,u,m+e.leading,f,o)},i.wordWrap=function(t,e,r){r===void 0&&(r=i._canvas);for(var n=r.getContext("2d",or),s=0,o="",a="",h=Object.create(null),l=e.letterSpacing,u=e.whiteSpace,f=i.collapseSpaces(u),p=i.collapseNewlines(u),d=!f,v=e.wordWrapWidth+l,m=i.tokenize(t),y=0;y<m.length;y++){var g=m[y];if(i.isNewline(g)){if(!p){a+=i.addLine(o),d=!f,o="",s=0;continue}g=" "}if(f){var w=i.isBreakingSpace(g),_=i.isBreakingSpace(o[o.length-1]);if(w&&_)continue}var b=i.getFromCache(g,l,h,n);if(b>v)if(o!==""&&(a+=i.addLine(o),o="",s=0),i.canBreakWords(g,e.breakWords))for(var x=i.wordWrapSplit(g),P=0;P<x.length;P++){for(var I=x[P],N=1;x[P+N];){var C=x[P+N],E=I[I.length-1];if(!i.canBreakChars(E,C,g,P,e.breakWords))I+=C;else break;N++}P+=I.length-1;var F=i.getFromCache(I,l,h,n);F+s>v&&(a+=i.addLine(o),d=!1,o="",s=0),o+=I,s+=F}else{o.length>0&&(a+=i.addLine(o),o="",s=0);var O=y===m.length-1;a+=i.addLine(g,!O),d=!1,o="",s=0}else b+s>v&&(d=!1,a+=i.addLine(o),o="",s=0),(o.length>0||!i.isBreakingSpace(g)||d)&&(o+=g,s+=b)}return a+=i.addLine(o,!1),a},i.addLine=function(t,e){return e===void 0&&(e=!0),t=i.trimRight(t),t=e?t+`
|
|
637
|
+
`:t,t},i.getFromCache=function(t,e,r,n){var s=r[t];if(typeof s!="number"){var o=t.length*e;s=n.measureText(t).width+o,r[t]=s}return s},i.collapseSpaces=function(t){return t==="normal"||t==="pre-line"},i.collapseNewlines=function(t){return t==="normal"},i.trimRight=function(t){if(typeof t!="string")return"";for(var e=t.length-1;e>=0;e--){var r=t[e];if(!i.isBreakingSpace(r))break;t=t.slice(0,-1)}return t},i.isNewline=function(t){return typeof t!="string"?!1:i._newlines.indexOf(t.charCodeAt(0))>=0},i.isBreakingSpace=function(t,e){return typeof t!="string"?!1:i._breakingSpaces.indexOf(t.charCodeAt(0))>=0},i.tokenize=function(t){var e=[],r="";if(typeof t!="string")return e;for(var n=0;n<t.length;n++){var s=t[n],o=t[n+1];if(i.isBreakingSpace(s,o)||i.isNewline(s)){r!==""&&(e.push(r),r=""),e.push(s);continue}r+=s}return r!==""&&e.push(r),e},i.canBreakWords=function(t,e){return e},i.canBreakChars=function(t,e,r,n,s){return!0},i.wordWrapSplit=function(t){return t.split("")},i.measureFont=function(t){if(i._fonts[t])return i._fonts[t];var e={ascent:0,descent:0,fontSize:0},r=i._canvas,n=i._context;n.font=t;var s=i.METRICS_STRING+i.BASELINE_SYMBOL,o=Math.ceil(n.measureText(s).width),a=Math.ceil(n.measureText(i.BASELINE_SYMBOL).width),h=Math.ceil(i.HEIGHT_MULTIPLIER*a);a=a*i.BASELINE_MULTIPLIER|0,r.width=o,r.height=h,n.fillStyle="#f00",n.fillRect(0,0,o,h),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText(s,0,a);var l=n.getImageData(0,0,o,h).data,u=l.length,f=o*4,p=0,d=0,v=!1;for(p=0;p<a;++p){for(var m=0;m<f;m+=4)if(l[d+m]!==255){v=!0;break}if(!v)d+=f;else break}for(e.ascent=a-p,d=u-f,v=!1,p=h;p>a;--p){for(var m=0;m<f;m+=4)if(l[d+m]!==255){v=!0;break}if(!v)d-=f;else break}return e.descent=p-a,e.fontSize=e.ascent+e.descent,i._fonts[t]=e,e},i.clearMetrics=function(t){t===void 0&&(t=""),t?delete i._fonts[t]:i._fonts={}},Object.defineProperty(i,"_canvas",{get:function(){if(!i.__canvas){var t=void 0;try{var e=new OffscreenCanvas(0,0),r=e.getContext("2d",or);if(r&&r.measureText)return i.__canvas=e,e;t=M.ADAPTER.createCanvas()}catch{t=M.ADAPTER.createCanvas()}t.width=t.height=10,i.__canvas=t}return i.__canvas},enumerable:!1,configurable:!0}),Object.defineProperty(i,"_context",{get:function(){return i.__context||(i.__context=i._canvas.getContext("2d",or)),i.__context},enumerable:!1,configurable:!0}),i}();Wt._fonts={},Wt.METRICS_STRING="|\xC9q\xC5",Wt.BASELINE_SYMBOL="M",Wt.BASELINE_MULTIPLIER=1.4,Wt.HEIGHT_MULTIPLIER=2,Wt._newlines=[10,13],Wt._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];var ny={texture:!0,children:!1,baseTexture:!0},pi=function(i){ey(t,i);function t(e,r,n){var s=this,o=!1;n||(n=M.ADAPTER.createCanvas(),o=!0),n.width=3,n.height=3;var a=it.from(n);return a.orig=new U,a.trim=new U,s=i.call(this,a)||this,s._ownCanvas=o,s.canvas=n,s.context=n.getContext("2d",{willReadFrequently:!0}),s._resolution=M.RESOLUTION,s._autoResolution=!0,s._text=null,s._style=null,s._styleListener=null,s._font="",s.text=e,s.style=r,s.localStyleID=-1,s}return t.prototype.updateText=function(e){var r=this._style;if(this.localStyleID!==r.styleID&&(this.dirty=!0,this.localStyleID=r.styleID),!(!this.dirty&&e)){this._font=this._style.toFontString();var n=this.context,s=Wt.measureText(this._text||" ",this._style,this._style.wordWrap,this.canvas),o=s.width,a=s.height,h=s.lines,l=s.lineHeight,u=s.lineWidths,f=s.maxLineWidth,p=s.fontProperties;this.canvas.width=Math.ceil(Math.ceil(Math.max(1,o)+r.padding*2)*this._resolution),this.canvas.height=Math.ceil(Math.ceil(Math.max(1,a)+r.padding*2)*this._resolution),n.scale(this._resolution,this._resolution),n.clearRect(0,0,this.canvas.width,this.canvas.height),n.font=this._font,n.lineWidth=r.strokeThickness,n.textBaseline=r.textBaseline,n.lineJoin=r.lineJoin,n.miterLimit=r.miterLimit;for(var d,v,m=r.dropShadow?2:1,y=0;y<m;++y){var g=r.dropShadow&&y===0,w=g?Math.ceil(Math.max(1,a)+r.padding*2):0,_=w*this._resolution;if(g){n.fillStyle="black",n.strokeStyle="black";var b=r.dropShadowColor,x=Le(typeof b=="number"?b:Me(b)),P=r.dropShadowBlur*this._resolution,I=r.dropShadowDistance*this._resolution;n.shadowColor="rgba("+x[0]*255+","+x[1]*255+","+x[2]*255+","+r.dropShadowAlpha+")",n.shadowBlur=P,n.shadowOffsetX=Math.cos(r.dropShadowAngle)*I,n.shadowOffsetY=Math.sin(r.dropShadowAngle)*I+_}else n.fillStyle=this._generateFillStyle(r,h,s),n.strokeStyle=r.stroke,n.shadowColor="black",n.shadowBlur=0,n.shadowOffsetX=0,n.shadowOffsetY=0;var N=(l-p.fontSize)/2;(!t.nextLineHeightBehavior||l-p.fontSize<0)&&(N=0);for(var C=0;C<h.length;C++)d=r.strokeThickness/2,v=r.strokeThickness/2+C*l+p.ascent+N,r.align==="right"?d+=f-u[C]:r.align==="center"&&(d+=(f-u[C])/2),r.stroke&&r.strokeThickness&&this.drawLetterSpacing(h[C],d+r.padding,v+r.padding-w,!0),r.fill&&this.drawLetterSpacing(h[C],d+r.padding,v+r.padding-w)}this.updateTexture()}},t.prototype.drawLetterSpacing=function(e,r,n,s){s===void 0&&(s=!1);var o=this._style,a=o.letterSpacing,h=t.experimentalLetterSpacing&&("letterSpacing"in CanvasRenderingContext2D.prototype||"textLetterSpacing"in CanvasRenderingContext2D.prototype);if(a===0||h){h&&(this.context.letterSpacing=a,this.context.textLetterSpacing=a),s?this.context.strokeText(e,r,n):this.context.fillText(e,r,n);return}for(var l=r,u=Array.from?Array.from(e):e.split(""),f=this.context.measureText(e).width,p=0,d=0;d<u.length;++d){var v=u[d];s?this.context.strokeText(v,l,n):this.context.fillText(v,l,n);for(var m="",y=d+1;y<u.length;++y)m+=u[y];p=this.context.measureText(m).width,l+=f-p+a,f=p}},t.prototype.updateTexture=function(){var e=this.canvas;if(this._style.trim){var r=lc(e);r.data&&(e.width=r.width,e.height=r.height,this.context.putImageData(r.data,0,0))}var n=this._texture,s=this._style,o=s.trim?0:s.padding,a=n.baseTexture;n.trim.width=n._frame.width=e.width/this._resolution,n.trim.height=n._frame.height=e.height/this._resolution,n.trim.x=-o,n.trim.y=-o,n.orig.width=n._frame.width-o*2,n.orig.height=n._frame.height-o*2,this._onTextureUpdate(),a.setRealSize(e.width,e.height,this._resolution),n.updateUvs(),this.dirty=!1},t.prototype._render=function(e){this._autoResolution&&this._resolution!==e.resolution&&(this._resolution=e.resolution,this.dirty=!0),this.updateText(!0),i.prototype._render.call(this,e)},t.prototype.updateTransform=function(){this.updateText(!0),i.prototype.updateTransform.call(this)},t.prototype.getBounds=function(e,r){return this.updateText(!0),this._textureID===-1&&(e=!1),i.prototype.getBounds.call(this,e,r)},t.prototype.getLocalBounds=function(e){return this.updateText(!0),i.prototype.getLocalBounds.call(this,e)},t.prototype._calculateBounds=function(){this.calculateVertices(),this._bounds.addQuad(this.vertexData)},t.prototype._generateFillStyle=function(e,r,n){var s=e.fill;if(Array.isArray(s)){if(s.length===1)return s[0]}else return s;var o,a=e.dropShadow?e.dropShadowDistance:0,h=e.padding||0,l=this.canvas.width/this._resolution-a-h*2,u=this.canvas.height/this._resolution-a-h*2,f=s.slice(),p=e.fillGradientStops.slice();if(!p.length)for(var d=f.length+1,v=1;v<d;++v)p.push(v/d);if(f.unshift(s[0]),p.unshift(0),f.push(s[s.length-1]),p.push(1),e.fillGradientType===sr.LINEAR_VERTICAL){o=this.context.createLinearGradient(l/2,h,l/2,u+h);for(var m=n.fontProperties.fontSize+e.strokeThickness,v=0;v<r.length;v++){var y=n.lineHeight*(v-1)+m,g=n.lineHeight*v,w=g;v>0&&y>g&&(w=(g+y)/2);var _=g+m,b=n.lineHeight*(v+1),x=_;v+1<r.length&&b<_&&(x=(_+b)/2);for(var P=(x-w)/u,I=0;I<f.length;I++){var N=0;typeof p[I]=="number"?N=p[I]:N=I/f.length;var C=Math.min(1,Math.max(0,w/u+N*P));C=Number(C.toFixed(5)),o.addColorStop(C,f[I])}}}else{o=this.context.createLinearGradient(h,u/2,l+h,u/2);for(var E=f.length+1,F=1,v=0;v<f.length;v++){var O=void 0;typeof p[v]=="number"?O=p[v]:O=F/E,o.addColorStop(O,f[v]),F++}}return o},t.prototype.destroy=function(e){typeof e=="boolean"&&(e={children:e}),e=Object.assign({},ny,e),i.prototype.destroy.call(this,e),this._ownCanvas&&(this.canvas.height=this.canvas.width=0),this.context=null,this.canvas=null,this._style=null},Object.defineProperty(t.prototype,"width",{get:function(){return this.updateText(!0),Math.abs(this.scale.x)*this._texture.orig.width},set:function(e){this.updateText(!0);var r=Ne(this.scale.x)||1;this.scale.x=r*e/this._texture.orig.width,this._width=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this.updateText(!0),Math.abs(this.scale.y)*this._texture.orig.height},set:function(e){this.updateText(!0);var r=Ne(this.scale.y)||1;this.scale.y=r*e/this._texture.orig.height,this._height=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"style",{get:function(){return this._style},set:function(e){e=e||{},e instanceof Ge?this._style=e:this._style=new Ge(e),this.localStyleID=-1,this.dirty=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"text",{get:function(){return this._text},set:function(e){e=String(e??""),this._text!==e&&(this._text=e,this.dirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"resolution",{get:function(){return this._resolution},set:function(e){this._autoResolution=!1,this._resolution!==e&&(this._resolution=e,this.dirty=!0)},enumerable:!1,configurable:!0}),t.nextLineHeightBehavior=!1,t.experimentalLetterSpacing=!1,t}(Ot);/*!
|
|
638
|
+
* @pixi/filter-color-matrix - v6.5.9
|
|
639
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
640
|
+
*
|
|
641
|
+
* @pixi/filter-color-matrix is licensed under the MIT License.
|
|
642
|
+
* http://www.opensource.org/licenses/mit-license
|
|
643
|
+
*//*! *****************************************************************************
|
|
644
|
+
Copyright (c) Microsoft Corporation.
|
|
645
|
+
|
|
646
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
647
|
+
purpose with or without fee is hereby granted.
|
|
648
|
+
|
|
649
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
650
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
651
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
652
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
653
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
654
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
655
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
656
|
+
***************************************************************************** */var Rn=function(i,t){return Rn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])},Rn(i,t)};function sy(i,t){Rn(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var oy=`varying vec2 vTextureCoord;
|
|
657
|
+
uniform sampler2D uSampler;
|
|
658
|
+
uniform float m[20];
|
|
659
|
+
uniform float uAlpha;
|
|
660
|
+
|
|
661
|
+
void main(void)
|
|
662
|
+
{
|
|
663
|
+
vec4 c = texture2D(uSampler, vTextureCoord);
|
|
664
|
+
|
|
665
|
+
if (uAlpha == 0.0) {
|
|
666
|
+
gl_FragColor = c;
|
|
667
|
+
return;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
// Un-premultiply alpha before applying the color matrix. See issue #3539.
|
|
671
|
+
if (c.a > 0.0) {
|
|
672
|
+
c.rgb /= c.a;
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
vec4 result;
|
|
676
|
+
|
|
677
|
+
result.r = (m[0] * c.r);
|
|
678
|
+
result.r += (m[1] * c.g);
|
|
679
|
+
result.r += (m[2] * c.b);
|
|
680
|
+
result.r += (m[3] * c.a);
|
|
681
|
+
result.r += m[4];
|
|
682
|
+
|
|
683
|
+
result.g = (m[5] * c.r);
|
|
684
|
+
result.g += (m[6] * c.g);
|
|
685
|
+
result.g += (m[7] * c.b);
|
|
686
|
+
result.g += (m[8] * c.a);
|
|
687
|
+
result.g += m[9];
|
|
688
|
+
|
|
689
|
+
result.b = (m[10] * c.r);
|
|
690
|
+
result.b += (m[11] * c.g);
|
|
691
|
+
result.b += (m[12] * c.b);
|
|
692
|
+
result.b += (m[13] * c.a);
|
|
693
|
+
result.b += m[14];
|
|
694
|
+
|
|
695
|
+
result.a = (m[15] * c.r);
|
|
696
|
+
result.a += (m[16] * c.g);
|
|
697
|
+
result.a += (m[17] * c.b);
|
|
698
|
+
result.a += (m[18] * c.a);
|
|
699
|
+
result.a += m[19];
|
|
700
|
+
|
|
701
|
+
vec3 rgb = mix(c.rgb, result.rgb, uAlpha);
|
|
702
|
+
|
|
703
|
+
// Premultiply alpha again.
|
|
704
|
+
rgb *= result.a;
|
|
705
|
+
|
|
706
|
+
gl_FragColor = vec4(rgb, result.a);
|
|
707
|
+
}
|
|
708
|
+
`,ar=function(i){sy(t,i);function t(){var e=this,r={m:new Float32Array([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]),uAlpha:1};return e=i.call(this,Bv,oy,r)||this,e.alpha=1,e}return t.prototype._loadMatrix=function(e,r){r===void 0&&(r=!1);var n=e;r&&(this._multiply(n,this.uniforms.m,e),n=this._colorMatrix(n)),this.uniforms.m=n},t.prototype._multiply=function(e,r,n){return e[0]=r[0]*n[0]+r[1]*n[5]+r[2]*n[10]+r[3]*n[15],e[1]=r[0]*n[1]+r[1]*n[6]+r[2]*n[11]+r[3]*n[16],e[2]=r[0]*n[2]+r[1]*n[7]+r[2]*n[12]+r[3]*n[17],e[3]=r[0]*n[3]+r[1]*n[8]+r[2]*n[13]+r[3]*n[18],e[4]=r[0]*n[4]+r[1]*n[9]+r[2]*n[14]+r[3]*n[19]+r[4],e[5]=r[5]*n[0]+r[6]*n[5]+r[7]*n[10]+r[8]*n[15],e[6]=r[5]*n[1]+r[6]*n[6]+r[7]*n[11]+r[8]*n[16],e[7]=r[5]*n[2]+r[6]*n[7]+r[7]*n[12]+r[8]*n[17],e[8]=r[5]*n[3]+r[6]*n[8]+r[7]*n[13]+r[8]*n[18],e[9]=r[5]*n[4]+r[6]*n[9]+r[7]*n[14]+r[8]*n[19]+r[9],e[10]=r[10]*n[0]+r[11]*n[5]+r[12]*n[10]+r[13]*n[15],e[11]=r[10]*n[1]+r[11]*n[6]+r[12]*n[11]+r[13]*n[16],e[12]=r[10]*n[2]+r[11]*n[7]+r[12]*n[12]+r[13]*n[17],e[13]=r[10]*n[3]+r[11]*n[8]+r[12]*n[13]+r[13]*n[18],e[14]=r[10]*n[4]+r[11]*n[9]+r[12]*n[14]+r[13]*n[19]+r[14],e[15]=r[15]*n[0]+r[16]*n[5]+r[17]*n[10]+r[18]*n[15],e[16]=r[15]*n[1]+r[16]*n[6]+r[17]*n[11]+r[18]*n[16],e[17]=r[15]*n[2]+r[16]*n[7]+r[17]*n[12]+r[18]*n[17],e[18]=r[15]*n[3]+r[16]*n[8]+r[17]*n[13]+r[18]*n[18],e[19]=r[15]*n[4]+r[16]*n[9]+r[17]*n[14]+r[18]*n[19]+r[19],e},t.prototype._colorMatrix=function(e){var r=new Float32Array(e);return r[4]/=255,r[9]/=255,r[14]/=255,r[19]/=255,r},t.prototype.brightness=function(e,r){var n=[e,0,0,0,0,0,e,0,0,0,0,0,e,0,0,0,0,0,1,0];this._loadMatrix(n,r)},t.prototype.tint=function(e,r){var n=e>>16&255,s=e>>8&255,o=e&255,a=[n/255,0,0,0,0,0,s/255,0,0,0,0,0,o/255,0,0,0,0,0,1,0];this._loadMatrix(a,r)},t.prototype.greyscale=function(e,r){var n=[e,e,e,0,0,e,e,e,0,0,e,e,e,0,0,0,0,0,1,0];this._loadMatrix(n,r)},t.prototype.blackAndWhite=function(e){var r=[.3,.6,.1,0,0,.3,.6,.1,0,0,.3,.6,.1,0,0,0,0,0,1,0];this._loadMatrix(r,e)},t.prototype.hue=function(e,r){e=(e||0)/180*Math.PI;var n=Math.cos(e),s=Math.sin(e),o=Math.sqrt,a=1/3,h=o(a),l=n+(1-n)*a,u=a*(1-n)-h*s,f=a*(1-n)+h*s,p=a*(1-n)+h*s,d=n+a*(1-n),v=a*(1-n)-h*s,m=a*(1-n)-h*s,y=a*(1-n)+h*s,g=n+a*(1-n),w=[l,u,f,0,0,p,d,v,0,0,m,y,g,0,0,0,0,0,1,0];this._loadMatrix(w,r)},t.prototype.contrast=function(e,r){var n=(e||0)+1,s=-.5*(n-1),o=[n,0,0,0,s,0,n,0,0,s,0,0,n,0,s,0,0,0,1,0];this._loadMatrix(o,r)},t.prototype.saturate=function(e,r){e===void 0&&(e=0);var n=e*2/3+1,s=(n-1)*-.5,o=[n,s,s,0,0,s,n,s,0,0,s,s,n,0,0,0,0,0,1,0];this._loadMatrix(o,r)},t.prototype.desaturate=function(){this.saturate(-1)},t.prototype.negative=function(e){var r=[-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,0];this._loadMatrix(r,e)},t.prototype.sepia=function(e){var r=[.393,.7689999,.18899999,0,0,.349,.6859999,.16799999,0,0,.272,.5339999,.13099999,0,0,0,0,0,1,0];this._loadMatrix(r,e)},t.prototype.technicolor=function(e){var r=[1.9125277891456083,-.8545344976951645,-.09155508482755585,0,11.793603434377337,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-70.35205161461398,-.231103377548616,-.7501899197440212,1.847597816108189,0,30.950940869491138,0,0,0,1,0];this._loadMatrix(r,e)},t.prototype.polaroid=function(e){var r=[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0];this._loadMatrix(r,e)},t.prototype.toBGR=function(e){var r=[0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0];this._loadMatrix(r,e)},t.prototype.kodachrome=function(e){var r=[1.1285582396593525,-.3967382283601348,-.03992559172921793,0,63.72958762196502,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,24.732407896706203,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,35.62982807460946,0,0,0,1,0];this._loadMatrix(r,e)},t.prototype.browni=function(e){var r=[.5997023498159715,.34553243048391263,-.2708298674538042,0,47.43192855600873,-.037703249837783157,.8609577587992641,.15059552388459913,0,-36.96841498319127,.24113635128153335,-.07441037908422492,.44972182064877153,0,-7.562075277591283,0,0,0,1,0];this._loadMatrix(r,e)},t.prototype.vintage=function(e){var r=[.6279345635605994,.3202183420819367,-.03965408211312453,0,9.651285835294123,.02578397704808868,.6441188644374771,.03259127616149294,0,7.462829176470591,.0466055556782719,-.0851232987247891,.5241648018700465,0,5.159190588235296,0,0,0,1,0];this._loadMatrix(r,e)},t.prototype.colorTone=function(e,r,n,s,o){e=e||.2,r=r||.15,n=n||16770432,s=s||3375104;var a=(n>>16&255)/255,h=(n>>8&255)/255,l=(n&255)/255,u=(s>>16&255)/255,f=(s>>8&255)/255,p=(s&255)/255,d=[.3,.59,.11,0,0,a,h,l,e,0,u,f,p,r,0,a-u,h-f,l-p,0,0];this._loadMatrix(d,o)},t.prototype.night=function(e,r){e=e||.1;var n=[e*-2,-e,0,0,0,-e,0,e,0,0,0,e,e*2,0,0,0,0,0,1,0];this._loadMatrix(n,r)},t.prototype.predator=function(e,r){var n=[11.224130630493164*e,-4.794486999511719*e,-2.8746118545532227*e,0*e,.40342438220977783*e,-3.6330697536468506*e,9.193157196044922*e,-2.951810836791992*e,0*e,-1.316135048866272*e,-3.2184197902679443*e,-4.2375030517578125*e,7.476448059082031*e,0*e,.8044459223747253*e,0,0,0,1,0];this._loadMatrix(n,r)},t.prototype.lsd=function(e){var r=[2,-.4,.5,0,0,-.5,2,-.4,0,0,-.4,-.5,3,0,0,0,0,0,1,0];this._loadMatrix(r,e)},t.prototype.reset=function(){var e=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0];this._loadMatrix(e,!1)},Object.defineProperty(t.prototype,"matrix",{get:function(){return this.uniforms.m},set:function(e){this.uniforms.m=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"alpha",{get:function(){return this.uniforms.uAlpha},set:function(e){this.uniforms.uAlpha=e},enumerable:!1,configurable:!0}),t}(ra);ar.prototype.grayscale=ar.prototype.greyscale;var Ca={exports:{}};(function(i,t){(function(){var e,r;r=function(n){return i.exports=n},e={linear:function(n,s,o,a){return o*n/a+s},easeInQuad:function(n,s,o,a){return o*(n/=a)*n+s},easeOutQuad:function(n,s,o,a){return-o*(n/=a)*(n-2)+s},easeInOutQuad:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n+s:-o/2*(--n*(n-2)-1)+s},easeInCubic:function(n,s,o,a){return o*(n/=a)*n*n+s},easeOutCubic:function(n,s,o,a){return o*((n=n/a-1)*n*n+1)+s},easeInOutCubic:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n*n+s:o/2*((n-=2)*n*n+2)+s},easeInQuart:function(n,s,o,a){return o*(n/=a)*n*n*n+s},easeOutQuart:function(n,s,o,a){return-o*((n=n/a-1)*n*n*n-1)+s},easeInOutQuart:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n*n*n+s:-o/2*((n-=2)*n*n*n-2)+s},easeInQuint:function(n,s,o,a){return o*(n/=a)*n*n*n*n+s},easeOutQuint:function(n,s,o,a){return o*((n=n/a-1)*n*n*n*n+1)+s},easeInOutQuint:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n*n*n*n+s:o/2*((n-=2)*n*n*n*n+2)+s},easeInSine:function(n,s,o,a){return-o*Math.cos(n/a*(Math.PI/2))+o+s},easeOutSine:function(n,s,o,a){return o*Math.sin(n/a*(Math.PI/2))+s},easeInOutSine:function(n,s,o,a){return-o/2*(Math.cos(Math.PI*n/a)-1)+s},easeInExpo:function(n,s,o,a){return n===0?s:o*Math.pow(2,10*(n/a-1))+s},easeOutExpo:function(n,s,o,a){return n===a?s+o:o*(-Math.pow(2,-10*n/a)+1)+s},easeInOutExpo:function(n,s,o,a){return(n/=a/2)<1?o/2*Math.pow(2,10*(n-1))+s:o/2*(-Math.pow(2,-10*--n)+2)+s},easeInCirc:function(n,s,o,a){return-o*(Math.sqrt(1-(n/=a)*n)-1)+s},easeOutCirc:function(n,s,o,a){return o*Math.sqrt(1-(n=n/a-1)*n)+s},easeInOutCirc:function(n,s,o,a){return(n/=a/2)<1?-o/2*(Math.sqrt(1-n*n)-1)+s:o/2*(Math.sqrt(1-(n-=2)*n)+1)+s},easeInElastic:function(n,s,o,a){var h,l,u;return u=1.70158,l=0,h=o,n===0||(n/=a),l||(l=a*.3),h<Math.abs(o)?(h=o,u=l/4):u=l/(2*Math.PI)*Math.asin(o/h),-(h*Math.pow(2,10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/l))+s},easeOutElastic:function(n,s,o,a){var h,l,u;return u=1.70158,l=0,h=o,n===0||(n/=a),l||(l=a*.3),h<Math.abs(o)?(h=o,u=l/4):u=l/(2*Math.PI)*Math.asin(o/h),h*Math.pow(2,-10*n)*Math.sin((n*a-u)*(2*Math.PI)/l)+o+s},easeInOutElastic:function(n,s,o,a){var h,l,u;return u=1.70158,l=0,h=o,n===0||(n/=a/2),l||(l=a*(.3*1.5)),h<Math.abs(o)?(h=o,u=l/4):u=l/(2*Math.PI)*Math.asin(o/h),n<1?-.5*(h*Math.pow(2,10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/l))+s:h*Math.pow(2,-10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/l)*.5+o+s},easeInBack:function(n,s,o,a,h){return h===void 0&&(h=1.70158),o*(n/=a)*n*((h+1)*n-h)+s},easeOutBack:function(n,s,o,a,h){return h===void 0&&(h=1.70158),o*((n=n/a-1)*n*((h+1)*n+h)+1)+s},easeInOutBack:function(n,s,o,a,h){return h===void 0&&(h=1.70158),(n/=a/2)<1?o/2*(n*n*(((h*=1.525)+1)*n-h))+s:o/2*((n-=2)*n*(((h*=1.525)+1)*n+h)+2)+s},easeInBounce:function(n,s,o,a){var h;return h=e.easeOutBounce(a-n,0,o,a),o-h+s},easeOutBounce:function(n,s,o,a){return(n/=a)<1/2.75?o*(7.5625*n*n)+s:n<2/2.75?o*(7.5625*(n-=1.5/2.75)*n+.75)+s:n<2.5/2.75?o*(7.5625*(n-=2.25/2.75)*n+.9375)+s:o*(7.5625*(n-=2.625/2.75)*n+.984375)+s},easeInOutBounce:function(n,s,o,a){var h;return n<a/2?(h=e.easeInBounce(n*2,0,o,a),h*.5+s):(h=e.easeOutBounce(n*2-a,0,o,a),h*.5+o*.5+s)}},r(e)}).call(Ph)})(Ca);var ay=Ca.exports,hy=Ie(ay);/*!
|
|
709
|
+
* @pixi/canvas-display - v6.5.9
|
|
710
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
711
|
+
*
|
|
712
|
+
* @pixi/canvas-display is licensed under the MIT License.
|
|
713
|
+
* http://www.opensource.org/licenses/mit-license
|
|
714
|
+
*/ct.prototype._renderCanvas=function(t){},ct.prototype.renderCanvas=function(t){if(!(!this.visible||this.worldAlpha<=0||!this.renderable)){this._mask&&t.maskManager.pushMask(this._mask),this._renderCanvas(t);for(var e=0,r=this.children.length;e<r;++e)this.children[e].renderCanvas(t);this._mask&&t.maskManager.popMask(t)}},Yt.prototype.renderCanvas=function(t){};/*!
|
|
715
|
+
* @pixi/canvas-text - v6.5.9
|
|
716
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
717
|
+
*
|
|
718
|
+
* @pixi/canvas-text is licensed under the MIT License.
|
|
719
|
+
* http://www.opensource.org/licenses/mit-license
|
|
720
|
+
*/pi.prototype._renderCanvas=function(t){this._autoResolution&&this._resolution!==t.resolution&&(this._resolution=t.resolution,this.dirty=!0),this.updateText(!0),Ot.prototype._renderCanvas.call(this,t)};/*!
|
|
721
|
+
* @pixi/mixin-get-child-by-name - v6.5.9
|
|
722
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
723
|
+
*
|
|
724
|
+
* @pixi/mixin-get-child-by-name is licensed under the MIT License.
|
|
725
|
+
* http://www.opensource.org/licenses/mit-license
|
|
726
|
+
*/Yt.prototype.name=null,ct.prototype.getChildByName=function(t,e){for(var r=0,n=this.children.length;r<n;r++)if(this.children[r].name===t)return this.children[r];if(e)for(var r=0,n=this.children.length;r<n;r++){var s=this.children[r];if(s.getChildByName){var o=s.getChildByName(t,!0);if(o)return o}}return null};/*!
|
|
727
|
+
* @pixi/unsafe-eval - v6.5.9
|
|
728
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
729
|
+
*
|
|
730
|
+
* @pixi/unsafe-eval is licensed under the MIT License.
|
|
731
|
+
* http://www.opensource.org/licenses/mit-license
|
|
732
|
+
*/var ly={float:function(i,t,e,r){e!==r&&(e.v=r,i.uniform1f(t,r))},vec2:function(i,t,e,r){(e[0]!==r[0]||e[1]!==r[1])&&(e[0]=r[0],e[1]=r[1],i.uniform2f(t,r[0],r[1]))},vec3:function(i,t,e,r){(e[0]!==r[0]||e[1]!==r[1]||e[2]!==r[2])&&(e[0]=r[0],e[1]=r[1],e[2]=r[2],i.uniform3f(t,r[0],r[1],r[2]))},int:function(i,t,e,r){i.uniform1i(t,r)},ivec2:function(i,t,e,r){i.uniform2i(t,r[0],r[1])},ivec3:function(i,t,e,r){i.uniform3i(t,r[0],r[1],r[2])},ivec4:function(i,t,e,r){i.uniform4i(t,r[0],r[1],r[2],r[3])},uint:function(i,t,e,r){i.uniform1ui(t,r)},uvec2:function(i,t,e,r){i.uniform2ui(t,r[0],r[1])},uvec3:function(i,t,e,r){i.uniform3ui(t,r[0],r[1],r[2])},uvec4:function(i,t,e,r){i.uniform4ui(t,r[0],r[1],r[2],r[3])},bool:function(i,t,e,r){e!==r&&(e.v=r,i.uniform1i(t,Number(r)))},bvec2:function(i,t,e,r){i.uniform2i(t,r[0],r[1])},bvec3:function(i,t,e,r){i.uniform3i(t,r[0],r[1],r[2])},bvec4:function(i,t,e,r){i.uniform4i(t,r[0],r[1],r[2],r[3])},mat2:function(i,t,e,r){i.uniformMatrix2fv(t,!1,r)},mat3:function(i,t,e,r){i.uniformMatrix3fv(t,!1,r)},mat4:function(i,t,e,r){i.uniformMatrix4fv(t,!1,r)},sampler2D:function(i,t,e,r){i.uniform1i(t,r)},samplerCube:function(i,t,e,r){i.uniform1i(t,r)},sampler2DArray:function(i,t,e,r){i.uniform1i(t,r)}},uy={float:function(i,t,e,r){i.uniform1fv(t,r)},vec2:function(i,t,e,r){i.uniform2fv(t,r)},vec3:function(i,t,e,r){i.uniform3fv(t,r)},vec4:function(i,t,e,r){i.uniform4fv(t,r)},int:function(i,t,e,r){i.uniform1iv(t,r)},ivec2:function(i,t,e,r){i.uniform2iv(t,r)},ivec3:function(i,t,e,r){i.uniform3iv(t,r)},ivec4:function(i,t,e,r){i.uniform4iv(t,r)},uint:function(i,t,e,r){i.uniform1uiv(t,r)},uvec2:function(i,t,e,r){i.uniform2uiv(t,r)},uvec3:function(i,t,e,r){i.uniform3uiv(t,r)},uvec4:function(i,t,e,r){i.uniform4uiv(t,r)},bool:function(i,t,e,r){i.uniform1iv(t,r)},bvec2:function(i,t,e,r){i.uniform2iv(t,r)},bvec3:function(i,t,e,r){i.uniform3iv(t,r)},bvec4:function(i,t,e,r){i.uniform4iv(t,r)},sampler2D:function(i,t,e,r){i.uniform1iv(t,r)},samplerCube:function(i,t,e,r){i.uniform1iv(t,r)},sampler2DArray:function(i,t,e,r){i.uniform1iv(t,r)}};function fy(i,t,e,r,n){var s=0,o=null,a=null,h=n.gl;for(var l in i.uniforms){var u=t[l],f=r[l],p=e[l],d=i.uniforms[l];if(!u){d.group&&n.shader.syncUniformGroup(f);continue}if(u.type==="float"&&u.size===1)f!==p.value&&(p.value=f,h.uniform1f(p.location,f));else if((u.type==="sampler2D"||u.type==="samplerCube"||u.type==="sampler2DArray")&&u.size===1&&!u.isArray)n.texture.bind(f,s),p.value!==s&&(p.value=s,h.uniform1i(p.location,s)),s++;else if(u.type==="mat3"&&u.size===1)d.a!==void 0?h.uniformMatrix3fv(p.location,!1,f.toArray(!0)):h.uniformMatrix3fv(p.location,!1,f);else if(u.type==="vec2"&&u.size===1)d.x!==void 0?(a=p.value,o=f,(a[0]!==o.x||a[1]!==o.y)&&(a[0]=o.x,a[1]=o.y,h.uniform2f(p.location,o.x,o.y))):(a=p.value,o=f,(a[0]!==o[0]||a[1]!==o[1])&&(a[0]=o[0],a[1]=o[1],h.uniform2f(p.location,o[0],o[1])));else if(u.type==="vec4"&&u.size===1)d.width!==void 0?(a=p.value,o=f,(a[0]!==o.x||a[1]!==o.y||a[2]!==o.width||a[3]!==o.height)&&(a[0]=o.x,a[1]=o.y,a[2]=o.width,a[3]=o.height,h.uniform4f(p.location,o.x,o.y,o.width,o.height))):(a=p.value,o=f,(a[0]!==o[0]||a[1]!==o[1]||a[2]!==o[2]||a[3]!==o[3])&&(a[0]=o[0],a[1]=o[1],a[2]=o[2],a[3]=o[3],h.uniform4f(p.location,o[0],o[1],o[2],o[3])));else{var v=u.size===1?ly:uy;v[u.type].call(null,h,p.location,p.value,f)}}}function cy(i){var t=i.ShaderSystem;if(!t)throw new Error("Unable to patch ShaderSystem, class not found.");Object.assign(t.prototype,{systemCheck:function(){},syncUniforms:function(e,r){var n=this,s=n.shader,o=n.renderer;fy(e,s.program.uniformData,r.uniformData,e.uniforms,o)}})}/*!
|
|
733
|
+
* @pixi/interaction - v6.5.9
|
|
734
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
735
|
+
*
|
|
736
|
+
* @pixi/interaction is licensed under the MIT License.
|
|
737
|
+
* http://www.opensource.org/licenses/mit-license
|
|
738
|
+
*/var Ia=function(){function i(){this.pressure=0,this.rotationAngle=0,this.twist=0,this.tangentialPressure=0,this.global=new B,this.target=null,this.originalEvent=null,this.identifier=null,this.isPrimary=!1,this.button=0,this.buttons=0,this.width=0,this.height=0,this.tiltX=0,this.tiltY=0,this.pointerType=null,this.pressure=0,this.rotationAngle=0,this.twist=0,this.tangentialPressure=0}return Object.defineProperty(i.prototype,"pointerId",{get:function(){return this.identifier},enumerable:!1,configurable:!0}),i.prototype.getLocalPosition=function(t,e,r){return t.worldTransform.applyInverse(r||this.global,e)},i.prototype.copyEvent=function(t){"isPrimary"in t&&t.isPrimary&&(this.isPrimary=!0),this.button="button"in t&&t.button;var e="buttons"in t&&t.buttons;this.buttons=Number.isInteger(e)?e:"which"in t&&t.which,this.width="width"in t&&t.width,this.height="height"in t&&t.height,this.tiltX="tiltX"in t&&t.tiltX,this.tiltY="tiltY"in t&&t.tiltY,this.pointerType="pointerType"in t&&t.pointerType,this.pressure="pressure"in t&&t.pressure,this.rotationAngle="rotationAngle"in t&&t.rotationAngle,this.twist="twist"in t&&t.twist||0,this.tangentialPressure="tangentialPressure"in t&&t.tangentialPressure||0},i.prototype.reset=function(){this.isPrimary=!1},i}();/*! *****************************************************************************
|
|
739
|
+
Copyright (c) Microsoft Corporation.
|
|
740
|
+
|
|
741
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
742
|
+
purpose with or without fee is hereby granted.
|
|
743
|
+
|
|
744
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
745
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
746
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
747
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
748
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
749
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
750
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
751
|
+
***************************************************************************** */var Dn=function(i,t){return Dn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])},Dn(i,t)};function py(i,t){Dn(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var dy=function(){function i(){this.stopped=!1,this.stopsPropagatingAt=null,this.stopPropagationHint=!1,this.target=null,this.currentTarget=null,this.type=null,this.data=null}return i.prototype.stopPropagation=function(){this.stopped=!0,this.stopPropagationHint=!0,this.stopsPropagatingAt=this.currentTarget},i.prototype.reset=function(){this.stopped=!1,this.stopsPropagatingAt=null,this.stopPropagationHint=!1,this.currentTarget=null,this.target=null},i}(),Bn=function(){function i(t){this._pointerId=t,this._flags=i.FLAGS.NONE}return i.prototype._doSet=function(t,e){e?this._flags=this._flags|t:this._flags=this._flags&~t},Object.defineProperty(i.prototype,"pointerId",{get:function(){return this._pointerId},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"flags",{get:function(){return this._flags},set:function(t){this._flags=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"none",{get:function(){return this._flags===i.FLAGS.NONE},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"over",{get:function(){return(this._flags&i.FLAGS.OVER)!==0},set:function(t){this._doSet(i.FLAGS.OVER,t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"rightDown",{get:function(){return(this._flags&i.FLAGS.RIGHT_DOWN)!==0},set:function(t){this._doSet(i.FLAGS.RIGHT_DOWN,t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"leftDown",{get:function(){return(this._flags&i.FLAGS.LEFT_DOWN)!==0},set:function(t){this._doSet(i.FLAGS.LEFT_DOWN,t)},enumerable:!1,configurable:!0}),i.FLAGS=Object.freeze({NONE:0,OVER:1,LEFT_DOWN:2,RIGHT_DOWN:4}),i}(),vy=function(){function i(){this._tempPoint=new B}return i.prototype.recursiveFindHit=function(t,e,r,n,s){var o;if(!e||!e.visible)return!1;var a=t.data.global;s=e.interactive||s;var h=!1,l=s,u=!0;if(e.hitArea)n&&(e.worldTransform.applyInverse(a,this._tempPoint),e.hitArea.contains(this._tempPoint.x,this._tempPoint.y)?h=!0:(n=!1,u=!1)),l=!1;else if(e._mask&&n){var f=e._mask.isMaskData?e._mask.maskObject:e._mask;f&&!(!((o=f.containsPoint)===null||o===void 0)&&o.call(f,a))&&(n=!1)}if(u&&e.interactiveChildren&&e.children)for(var p=e.children,d=p.length-1;d>=0;d--){var v=p[d],m=this.recursiveFindHit(t,v,r,n,l);if(m){if(!v.parent)continue;l=!1,m&&(t.target&&(n=!1),h=!0)}}return s&&(n&&!t.target&&!e.hitArea&&e.containsPoint&&e.containsPoint(a)&&(h=!0),e.interactive&&(h&&!t.target&&(t.target=e),r&&r(t,e,!!h))),h},i.prototype.findHit=function(t,e,r,n){this.recursiveFindHit(t,e,r,n,!1)},i}(),yy={interactive:!1,interactiveChildren:!0,hitArea:null,get buttonMode(){return this.cursor==="pointer"},set buttonMode(i){i?this.cursor="pointer":this.cursor==="pointer"&&(this.cursor=null)},cursor:null,get trackedPointers(){return this._trackedPointers===void 0&&(this._trackedPointers={}),this._trackedPointers},_trackedPointers:void 0};Yt.mixin(yy);var hr=1,lr={target:null,data:{global:null}},my=function(i){py(t,i);function t(e,r){var n=i.call(this)||this;return r=r||{},n.renderer=e,n.autoPreventDefault=r.autoPreventDefault!==void 0?r.autoPreventDefault:!0,n.interactionFrequency=r.interactionFrequency||10,n.mouse=new Ia,n.mouse.identifier=hr,n.mouse.global.set(-999999),n.activeInteractionData={},n.activeInteractionData[hr]=n.mouse,n.interactionDataPool=[],n.eventData=new dy,n.interactionDOMElement=null,n.moveWhenInside=!1,n.eventsAdded=!1,n.tickerAdded=!1,n.mouseOverRenderer=!("PointerEvent"in globalThis),n.supportsTouchEvents="ontouchstart"in globalThis,n.supportsPointerEvents=!!globalThis.PointerEvent,n.onPointerUp=n.onPointerUp.bind(n),n.processPointerUp=n.processPointerUp.bind(n),n.onPointerCancel=n.onPointerCancel.bind(n),n.processPointerCancel=n.processPointerCancel.bind(n),n.onPointerDown=n.onPointerDown.bind(n),n.processPointerDown=n.processPointerDown.bind(n),n.onPointerMove=n.onPointerMove.bind(n),n.processPointerMove=n.processPointerMove.bind(n),n.onPointerOut=n.onPointerOut.bind(n),n.processPointerOverOut=n.processPointerOverOut.bind(n),n.onPointerOver=n.onPointerOver.bind(n),n.cursorStyles={default:"inherit",pointer:"pointer"},n.currentCursorMode=null,n.cursor=null,n.resolution=1,n.delayedEvents=[],n.search=new vy,n._tempDisplayObject=new va,n._eventListenerOptions={capture:!0,passive:!1},n._useSystemTicker=r.useSystemTicker!==void 0?r.useSystemTicker:!0,n.setTargetElement(n.renderer.view,n.renderer.resolution),n}return Object.defineProperty(t.prototype,"useSystemTicker",{get:function(){return this._useSystemTicker},set:function(e){this._useSystemTicker=e,e?this.addTickerListener():this.removeTickerListener()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"lastObjectRendered",{get:function(){return this.renderer._lastObjectRendered||this._tempDisplayObject},enumerable:!1,configurable:!0}),t.prototype.hitTest=function(e,r){return lr.target=null,lr.data.global=e,r||(r=this.lastObjectRendered),this.processInteractive(lr,r,null,!0),lr.target},t.prototype.setTargetElement=function(e,r){r===void 0&&(r=1),this.removeTickerListener(),this.removeEvents(),this.interactionDOMElement=e,this.resolution=r,this.addEvents(),this.addTickerListener()},t.prototype.addTickerListener=function(){this.tickerAdded||!this.interactionDOMElement||!this._useSystemTicker||(ft.system.add(this.tickerUpdate,this,Qt.INTERACTION),this.tickerAdded=!0)},t.prototype.removeTickerListener=function(){this.tickerAdded&&(ft.system.remove(this.tickerUpdate,this),this.tickerAdded=!1)},t.prototype.addEvents=function(){if(!(this.eventsAdded||!this.interactionDOMElement)){var e=this.interactionDOMElement.style;globalThis.navigator.msPointerEnabled?(e.msContentZooming="none",e.msTouchAction="none"):this.supportsPointerEvents&&(e.touchAction="none"),this.supportsPointerEvents?(globalThis.document.addEventListener("pointermove",this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.addEventListener("pointerdown",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.addEventListener("pointerleave",this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.addEventListener("pointerover",this.onPointerOver,this._eventListenerOptions),globalThis.addEventListener("pointercancel",this.onPointerCancel,this._eventListenerOptions),globalThis.addEventListener("pointerup",this.onPointerUp,this._eventListenerOptions)):(globalThis.document.addEventListener("mousemove",this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.addEventListener("mousedown",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.addEventListener("mouseout",this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.addEventListener("mouseover",this.onPointerOver,this._eventListenerOptions),globalThis.addEventListener("mouseup",this.onPointerUp,this._eventListenerOptions)),this.supportsTouchEvents&&(this.interactionDOMElement.addEventListener("touchstart",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.addEventListener("touchcancel",this.onPointerCancel,this._eventListenerOptions),this.interactionDOMElement.addEventListener("touchend",this.onPointerUp,this._eventListenerOptions),this.interactionDOMElement.addEventListener("touchmove",this.onPointerMove,this._eventListenerOptions)),this.eventsAdded=!0}},t.prototype.removeEvents=function(){if(!(!this.eventsAdded||!this.interactionDOMElement)){var e=this.interactionDOMElement.style;globalThis.navigator.msPointerEnabled?(e.msContentZooming="",e.msTouchAction=""):this.supportsPointerEvents&&(e.touchAction=""),this.supportsPointerEvents?(globalThis.document.removeEventListener("pointermove",this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("pointerdown",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("pointerleave",this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("pointerover",this.onPointerOver,this._eventListenerOptions),globalThis.removeEventListener("pointercancel",this.onPointerCancel,this._eventListenerOptions),globalThis.removeEventListener("pointerup",this.onPointerUp,this._eventListenerOptions)):(globalThis.document.removeEventListener("mousemove",this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("mousedown",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("mouseout",this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("mouseover",this.onPointerOver,this._eventListenerOptions),globalThis.removeEventListener("mouseup",this.onPointerUp,this._eventListenerOptions)),this.supportsTouchEvents&&(this.interactionDOMElement.removeEventListener("touchstart",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("touchcancel",this.onPointerCancel,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("touchend",this.onPointerUp,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("touchmove",this.onPointerMove,this._eventListenerOptions)),this.interactionDOMElement=null,this.eventsAdded=!1}},t.prototype.tickerUpdate=function(e){this._deltaTime+=e,!(this._deltaTime<this.interactionFrequency)&&(this._deltaTime=0,this.update())},t.prototype.update=function(){if(this.interactionDOMElement){if(this._didMove){this._didMove=!1;return}this.cursor=null;for(var e in this.activeInteractionData)if(this.activeInteractionData.hasOwnProperty(e)){var r=this.activeInteractionData[e];if(r.originalEvent&&r.pointerType!=="touch"){var n=this.configureInteractionEventForDOMEvent(this.eventData,r.originalEvent,r);this.processInteractive(n,this.lastObjectRendered,this.processPointerOverOut,!0)}}this.setCursorMode(this.cursor)}},t.prototype.setCursorMode=function(e){e=e||"default";var r=!0;if(globalThis.OffscreenCanvas&&this.interactionDOMElement instanceof OffscreenCanvas&&(r=!1),this.currentCursorMode!==e){this.currentCursorMode=e;var n=this.cursorStyles[e];if(n)switch(typeof n){case"string":r&&(this.interactionDOMElement.style.cursor=n);break;case"function":n(e);break;case"object":r&&Object.assign(this.interactionDOMElement.style,n);break}else r&&typeof e=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,e)&&(this.interactionDOMElement.style.cursor=e)}},t.prototype.dispatchEvent=function(e,r,n){(!n.stopPropagationHint||e===n.stopsPropagatingAt)&&(n.currentTarget=e,n.type=r,e.emit(r,n),e[r]&&e[r](n))},t.prototype.delayDispatchEvent=function(e,r,n){this.delayedEvents.push({displayObject:e,eventString:r,eventData:n})},t.prototype.mapPositionToPoint=function(e,r,n){var s;this.interactionDOMElement.parentElement?s=this.interactionDOMElement.getBoundingClientRect():s={x:0,y:0,width:this.interactionDOMElement.width,height:this.interactionDOMElement.height,left:0,top:0};var o=1/this.resolution;e.x=(r-s.left)*(this.interactionDOMElement.width/s.width)*o,e.y=(n-s.top)*(this.interactionDOMElement.height/s.height)*o},t.prototype.processInteractive=function(e,r,n,s){var o=this.search.findHit(e,r,n,s),a=this.delayedEvents;if(!a.length)return o;e.stopPropagationHint=!1;var h=a.length;this.delayedEvents=[];for(var l=0;l<h;l++){var u=a[l],f=u.displayObject,p=u.eventString,d=u.eventData;d.stopsPropagatingAt===f&&(d.stopPropagationHint=!0),this.dispatchEvent(f,p,d)}return o},t.prototype.onPointerDown=function(e){if(!(this.supportsTouchEvents&&e.pointerType==="touch")){var r=this.normalizeToPointerData(e);if(this.autoPreventDefault&&r[0].isNormalized){var n=e.cancelable||!("cancelable"in e);n&&e.preventDefault()}for(var s=r.length,o=0;o<s;o++){var a=r[o],h=this.getInteractionDataForPointerId(a),l=this.configureInteractionEventForDOMEvent(this.eventData,a,h);if(l.data.originalEvent=e,this.processInteractive(l,this.lastObjectRendered,this.processPointerDown,!0),this.emit("pointerdown",l),a.pointerType==="touch")this.emit("touchstart",l);else if(a.pointerType==="mouse"||a.pointerType==="pen"){var u=a.button===2;this.emit(u?"rightdown":"mousedown",this.eventData)}}}},t.prototype.processPointerDown=function(e,r,n){var s=e.data,o=e.data.identifier;if(n){if(r.trackedPointers[o]||(r.trackedPointers[o]=new Bn(o)),this.dispatchEvent(r,"pointerdown",e),s.pointerType==="touch")this.dispatchEvent(r,"touchstart",e);else if(s.pointerType==="mouse"||s.pointerType==="pen"){var a=s.button===2;a?r.trackedPointers[o].rightDown=!0:r.trackedPointers[o].leftDown=!0,this.dispatchEvent(r,a?"rightdown":"mousedown",e)}}},t.prototype.onPointerComplete=function(e,r,n){var s=this.normalizeToPointerData(e),o=s.length,a=e.target;e.composedPath&&e.composedPath().length>0&&(a=e.composedPath()[0]);for(var h=a!==this.interactionDOMElement?"outside":"",l=0;l<o;l++){var u=s[l],f=this.getInteractionDataForPointerId(u),p=this.configureInteractionEventForDOMEvent(this.eventData,u,f);if(p.data.originalEvent=e,this.processInteractive(p,this.lastObjectRendered,n,r||!h),this.emit(r?"pointercancel":"pointerup"+h,p),u.pointerType==="mouse"||u.pointerType==="pen"){var d=u.button===2;this.emit(d?"rightup"+h:"mouseup"+h,p)}else u.pointerType==="touch"&&(this.emit(r?"touchcancel":"touchend"+h,p),this.releaseInteractionDataForPointerId(u.pointerId))}},t.prototype.onPointerCancel=function(e){this.supportsTouchEvents&&e.pointerType==="touch"||this.onPointerComplete(e,!0,this.processPointerCancel)},t.prototype.processPointerCancel=function(e,r){var n=e.data,s=e.data.identifier;r.trackedPointers[s]!==void 0&&(delete r.trackedPointers[s],this.dispatchEvent(r,"pointercancel",e),n.pointerType==="touch"&&this.dispatchEvent(r,"touchcancel",e))},t.prototype.onPointerUp=function(e){this.supportsTouchEvents&&e.pointerType==="touch"||this.onPointerComplete(e,!1,this.processPointerUp)},t.prototype.processPointerUp=function(e,r,n){var s=e.data,o=e.data.identifier,a=r.trackedPointers[o],h=s.pointerType==="touch",l=s.pointerType==="mouse"||s.pointerType==="pen",u=!1;if(l){var f=s.button===2,p=Bn.FLAGS,d=f?p.RIGHT_DOWN:p.LEFT_DOWN,v=a!==void 0&&a.flags&d;n?(this.dispatchEvent(r,f?"rightup":"mouseup",e),v&&(this.dispatchEvent(r,f?"rightclick":"click",e),u=!0)):v&&this.dispatchEvent(r,f?"rightupoutside":"mouseupoutside",e),a&&(f?a.rightDown=!1:a.leftDown=!1)}n?(this.dispatchEvent(r,"pointerup",e),h&&this.dispatchEvent(r,"touchend",e),a&&((!l||u)&&this.dispatchEvent(r,"pointertap",e),h&&(this.dispatchEvent(r,"tap",e),a.over=!1))):a&&(this.dispatchEvent(r,"pointerupoutside",e),h&&this.dispatchEvent(r,"touchendoutside",e)),a&&a.none&&delete r.trackedPointers[o]},t.prototype.onPointerMove=function(e){if(!(this.supportsTouchEvents&&e.pointerType==="touch")){var r=this.normalizeToPointerData(e);(r[0].pointerType==="mouse"||r[0].pointerType==="pen")&&(this._didMove=!0,this.cursor=null);for(var n=r.length,s=0;s<n;s++){var o=r[s],a=this.getInteractionDataForPointerId(o),h=this.configureInteractionEventForDOMEvent(this.eventData,o,a);h.data.originalEvent=e,this.processInteractive(h,this.lastObjectRendered,this.processPointerMove,!0),this.emit("pointermove",h),o.pointerType==="touch"&&this.emit("touchmove",h),(o.pointerType==="mouse"||o.pointerType==="pen")&&this.emit("mousemove",h)}r[0].pointerType==="mouse"&&this.setCursorMode(this.cursor)}},t.prototype.processPointerMove=function(e,r,n){var s=e.data,o=s.pointerType==="touch",a=s.pointerType==="mouse"||s.pointerType==="pen";a&&this.processPointerOverOut(e,r,n),(!this.moveWhenInside||n)&&(this.dispatchEvent(r,"pointermove",e),o&&this.dispatchEvent(r,"touchmove",e),a&&this.dispatchEvent(r,"mousemove",e))},t.prototype.onPointerOut=function(e){if(!(this.supportsTouchEvents&&e.pointerType==="touch")){var r=this.normalizeToPointerData(e),n=r[0];n.pointerType==="mouse"&&(this.mouseOverRenderer=!1,this.setCursorMode(null));var s=this.getInteractionDataForPointerId(n),o=this.configureInteractionEventForDOMEvent(this.eventData,n,s);o.data.originalEvent=n,this.processInteractive(o,this.lastObjectRendered,this.processPointerOverOut,!1),this.emit("pointerout",o),n.pointerType==="mouse"||n.pointerType==="pen"?this.emit("mouseout",o):this.releaseInteractionDataForPointerId(s.identifier)}},t.prototype.processPointerOverOut=function(e,r,n){var s=e.data,o=e.data.identifier,a=s.pointerType==="mouse"||s.pointerType==="pen",h=r.trackedPointers[o];n&&!h&&(h=r.trackedPointers[o]=new Bn(o)),h!==void 0&&(n&&this.mouseOverRenderer?(h.over||(h.over=!0,this.delayDispatchEvent(r,"pointerover",e),a&&this.delayDispatchEvent(r,"mouseover",e)),a&&this.cursor===null&&(this.cursor=r.cursor)):h.over&&(h.over=!1,this.dispatchEvent(r,"pointerout",this.eventData),a&&this.dispatchEvent(r,"mouseout",e),h.none&&delete r.trackedPointers[o]))},t.prototype.onPointerOver=function(e){if(!(this.supportsTouchEvents&&e.pointerType==="touch")){var r=this.normalizeToPointerData(e),n=r[0],s=this.getInteractionDataForPointerId(n),o=this.configureInteractionEventForDOMEvent(this.eventData,n,s);o.data.originalEvent=n,n.pointerType==="mouse"&&(this.mouseOverRenderer=!0),this.emit("pointerover",o),(n.pointerType==="mouse"||n.pointerType==="pen")&&this.emit("mouseover",o)}},t.prototype.getInteractionDataForPointerId=function(e){var r=e.pointerId,n;return r===hr||e.pointerType==="mouse"?n=this.mouse:this.activeInteractionData[r]?n=this.activeInteractionData[r]:(n=this.interactionDataPool.pop()||new Ia,n.identifier=r,this.activeInteractionData[r]=n),n.copyEvent(e),n},t.prototype.releaseInteractionDataForPointerId=function(e){var r=this.activeInteractionData[e];r&&(delete this.activeInteractionData[e],r.reset(),this.interactionDataPool.push(r))},t.prototype.configureInteractionEventForDOMEvent=function(e,r,n){return e.data=n,this.mapPositionToPoint(n.global,r.clientX,r.clientY),r.pointerType==="touch"&&(r.globalX=n.global.x,r.globalY=n.global.y),n.originalEvent=r,e.reset(),e},t.prototype.normalizeToPointerData=function(e){var r=[];if(this.supportsTouchEvents&&e instanceof TouchEvent)for(var n=0,s=e.changedTouches.length;n<s;n++){var o=e.changedTouches[n];typeof o.button>"u"&&(o.button=e.touches.length?1:0),typeof o.buttons>"u"&&(o.buttons=e.touches.length?1:0),typeof o.isPrimary>"u"&&(o.isPrimary=e.touches.length===1&&e.type==="touchstart"),typeof o.width>"u"&&(o.width=o.radiusX||1),typeof o.height>"u"&&(o.height=o.radiusY||1),typeof o.tiltX>"u"&&(o.tiltX=0),typeof o.tiltY>"u"&&(o.tiltY=0),typeof o.pointerType>"u"&&(o.pointerType="touch"),typeof o.pointerId>"u"&&(o.pointerId=o.identifier||0),typeof o.pressure>"u"&&(o.pressure=o.force||.5),typeof o.twist>"u"&&(o.twist=0),typeof o.tangentialPressure>"u"&&(o.tangentialPressure=0),typeof o.layerX>"u"&&(o.layerX=o.offsetX=o.clientX),typeof o.layerY>"u"&&(o.layerY=o.offsetY=o.clientY),o.isNormalized=!0,r.push(o)}else if(!globalThis.MouseEvent||e instanceof MouseEvent&&(!this.supportsPointerEvents||!(e instanceof globalThis.PointerEvent))){var a=e;typeof a.isPrimary>"u"&&(a.isPrimary=!0),typeof a.width>"u"&&(a.width=1),typeof a.height>"u"&&(a.height=1),typeof a.tiltX>"u"&&(a.tiltX=0),typeof a.tiltY>"u"&&(a.tiltY=0),typeof a.pointerType>"u"&&(a.pointerType="mouse"),typeof a.pointerId>"u"&&(a.pointerId=hr),typeof a.pressure>"u"&&(a.pressure=.5),typeof a.twist>"u"&&(a.twist=0),typeof a.tangentialPressure>"u"&&(a.tangentialPressure=0),a.isNormalized=!0,r.push(a)}else r.push(e);return r},t.prototype.destroy=function(){this.removeEvents(),this.removeTickerListener(),this.removeAllListeners(),this.renderer=null,this.mouse=null,this.eventData=null,this.interactionDOMElement=null,this.onPointerDown=null,this.processPointerDown=null,this.onPointerUp=null,this.processPointerUp=null,this.onPointerCancel=null,this.processPointerCancel=null,this.onPointerMove=null,this.processPointerMove=null,this.onPointerOut=null,this.processPointerOverOut=null,this.onPointerOver=null,this.search=null},t.extension={name:"interaction",type:[ut.RendererPlugin,ut.CanvasRendererPlugin]},t}(Ee);/*!
|
|
752
|
+
* @pixi/canvas-renderer - v6.5.9
|
|
753
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
754
|
+
*
|
|
755
|
+
* @pixi/canvas-renderer is licensed under the MIT License.
|
|
756
|
+
* http://www.opensource.org/licenses/mit-license
|
|
757
|
+
*//*! *****************************************************************************
|
|
758
|
+
Copyright (c) Microsoft Corporation.
|
|
759
|
+
|
|
760
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
761
|
+
purpose with or without fee is hereby granted.
|
|
762
|
+
|
|
763
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
764
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
765
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
766
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
767
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
768
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
769
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
770
|
+
***************************************************************************** */var kn=function(i,t){return kn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])},kn(i,t)};function gy(i,t){kn(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var _y=function(){function i(t){this._foundShapes=[],this.renderer=t}return i.prototype.pushMask=function(t){var e=this.renderer,r=t.maskObject||t;e.context.save();var n=this._foundShapes;if(this.recursiveFindShapes(r,n),n.length>0){var s=e.context;s.beginPath();for(var o=0;o<n.length;o++){var a=n[o],h=a.transform.worldTransform;this.renderer.setContextTransform(h),this.renderGraphicsShape(a)}n.length=0,s.clip()}},i.prototype.recursiveFindShapes=function(t,e){t.geometry&&t.geometry.graphicsData&&e.push(t);var r=t.children;if(r)for(var n=0;n<r.length;n++)this.recursiveFindShapes(r[n],e)},i.prototype.renderGraphicsShape=function(t){t.finishPoly();var e=this.renderer.context,r=t.geometry.graphicsData,n=r.length;if(n!==0)for(var s=0;s<n;s++){var o=r[s],a=o.shape;if(a.type===H.POLY){var h=a.points,l=o.holes,u=void 0,f=void 0,p=void 0,d=void 0;e.moveTo(h[0],h[1]);for(var v=1;v<h.length/2;v++)e.lineTo(h[v*2],h[v*2+1]);if(l.length>0){u=0,p=h[0],d=h[1];for(var v=2;v+2<h.length;v+=2)u+=(h[v]-p)*(h[v+3]-d)-(h[v+2]-p)*(h[v+1]-d);for(var m=0;m<l.length;m++)if(h=l[m].shape.points,!!h){f=0,p=h[0],d=h[1];for(var v=2;v+2<h.length;v+=2)f+=(h[v]-p)*(h[v+3]-d)-(h[v+2]-p)*(h[v+1]-d);if(f*u<0){e.moveTo(h[0],h[1]);for(var v=2;v<h.length;v+=2)e.lineTo(h[v],h[v+1])}else{e.moveTo(h[h.length-2],h[h.length-1]);for(var v=h.length-4;v>=0;v-=2)e.lineTo(h[v],h[v+1])}l[m].shape.closeStroke&&e.closePath()}}h[0]===h[h.length-2]&&h[1]===h[h.length-1]&&e.closePath()}else if(a.type===H.RECT)e.rect(a.x,a.y,a.width,a.height),e.closePath();else if(a.type===H.CIRC)e.arc(a.x,a.y,a.radius,0,2*Math.PI),e.closePath();else if(a.type===H.ELIP){var y=a.width*2,g=a.height*2,w=a.x-y/2,_=a.y-g/2,b=.5522848,x=y/2*b,P=g/2*b,I=w+y,N=_+g,C=w+y/2,E=_+g/2;e.moveTo(w,E),e.bezierCurveTo(w,E-P,C-x,_,C,_),e.bezierCurveTo(C+x,_,I,E-P,I,E),e.bezierCurveTo(I,E+P,C+x,N,C,N),e.bezierCurveTo(C-x,N,w,E+P,w,E),e.closePath()}else if(a.type===H.RREC){var F=a.x,O=a.y,R=a.width,W=a.height,S=a.radius,A=Math.min(R,W)/2;S=S>A?A:S,e.moveTo(F,O+S),e.lineTo(F,O+W-S),e.quadraticCurveTo(F,O+W,F+S,O+W),e.lineTo(F+R-S,O+W),e.quadraticCurveTo(F+R,O+W,F+R,O+W-S),e.lineTo(F+R,O+S),e.quadraticCurveTo(F+R,O,F+R-S,O),e.lineTo(F+S,O),e.quadraticCurveTo(F,O,F,O+S),e.closePath()}}},i.prototype.popMask=function(t){t.context.restore(),t.invalidateBlendMode()},i.prototype.destroy=function(){},i}();function Ea(i){var t=M.ADAPTER.createCanvas(6,1),e=t.getContext("2d");return e.fillStyle=i,e.fillRect(0,0,6,1),t}function Sa(){if(typeof document>"u")return!1;var i=Ea("#ff00ff"),t=Ea("#ffff00"),e=M.ADAPTER.createCanvas(6,1),r=e.getContext("2d");r.globalCompositeOperation="multiply",r.drawImage(i,0,0),r.drawImage(t,2,0);var n=r.getImageData(2,0,1,1);if(!n)return!1;var s=n.data;return s[0]===255&&s[1]===0&&s[2]===0}function xy(i){return i===void 0&&(i=[]),Sa()?(i[T.NORMAL]="source-over",i[T.ADD]="lighter",i[T.MULTIPLY]="multiply",i[T.SCREEN]="screen",i[T.OVERLAY]="overlay",i[T.DARKEN]="darken",i[T.LIGHTEN]="lighten",i[T.COLOR_DODGE]="color-dodge",i[T.COLOR_BURN]="color-burn",i[T.HARD_LIGHT]="hard-light",i[T.SOFT_LIGHT]="soft-light",i[T.DIFFERENCE]="difference",i[T.EXCLUSION]="exclusion",i[T.HUE]="hue",i[T.SATURATION]="saturation",i[T.COLOR]="color",i[T.LUMINOSITY]="luminosity"):(i[T.NORMAL]="source-over",i[T.ADD]="lighter",i[T.MULTIPLY]="source-over",i[T.SCREEN]="source-over",i[T.OVERLAY]="source-over",i[T.DARKEN]="source-over",i[T.LIGHTEN]="source-over",i[T.COLOR_DODGE]="source-over",i[T.COLOR_BURN]="source-over",i[T.HARD_LIGHT]="source-over",i[T.SOFT_LIGHT]="source-over",i[T.DIFFERENCE]="source-over",i[T.EXCLUSION]="source-over",i[T.HUE]="source-over",i[T.SATURATION]="source-over",i[T.COLOR]="source-over",i[T.LUMINOSITY]="source-over"),i[T.NORMAL_NPM]=i[T.NORMAL],i[T.ADD_NPM]=i[T.ADD],i[T.SCREEN_NPM]=i[T.SCREEN],i[T.SRC_IN]="source-in",i[T.SRC_OUT]="source-out",i[T.SRC_ATOP]="source-atop",i[T.DST_OVER]="destination-over",i[T.DST_IN]="destination-in",i[T.DST_OUT]="destination-out",i[T.DST_ATOP]="destination-atop",i[T.XOR]="xor",i[T.SUBTRACT]="source-over",i}var wy=new tt,ur=function(i){gy(t,i);function t(e){var r=i.call(this,be.CANVAS,e)||this;if(r.refresh=!0,r.maskManager=new _y(r),r.smoothProperty="imageSmoothingEnabled",r.blendModes=xy(),r.renderingToScreen=!1,r._activeBlendMode=null,r._projTransform=null,r._outerBlend=!1,r.rootContext=r.view.getContext("2d",{alpha:r.useContextAlpha}),r.context=r.rootContext,!r.rootContext.imageSmoothingEnabled){var n=r.rootContext;n.webkitImageSmoothingEnabled?r.smoothProperty="webkitImageSmoothingEnabled":n.mozImageSmoothingEnabled?r.smoothProperty="mozImageSmoothingEnabled":n.oImageSmoothingEnabled?r.smoothProperty="oImageSmoothingEnabled":n.msImageSmoothingEnabled&&(r.smoothProperty="msImageSmoothingEnabled")}return r.initPlugins(t.__plugins),Ms("Canvas"),r.resize(r.options.width,r.options.height),r}return t.prototype.addSystem=function(){return this},t.prototype.render=function(e,r){if(this.view){var n,s,o,a;r&&(r instanceof At||r instanceof Vi?(kt("6.0.0","CanvasRenderer#render arguments changed, use options instead."),n=r,s=arguments[2],o=arguments[3],a=arguments[4]):(n=r.renderTexture,s=r.clear,o=r.transform,a=r.skipUpdateTransform)),this.renderingToScreen=!n,this.emit("prerender");var h=this.resolution;n?(n=n.castToBaseTexture(),n._canvasRenderTarget||(n._canvasRenderTarget=new Xs(n.width,n.height,n.resolution),n.resource=new Go(n._canvasRenderTarget.canvas),n.valid=!0),this.context=n._canvasRenderTarget.context,this.resolution=n._canvasRenderTarget.resolution):this.context=this.rootContext;var l=this.context;if(this._projTransform=o||null,n||(this._lastObjectRendered=e),!a){var u=e.enableTempParent();e.updateTransform(),e.disableTempParent(u)}if(l.save(),l.setTransform(1,0,0,1,0,0),l.globalAlpha=1,this._activeBlendMode=T.NORMAL,this._outerBlend=!1,l.globalCompositeOperation=this.blendModes[T.NORMAL],s!==void 0?s:this.clearBeforeRender)if(this.renderingToScreen)l.clearRect(0,0,this.width,this.height),this.backgroundAlpha>0&&(l.globalAlpha=this.useContextAlpha?this.backgroundAlpha:1,l.fillStyle=this._backgroundColorString,l.fillRect(0,0,this.width,this.height),l.globalAlpha=1);else{n=n,n._canvasRenderTarget.clear();var f=n.clearColor;f[3]>0&&(l.globalAlpha=this.useContextAlpha?f[3]:1,l.fillStyle=Oi(Li(f)),l.fillRect(0,0,n.realWidth,n.realHeight),l.globalAlpha=1)}var p=this.context;this.context=l,e.renderCanvas(this),this.context=p,l.restore(),this.resolution=h,this._projTransform=null,this.emit("postrender")}},t.prototype.setContextTransform=function(e,r,n){var s=e,o=this._projTransform,a=this.resolution;n=n||a,o&&(s=wy,s.copyFrom(e),s.prepend(o)),r?this.context.setTransform(s.a*n,s.b*n,s.c*n,s.d*n,s.tx*a|0,s.ty*a|0):this.context.setTransform(s.a*n,s.b*n,s.c*n,s.d*n,s.tx*a,s.ty*a)},t.prototype.clear=function(e,r){e===void 0&&(e=this._backgroundColorString),r===void 0&&(r=this.backgroundAlpha);var n=this.context;n.clearRect(0,0,this.width,this.height),e&&(n.globalAlpha=this.useContextAlpha?r:1,n.fillStyle=e,n.fillRect(0,0,this.width,this.height),n.globalAlpha=1)},t.prototype.setBlendMode=function(e,r){var n=e===T.SRC_IN||e===T.SRC_OUT||e===T.DST_IN||e===T.DST_ATOP;!r&&n&&(e=T.NORMAL),this._activeBlendMode!==e&&(this._activeBlendMode=e,this._outerBlend=n,this.context.globalCompositeOperation=this.blendModes[e])},t.prototype.destroy=function(e){i.prototype.destroy.call(this,e),this.context=null,this.refresh=!0,this.maskManager.destroy(),this.maskManager=null,this.smoothProperty=null},t.prototype.resize=function(e,r){i.prototype.resize.call(this,e,r),this.smoothProperty&&(this.rootContext[this.smoothProperty]=M.SCALE_MODE===lt.LINEAR)},t.prototype.invalidateBlendMode=function(){this._activeBlendMode=this.blendModes.indexOf(this.context.globalCompositeOperation)},t.registerPlugin=function(e,r){kt("6.5.0","CanvasRenderer.registerPlugin() has been deprecated, please use extensions.add() instead."),St.add({name:e,type:ut.CanvasRendererPlugin,ref:r})},t.__plugins={},t}(ua);St.handleByMap(ut.CanvasRendererPlugin,ur.__plugins);var pt={canvas:null,getTintedCanvas:function(i,t){var e=i.texture;t=pt.roundColor(t);var r="#"+("00000"+(t|0).toString(16)).slice(-6);e.tintCache=e.tintCache||{};var n=e.tintCache[r],s;if(n){if(n.tintId===e._updateID)return e.tintCache[r];s=e.tintCache[r]}else s=M.ADAPTER.createCanvas();return pt.tintMethod(e,t,s),s.tintId=e._updateID,e.tintCache[r]=s,s},getTintedPattern:function(i,t){t=pt.roundColor(t);var e="#"+("00000"+(t|0).toString(16)).slice(-6);i.patternCache=i.patternCache||{};var r=i.patternCache[e];return r&&r.tintId===i._updateID||(pt.canvas||(pt.canvas=M.ADAPTER.createCanvas()),pt.tintMethod(i,t,pt.canvas),r=pt.canvas.getContext("2d").createPattern(pt.canvas,"repeat"),r.tintId=i._updateID,i.patternCache[e]=r),r},tintWithMultiply:function(i,t,e){var r=e.getContext("2d"),n=i._frame.clone(),s=i.baseTexture.resolution;n.x*=s,n.y*=s,n.width*=s,n.height*=s,e.width=Math.ceil(n.width),e.height=Math.ceil(n.height),r.save(),r.fillStyle="#"+("00000"+(t|0).toString(16)).slice(-6),r.fillRect(0,0,n.width,n.height),r.globalCompositeOperation="multiply";var o=i.baseTexture.getDrawableSource();r.drawImage(o,n.x,n.y,n.width,n.height,0,0,n.width,n.height),r.globalCompositeOperation="destination-atop",r.drawImage(o,n.x,n.y,n.width,n.height,0,0,n.width,n.height),r.restore()},tintWithOverlay:function(i,t,e){var r=e.getContext("2d"),n=i._frame.clone(),s=i.baseTexture.resolution;n.x*=s,n.y*=s,n.width*=s,n.height*=s,e.width=Math.ceil(n.width),e.height=Math.ceil(n.height),r.save(),r.globalCompositeOperation="copy",r.fillStyle="#"+("00000"+(t|0).toString(16)).slice(-6),r.fillRect(0,0,n.width,n.height),r.globalCompositeOperation="destination-atop",r.drawImage(i.baseTexture.getDrawableSource(),n.x,n.y,n.width,n.height,0,0,n.width,n.height),r.restore()},tintWithPerPixel:function(i,t,e){var r=e.getContext("2d"),n=i._frame.clone(),s=i.baseTexture.resolution;n.x*=s,n.y*=s,n.width*=s,n.height*=s,e.width=Math.ceil(n.width),e.height=Math.ceil(n.height),r.save(),r.globalCompositeOperation="copy",r.drawImage(i.baseTexture.getDrawableSource(),n.x,n.y,n.width,n.height,0,0,n.width,n.height),r.restore();for(var o=Le(t),a=o[0],h=o[1],l=o[2],u=r.getImageData(0,0,n.width,n.height),f=u.data,p=0;p<f.length;p+=4)f[p+0]*=a,f[p+1]*=h,f[p+2]*=l;r.putImageData(u,0,0)},roundColor:function(i){var t=pt.cacheStepsPerColorChannel,e=Le(i);return e[0]=Math.min(255,e[0]/t*t),e[1]=Math.min(255,e[1]/t*t),e[2]=Math.min(255,e[2]/t*t),Li(e)},cacheStepsPerColorChannel:8,convertTintToImage:!1,canUseMultiply:Sa(),tintMethod:null};pt.tintMethod=pt.canUseMultiply?pt.tintWithMultiply:pt.tintWithPerPixel;var Py=ke.create;ke.create=function(t){var e=t&&t.forceCanvas;if(!e)try{return Py(t)}catch{}return new ur(t)},$.prototype.getDrawableSource=function(){var t=this.resource;return t?t.bitmap||t.source:null},Vi.prototype._canvasRenderTarget=null,it.prototype.patternCache=null,it.prototype.tintCache=null;/*!
|
|
771
|
+
* @pixi/canvas-extract - v6.5.9
|
|
772
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
773
|
+
*
|
|
774
|
+
* @pixi/canvas-extract is licensed under the MIT License.
|
|
775
|
+
* http://www.opensource.org/licenses/mit-license
|
|
776
|
+
*/var Aa=new U,by=function(){function i(t){this.renderer=t}return i.prototype.image=function(t,e,r){var n=new Image;return n.src=this.base64(t,e,r),n},i.prototype.base64=function(t,e,r){return this.canvas(t).toDataURL(e,r)},i.prototype.canvas=function(t,e){var r=this.renderer,n,s,o;t&&(t instanceof At?o=t:o=r.generateTexture(t)),o?(n=o.baseTexture._canvasRenderTarget.context,s=o.baseTexture._canvasRenderTarget.resolution,e=e??o.frame):(n=r.rootContext,s=r.resolution,e||(e=Aa,e.width=r.width,e.height=r.height));var a=Math.round(e.x*s),h=Math.round(e.y*s),l=Math.round(e.width*s),u=Math.round(e.height*s),f=new Xs(l,u,1),p=n.getImageData(a,h,l,u);return f.context.putImageData(p,0,0),f.canvas},i.prototype.pixels=function(t,e){var r=this.renderer,n,s,o;t&&(t instanceof At?o=t:o=r.generateTexture(t)),o?(n=o.baseTexture._canvasRenderTarget.context,s=o.baseTexture._canvasRenderTarget.resolution,e=e??o.frame):(n=r.rootContext,s=r.resolution,e||(e=Aa,e.width=r.width,e.height=r.height));var a=Math.round(e.x*s),h=Math.round(e.y*s),l=Math.round(e.width*s),u=Math.round(e.height*s);return n.getImageData(a,h,l,u).data},i.prototype.destroy=function(){this.renderer=null},i.extension={name:"extract",type:ut.CanvasRendererPlugin},i}();/*!
|
|
777
|
+
* @pixi/canvas-graphics - v6.5.9
|
|
778
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
779
|
+
*
|
|
780
|
+
* @pixi/canvas-graphics is licensed under the MIT License.
|
|
781
|
+
* http://www.opensource.org/licenses/mit-license
|
|
782
|
+
*/var Oa=function(){function i(){}return i.offsetPolygon=function(t,e){var r=[],n=t.length;e=i.isPolygonClockwise(t)?e:-1*e;for(var s=0;s<n;s+=2){var o=s-2;o<0&&(o+=n);var a=(s+2)%n,h=t[s]-t[o],l=t[s+1]-t[o+1],u=Math.sqrt(h*h+l*l);h/=u,l/=u,h*=e,l*=e;var f=-l,p=h,d=[t[o]+f,t[o+1]+p],v=[t[s]+f,t[s+1]+p],m=t[a]-t[s],y=t[a+1]-t[s+1];u=Math.sqrt(m*m+y*y),m/=u,y/=u,m*=e,y*=e;var g=-y,w=m,_=[t[s]+g,t[s+1]+w],b=[t[a]+g,t[a+1]+w],x=i.findIntersection(d[0],d[1],v[0],v[1],_[0],_[1],b[0],b[1]);x&&r.push.apply(r,x)}return r},i.findIntersection=function(t,e,r,n,s,o,a,h){var l=(h-o)*(r-t)-(a-s)*(n-e),u=(a-s)*(e-o)-(h-o)*(t-s),f=(r-t)*(e-o)-(n-e)*(t-s);if(l===0)return u===0&&f===0?[(t+r)/2,(e+n)/2]:null;var p=u/l;return[t+p*(r-t),e+p*(n-e)]},i.isPolygonClockwise=function(t){for(var e=0,r=0,n=t.length-2;r<t.length;n=r,r+=2)e+=(t[r]-t[n])*(t[r+1]+t[n+1]);return e>0},i}(),Ty=function(){function i(t){this._svgMatrix=null,this._tempMatrix=new tt,this.renderer=t}return i.prototype._calcCanvasStyle=function(t,e){var r;return t.texture&&t.texture.baseTexture!==it.WHITE.baseTexture?t.texture.valid?(r=pt.getTintedPattern(t.texture,e),this.setPatternTransform(r,t.matrix||tt.IDENTITY)):r="#808080":r="#"+("00000"+(e|0).toString(16)).slice(-6),r},i.prototype.render=function(t){var e=this.renderer,r=e.context,n=t.worldAlpha,s=t.transform.worldTransform;e.setContextTransform(s),e.setBlendMode(t.blendMode);for(var o=t.geometry.graphicsData,a,h,l=(t.tint>>16&255)/255,u=(t.tint>>8&255)/255,f=(t.tint&255)/255,p=0;p<o.length;p++){var d=o[p],v=d.shape,m=d.fillStyle,y=d.lineStyle,g=d.fillStyle.color|0,w=d.lineStyle.color|0;if(d.matrix&&e.setContextTransform(s.copyTo(this._tempMatrix).append(d.matrix)),m.visible){var _=((g>>16&255)/255*l*255<<16)+((g>>8&255)/255*u*255<<8)+(g&255)/255*f*255;a=this._calcCanvasStyle(m,_)}if(y.visible){var b=((w>>16&255)/255*l*255<<16)+((w>>8&255)/255*u*255<<8)+(w&255)/255*f*255;h=this._calcCanvasStyle(y,b)}if(r.lineWidth=y.width,r.lineCap=y.cap,r.lineJoin=y.join,r.miterLimit=y.miterLimit,d.type===H.POLY){r.beginPath();var x=v,P=x.points,I=d.holes,N=void 0,C=void 0,E=void 0,F=void 0,O=void 0;r.moveTo(P[0],P[1]);for(var R=2;R<P.length;R+=2)r.lineTo(P[R],P[R+1]);if(x.closeStroke&&r.closePath(),I.length>0){O=[],N=0,E=P[0],F=P[1];for(var R=2;R+2<P.length;R+=2)N+=(P[R]-E)*(P[R+3]-F)-(P[R+2]-E)*(P[R+1]-F);for(var W=0;W<I.length;W++)if(P=I[W].shape.points,!!P){C=0,E=P[0],F=P[1];for(var R=2;R+2<P.length;R+=2)C+=(P[R]-E)*(P[R+3]-F)-(P[R+2]-E)*(P[R+1]-F);if(C*N<0){r.moveTo(P[0],P[1]);for(var R=2;R<P.length;R+=2)r.lineTo(P[R],P[R+1])}else{r.moveTo(P[P.length-2],P[P.length-1]);for(var R=P.length-4;R>=0;R-=2)r.lineTo(P[R],P[R+1])}I[W].shape.closeStroke&&r.closePath(),O[W]=C*N<0}}m.visible&&(r.globalAlpha=m.alpha*n,r.fillStyle=a,r.fill()),y.visible&&this.paintPolygonStroke(x,y,h,I,O,n,r)}else if(d.type===H.RECT){var x=v;if(m.visible&&(r.globalAlpha=m.alpha*n,r.fillStyle=a,r.fillRect(x.x,x.y,x.width,x.height)),y.visible){var S=y.width*(.5-(1-y.alignment)),A=x.width+2*S,D=x.height+2*S;r.globalAlpha=y.alpha*n,r.strokeStyle=h,r.strokeRect(x.x-S,x.y-S,A,D)}}else if(d.type===H.CIRC){var x=v;if(r.beginPath(),r.arc(x.x,x.y,x.radius,0,2*Math.PI),r.closePath(),m.visible&&(r.globalAlpha=m.alpha*n,r.fillStyle=a,r.fill()),y.visible){if(y.alignment!==.5){var S=y.width*(.5-(1-y.alignment));r.beginPath(),r.arc(x.x,x.y,x.radius+S,0,2*Math.PI),r.closePath()}r.globalAlpha=y.alpha*n,r.strokeStyle=h,r.stroke()}}else if(d.type===H.ELIP){var x=v,rt=y.alignment===1;if(rt||this.paintEllipse(x,m,y,a,n,r),y.visible){if(y.alignment!==.5){var Y=.5522848,S=y.width*(.5-(1-y.alignment)),dt=(x.width+S)*2,ot=(x.height+S)*2,Vt=x.x-dt/2,Mt=x.y-ot/2,Nt=dt/2*Y,we=ot/2*Y,Ye=Vt+dt,re=Mt+ot,bt=Vt+dt/2,Tt=Mt+ot/2;r.beginPath(),r.moveTo(Vt,Tt),r.bezierCurveTo(Vt,Tt-we,bt-Nt,Mt,bt,Mt),r.bezierCurveTo(bt+Nt,Mt,Ye,Tt-we,Ye,Tt),r.bezierCurveTo(Ye,Tt+we,bt+Nt,re,bt,re),r.bezierCurveTo(bt-Nt,re,Vt,Tt+we,Vt,Tt),r.closePath()}r.globalAlpha=y.alpha*n,r.strokeStyle=h,r.stroke()}rt&&this.paintEllipse(x,m,y,a,n,r)}else if(d.type===H.RREC){var x=v,rt=y.alignment===1;if(rt||this.paintRoundedRectangle(x,m,y,a,n,r),y.visible){if(y.alignment!==.5){var A=x.width,D=x.height,S=y.width*(.5-(1-y.alignment)),J=x.x-S,Q=x.y-S,at=x.width+2*S,ht=x.height+2*S,jn=S*(y.alignment>=1?Math.min(at/A,ht/D):Math.min(A/at,D/ht)),vt=x.radius+jn,xr=Math.min(at,ht)/2;vt=vt>xr?xr:vt,r.beginPath(),r.moveTo(J,Q+vt),r.lineTo(J,Q+ht-vt),r.quadraticCurveTo(J,Q+ht,J+vt,Q+ht),r.lineTo(J+at-vt,Q+ht),r.quadraticCurveTo(J+at,Q+ht,J+at,Q+ht-vt),r.lineTo(J+at,Q+vt),r.quadraticCurveTo(J+at,Q,J+at-vt,Q),r.lineTo(J+vt,Q),r.quadraticCurveTo(J,Q,J,Q+vt),r.closePath()}r.globalAlpha=y.alpha*n,r.strokeStyle=h,r.stroke()}rt&&this.paintRoundedRectangle(x,m,y,a,n,r)}}},i.prototype.paintPolygonStroke=function(t,e,r,n,s,o,a){if(e.alignment!==.5){var h=e.width*(.5-(1-e.alignment)),l=Oa.offsetPolygon(t.points,h),u=void 0;a.beginPath(),a.moveTo(l[0],l[1]);for(var f=2;f<l.length;f+=2)a.lineTo(l[f],l[f+1]);t.closeStroke&&a.closePath();for(var p=0;p<n.length;p++){if(u=n[p].shape.points,l=Oa.offsetPolygon(u,h),s[p]){a.moveTo(l[0],l[1]);for(var f=2;f<l.length;f+=2)a.lineTo(l[f],l[f+1])}else{a.moveTo(l[l.length-2],l[l.length-1]);for(var f=l.length-4;f>=0;f-=2)a.lineTo(l[f],l[f+1])}n[p].shape.closeStroke&&a.closePath()}}a.globalAlpha=e.alpha*o,a.strokeStyle=r,a.stroke()},i.prototype.paintEllipse=function(t,e,r,n,s,o){var a=t.width*2,h=t.height*2,l=t.x-a/2,u=t.y-h/2,f=.5522848,p=a/2*f,d=h/2*f,v=l+a,m=u+h,y=l+a/2,g=u+h/2;r.alignment===0&&o.save(),o.beginPath(),o.moveTo(l,g),o.bezierCurveTo(l,g-d,y-p,u,y,u),o.bezierCurveTo(y+p,u,v,g-d,v,g),o.bezierCurveTo(v,g+d,y+p,m,y,m),o.bezierCurveTo(y-p,m,l,g+d,l,g),o.closePath(),r.alignment===0&&o.clip(),e.visible&&(o.globalAlpha=e.alpha*s,o.fillStyle=n,o.fill()),r.alignment===0&&o.restore()},i.prototype.paintRoundedRectangle=function(t,e,r,n,s,o){var a=t.x,h=t.y,l=t.width,u=t.height,f=t.radius,p=Math.min(l,u)/2;f=f>p?p:f,r.alignment===0&&o.save(),o.beginPath(),o.moveTo(a,h+f),o.lineTo(a,h+u-f),o.quadraticCurveTo(a,h+u,a+f,h+u),o.lineTo(a+l-f,h+u),o.quadraticCurveTo(a+l,h+u,a+l,h+u-f),o.lineTo(a+l,h+f),o.quadraticCurveTo(a+l,h,a+l-f,h),o.lineTo(a+f,h),o.quadraticCurveTo(a,h,a,h+f),o.closePath(),r.alignment===0&&o.clip(),e.visible&&(o.globalAlpha=e.alpha*s,o.fillStyle=n,o.fill()),r.alignment===0&&o.restore()},i.prototype.setPatternTransform=function(t,e){if(this._svgMatrix!==!1){if(!this._svgMatrix){var r=document.createElementNS("http://www.w3.org/2000/svg","svg");if(r&&r.createSVGMatrix&&(this._svgMatrix=r.createSVGMatrix()),!this._svgMatrix||!t.setTransform){this._svgMatrix=!1;return}}this._svgMatrix.a=e.a,this._svgMatrix.b=e.b,this._svgMatrix.c=e.c,this._svgMatrix.d=e.d,this._svgMatrix.e=e.tx,this._svgMatrix.f=e.ty,t.setTransform(this._svgMatrix.inverse())}},i.prototype.destroy=function(){this.renderer=null,this._svgMatrix=null,this._tempMatrix=null},i.extension={name:"graphics",type:ut.CanvasRendererPlugin},i}(),Un,di=new tt;et.prototype.generateCanvasTexture=function(t,e){e===void 0&&(e=1);var r=this.getLocalBounds(),n=At.create({width:r.width,height:r.height,scaleMode:t,resolution:e});Un||(Un=new ur),this.transform.updateLocalTransform(),this.transform.localTransform.copyTo(di),di.invert(),di.tx-=r.x,di.ty-=r.y,Un.render(this,{renderTexture:n,clear:!0,transform:di});var s=it.from(n.baseTexture._canvasRenderTarget.canvas,{scaleMode:t});return s.baseTexture.setResolution(e),s},et.prototype.cachedGraphicsData=[],et.prototype._renderCanvas=function(t){this.isMask!==!0&&(this.finishPoly(),t.plugins.graphics.render(this))};/*!
|
|
783
|
+
* @pixi/prepare - v6.5.9
|
|
784
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
785
|
+
*
|
|
786
|
+
* @pixi/prepare is licensed under the MIT License.
|
|
787
|
+
* http://www.opensource.org/licenses/mit-license
|
|
788
|
+
*/M.UPLOADS_PER_FRAME=4;/*! *****************************************************************************
|
|
789
|
+
Copyright (c) Microsoft Corporation.
|
|
790
|
+
|
|
791
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
792
|
+
purpose with or without fee is hereby granted.
|
|
793
|
+
|
|
794
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
795
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
796
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
797
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
798
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
799
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
800
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
801
|
+
***************************************************************************** */var Xn=function(i,t){return Xn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])},Xn(i,t)};function Cy(i,t){Xn(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var Iy=function(){function i(t){this.maxItemsPerFrame=t,this.itemsLeft=0}return i.prototype.beginFrame=function(){this.itemsLeft=this.maxItemsPerFrame},i.prototype.allowedToUpload=function(){return this.itemsLeft-- >0},i}();function Ey(i,t){var e=!1;if(i&&i._textures&&i._textures.length){for(var r=0;r<i._textures.length;r++)if(i._textures[r]instanceof it){var n=i._textures[r].baseTexture;t.indexOf(n)===-1&&(t.push(n),e=!0)}}return e}function Sy(i,t){if(i.baseTexture instanceof $){var e=i.baseTexture;return t.indexOf(e)===-1&&t.push(e),!0}return!1}function Ay(i,t){if(i._texture&&i._texture instanceof it){var e=i._texture.baseTexture;return t.indexOf(e)===-1&&t.push(e),!0}return!1}function Oy(i,t){return t instanceof pi?(t.updateText(!0),!0):!1}function Ly(i,t){if(t instanceof Ge){var e=t.toFontString();return Wt.measureFont(e),!0}return!1}function My(i,t){if(i instanceof pi){t.indexOf(i.style)===-1&&t.push(i.style),t.indexOf(i)===-1&&t.push(i);var e=i._texture.baseTexture;return t.indexOf(e)===-1&&t.push(e),!0}return!1}function Ny(i,t){return i instanceof Ge?(t.indexOf(i)===-1&&t.push(i),!0):!1}var La=function(){function i(t){var e=this;this.limiter=new Iy(M.UPLOADS_PER_FRAME),this.renderer=t,this.uploadHookHelper=null,this.queue=[],this.addHooks=[],this.uploadHooks=[],this.completes=[],this.ticking=!1,this.delayedTick=function(){e.queue&&e.prepareItems()},this.registerFindHook(My),this.registerFindHook(Ny),this.registerFindHook(Ey),this.registerFindHook(Sy),this.registerFindHook(Ay),this.registerUploadHook(Oy),this.registerUploadHook(Ly)}return i.prototype.upload=function(t,e){var r=this;return typeof t=="function"&&(e=t,t=null),e&&kt("6.5.0","BasePrepare.upload callback is deprecated, use the return Promise instead."),new Promise(function(n){t&&r.add(t);var s=function(){e?.(),n()};r.queue.length?(r.completes.push(s),r.ticking||(r.ticking=!0,ft.system.addOnce(r.tick,r,Qt.UTILITY))):s()})},i.prototype.tick=function(){setTimeout(this.delayedTick,0)},i.prototype.prepareItems=function(){for(this.limiter.beginFrame();this.queue.length&&this.limiter.allowedToUpload();){var t=this.queue[0],e=!1;if(t&&!t._destroyed){for(var r=0,n=this.uploadHooks.length;r<n;r++)if(this.uploadHooks[r](this.uploadHookHelper,t)){this.queue.shift(),e=!0;break}}e||this.queue.shift()}if(this.queue.length)ft.system.addOnce(this.tick,this,Qt.UTILITY);else{this.ticking=!1;var s=this.completes.slice(0);this.completes.length=0;for(var r=0,n=s.length;r<n;r++)s[r]()}},i.prototype.registerFindHook=function(t){return t&&this.addHooks.push(t),this},i.prototype.registerUploadHook=function(t){return t&&this.uploadHooks.push(t),this},i.prototype.add=function(t){for(var e=0,r=this.addHooks.length;e<r&&!this.addHooks[e](t,this.queue);e++);if(t instanceof ct)for(var e=t.children.length-1;e>=0;e--)this.add(t.children[e]);return this},i.prototype.destroy=function(){this.ticking&&ft.system.remove(this.tick,this),this.ticking=!1,this.addHooks=null,this.uploadHooks=null,this.renderer=null,this.completes=null,this.queue=null,this.limiter=null,this.uploadHookHelper=null},i}();function Ma(i,t){return t instanceof $?(t._glTextures[i.CONTEXT_UID]||i.texture.bind(t),!0):!1}function Fy(i,t){if(!(t instanceof et))return!1;var e=t.geometry;t.finishPoly(),e.updateBatches();for(var r=e.batches,n=0;n<r.length;n++){var s=r[n].style.texture;s&&Ma(i,s.baseTexture)}return e.batchable||i.geometry.bind(e,t._resolveDirectShader(i)),!0}function Ry(i,t){return i instanceof et?(t.push(i),!0):!1}(function(i){Cy(t,i);function t(e){var r=i.call(this,e)||this;return r.uploadHookHelper=r.renderer,r.registerFindHook(Ry),r.registerUploadHook(Ma),r.registerUploadHook(Fy),r}return t.extension={name:"prepare",type:ut.RendererPlugin},t})(La);/*!
|
|
802
|
+
* @pixi/canvas-prepare - v6.5.9
|
|
803
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
804
|
+
*
|
|
805
|
+
* @pixi/canvas-prepare is licensed under the MIT License.
|
|
806
|
+
* http://www.opensource.org/licenses/mit-license
|
|
807
|
+
*//*! *****************************************************************************
|
|
808
|
+
Copyright (c) Microsoft Corporation.
|
|
809
|
+
|
|
810
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
811
|
+
purpose with or without fee is hereby granted.
|
|
812
|
+
|
|
813
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
814
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
815
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
816
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
817
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
818
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
819
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
820
|
+
***************************************************************************** */var Gn=function(i,t){return Gn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])},Gn(i,t)};function Dy(i,t){Gn(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var Na=16;function By(i,t){var e=i;if(t instanceof $){var r=t.source,n=r.width===0?e.canvas.width:Math.min(e.canvas.width,r.width),s=r.height===0?e.canvas.height:Math.min(e.canvas.height,r.height);return e.ctx.drawImage(r,0,0,n,s,0,0,e.canvas.width,e.canvas.height),!0}return!1}var ky=function(i){Dy(t,i);function t(e){var r=i.call(this,e)||this;return r.uploadHookHelper=r,r.canvas=M.ADAPTER.createCanvas(Na,Na),r.ctx=r.canvas.getContext("2d"),r.registerUploadHook(By),r}return t.prototype.destroy=function(){i.prototype.destroy.call(this),this.ctx=null,this.canvas=null},t.extension={name:"prepare",type:ut.CanvasRendererPlugin},t}(La);/*!
|
|
821
|
+
* @pixi/canvas-sprite - v6.5.9
|
|
822
|
+
* Compiled Wed, 25 Jan 2023 05:01:45 UTC
|
|
823
|
+
*
|
|
824
|
+
* @pixi/canvas-sprite is licensed under the MIT License.
|
|
825
|
+
* http://www.opensource.org/licenses/mit-license
|
|
826
|
+
*/var Fa=new tt,Uy=function(){function i(t){this.renderer=t}return i.prototype.render=function(t){var e=t._texture,r=this.renderer,n=r.context;if(e.valid){var s=e._frame.width,o=e._frame.height,a=e._frame.width,h=e._frame.height;e.trim&&(j.isVertical(e.rotate)?(a=e.trim.height,h=e.trim.width):(a=e.trim.width,h=e.trim.height));var l=t.transform.worldTransform,u=0,f=0,p=e.baseTexture.getDrawableSource();if(!(e.orig.width<=0||e.orig.height<=0||!e.valid||!p)){r.setBlendMode(t.blendMode,!0),r.context.globalAlpha=t.worldAlpha;var d=e.baseTexture.scaleMode===lt.LINEAR;r.smoothProperty&&r.context[r.smoothProperty]!==d&&(n[r.smoothProperty]=d),e.trim?(u=e.trim.width/2+e.trim.x-t.anchor.x*e.orig.width,f=e.trim.height/2+e.trim.y-t.anchor.y*e.orig.height):(u=(.5-t.anchor.x)*e.orig.width,f=(.5-t.anchor.y)*e.orig.height),e.rotate&&(l.copyTo(Fa),l=Fa,j.matrixAppendRotationInv(l,e.rotate,u,f),u=0,f=0),u-=a/2,f-=h/2,r.setContextTransform(l,t.roundPixels,1),t.roundPixels&&(u=u|0,f=f|0);var v=e.baseTexture.resolution,m=r._outerBlend;m&&(n.save(),n.beginPath(),n.rect(u*r.resolution,f*r.resolution,a*r.resolution,h*r.resolution),n.clip()),t.tint!==16777215?((t._cachedTint!==t.tint||t._tintedCanvas.tintId!==t._texture._updateID)&&(t._cachedTint=t.tint,t._tintedCanvas=pt.getTintedCanvas(t,t.tint)),n.drawImage(t._tintedCanvas,0,0,Math.floor(s*v),Math.floor(o*v),Math.floor(u*r.resolution),Math.floor(f*r.resolution),Math.floor(a*r.resolution),Math.floor(h*r.resolution))):n.drawImage(p,e._frame.x*v,e._frame.y*v,Math.floor(s*v),Math.floor(o*v),Math.floor(u*r.resolution),Math.floor(f*r.resolution),Math.floor(a*r.resolution),Math.floor(h*r.resolution)),m&&n.restore(),r.setBlendMode(T.NORMAL)}}},i.prototype.destroy=function(){this.renderer=null},i.extension={name:"sprite",type:ut.CanvasRendererPlugin},i}();Ot.prototype._tintedCanvas=null,Ot.prototype._renderCanvas=function(t){t.plugins.sprite.render(this)};function Xy(i){return function(e){if(!(this._activeParentLayer&&this._activeParentLayer!==e._activeLayer)){if(!this.visible){this.displayOrder=0;return}this.displayOrder=e.incDisplayOrder(),!(this.worldAlpha<=0||!this.renderable)&&(e._activeLayer=null,i.call(this,e),e._activeLayer=this._activeParentLayer)}}}function Gy(i){if(!(this._activeParentLayer&&this._activeParentLayer!==i._activeLayer)){if(!this.visible){this.displayOrder=0;return}this.displayOrder=i.incDisplayOrder(),!(this.worldAlpha<=0||!this.renderable)&&(i._activeLayer=null,this.containerRenderWebGL(i),i._activeLayer=this._activeParentLayer)}}function Yy(){if(Yt.prototype.displayOrder!==void 0)return;Object.assign(Yt.prototype,{parentLayer:null,_activeParentLayer:null,parentGroup:null,zOrder:0,zIndex:0,updateOrder:0,displayOrder:0,layerableChildren:!0,isLayer:!1});const i=ct.prototype;i.containerRenderWebGL=i.render,i.render=Gy}class Hy{constructor(){this._tempPoint=new B,this._queue=[[],[]],this._eventDisplayOrder=0,this.worksWithLayers=!0}recursiveFindHit(t,e,r,n,s){if(!e||!e.visible)return 0;let o=0,a=n=e.interactive||n;e.hitArea&&(a=!1),e._activeParentLayer&&(s=!1);const h=e._mask;r<1/0&&h&&h.containsPoint&&!h.containsPoint(t)&&(s=!0),r<1/0&&e.filterArea&&(e.filterArea.contains(t.x,t.y)||(s=!0));const l=e.children;if(e.interactiveChildren&&l)for(let u=l.length-1;u>=0;u--){const f=l[u],p=this.recursiveFindHit(t,f,r,a,s);if(p){if(!f.parent)continue;o=p,r=p}}return n&&(s?e.interactive&&this._queueAdd(e,0):(r<e.displayOrder&&(e.hitArea?(e.worldTransform.applyInverse(t,this._tempPoint),e.hitArea.contains(this._tempPoint.x,this._tempPoint.y)&&(o=e.displayOrder)):e.containsPoint&&e.containsPoint(t)&&(o=e.displayOrder)),e.interactive&&this._queueAdd(e,o===1/0?0:o))),o}findHit(t,e,r,n){const s=t.data.global;this._startInteractionProcess(),this.recursiveFindHit(s,e,n?0:1/0,!1,!1),this._finishInteractionProcess(t,r)}_startInteractionProcess(){this._eventDisplayOrder=1,this._queue||(this._queue=[[],[]]),this._queue[0].length=0,this._queue[1].length=0}_queueAdd(t,e){const r=this._queue;if(e<this._eventDisplayOrder)r[0].push(t);else{if(e>this._eventDisplayOrder){this._eventDisplayOrder=e;const n=r[1];for(let s=0,o=n.length;s<o;s++)r[0].push(n[s]);r[1].length=0}r[1].push(t)}}_finishInteractionProcess(t,e){const r=this._queue;let n=r[0];for(let s=0,o=n.length;s<o;s++)e&&e(t,n[s],!1);n=r[1];for(let s=0,o=n.length;s<o;s++)t.target||(t.target=n[s]),e&&e(t,n[s],!0)}}function Wy(i){return function(e,r,n,s,o){(!r||!r.renderTexture&&!r.baseTexture)&&(this._lastDisplayOrder=0),this._activeLayer=null,e.isStage&&e.updateStage(),this.plugins.interaction&&!this.plugins.interaction.search.worksWithLayers&&(this.plugins.interaction.search=new Hy),i.call(this,e,r,n,s,o)}}function Ra(i){const t=i.prototype;t._oldRender||(Object.assign(t,{_lastDisplayOrder:0,_activeLayer:null,incDisplayOrder(){return++this._lastDisplayOrder},_oldRender:ke.prototype.render}),t._oldRender=t.render,t.render=Wy(t.render))}function zy(i){if(!i){console.log("@pixi/layers: Canvas mixin was called with empty parameter. Are you sure that you even need this line?");return}Ra(i);const t=ct.prototype;t.containerRenderCanvas||(t.containerRenderCanvas=t.renderCanvas,t.renderCanvas=Xy(t.renderCanvas))}class _t extends Ee{constructor(t=0,e=!1){super(),this.useRenderTexture=!1,this.useDoubleBuffer=!1,this.sortPriority=0,this.clearColor=new Float32Array([0,0,0,0]),this.canDrawWithoutLayer=!1,this.canDrawInParentStage=!0,this._activeLayer=null,this._activeStage=null,this._activeChildren=[],this._lastUpdateId=-1,this.zIndex=t||0,this.enableSort=!!e,typeof e=="function"&&this.on("sort",e)}doSort(t,e){if(this.listeners("sort",!0))for(let r=0;r<e.length;r++)this.emit("sort",e[r]);e.sort(_t.compareZIndex)}static compareZIndex(t,e){return t.zOrder<e.zOrder?-1:t.zOrder>e.zOrder?1:t.updateOrder-e.updateOrder}clear(){this._activeLayer=null,this._activeStage=null,this._activeChildren.length=0}_resolveChildDisplayObject(t,e){this.check(t),e._activeParentLayer=this._activeLayer,this._activeLayer?this._activeLayer._activeChildren.push(e):this._activeChildren.push(e)}_resolveLayer(t,e){this.check(t),this._activeLayer&&_t.conflict(),this._activeLayer=e,this._activeStage=t}check(t){if(this._lastUpdateId<_t._layerUpdateId)this._lastUpdateId=_t._layerUpdateId,this.clear(),this._activeStage=t;else if(this.canDrawInParentStage){let e=this._activeStage;for(;e&&e!==t;)e=e._activeParentStage;this._activeStage=e,e===null&&this.clear()}}static conflict(){_t._lastLayerConflict+5e3<Date.now()&&(_t._lastLayerConflict=Date.now(),console.log("@pixi/layers found two layers with the same group in one stage - that's not healthy. Please place a breakpoint here and debug it"))}}_t._layerUpdateId=0,_t._lastLayerConflict=0;class Da{constructor(t){this.layer=t,this.renderTexture=null,this.doubleBuffer=null,this.currentBufferIndex=0,this._tempRenderTarget=null,this._tempRenderTargetSource=new U,this._tempRenderTargetDestination=new U}init(t){const e=t?t.screen.width:100,r=t?t.screen.height:100,n=t?t.resolution:M.RESOLUTION;this.renderTexture=At.create({width:e,height:r,resolution:n}),this.layer.group.useDoubleBuffer&&(this.doubleBuffer=[At.create({width:e,height:r,resolution:n}),At.create({width:e,height:r,resolution:n})])}getRenderTexture(){return this.renderTexture||this.init(),this.renderTexture}pushTexture(t){const e=t.screen;this.renderTexture||this.init(t);const r=this.renderTexture,n=this.layer.group,s=this.doubleBuffer;if((r.width!==e.width||r.height!==e.height||r.baseTexture.resolution!==t.resolution)&&(r.baseTexture.resolution=t.resolution,r.resize(e.width,e.height),s&&(s[0].baseTexture.resolution=t.resolution,s[0].resize(e.width,e.height),s[1].baseTexture.resolution=t.resolution,s[1].resize(e.width,e.height))),s&&(s[0].framebuffer.multisample=r.framebuffer.multisample,s[1].framebuffer.multisample=r.framebuffer.multisample),this._tempRenderTarget=t.renderTexture.current,this._tempRenderTargetSource.copyFrom(t.renderTexture.sourceFrame),this._tempRenderTargetDestination.copyFrom(t.renderTexture.destinationFrame),t.batch.flush(),n.useDoubleBuffer){let a=s[this.currentBufferIndex];a.baseTexture._glTextures[t.CONTEXT_UID]||(t.renderTexture.bind(a,void 0,void 0),t.texture.bind(a),n.clearColor&&t.renderTexture.clear(n.clearColor)),t.texture.unbind(r.baseTexture),r.baseTexture._glTextures=a.baseTexture._glTextures,r.baseTexture.framebuffer=a.baseTexture.framebuffer,a=s[1-this.currentBufferIndex],t.renderTexture.bind(a,void 0,void 0)}else t.renderTexture.bind(r,void 0,void 0);n.clearColor&&t.renderTexture.clear(n.clearColor);const o=t.filter.defaultFilterStack;o.length>1&&(o[o.length-1].renderTexture=t.renderTexture.current)}popTexture(t){t.batch.flush(),t.framebuffer.blit();const e=t.filter.defaultFilterStack;e.length>1&&(e[e.length-1].renderTexture=this._tempRenderTarget),t.renderTexture.bind(this._tempRenderTarget,this._tempRenderTargetSource,this._tempRenderTargetDestination),this._tempRenderTarget=null;const r=this.renderTexture,n=this.layer.group,s=this.doubleBuffer;if(n.useDoubleBuffer){t.texture.unbind(r.baseTexture),this.currentBufferIndex=1-this.currentBufferIndex;const o=s[this.currentBufferIndex];r.baseTexture._glTextures=o.baseTexture._glTextures,r.baseTexture.framebuffer=o.baseTexture.framebuffer}}destroy(){this.renderTexture&&(this.renderTexture.destroy(),this.doubleBuffer&&(this.doubleBuffer[0].destroy(!0),this.doubleBuffer[1].destroy(!0)))}}class fr extends ct{constructor(t=null){super(),this.isLayer=!0,this.group=null,this._activeChildren=[],this._tempChildren=null,this._activeStageParent=null,this._sortedChildren=[],this._tempLayerParent=null,this.insertChildrenBeforeActive=!0,this.insertChildrenAfterActive=!0,t?(this.group=t,this.zIndex=t.zIndex):this.group=new _t(0,!1),this._tempChildren=this.children}get useRenderTexture(){return this.group.useRenderTexture}set useRenderTexture(t){this.group.useRenderTexture=t}get useDoubleBuffer(){return this.group.useDoubleBuffer}set useDoubleBuffer(t){this.group.useDoubleBuffer=t}get clearColor(){return this.group.clearColor}set clearColor(t){this.group.clearColor=t}get sortPriority(){return this.group.sortPriority}set sortPriority(t){this.group.sortPriority=t}getRenderTexture(){return this.textureCache||(this.textureCache=new Da(this)),this.textureCache.getRenderTexture()}doSort(){this.group.doSort(this,this._sortedChildren)}destroy(t){this.textureCache&&(this.textureCache.destroy(),this.textureCache=null),super.destroy(t)}render(t){this.prerender(t)&&(this.group.useRenderTexture&&(this.textureCache||(this.textureCache=new Da(this)),this.textureCache.pushTexture(t)),this.containerRenderWebGL(t),this.postrender(t),this.group.useRenderTexture&&this.textureCache.popTexture(t))}layerRenderCanvas(t){this.prerender(t)&&(this.containerRenderCanvas(t),this.postrender(t))}_onBeginLayerSubtreeTraversal(t){const e=this._activeChildren;this._activeStageParent=t,this.group._resolveLayer(t,this);const r=this.group._activeChildren;e.length=0;for(let n=0;n<r.length;n++)r[n]._activeParentLayer=this,e.push(r[n]);r.length=0}_onEndLayerSubtreeTraversal(){const t=this.children,e=this._activeChildren,r=this._sortedChildren;for(let n=0;n<e.length;n++)this.emit("display",e[n]);if(r.length=0,this.insertChildrenBeforeActive)for(let n=0;n<t.length;n++)r.push(t[n]);for(let n=0;n<e.length;n++)r.push(e[n]);if(!this.insertChildrenBeforeActive&&this.insertChildrenAfterActive)for(let n=0;n<t.length;n++)r.push(t[n]);this.group.enableSort&&this.doSort()}prerender(t){return this._activeParentLayer&&this._activeParentLayer!=t._activeLayer?!1:this.visible?(this.displayOrder=t.incDisplayOrder(),this.worldAlpha<=0||!this.renderable?!1:(this.children!==this._sortedChildren&&this._tempChildren!==this.children&&(this._tempChildren=this.children),this._boundsID++,this.children=this._sortedChildren,this._tempLayerParent=t._activeLayer,t._activeLayer=this,!0)):(this.displayOrder=0,!1)}postrender(t){this.children=this._tempChildren,t._activeLayer=this._tempLayerParent,this._tempLayerParent=null}}fr.prototype.renderCanvas=fr.prototype.layerRenderCanvas;class vi extends fr{constructor(){super(...arguments),this.isStage=!0,this._tempGroups=[],this._activeLayers=[],this._activeParentStage=null}clear(){this._activeLayers.length=0,this._tempGroups.length=0}destroy(t){this.clear(),super.destroy(t)}updateStage(){this._activeParentStage=null,_t._layerUpdateId++,this._updateStageInner()}updateAsChildStage(t){this._activeParentStage=t,vi._updateOrderCounter=0,this._updateStageInner()}_updateStageInner(){this.clear(),this._addRecursive(this);const t=this._activeLayers;for(let e=0;e<t.length;e++){const r=t[e];if(r.group.sortPriority){r._onEndLayerSubtreeTraversal();const n=r._sortedChildren;for(let s=0;s<n.length;s++)this._addRecursiveChildren(n[s])}}for(let e=0;e<t.length;e++){const r=t[e];r.group.sortPriority||r._onEndLayerSubtreeTraversal()}}_addRecursive(t){if(!t.visible)return;if(t.isLayer){const s=t;this._activeLayers.push(s),s._onBeginLayerSubtreeTraversal(this)}if(t!==this&&t.isStage){t.updateAsChildStage(this);return}t._activeParentLayer=null;let e=t.parentGroup;e&&e._resolveChildDisplayObject(this,t);const r=t.parentLayer;if(r&&(e=r.group,e._resolveChildDisplayObject(this,t)),t.updateOrder=++vi._updateOrderCounter,t.alpha<=0||!t.renderable||!t.layerableChildren||e&&e.sortPriority)return;const n=t.children;if(n&&n.length)for(let s=0;s<n.length;s++)this._addRecursive(n[s])}_addRecursiveChildren(t){if(t.alpha<=0||!t.renderable||!t.layerableChildren)return;const e=t.children;if(e&&e.length)for(let r=0;r<e.length;r++)this._addRecursive(e[r])}}vi._updateOrderCounter=0,Yy(),Ra(ke);class xt{constructor(t){this.parent=t,this.paused=!1}destroy(){}down(t){return!1}move(t){return!1}up(t){return!1}wheel(t){return!1}update(t){}resize(){}reset(){}pause(){this.paused=!0}resume(){this.paused=!1}}var $y=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Vy(i,t,e){return e={path:t,exports:{},require:function(r,n){return jy(r,n??e.path)}},i(e,e.exports),e.exports}function jy(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var Ba=Vy(function(i,t){(function(){var e,r;r=function(n){return i.exports=n},e={linear:function(n,s,o,a){return o*n/a+s},easeInQuad:function(n,s,o,a){return o*(n/=a)*n+s},easeOutQuad:function(n,s,o,a){return-o*(n/=a)*(n-2)+s},easeInOutQuad:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n+s:-o/2*(--n*(n-2)-1)+s},easeInCubic:function(n,s,o,a){return o*(n/=a)*n*n+s},easeOutCubic:function(n,s,o,a){return o*((n=n/a-1)*n*n+1)+s},easeInOutCubic:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n*n+s:o/2*((n-=2)*n*n+2)+s},easeInQuart:function(n,s,o,a){return o*(n/=a)*n*n*n+s},easeOutQuart:function(n,s,o,a){return-o*((n=n/a-1)*n*n*n-1)+s},easeInOutQuart:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n*n*n+s:-o/2*((n-=2)*n*n*n-2)+s},easeInQuint:function(n,s,o,a){return o*(n/=a)*n*n*n*n+s},easeOutQuint:function(n,s,o,a){return o*((n=n/a-1)*n*n*n*n+1)+s},easeInOutQuint:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n*n*n*n+s:o/2*((n-=2)*n*n*n*n+2)+s},easeInSine:function(n,s,o,a){return-o*Math.cos(n/a*(Math.PI/2))+o+s},easeOutSine:function(n,s,o,a){return o*Math.sin(n/a*(Math.PI/2))+s},easeInOutSine:function(n,s,o,a){return-o/2*(Math.cos(Math.PI*n/a)-1)+s},easeInExpo:function(n,s,o,a){return n===0?s:o*Math.pow(2,10*(n/a-1))+s},easeOutExpo:function(n,s,o,a){return n===a?s+o:o*(-Math.pow(2,-10*n/a)+1)+s},easeInOutExpo:function(n,s,o,a){return(n/=a/2)<1?o/2*Math.pow(2,10*(n-1))+s:o/2*(-Math.pow(2,-10*--n)+2)+s},easeInCirc:function(n,s,o,a){return-o*(Math.sqrt(1-(n/=a)*n)-1)+s},easeOutCirc:function(n,s,o,a){return o*Math.sqrt(1-(n=n/a-1)*n)+s},easeInOutCirc:function(n,s,o,a){return(n/=a/2)<1?-o/2*(Math.sqrt(1-n*n)-1)+s:o/2*(Math.sqrt(1-(n-=2)*n)+1)+s},easeInElastic:function(n,s,o,a){var h,l,u;return u=1.70158,l=0,h=o,n===0||(n/=a),l||(l=a*.3),h<Math.abs(o)?(h=o,u=l/4):u=l/(2*Math.PI)*Math.asin(o/h),-(h*Math.pow(2,10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/l))+s},easeOutElastic:function(n,s,o,a){var h,l,u;return u=1.70158,l=0,h=o,n===0||(n/=a),l||(l=a*.3),h<Math.abs(o)?(h=o,u=l/4):u=l/(2*Math.PI)*Math.asin(o/h),h*Math.pow(2,-10*n)*Math.sin((n*a-u)*(2*Math.PI)/l)+o+s},easeInOutElastic:function(n,s,o,a){var h,l,u;return u=1.70158,l=0,h=o,n===0||(n/=a/2),l||(l=a*(.3*1.5)),h<Math.abs(o)?(h=o,u=l/4):u=l/(2*Math.PI)*Math.asin(o/h),n<1?-.5*(h*Math.pow(2,10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/l))+s:h*Math.pow(2,-10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/l)*.5+o+s},easeInBack:function(n,s,o,a,h){return h===void 0&&(h=1.70158),o*(n/=a)*n*((h+1)*n-h)+s},easeOutBack:function(n,s,o,a,h){return h===void 0&&(h=1.70158),o*((n=n/a-1)*n*((h+1)*n+h)+1)+s},easeInOutBack:function(n,s,o,a,h){return h===void 0&&(h=1.70158),(n/=a/2)<1?o/2*(n*n*(((h*=1.525)+1)*n-h))+s:o/2*((n-=2)*n*(((h*=1.525)+1)*n+h)+2)+s},easeInBounce:function(n,s,o,a){var h;return h=e.easeOutBounce(a-n,0,o,a),o-h+s},easeOutBounce:function(n,s,o,a){return(n/=a)<1/2.75?o*(7.5625*n*n)+s:n<2/2.75?o*(7.5625*(n-=1.5/2.75)*n+.75)+s:n<2.5/2.75?o*(7.5625*(n-=2.25/2.75)*n+.9375)+s:o*(7.5625*(n-=2.625/2.75)*n+.984375)+s},easeInOutBounce:function(n,s,o,a){var h;return n<a/2?(h=e.easeInBounce(n*2,0,o,a),h*.5+s):(h=e.easeOutBounce(n*2-a,0,o,a),h*.5+o*.5+s)}},r(e)}).call($y)});function cr(i,t){if(i){if(typeof i=="function")return i;if(typeof i=="string")return Ba[i]}else return Ba[t]}const qy={removeOnInterrupt:!1,ease:"linear",time:1e3};class zt extends xt{__init(){this.startWidth=null}__init2(){this.startHeight=null}__init3(){this.deltaWidth=null}__init4(){this.deltaHeight=null}__init5(){this.width=null}__init6(){this.height=null}__init7(){this.time=0}constructor(t,e={}){super(t),zt.prototype.__init.call(this),zt.prototype.__init2.call(this),zt.prototype.__init3.call(this),zt.prototype.__init4.call(this),zt.prototype.__init5.call(this),zt.prototype.__init6.call(this),zt.prototype.__init7.call(this),this.options=Object.assign({},qy,e),this.options.ease=cr(this.options.ease),this.setupPosition(),this.setupZoom(),this.time=0}setupPosition(){typeof this.options.position<"u"?(this.startX=this.parent.center.x,this.startY=this.parent.center.y,this.deltaX=this.options.position.x-this.parent.center.x,this.deltaY=this.options.position.y-this.parent.center.y,this.keepCenter=!1):this.keepCenter=!0}setupZoom(){this.width=null,this.height=null,typeof this.options.scale<"u"?this.width=this.parent.screenWidth/this.options.scale:typeof this.options.scaleX<"u"||typeof this.options.scaleY<"u"?(typeof this.options.scaleX<"u"&&(this.width=this.parent.screenWidth/this.options.scaleX),typeof this.options.scaleY<"u"&&(this.height=this.parent.screenHeight/this.options.scaleY)):(typeof this.options.width<"u"&&(this.width=this.options.width),typeof this.options.height<"u"&&(this.height=this.options.height)),this.width!==null&&(this.startWidth=this.parent.screenWidthInWorldPixels,this.deltaWidth=this.width-this.startWidth),this.height!==null&&(this.startHeight=this.parent.screenHeightInWorldPixels,this.deltaHeight=this.height-this.startHeight)}down(){return this.options.removeOnInterrupt&&this.parent.plugins.remove("animate"),!1}complete(){this.parent.plugins.remove("animate"),this.width!==null&&this.parent.fitWidth(this.width,this.keepCenter,this.height===null),this.height!==null&&this.parent.fitHeight(this.height,this.keepCenter,this.width===null),this.keepCenter||this.parent.moveCenter(this.options.position),this.parent.emit("animate-end",this.parent),this.options.callbackOnComplete&&this.options.callbackOnComplete(this.parent)}update(t){if(this.paused)return;this.time+=t;const e=new B(this.parent.scale.x,this.parent.scale.y);if(this.time>=this.options.time){const r=this.parent.width,n=this.parent.height;this.complete(),(r!==this.parent.width||n!==this.parent.height)&&this.parent.emit("zoomed",{viewport:this.parent,original:e,type:"animate"})}else{const r=this.options.ease(this.time,0,1,this.options.time);if(this.width!==null){const n=this.startWidth,s=this.deltaWidth;this.parent.fitWidth(n+s*r,this.keepCenter,this.height===null)}if(this.height!==null){const n=this.startHeight,s=this.deltaHeight;this.parent.fitHeight(n+s*r,this.keepCenter,this.width===null)}if(this.width===null?this.parent.scale.x=this.parent.scale.y:this.height===null&&(this.parent.scale.y=this.parent.scale.x),!this.keepCenter){const n=this.startX,s=this.startY,o=this.deltaX,a=this.deltaY,h=new B(this.parent.x,this.parent.y);this.parent.moveCenter(n+o*r,s+a*r),this.parent.emit("moved",{viewport:this.parent,original:h,type:"animate"})}(this.width||this.height)&&this.parent.emit("zoomed",{viewport:this.parent,original:e,type:"animate"})}}}function pr(i){let t,e=i[0],r=1;for(;r<i.length;){const n=i[r],s=i[r+1];if(r+=2,(n==="optionalAccess"||n==="optionalCall")&&e==null)return;n==="access"||n==="optionalAccess"?(t=e,e=s(e)):(n==="call"||n==="optionalCall")&&(e=s((...o)=>e.call(t,...o)),t=void 0)}return e}const Zy={sides:"all",friction:.5,time:150,ease:"easeInOutSine",underflow:"center",bounceBox:null};class Jy extends xt{constructor(t,e={}){super(t),this.options=Object.assign({},Zy,e),this.ease=cr(this.options.ease,"easeInOutSine"),this.options.sides?this.options.sides==="all"?this.top=this.bottom=this.left=this.right=!0:this.options.sides==="horizontal"?(this.right=this.left=!0,this.top=this.bottom=!1):this.options.sides==="vertical"?(this.left=this.right=!1,this.top=this.bottom=!0):(this.top=this.options.sides.indexOf("top")!==-1,this.bottom=this.options.sides.indexOf("bottom")!==-1,this.left=this.options.sides.indexOf("left")!==-1,this.right=this.options.sides.indexOf("right")!==-1):this.left=this.top=this.right=this.bottom=!1;const r=this.options.underflow.toLowerCase();r==="center"?(this.underflowX=0,this.underflowY=0):(this.underflowX=r.indexOf("left")!==-1?-1:r.indexOf("right")!==-1?1:0,this.underflowY=r.indexOf("top")!==-1?-1:r.indexOf("bottom")!==-1?1:0),this.reset()}isActive(){return this.toX!==null||this.toY!==null}down(){return this.toX=this.toY=null,!1}up(){return this.bounce(),!1}update(t){if(!this.paused){if(this.bounce(),this.toX){const e=this.toX;e.time+=t,this.parent.emit("moved",{viewport:this.parent,type:"bounce-x"}),e.time>=this.options.time?(this.parent.x=e.end,this.toX=null,this.parent.emit("bounce-x-end",this.parent)):this.parent.x=this.ease(e.time,e.start,e.delta,this.options.time)}if(this.toY){const e=this.toY;e.time+=t,this.parent.emit("moved",{viewport:this.parent,type:"bounce-y"}),e.time>=this.options.time?(this.parent.y=e.end,this.toY=null,this.parent.emit("bounce-y-end",this.parent)):this.parent.y=this.ease(e.time,e.start,e.delta,this.options.time)}}}calcUnderflowX(){let t;switch(this.underflowX){case-1:t=0;break;case 1:t=this.parent.screenWidth-this.parent.screenWorldWidth;break;default:t=(this.parent.screenWidth-this.parent.screenWorldWidth)/2}return t}calcUnderflowY(){let t;switch(this.underflowY){case-1:t=0;break;case 1:t=this.parent.screenHeight-this.parent.screenWorldHeight;break;default:t=(this.parent.screenHeight-this.parent.screenWorldHeight)/2}return t}oob(){const t=this.options.bounceBox;if(t){const e=typeof t.x>"u"?0:t.x,r=typeof t.y>"u"?0:t.y,n=typeof t.width>"u"?this.parent.worldWidth:t.width,s=typeof t.height>"u"?this.parent.worldHeight:t.height;return{left:this.parent.left<e,right:this.parent.right>n,top:this.parent.top<r,bottom:this.parent.bottom>s,topLeft:new B(e*this.parent.scale.x,r*this.parent.scale.y),bottomRight:new B(n*this.parent.scale.x-this.parent.screenWidth,s*this.parent.scale.y-this.parent.screenHeight)}}return{left:this.parent.left<0,right:this.parent.right>this.parent.worldWidth,top:this.parent.top<0,bottom:this.parent.bottom>this.parent.worldHeight,topLeft:new B(0,0),bottomRight:new B(this.parent.worldWidth*this.parent.scale.x-this.parent.screenWidth,this.parent.worldHeight*this.parent.scale.y-this.parent.screenHeight)}}bounce(){if(this.paused)return;let t,e=this.parent.plugins.get("decelerate",!0);e&&(e.x||e.y)&&(e.x&&e.percentChangeX===pr([e,"access",s=>s.options,"optionalAccess",s=>s.friction])||e.y&&e.percentChangeY===pr([e,"access",s=>s.options,"optionalAccess",s=>s.friction]))&&(t=this.oob(),(t.left&&this.left||t.right&&this.right)&&(e.percentChangeX=this.options.friction),(t.top&&this.top||t.bottom&&this.bottom)&&(e.percentChangeY=this.options.friction));const r=this.parent.plugins.get("drag",!0)||{},n=this.parent.plugins.get("pinch",!0)||{};if(e=e||{},!pr([r,"optionalAccess",s=>s.active])&&!pr([n,"optionalAccess",s=>s.active])&&(!this.toX||!this.toY)&&(!e.x||!e.y)){t=t||this.oob();const s=t.topLeft,o=t.bottomRight;if(!this.toX&&!e.x){let a=null;t.left&&this.left?a=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-s.x:t.right&&this.right&&(a=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-o.x),a!==null&&this.parent.x!==a&&(this.toX={time:0,start:this.parent.x,delta:a-this.parent.x,end:a},this.parent.emit("bounce-x-start",this.parent))}if(!this.toY&&!e.y){let a=null;t.top&&this.top?a=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-s.y:t.bottom&&this.bottom&&(a=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-o.y),a!==null&&this.parent.y!==a&&(this.toY={time:0,start:this.parent.y,delta:a-this.parent.y,end:a},this.parent.emit("bounce-y-start",this.parent))}}}reset(){this.toX=this.toY=null,this.bounce()}}const Qy={left:!1,right:!1,top:!1,bottom:!1,direction:null,underflow:"center"};class Ky extends xt{constructor(t,e={}){super(t),this.options=Object.assign({},Qy,e),this.options.direction&&(this.options.left=this.options.direction==="x"||this.options.direction==="all"?!0:null,this.options.right=this.options.direction==="x"||this.options.direction==="all"?!0:null,this.options.top=this.options.direction==="y"||this.options.direction==="all"?!0:null,this.options.bottom=this.options.direction==="y"||this.options.direction==="all"?!0:null),this.parseUnderflow(),this.last={x:null,y:null,scaleX:null,scaleY:null},this.update()}parseUnderflow(){const t=this.options.underflow.toLowerCase();t==="none"?this.noUnderflow=!0:t==="center"?(this.underflowX=this.underflowY=0,this.noUnderflow=!1):(this.underflowX=t.indexOf("left")!==-1?-1:t.indexOf("right")!==-1?1:0,this.underflowY=t.indexOf("top")!==-1?-1:t.indexOf("bottom")!==-1?1:0,this.noUnderflow=!1)}move(){return this.update(),!1}update(){if(this.paused||this.parent.x===this.last.x&&this.parent.y===this.last.y&&this.parent.scale.x===this.last.scaleX&&this.parent.scale.y===this.last.scaleY)return;const t={x:this.parent.x,y:this.parent.y},e=this.parent.plugins.decelerate||{};if(this.options.left!==null||this.options.right!==null){let r=!1;if(!this.noUnderflow&&this.parent.screenWorldWidth<this.parent.screenWidth)switch(this.underflowX){case-1:this.parent.x!==0&&(this.parent.x=0,r=!0);break;case 1:this.parent.x!==this.parent.screenWidth-this.parent.screenWorldWidth&&(this.parent.x=this.parent.screenWidth-this.parent.screenWorldWidth,r=!0);break;default:this.parent.x!==(this.parent.screenWidth-this.parent.screenWorldWidth)/2&&(this.parent.x=(this.parent.screenWidth-this.parent.screenWorldWidth)/2,r=!0)}else this.options.left!==null&&this.parent.left<(this.options.left===!0?0:this.options.left)&&(this.parent.x=-(this.options.left===!0?0:this.options.left)*this.parent.scale.x,e.x=0,r=!0),this.options.right!==null&&this.parent.right>(this.options.right===!0?this.parent.worldWidth:this.options.right)&&(this.parent.x=-(this.options.right===!0?this.parent.worldWidth:this.options.right)*this.parent.scale.x+this.parent.screenWidth,e.x=0,r=!0);r&&this.parent.emit("moved",{viewport:this.parent,original:t,type:"clamp-x"})}if(this.options.top!==null||this.options.bottom!==null){let r=!1;if(!this.noUnderflow&&this.parent.screenWorldHeight<this.parent.screenHeight)switch(this.underflowY){case-1:this.parent.y!==0&&(this.parent.y=0,r=!0);break;case 1:this.parent.y!==this.parent.screenHeight-this.parent.screenWorldHeight&&(this.parent.y=this.parent.screenHeight-this.parent.screenWorldHeight,r=!0);break;default:this.parent.y!==(this.parent.screenHeight-this.parent.screenWorldHeight)/2&&(this.parent.y=(this.parent.screenHeight-this.parent.screenWorldHeight)/2,r=!0)}else this.options.top!==null&&this.parent.top<(this.options.top===!0?0:this.options.top)&&(this.parent.y=-(this.options.top===!0?0:this.options.top)*this.parent.scale.y,e.y=0,r=!0),this.options.bottom!==null&&this.parent.bottom>(this.options.bottom===!0?this.parent.worldHeight:this.options.bottom)&&(this.parent.y=-(this.options.bottom===!0?this.parent.worldHeight:this.options.bottom)*this.parent.scale.y+this.parent.screenHeight,e.y=0,r=!0);r&&this.parent.emit("moved",{viewport:this.parent,original:t,type:"clamp-y"})}this.last.x=this.parent.x,this.last.y=this.parent.y,this.last.scaleX=this.parent.scale.x,this.last.scaleY=this.parent.scale.y}reset(){this.update()}}const tm={minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,minScale:null,maxScale:null};class em extends xt{constructor(t,e={}){super(t),this.options=Object.assign({},tm,e),this.clamp()}resize(){this.clamp()}clamp(){if(!this.paused){if(this.options.minWidth||this.options.minHeight||this.options.maxWidth||this.options.maxHeight){let t=this.parent.worldScreenWidth,e=this.parent.worldScreenHeight;if(this.options.minWidth!==null&&t<this.options.minWidth){const r=this.parent.scale.x;this.parent.fitWidth(this.options.minWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/r,t=this.parent.worldScreenWidth,e=this.parent.worldScreenHeight,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}if(this.options.maxWidth!==null&&t>this.options.maxWidth){const r=this.parent.scale.x;this.parent.fitWidth(this.options.maxWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/r,t=this.parent.worldScreenWidth,e=this.parent.worldScreenHeight,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}if(this.options.minHeight!==null&&e<this.options.minHeight){const r=this.parent.scale.y;this.parent.fitHeight(this.options.minHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/r,t=this.parent.worldScreenWidth,e=this.parent.worldScreenHeight,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}if(this.options.maxHeight!==null&&e>this.options.maxHeight){const r=this.parent.scale.y;this.parent.fitHeight(this.options.maxHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/r,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}}else if(this.options.minScale||this.options.maxScale){const t={x:null,y:null},e={x:null,y:null};if(typeof this.options.minScale=="number")t.x=this.options.minScale,t.y=this.options.minScale;else if(this.options.minScale!==null){const s=this.options.minScale;t.x=typeof s.x>"u"?null:s.x,t.y=typeof s.y>"u"?null:s.y}if(typeof this.options.maxScale=="number")e.x=this.options.maxScale,e.y=this.options.maxScale;else if(this.options.maxScale!==null){const s=this.options.maxScale;e.x=typeof s.x>"u"?null:s.x,e.y=typeof s.y>"u"?null:s.y}let r=this.parent.scale.x,n=this.parent.scale.y;t.x!==null&&r<t.x&&(r=t.x),e.x!==null&&r>e.x&&(r=e.x),t.y!==null&&n<t.y&&(n=t.y),e.y!==null&&n>e.y&&(n=e.y),(r!==this.parent.scale.x||n!==this.parent.scale.y)&&(this.parent.scale.set(r,n),this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"}))}}}reset(){this.clamp()}}const im={friction:.98,bounce:.8,minSpeed:.01},ee=16;class rm extends xt{constructor(t,e={}){super(t),this.options=Object.assign({},im,e),this.saved=[],this.timeSinceRelease=0,this.reset(),this.parent.on("moved",r=>this.moved(r))}down(){return this.saved=[],this.x=this.y=null,!1}isActive(){return!!(this.x||this.y)}move(){if(this.paused)return!1;const t=this.parent.input.count();return(t===1||t>1&&!this.parent.plugins.get("pinch",!0))&&(this.saved.push({x:this.parent.x,y:this.parent.y,time:performance.now()}),this.saved.length>60&&this.saved.splice(0,30)),!1}moved(t){if(this.saved.length){const e=this.saved[this.saved.length-1];t.type==="clamp-x"?e.x===t.original.x&&(e.x=this.parent.x):t.type==="clamp-y"&&e.y===t.original.y&&(e.y=this.parent.y)}}up(){if(this.parent.input.count()===0&&this.saved.length){const t=performance.now();for(const e of this.saved)if(e.time>=t-100){const r=t-e.time;this.x=(this.parent.x-e.x)/r,this.y=(this.parent.y-e.y)/r,this.percentChangeX=this.percentChangeY=this.options.friction,this.timeSinceRelease=0;break}}return!1}activate(t){t=t||{},typeof t.x<"u"&&(this.x=t.x,this.percentChangeX=this.options.friction),typeof t.y<"u"&&(this.y=t.y,this.percentChangeY=this.options.friction)}update(t){if(this.paused)return;const e=this.x||this.y,r=this.timeSinceRelease,n=this.timeSinceRelease+t;if(this.x){const s=this.percentChangeX,o=Math.log(s);this.parent.x+=this.x*ee/o*(Math.pow(s,n/ee)-Math.pow(s,r/ee)),this.x*=Math.pow(this.percentChangeX,t/ee)}if(this.y){const s=this.percentChangeY,o=Math.log(s);this.parent.y+=this.y*ee/o*(Math.pow(s,n/ee)-Math.pow(s,r/ee)),this.y*=Math.pow(this.percentChangeY,t/ee)}this.timeSinceRelease+=t,this.x&&this.y?Math.abs(this.x)<this.options.minSpeed&&Math.abs(this.y)<this.options.minSpeed&&(this.x=0,this.y=0):(Math.abs(this.x||0)<this.options.minSpeed&&(this.x=0),Math.abs(this.y||0)<this.options.minSpeed&&(this.y=0)),e&&this.parent.emit("moved",{viewport:this.parent,type:"decelerate"})}reset(){this.x=this.y=null}}const nm={direction:"all",pressDrag:!0,wheel:!0,wheelScroll:1,reverse:!1,clampWheel:!1,underflow:"center",factor:1,mouseButtons:"all",keyToPress:null,ignoreKeyToPressOnTouch:!1,lineHeight:20,wheelSwapAxes:!1};class sm extends xt{constructor(t,e={}){super(t),this.options=Object.assign({},nm,e),this.moved=!1,this.reverse=this.options.reverse?1:-1,this.xDirection=!this.options.direction||this.options.direction==="all"||this.options.direction==="x",this.yDirection=!this.options.direction||this.options.direction==="all"||this.options.direction==="y",this.keyIsPressed=!1,this.parseUnderflow(),this.mouseButtons(this.options.mouseButtons),this.options.keyToPress&&this.handleKeyPresses(this.options.keyToPress)}handleKeyPresses(t){window.addEventListener("keydown",e=>{t.includes(e.code)&&(this.keyIsPressed=!0)}),window.addEventListener("keyup",e=>{t.includes(e.code)&&(this.keyIsPressed=!1)})}mouseButtons(t){!t||t==="all"?this.mouse=[!0,!0,!0]:this.mouse=[t.indexOf("left")!==-1,t.indexOf("middle")!==-1,t.indexOf("right")!==-1]}parseUnderflow(){const t=this.options.underflow.toLowerCase();t==="center"?(this.underflowX=0,this.underflowY=0):(t.includes("left")?this.underflowX=-1:t.includes("right")?this.underflowX=1:this.underflowX=0,t.includes("top")?this.underflowY=-1:t.includes("bottom")?this.underflowY=1:this.underflowY=0)}checkButtons(t){const e=t.data.pointerType==="mouse",r=this.parent.input.count();return!!((r===1||r>1&&!this.parent.plugins.get("pinch",!0))&&(!e||this.mouse[t.data.button]))}checkKeyPress(t){return!this.options.keyToPress||this.keyIsPressed||this.options.ignoreKeyToPressOnTouch&&t.data.pointerType==="touch"}down(t){return this.paused||!this.options.pressDrag?!1:this.checkButtons(t)&&this.checkKeyPress(t)?(this.last={x:t.data.global.x,y:t.data.global.y},this.current=t.data.pointerId,!0):(this.last=null,!1)}get active(){return this.moved}move(t){if(this.paused||!this.options.pressDrag)return!1;if(this.last&&this.current===t.data.pointerId){const e=t.data.global.x,r=t.data.global.y,n=this.parent.input.count();if(n===1||n>1&&!this.parent.plugins.get("pinch",!0)){const s=e-this.last.x,o=r-this.last.y;if(this.moved||this.xDirection&&this.parent.input.checkThreshold(s)||this.yDirection&&this.parent.input.checkThreshold(o)){const a={x:e,y:r};return this.xDirection&&(this.parent.x+=(a.x-this.last.x)*this.options.factor),this.yDirection&&(this.parent.y+=(a.y-this.last.y)*this.options.factor),this.last=a,this.moved||this.parent.emit("drag-start",{event:t,screen:new B(this.last.x,this.last.y),world:this.parent.toWorld(new B(this.last.x,this.last.y)),viewport:this.parent}),this.moved=!0,this.parent.emit("moved",{viewport:this.parent,type:"drag"}),!0}}else this.moved=!1}return!1}up(t){if(this.paused)return!1;const e=this.parent.input.touches;if(e.length===1){const r=e[0];return r.last&&(this.last={x:r.last.x,y:r.last.y},this.current=r.id),this.moved=!1,!0}else if(this.last&&this.moved){const r=new B(this.last.x,this.last.y);return this.parent.emit("drag-end",{event:t,screen:r,world:this.parent.toWorld(r),viewport:this.parent}),this.last=null,this.moved=!1,!0}return!1}wheel(t){if(this.paused)return!1;if(this.options.wheel){const e=this.parent.plugins.get("wheel",!0);if(!e||!e.options.wheelZoom&&!t.ctrlKey){const r=t.deltaMode?this.options.lineHeight:1,n=[t.deltaX,t.deltaY],[s,o]=this.options.wheelSwapAxes?n.reverse():n;return this.xDirection&&(this.parent.x+=s*r*this.options.wheelScroll*this.reverse),this.yDirection&&(this.parent.y+=o*r*this.options.wheelScroll*this.reverse),this.options.clampWheel&&this.clamp(),this.parent.emit("wheel-scroll",this.parent),this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.parent.options.passiveWheel||t.preventDefault(),this.parent.options.stopPropagation&&t.stopPropagation(),!0}}return!1}resume(){this.last=null,this.paused=!1}clamp(){const t=this.parent.plugins.get("decelerate",!0)||{};if(this.options.clampWheel!=="y")if(this.parent.screenWorldWidth<this.parent.screenWidth)switch(this.underflowX){case-1:this.parent.x=0;break;case 1:this.parent.x=this.parent.screenWidth-this.parent.screenWorldWidth;break;default:this.parent.x=(this.parent.screenWidth-this.parent.screenWorldWidth)/2}else this.parent.left<0?(this.parent.x=0,t.x=0):this.parent.right>this.parent.worldWidth&&(this.parent.x=-this.parent.worldWidth*this.parent.scale.x+this.parent.screenWidth,t.x=0);if(this.options.clampWheel!=="x")if(this.parent.screenWorldHeight<this.parent.screenHeight)switch(this.underflowY){case-1:this.parent.y=0;break;case 1:this.parent.y=this.parent.screenHeight-this.parent.screenWorldHeight;break;default:this.parent.y=(this.parent.screenHeight-this.parent.screenWorldHeight)/2}else this.parent.top<0&&(this.parent.y=0,t.y=0),this.parent.bottom>this.parent.worldHeight&&(this.parent.y=-this.parent.worldHeight*this.parent.scale.y+this.parent.screenHeight,t.y=0)}}const om={speed:0,acceleration:null,radius:null};class am extends xt{constructor(t,e,r={}){super(t),this.target=e,this.options=Object.assign({},om,r),this.velocity={x:0,y:0}}update(t){if(this.paused)return;const e=this.parent.center;let r=this.target.x,n=this.target.y;if(this.options.radius)if(Math.sqrt(Math.pow(this.target.y-e.y,2)+Math.pow(this.target.x-e.x,2))>this.options.radius){const h=Math.atan2(this.target.y-e.y,this.target.x-e.x);r=this.target.x-Math.cos(h)*this.options.radius,n=this.target.y-Math.sin(h)*this.options.radius}else return;const s=r-e.x,o=n-e.y;if(s||o)if(this.options.speed)if(this.options.acceleration){const a=Math.atan2(n-e.y,r-e.x),h=Math.sqrt(Math.pow(s,2)+Math.pow(o,2));if(h){const l=(Math.pow(this.velocity.x,2)+Math.pow(this.velocity.y,2))/(2*this.options.acceleration);h>l?this.velocity={x:Math.min(this.velocity.x+this.options.acceleration*t,this.options.speed),y:Math.min(this.velocity.y+this.options.acceleration*t,this.options.speed)}:this.velocity={x:Math.max(this.velocity.x-this.options.acceleration*this.options.speed,0),y:Math.max(this.velocity.y-this.options.acceleration*this.options.speed,0)};const u=Math.cos(a)*this.velocity.x,f=Math.sin(a)*this.velocity.y,p=Math.abs(u)>Math.abs(s)?r:e.x+u,d=Math.abs(f)>Math.abs(o)?n:e.y+f;this.parent.moveCenter(p,d),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}}else{const a=Math.atan2(n-e.y,r-e.x),h=Math.cos(a)*this.options.speed,l=Math.sin(a)*this.options.speed,u=Math.abs(h)>Math.abs(s)?r:e.x+h,f=Math.abs(l)>Math.abs(o)?n:e.y+l;this.parent.moveCenter(u,f),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}else this.parent.moveCenter(r,n),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}}const hm={radius:null,distance:null,top:null,bottom:null,left:null,right:null,speed:8,reverse:!1,noDecelerate:!1,linear:!1,allowButtons:!1};class lm extends xt{constructor(t,e={}){super(t),this.options=Object.assign({},hm,e),this.reverse=this.options.reverse?1:-1,this.radiusSquared=typeof this.options.radius=="number"?Math.pow(this.options.radius,2):null,this.resize()}resize(){const t=this.options.distance;t!==null?(this.left=t,this.top=t,this.right=this.parent.screenWidth-t,this.bottom=this.parent.screenHeight-t):this.options.radius||(this.left=this.options.left,this.top=this.options.top,this.right=this.options.right===null?null:this.parent.screenWidth-this.options.right,this.bottom=this.options.bottom===null?null:this.parent.screenHeight-this.options.bottom)}down(){return this.paused||this.options.allowButtons||(this.horizontal=this.vertical=null),!1}move(t){if(this.paused||t.data.pointerType!=="mouse"&&t.data.identifier!==1||!this.options.allowButtons&&t.data.buttons!==0)return!1;const e=t.data.global.x,r=t.data.global.y;if(this.radiusSquared){const n=this.parent.toScreen(this.parent.center);if(Math.pow(n.x-e,2)+Math.pow(n.y-r,2)>=this.radiusSquared){const o=Math.atan2(n.y-r,n.x-e);this.options.linear?(this.horizontal=Math.round(Math.cos(o))*this.options.speed*this.reverse*(60/1e3),this.vertical=Math.round(Math.sin(o))*this.options.speed*this.reverse*(60/1e3)):(this.horizontal=Math.cos(o)*this.options.speed*this.reverse*(60/1e3),this.vertical=Math.sin(o)*this.options.speed*this.reverse*(60/1e3))}else this.horizontal&&this.decelerateHorizontal(),this.vertical&&this.decelerateVertical(),this.horizontal=this.vertical=0}else this.left!==null&&e<this.left?this.horizontal=Number(this.reverse)*this.options.speed*(60/1e3):this.right!==null&&e>this.right?this.horizontal=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateHorizontal(),this.horizontal=0),this.top!==null&&r<this.top?this.vertical=Number(this.reverse)*this.options.speed*(60/1e3):this.bottom!==null&&r>this.bottom?this.vertical=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateVertical(),this.vertical=0);return!1}decelerateHorizontal(){const t=this.parent.plugins.get("decelerate",!0);this.horizontal&&t&&!this.options.noDecelerate&&t.activate({x:this.horizontal*this.options.speed*this.reverse/(1e3/60)})}decelerateVertical(){const t=this.parent.plugins.get("decelerate",!0);this.vertical&&t&&!this.options.noDecelerate&&t.activate({y:this.vertical*this.options.speed*this.reverse/(1e3/60)})}up(){return this.paused||(this.horizontal&&this.decelerateHorizontal(),this.vertical&&this.decelerateVertical(),this.horizontal=this.vertical=null),!1}update(){if(!this.paused&&(this.horizontal||this.vertical)){const t=this.parent.center;this.horizontal&&(t.x+=this.horizontal*this.options.speed),this.vertical&&(t.y+=this.vertical*this.options.speed),this.parent.moveCenter(t),this.parent.emit("moved",{viewport:this.parent,type:"mouse-edges"})}}}const um={noDrag:!1,percent:1,center:null,factor:1,axis:"all"};class yi extends xt{__init(){this.active=!1}__init2(){this.pinching=!1}__init3(){this.moved=!1}constructor(t,e={}){super(t),yi.prototype.__init.call(this),yi.prototype.__init2.call(this),yi.prototype.__init3.call(this),this.options=Object.assign({},um,e)}down(){return this.parent.input.count()>=2?(this.active=!0,!0):!1}isAxisX(){return["all","x"].includes(this.options.axis)}isAxisY(){return["all","y"].includes(this.options.axis)}move(t){if(this.paused||!this.active)return!1;const e=t.data.global.x,r=t.data.global.y,n=this.parent.input.touches;if(n.length>=2){const s=n[0],o=n[1],a=s.last&&o.last?Math.sqrt(Math.pow(o.last.x-s.last.x,2)+Math.pow(o.last.y-s.last.y,2)):null;if(s.id===t.data.pointerId?s.last={x:e,y:r,data:t.data}:o.id===t.data.pointerId&&(o.last={x:e,y:r,data:t.data}),a){let h;const l={x:s.last.x+(o.last.x-s.last.x)/2,y:s.last.y+(o.last.y-s.last.y)/2};this.options.center||(h=this.parent.toLocal(l));let u=Math.sqrt(Math.pow(o.last.x-s.last.x,2)+Math.pow(o.last.y-s.last.y,2));u=u===0?u=1e-10:u;const f=(1-a/u)*this.options.percent*(this.isAxisX()?this.parent.scale.x:this.parent.scale.y);this.isAxisX()&&(this.parent.scale.x+=f),this.isAxisY()&&(this.parent.scale.y+=f),this.parent.emit("zoomed",{viewport:this.parent,type:"pinch",center:l});const p=this.parent.plugins.get("clamp-zoom",!0);if(p&&p.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{const d=this.parent.toGlobal(h);this.parent.x+=(l.x-d.x)*this.options.factor,this.parent.y+=(l.y-d.y)*this.options.factor,this.parent.emit("moved",{viewport:this.parent,type:"pinch"})}!this.options.noDrag&&this.lastCenter&&(this.parent.x+=(l.x-this.lastCenter.x)*this.options.factor,this.parent.y+=(l.y-this.lastCenter.y)*this.options.factor,this.parent.emit("moved",{viewport:this.parent,type:"pinch"})),this.lastCenter=l,this.moved=!0}else this.pinching||(this.parent.emit("pinch-start",this.parent),this.pinching=!0);return!0}return!1}up(){return this.pinching&&this.parent.input.touches.length<=1?(this.active=!1,this.lastCenter=null,this.pinching=!1,this.moved=!1,this.parent.emit("pinch-end",this.parent),!0):!1}}const fm={topLeft:!1,friction:.8,time:1e3,ease:"easeInOutSine",interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1};class cm extends xt{constructor(t,e,r,n={}){super(t),this.options=Object.assign({},fm,n),this.ease=cr(n.ease,"easeInOutSine"),this.x=e,this.y=r,this.options.forceStart&&this.snapStart()}snapStart(){this.percent=0,this.snapping={time:0};const t=this.options.topLeft?this.parent.corner:this.parent.center;this.deltaX=this.x-t.x,this.deltaY=this.y-t.y,this.startX=t.x,this.startY=t.y,this.parent.emit("snap-start",this.parent)}wheel(){return this.options.removeOnInterrupt&&this.parent.plugins.remove("snap"),!1}down(){return this.options.removeOnInterrupt?this.parent.plugins.remove("snap"):this.options.interrupt&&(this.snapping=null),!1}up(){if(this.parent.input.count()===0){const t=this.parent.plugins.get("decelerate",!0);t&&(t.x||t.y)&&(t.percentChangeX=t.percentChangeY=this.options.friction)}return!1}update(t){if(!this.paused&&!(this.options.interrupt&&this.parent.input.count()!==0))if(this.snapping){const e=this.snapping;e.time+=t;let r,n,s;const o=this.startX,a=this.startY,h=this.deltaX,l=this.deltaY;if(e.time>this.options.time)r=!0,n=o+h,s=a+l;else{const u=this.ease(e.time,0,1,this.options.time);n=o+h*u,s=a+l*u}this.options.topLeft?this.parent.moveCorner(n,s):this.parent.moveCenter(n,s),this.parent.emit("moved",{viewport:this.parent,type:"snap"}),r&&(this.options.removeOnComplete&&this.parent.plugins.remove("snap"),this.parent.emit("snap-end",this.parent),this.snapping=null)}else{const e=this.options.topLeft?this.parent.corner:this.parent.center;(e.x!==this.x||e.y!==this.y)&&this.snapStart()}}}const pm={width:0,height:0,time:1e3,ease:"easeInOutSine",center:null,interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1,noMove:!1};class dm extends xt{constructor(t,e={}){super(t),this.options=Object.assign({},pm,e),this.ease=cr(this.options.ease),this.xIndependent=!1,this.yIndependent=!1,this.xScale=0,this.yScale=0,this.options.width>0&&(this.xScale=t.screenWidth/this.options.width,this.xIndependent=!0),this.options.height>0&&(this.yScale=t.screenHeight/this.options.height,this.yIndependent=!0),this.xScale=this.xIndependent?this.xScale:this.yScale,this.yScale=this.yIndependent?this.yScale:this.xScale,this.options.time===0?(t.container.scale.x=this.xScale,t.container.scale.y=this.yScale,this.options.removeOnComplete&&this.parent.plugins.remove("snap-zoom")):e.forceStart&&this.createSnapping()}createSnapping(){const t=this.parent.worldScreenWidth,e=this.parent.worldScreenHeight,r=this.parent.screenWidth/this.xScale,n=this.parent.screenHeight/this.yScale;this.snapping={time:0,startX:t,startY:e,deltaX:r-t,deltaY:n-e},this.parent.emit("snap-zoom-start",this.parent)}resize(){this.snapping=null,this.options.width>0&&(this.xScale=this.parent.screenWidth/this.options.width),this.options.height>0&&(this.yScale=this.parent.screenHeight/this.options.height),this.xScale=this.xIndependent?this.xScale:this.yScale,this.yScale=this.yIndependent?this.yScale:this.xScale}wheel(){return this.options.removeOnInterrupt&&this.parent.plugins.remove("snap-zoom"),!1}down(){return this.options.removeOnInterrupt?this.parent.plugins.remove("snap-zoom"):this.options.interrupt&&(this.snapping=null),!1}update(t){if(this.paused||this.options.interrupt&&this.parent.input.count()!==0)return;let e;if(!this.options.center&&!this.options.noMove&&(e=this.parent.center),!this.snapping)(this.parent.scale.x!==this.xScale||this.parent.scale.y!==this.yScale)&&this.createSnapping();else if(this.snapping){const r=this.snapping;if(r.time+=t,r.time>=this.options.time)this.parent.scale.set(this.xScale,this.yScale),this.options.removeOnComplete&&this.parent.plugins.remove("snap-zoom"),this.parent.emit("snap-zoom-end",this.parent),this.snapping=null;else{const s=this.snapping,o=this.ease(s.time,s.startX,s.deltaX,this.options.time),a=this.ease(s.time,s.startY,s.deltaY,this.options.time);this.parent.scale.x=this.parent.screenWidth/o,this.parent.scale.y=this.parent.screenHeight/a}const n=this.parent.plugins.get("clamp-zoom",!0);n&&n.clamp(),this.options.noMove||(this.options.center?this.parent.moveCenter(this.options.center):this.parent.moveCenter(e))}}resume(){this.snapping=null,super.resume()}}const vm={percent:.1,smooth:!1,interrupt:!0,reverse:!1,center:null,lineHeight:20,axis:"all",keyToPress:null,trackpadPinch:!1,wheelZoom:!0};class ym extends xt{constructor(t,e={}){super(t),this.options=Object.assign({},vm,e),this.keyIsPressed=!1,this.options.keyToPress&&this.handleKeyPresses(this.options.keyToPress)}handleKeyPresses(t){window.addEventListener("keydown",e=>{t.includes(e.code)&&(this.keyIsPressed=!0)}),window.addEventListener("keyup",e=>{t.includes(e.code)&&(this.keyIsPressed=!1)})}checkKeyPress(){return!this.options.keyToPress||this.keyIsPressed}down(){return this.options.interrupt&&(this.smoothing=null),!1}isAxisX(){return["all","x"].includes(this.options.axis)}isAxisY(){return["all","y"].includes(this.options.axis)}update(){if(this.smoothing){const t=this.smoothingCenter,e=this.smoothing;let r;this.options.center||(r=this.parent.toLocal(t)),this.isAxisX()&&(this.parent.scale.x+=e.x),this.isAxisY()&&(this.parent.scale.y+=e.y),this.parent.emit("zoomed",{viewport:this.parent,type:"wheel"});const n=this.parent.plugins.get("clamp-zoom",!0);if(n&&n.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{const s=this.parent.toGlobal(r);this.parent.x+=t.x-s.x,this.parent.y+=t.y-s.y}this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.smoothingCount++,this.smoothingCount>=this.options.smooth&&(this.smoothing=null)}}pinch(t){if(this.paused)return;const e=this.parent.input.getPointerPosition(t),r=-t.deltaY*(t.deltaMode?this.options.lineHeight:1)/200,n=Math.pow(2,(1+this.options.percent)*r);let s;this.options.center||(s=this.parent.toLocal(e)),this.isAxisX()&&(this.parent.scale.x*=n),this.isAxisY()&&(this.parent.scale.y*=n),this.parent.emit("zoomed",{viewport:this.parent,type:"wheel"});const o=this.parent.plugins.get("clamp-zoom",!0);if(o&&o.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{const a=this.parent.toGlobal(s);this.parent.x+=e.x-a.x,this.parent.y+=e.y-a.y}this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.parent.emit("wheel",{wheel:{dx:t.deltaX,dy:t.deltaY,dz:t.deltaZ},event:t,viewport:this.parent})}wheel(t){if(this.paused||!this.checkKeyPress())return!1;if(t.ctrlKey&&this.options.trackpadPinch)this.pinch(t);else if(this.options.wheelZoom){const e=this.parent.input.getPointerPosition(t),n=(this.options.reverse?-1:1)*-t.deltaY*(t.deltaMode?this.options.lineHeight:1)/500,s=Math.pow(2,(1+this.options.percent)*n);if(this.options.smooth){const o={x:this.smoothing?this.smoothing.x*(this.options.smooth-this.smoothingCount):0,y:this.smoothing?this.smoothing.y*(this.options.smooth-this.smoothingCount):0};this.smoothing={x:((this.parent.scale.x+o.x)*s-this.parent.scale.x)/this.options.smooth,y:((this.parent.scale.y+o.y)*s-this.parent.scale.y)/this.options.smooth},this.smoothingCount=0,this.smoothingCenter=e}else{let o;this.options.center||(o=this.parent.toLocal(e)),this.isAxisX()&&(this.parent.scale.x*=s),this.isAxisY()&&(this.parent.scale.y*=s),this.parent.emit("zoomed",{viewport:this.parent,type:"wheel"});const a=this.parent.plugins.get("clamp-zoom",!0);if(a&&a.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{const h=this.parent.toGlobal(o);this.parent.x+=e.x-h.x,this.parent.y+=e.y-h.y}}this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.parent.emit("wheel",{wheel:{dx:t.deltaX,dy:t.deltaY,dz:t.deltaZ},event:t,viewport:this.parent})}return!this.parent.options.passiveWheel}}class mm{constructor(t){this.viewport=t,this.touches=[],this.addListeners()}addListeners(){this.viewport.interactive=!0,this.viewport.forceHitArea||(this.viewport.hitArea=new U(0,0,this.viewport.worldWidth,this.viewport.worldHeight)),this.viewport.on("pointerdown",this.down,this),this.viewport.on("pointermove",this.move,this),this.viewport.on("pointerup",this.up,this),this.viewport.on("pointerupoutside",this.up,this),this.viewport.on("pointercancel",this.up,this),this.viewport.on("pointerout",this.up,this),this.wheelFunction=t=>this.handleWheel(t),this.viewport.options.divWheel.addEventListener("wheel",this.wheelFunction,{passive:this.viewport.options.passiveWheel}),this.isMouseDown=!1}destroy(){this.viewport.options.divWheel.removeEventListener("wheel",this.wheelFunction)}down(t){if(this.viewport.pause||!this.viewport.worldVisible)return;if(t.data.pointerType==="mouse"?this.isMouseDown=!0:this.get(t.data.pointerId)||this.touches.push({id:t.data.pointerId,last:null}),this.count()===1){this.last=t.data.global.clone();const r=this.viewport.plugins.get("decelerate",!0),n=this.viewport.plugins.get("bounce",!0);(!r||!r.isActive())&&(!n||!n.isActive())?this.clickedAvailable=!0:this.clickedAvailable=!1}else this.clickedAvailable=!1;this.viewport.plugins.down(t)&&this.viewport.options.stopPropagation&&t.stopPropagation()}clear(){this.isMouseDown=!1,this.touches=[],this.last=null}checkThreshold(t){return Math.abs(t)>=this.viewport.threshold}move(t){if(this.viewport.pause||!this.viewport.worldVisible)return;const e=this.viewport.plugins.move(t);if(this.clickedAvailable&&this.last){const r=t.data.global.x-this.last.x,n=t.data.global.y-this.last.y;(this.checkThreshold(r)||this.checkThreshold(n))&&(this.clickedAvailable=!1)}e&&this.viewport.options.stopPropagation&&t.stopPropagation()}up(t){if(this.viewport.pause||!this.viewport.worldVisible)return;t.data.pointerType==="mouse"&&(this.isMouseDown=!1),t.data.pointerType!=="mouse"&&this.remove(t.data.pointerId);const e=this.viewport.plugins.up(t);this.clickedAvailable&&this.count()===0&&this.last&&(this.viewport.emit("clicked",{event:t,screen:this.last,world:this.viewport.toWorld(this.last),viewport:this}),this.clickedAvailable=!1),e&&this.viewport.options.stopPropagation&&t.stopPropagation()}getPointerPosition(t){const e=new B;if(this.viewport.options.interaction)this.viewport.options.interaction.mapPositionToPoint(e,t.clientX,t.clientY);else if(this.viewport.options.useDivWheelForInputManager&&this.viewport.options.divWheel){const r=this.viewport.options.divWheel.getBoundingClientRect();e.x=t.clientX-r.left,e.y=t.clientY-r.top}else e.x=t.clientX,e.y=t.clientY;return e}handleWheel(t){if(this.viewport.pause||!this.viewport.worldVisible||this.viewport.options.interaction&&this.viewport.options.interaction.interactionDOMElement!==t.target)return;const e=this.viewport.toLocal(this.getPointerPosition(t));this.viewport.left<=e.x&&e.x<=this.viewport.right&&this.viewport.top<=e.y&&e.y<=this.viewport.bottom&&this.viewport.plugins.wheel(t)&&!this.viewport.options.passiveWheel&&t.preventDefault()}pause(){this.touches=[],this.isMouseDown=!1}get(t){for(const e of this.touches)if(e.id===t)return e;return null}remove(t){for(let e=0;e<this.touches.length;e++)if(this.touches[e].id===t){this.touches.splice(e,1);return}}count(){return(this.isMouseDown?1:0)+this.touches.length}}function Yn(i){let t,e=i[0],r=1;for(;r<i.length;){const n=i[r],s=i[r+1];if(r+=2,(n==="optionalAccess"||n==="optionalCall")&&e==null)return;n==="access"||n==="optionalAccess"?(t=e,e=s(e)):(n==="call"||n==="optionalCall")&&(e=s((...o)=>e.call(t,...o)),t=void 0)}return e}const mi=["drag","pinch","wheel","follow","mouse-edges","decelerate","animate","bounce","snap-zoom","clamp-zoom","snap","clamp"];class gm{constructor(t){this.viewport=t,this.list=[],this.plugins={}}add(t,e,r=mi.length){this.plugins[t]=e;const n=mi.indexOf(t);n!==-1&&mi.splice(n,1),mi.splice(r,0,t),this.sort()}get(t,e){return e&&Yn([this,"access",r=>r.plugins,"access",r=>r[t],"optionalAccess",r=>r.paused])?null:this.plugins[t]}update(t){for(const e of this.list)e.update(t)}resize(){for(const t of this.list)t.resize()}reset(){for(const t of this.list)t.reset()}removeAll(){this.plugins={},this.sort()}remove(t){this.plugins[t]&&(delete this.plugins[t],this.viewport.emit(`${t}-remove`),this.sort())}pause(t){Yn([this,"access",e=>e.plugins,"access",e=>e[t],"optionalAccess",e=>e.pause,"call",e=>e()])}resume(t){Yn([this,"access",e=>e.plugins,"access",e=>e[t],"optionalAccess",e=>e.resume,"call",e=>e()])}sort(){this.list=[];for(const t of mi)this.plugins[t]&&this.list.push(this.plugins[t])}down(t){let e=!1;for(const r of this.list)r.down(t)&&(e=!0);return e}move(t){let e=!1;for(const r of this.viewport.plugins.list)r.move(t)&&(e=!0);return e}up(t){let e=!1;for(const r of this.list)r.up(t)&&(e=!0);return e}wheel(t){let e=!1;for(const r of this.list)r.wheel(t)&&(e=!0);return e}}const _m={screenWidth:window.innerWidth,screenHeight:window.innerHeight,worldWidth:null,worldHeight:null,threshold:5,passiveWheel:!0,stopPropagation:!1,forceHitArea:null,noTicker:!1,interaction:null,disableOnContextMenu:!1,ticker:ft.shared};class Hn extends ct{__init(){this._disableOnContextMenu=t=>t.preventDefault()}constructor(t={}){super(),Hn.prototype.__init.call(this),this.options=Object.assign({},{divWheel:document.body},_m,t),this.screenWidth=this.options.screenWidth,this.screenHeight=this.options.screenHeight,this._worldWidth=this.options.worldWidth,this._worldHeight=this.options.worldHeight,this.forceHitArea=this.options.forceHitArea,this.threshold=this.options.threshold,this.options.divWheel=this.options.divWheel||document.body,this.options.disableOnContextMenu&&this.options.divWheel.addEventListener("contextmenu",this._disableOnContextMenu),this.options.noTicker||(this.tickerFunction=()=>this.update(this.options.ticker.elapsedMS),this.options.ticker.add(this.tickerFunction)),this.input=new mm(this),this.plugins=new gm(this)}destroy(t){!this.options.noTicker&&this.tickerFunction&&this.options.ticker.remove(this.tickerFunction),this.options.disableOnContextMenu&&this.options.divWheel.removeEventListener("contextmenu",this._disableOnContextMenu),this.input.destroy(),super.destroy(t)}update(t){this.pause||(this.plugins.update(t),this.lastViewport&&(this.lastViewport.x!==this.x||this.lastViewport.y!==this.y?this.moving=!0:this.moving&&(this.emit("moved-end",this),this.moving=!1),this.lastViewport.scaleX!==this.scale.x||this.lastViewport.scaleY!==this.scale.y?this.zooming=!0:this.zooming&&(this.emit("zoomed-end",this),this.zooming=!1)),this.forceHitArea||(this._hitAreaDefault=new U(this.left,this.top,this.worldScreenWidth,this.worldScreenHeight),this.hitArea=this._hitAreaDefault),this._dirty=this._dirty||!this.lastViewport||this.lastViewport.x!==this.x||this.lastViewport.y!==this.y||this.lastViewport.scaleX!==this.scale.x||this.lastViewport.scaleY!==this.scale.y,this.lastViewport={x:this.x,y:this.y,scaleX:this.scale.x,scaleY:this.scale.y},this.emit("frame-end",this))}resize(t=window.innerWidth,e=window.innerHeight,r,n){this.screenWidth=t,this.screenHeight=e,typeof r<"u"&&(this._worldWidth=r),typeof n<"u"&&(this._worldHeight=n),this.plugins.resize(),this.dirty=!0}get worldWidth(){return this._worldWidth?this._worldWidth:this.width/this.scale.x}set worldWidth(t){this._worldWidth=t,this.plugins.resize()}get worldHeight(){return this._worldHeight?this._worldHeight:this.height/this.scale.y}set worldHeight(t){this._worldHeight=t,this.plugins.resize()}getVisibleBounds(){return new U(this.left,this.top,this.worldScreenWidth,this.worldScreenHeight)}toWorld(t,e){return arguments.length===2?this.toLocal(new B(t,e)):this.toLocal(t)}toScreen(t,e){return arguments.length===2?this.toGlobal(new B(t,e)):this.toGlobal(t)}get worldScreenWidth(){return this.screenWidth/this.scale.x}get worldScreenHeight(){return this.screenHeight/this.scale.y}get screenWorldWidth(){return this.worldWidth*this.scale.x}get screenWorldHeight(){return this.worldHeight*this.scale.y}get center(){return new B(this.worldScreenWidth/2-this.x/this.scale.x,this.worldScreenHeight/2-this.y/this.scale.y)}set center(t){this.moveCenter(t)}moveCenter(...t){let e,r;typeof t[0]=="number"?(e=t[0],r=t[1]):(e=t[0].x,r=t[0].y);const n=(this.worldScreenWidth/2-e)*this.scale.x,s=(this.worldScreenHeight/2-r)*this.scale.y;return(this.x!==n||this.y!==s)&&(this.position.set(n,s),this.plugins.reset(),this.dirty=!0),this}get corner(){return new B(-this.x/this.scale.x,-this.y/this.scale.y)}set corner(t){this.moveCorner(t)}moveCorner(...t){let e,r;return t.length===1?(e=-t[0].x*this.scale.x,r=-t[0].y*this.scale.y):(e=-t[0]*this.scale.x,r=-t[1]*this.scale.y),(e!==this.x||r!==this.y)&&(this.position.set(e,r),this.plugins.reset(),this.dirty=!0),this}get screenWidthInWorldPixels(){return this.screenWidth/this.scale.x}get screenHeightInWorldPixels(){return this.screenHeight/this.scale.y}findFitWidth(t){return this.screenWidth/t}findFitHeight(t){return this.screenHeight/t}findFit(t,e){const r=this.screenWidth/t,n=this.screenHeight/e;return Math.min(r,n)}findCover(t,e){const r=this.screenWidth/t,n=this.screenHeight/e;return Math.max(r,n)}fitWidth(t=this.worldWidth,e,r=!0,n){let s;e&&(s=this.center),this.scale.x=this.screenWidth/t,r&&(this.scale.y=this.scale.x);const o=this.plugins.get("clamp-zoom",!0);return!n&&o&&o.clamp(),e&&s&&this.moveCenter(s),this}fitHeight(t=this.worldHeight,e,r=!0,n){let s;e&&(s=this.center),this.scale.y=this.screenHeight/t,r&&(this.scale.x=this.scale.y);const o=this.plugins.get("clamp-zoom",!0);return!n&&o&&o.clamp(),e&&s&&this.moveCenter(s),this}fitWorld(t){let e;t&&(e=this.center),this.scale.x=this.screenWidth/this.worldWidth,this.scale.y=this.screenHeight/this.worldHeight,this.scale.x<this.scale.y?this.scale.y=this.scale.x:this.scale.x=this.scale.y;const r=this.plugins.get("clamp-zoom",!0);return r&&r.clamp(),t&&e&&this.moveCenter(e),this}fit(t,e=this.worldWidth,r=this.worldHeight){let n;t&&(n=this.center),this.scale.x=this.screenWidth/e,this.scale.y=this.screenHeight/r,this.scale.x<this.scale.y?this.scale.y=this.scale.x:this.scale.x=this.scale.y;const s=this.plugins.get("clamp-zoom",!0);return s&&s.clamp(),t&&n&&this.moveCenter(n),this}setZoom(t,e){let r;e&&(r=this.center),this.scale.set(t);const n=this.plugins.get("clamp-zoom",!0);return n&&n.clamp(),e&&r&&this.moveCenter(r),this}zoomPercent(t,e){return this.setZoom(this.scale.x+this.scale.x*t,e)}zoom(t,e){return this.fitWidth(t+this.worldScreenWidth,e),this}get scaled(){return this.scale.x}set scaled(t){this.setZoom(t,!0)}snapZoom(t){return this.plugins.add("snap-zoom",new dm(this,t)),this}OOB(){return{left:this.left<0,right:this.right>this.worldWidth,top:this.top<0,bottom:this.bottom>this.worldHeight,cornerPoint:new B(this.worldWidth*this.scale.x-this.screenWidth,this.worldHeight*this.scale.y-this.screenHeight)}}get right(){return-this.x/this.scale.x+this.worldScreenWidth}set right(t){this.x=-t*this.scale.x+this.screenWidth,this.plugins.reset()}get left(){return-this.x/this.scale.x}set left(t){this.x=-t*this.scale.x,this.plugins.reset()}get top(){return-this.y/this.scale.y}set top(t){this.y=-t*this.scale.y,this.plugins.reset()}get bottom(){return-this.y/this.scale.y+this.worldScreenHeight}set bottom(t){this.y=-t*this.scale.y+this.screenHeight,this.plugins.reset()}get dirty(){return!!this._dirty}set dirty(t){this._dirty=t}get forceHitArea(){return this._forceHitArea}set forceHitArea(t){t?(this._forceHitArea=t,this.hitArea=t):(this._forceHitArea=null,this.hitArea=new U(0,0,this.worldWidth,this.worldHeight))}drag(t){return this.plugins.add("drag",new sm(this,t)),this}clamp(t){return this.plugins.add("clamp",new Ky(this,t)),this}decelerate(t){return this.plugins.add("decelerate",new rm(this,t)),this}bounce(t){return this.plugins.add("bounce",new Jy(this,t)),this}pinch(t){return this.plugins.add("pinch",new yi(this,t)),this}snap(t,e,r){return this.plugins.add("snap",new cm(this,t,e,r)),this}follow(t,e){return this.plugins.add("follow",new am(this,t,e)),this}wheel(t){return this.plugins.add("wheel",new ym(this,t)),this}animate(t){return this.plugins.add("animate",new zt(this,t)),this}clampZoom(t){return this.plugins.add("clamp-zoom",new em(this,t)),this}mouseEdges(t){return this.plugins.add("mouse-edges",new lm(this,t)),this}get pause(){return!!this._pause}set pause(t){this._pause=t,this.lastViewport=null,this.moving=!1,this.zooming=!1,t&&this.input.pause()}ensureVisible(t,e,r,n,s){s&&(r>this.worldScreenWidth||n>this.worldScreenHeight)&&(this.fit(!0,r,n),this.emit("zoomed",{viewport:this,type:"ensureVisible"}));let o=!1;t<this.left?(this.left=t,o=!0):t+r>this.right&&(this.right=t+r,o=!0),e<this.top?(this.top=e,o=!0):e+n>this.bottom&&(this.bottom=e+n,o=!0),o&&this.emit("moved",{viewport:this,type:"ensureVisible"})}}const V=100;var ka={exports:{}};function Wn(){}Wn.prototype={on:function(i,t,e){var r=this.e||(this.e={});return(r[i]||(r[i]=[])).push({fn:t,ctx:e}),this},once:function(i,t,e){var r=this;function n(){r.off(i,n),t.apply(e,arguments)}return n._=t,this.on(i,n,e)},emit:function(i){var t=[].slice.call(arguments,1),e=((this.e||(this.e={}))[i]||[]).slice(),r=0,n=e.length;for(r;r<n;r++)e[r].fn.apply(e[r].ctx,t);return this},off:function(i,t){var e=this.e||(this.e={}),r=e[i],n=[];if(r&&t)for(var s=0,o=r.length;s<o;s++)r[s].fn!==t&&r[s].fn._!==t&&n.push(r[s]);return n.length?e[i]=n:delete e[i],this}},ka.exports=Wn;var Ua=ka.exports.TinyEmitter=Wn;class dr extends Ua{constructor({floorPlan:t,helperId:e}){super(),this.floorPlan=t,this.helperId=e}destroy(){delete this.floorPlan.helper[this.helperId],this.floorPlan=null}}class xm extends dr{constructor({floorPlan:t,parentEl:e,helperId:r}){super({floorPlan:t,helperId:r}),!(!e||!t)&&(this.data={cursor:["0","0"]},this.floorPlan.on("mousemove",this.update,this),this.mount(e),this.update())}update(){this.rootEl&&this.setData({cursor:[ze(this.floorPlan.interaction.cursor[0],this.floorPlan.settings.units.system,this.floorPlan.settings.units.lengthDecimals),ze(this.floorPlan.interaction.cursor[1],this.floorPlan.settings.units.system,this.floorPlan.settings.units.lengthDecimals)]})}setData(t={}){for(let e in t)this.data[e]=t[e];this.rootEl.innerHTML=this.template(this.data)}template(t={}){return`<span class="fpe-coordinates__unit">x:${t.cursor[0]}</span>
|
|
827
|
+
<span class="fpe-coordinates__unit">z:${t.cursor[1]}</span>`}mount(t){this.rootEl||(this.rootEl=document.createElement("div"),this.rootEl.classList.add("fpe-coordinates"),t.appendChild(this.rootEl))}destroy(){this.floorPlan.off("mousemove",this.update),this.rootEl.remove(),delete this.floorPlan,delete this.data}}class wm extends dr{constructor({floorPlan:t,parentEl:e,helperId:r}){super({floorPlan:t,helperId:r}),!(!e||!t)&&(this.data={width:10,height:.4,margin:.2,style:"lines",box:{},scaleStep:null,scaleDisplay:null,steps:[],leftHanded:!1,isImperial:t.settings.units.system==="imperial"},this.floorPlan.view.on("zoom",this.update,this),this.floorPlan.on("update-settings",this.update,this),this.mount(e),this.update())}update(){this.data.isImperial=this.floorPlan.settings.units.system==="imperial";const t=this.data.isImperial?3.28084:1;if(!this.floorPlan.view.viewbox||!this.floorPlan.view.viewbox.length)return;this.data.box=this.floorPlan.view.viewbox;const e=Math.min(this.floorPlan.view.client[0],this.floorPlan.view.client[1]),r=Math.min(this.data.box.length,this.data.box.width),n=e/r;if(!n)return;const s=200/n;r<=.5/t?this.data.scaleStep=.01/t:r<=1/t?this.data.scaleStep=.05/t:r<=2.5/t?this.data.scaleStep=.1/t:r<=5.4/t?this.data.scaleStep=.2/t:r<=12/t?this.data.scaleStep=.5/t:r<=25/t?this.data.scaleStep=1/t:r<=50/t?this.data.scaleStep=2/t:r<=100/t?this.data.scaleStep=5/t:r<=200/t?this.data.scaleStep=10/t:r<=550/t?this.data.scaleStep=20/t:this.data.scaleStep=50/t,this.data.scaleDisplay=this.data.scaleStep*t;const o=this.data.width,a=o*this.data.scaleStep/s,h=this.leftHanded?0:o;let l=0,u=[];if(this.data.leftHanded)for(;l<o-a;){let f=a<o-l?a:o-l;u.push([l+h,f]),l+=a}else for(;l>-o+a;){let f=a;u.push([l+h,-f]),l-=a}this.data.steps=u,this.setData()}setData(t={}){for(let e in t)this.data[e]=t[e];this.rootEl.setAttribute("viewBox",`-${this.data.margin} -${this.data.margin*3} ${this.data.width+this.data.margin*2} ${this.data.height+this.data.margin*2}`),this.rootEl.innerHTML=this.template(this.data)}template(t={}){let e="";return t.steps[0]&&(e+=`<rect
|
|
828
|
+
class="fpe-scale-bar__background"
|
|
829
|
+
style="fill:${this.backgroundClr()}"
|
|
830
|
+
y="${-t.height*2.5}"
|
|
831
|
+
x="${t.width+t.steps[0][1]-t.margin}"
|
|
832
|
+
width="${-t.steps[0][1]+t.margin*2}"
|
|
833
|
+
height="${t.height*4}"
|
|
834
|
+
/>`),e+=`<text x="${t.leftHanded?0:t.width}" text-anchor="${t.leftHanded?"start":"end"}" y="-0.3">
|
|
835
|
+
${t.scaleDisplay} ${t.isImperial?"ft":"m"}
|
|
836
|
+
</text>`,t.style==="lines"&&(e+=`<path d="${this.stepStr(t.steps)}" />`),t.style==="solid"&&(e+="<g>",t.steps.forEach((r,n)=>{e+=`<rect
|
|
837
|
+
class="${n%2!==0?"white":""}"
|
|
838
|
+
x="${r[0]}"
|
|
839
|
+
y="0"
|
|
840
|
+
width="${r[1]}"
|
|
841
|
+
height="0.5"
|
|
842
|
+
/>`}),e+="</g>"),e}backgroundClr(){function t(n,s=1){if(lh(n)){const{r:o,g:a,b:h}=hh(n);return`rgba(${o},${a},${h},${s})`}}const e="rgba(255, 255, 255, 0.8)";let r=this.floorPlan.settings&&t(this.floorPlan.settings.theme.background.color);return r||(r=e),r+"!important"}stepStr(t){if(!t)return"";let e="",r=this.data.height;return t.forEach((n,s)=>{if(s>=1&&!this.data.leftHanded)return;n=n.map(h=>Math.round(h*1e3)/1e3);let o=s%2===0?0:r,a=s%2===0?r:0;s===0&&(e+=`M ${n[0]} ${r} L ${n[0]} 0`),e+=`L ${n[0]+n[1]} ${o} `,e+=`L ${n[0]+n[1]} ${a} `}),e}mount(t){this.rootEl||(this.rootEl=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.rootEl.classList.add("fpe-scale-bar"),t.appendChild(this.rootEl))}destroy(){this.floorPlan.view.off("viewbox",this.update),this.floorPlan.off("update-settings",this.update),this.rootEl.remove(),delete this.floorPlan.helper.scaleBar,delete this.floorPlan,delete this.data}}const Pm=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40">
|
|
843
|
+
<g fill="none" stroke="#000" stroke-width="1.2" stroke-miterlimit="10">
|
|
844
|
+
<path d="M11.8 11.8l16.4 16.4M11.8 28.2l16.3-16.4" />
|
|
845
|
+
</g>
|
|
846
|
+
</svg>`,Xa={w:100,h:80,tip:15};class bm{constructor({width:t,height:e,pos:r=[0,0],html:n="",closeButton:s=!0,floorPlan:o}={}){this._floorPlan=o,this.pos=r,this.html=n,this.closeButton=s,this._anchorPos=null;let a=t||Xa.w;this.width=Math.max(100,a);let h=e||Xa.h;this.height=Math.max(50,h),this._getPosition=()=>{this._anchorPos=this._floorPlan.getScreenPosition(this.pos),this._updateInfoWindow()},this._getPosition(),this._createInfoWindow(),this._floorPlan.view.on("viewbox",this._getPosition,this),this._floorPlan.view.on("resize-canvas",this._getPosition,this)}_createInfoWindow(){const t=document.querySelector(`#${this._floorPlan.fpeId}.fpe`),e=t.querySelector("canvas");this.el||(this.el=document.createElement("div"),this.el.classList.add("fpe-info-window"),t.appendChild(this.el),this.el.addEventListener("wheel",r=>{let n=new WheelEvent(r.type,r);e.dispatchEvent(n)})),this._setContent(),this._updateInfoWindow()}_setContent(){let t=`<div class="fpe-info-window__content">${this.html}</div>`;this.closeButton&&(t+=`<div class="fpe-info-window__close" @click="infoWindow.remove">${Pm}</div>`),this.el.innerHTML=t;const e=this.el.querySelector(".fpe-info-window__close");e&&e.addEventListener("click",this.remove.bind(this))}_updateInfoWindow(){if(!this.el)return;const t=this._floorPlan.interaction.isPanning?"pointer-events: none;":"",e=this._anchorPos[0]-47,r=this._anchorPos[1]-this.height-15,n=1e3+this.pos[1]*2,s=this.height,o=this.width;this.el.setAttribute("style",`transform: translate(${e}px, ${r}px);${t} height:${s}px; width:${o}px; z-index:${n}`)}set({width:t,height:e,pos:r,html:n,closeButton:s}){r!==void 0&&(this.pos=r),t!==void 0&&(this.width=Math.max(100,t)),e!==void 0&&(this.height=Math.max(50,e)),n!==void 0&&(this.html=n),s!==void 0&&(this.closeButton=s),(n!==void 0||s!==void 0)&&this._setContent(),this._getPosition()}remove(){this._floorPlan.view.off("viewbox",this._getPosition),this._floorPlan.view.off("resize-canvas",this._getPosition),this.el.remove(),this._floorPlan=null}}const Tm=([i,t],e,r=0)=>e.x-r<i&&e.x+e.length+r>i&&e.z-r<t&&e.z+e.width+r>t;class Cm{constructor({pos:t=[0,0],offset:e=[0,0],el:r,floorPlan:n}){if(this._updateHtmlMarker=()=>{this.el&&(this.isHidden=!Tm(this.pos,this._floorPlan.view.viewbox,5),this.el.classList.toggle("fpe-marker--hidden",this.isHidden),this.isHidden||(this._anchorPos=this._floorPlan.getScreenPosition(this.pos),this._updateHtmlMarkerStyle()))},!n)return;if(!(r instanceof HTMLElement)){console.warn("no Element provided");return}this.el=r;const s=document.querySelector(`#${n.fpeId}.fpe`),o=s.querySelector("canvas");s.appendChild(this.el),this.el.classList.add("fpe-marker");const{width:a,height:h}=r.getBoundingClientRect();this.el.addEventListener("wheel",l=>{let u=new WheelEvent(l.type,l);o.dispatchEvent(u)}),this.id=se(),this._floorPlan=n,this.pos=t,this.size=[a,h],this.offset=e,this._updateHtmlMarker(),this._floorPlan.view.on("viewbox",this._updateHtmlMarker),this._floorPlan.on("drag-end",this._updateHtmlMarker),this._floorPlan.view.on("resize-canvas",this._updateHtmlMarker)}_updateHtmlMarkerStyle(){const t=this._floorPlan.interaction.isPanning,e=this.offset?this.offset:[0,0],r=this._anchorPos[0]-this.size[0]/2+e[0],n=this._anchorPos[1]-this.size[1]/2+e[1];this.el.style.pointerEvents=t?"none":"",this.el.style.transform=`translate(${r}px, ${n}px)`}set({pos:t,offset:e}){t!==void 0&&(this.pos=t),e!==void 0&&(this.offset=e),this._updateHtmlMarker()}remove(){this._floorPlan.view.off("viewbox",this._updateHtmlMarker),this._floorPlan.view.off("resize-canvas",this._updateHtmlMarker),this._floorPlan.off("drag-end",this._updateHtmlMarker),this.el.remove(),this._floorPlan=null}}class Im{constructor({pos:t,color:e,size:r,floorPlan:n}){this.pos=t,this.color=e,this.size=r,this.floorPlan=n,this.id=se(),this.draw()}draw(){const t=this.size/4e3;this.layer=this.floorPlan.addLayer({id:"fpe-markers"});let e=[{type:"composite",segments:[{type:"arc",position:[0,-27.8],radius:12.4,startAngle:-25,endAngle:205},{type:"line",end:[0,0],start:[-11.2,-22.5]}],style:{fill:Me(this.color),stroke:6710886,strokeWidth:.5/t}},{type:"circle",position:[0,-28],radius:5,style:{fill:1,fillOpacity:.2}}];this.graphic=this.layer.addGraphic({shapes:e,position:this.pos,id:"marker_"+this.id,scale:t,scaleOnZoom:!0})}remove(){this.off("click"),this.layer.deleteGraphic(this.graphic),delete this.floorPlan,this.layer.graphics.size===0&&this.layer.destroy()}on(t="click",e,r){this.graphic.gfx.interactive=!0,this.graphic.gfx.on(t,e,r)}off(t="click",e){this.graphic.gfx.off(t,e)}set(t){let e=["pos","color","size"];Object.keys(t).forEach(r=>{e.includes(r)&&(this[r]=t[r])}),this.draw()}}function Ga(i,t,e=!1,r=16,n=8){let s=[];for(let m=0;m<t.length-1;m+=2)s.push({x:t[m],y:t[m+1]});let o,a,h,l=0,u=0,f=e?1:0;for(o=0;o<s.length-f;o++){a=s[o],o==s.length-1?h=s[0]:h=s[o+1];let m=h.x-a.x,y=h.y-a.y;var p=Math.sqrt(m*m+y*y),d={x:m/p,y:y/p},v=0;for(i.moveTo(a.x+u*d.x,a.y+u*d.y);v<=p;)v+=u,l>0?v+=l:v+=r,v>p?(l=v-p,v=p):l=0,i.lineTo(a.x+v*d.x,a.y+v*d.y),v+=n,v>p&&l==0?u=v-p:(u=0,i.moveTo(a.x+v*d.x,a.y+v*d.y))}}function Lt(i){if(typeof i=="number")return i;if(typeof i=="string")return Me(i);if(Array.isArray(i))return Li(i.map(t=>t/255))}function zn(i){return i.stroke?{alpha:i.strokeOpacity||1,color:Lt(i.stroke),native:i.strokeWidth==="native",width:typeof i.strokeWidth=="number"?i.strokeWidth:1}:{}}function xe({shape:i,settings:t,gfx:e,style:r={}}){var n,s,o;if(!e||!e.lineStyle)return;let a={...r,...i.style||{}};const h=V,l=!["line","polyline","arc"].includes(i.type)&&!!a.fill;if(l&&a.fill&&e.beginFill(Lt(a.fill),a.fillOpacity),e.lineStyle(zn(a)),i.type==="rectangle"){let{position:u,dimensions:f}=i;e.drawRect(u[0]*h,u[1]*h,f[0]*h,f[1]*h)}else if(i.type==="circle"||i.type==="composite"){let u=xo(i);Ya(u.points,[],a,h,e,l)}else if(i.type==="arc"||i.type==="quadraticBezier")Vr(i).points.forEach((u,f)=>{f===0?e.moveTo(u[0]*h,u[1]*h):e.lineTo(u[0]*h,u[1]*h)});else if(i.type==="polygon"){let{points:u,holes:f}=i;Ya(u,f,a,h,e,l)}else if(i.type==="line"){let{start:u=[],end:f=[]}=i;e.moveTo(u[0]*h,u[1]*h),e.lineTo(f[0]*h,f[1]*h)}else if(i.type==="polyline"){let{points:u}=i;a.dash?Ga(e,u.flat().map(f=>f*h),!0):u.forEach((f,p)=>{p===0?e.moveTo(f[0]*h,f[1]*h):e.lineTo(f[0]*h,f[1]*h)})}else if(i.type==="group"){let{position:u=[0,0],rotation:f=0}=i,p=new et;p.x=u[0]*h,p.y=u[1]*h,p.rotation=-Math.PI/180*f,i.children.forEach(d=>xe({shape:d,settings:t,gfx:p,style:r})),e.addChild(p)}else if(i.type==="text"){let u=(n=i.style)!=null&&n.fill?Lt(i.style.fill):0,f=(s=i.style)!=null&&s.stroke?Lt(i.style.stroke):16777215,{position:p=[0,0],rotation:d=0,text:v,alignH:m="center",alignV:y="center",fontSize:g=16}=i;const w=new Ge({fontFamily:((o=t?.theme)==null?void 0:o.fontFamily)||Gt.theme.fontFamily,fontSize:g,fill:u,align:m,stroke:f,strokeThickness:3});let _=new pi(v,w);_.x=p[0]*h,_.y=p[1]*h,_.rotation=-Math.PI/180*d,_.anchor.x=.5,_.anchor.y=y==="center"?.5:y==="bottom"?1:0,e.addChild(_)}l&&e.endFill()}function Ya(i=[],t=[],e={},r=100,n,s){if(!i||!Array.isArray(i)||!i.length)return n;n.lineStyle(zn(e));let o=i.flat().map(a=>a*r);if(e.dash?(Ga(n,o),s&&(n.lineStyle(0),n.drawPolygon(o))):n.drawPolygon(o),t.length){s&&n.beginHole();for(const a of t){let h=a.flat().map(l=>l*r);n.drawPolygon(h)}s&&n.endHole()}return n}const ie={fill:G.white,stroke:G.warsaw,strokeWidth:.5,selectFill:G.zurich_48,selectStroke:G.blue_ribbon,selectStrokeWidth:1,fillOpacity:1};function Em({node:i,settings:t}){const e=t?.theme.showAssetTextures;return{wallContour:{stroke:G.new_york,strokeWidth:1.5},wall:{fill:G.stone,stroke:G.stone,selectFill:G.oslo},curtain:{fill:G.stone_08},column:{fill:G.stone,stroke:G.stone,selectFill:G.oslo},interior:{fill:e?null:G.stone_08,selectFill:e?null:G.zurich_48,selectStrokeWidth:2.5},stairs:{fill:G.whisper},door:{},window:{},railing:{},polyfloor:(()=>{if(i.type!=="polyfloor")return{};const r=i.usage!=="kitchen"&&Yi(i.usage);let n={care:G.gray,circulate:G.whisper,fallback:G.white};const s=r&&n[r]||n.fallback;let o;return r==="void"&&(o=i._isSelected?.5:.05),{fill:s,stroke:13620702,fillOpacity:o}})(),"a:helper:spaceDivider":{fill:G.gray,stroke:G.gray,strokeOpacity:.8,strokeWidth:1,selectStrokeWidth:1},floorplan:{}}[i.type]}const Sm=({settings:i,node:t})=>{var e,r,n,s,o;let a=i.theme.elements,h=t.type,l;h==="column"&&(h="wall"),(h==="polyfloor"||h==="floor")&&(h="space"),h==="interior"&&(h="asset"),t.class&&(h==="door"&&t.class.includes("entryDoor")?l="entryDoor":h==="window"&&t.class.includes("balconyDoor")?l="balconyDoor":h==="window"&&t.class.includes("slidingDoor")?l="slidingDoor":h==="box"&&t.class.includes("preWall")&&(l="preWall"));let u=a[l]||a[h]||{};if(h==="space"){let m=ue[t.usage]||{},y=m.type==="program"?t.usage:m.program;u.usage&&u.usage[t.usage]?u=u.usage[t.usage]:u.program&&u.program[y]&&(u=u.program[y])}else h==="stairs"&&!a[h]&&((r=(e=a?.space)==null?void 0:e.usage)!=null&&r.staircase?u=a.space.usage.staircase:(s=(n=a?.space)==null?void 0:n.program)!=null&&s.circulate&&(u=a.space.program.circulate));(o=a.byId)!=null&&o[t.id]&&(u={...u,...a.byId[t.id]});let{fill:f,fillOpacity:p,stroke:d}=u,v={};return f&&(v.fill=Lt(f),v.selectFill=Lt(f)),d&&(v.stroke=Lt(d)),p&&Number.isFinite(p)&&(v.fillOpacity=Math.max(Math.min(p,1),0)),v},$n=({isSelected:i,settings:t,node:e})=>{var r,n,s,o,a,h,l,u,f;const p=Em({node:e,settings:t}),d=Sm({node:e,settings:t});let v={};if((r=e._highlight)!=null&&r.fill&&Array.isArray((n=e._highlight)==null?void 0:n.fill)){let g=e._highlight.fill;Math.max(...g)<=1&&g.forEach(_=>_=Math.round(_*255));const w=Lt(g);v={fill:w,selectFill:w},Number.isFinite((s=e._highlight)==null?void 0:s.fillOpacity)&&(v.fillOpacity=Math.max(Math.min((o=e._highlight)==null?void 0:o.fillOpacity,1),0))}if((a=e._highlight)!=null&&a.outline&&Array.isArray((h=e._highlight)==null?void 0:h.outline)){const g=e._highlight.outline,w=Lt(g);v={...v,stroke:w,selectStroke:w},Number.isFinite((l=e._highlight)==null?void 0:l.outlineWidth)&&(v.strokeWidth=(u=e._highlight)==null?void 0:u.outlineWidth,v.selectStrokeWidth=(f=e._highlight)==null?void 0:f.outlineWidth)}const m={...p,...d,...v};let y={fill:m.fill!==void 0?m.fill:ie.fill,fillOpacity:m.fillOpacity!==void 0?m.fillOpacity:ie.fillOpacity,stroke:m.stroke??ie.stroke,strokeWidth:m.strokeWidth??ie.strokeWidth};return i&&(y={fill:m.selectFill!==void 0?m.selectFill:ie.selectFill,fillOpacity:m.fillOpacity!==void 0?m.fillOpacity:ie.fillOpacity,stroke:m.selectStroke??ie.selectStroke,strokeWidth:m.selectStrokeWidth??ie.selectStrokeWidth}),y.strokeWidth="native",y};function Am(i,t){t.on("product-load-texture",({textureId:r,productData:n})=>{Lm(t,{textureId:r,productData:n}),Ha({view:i,resourceId:r,loader:t})}),t.on("product-contour",r=>Vn(r,i,t));const e=new et;e.lineStyle({native:!0,color:3355443}),e.drawCircle(0,0,1),i._dummyTexture=i._renderer.generateTexture(e)}function Om(i){return new Promise((t,e)=>{var r=new Image;r.addEventListener("load",()=>{URL.revokeObjectURL(r.src),t(new it(new $(r)))}),r.addEventListener("error",()=>{URL.revokeObjectURL(r.src),e("image loading failed: "+i)});const n=i.includes("/storage/get/"),s=i.startsWith("https://")?i:Hi+i;r.src=s,r.crossOrigin=n?"use-credentials":"anonymous"})}function Ha({resourceId:i,loader:t,view:e}){var r;if((r=t.textureQueue[i])!=null&&r.texture)return Promise.resolve();if(!t.textureQueue[i])return Promise.reject(`no texture data to load ${i}`);let{textureUrl:n,productId:s}=t.textureQueue[i];return Us(),new Promise(o=>{Om(n).then(a=>{t.textureQueue[i].imageData=a,t.textureQueue[i].loadStage=1,(!s||t.productQueue[s].loadStage===3)&&Vn(i,e,t),o()}).catch(a=>{t.textureQueue[i].error=a,t.textureQueue[i].loadStage=1,(!s||t.productQueue[s].loadStage===3)&&Vn(i,e,t),o()})})}function Wa(i,t){let e=new et,r;for(const n of i)xe({shape:n,gfx:e,style:t});return r=e.generateCanvasTexture(lt.LINEAR,2),e.destroy(),r}function za(i,t){switch(t){case De.Default:{const e=new ar;e.matrix=[.7,0,0,0,.25,0,.7,0,0,.25,0,0,.7,0,.25,0,0,0,1,0],i.filters=[e];break}case De.Grayscale:{const e=new ar;e.blackAndWhite(!0),i.filters=[e];break}case De.None:}return i}function Vn(i,t,e){const r=t?._renderer,n=e.textureQueue[i],s=n.error;if(Us(),!n.texture){const o=n?.productId,a=e.resources.products[o],h=new ct;let l;s||(l=new Ot(n.imageData),l=za(l,n.applyFilter),h.addChild(l));let u;const f=o&&e.resources.products[o]._shapes||[];if(f.length){let p;s?p={strokeWidth:.5,stroke:1,fill:16316664}:(p=$n({settings:{theme:{showAssetTextures:!0,elements:{}}},node:{type:"interior"}}),p.stroke=G.stone),u=Wa(f,p);const d=new Ot(u);if(d.anchor.x=n.anchor.x,d.anchor.y=n.anchor.y,!s){let v=l.width/a.boundingBox.length,m=n?.offset||{x:0,y:0};d.scale.x=l.width/d.width,d.scale.y=l.height/d.height,d.x=l.width/2-m.x*v,d.y=l.height/2-m.y*v}h.addChild(d)}n.texture=r.generateTexture(h,{scaleMode:lt.LINEAR,resolution:1.5}),n.loadStage=2,h.destroy(!0),u&&u.destroy(!0)}n.nodes.forEach(o=>{e.emit("product-load-stage",{node:o,args:{_loadStage:3,_textureId:i}})})}function Lm(i,{textureId:t,productData:e}){if(!e||!e.boundingPoints)return;let r={x:e.boundingPoints.min[0],y:e.boundingPoints.min[2]},n={x:Math.abs(e.boundingPoints.min[0]/e.boundingBox.length),y:Math.abs(e.boundingPoints.min[2]/e.boundingBox.width)},s={x:e.boundingPoints.max[0]-e.boundingBox.length/2,y:e.boundingPoints.max[2]-e.boundingBox.width/2};i.textureQueue[t].offset=s,i.textureQueue[t].anchor=n,i.textureQueue[t].position=r}const $t=i=>{if(i!=null&&i.children)for(var t=i.children.length-1;t>=0;t--)i.children[t].destroy({children:!0}),i.removeChild(i.children[t])};function $a(i,t,e){const r=new Ot(i);return r.x=0,r.y=0,r.anchor.x=.5,r.anchor.y=.5,r.rotation=0,t&&(r.width=t),e&&(r.height=e),r}function vr({node:i,ctx:t,parentNode:e,floorPlan:r,update:n=null}){var s,o;if(!i)return;const{view:a,resources:h,settings:l,loader:u}=r;e=e||i.parent;const f=["plan","level","group"].includes(i.type),p=i.id&&(i._isSelected||i.getParents().some(Y=>Y._isSelected)),d=i.id&&i._highlight,v=i.type==="interior",m=V,y=n&&n.container||new ct,g=a.gfxLayers.scene;y.x=i.x*m,y.y=i.z*m,y.rotation=-Math.PI/180*i.ry||0;const{hideElements:w,showCeilingLamps:_,showFloorPlan:b,theme:x,showSpaceDividers:P,xrayMode:I}=l,N=fe(i),C=h.products[N],E=h.productContours[N]||h.productBoundingBoxes[N],F=v&&C?.isCeilingLamp&&!_||x.wallContours&&["wall","column"].includes(i.type)||w.includes(i.type)||!P&&i.type==="a:helper:spaceDivider",O=a.gfxNodes[i.id],R=!v||v&&O?.loadStage===2;let W=!F&&R&&Hp(i,e,E)||[];const S=Do(i.type,C?.order);y.parentLayer=g,y.zOrder=S;let A,D;if(F)A=void 0;else if(v)if(n&&$t(y),O?.loadStage===2)A=new et;else if(!x.showAssetTextures&&O?.loadStage===3)A=new et,W=C._shapes||[];else if(O?.loadStage>2&&x.showAssetTextures&&C!=null&&C.boundingPoints&&O!=null&&O.textureId){const Y=u.textureQueue[O.textureId];if(Y!=null&&Y.texture){let dt=C.boundingBox.length*m,ot=C.boundingBox.width*m;A=$a(Y.texture,dt,ot),A.anchor.x=Y.anchor.x,A.anchor.y=Y.anchor.y,A.zIndex=1}Y&&p?(Y.contourTexture||(Y.contourTexture=Wa(C._shapes||[],{stroke:G.blue_ribbon,strokeWidth:1})),D=new Ot(Y.contourTexture),D.anchor.x=Y.anchor.x,D.anchor.y=Y.anchor.y,D.zIndex=5,A.tint=Me(G.zurich_48)):d&&(D=new et,W=C._shapes||[],D.zIndex=5)}else A=new Ot(a._dummyTexture);else if(i.type==="floorplan"){if(!b)return;const Y=i.id,dt=(o=(s=x.elements)==null?void 0:s.floorPlan)!=null&&o.grayscale?De.Grayscale:De.None;if(O!=null&&O.loadStage){const{texture:ot}=u.textureQueue[O.textureId]||{};ot&&(A=$a(ot,i.l*m,i.w*m)),A=za(A,dt),D=new et,A.zIndex=1,D.zIndex=5}else{const ot=i.file;u.textureQueue[Y]={loadStage:0,nodes:new Set([i]),textureUrl:ot,applyFilter:dt},Ha({loader:u,view:a,resourceId:Y}),A=new et}}else f||(n&&$t(y),A=new et);const rt=$n({settings:l,node:i,isSelected:p});for(const Y of W)xe({shape:Y,settings:l,gfx:D||A,style:rt});if(A&&(A.interactive=!0,y.addChild(A),A._nodeId=i.id),D&&y.addChild(D),y.alpha=Mm(i,r,I),(!n||n.updateChildren||i.type==="wall"||v)&&i&&i.children)for(const Y of i.children)vr({node:Y,ctx:y,parentNode:i,floorPlan:r});a.gfxNodes[i.id]||(a.gfxNodes[i.id]={}),a.gfxNodes[i.id].nodeContainer=y,n||t.addChild(y)}function Mm(i,t,e){const r=["plan","level","floorplan"],n=["polyfloor"];return e&&!r.includes(i.type)&&!(i.id&&i.getParents().some(s=>s.id===t.activeGroup))?n.includes(i.type)?.01:.7:1}function Va(i,t,e,r){var n;const s=t.getChildByName(i.id);if(s?.destroy(!0),r.hideElements.includes("roomStamp"))return;const{text:o,textOutline:a=!0}=((n=r.theme.elements)==null?void 0:n.roomStamp)||{},h=r.theme.background.color,l=h!=="transparent"?h:"#eee",u=o?Oi(Li(o.map(v=>v/255))):"#333333",f=new Ge({fontFamily:r.theme.fontFamily||Gt.theme.fontFamily,fontSize:16,align:"center",fill:u,stroke:l,strokeThickness:a?3:0});let p=ad(i,r).join(`
|
|
847
|
+
`);const d=new pi(p,f);d.x=i.center[0]*V,d.y=i.center[1]*V,d.anchor.x=.5,d.anchor.y=.5,ja(d,e,i),d.name=i.id,t.addChild(d)}function ja(i,t,e){let r=Math.min(1/t,2);i.scale.x=r,i.scale.y=r,i.visible=e.area>r*1.5}function qa({node:i,event:t,args:e,floorPlan:r}){r=r||this;const{view:n,loader:s}=r;if(s.isSceneStructureLoaded&&i){if(t==="add-child"){const{nodeContainer:o}=n.gfxNodes[i.id]||{};vr({node:e,ctx:o,parentNode:i,floorPlan:r})}else if(t==="remove-child"){const{nodeContainer:o}=n.gfxNodes[e.id]||{};o&&(o.parent.removeChild(o),o.destroy({children:!0})),n.viewportNeedsUpdate=!0,n.viewportPaused&&n.startAnimationLoop(),delete n.gfxNodes[e.id]}setTimeout(()=>{this.viewportNeedsUpdate=!0},100)}}function Nm({node:i,args:t,event:e,floorPlan:r}){r=r||this;const{view:n}=r;if(i.type==="stairs"||i.type==="door"){gi({node:i,args:t,event:e,floorPlan:r});return}const{nodeContainer:s}=n.gfxNodes[i.id]||{};s&&(s.x=i.x*V,s.y=i.z*V,s.rotation=-Math.PI/180*i.ry,n.viewportNeedsUpdate=!0,n.viewportPaused&&n.startAnimationLoop())}function Fm(i,t){gi({...i,floorPlan:t})}function gi({node:i,args:t,event:e,floorPlan:r}){r=r||this;const{view:n,resources:s,settings:o}=r;e==="set-materials"&&(t={materials:t});const{nodeContainer:a}=n.gfxNodes[i.id]||{};if(a&&!(i.type==="level"||i.type==="plan")){if(t._loadStage&&(n.gfxNodes[i.id].loadStage=t._loadStage),t._textureId&&(n.gfxNodes[i.id].textureId=t._textureId),$t(a),i.type==="polyfloor"){const h=s.spaces.find(l=>l.id===i.id);if(h){id(h,i);const l=n.layers.get("fpe-room-stamp");l&&Va(h,l.container,n.zoom,o)}else console.warn(`Node with ID=${i.id} has no data in floorPlan.resources.spaces`)}vr({node:i,ctx:a.parent,floorPlan:r,update:{container:a,args:t,updateChildren:t._isSelected!==void 0}}),n.viewportNeedsUpdate=!0,n.viewportPaused&&n.startAnimationLoop()}}function Rm(i,t){t=t||this;const e=$n({settings:t.settings,node:{type:"wallContour"},isSelected:!1}),r=new et,n=t.view.gfxLayers.scene,s=Do("wall");r.parentLayer=n,r.zOrder=s,t.computed.wallContours.forEach(o=>{xe({shape:{type:"polygon",points:o[0],holes:o.slice(1)},settings:t.settings,gfx:r,style:e})}),i.addChild(r)}function Dm(i="linear"){return hy[i]}function Bm({sceneBoundingBox:i,rectLeft:t,rectTop:e,rectRight:r,rectBottom:n,viewportWidth:s,viewportHeight:o}){if([t,e,r,n].some(a=>a>0)&&s&&o){const a=r-t,h=n-e,l=od(i,a,h);let{x:u,z:f,length:p,width:d}=l;const v=s/a,m=o/h;return p*=v,d*=m,u-=t/s*p,f-=e/o*d,{x:u,z:f,x2:u+p,z2:f+d,length:p,width:d}}return i}function km({margin:i=0,animate:t,floorPlan:e,boundingBox:r}){if(!e.view.sceneContainer)return Promise.resolve(!1);if(r)return yr({bb:r,animate:t,view:e.view});let{x:n,z:s,length:o,width:a}=e.getSceneBoundingBox();n-=i,s-=i,o+=i*2,a+=i*2;const h={x:n,z:s,x2:n+o,z2:s+a,length:o,width:a};return yr({bb:h,animate:t,view:e.view})}function yr({bb:i,animate:t=!1,view:e}){const r=e._viewport;if(!r)throw new Error("no viewport");return e.viewportPaused&&e.startAnimationLoop(),new Promise(n=>{Number.isFinite(i.x)||n(!1),Object.keys(i).forEach(a=>{i[a]=i[a]*V});let s=0;typeof t=="number"&&Number.isFinite(t)?s=t:t===!0&&(s=500);let o={x:i.x+i.length/2,y:i.z+i.width/2,width:i.length,height:i.width};if(!s)r.fit(!1,o.width,o.height).moveCenter(o.x,o.y),mr.bind(e)({type:"animation"}),e.viewportNeedsUpdate=!0,n(!0);else{let a={x:r.center.x,y:r.center.y,width:r.worldScreenWidth,height:r.worldScreenHeight},h={x:a.x-o.x,y:a.y-o.y,width:a.width-o.width,height:a.height-o.height};e._zoomTarget={delta:h,start:a,target:o,time:0,duration:s,destroy:()=>{e.ticker.remove("animateView"),delete e._zoomTarget,n(!0)},ease:Dm("easeInOutQuad"),updateViewport:mr.bind(e)},e.ticker.add("animateView",Um,e)}})}function Um(i){let t=this._zoomTarget,e=!1;t.time+=i;let r=t.ease(t.time,0,1,t.duration),n={x:t.start.x-t.delta.x*r,y:t.start.y-t.delta.y*r,width:t.start.width-t.delta.width*r,height:t.start.height-t.delta.height*r};t.time>t.duration&&(n=t.target,e=!0),this._viewport.fit(!1,n.width,n.height).moveCenter(n.x,n.y),this.viewportNeedsUpdate=!0,t.updateViewport({type:"animation"});const s=this._viewport.input.count()!==0;(e||s)&&t.destroy()}function mr(i){this.viewportNeedsUpdate=!0,this.viewportPaused&&this.startAnimationLoop();const t=this._viewport;i.type!=="animation"&&this._zoomTarget&&this._zoomTarget.destroy();const e=V,r=t.scale._x,n=t.left,s=t.top,o=t.worldScreenWidth,a=t.worldScreenHeight;this.viewbox={x:n/e,z:s/e,x2:(n+o)/e,z2:(s+a)/e,length:o/e,width:a/e},this.client=[t.screenWidth,t.screenHeight];const h=this.zoom!==r;this.zoom=r;const l={sourceEvent:{type:i.type},viewbox:this.viewbox,zoom:this.zoom};h?this.emit("zoom",l):this.emit("pan",l),this.emit("viewbox",l)}function Xm({pos:i,nodeId:t}){Za(this.interaction,{cursor:i,cursorTarget:t&&this.scene.nodesById[t]})}function Za(i,t){for(const e in t)i[e]=t[e],e==="cursorAction"&&Gm(t[e])}function Gm(i){let t="";switch(i){case"split-wall":t="var(--fpe-split-cursor) 16 16, pointer";break;case"duplicate":t="var(--fpe-duplicate-cursor) 16 16, pointer";break;case"move":t="move";break;default:t="default";break}document.body.style.cursor=t}function Ym(i){var t,e,r,n;if(((e=(t=i?.data)==null?void 0:t.originalEvent)==null?void 0:e.button)===2)return;if(!this||!this.view)throw new Error("Viewport context is missing");const s=400,o=10,a=5;let h=this.interaction._dragStart||{x:0,y:0},l=i.data.global||{x:0,y:0},u=Math.abs(l.x-h.x),f=Math.abs(l.y-h.y);if(!(u<a&&f<a))return;let p=new Date().getTime(),d;if(this.interaction.lastClick){let b=p-this.interaction.lastClick.time,x=this.interaction.lastClick.pos&&Math.max(Math.abs(l.x-this.interaction.lastClick.pos.x),Math.abs(l.y-this.interaction.lastClick.pos.y));d=b<s&&x<o}this.interaction.lastClick={time:p,pos:{...l}};const v=d?"dblclick":"click",m=(r=i.target)==null?void 0:r._nodeId,{x:y,y:g}=((n=i.data)==null?void 0:n.global)||{},w=this.getPlanPosition([y,g]);Za(this.interaction,{cursor:[w[0],w[1]]});let _={sourceEvent:i,nodeId:m,pos:w,isDoubleClick:!!d};this.emit(v,_)}function Hm(i){var t;const{x:e,y:r}=i.data.global;this.view.windowPos=[e,r],this.interaction.lastSceneClick=this.getPlanPosition(this.view.windowPos);const n=(t=i.target)==null?void 0:t._nodeId;this.emit("context-menu",{sourceEvent:i,nodeId:n})}const Wm=i=>{const{view:t,interaction:e}=i,r=(o,a)=>{t.viewportInFocus&&(o.key==="Alt"&&a==="keyup"&&e.preventFocusoutOnAltKeyup&&o.preventDefault(),e.shiftKey=o.shiftKey,e.ctrlKey=o.ctrlKey,e.altKey=o.altKey,e.metaKey=o.metaKey,i.emit(a,{key:o.key,lowerCaseKey:o.key&&o.key.toLowerCase(),sourceEvent:o}))},n=o=>r(o,"keyup"),s=o=>r(o,"key");document.addEventListener("keydown",s),document.addEventListener("keyup",n)};function Ja(i){i.drag().pinch({percent:4}).wheel()}function zm(i){i.plugins.remove("wheel"),i.plugins.remove("pinch"),i.plugins.remove("drag")}function $m(i){const{settings:t,view:e}=i;t.panZoom&&Ja(e._viewport),e._viewport.on("pointerdown",Vm,i).on("pointerup",Qa,i).on("pointerup",Ym,i).on("rightup",Hm,i).on("pointerupoutside",Qa,i).on("pointermove",jm,i).on("moved",mr,e).on("zoomed",mr,e),qm(i),Wm(i),i.on("mousemove",Xm,i)}function Vm(i){this.interaction._dragStart={x:i.data.global.x,y:i.data.global.y},this.emit("drag-start",{pos:this.interaction.cursor,sourceEvent:i})}function Qa(){this.view.resume("drag"),this.emit("drag-end",{pos:this.interaction.cursor,sourceEvent:{}}),this.interaction.isDragging=!1,this.interaction.dragOffset=null}function jm(i){var t;const{srcElement:e}=((t=i?.data)==null?void 0:t.originalEvent)||{};if(!e)return;const r=this.view._viewport.options.divWheel;if(e!==r)return;const n=i.data.getLocalPosition(this.view._viewport);let s=[n.x/V,n.y/V];const o=i.target&&i.target._nodeId;if(this.interaction.cursor=s,this.interaction.isDragging){const a=[n.x,n.y];this.emit("drag-move",{pos:this.interaction.cursor,screenPos:a,sourceEvent:i})}this.emit("mousemove",{sourceEvent:i,nodeId:o,pos:s})}const qm=i=>{const t=document.querySelector(`#${i.fpeId} .fpe__plan`);t&&(t.addEventListener("mouseleave",()=>i.view.emit("focus",!1,i.view)),t.addEventListener("mouseenter",()=>i.view.emit("focus",!0,i.view)),document.addEventListener("visibilitychange",()=>i.view.emit("focus",document.visibilityState==="visible",i.view)),t.addEventListener("contextmenu",function(e){return e.preventDefault(),!1},!1))};function Ka({floorPlan:i,update:t=!1}){const{scene:e,view:r,settings:n}=i,{_renderer:s,_viewport:o}=r;let a=n.theme.background.color;a.length===4&&(a=a[0]+a[1]+a[1]+a[2]+a[2]+a[3]+a[3]),s.backgroundColor=Me(a);const h=r.sceneContainer;$t(h),vr({node:e.node,ctx:h,floorPlan:i}),n.theme.wallContours&&Rm(h,i),th(i,!0),r.emit("scene-rendered",{update:t}),r.viewportNeedsUpdate=!0,t&&(n.panZoom?Ja(o):zm(o)),r.viewportPaused&&r.startAnimationLoop()}function th(i,t=!1){const{view:e,resources:r,settings:n}=i,s=i.addLayer({id:"fpe-room-stamp",baseLayer:"annotation"});t?($t(s.container),r.spaces.forEach(o=>Va(o,s.container,e.zoom,n))):s.container.children.forEach(o=>{let a=r.spaces.find(h=>h.id===o.name);ja(o,e.zoom,a)})}function Zm(){cy({ShaderSystem:la}),St.add(da),St.add(my),St.add(by),St.add(Ty),St.add(ky),St.add(Uy),zy(ur)}Zm();class Jm extends Hn{}const gr=(i,t=!1)=>new fr(new _t(i,t)),Qm={top:0,left:0,center:.5,right:1,bottom:1};class Km{constructor(){this.methods={},this.add=(t,e,r)=>{this.methods[t]={fn:e,ctx:r}},this.remove=t=>{delete this.methods[t]}}}class t0 extends Ua{constructor(t,e,r){var n;super(),this.windowPos=[0,0],this.zoom=1,this.client=[0,0],this.layers=new Map,this.viewbox={x:0,z:0,x2:0,z2:0,length:0,width:0},this.viewportNeedsUpdate=!1,this.viewportPaused=!1,this.viewportInFocus=!1,this.sceneContainer=new ct,this.gfxNodes={},this.ticker=new Km,this._oldTime=Date.now(),yl(),this.parentEl=document.getElementById(r);const s=this.parentEl.querySelector(".fpe__plan");let o=this.parentEl.clientWidth,a=this.parentEl.clientHeight;this._settings=e;const h=window.devicePixelRatio||1;let l=e.theme.background.color;const u=l==="transparent";this._renderer=Rv({width:o,height:a,view:s,antialias:!0,backgroundAlpha:u?0:1,autoDensity:!0,resolution:h,powerPreference:"high-performance",preserveDrawingBuffer:!0}),this.parentEl.appendChild(this._renderer.view),l.length===4&&(l=l[0]+l[1]+l[1]+l[2]+l[2]+l[3]+l[3]),u||(this._renderer.backgroundColor=Me(l)),this._stage=new vi,this._stage.sortableChildren=!0,this._viewport=new Jm({screenWidth:o,screenHeight:a,worldWidth:o,worldHeight:a,interaction:this._renderer.plugins.interaction,noTicker:!0,passiveWheel:!1,divWheel:document.querySelector(`#${r} .fpe__plan`)}),this._viewport.addChild(this.sceneContainer),(n=ft)!=null&&n.system&&ft.system.stop(),this.startAnimationLoop(),this.watchResize(),this._stage.addChild(this._viewport),this.on("focus",f=>{f&&this.viewportPaused?this.startAnimationLoop():f||this.stopAnimationLoop(),this.viewportInFocus=f}),this.gfxLayers=eh(this._stage,this.parentEl.clientWidth),Am(this,t)}draw(){var t;const e=Date.now();let r=e-this._oldTime;this._oldTime=e,r<0&&(r=0),r>1e3&&(r=1e3);let n=Object.keys(this.ticker.methods).length;(this.viewportNeedsUpdate||n)&&((t=this.ticker)!=null&&t.methods&&Object.values(this.ticker.methods).forEach(({fn:s,ctx:o})=>{typeof s=="function"&&(o?s.call(o,r):s(r))}),this._viewport.update(r),this._renderer.render(this._stage)),this.viewportPaused||requestAnimationFrame(()=>this.draw()),this.viewportNeedsUpdate=!1}startAnimationLoop(){this._oldTime=Date.now(),this.viewportNeedsUpdate=!0,this.viewportPaused=!1,requestAnimationFrame(()=>this.draw())}stopAnimationLoop(){this.viewportPaused=!0}updateView(){if(!this.parentEl.clientWidth||!this.parentEl.clientHeight)return;const t=this._viewport,e=this._renderer,r=V,n=t.screenWidth,s=t.screenHeight,o=this.parentEl.clientWidth,a=this.parentEl.clientHeight;e.resize(o,a),t.resize(o,a);const h=n-o,l=s-a,u=this._settings.preserveViewbox,[f=.5,p=.5]=u.split("-").map(_=>Qm[_]),d=f*h,v=p*l;t.position.set(t.x-d,t.y-v),t.plugins.get("clamp-zoom")||t.clampZoom({minHeight:this._settings.zoomRange[0]*r,maxHeight:this._settings.zoomRange[1]*r}),e.render(this._stage);let m=t.left,y=t.top,g=t.worldScreenWidth,w=t.worldScreenHeight;this.viewbox={x:m/r,z:y/r,x2:(m+g)/r,z2:(y+w)/r,length:g/r,width:w/r},this.client=[t.screenWidth,t.screenHeight]}async watchResize(){new ResizeObserver(()=>{this.updateView(),this.emit("resize-canvas",this.viewbox)}).observe(this.parentEl)}get gfxNodeCount(){return Object.keys(this.gfxNodes).length}reset(){this.gfxNodes={},this.gfxLayers=eh(this._stage,this.parentEl.clientWidth)}pause(t="drag"){this._viewport.plugins.pause(t)}resume(t="drag"){this._viewport.plugins.resume(t)}}const eh=(i,t)=>{const e=gr(0);i.addChild(e);const r=gr(1,!0);r.width=r.height=t,i.addChild(r);const n=gr(2);i.addChild(n);const s=gr(3);return i.addChild(s),{base:e,scene:r,annotation:n,helper:s}};class e0{constructor({shapes:t=[],position:e=[0,0],alpha:r=1,scale:n=1,clearLayer:s=!1,interactive:o=!1,id:a,isHandler:h=!1,scaleOnZoom:l=!1,baseLayer:u,container:f,floorPlan:p}){if(this.shapes=t,this.gfxScale=n,this.scaleOnZoom=l,this.container=f,this.floorPlan=p,!this.container)return;s&&$t(this.container);let d=new et;this.gfx=d,d.alpha=r;const v=Math.min(1/this.floorPlan.view.zoom)*this.gfxScale;e&&(d.x=e[0]*V,d.y=e[1]*V),o&&(d.interactive=!0),d._nodeId=a,h&&(d._isHandler=!0),d.parentLayer=u,v&&l&&(d.scale.x=d.scale.y=v),this.container.addChild(d),t.forEach(m=>xe({shape:m,settings:this.floorPlan.settings,gfx:d})),this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop()}set({position:t,style:e,shapes:r}={}){const n=Math.min(1/this.floorPlan.view.zoom)*this.gfxScale,s=this.gfx;if(t&&(s.x=t[0]*V,s.y=t[1]*V),r&&(this.shapes=r,s.clear(),$t(s),r.forEach(o=>xe({shape:o,settings:this.floorPlan.settings,gfx:s}))),n&&this.scaleOnZoom&&(s.scale.x=s.scale.y=n),e){const o=zn(e);e.fill&&(s.geometry.graphicsData[0].fillStyle.color=Lt(e.fill)),s.geometry.graphicsData[0].lineStyle.color=o.color,s.geometry.graphicsData[0].lineStyle.width=o.width,s.geometry.graphicsData[0].lineStyle.native=o.native,s.geometry.invalidate()}this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop()}on(t,e,r){return this.gfx.interactive=!0,t==="drag"?this.addDragEvent(e,r):this.gfx.on(t,e,r),this}off(t,e){return t==="drag"?this.removeDragEvent():this.gfx.off(t,e),this}destroy(){this.gfx.destroy(),this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop()}addDragEvent(t,e){function r(){this.floorPlan.interaction.isDragging=!0,this.floorPlan.view.pause("drag"),this.floorPlan.on("mousemove",t,e)}function n(){this.floorPlan.interaction.isDragging=!1,this.floorPlan.view.resume("drag"),this.floorPlan.off("mousemove",t)}this.on("pointerdown",r,this),this.on("pointerup",n,this),this.on("pointerupoutside",n,this),this.on("pointercancel",n,this)}removeDragEvent(){this.off("pointerdown"),this.off("pointerup"),this.off("pointerupoutside"),this.off("pointercancel")}}class ih{constructor(t,e,r){this.graphics=new Set;const n=t.view._viewport;this.container=new ct,this.id=r,this.baseLayer=t.view.gfxLayers[e]||t.view.gfxLayers.helper,this.container.parentLayer=this.baseLayer,this.floorPlan=t,n.addChild(this.container)}addGraphic(t){const e=new e0({...t,floorPlan:this.floorPlan,baseLayer:this.baseLayer,container:this.container});return this.graphics.add(e),e}deleteGraphic(t){this.graphics.delete(t),t.destroy()}draw(t){return this.addGraphic(t)}drawImage({url:t,width:e,height:r,mask:n,options:s}){if(s!=null&&s.pixelated?M.SCALE_MODE=lt.NEAREST:M.SCALE_MODE=lt.LINEAR,!this.container)return;$t(this.container);let o=Ot.from(t);if(o.width=e*V,o.height=r*V,o.parentLayer=this.baseLayer,n){let{x:a,z:h,length:l,width:u}=ki([n]);o.x=(a+l/2)*V,o.y=(h+u/2)*V,o.anchor.set(.5);let f=new et;xe({shape:{type:"polygon",points:n,style:{fill:16724736}},settings:this.floorPlan.settings,gfx:f}),this.container.addChild(f),o.mask=f}this.container.addChild(o),this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop(),setTimeout(()=>{this.floorPlan.view.viewportNeedsUpdate=!0},100)}clear(){$t(this.container),this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop()}destroy(){this.container&&(this.floorPlan.view.layers.delete(this.id),this.container.destroy({children:!0,texture:!0,baseTexture:!0}),this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop(),delete this.container,delete this.floorPlan)}}function i0(i,{format:t="png",quality:e=.95}){return new Promise(r=>{let n;t==="jpg"?n=i.toDataURL("image/jpeg",e):n=i.toDataURL(),r(n)})}function r0(i,{format:t,fileName:e,quality:r}={}){if(t==="svg")return;const n=new Image;n.src=i,n.onload=function(){const s=document.createElement("canvas");s.width=n.naturalWidth,s.height=n.naturalHeight;const o=s.getContext("2d");o.imageSmoothingEnabled=!1,o.drawImage(n,0,0),n0(s,{format:t,fileName:e,quality:r})}}function n0(i,{format:t="png",fileName:e="floorplan",quality:r=.95}){const n=document.createElement("a");n.download=e+"."+t;let s=t==="png"?"image/png":"image/jpeg";i.toBlob(function(o){n.href=URL.createObjectURL(o),n.click()},s,r)}const _r=G.blue_ribbon,s0=G.zurich,o0=G.white,a0=_r,h0=_r,l0=s0,u0=_r,f0=_r,c0=o0;class p0 extends dr{constructor({floorPlan:t,helperId:e,mode:r="distance"}){super({floorPlan:t,helperId:e}),this.drawing=!1,this.polygonsOrPolylines=[],this.floorPlan=t,this.mode=r,this.floorPlan.on("mousemove",this.handlePointerMove,this),this.floorPlan.on("click",this.handlePointerDown,this),this.floorPlan.on("dblclick",this.handlePointerDown,this),this.floorPlan.on("update-settings",this.draw,this),this.startDrawing()}get isInAreaMode(){return this.mode==="area"}get isDrawing(){return this.drawing}set({mode:t}){this.mode=t,this.draw()}handlePointerMove(t){this.setSnapCursor(t)}handlePointerDown(t){this.setSnapCursor(t),this.drawPoint(t)}setSnapCursor({pos:t}){this._snapCursor??(this._snapCursor=this.floorPlan.addHelper("snapCursor",{pos:t}));const{snapPoints:e,snapMargin:r}=this.floorPlan.computed;if(!e.length){this._snapCursor.set({pos:t}),this.draw();return}const n=Ro(t,e,r);this._snapCursor.isSnapping=!!n,this._snapCursor.set({pos:n||t}),this.draw()}stopDrawing(){this.polygonsOrPolylines[this.polygonsOrPolylines.length-1].points.length>1&&this.drawing&&this.polygonDone()}cancelDrawing(){this.destroy()}startDrawing(){this.drawing=!0,this.polygonsOrPolylines.push({points:[],isClosed:!1,length:0,area:0,areaDisplay:"",lengthDisplay:"",contour:null,label:null,pointGraphics:[]})}removeLastPoint(){var t,e;const r=this.polygonsOrPolylines[this.polygonsOrPolylines.length-1];if(r?.points.length>0){r.points.pop();const n=r.pointGraphics.pop();n&&this.layer.deleteGraphic(n),r.points.length<=1&&(r.contour&&((t=this.layer)==null||t.deleteGraphic(r.contour),r.contour=null),r.label&&((e=this.layer)==null||e.deleteGraphic(r.label),r.label=null)),r.points.length===0?(this.polygonsOrPolylines.pop(),this.drawing=!1):this.draw()}}polygonDone(){this.drawing=!1,this.emit("polygon-done",{}),this.draw()}drawPoint(t){var e;this.drawing||this.startDrawing();const r=this.polygonsOrPolylines.length-1,n=this.polygonsOrPolylines[r];if((e=t.nodeId)!=null&&e.startsWith(`point/${r}/`)||t.isDoubleClick){const u=t.nodeId===`point/${r}/0`;this.mode==="distance"&&u&&(n.isClosed=!0),this.polygonDone();return}const{pos:s}=this._snapCursor;n.points.push([...s]);const o=n.points.length-1,a=`point/${r}/${o}`;this.layer||(this.layer=this.floorPlan.addLayer());const h=this.layer.addGraphic({shapes:[{type:"circle",position:[0,0],radius:.15,style:{fill:u0,fillOpacity:.1}},{type:"circle",position:[0,0],radius:.05,style:{stroke:f0,fill:c0,strokeWidth:1.5}}],position:s,scaleOnZoom:!0,id:a,isHandler:!0});n.pointGraphics[o]=h;function l(){this.updatePolygon(r,o,this.floorPlan.interaction.cursor),h.set({position:n.points[o]})}h.on("drag",l,this)}updatePolygon(t,e,r){const n=r,{snapPoints:s,snapMargin:o}=this.floorPlan.computed,a=s.length&&Ro(n,s,o),h=this.polygonsOrPolylines[t];h.points[e]=a||n,this.draw()}getLengthText(t){const{units:e}=this.floorPlan.settings;return ze(t,e.system,e.lengthDecimals)}getAreaText(t){const{units:e}=this.floorPlan.settings;return Jn(t,e.system,e.areaDecimals)}reset(){this.drawing=!1,this.polygonsOrPolylines=[],this.floorPlan.removeHelper("snapCursor"),this._snapCursor=null,this.layer&&(this.layer.destroy(),this.layer=null)}draw(){this.polygonsOrPolylines.length&&(this.layer||(this.layer=this.floorPlan.addLayer()),this.polygonsOrPolylines.forEach((t,e)=>{if(!t.points.length)return;const r=this.drawing&&this._snapCursor&&e===this.polygonsOrPolylines.length-1?[...t.points,this._snapCursor.pos]:t.points;if(r.length<2)return;t.length=Xc(r,t.isClosed),t.lengthDisplay=this.getLengthText(t.length);const n=r.length<2?0:Fc({x:r[0][0],z:r[0][1]},{x:r[1][0],z:r[1][1]}),s=r.map(v=>v.map(m=>Number(m.toFixed(10)))).slice(0,this.isInAreaMode?void 0:2),o=this.isInAreaMode?to(s):[s[0][0]+(s[1][0]-s[0][0])/2,s[0][1]+(s[1][1]-s[0][1])/2];t.area=Math.abs(le(r)),t.areaDisplay=this.getAreaText(t.area);const a=this.isInAreaMode||t.isClosed?"polygon":"polyline",h={stroke:l0,dash:!0,strokeWidth:"native"};let l=t.lengthDisplay,u=n;this.isInAreaMode&&(h.fill=h0,h.fillOpacity=.04,l=t.areaDisplay,u=0);const f=[{type:a,points:r,style:h}],p={shapes:[{type:"text",text:l,position:[0,0],rotation:u,alignV:"bottom",fontSize:15,style:{fill:a0}}],id:"text",position:o,scaleOnZoom:!0};t.contour?t.contour.set({shapes:f}):t.contour=this.layer.addGraphic({shapes:f}),t.label?t.label.set(p):t.label=this.layer.addGraphic(p);const d=this.isInAreaMode?{area:t.area}:{distance:t.length};this.emit("polygon-draw",d)}))}destroy(){this.reset(),this.floorPlan.off("mousemove",this.handlePointerMove),this.floorPlan.off("click",this.handlePointerDown),this.floorPlan.off("dblclick",this.handlePointerDown),this.floorPlan.off("update-settings",this.draw),super.destroy()}}class d0 extends dr{constructor({floorPlan:t,helperId:e,pos:r}){super({floorPlan:t,helperId:e}),this.pos=[0,0],this.floorPlan.on("mousemove",this.draw,this),this.isSnapping=!1,this.isEdge=!1,r&&(this.pos=r)}draw(){if(this.layer||(this.layer=this.floorPlan.addLayer({id:"fpe-snap-cursor"})),!this.cursor)this.cursor=this.layer.addGraphic({shapes:[{type:"circle",position:[0,0],radius:.06,style:{stroke:G.blue_ribbon,strokeWidth:1.5}}],position:this.pos,scaleOnZoom:!0});else{const t=this.isSnapping?G.blue_ribbon:G.warsaw,e=this.isSnapping?2:1.5;this.cursor.set({position:this.pos,style:{stroke:t,strokeWidth:e}})}}set({pos:t,isSnapping:e,isEdge:r,node:n}){this.pos=t,this.isSnapping=e,this.isEdge=r,this.node=n,this.draw()}snapState(){return this.isSnapping?this.isEdge?"edge":"point":""}destroy(){this.floorPlan.off("mousemove",this.draw),this.layer&&this.layer.destroy(),this.layer=void 0,this.cursor=null,super.destroy()}}const v0={lastSceneClick:[0,0],cursor:[0,0],cursorTarget:null,isDragging:!1,altKey:!1,shiftKey:!1,metaKey:!1,ctrlKey:!1,dragOffset:null,cursorAction:"none",isPanning:!1,lastClick:{time:null,pos:{x:0,y:0}},_dragStart:{x:0,y:0},preventFocusoutOnAltKeyup:!1};class y0 extends Fo{constructor({container:t,options:e={},scene:r}={}){super({options:e,scene:r}),this.interaction=v0,this.availableHelpers={cursorCoordinates:xm,scaleBar:wm},this.helper={};let n;t instanceof Element?n=t:n=document.body,this.mountFloorPlan(n),this.availableHelpers.polygonHelper=p0,this.availableHelpers.snapCursor=d0}prevent(t){t.preventDefault()}on(t,e,r){return this._emitter.on(t,e,r),this}once(t,e,r){return this._emitter.once(t,e,r),this}off(t,e){return this._emitter.off(t,e),this}emit(t,...e){return this._emitter.emit(t,...e),this}handleDrop(t){var e;t.preventDefault(),t.stopPropagation();const r=[t.offsetX,t.offsetY],n=this.getPlanPosition(r);this.interaction.cursor=[...n];const{spaces:s}=this.getResourcesFromPosition(n),o=((e=s[0])==null?void 0:e.node.y)||0;this.emit("drop",{pos:n,sourceEvent:t,verticalPos:o})}set(t){super.set(t),this.view&&Ka({floorPlan:this,update:!0})}mountFloorPlan(t){const e=t.querySelector(".fpe");e&&e.remove();const r=document.createElement("div");r.id=this.fpeId,r.classList.add("fpe"),t.appendChild(r);const n=document.createElement("canvas");n.classList.add("fpe__plan"),r.appendChild(n),this.fpeNode=r,Np(this.settings.api),this.view=new t0(this.loader,this.settings,this.fpeId),this.loader.on("product-load-stage",s=>Fm(s,this)),this.loader.on("spaces-loaded",this.initDrawing,this),n.addEventListener("drop",this.handleDrop.bind(this)),n.addEventListener("gesturestart",this.prevent),n.addEventListener("gesturechange",this.prevent),n.addEventListener("gestureend",this.prevent),n.addEventListener("dragover",this.prevent),this.settings.destroyOnDomRemove&&sd(r,t,()=>this.destroy()),$m(this),this.view.on("scene-rendered",({update:s})=>{s||this.zoomExtents(1,0)}),this.view.on("zoom",()=>{this.view.layers.forEach(s=>{s.graphics.forEach(o=>{o.scaleOnZoom&&!o.gfx.destroyed&&o.set()})}),th(this)}),this.generateUi()}initDrawing(){this.loader.initialLoading||this.view.reset(),Ka({floorPlan:this}),this.loader.initialLoading&&this.initDrawingEvents()}initDrawingEvents(){this.scene.on("set",gi,this),this.scene.on("set-transform",Nm,this),this.scene.on("set-transient",gi,this),this.scene.on("set-materials",gi,this),this.scene.on("add-child",qa,this),this.scene.on("remove-child",qa,this)}generateUi(){this.settings.ui.coordinates?this.addHelper("cursorCoordinates",{parentEl:this.fpeNode}):this.helper.cursorCoordinates&&this.removeHelper("cursorCoordinates"),this.settings.ui.scale?this.addHelper("scaleBar",{parentEl:this.fpeNode}):this.helper.scaleBar&&this.removeHelper("scaleBar")}getSceneBoundingBox(t=0){var e;if(!((e=this.view)!=null&&e._viewport))return;let r=this.view.sceneContainer;if(!r)return;let{x:n,y:s,width:o,height:a}=r.getLocalBounds(),h=n/V-t,l=s/V-t,u=o/V+t*2,f=a/V+t*2;return{x:h,x2:h+u,z:l,z2:l+f,length:u,width:f}}getZoomExtentsBoundingBox(t,e,r,n,s,o,a){return Bm({sceneBoundingBox:t,rectLeft:e,rectTop:r,rectRight:n,rectBottom:s,viewportWidth:o,viewportHeight:a})}zoomExtents(t=1,e=!1,r=null){return km({margin:t,animate:e,floorPlan:this,boundingBox:r})}zoomToElement(t,e=1,r){const n=this.getElementBoundingBox(t,e);return yr({bb:n,animate:r,view:this.view})}setZoom(t,e=!0){return yr({bb:t,animate:e,view:this.view})}zoomByFactor(t,e=!0){if(!Number.isFinite(t)||t<=0)return Promise.reject("factor is not a positive number");let{x:r,z:n,length:s,width:o}=this.view.viewbox;const a=s/t,h=o/t;r-=(a-s)/2,n-=(h-o)/2;const l=r+s,u=n+o;return this.setZoom({x:r,z:n,length:a,width:h,x2:l,z2:u},e)}addInfoWindow(t={}){return new bm({...t,floorPlan:this})}addHtmlMarker(t={}){return new Cm({...t,floorPlan:this})}addMarker({pos:t=[0,0],color:e="#669cff",size:r=40}={}){return new Im({pos:t,color:e,size:r,floorPlan:this})}getPlanPosition(t){const e=this.view._viewport.toWorld(t[0],t[1]);return[e.x/V,e.y/V]}getScreenPosition(t){const e=t.map(n=>n*V),r=this.view._viewport.toScreen(e[0],e[1]);return[r.x,r.y]}addLayer({id:t,baseLayer:e}={}){if(t||(t=se()),this.view.layers.has(t)){const n=this.view.layers.get(t);if(n!=null&&n.container)return n}const r=new ih(this,e,t);return this.view.layers.set(t,r),r}getLayer(t){return this.view.layers.get(t)}addPlanGraphic(){return new ih(this)}addHelper(t,e={}){let r=e?.helperId;return r||(typeof t=="string"?r=t:r=se()),this.helper[r]&&this.removeHelper(r),typeof t=="string"?this.availableHelpers[t]?this.helper[r]=new this.availableHelpers[t]({floorPlan:this,helperId:r,...e}):console.warn(`No helper registered for: ${t}`):this.helper[r]=new t({floorPlan:this,helperId:r,...e}),this.helper[r]}removeHelper(t){var e,r;(r=(e=this.helper[t])==null?void 0:e.destroy)==null||r.call(e),delete this.helper[t]}async exportImage({format:t="png",fileName:e,quality:r=90,output:n="base64",maxWidth:s,download:o=!1}={}){let a={format:t,quality:r,output:n,maxWidth:s};o&&(a.format="png");const h=document.querySelector("#"+this.fpeId+" canvas"),l=await i0(h,a).catch(u=>u);if(o)r0(l,{format:t,fileName:e,quality:r});else return l}destroy(){var t;(t=this.view._viewport)==null||t.destroy(),this.view.reset(),this.loader.reset(),delete this.scene,delete this.resources,delete this.utils,this.fpeNode&&this.fpeNode.remove(),delete this.fpeNode}}return y0});
|